@charset "utf-8";
/*
Theme Name: ohisama-kaigo
Theme URI: http://c-tpl.com/
Description: ohisama-kaigo
Version: 1.0
Author: Cloud template
Author URI: http://c-tpl.com/
Tags: simple

	Cloud template v1.0
	 http://c-tpl.com/

	This theme was designed and built by Cloud template,
	whose blog you will find at http://c-tpl.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
font: 12px/1.5 "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
color:#333;
-webkit-text-size-adjust: none;
}


/* リンク設定
------------------------------------------------------------*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#313131;
}

a:hover, a:active{
outline: none;
color:#6f6f6f;
}

/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after, ul.post li:after,nav#mainNav .inner:after{content:""; display: table;clear: both;}
nav .panel,nav#mainNav,.newsTitle,.bg, .post, ul.post li,nav#mainNav .inner{zoom: 1;}

/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea{
vertical-align:middle;
max-width:90%;
line-height:30px;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
padding:3px 10px;
background: #878787;
background: -moz-linear-gradient(top, #878787 0%, #6f6f6f 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#878787), color-stop(100%,#6f6f6f));
background: -webkit-linear-gradient(top, #878787 0%,#6f6f6f 100%);
background: -o-linear-gradient(top, #878787 0%,#6f6f6f 100%);
background: linear-gradient(to bottom, #878787 0%,#6f6f6f 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#878787', endColorstr='#6f6f6f',GradientType=0 );
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:1.5;
font-size:120%;
color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #878787;
background: -moz-linear-gradient(top, #6f6f6f 0%, #878787 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6f6f6f), color-stop(100%,#878787));
background: -webkit-linear-gradient(top, #6f6f6f 0%,#878787 100%);
background: -o-linear-gradient(top, #6f6f6f 0%,#878787 100%);
background: linear-gradient(to bottom, #6f6f6f 0%,#878787 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6f6f6f', endColorstr='#878787',GradientType=0 );
cursor:pointer;
}

*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
.post {
width: 100%;
margin: 0 auto;
}

#wrapper,
.inner{
margin: 0 auto;
max-width: 1920px; 
width: 100%;
}

#header {
width: 100%;
max-width:1280px;
margin:auto;
overflow: hidden;
}


/* ヘッダー内の中央寄せコンテナ */
#header .inner {
width:100%;
display: flex;
align-items: center;            /* 縦中央揃え */
justify-content: space-between; /* 左右に分散 */
flex-wrap: nowrap;
max-width: 1280px;              /* 横幅固定 */
margin: 0 auto;                 /* 中央寄せ */
}

/* ロゴ（左） */
#header h2 {
margin: 0;
flex-shrink: 0;
}

#header h2 img{
margin-left:10px;
}

/* 中央ナビ（2段） */
#mainNav {
flex: 1;                        /* 左右の間で伸縮 */
display: flex;
flex-direction: column;          /* 2段に積む */
align-items: center;             /* 横中央に揃える */
margin-left:90px; 
}

#mainNav .inner {
display: flex;
flex-direction: column;          /* 2段を縦に積む */
align-items: center;
}

#mainNav ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
}

@media screen and (max-width: 640px) {
.post {
width: calc(100% - 0);
margin: 0 auto;
padding: 10px 0;
box-sizing: border-box;
}
}

/* コンタクト
----------------------------------*/
.contact {
display: flex;
justify-content: flex-end;
width: 100%;
box-sizing: border-box;
padding: 0 10px;
}

.contact img {
max-width: 228px;
width: 100%;
height: auto;
display: block;
transition: opacity 0.3s ease; /* なめらか */
}

.contact img:hover {
opacity: 0.6; 
}

/* サイト説明文
----------------------------------*/
#header h1{
padding:5px 0;
color: #fff;
font-size:80%;
font-weight:normal;
}

/* トップページ　メイン画像
----------------------------------*/
#mainImg {
text-align: center;
overflow: hidden;         
}

#mainImg img {
display: block;
margin: 0 auto;
width: 100%;
max-width: 1280px;
height: auto;
transition: opacity 0.3s ease; 
}

#mainImg img:hover {
opacity: 0.6;
}

.toppage h4{
margin:0 0 10px;
font-size:16px;
font-weight:normal;
color:#333;
}

.toppage{padding:10px 10px 20px 20px;}


/* 記事ループ
*****************************************************/
.list{
font-size:14px;
padding:15px 0;
border-bottom:1px dashed #dcdcdc;
margin-left:30px;
}

.list:last-child{
border:0;
margin-bottom:80px;
}

.post .list p{padding:0;}

.list span {
padding-left: 10px;
color: #297f20;
font-weight:bold;
transition: opacity 0.3s ease; 
}

.list span:hover {
opacity: 0.5;
}

@media screen and (max-width: 640px) {
.list{
font-size:14px;
padding:15px 0;
border-bottom:1px dashed #dcdcdc;
margin-left:0;
}
}

/* タイポグラフィ
*****************************************************/
h2.title {
position: relative;
clear: both;
max-width: 1280px;
height: 120px;
margin: 24px auto;
padding-left: 100px;
padding-right: 40px;
display: flex;
align-items: center;  
font-size: 36px;
font-weight: bold;
color: #75aa5c;
border: none;
border-radius: 30px;
background: #fbf8e6;
background-image: none !important;
}

h2.title::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 2px;
margin-left:50px;
background-color: #75aa5c;
}

.post ul{margin: 0 0 10px 10px;}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0;
font-size:150%;
color: #000;
border-bottom:3px solid #000;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #ccc solid;
border-collapse: collapse;
border-spacing: 0;
}

.post table th{
padding:10px;
border: #ccc solid;
border-width: 0 0 1px 1px;
background:#efede7;
}

.post table td{
padding:10px;
border: 1px #ccc solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
margin: 10px 10px 15px 15px;
display:inline;
}

img.alignleft{margin:10px 15px 15px 10px;}

.alignright{float:right;}
.alignleft{float:left;}

#gallery-1 img{
border:1px solid #eaeaea !important;
padding:5px;
background:#ffffff;
}



/* サイドバー　ウィジェット
*****************************************************/
section.widget ul, .widget_search, #calendar_wrap, .textwidget{
margin:0 0 20px 0;
padding:10px 10px 10px 17px;
border:1px solid #e9e2d8;
background: #fff;
}

section.widget ul ul{
border:0;
margin:0;
padding:0 0 0 10px;
}

p.banner{padding-bottom:15px;}

p.banner img{
max-width:233px;
height:auto;
}

p.banner img:hover{
cursor:pointer;
opacity:.8;
}

section.widget h3{
clear:both;
margin:0;
padding:7px 10px 7px 10px;
font-size:110%;
border:1px solid #eeeeee;
border-bottom:0;
color:#000;
background:#fff url(images/headingBg.png) repeat-x 0 100%;
}

section.widget li a{
display:block;
padding:7px 0 7px 12px;
background:url(images/arrow.gif) no-repeat 0 12px;
border-bottom:1px dashed #dcdcdc;
}

section.widget li:last-child a{border:0;}

#searchform input[type="text"]{
line-height:1.7;
height:24px;
width:90px;
vertical-align:bottom;
}

/* カレンダー */
#calendar_wrap table{margin:0 auto;width:90%;}
#calendar_wrap table caption{padding:10px 0;text-align:center;font-weight:bold;}
#calendar_wrap table th, #calendar_wrap table td{padding:3px;text-align:center;}
#calendar_wrap table th:nth-child(6),#calendar_wrap table td:nth-child(6){color:#0034af;}
#calendar_wrap table th:nth-child(7),#calendar_wrap table td:nth-child(7){color:#950000;}
#calendar_wrap table td#prev{text-align:left;}
#calendar_wrap table td#next{text-align:right;}
#calendar_wrap a{font-weight:bold;}


/* お知らせ　
-------------*/
.newsTitle{
clear:both;
margin:0;
padding:7px 10px 7px 10px;
font-size:110%;
border:1px solid #eee;
border-bottom:0;
color:#000;
background:#fff url(images/headingBg.png) repeat-x 0 100%;
}

.newsTitle h3{
float:left;
font-weight:normal;
}

.newsTitle p{
float:right;
padding:0 0 0 10px;
font-size:80%;
background:url(images/arrow.gif) no-repeat 0 5px;
}

.news p{
clear:both;
padding-bottom:2px;
border-bottom:1px dashed #dcdcdc;
}

.news p:last-child{border:0;}

.news p a{
display:block;
padding:5px 0;
color:#333;
font-style:italic;
font:italic 110% "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.news a span{
color:#515151;
font:normal 90% Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
}

.news span{padding-left:10px;}

.news a:hover span{color:#6f6f6f;}


/* フッター
*****************************************************/
#footer ul{
padding:15px 0 25px;
text-align:center;
}

#footer li{
display:inline-block;
padding: 5px 16px;
border-left:1px dotted #d5d5d5;
}
*:first-child+html #footer li{display:inline;}

#footer li:first-child{border:0;}

#footer li a{
text-decoration:none;
color:#000;
}

#footer li a:hover{color:#999;}

#footer ul ul{display:none;}

#copyright{
clear:both;
padding:10px 0 100px;
text-align:center;
color:#000;
font-size:10px;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
max-width:1200px;
clear:both;
width: 100%;
height: 30px;
margin: auto;
margin-bottom:60px;
margin-top:50px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
color:#4f4d4d;
text-align:center;
}


/* トップページ 最新記事4件
------------------------------------------------------------*/
ul.post{
padding:0;
}

ul.post li{
padding:20px 10px 15px;
border-bottom:1px dashed #dcdcdc;
}

ul.post li:last-child{border:0;}

ul.post img{
float:left;
margin:0 15px 5px 10px;
}

ul.post h3{
margin:0 0 10px 10px;
font-size:14px;
font-weight:normal;
color:#333;
border:0;
}

/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1200px){
nav#mainNav {
margin:auto;
margin-top:-50px;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
max-width: 700px; 
}

nav#mainNav ul li {
float: left;   
position: relative;
border-right: 1px solid #000;
margin-bottom: 5px;
font-weight: bold;
font-size: 12px;
display: flex;              
align-items: center;         
padding: 0 10px;         
}
	
nav#mainNav ul li:last-child {
  border-right: none !important;
}

nav#mainNav ul li a {
  display: block;
  text-align: center;
  color: #252525;
  line-height: normal;         /* 高さ調整のため normal に */
  padding: 5px 0;              /* 上下余白調整 */
}

nav#mainNav ul li a span,nav#mainNav ul li a strong{
display:block;
line-height:1.0;
}
	
nav#mainNav ul li a:hover {
color: #999; /* 薄いグレーに変更 */
transition: color 0.3s ease; /* 色の変化を滑らかに */
}

nav div.panel{
display:block !important;
float:left;
}
  
nav#mainNav .panel02 ul li a {
color: #297f20 !important; /* お好みの緑に変更OK */
font-weight: bold;
}

nav#mainNav .panel02 ul li {
border-right: none !important;
font-size: 16px;
white-space: nowrap;     
}
	
nav#mainNav .panel02 ul li a:hover {
color: #999 !important; /* 薄いグレーに変更 */
transition: color 0.3s ease; /* 滑らかに色が変わる */
}
}

a#menu{
display:none;
}

/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1200px){
nav#mainNav {
margin:auto;
margin-top:10px;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
max-width: 700px; 
}

nav#mainNav ul li {
float: left;   
position: relative;
border-right: 1px solid #000;
margin-bottom: 5px;
font-weight: bold;
font-size: 12px;
display: flex;              
align-items: center;         
padding: 0 10px;         
}
	
nav#mainNav ul li:last-child {
  border-right: none !important;
}

nav#mainNav ul li a {
  display: block;
  text-align: center;
  color: #252525;
  line-height: normal;         /* 高さ調整のため normal に */
  padding: 5px 0;              /* 上下余白調整 */
}

nav#mainNav ul li a span,nav#mainNav ul li a strong{
display:block;
line-height:1.0;
}
	
nav#mainNav ul li a:hover {
color: #999; /* 薄いグレーに変更 */
transition: color 0.3s ease; /* 色の変化を滑らかに */
}

nav div.panel{
display:block !important;
float:left;
}
  
nav#mainNav .panel02 ul li a {
color: #297f20 !important; /* お好みの緑に変更OK */
font-weight: bold;
}

nav#mainNav .panel02 ul li {
border-right: none !important;
font-size: 16px;
white-space: nowrap;     
}
	
nav#mainNav .panel02 ul li a:hover {
color: #999 !important; /* 薄いグレーに変更 */
transition: color 0.3s ease; /* 滑らかに色が変わる */
}

#header h2 img{
margin-left:0;
}

.contact {
display: flex;
justify-content: flex-end;
width: 100%;
box-sizing: border-box;
padding: 0 10px;
}

.contact img {
max-width: 228px;  
width: 100%;
height: auto;
margin-right:0;
display: block;
}
}

/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 768px){
#header h2 img{
margin-left:0;
}

.contact {
display: flex;
justify-content: flex-end;
width: 100%;
box-sizing: border-box;
padding: 0 10px;
}

.contact img {
max-width: 228px;  
width: 100%;
height: auto;
margin-right:0;
display: block;
}
	
	#wrapper, .inner{width:100%;}

	#header{width:96%;padding:0 2%;}
	
	.contact{padding:10px 0 10px;}

  nav#mainNav{width:95%;}

	nav#mainNav ul{margin:0 auto;}
	nav#mainNav ul ul{padding:0;}

	nav div.panel{float:none;}
	
	#mainImg img{width:100%;height:auto;}

	#content, #sidebar{
	clear:both;
	width:95%;
	float:none;
	margin:0 auto;
	padding:10px 0;
	}
	
	.banner{width:100%;margin:0 auto;text-align:center;}
  p.banner img{width:100%;height:auto;}
	
	section.widget_search{text-align:center;}
	
	#footer li{margin-bottom:10px;}

.nav-toggle {
display: flex;
align-items: center;      /* 縦中央 */
justify-content: flex-start; /* 左寄せ */
width: 90%;
height: 40px;
margin: 10px auto;
cursor: pointer;
background-color: #f5f5f5;
border:none; 
border-radius: 8px;
padding: 5px 12px;
box-sizing: border-box;
}

.nav-toggle .menu-text {
  display: inline-flex;       /* 文字と▼を1列で管理 */
  align-items: center;        /* 上下中央揃え */
  font-size: 16px;
  font-weight: bold;
  color: #7ca055;
  letter-spacing: 0.1em;
}

.nav-toggle .menu-text::after {
  content: "▼";
  margin-left: 8px;
  font-size: 12px;
  color: #7ca055;
  display: inline-block;
  transition: transform 0.3s;
}

.nav-toggle.open .menu-text::after {
  transform: rotate(180deg);
}
	
/* 最初はメニューを隠す */
nav#mainNav ul {
display: none;
flex-direction: column;
width: 100%;
padding: 0;
}

/* 開いたとき */
nav#mainNav.open ul {
display: flex;
}

/* 各メニュー調整 */
nav#mainNav ul li {
float: none !important;
width: 100%;
border-right: none !important;
border-bottom: 1px solid #ccc;
justify-content: center;
}

nav#mainNav ul li a {
padding: 12px 0;
display: block;
width: 100%;
text-align: center;
}

/* ▼▼▼ ここまでアコーディオン ▼▼▼ */

}

@media screen and (min-width: 768px) {
  .nav-toggle {
    display: none;
  }

  /* PCではメニューを常に表示 */
  nav#mainNav ul {
    display: flex;
    flex-direction: row; /* 横並び（必要に応じて） */
  }
}

/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
	body{background-position:0 -25px;}
	#header h1{color:#333;}
	#header h2 img{max-width:90%;}
	nav#mainNav{width:98%;}
	#header{text-align:center;}
	#header h2,.contact{float:none;}
	.contact{padding:0 0 20px;}
	.contact p{text-align:center;}
	#headerInfo{width:250px;margin:0 auto;}
	img.alignright, img.alignleft{display: block;	margin:5px auto;}
	.alignright,.alignleft{float:none;}
}

/* フッターロゴ
------------------------------------------------------------*/
.foot-logo img {
width: 174px; 
height: auto;
}

.foot-waku {
max-width:1080px;
margin:auto;
margin-bottom:40px;
display: flex;            /* 横並びにする */
justify-content: space-between; /* 左右に間隔を空ける */
align-items: flex-start;  /* 上揃えにする */
flex-wrap: wrap;          /* 画面幅が狭い時に折り返す */               /* 子要素間の余白 */
}

.left-rogof {
display: flex;           /* 横並び */
align-items: center;     /* 縦中央揃え */
flex-wrap: wrap;         /* 小さい画面で折り返し */
}

.left-rogof p.house{
font-size: 16px;
line-height: 1.2;
}

.left-rogof p.yu-bin {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;   
}

.right-rogof {
display: flex;
flex-direction: column;
align-items: center; 
text-align: center;
}


.denwa-wak-bang {
display: flex;
align-items: center;  
gap: 15px;             
}

.right-rogof p{
font-size:14px;
font-weight:bold;
margin-left:13px;
}

.denwa-wak {
display: inline-block;
margin-left:52px;
background: #ff5a00;     
color: #fff;             
padding: 2px 10px;     
border-radius: 5px;       
font-weight: bold;      
font-size: 16px;       
}

.bang {
color: #ff5a00;
font-size: 42px; 
font-weight: bold;
margin-left:10px;
}

.foot-menulist {
max-width: 780px;      
margin: 0 auto;        
display: flex;         
flex-wrap: wrap;       
justify-content: center; 
font-weight: bold;
gap: 3px 0;  
}

.foot-menulist a {
display: flex;            
align-items: center;       
justify-content: center; 
padding: 5px 5px;           
color: #333;           
font-size: 16px;
text-decoration: none;
border-right: 1px solid #000; 
box-sizing: border-box;   
}

.foot-menulist a:last-child {
border-right: none;
}

.foot-menulist a:hover {
color: #999; /* 薄いグレー */
transition: color 0.3s ease; /* 色の変化を滑らかに */
}

/* フロントページ
------------------------------------------------------------*/
.top-bgyellow {
position: relative;        /* 絶対配置の基準にする */
width: 100%;
height: 950px;       /* ★高さをここで調整 */
overflow: hidden;
margin-bottom:80px;
}

.top-bgyellow img {
width: 100%;
max-width:1280px;
margin:auto;
height: 100%;
object-fit: cover;   /* 中央を切り抜きつつ縮尺維持 */
display: block;
}

.ohis-oshitit {
position: absolute;
top: -20%;       
left: 0;
font-size: 24px;
font-weight: bold;
padding-left: 25px;
}

/* オレンジ丸 */
.ohis-oshitit::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 12px;
height: 12px;
background-color: #f28c28;
border-radius: 50%;
}

.box-area {
display: flex;
flex-direction: column;
justify-content: space-evenly; 
height: 100%;                
}

.framelist-new > .frame-box {
flex: 1;
background: #fffcee;
padding: 25px 25px 25px 25px;   
border-radius: 12px;
position: relative;       
}

.framelist-new {
position: absolute;
top: 13%;
left: 50%;
transform: translateX(-50%);
width: 90%;
max-width: 1080px;
margin: 0 auto;
z-index: 10;
display: flex;
justify-content: space-between;
gap: 32px;
flex-wrap: wrap;
}

.framelist-new > div {
flex: 1 1 45%;             /* 幅は最大 45% まで、自動で縮む */
max-width: 525px;
height: 291px;
background: #fffcee;
border-radius: 12px;
}

.report-list ul,
.news-list ul {
display: flex;               /* 左右を横並び */
list-style: none;
padding: 5px 0;
margin: 0;
align-items: center;         /* 左右のliを縦方向中央揃え */
}

.report-list ul li.left time,
.news-list ul li.left time {
font-size: 14px;
}

/* 左側：カテゴリー + 日付 */
.report-list ul li.left,
.news-list ul li.left {
width: 25%;
display: flex;
flex-direction: column;
justify-content: center !important;
border-right: none;          /* 縦線不要 */
box-sizing: border-box;
}

/* カテゴリー */
.report-list ul li.left span.category,
.news-list ul li.left span.category {
  font-size: 12px;
  font-weight: bold;
  height: 28px;                /* 高さ固定で中央揃え */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  box-sizing: border-box;
}

/* 右側：タイトル + 本文 */
.report-list ul li.right,
.news-list ul li.right {
width: 65%;
display: flex;
flex-direction: column;
justify-content: center;     /* 上下中央揃え */
padding-left: 5px;           /* 左余白を調整 */
box-sizing: border-box;
font-size: 14px;
}

/* タイトル */
.report-list ul li.right h3,
.news-list ul li.right h3 {
margin: 0 0 4px 0;
font-size: 14px;
}

/* 本文2行制限 */
.report-list ul li.right p,
.news-list ul li.right p {
 margin: 0;
line-height: 1.3em;
display: -webkit-box;
-webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}

/* 左側のカテゴリー名：お知らせ（ピンク背景） */
.report-list ul li.left span.category {
font-size: 12px;
font-weight: bold;
background-color: #ffc0cb; /* ピンク */
max-width: 63px;
height:20px;
margin-top:16px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 4px;
padding: 0 5px;
box-sizing: border-box;
}

/* 左側のカテゴリー名：会員様（緑背景） */
.news-list ul li.left span.category {
font-size: 12px;
font-weight: bold;
background-color: #90ee90; /* 緑 */
max-width: 82px;
height:20px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 4px;
padding: 0 5px;
box-sizing: border-box;
}

.smile-housewaku {
position: absolute;
width:90%;
margin:auto;
max-width:880px;
top: 60%; 
left: 50%;
transform: translateX(-50%);
z-index: 20;
display: flex;
gap: 80px;
}

.smile-housewaku figure {
flex: 1 1 250px;        /* 最小幅250pxまで縮小可能 */
text-align: center;
}

.smile-housewaku img {
width: 100%;          
height: auto;
display: block;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.smile-housewaku img:hover {
transform: translateY(-6px);   /* 上に浮く */
box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.smile-housewaku figcaption .cap-small {
font-size: 14px;
display: block;
font-weight: bold;
margin-top:8px;
text-align:left;
}

.smile-housewaku figcaption p {
font-size: 18px;
font-weight: bold;
margin-top: 4px;
text-align:left;
}

@media screen and (max-width: 768px) {
.top-bgyellow {
position: relative;
height: 1650px;
}

.ohis-oshitit {
position: absolute;
top: -15%;       
left: 0;
font-size: 24px;
font-weight: bold;
padding-left: 25px;
}

.framelist-new {
position: absolute;       /* 絶対配置を使う */
top: 120px;             
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 90px;
width: 100%;
max-width: 500px;
margin: 0;               
z-index: 10;
}
	
.framelist-new > div {
width: 100%;
max-width: 100%;
flex: none;
height: auto;
box-sizing: border-box;
}
	
.smile-housewaku {
position: absolute;      
top: 60%;   
gap: 32px; 
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
width: 90%;
max-width: 400px;
z-index: 20;
}

.smile-housewaku figure {
width: 100%;
max-width: 100%;
flex: none;
}

.smile-housewaku img {
width: 100%;
margin:auto;
height: auto;
}
	
.frame-box.notice .ohis-oshitit {
margin-top: -28px;
}
}

@media screen and (max-width: 499px) {
.top-bgyellow img {
width: 100%;
height:100%;
object-fit: cover;   /* 中央を切り抜きつつ縮尺維持 */
display: block;
}

.ohis-oshitit {
position: absolute;
top: -10%;       
left: 0;
font-size: 18px;
font-weight: bold;
padding-left: 25px;
margin-left:10px;
}

.framelist-new > .frame-box:last-of-type .ohis-oshitit {
top: -15%;  
}
	
.framelist-new {
position: absolute;
top: 110px;
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 50px;
width: 100%;
padding: 0 10px;    
box-sizing: border-box;
z-index: 10;
display: grid;
grid-template-columns: 1fr;
row-gap: 50px;
}

.framelist-new > .frame-box {
min-height: 322px;
}

.framelist-new > div {
width: 100%;
}

.report-list ul li.left span.category {
font-size: 10px;
font-weight: bold;
background-color: #ffc0cb; /* ピンク */
max-width: 63px;
height:20px;
margin-top:16px;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
}

/* 左側のカテゴリー名：会員様（緑背景） */
.news-list ul li.left span.category {
font-size: 10px;
font-weight: bold;
background-color: #90ee90; /* 緑 */
max-width: 90px;
height:30px;
display: flex;
align-items: center;
justify-content: center;
padding: 0 5px;
box-sizing: border-box;
}

.report-list ul li.left time,
.news-list ul li.left time {
font-size: 12px;
}

/* 左側：カテゴリー + 日付 */
.report-list ul li.left,
.news-list ul li.left {
width: 25%;
display: flex;
flex-direction: column;
justify-content: center !important;
border-right: none;          /* 縦線不要 */
box-sizing: border-box;
}

/* カテゴリー */
.report-list ul li.left span.category,
.news-list ul li.left span.category {
font-size: 10px;
font-weight: bold;
height: 28px;                /* 高さ固定で中央揃え */
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 4px;
box-sizing: border-box;
}

.report-list ul li.right,
.news-list ul li.right {
width: 70%;
display: flex;
flex-direction: column;
justify-content: center;     /* 上下中央揃え */
padding-left: 15px;           /* 左余白を調整 */
box-sizing: border-box;
font-size: 10px;
}

/* タイトル */
.report-list ul li.right h3,
.news-list ul li.right h3 {
margin: 0 0 4px 0;
font-size: 12px;
}

/* 本文2行制限 */
.report-list ul li.right p,
.news-list ul li.right p {
margin: 0;
line-height: 1.3em;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
}

/* 自宅、施設から
------------------------------------------------------------*/
.bg-boya {
width: 100%;               
max-width: 1280px;           
margin: 0 auto;
position: relative;
top: -80px;                
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/bg-whtboya.jpg');
background-size: cover;     
background-position: center top;
background-repeat: no-repeat;
min-height: 500px;         
box-sizing: border-box;
overflow: hidden;         
z-index: 5;
}

.jitaku-shisetwaku{
max-width:1080px;
margin:auto;
display: flex;
align-items: center;
justify-content: center;
gap:36px;
padding: 80px 10px;    
box-sizing: border-box;
}

.left-jitaku {
width: 523px;           
height: 198px;           
border: 2px solid #f4867d;
box-sizing: border-box;
padding: 25px;
background-color: #ffffff;
}

.text-line {
display: flex;        
align-items: flex-end;  
gap: 3px;                
}

.zitaku-sen {
font-size: 37px;
position: relative;
display: inline-block;
line-height: 1;       
z-index: 1;
}

.zitaku-sen::after {
content: "";
position: absolute;
left: 0;
bottom: 0;               /* 文字下端に合わせる */
width: 100%;
height: 10px;            /* 線の太さ */
background-color: #f4867d;
z-index: -1;
}

.text-rest {
font-size: 24px;         /* 好きなサイズに調整 */
line-height: 1.1;          /* 高さを正確に */
}

.left-jitaku p{
font-size:14px;
padding-top:5px;
font-weight:bold;
}

.yoko-kugiri {          
border-top: 1px solid #000;
margin: 10px auto;  
width: 100%;          
box-sizing: border-box;  /* 枠内に収める */
}

.tsuite-yoko {
display: flex;          
gap: 16px;               
justify-content: flex-start;
flex-wrap: wrap;        
}

.houmon-kai {
flex: 1 1 auto;        /* 横幅自動調整 */
min-width: 120px;      /* 縮みすぎ防止 */
max-width: 100%;       /* 親幅を超えない */
margin-top: 8px;
background-color: #f4867d;
border-radius: 12px;
padding: 10px 20px;
font-weight: bold;
text-align: center;
cursor: pointer;
transition: transform 0.3s ease, background-color 0.3s ease; /* transformを追加 */
color: #fff;
font-size: clamp(14px, 4vw, 18px);  
}

.houmon-kai:hover {
background-color: #ffb0b0;
transform: translateY(-5px) scale(1.05);
}

.houmon-kai,
.houmon-kai:link,
.houmon-kai:visited,
.houmon-kai:hover,
.houmon-kai:active {
color: #fff;            /* 文字色を白に固定 */
text-decoration: none;  /* 下線を消す */
}

.right-shisetsu {
width: 523px;           
height: 198px;           
border: 2px solid #f2b579;
box-sizing: border-box;
padding: 25px; /* 上下左右 20px */
}

.text-line {
display: flex;           /* 横並びにする */
align-items: flex-end;   /* 下端を揃える */
gap: 3px;                
}

.shisetsu-sen {
font-size: 37px;
position: relative;
display: inline-block;
line-height: 1;          /* 高さを正確に */
z-index: 1;
}

.shisetsu-sen::after {
content: "";
position: absolute;
left: 0;
bottom: 0;              
width: 100%;
height: 10px;           
background-color: #ffdb29;
z-index: -1;
}

.text-lineright{
font-size: 24px;         /* 好きなサイズに調整 */
line-height: 1.1;          /* 高さを正確に */
}

.right-shisetsu p{
font-size:14px;
padding-top:5px;
font-weight:bold;
}

.yoko-kugiri {          
border-top: 1px solid #000;
margin: 10px auto;  
width: 100%;          
box-sizing: border-box;  
}

.tsuite-yoko {
display: flex;          
gap: 16px;               
justify-content: flex-start;
flex-wrap: wrap;        
}

.service-jut {
display: inline-block; 
margin-top:8px;
background-color: #e5954f;
border-radius: 12px;      
padding: 10px 20px;       
font-weight: bold;        
text-align: center;       
cursor: pointer;           
transition: transform 0.3s ease, background-color 0.3s ease; 
color: #fff;
font-size: 18px;
}

.service-jut:hover {
background-color: #f2b579;
 transform: translateY(-5px) scale(1.05);
}

.service-jut,
.service-jut:link,
.service-jut:visited,
.service-jut:hover,
.service-jut:active {
color: #fff;            /* 文字色を白に固定 */
text-decoration: none;  /* 下線を消す */
}

.simulation-wrapper {
text-align: center;
margin-bottom:160px;
}

.simulation {
max-width: 100%; 
height: auto;
transition: opacity 0.3s ease;
}

.simulation:hover {
opacity: 0.6; 
}

.bg-oraboya {
position: relative;
width: 100%;
max-width: 1280px;
height:1000px;
margin: 0 auto; margin-bottom:50px;
padding: 0;
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/bg-orange.png');
background-size: cover;
background-position: top center;
background-repeat: no-repeat;
}

.bg-img {
display: block;        /* ブロック要素化 */
margin: 0 auto;        /* 左右中央寄せ */
width: 100%;       /* 画面幅に収まる */
height: auto;          /* 縦横比を維持 */
}

.taiyou {
position: absolute;     
top: -110px;            
left: 50%;               
transform: translateX(-50%); 
z-index: 5;             
}

.taiyou img {
width: 220px;
height: auto;
display: block;
}

.for-housewaku {
display: flex;                  
justify-content: space-between; 
max-width: 1100px;              
width: 100%;                   
gap: 36px;                        
flex-wrap: wrap;
flex-wrap: nowrap;              
position: absolute;       
top: 200px;               
left: 50%;               
transform: translateX(-50%); 
z-index: 4;    
margin-bottom:120px;
}

.helper-ohi {
max-width: 260px; 
max-height: 290px;
border: 1px solid #f4867d;    
border-radius: 12px;           
padding: 20px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center;
text-align: center;
background-color: #f4867d;        
position: relative; /* 追加：子要素を絶対配置する基準 */
}

.triangleg {
position: absolute; /* 右下に固定 */
bottom: 0;
right: 0;
width: 40px; /* 必要に応じてサイズ調整 */
height: auto;
}

.smile-ohi {
max-width: 260px; 
max-height:290px;
border: 1px solid #da8fe2;    
border-radius: 12px;           
padding: 20px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center;
text-align: center;
background-color: #da8fe2;        
position: relative;
}

.smiyagi-ohi {
max-width: 260px; 
max-height:290px;
border: 1px solid #f2b579;    
border-radius: 12px;           
padding: 20px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center; 
text-align: center;
background-color: #f2b579;        
position: relative;
}

.sm-ohihome {
max-width: 260px; 
max-height:290px;
border: 1px solid #ea92cf;    
border-radius: 12px;           
padding: 20px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center; 
text-align: center;
background-color: #ea92cf;        
position: relative;
}

.moji-ohisama{
font-size:21px;
color:#fff;
text-align:center;
padding-top:5px;
}

.helper-ohi p,
.smile-ohi p,
.smiyagi-ohi p,
.sm-ohihome p {
font-size: 14px;
color: #fff;
text-align: center;
}

.helper-ohi a img {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.helper-ohi a img:hover {
transform: translateY(-8px); /* 上に浮く */
box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.smile-ohi a img {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.smile-ohi a img:hover {
transform: translateY(-8px); /* 上に浮く */
box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.smiyagi-ohi a img {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.smiyagi-ohi a img:hover {
transform: translateY(-8px); /* 上に浮く */
box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.sm-ohihome a img {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sm-ohihome a img:hover {
transform: translateY(-8px); /* 上に浮く */
box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.img-twoboyos {
position: absolute;
width: 100%; 
max-width:1280px;
top: 600px; /* for-housewaku の下辺に近い数値に調整 */
left: 50%;
transform: translateX(-50%);
display: flex;
justify-content: space-between;                  
margin: 0;                   
padding: 0;
gap: 5px;
}

.img-twoboyos a {
flex: 1;                        
}

.img-twoboyos img {
width: 100%;                   
height: auto;                  
display: block; 
transition: opacity 0.3s ease;
}

.img-twoboyos img:hover {
opacity: 0.6; /* 半透明 */
}

.ohi-koushin {
position: absolute;        /* ← 絶対配置で重ねる */
top: 60%;                  /* 親の中央に */
left: 50%;
transform: translate(-50%, -50%);  /* 完全に中央に */
font-size: 24px;
font-weight: bold;
padding-left: 20px;
z-index: 10;               /* 背景より前面 */
}

/* 丸マーカー */
.ohi-koushin::before {
content: "";                    
position: absolute;
left: 0;                        
top: 50%;                        
transform: translateY(-50%);   
width: 16px;                   
height: 16px;                    
background-color: orange;       
border-radius: 50%;             
}

/* ボックス本体 */
.box-koushiare {
position: absolute;       /* ← ここ重要 */
top: 75%;                
left: 50%;
transform: translate(-50%, -50%); /* 完全中央に */
width: 592px;
height: 300px;
border-radius: 12px;
background-color: #fffcee;
padding: 20px;
display: flex;
flex-direction: column;
gap: 18px;
justify-content: center;
z-index: 10;            
}

/* 個別リスト */
.list-koushin-item {
display: flex;
gap: 50px;
align-items: center;
padding: 5px 50px;
}

/* 左側 */
.koushin-left {
display: flex;
flex-direction: column;
justify-content: center;
}

/* ラベル */
.update-label, .new-label {
font-size: 12px;
font-weight: bold;
background-color: #ffc0cb;
max-width: 63px;
height:20px;
margin-top:16px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 4px;
padding: 0 5px;
box-sizing: border-box;
}

/* 日付 */
.koushin-left time {
font-size: 14px;
text-align: center; 
}

/* 右側 */
.koushin-right {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center; 
}

.koushin-right p {
margin: 0;
font-size: 14px;
line-height: 1.5;
color: #333;
}

@media screen and (max-width: 1000px) {
.bg-boya {
width: 100%;               
max-width: 1280px;           
margin: 0 auto;
position: relative;
top: -80px;                
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/bg-whtboya.jpg');
background-size: 100% auto;   /* ← 横幅に合わせて縮小 */
background-position: center top;
background-repeat: no-repeat;
min-height: clamp(300px, 40vw, 500px); /* 画面に応じて高さ可変 */
box-sizing: border-box;
overflow: hidden;
z-index: 5;
}

.jitaku-shisetwaku{
margin: 0 auto;
display: flex;              /* flexにする */
flex-direction: column;     /* 横並び解除（縦並び） */
align-items: center;        /* 中央寄せ */
gap: 20px;                  /* 上下の間隔 */
padding: 80px 10px;
box-sizing: border-box;
}

.left-jitaku {
width: 523px;           
height: 198px;           
border: 2px solid #f4867d;
box-sizing: border-box;
padding: 25px;
background-color: #ffffff;
}

.text-line {
display: flex;        
align-items: flex-end;  
gap: 3px;                
}

.zitaku-sen {
font-size: 37px;
position: relative;
display: inline-block;
line-height: 1;       
z-index: 1;
}

.zitaku-sen::after {
content: "";
position: absolute;
left: 0;
bottom: 0;               /* 文字下端に合わせる */
width: 100%;
height: 10px;            /* 線の太さ */
background-color: #f4867d;
z-index: -1;
}

.text-rest {
font-size: 24px;         /* 好きなサイズに調整 */
line-height: 1.1;          /* 高さを正確に */
}

.left-jitaku p{
font-size:14px;
padding-top:5px;
font-weight:bold;
}

.yoko-kugiri {          
border-top: 1px solid #000;
margin: 10px auto;  
width: 100%;          
box-sizing: border-box;  /* 枠内に収める */
}

.tsuite-yoko {
display: flex;          
gap: 16px;               
justify-content: flex-start;
flex-wrap: wrap;        
}

.houmon-kai {
flex: 1 1 auto;        /* 横幅自動調整 */
min-width: 120px;      /* 縮みすぎ防止 */
max-width: 100%;       /* 親幅を超えない */
margin-top: 8px;
background-color: #f4867d;
border-radius: 12px;
padding: 10px 20px;
font-weight: bold;
text-align: center;
cursor: pointer;
transition: 0.3s;
color: #fff;
font-size: clamp(14px, 4vw, 18px); 
}

.houmon-kai:hover {
background-color: #ffb0b0;
}

.right-shisetsu {
width: 523px;           
height: 198px;           
border: 2px solid #f2b579;
box-sizing: border-box;
padding: 25px; /* 上下左右 20px */
background-color:#fff;
}

.text-line {
display: flex;           /* 横並びにする */
align-items: flex-end;   /* 下端を揃える */
gap: 3px;                
}

.shisetsu-sen {
font-size: 37px;
position: relative;
display: inline-block;
line-height: 1;          /* 高さを正確に */
z-index: 1;
}

.shisetsu-sen::after {
content: "";
position: absolute;
left: 0;
bottom: 0;               /* 文字下端に合わせる */
width: 100%;
height: 10px;            /* 線の太さ */
background-color: #ffdb29;
z-index: -1;
}

.text-lineright{
font-size: 24px;         /* 好きなサイズに調整 */
line-height: 1.1;          /* 高さを正確に */
}

.right-shisetsu p{
font-size:14px;
padding-top:5px;
font-weight:bold;
}

.yoko-kugiri {          
border-top: 1px solid #000;
margin: 10px auto;  
width: 100%;          
box-sizing: border-box;  /* 枠内に収める */
}

.tsuite-yoko {
display: flex;          
gap: 16px;               
justify-content: flex-start;
flex-wrap: wrap;        
}

.service-jut {
display: inline-block; 
margin-top:8px;
background-color: #e5954f;
border-radius: 12px;      
padding: 10px 20px;       
font-weight: bold;        
text-align: center;       
cursor: pointer;           
transition: 0.3s;          
color:#fff;
font-size:18px;
}

.service-jut:hover {
background-color: #f2b579;
}

.bg-oraboya {
position: relative;
width: 100%;
max-width: 1280px;
height:1200px;
margin: 0 auto; margin-bottom:50px;
padding: 0;
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/bg-orange.png');
background-size: cover;
background-position: top center;
background-repeat: no-repeat;
}

.for-housewaku {
flex-wrap: wrap;              /* 折り返す */
justify-content: center;      /* 中央寄せ */
gap: 20px;
}

.helper-ohi {
max-width: 260px; 
max-height: 290px;
border: 1px solid #f4867d;    
border-radius: 12px;           
padding: 20px 10px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center;
text-align: center;
background-color: #f4867d;        
position: relative; /* 追加：子要素を絶対配置する基準 */
}

.triangleg {
position: absolute; /* 右下に固定 */
bottom: 0;
right: 0;
width: 40px; /* 必要に応じてサイズ調整 */
height: auto;
}

.smile-ohi {
max-width: 260px; 
max-height:290px;
border: 1px solid #da8fe2;    
border-radius: 12px;           
padding: 20px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center;
text-align: center;
background-color: #da8fe2;        
position: relative;
}

.smiyagi-ohi {
max-width: 260px; 
max-height:290px;
border: 1px solid #f2b579;    
border-radius: 12px;           
padding: 20px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center; 
text-align: center;
background-color: #f2b579;        
position: relative;
}

.sm-ohihome {
max-width: 260px; 
max-height:290px;
border: 1px solid #ea92cf;    
border-radius: 12px;           
padding: 20px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center; 
text-align: center;
background-color: #ea92cf;        
position: relative;
}

.moji-ohisama{
font-size:21px;
color:#fff;
text-align:center;
padding-top:5px;
}

.helper-ohi,
.smile-ohi,
.smiyagi-ohi,
.sm-ohihome {
width: calc(45% - 1px);     
max-width: none;           
margin:0 10px 0 10px;
}

.helper-ohi p,
.smile-ohi p,
.smiyagi-ohi p,
.sm-ohihome p {
font-size: 14px;
color: #fff;
text-align: center;
}

.img-twoboyos {
position: absolute;
width: 100%; 
max-width:1280px;
top: 900px; /* for-housewaku の下辺に近い数値に調整 */
left: 50%;
transform: translateX(-50%);
display: flex;
justify-content: space-between;                  
margin: 0;                   
padding: 0;
gap: 5px;
}

.img-twoboyos a {
flex: 1;                        
}

.img-twoboyos img {
width: 100%;                   
height: auto;                  
display: block;                
}

.ohi-koushin {
position: absolute;        /* ← 絶対配置で重ねる */
top: 70%;                  /* 親の中央に */
left: 50%;
transform: translate(-50%, -50%);  /* 完全に中央に */
font-size: 24px;
font-weight: bold;
padding-left: 20px;
z-index: 10;               /* 背景より前面 */
}

/* 丸マーカー */
.ohi-koushin::before {
content: "";                    
position: absolute;
left: 0;                        
top: 50%;                        
transform: translateY(-50%);   
width: 16px;                   
height: 16px;                    
background-color: orange;       
border-radius: 50%;             
}

/* ボックス本体 */
.box-koushiare {
position: absolute;       /* ← ここ重要 */
top: 83%;                
left: 50%;
transform: translate(-50%, -50%); /* 完全中央に */
width: 592px;
height: 300px;
border-radius: 12px;
background-color: #fffcee;
padding: 20px;
display: flex;
flex-direction: column;
gap: 18px;
justify-content: center;
z-index: 10;            
}

.foot-waku {
max-width: 1080px;
margin: 0 auto 40px;
display: flex;
justify-content: center;   /* ← 中央寄せ */
gap: 40px;                 /* 左右の間隔 */
align-items: flex-start;
flex-wrap: wrap;
}
}

@media screen and (max-width: 640px) {
.for-housewaku {
justify-content: space-between; /* 2列をきれいに並べる */
gap: 12px;
}

.helper-ohi,
.smile-ohi,
.smiyagi-ohi,
.sm-ohihome {
width: calc(50% - 6px);   
margin: 0;              
padding: 12px 8px;     
max-height: none;       
}

.moji-ohisama {
font-size: 18px;        
}

.helper-ohi p,
.smile-ohi p,
.smiyagi-ohi p,
.sm-ohihome p {
font-size: 13px;
}
}

@media screen and (max-width: 499px) {
.bg-boya {
width: 100%;               
max-width: 1280px;           
margin: 0 auto;
position: relative;
top: -80px;                
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/bg-whtboya.jpg');
background-size: 100% auto;   /* ← 横幅に合わせて縮小 */
background-position: center top;
background-repeat: no-repeat;
min-height: clamp(300px, 40vw, 500px); /* 画面に応じて高さ可変 */
box-sizing: border-box;
overflow: hidden;
z-index: 5;
}
	
.jitaku-shisetwaku {
width:100%;
flex-direction: column;
gap: 32px;
padding: 40px 16px;
}

/* 左右の枠を画面幅に合わせる */
.left-jitaku,
.right-shisetsu {
width: 100%;
height: auto;       /* 中身に合わせて高さ可変 */
background-color:#fff;
}

/* ボタン類を枠内で折り返す */
.tsuite-yoko {
justify-content: flex-start;
}

.houmon-kai,
.service-jut {
width: auto;
max-width: 100%;
}

.zitaku-sen {
font-size: 30px;
position: relative;
display: inline-block;
line-height: 1;       
z-index: 1;
white-space: nowrap;
}

.zitaku-sen::after {
content: "";
position: absolute;
left: 0;
bottom: 0;              
width: 100%;
height: 10px;          
background-color: #f4867d;
z-index: -1;
}

.text-rest {
font-size: 18px;       
line-height: 1.1;        
}

.shisetsu-sen {
font-size: 30px;
position: relative;
display: inline-block;
line-height: 1;        
z-index: 1;
white-space: nowrap;
}

.shisetsu-sen::after {
content: "";
position: absolute;
left: 0;
bottom: 0;              
width: 100%;
height: 10px;          
background-color: #ffdb29;
z-index: -1;
}

.text-lineright{
font-size: 20px;         
line-height: 1.1;        
}
	
.bg-oraboya {
position: relative;
width: 100%;
max-width: 1280px;
height:1550px;
margin: -100px auto 0;
margin-bottom:0;
padding: 0;
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/bg-orange.png');
background-size: cover;
background-position: top center;
background-repeat: no-repeat;
}

.taiyou {
position: absolute;     
top: -110px;            
left: 50%;               
transform: translateX(-50%); 
z-index: 5;             
}

.taiyou img {
width:80%;
margin:auto;
padding-top:30px;
height: auto;
display: block;
}

.for-housewaku {
display: flex;              /* ← 必須 */
flex-wrap: wrap;            /* 折り返し */
justify-content: center;
margin-top:-100px;
gap: 20px;
}

.helper-ohi,
.smile-ohi,
.smiyagi-ohi,
.sm-ohihome {
flex: 0 0 calc(90% - 30px);  /* ← 2列 */
max-width: 350px;
width: 100%;
}

.helper-ohi {
max-width: 350px; 
max-height: 290px;
border: 1px solid #f4867d;    
border-radius: 12px;           
padding: 10px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center;
text-align: center;
background-color: #f4867d;        
position: relative; /* 追加：子要素を絶対配置する基準 */
}

.triangleg {
position: absolute; /* 右下に固定 */
bottom: 0;
right: 0;
width: 40px; /* 必要に応じてサイズ調整 */
height: auto;
}

.smile-ohi {
max-width: 350px; 
max-height:290px;
border: 1px solid #da8fe2;    
border-radius: 12px;           
padding: 10px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center;
text-align: center;
background-color: #da8fe2;        
position: relative;
}

.smiyagi-ohi {
max-width: 350px; 
max-height:290px;
border: 1px solid #f2b579;    
border-radius: 12px;           
padding: 10px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center; 
text-align: center;
background-color: #f2b579;        
position: relative;
}

.sm-ohihome {
max-width: 350px; 
max-height:290px;
border: 1px solid #ea92cf;    
border-radius: 12px;           
padding: 10px;                  
box-sizing: border-box;        
display: flex;
flex-direction: column;      
align-items: center; 
text-align: center;
background-color: #ea92cf;        
position: relative;
}

.moji-ohisama{
font-size:15px;
color:#fff;
text-align:center;
padding-top:5px;
}

.helper-ohi p,
.smile-ohi p,
.smiyagi-ohi p,
.sm-ohihome p {
font-size: 12px;
color: #fff;
text-align: center;
}

.img-twoboyos {
position: absolute;
top: 1250px; 
left: 50%;
transform: translateX(-50%);
display: block;
justify-content: space-between; 
width: 100%;                  
margin: 0;                   
}

.img-twoboyos a {
flex: 1;                        
}

.img-twoboyos img {
width: 100%;                   
height: auto;                  
display: block;
margin-bottom:10px;
}

.ohi-koushin {
position: absolute;
top: 80%;
left: 50%;
transform: translate(-50%, -50%);
display: inline-flex;          /* ← 2要素を横並び */
align-items: center;
gap: 10px;                     /* 丸と文字の間隔 */
font-size: 20px;
font-weight: bold;
z-index: 10;
white-space: nowrap;           /* 折り返し防止 */
}

/* 丸マーカー */
.ohi-koushin::before {
content: "";
width: 16px;
height: 16px;
background-color: orange;
border-radius: 50%;
flex-shrink: 0;
}

/* ボックス本体 */
.box-koushiare {
position: absolute;
top: 90%;
left: 50%;
transform: translate(-50%, -50%);
width: calc(100% - 40px);   /* ← 左右20px余白 */
max-width: 900px;        
border-radius: 12px;
background-color: #fffcee;
padding:0;             
display: flex;
flex-direction: column;
gap: 18px;
justify-content: center;
z-index: 10;
}

/* 個別リスト */
.list-koushin-item {
display: flex;
gap: 30px;
align-items: center;
padding: 0 10px;
}

/* 左側 */
.koushin-left {
display: flex;
flex-direction: column;
justify-content: center;
}

/* ラベル */
.update-label, .new-label {
font-size: 12px;
font-weight: bold;
background-color: #ffc0cb;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}

/* 日付 */
.koushin-left time {
font-size: 12px;
text-align: center; 
}

/* 右側 */
.koushin-right {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center; 
}

.koushin-right p {
margin: 0;
font-size: 14px;
line-height: 1.5;
color: #333;
}
	
.foot-logo img {
width: 120px; 
height: auto;
}

 .foot-waku {
justify-content: center; 
text-align: center;
gap: 10px;
margin-top:20px;
}

.left-rogof {
justify-content: center;   
width: 100%;      
}

.left-rogof p.house{
font-size: 14px;
line-height: 1.3;
}

.left-rogof p.yu-bin {
font-size: 13px;
font-weight: bold;
line-height: 1.5;   /* 行間を狭く */
}

.right-rogof p{
font-size:12px;
font-weight:bold;
margin:auto;
}

.denwa-wak-bang {
display: flex;           /* 横並び */
align-items: center;     /* 縦中央揃え */
justify-content: center;
}

.denwa-wak, .bang {
margin: 0;               /* 不要な上下マージンを消す */
}

.denwa-wak {
margin-top:10px;
display: inline-block;
margin-left:20px;
background: #ff5a00;     
color: #fff;             
padding: 8px 5px;     
border-radius: 5px;       
font-weight: bold;      
font-size: 12px;       
}

.bang {
color: #ff5a00;
font-size: 23px; 
font-weight: bold;
margin-left:10px;
}
	
.bang,
.bang a {
color: #ff5a00;
}

.foot-menulist a {
display: flex;            
align-items: center;       
justify-content: center; 
padding: 5px 5px;           
color: #333;           
font-size: 12px;
text-decoration: none;
border-right: 1px solid #000; 
box-sizing: border-box;   
}
}

body {
font-family: 'Noto Sans JP', sans-serif;
}

/* スマイルハウスおひさま
------------------------------------------------------------*/
.link-waku {
display: flex;
width: 1200px;                 
max-width: 100%;                
margin: 0 auto;                
flex-wrap: wrap;          
gap: 20px; 
margin-bottom:20px;
justify-content: center;   
align-items: center; 
}

.link-waku div {
flex: 0 0 auto;              
width: 100%;                
max-width: 400px;           
}

.link-waku img {
width: 100%;                   
height: auto;                
display: block;
transition: opacity 0.3s ease;
}

.link-waku img:hover {
opacity: 0.5; 
}

@media screen and (max-width: 768px) {
.link-waku div {
width: 80%;       
max-width: 340px;
}
}

.ohi-waku {
width: 100%;
max-width: 1200px;
margin: 0 auto;
margin-bottom: 80px;
border: 1px solid #54894d;   
box-sizing: border-box;
border-radius: 18px;
padding: 24px 50px;
background-color: #fff;      
}

h2.tit-greenfee {
width: 100%;
max-width: 584px;
padding:5px 0 5px 20px;
color: #ffffff;
font-size: 26px;
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/htg-green.png');
background-repeat: no-repeat;
background-position: left center;
background-size: cover;  
box-sizing: border-box;
border-bottom: none !important;

/* フェードイン用 */
opacity: 0;               /* 初期は透明 */
animation: fadeIn 2.3s forwards; /* 1.5秒かけて表示 */
}

@keyframes fadeIn {
to {
opacity: 1;
}
}

.ohi-waku p{
font-size:14px;
line-height: 1.8;
letter-spacing: 0.05em;
}

.ora-menufor {
max-width: 1200px;
width: 100%;
display: flex;
justify-content: flex-start; 
align-items: center;
border: none;
margin: 0 auto 24px;
}

.lin-kyaji {
position: relative;
padding: 5px 8px;
color: #ff5a00;
font-size: 14px;
font-weight: bold;
white-space: nowrap;
}

.lin-kyaji {
border-left: 1px solid #ff5a00;
}

.lin-kyaji:last-child {
border-right: 1px solid #ff5a00;
}

.lin-kyaji a {
color: #ff5a00;          /* 通常：オレンジ */
text-decoration: none;
display: inline-block;
transition: color 0.2s ease;
}

.lin-kyaji a:hover {
color: rgba(255, 90, 0, 0.5);  /* 薄いオレンジ */
}

.tab-smileohi {
width: 100%;
box-sizing: border-box;
}

.tab-smileohi table {
width: 100%;
max-width: 861px;
margin-top: 24px; 
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.tab-smileohi table th,
.tab-smileohi table td {
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
}

.tab-smileohi table th {
width:20%;
}

.tab-smileohi table td {
text-align:left;
}

h3.tenten-gr {
color: #7ca055;
font-size: 20px;
font-weight:bold;
position: relative;
display: inline-block;
padding-bottom: 5px;
margin-bottom:10px;
margin-top:14px;
}

h3.tenten-gr::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 365px;
border-bottom: 2px dotted #7ca055;
}

.o-waku {
width: 48px;
height: 22px;
margin-top:5px;
display: inline-flex;
align-items: center;      /* 縦中央 */
justify-content: center;  /* 横中央 */
border: 1px solid #e26b00;
color: #e26b00;
font-size: 14px;
font-weight: bold;
box-sizing: border-box;
}

.wakumj-si u,
.wakumj-si p {
margin: 0; /* 上下の余白をなくす */
padding: 0;
}

.yachi{
font-size:14px;
padding:5px 0;
}

.yachi p.yachi-hokn {
font-size: 10px !important; /* !important で強制上書き */
margin: 0;
}

.wakumj-si p {
font-size: 14px;     /* 文字サイズ */
font-weight: normal;  /* 太文字を解除 */
margin-top: 0;        /* 上の余白を消す */
margin-bottom: 0;     /* 下の余白も消す */
line-height: 1.9;     /* 行間調整 */
padding-top:5px;
padding-bottom:10px;
}

.wakumj-si u{
font-weight:bold;
}

.hiyo-tab table {
width: 100%;
max-width: 1006px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.hiyo-tab table th,
.hiyo-tab table td {
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;   
}

.hiyo-tab td.slash {
text-align: center;     
vertical-align: middle;  
}

.hiyo-tab .service-kss{
text-align:left;
}

.service-mo{
font-size: 14px;
font-weight: normal;
margin-top: 0;
margin-bottom: 0;
line-height: 1.9;
padding-top: 5px;
padding-bottom: 10px;
}

ul.option-list {
list-style: none !important;
padding-left: 0 !important;
margin: 0;
}

ul.option-list li {
position: relative;       
margin-bottom: 20px;
line-height: 1.6;
font-size: 14px;
}

ul.option-list li::before {
content: "•";
color: #000;              
font-size: 14px;
line-height: 1;             
}

.annnai-wak p {
font-size: 14px;
font-weight: normal; /* 念のため太さを通常に */
line-height: 1.6;    
}

.toisaki {
width: 83px; 
height: 20px;
background-color: #f45151; 
color: #fff; 
display: flex;         
justify-content: center; 
align-items: center;
font-size: 12px; 
font-weight:bold;
margin-top:3px;
}

.smile-denw{
font-size:14px;
color:#f45151;
font-weight:bold;
}

.smile-denw a{
color: inherit;
text-decoration: none;
font-weight: inherit;
}

.smile-denw a:hover{
color: inherit;
}

.kyosit-wk {
display: flex; 
margin: 0 auto;
gap: 20px;                   
flex-wrap: wrap;             
box-sizing: border-box;
}

.left-gz img {
width: 100%;                 
max-width: 300px;           
height: auto;
display: block;
}

.right-kyoshi {
flex: 1;
min-width: 300px;
line-height: 0.8;
}

.kai-kyo{
font-size:14px;
color:#7ca055;
font-weight:bold;
line-height: 1.5;
}

.kyosit-wk p {
font-size: 14px;     
font-weight: normal;
line-height: 1.8;
padding-top:10px;
}

.kyos-gaz {
width:100%;
margin:auto;
display: block;       
margin-top: 20px;   
}

.kyo-shiwaku {
display: flex;        
gap: 20px;            
flex-wrap: wrap; 
align-items: stretch; 
}

.left-syokud img {
width: 100%;            /* 画像をコンテナ幅に合わせる */
max-width: 369px;       /* 最大幅 */
height: auto;           /* 高さ自動調整 */
display: block;
}

.right-syokud {
flex: 1;                /* 右側が残り幅を占める */
min-width: 300px;       /* 最小幅 */
line-height: 2; 
font-size:14px;
}

@media screen and (max-width: 768px) {
.ohi-waku {
padding:24px 30px;
}

.ora-menufor {
margin-left:30px;
}

.hiyo-tab table {
width: 100%;
max-width: 1006px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 12px; 
box-sizing: border-box;
}

.hiyo-tab table th,
.hiyo-tab table td {
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;
font-size: 12px; /* th, td にも明示的に指定 */
padding: 4px 5px;
}

.hiyo-tab td.slash {
text-align: center;
vertical-align: middle;
font-size: 12px; /* 必要に応じて */
padding: 4px 5px;
}
}

@media screen and (max-width: 640px) {
.ohi-waku {
padding:24px 20px;
}

h2.tit-greenfee {
padding:5px 0 5px 20px;
color: #ffffff;
font-size: 20px;
border-bottom: none !important;
}

.ohi-waku p{
font-size:12px;
line-height: 1.8;
}

.ora-menufor {
display: flex;
justify-content: flex-start;
align-items: center;
border: none;
margin-left:20px;
margin-bottom:20px;
}

.lin-kyaji {
position: relative;
padding: 3px 5px;
color: #ff5a00;
font-size: 12px;
font-weight: bold;
white-space: nowrap;
}

h3.tenten-gr {
color: #7ca055;
font-size: 18px;
font-weight:bold;
position: relative;
display: inline-block;
padding-bottom: 5px;
}

h3.tenten-gr::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
border-bottom: 2px dotted #7ca055;
}

.hiyo-tab {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
  }

.hiyo-tab table {
min-width: 680px; 
}
}

@media screen and (max-width: 499px) {
.tab-smileohi {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.tab-smileohi table {
min-width: 500px; 
}
	
.pd-kyoji{
width:35px;
margin-top:5px;
}
}

/* 住宅型有料老人ホームスマイルハウスおひさま
------------------------------------------------------------*/
h2.tit-feegreenfee {
width: 100%;
max-width: 965px;
padding:5px 0 5px 20px;
color: #ffffff;
font-size: 26px;
background-image: url('https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/htg-green.png');
background-repeat: no-repeat;
background-position: left center;
background-size: cover;  
box-sizing: border-box;
border-bottom: none !important;
margin-bottom:10px;
	
/* フェードイン用 */
opacity: 0;               /* 初期は透明 */
animation: fadeIn 2.3s forwards; /* 1.5秒かけて表示 */
}

@keyframes fadeIn {
to {
opacity: 1;
}
}

.shikaku-toi{
width: 83px; 
height: 20px;
background-color: #f45151; 
color: #fff; 
display: flex;         
justify-content: center; 
align-items: center;
font-size: 12px; 
font-weight:bold;
margin-top:5px;
}

.toi-yuryo{
color:#f45151;
font-weight:bold;
font-size:14px;
}

.toi-yuryo,
.toi-yuryo:link,
.toi-yuryo:visited,
.toi-yuryo:hover,
.toi-yuryo:active,
.toi-yuryo:focus {
 color: #f45151 !important;
font-weight: bold;
font-size: 14px;
text-decoration: none;
}

.jutak-tabhiyo {
width: 100%;
max-width: 785px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.jutak-tabhiyo th,
.jutak-tabhiyo td {
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
}

.jutak-tabhiyo .type {
width:100%;
max-width: 157px;
text-align: center;
vertical-align: middle;
font-weight: normal;
}

.jutak-tabhiyo .item {
width:100%;
max-width:314px;
font-weight: normal;
}

.jutak-tabhiyo .price {
width:100%;
max-width:314px;
text-align: right;
}

.jutak-tabhiyo .total td {
text-align: right;
font-weight: normal;
}

.tabhiyo-sana {
width: 100%;
max-width: 785px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.tabhiyo-sana th,
.tabhiyo-sana td {
width: 50%;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
padding: 10px 12px;
vertical-align: middle;
box-sizing: border-box;
text-align:center;
}

h3.tenten-longree {
color: #7ca055;
font-size: 20px;
font-weight:bold;
position: relative;
display: inline-block;
padding-bottom: 5px;
margin-bottom:10px;
margin-top:24px;
}

h3.tenten-longree::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width:100%;
border-bottom: 2px dotted #7ca055;
}

.ohi-wakuowr {
position: relative; 
width:100%;
max-width: 1200px;
margin: 0 auto; 
margin-bottom:160px;
border: 1px solid #54894d;  
box-sizing: border-box;
border-radius:18px;
padding:24px 50px;
}

.ohi-wakuowr::after {
content: "";
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: -80px;      
width:100%;
max-width: 1200px;    
height: 1px;         
background: #ccc;  
}

.topmodr {
position: fixed;
right: 10px;  
bottom: 80px; 
z-index: 9999;
}

#page-top {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 70px;
height: 82px;
border-radius: 50%;
background-color: rgba(47, 143, 47, 0.8);
color: #fff;
text-decoration: none;
font-weight: bold;
font-size: 15px;
line-height: 1.2;
box-shadow: 0 4px 10px rgba(0,0,0,0.25);
text-align:center;
}

#page-top:hover {
background: #256f25;
}

@media screen and (max-width: 768px) {
h2.tit-feegreenfee {
padding:5px 0 5px 10px;
color: #ffffff;
font-size: 18px;
border-bottom: none !important;
letter-spacing: -0.03em;
}

.ohi-wakuowr {
padding:24px 20px;
}
}

@media (max-width: 640px) {
.kyosit-wk {
flex-direction: column;
gap: 16px;           
}

.left-gz {
width: 80%;
margin:auto;
}

.left-gz img {
max-width: 100%;
margin: 0 auto;        
}

.right-kyoshi {
min-width: auto;       
width: 100%;
}

 .kyo-shiwaku {
flex-direction: column;
gap: 16px;
}

.left-syokud {
width: 80%;
margin:auto;
}

.left-syokud img {
max-width: 100%;
margin: 0 auto;      
}

.right-syokud {
min-width: auto;      
width: 100%;
font-size:12px;
line-height: 1.6; 
}
	
h3.tenten-grtengr {
color: #7ca055;
font-size: 18px;
font-weight:bold;
position: relative;
display: inline-block;
padding-bottom: 5px;
margin-bottom:10px;
}

h3.tenten-grtengr::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
border-bottom: 2px dotted #7ca055;
}
	
h3.tenten-longree {
color: #7ca055;
font-size: 18px;
font-weight:bold;
position: relative;
display: inline-block;
padding-bottom: 5px;
margin-bottom:10px;
}

h3.tenten-longree::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width:100%;
border-bottom: 2px dotted #7ca055;
}
	
.topmodr {
right: 10px;  
bottom: 75px;
}
	
#page-top {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 60px;
height: 72px;
border-radius: 50%;
background-color: rgba(47, 143, 47, 0.8);
color: #fff;
text-decoration: none;
font-weight: bold;
font-size: 12px;
line-height: 1.2;
box-shadow: 0 4px 10px rgba(0,0,0,0.25);
text-align:center;
}

#page-top:hover {
background: #256f25;
}
}
}

/* 訪問介護
------------------------------------------------------------*/
.kaigo-howaku {
display: flex;
gap: 40px;              /* 画像と文章の間隔 */
align-items: flex-start;
}

.left-gzo img {
max-width: 260px;
height: auto;
display: block;
}

.rught-txthm {
max-width:596px;
flex: 1;               
font-size: 14px;
line-height: 1.8;
letter-spacing: -0.02em;
}

p.aka-shintai {
font-size: 9px !important;
color: #f45151 !important;
line-height: 1.3;
}

.shikaigo-wrap {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
max-width: 1100px;
margin: 0 auto;
margin-top:24px;
}

.shikai-box {
max-width:238px;
border: 1px solid #f4867d;
border-radius: 20px;
background: #fff;
box-sizing: border-box;
overflow: hidden;
}

.shikai-box h3 {
font-size: 14px;
font-weight: bold;
color: #fff;
text-align: center;
background-color: #f4867d;
padding: 10px 5px;
border-radius: 20px 20px 0 0;
margin: -1px -1px 0 -1px;
}

.shikai-box p {
margin: 0 auto;          /* ← 中央寄せ */
font-size: 14px;
line-height: 1.6;
color: #333;
text-align: left;  
width: calc(100% - 20px); 
letter-spacing: -0.03em;
line-height:1.8;
padding:6px 0;
}

.kajienjo-wrap {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
max-width: 1100px;
margin: 0 auto;
margin-top:24px;
}

.kaji-box {
max-width:238px;
border: 1px solid #f9a369;
border-radius: 20px;
background: #fff;
box-sizing: border-box;
min-height: 130px;
overflow: hidden;
}

.kaji-box h3 {
margin: 0 0 6px;
font-size: 14px;
font-weight: bold;
color: #fff;
text-align: center;
background-color: #f9a369;
padding: 10px 5px;
border-radius: 20px 20px 0 0;
margin: -1px -1px 0 -1px;
}

.kaji-box p {
margin: 0 auto;          /* ← 中央寄せ */
font-size: 14px;
line-height: 1.6;
color: #333;
text-align: left;  
width: calc(100% - 20px); 
letter-spacing: -0.03em;
line-height:1.8;
padding:6px 0;
}

.ora-menuhokaig {
max-width: 1200px;
width: 100%;
display: flex;
justify-content: flex-start; 
align-items: center;
border: none;
margin: 0 auto 24px;
}

.lin-hokg {
position: relative;
padding: 5px 8px;
color: #ff5a00;
font-size: 14px;
font-weight: bold;
white-space: nowrap;
}

.lin-hokg {
border-left: 1px solid #ff5a00;
}

.lin-hokg:last-child {
border-right: 1px solid #ff5a00;
}

.lin-hokg a {
color: #ff5a00;          /* 通常：オレンジ */
text-decoration: none;
display: inline-block;
transition: color 0.2s ease;
}

.lin-hokg a:hover {
color: rgba(255, 90, 0, 0.5);  /* 薄いオレンジ */
}

.jiyo-jiko{
display: flex;
gap: 40px;           
align-items: flex-start;
margin-top:24px;
}

.pdfjiko-left,
.pdfjiko-right{
display: flex;
flex-direction: column;
}

.jiyo-jiko p{
margin: 0 0 8px 0;
font-size: 16px;
}

.jiyo-jiko img{
width: 55px;      
height: auto;
margin-left: 10px;
}

.jiyo-jiko a img{
transition: opacity 0.3s ease;
}

.jiyo-jiko a:hover img{
opacity: 0.6;
}

.ten-threewk{
max-width:1100px;
display: -webkit-flex;
display: flex;
gap:100px;
}

.three-col:nth-child(1) {
white-space: nowrap;   
}

.three-col p{
margin: 0;
font-size: 14px;
line-height: 1.5;
color: #333;
}

.hokig-tab {
width: 100%;
max-width: 368px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.hokig-tab th{
width:155px;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;
text-align: left;
}

.hokig-tab td{
width:124px;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
text-align: right;
vertical-align: middle;
}

.hokig-tab th.ji-hun {
text-align: center;
vertical-align: middle;
}

.hokig-tab td.pri-en {
text-align: center;
vertical-align: middle;
}

.sonot-ryo {
width: 100%;
max-width: 703px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.sonot-ryo th,td{
width:155px;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;
text-align: left;
}

.td-left {
text-align: left;
}

.kasnjo-tab {
width: 100%;
max-width:347px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.kasnjo-tab th{
width:231px;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;
text-align: left;
}

.kasnjo-tab td{
width:118px;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
text-align: right;
vertical-align: middle;
}

.kasn-kankyo{
margin-top:24px;
}

.kasnjo-tab td.pri-en {
text-align: center;
vertical-align: middle;
}

.kanky-p a img{
transition: opacity 0.3s ease;
}

.kanky-p a:hover img{
opacity: 0.6;
}

.hom-moushik{
font-size:14px;
margin-top:24px;
}

.kasn-kankyo{
margin-bottom:8px;
}

.kanky-p {
display: flex;
justify-content: flex-start; 
}

@media (max-width: 768px) {
h2.title {
position: relative;
clear: both;
max-width: 1200px;
height: 100px;
margin:auto;
margin-bottom: 24px;
padding-left: 100px;
padding-right: 40px;
display: flex;
align-items: center;  
font-size: 30px;
font-weight: bold;
color: #75aa5c;
border: none;
border-radius: 30px;
background: #fbf8e6;
background-image: none !important;
}

h2.title::before {
content: "";
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 2px;
margin-left:50px;
background-color: #75aa5c;
}

.kaigo-howaku {
display: block;
gap: 40px;              
align-items: flex-start;
}

.left-gzo img {
max-width: 260px;
height: auto;
display: block;
}

.rught-txthm {
max-width:596px;
flex: 1;               
font-size: 14px;
line-height: 1.6;
letter-spacing: -0.02em;
}

.ora-menuhokaig {
flex-wrap: wrap;        
margin-left: 0; 
justify-content: flex-start;
align-items: center;
border: none;
margin-left:20px;
margin-bottom:24px;
gap:10px;
}

.lin-hokg {
position: relative;
padding: 3px 5px;
color: #ff5a00;
font-size: 15px;
font-weight: bold;
white-space: normal;
}

.lin-hokg {
border-left: 1px solid #ff5a00;
}

.lin-hokg:last-child {
border-right: 1px solid #ff5a00;
}

.lin-hokg a {
color: #ff5a00;          /* 通常：オレンジ */
text-decoration: none;
display: inline-block;
transition: color 0.2s ease;
}

.lin-hokg a:hover {
color: rgba(255, 90, 0, 0.5);  /* 薄いオレンジ */
}
	
.shikaigo-wrap,	
.kajienjo-wrap {
grid-template-columns: repeat(2, 1fr);
}

.ten-threewk{
flex-direction: column;
gap: 10px;  
}

.three-col p{
margin: 0;
font-size: 14px;
line-height: 1.5;
color: #333;
}
}

@media screen and (max-width: 640px) {
.left-gzo img {
max-width: 260px;
margin:auto;
height: auto;
display: block;
}
	
.hokig-tab-wrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch; /* iPhoneで滑らか */
}

.hokig-tab {
min-width: 368px; 
}

.sonot-ryo {
width: 100%;
max-width: 100%;
table-layout: auto;  
}

.sonot-ryo th,
.sonot-ryo td {
 width: auto;         
padding: 6px 8px;
word-break: break-word;
white-space: normal;
}
}

@media screen and (max-width: 499px) {
h2.title {
position: relative;
clear: both;
height: auto;
margin:auto;
margin-bottom: 24px;
padding:15px;
padding-left: 70px;
padding-right: 40px;
display: flex;
align-items: center;  
font-size: 20px;
font-weight: bold;
color: #75aa5c;
border: none;
border-radius: 30px;
background: #fbf8e6;
background-image: none !important;
}

h2.title::before {
content: "";
position: absolute;
left:0;
top: 50%;
transform: translateY(-50%);
width: 25px;
height: 2px;
margin-left:35px;
background-color: #75aa5c;
}

.jiyo-jiko{
display: block;
gap: 40px;           
align-items: flex-start;
margin-top:24px;
}

.pdfjiko-left,
.pdfjiko-right{
display: flex;
flex-direction: column;
}

.jiyo-jiko p{
margin: 0 0 8px 0;
font-size: 16px;
}

.jiyo-jiko img{
width:35px;
margin-left:10px;
}
	
.kasnjo-tab-wrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.kasnjo-tab {
min-width: 347px;
}

.kanky-p a img{
width: 35px;
height: auto;       
margin-left: 10px;
display: block;
}

.shikai-box p {
margin: 0 auto;          /* ← 中央寄せ */
font-size: 12px;
line-height: 1.6;
color: #333;
text-align: left;  
width: calc(100% - 20px); 
letter-spacing: -0.03em;
line-height:1.8;
padding:6px 0;
}

.kaji-box p {
margin: 0 auto;          /* ← 中央寄せ */
font-size: 12px;
line-height: 1.6;
color: #333;
text-align: left;  
width: calc(100% - 20px); 
letter-spacing: -0.03em;
line-height:1.8;
padding:6px 0;
}
}

/* 居宅介護ページ
------------------------------------------------------------*/
.kasanjo-kyotk {
width: 100%;
max-width:523px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
border: none;
}

.kasanjo-kyotk th{
width:442px;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;
text-align: left;
}

.kasanjo-kyotk td{
width:83px;
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
text-align: right;
vertical-align: middle;
}

.kasanjo-kyotk td.pri-en{
text-align: center;
vertical-align: middle;
}

/* 汎用ページ
------------------------------------------------------------*/
.mezs-hukushi{
max-width:1100px;
margin:0 70px;
margin-bottom:120px;
}

.mezs-hukushi p{
font-size:14px;
}

h2.bggreen-kasen{
max-width:650px;
background-color: #e7f4d4;
border-bottom: 5px solid #7ca055;
padding: 5px 20px;
box-sizing: border-box;
font-size: 26px;
}

.oracircle-kasen {
position: relative;
width:100%;
max-width: 365px;
padding-left: 15px;        
padding-bottom: 0px;
margin-top:24px;
font-size: 20px;
line-height: 1.6;
border-bottom: 1px solid #f9a369; 
margin-bottom:10px;
}

/* 左のオレンジ○ */
.oracircle-kasen::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);  
width: 11px;
height: 11px;
background-color: #f9a369;
border-radius: 50%;
}

.top-btn {
position: absolute;
right: 10px;    
bottom: -30px;   
z-index: 10;
}

/* ボタン本体 */
#topp {
width: 70px;
height: 82px;
background: #2f8f2f;
color: #ffffff;
font-size: 15px;
font-weight: bold;
text-align: center;
text-decoration: none;
border-radius: 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
line-height: 1.1;
box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}

#topp:hover {
background: #256f25;
}

.hourei-wrap {
position: relative;
padding-bottom: 80px; 
}

@media screen and (max-width: 768px) {
.mezs-hukushi{
max-width:1100px;
margin:0 20px;
margin-bottom:40px;
}

.mezs-hukushi p{
font-size:12px;
}

h2.bggreen-kasen{
width:100%;
max-width: 656px;
background-color: #e7f4d4;
border-bottom: 5px solid #7ca055;
padding: 5px 20px;    
box-sizing: border-box;
font-size: 18px;  
}

.oracircle-kasen {
position: relative;
width:100%;
max-width: 365px;
padding-left: 15px;        
padding-bottom: 0px;
margin-top:24px;
font-size: 18px;
line-height: 1.6;
border-bottom: 1px solid #f9a369; 
}

/* 左のオレンジ○ */
.oracircle-kasen::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);  
width: 8px;
height: 8px;
background-color: #f9a369;
border-radius: 50%;
}

.top-btn {
position: absolute;
right: 10px;    
bottom: 0;   
z-index: 10;
}

/* ボタン本体 */
#topp {
width: 60px;
height: 70px;
background: #2f8f2f;
color: #ffffff;
font-size: 12px;
font-weight: bold;
text-align: center;
text-decoration: none;
border-radius: 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
line-height: 1.1;
box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}

#topp:hover {
background: #256f25;
}
}

/* 介護タクシー
------------------------------------------------------------*/
.taxi-thrgzwaku {
display: flex;
margin-top:5px;
margin-bottom:5px;
gap: 10px;
flex-wrap: wrap;
justify-content: flex-start; 
}

.taxi-thrgzwaku img {
width: 200px;
height: auto;
display: block;
}

.aka-taxiji{
color:#f45151;
font-weight:bold;
margin-top:24px;
}

.taxi-kaigotbl-wrap {
width: 100%;
overflow-x: visible;
}

.taxi-kaigotbl {
width: 100%;
max-width: 721px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 14px;
box-sizing: border-box;
}

.taxi-kaigotbl th,td{
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;
text-align: center;
}

@media (max-width: 768px) {
.taxi-thrgzwaku {
justify-content: center;   
align-items: center;    
}
}

@media screen and (max-width: 499px) {
.taxi-kaigotbl {
width: 100%;
max-width: 700px;
border-collapse: collapse;
border: 1px solid #e26b00;
table-layout: fixed;
font-size: 12px;
box-sizing: border-box;
}

.taxi-kaigotbl th,td{
border: 1px solid #e26b00 !important;
background: none !important;
background-color: transparent !important;
vertical-align: middle;
text-align: center;
}
	
.taxi-kaigotbl-wrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch; 
}

.taxi-kaigotbl {
min-width: 721px;
}
}

/* 職員募集ページ
------------------------------------------------------------*/
.bosyu-tit {
display: block;
margin: 0 auto;
padding-top: 80px;
max-width: 100%;
height: auto;
}

.bosyu-pg{
width:100%;
max-width:1280px;
background-color: #fffcee;
margin: 0 auto; 
}

.recruit-tab {
max-width: 500px;
margin: 0 auto;
padding: 40px 40px;
border: 2px solid #7cd84a;
border-radius: 12px;
background: #fff;
box-sizing: border-box;
margin-bottom:80px;
}

.rec-gyo {
margin-bottom: 30px;
}

.title-gre{
color: #5fcf3a;
font-weight: bold;
font-size: 24px;
padding-bottom: 10px;
margin-bottom: 20px;
border-bottom: 2px dotted #5fcf3a;
}

.conmt {
font-size: 18px;
line-height: 1.7;
color: #333;
}

.rec-tablewaku {
width:100%;
max-width:1100px;
display: flex;
gap: 20px;
align-items: flex-start;
margin:auto;
margin-top:20px;
}

.bosyu-syokbg {
position: relative; 
width: 100%;
max-width: 1280px;
margin: 0 auto;
margin-bottom:80px;
}

.bosyu-syokbg img {
display: block;
width: 100%;
height: auto;
}

.bosyu-text {
position: absolute;  
top: 5%; 
left:25%;
transform: translateX(-50%); /* Y方向の中央補正は外す */
text-align: center;
z-index: 2; 
box-sizing: border-box;
}

.oen-text{
font-size:20px;
text-align:center;
}

.bosyu-grbtn {
display: inline-block;
padding: 5px 40px;
border: 2px solid #6cc04a; 
color: #6cc04a; 
border-radius: 999px; 
margin: 10px 0;
font-size:20px;
}

.bosyu-text {
text-align: center;
}

.bosyu-flow {
text-align: center;  
font-size: 16px;
}

.bosyu-flow .or-tet {
color: #ff5a00;
}

.bosyu-flow p::after {
 content: "";
display: block;
width: 30px;             
height: 30px;          
margin: 1px auto;       
background-image: url("https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/gr-yaji.png");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}

.bosyu-flow p:last-child::after {
content: none;     
display: none;      
}

@media screen and (max-width: 1000px) {
.recruit-tab {
max-width: 500px;
margin: 0 auto;
padding: 20px 40px;
border: 2px solid #7cd84a;
border-radius: 12px;
background: #fff;
box-sizing: border-box;
}

.rec-gyo {
margin-bottom: 10px;
}

.title-gre{
color: #5fcf3a;
font-weight: bold;
font-size: 20px;
padding-bottom: 3px;
margin-bottom: 10px;
border-bottom: 2px dotted #5fcf3a;
}

.conmt {
font-size: 16px;
line-height: 1.7;
color: #333;
}
	
.rec-tablewaku {
flex-direction: column;
padding: 0 20px;  
box-sizing: border-box;
}

.recruit-tab {
max-width: 100%;
margin: 0 auto 30px; 
}

.bosyu-text {
position: absolute;  
top: 3%; 
left:25%;
transform: translateX(-50%); /* Y方向の中央補正は外す */
text-align: center;
z-index: 2; 
box-sizing: border-box;
}

.oen-text{
font-size:18px;
text-align:center;
}

.bosyu-grbtn {
display: inline-block;
padding: 3px 30px;
border: 2px solid #6cc04a; 
color: #6cc04a; 
border-radius: 999px; 
margin: 5px 0;
font-size:18px;
}

.bosyu-text {
text-align: center;
}

.bosyu-flow {
text-align: center;  
font-size: 13px;
}

.bosyu-flow .or-tet {
color: #ff5a00;
}

.bosyu-flow p::after {
 content: "";
display: block;
width: 20px;             
height: 20px;          
margin: 1px auto;       
background-image: url("https://ohisama-kaigo.com/wp-content/themes/ohisama-kaigo/images/gr-yaji.png");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}

.bosyu-flow p:last-child::after {
content: none;     
display: none;      
}
}

@media screen and (max-width: 768px) {
.title-gre{
color: #5fcf3a;
font-weight: bold;
font-size: 18px;
padding-bottom: 3px;
margin-bottom: 10px;
border-bottom: 2px dotted #5fcf3a;
}

.conmt {
font-size: 13px;
line-height: 1.7;
color: #333;
}
	
.bosyu-syokbg {
position: static; 
max-width: 100%;
margin-bottom: 40px;
}

.bosyu-syokbg img {
width: 100%;
height: auto;
margin-bottom:80px;
}

.bosyu-text {
position: static; 
top: auto;
left: auto;
transform: none;  
margin-top: 10px; 
margin-bottom:20px;
text-align: center;
}

.oen-text {
font-size: 16px;
font-weight:bold;
margin-bottom:10px;
}

.bosyu-grbtn {
font-size: 16px; 
padding: 5px 30px;
}

.bosyu-flow {
font-size: 13px;
}
}

/* 会社概要ページ
------------------------------------------------------------*/
table.gaiyo-tab {
width: 100%;
max-width:700px;
border-collapse: collapse;
border: 1px solid #e26b00;
}

table.gaiyo-tab th,
table.gaiyo-tab td {
border: 1px solid #e26b00;
padding: 12px 16px;
vertical-align: middle;
}

table.gaiyo-tab td {
text-align:left;
background-color: #fff;
}

table.gaiyo-tab th {
font-weight:bold;
background-color: #fff !important;
text-align: left;
width: 25%;
}

table.jigyos-table {
width: 100%;
max-width:700px;
border-collapse: collapse;
border: 1px solid #e26b00;
}

table.jigyos-table th,
table.gaiyo-tab td {
border: 1px solid #e26b00;
padding: 12px 16px;
vertical-align: middle;
}

table.jigyos-table td {
text-align:left;
background-color: #fff;
}

table.jigyos-table th {
font-weight:bold;
background-color: #fff !important;
text-align: left;
width: 30%;
}

/* お問合せページ
------------------------------------------------------------*/
.toiw-tt {
display: inline-block;  
font-size: 23px;
font-weight: bold;
border-bottom: 1px solid #f9a369;
padding-bottom: 4px;
margin-bottom:10px;
}

.denwa-ohsm a {
font-size:20px;
color: #e26b00;               /* 通常のオレンジ */
font-weight: bold;
text-decoration: none;
transition: color 0.3s ease;
}

.denwa-ohsm a:hover {
color: #f9a369;               /* 薄いオレンジ */
}

.denwa-ohsm a:active {
color: #f9a369;
}

.wpcf7 label {
display: block;
font-size: 16px;
color: #333;
margin-bottom: 6px;
}

@media screen and (max-width: 499px) {
.toiw-tt {
display: inline-block;  
font-size: 18px;
font-weight: bold;
border-bottom: 1px solid #f9a369;
padding-bottom: 4px;
margin-bottom:10px;
}

.denwa-ohsm a {
font-size:16px;
color: #e26b00;               /* 通常のオレンジ */
font-weight: bold;
text-decoration: none;
transition: color 0.3s ease;
}
}

/* プライバシーポリシーページ
------------------------------------------------------------*/
.pv-policy {
margin-top: 10px;
font-size: 16px;
}

.top-btn {
position: absolute;
right: 20px;
bottom: 20px;
z-index: 10;
}

#topp {
width: 70px;
height: 80px;
background: #2f8f2f;
color: #ffffff;
font-size: 13px;
font-weight: bold;
text-align: center;
text-decoration: none;
border-radius: 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
line-height: 1.2;
box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}

#topp:hover {
background: #256f25;
}

@media screen and (max-width: 640px) {
.mezs-hukushi {
width:100%;
max-width: 1200px;
margin: 0 auto; 
margin-bottom:24px;
box-sizing: border-box;
padding:20px 20px;
}
	
.top-btn {
bottom: 1px;  
}
	
#topp {
width: 45px;
height: 60px;
background: #2f8f2f;
color: #ffffff;
font-size: 10px;
font-weight: bold;
text-align: center;
text-decoration: none;
border-radius: 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
line-height: 1.2;
box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}

#topp:hover {
background: #256f25;
}
}

/* 運営規定ページ
------------------------------------------------------------*/
.kite-pdf-wrap {
display: flex;
align-items: center;
gap: 10px;
}

.kite-pdfon {
font-size:16px;
font-weight:bold;
line-height: 1.4;
}

.kite-pdf-wrap img {
width: 40px;  
height: auto;
transition: opacity 0.3s; 
}

.kite-pdf-wrap img:hover {
opacity: 0.6;      
}

.hom-moushik {
font-size: 14px;
margin-top: 20px;
text-align: left;
}

.hom-moushik a { 
display: inline-block;
padding: 5px 35px;
background-color: #7ca055; 
color: #ffffff;
font-size: 16px; 
font-weight: bold;
text-decoration: none; 
border-radius: 30px;
transition: all 0.3s ease;
} 

.hom-moushik a:hover {
background-color: #9bbf7a; 
transform: translateY(-2px); 
}

.hom-moushik a::after {
content: " ▶"; 
font-size: 14px; 
margin-left: 6px;
}

@media screen and (max-width: 499px) {
.kite-pdf-wrap {
flex-direction: column;
align-items:center;
}

.kite-pdfon {
font-size:14px;
font-weight:bold;
margin-top:10px;
}

.hom-moushik a { 
display: inline-block;
padding: 5px 15px;
background-color: #7ca055; 
color: #ffffff;
font-size: 12px; 
font-weight: bold;
text-decoration: none; 
border-radius: 30px;
transition: all 0.3s ease;
} 

.hom-moushik a:hover {
background-color: #9bbf7a; 
transform: translateY(-2px); 
}

.hom-moushik a::after {
content: "";
display: inline-block;
margin-left: 8px;
width: 0;
height: 0;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
border-left: 8px solid #ffffff;
position: relative;
top: 2px;
}
}

.koe-waku {
position: relative;
padding-top: 20px;
}

.koe-waku::before {
content: "";
display: block;
width: 100%;
height: 1px;             
background-color: #f39800; /* オレンジ線 */
margin-bottom: 20px;      
}

.koe-waku p {
margin:0 0 12px;
line-height: 1.7;
font-size: 15px;
}

.koe-waku .note {
display: block;
margin-bottom: 16px;
font-size: 14px;
color: #555;
}

.oracircle-kasenlong {
position: relative;
width:100%;
max-width: 500px;
padding-left: 15px;        
padding-bottom: 0px;
margin-top:24px;
font-size: 20px;
line-height: 1.6;
border-bottom: 1px solid #f9a369; 
margin-bottom:10px;
}

.gz-riyosya{
margin-bottom:20px;
}

.ohi-wakuowr p{
font-size:14px;
line-height: 1.8;
letter-spacing: 0.05em;
}

.frame-box {
position: relative;
}

.news-more {
position: absolute;
right: 25px;
bottom: 10px;
}

.news-more a {
font-size: 14px;
font-weight: bold;
color: #297f20;
text-decoration: none;
}

.news-more a:hover {
text-decoration: underline;
}

.kii-pag {
margin: 10px 0;             
}

.kii-pag a {
display: inline-block;      
padding: 10px 20px;          /* 内側余白 */
border: 2px solid #f4a261;   /* 枠線（色はお好みで） */
border-radius: 12px;         /* 角丸 */
color: #f4a261;              /* 文字色 */
font-weight: bold;
text-decoration: none;
background: #fff;
transition: 0.3s;
}

.kii-pag a:hover {
color: #fde6d2;
}

.tit-helper {
position: relative;
padding-bottom: 10px;
font-size:20px;
color: #7ca055;
font-weight:bold;
border-bottom: none; 
}

.tit-helper::after {
content: "";
display: block;
width: 100%;              
max-width: 365px;        
border-bottom: 3px dotted #7ca055;
margin-top: 3px;
}

.nagare-ohis {
border: 1px solid #297f20;
border-radius: 8px;
max-width: 558px;
padding:0;
margin: 10px 0;
display: flex;
align-items: center;
}

.nagare-ohis .no {
background: #297f20;
color: #fff;
font-weight: bold;
padding: 20px 15px;
margin-right: 12px;
border-radius: 6px 0 0 6px;
display: flex;
align-items: center;
}

.nagare-ohis .text {
display: block;      
line-height: 1.6;
}

.sankk-yj {
width: 100%;
max-width: 558px;  
margin: 6px 0;
text-align: center;
}

.sankk-yj::before {
content: "";
display: inline-block;
width: 0;
height: 0;
border-left: 31.5px solid transparent;
border-right: 31.5px solid transparent;
border-top: 27px solid #feecd2;  /* 色 */
line-height: 0;
}

.post-box {
width: 100%;
max-width: 1200px;
margin: 0 auto 30px;
border: 1px solid #54894d;
box-sizing: border-box;
border-radius: 18px;
padding: 24px 50px;
background-color: #fff;
}

.dateLabel {
font-size: 14px; 
margin-left:30px;
margin-bottom:20px;
}

.dateLabel + p {
font-size: 16px; 
margin-left:30px;
}

@media screen and (max-width: 499px) {
.oracircle-kasenlong {
margin-left: auto;
margin-right: auto;  
text-align: left;
 box-sizing: border-box;
}

.ohi-wakuowr p {
text-align: left;
}
	
 .dateLabel {
margin-left: 0;
text-align: left;
}

.dateLabel + p {
 margin-left: 0;
text-align: left;
}
}

.covid-row {
display: flex;
align-items: center; 
gap: 25px;    
margin:15px;
}

.hidk-covi {
font-size: 14px;
white-space: nowrap;
}

.covid-row a {
color: #0066cc;          
text-decoration: none;
}

.covid-row a:hover {
color: #66aee6;          
}

.wpcf7 p {
margin-bottom: 20px;
}

.wpcf7 select {
font-size: 16px;     
padding: 5px 10px;   
height: 35px;       
}

.madoguchi {
display: inline-block;  
border: 1px solid #000;
padding: 10px 20px;
margin: 5px 0;
box-sizing: border-box;
}

.madoguchi p {
margin: 0;
line-height: 1.6;
}

#group-1,
#group-2 {
display: none;
}

.estimate td,
.estimate th {
transition: opacity .2s;
}

.col-hide {
opacity: 0.2;
}

.currency {
text-align: right;
font-weight: bold;
}

.estimate {
table-layout: fixed;
width: 100%;
}

.estimate col.col1,col {
 width: 40px; 
}

.summary-table{
table-layout: fixed;
width: 100%;
}

.information{
table-layout: fixed;
width: 100%;
margin-top:40px;
}

.information th{
width: 40px; 
}

.underwriter{
table-layout: fixed;
width: 100%;
}

.information td.align-left {
text-align: left;
}

.information td.inner-table {
  padding: 0;            /* 親tdの余白を消す */
}

.information table.underwriter {
  border-collapse: collapse;
  border: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.information table.underwriter th,
.information table.underwriter td {
border: none;        
padding:5px;    
}

.estimate td:has(.wpcf7-radio),
.estimate th:has(.wpcf7-radio) {
opacity: 1 !important;
pointer-events: auto !important;
}

.estimate tr.option-row,
.estimate tr.option-row td,
.estimate tr.option-row th {
opacity: 1 !important;
pointer-events: auto !important;
}

.estimate th,
.summary-table th,
.information th {
 background-color: #f2f2f2 !important;
}

@media screen and (max-width: 768px) {

.information td.inner-table {
padding: 0;
overflow-x: hidden;   
}

.information table.underwriter {
width: 100%;
max-width: 100%;
table-layout: fixed;
}

.information table.underwriter tr,
.information table.underwriter th,
.information table.underwriter td {
display: block;
width: 100%;
}

.information table.underwriter input {
width: 100%;
max-width: 100%;
box-sizing: border-box;
}

.information td.align-left {
width: 100%;
}

.information td.align-left select,
.information td.align-left input[type="text"] {
display: block;
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin: 6px 0 0 0;
}
	
.information td.align-left input[type="tel"] {
width: 100%;
max-width: 100%;
box-sizing: border-box;
}
}

.news-category .post {
width: 100%;
max-width: 1200px;
margin: 0 auto;
margin-bottom: 80px;
border: 1px solid #54894d;
box-sizing: border-box;
border-radius: 18px;
padding: 24px 50px;
background-color: #fff;
}

.news-category .post > article:last-child,
.news-category .post > article:last-child header p:last-child {
margin-bottom: 0;
}

.grecaptcha-badge {
z-index: 99999 !important;
}
