@charset "UTF-8";

/* ------------------------------------------------------------------
intial set
------------------------------------------------------------------ */

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, img, 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 {
	margin:0px;
	padding:0px;
	border:0px;
	outline:0px;
	font-weight:inherit;
	font-style:inherit;
	font-size:100%;
	font-family:inherit;
}
ol, ul {list-style:none;}
li img {vertical-align: bottom;}

html{
font-size:14px;
}
body{
color:#4B4B4B;/*テキスト | チャコールグレー | #4B4B4B*/
font-family: "Noto Sans JP", メイリオ, Meiryo, sans-serif;/*本文（日本語）*/
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
-webkit-text-size-adjust: 100%;
background: #FAF9F7;/*ベース | ホワイトリネン | #FAF9F7*/
text-align: center;
font-size:1rem;
box-sizing:border-box;
letter-spacing:1px;
}

/*大見出し（日本語）*/
.content h1 span, h2.catch, .service .catch, .panel .catch, .image-concept:after, .staff .staff_ttl, .staff h2, ul.flow{
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
}
/*中見出し（日本語）*/
.ttl,h2,h3,h4,h5, .subttl{
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}
/*補助文字（サブ説明）*/
.note{
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
}
/*ロゴ・見出し（英字）*/
.panel .enttl{
font-family: "Playfair Display", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: italic;
font-size:1.6rem;
}

/*メインカラー | フォレストグリーン | #5E7B6E*/
.fgreen, .panel p.fgreen, .content i, .content .inner .icon i, ol.num li::marker, .staff h3, .review_col h2:before, .post-item h2, .feature h2::before{color:#5E7B6E;}
.bg_fgreen, .content h1 span:after, .nav-links .page-numbers{background:#5E7B6E;}
/*サブカラー | ボタニカルグリーン | #8CA68C*/
.bgreen, .content .inner i, .review_col:nth-of-type(2n) h2:before{color:#8CA68C;}
.bg_bgreen, .staff .staff_ttl:before, .staff .staff_ttl:after{background:#8CA68C;}
/*アクセント | サンドベージュ | #E6E0D4*/
.sbaige, .breadcrumb i{color:#E6E0D4;}
.bg_sbaige, .qna .submenu, div#footer, .content h1 span{background:#E6E0D4;}
/*セクション背景（交互） | #FAF9F7／#E6E0D4*/
.bg_sbaige_op, .review_col, .footer-nav-widgets-wrapper{background:rgb(230, 224, 212,0.3)}
.review_col:nth-of-type(2n){background:#FAF9F7;}
/*区切り線 | - | - | #DAD5CC*/
.footer-nav-widgets-wrapper{border:1px solid #DAD5CC;}
div#footer ul.fNav li{border-bottom:1px solid #DAD5CC;}

 .post-item{background:rgba(255,255,255,0.8);}

.orange{color:#f08300 !important;}
strong, .green , .service .lead.green{color:#4e894d;}
.caution{color:#05AFB6;}
.red{color:#E50012;}
.blue{color:#0076bd;}


a{color:#6F8E80; text-decoration:none;}/*リンク・ホバー | ミューテッドグリーン | #6F8E80*/
a:hover{opacity:0.8;}
a:active{color:#4B4B4B; text-decoration:none;}
a.off{pointer-events: none;}


/*ボタン（通常） | #5E7B6E | #FAF9F7
ボタン（ホバー） | #8CA68C | #FAF9F7*/
.btn a{
background:#5E7B6E;
color:#FAF9F7;
display:inline-block;
text-align:center;
min-width:40%;
border-radius:8px;
padding:0.6rem;
margin:10px 0;
box-sizing:border-box;
}
.btn a:hover{
background:#8CA68C;
}
.btn svg, .btn i{
margin:0 0.2rem 0 0;
}

p{
line-height:1.8;
letter-spacing:0;
margin:0 0 24px 0;
text-align:justify;
}

img{
	border: 0px;
    vertical-align: bottom;
    max-width:100%;
}
.max500{
max-width:500px !important;
}

.left{
text-align:left !important;
}
.right{
text-align:right !important;
}
.clear{	clear: both;}

.break{
word-break: break-all;
}

.center{
text-align:center;
}

.nw{
white-space:nowrap;
}
.underline{
text-decoration:underline;
}
.underline_double{
text-decoration:underline;
position: relative;  
}
.underline_double::before {
content: '';
width:100%;
height: calc(100% + 4px);
border-bottom: 1px solid #666;
position: absolute;
top: -3px;
left:0;
}

ul, ol{
margin:0 0 2rem 0;
line-height:1.8;
list-style-position: inside;
}
li{
list-style-type:none;
line-height:1.8;
letter-spacing: 2px;
text-align:justify;
}
ul.disc{
padding:0;
}
ul.disc.pl{
padding-left:10px;
}
ul.disc li{
list-style-type:disc;
margin-bottom:4px;
text-align:left;
}
ol.num{
padding:0 0 0 0.6rem;
}
ol.num li{
list-style-type:decimal;
margin-bottom:4px;
text-align:left;
}
.line{
display:inline-block;
}
.bold, strong{
font-weight:bold;
}
.small{
font-size:90% !important;
}
.large{
font-size:120% !important;
}
.narrow{
letter-spacing:0;
}
.mb0, .service p.mb0, .serviceinner p.mb0{
margin-bottom:0 !important;
}
p.mb4{
margin-bottom:4px !important;
}
.mb10, .service p.mb10, .serviceinner p.mb10{margin-bottom:10px !important;}
div.sub, p.sub, ul.sub, .flow p.sub{margin-bottom:1.4rem;}
div.mini_end, p.mini_end, ul.mini_end, .flow p.mini_end{margin-bottom:3rem;}
div.end, p.end, ul.end, .flow p.end{margin-bottom:6rem;}

.nopoint{pointer-events: none;}

svg, i{
margin-right:6px;
color:inherit;
}

.fa_icon::before, .fa_icon::after, .btnlink::before, .btnlink::after{
display: inline-block;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
}



.feature{
counter-reset: number;
margin:0 0 2rem;
}
.feature h2::before {
counter-increment: number;
content: counter(number)"." ;
margin-right:4px;
display:inline-flex;
justify-content:center;
align-items:center;
font-size:1.8rem;
}

.count{
counter-reset: count;
margin:0 0 2rem;
}
.count h4::before {
counter-increment: count;
content: counter(count) ;
margin-right:4px;
color: #00aa00;
border:1px solid #00aa00;
border-radius:50%;
display:inline-flex;
justify-content:center;
align-items:center;
width:1.4rem;
height:1.4rem;
}


.link, .ttl{
color:#5E7B6E;
font-size:1.2em;
letter-spacing:1px;
}


.btnlink{
padding:10px;
background:#F9B500;
border-radius:8px;
color:#fff;
display:block;
width:400px;
text-align:center;
}
.btnlink svg, .btnlink i{
color:#fff;
}


.main-header h1{
font-size:1.8rem;
}
.main-header h1 span{
display:block;
font-size:0.8rem;
color:rgba(0,0,0,0.3);
}

.content h1{
font-size:1.6rem;
display:flex;
}
.content h1 span{
padding:0 1rem;
display:flex;
align-items:center;
height:100%;
text-shadow:none;
color:#333;
position:relative;
min-width:140px;
line-height:1.2;
}
.content h1 span:after{
content:"";
display:block;
width:110%;
height:4px;
left:0;
top:calc( 50% + 30px);
position:absolute;
}

h2{
text-align:left;
font-size:1.4rem;
margin:0 0 1rem;
padding:0 0 0.4rem;
line-height:1.6;
}



#content-top h2{
	color:#4c4c4c;
}

h3{
	font-size:1.3rem;
	margin:0 0 1.6rem 0;
}


h4{
	font-size:1.1rem;
	margin:0 0 14px 0;
	text-align:left;
	border-bottom:1px dashed #bebebe;
}
h4.nb{
border-bottom:none;
}


h5{
	font-size:1rem;
	margin:0 0 14px 0;
	text-align:left;
}

#footer .telink, main .telink, .resv, .mail{
font-size:1.2rem;
}
main .telink{
	color:#a885ba;
	text-decoration: underline;
}


ruby rt{
font-weight:bold;
}


/* ------------------------------------------------------------------
header
------------------------------------------------------------------ */

div#header{
width:100%;
box-sizing:border-box;
margin:0 auto;
border-bottom:1px solid #eee;
background:#FAF9F7;
}
.home div#header{
 box-shadow:none;
}

div#header .block{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
	padding:1rem 2rem;
	overflow:hidden;
	box-sizing:border-box;
	width:100%;
	text-align:left;
}
div#header .block div{
display:inline-block;
vertical-align:top;
}

div#header .logoarea{
	text-align:left;
	width:20%;
max-width:200px;
	display:block;
}
div#header .logoarea .logo{
width:100%;
display:block;
margin:0;
}
div#header .logoarea .logo a{
	width:100%;
	box-sizing:border-box;
	margin:0 0 0;
	display:block;
}
div#header .logoarea .logo a:hover{
opacity:1;
}
div#header .logoarea .info{
width:100%;
text-align:right;
margin:0.4rem 0 0;
}

div#header .block .info p{
padding:0.2rem;
vertical-align:top;
display:inline-block;
margin:0;
box-sizing:border-box;
width:100%;
font-size:1rem;
white-space:nowrap;
}
div#header .block .info p a{
display:block;
border-radius:4px;
padding:10px;
text-align:center;
line-height:1.4;
}
div#header .block .info p a .sp{
display:none;
}
div#header .block .info p a svg, div#header .block .info p a i{
color:inherit;
}
div#header .block .info p.tel{
display:none;
}
.tel a{
background:#8CA68C;
color:#FAF9F7;
}

.resv a{
background:#5E7B6E;
color:#FAF9F7;
/*pointer-events: none;*/
}
.resv.ss a{
background:#269b3b;
}

.resv a i{
margin-left:6px;
}
.resv.mail a{
background:#4c8356;
}


nav.g-wrapper{
width:74%;
display:inline-block;
}
ul#gNav {
	box-sizing:border-box;
	margin:0 auto;
	text-align:right ;
width:100%;
position:relative;
}


ul#gNav li {
	display:inline-block;
	text-align:center;
	box-sizing:border-box;
	margin:0 0 0;
	vertical-align:top;
	position:relative;
	line-height:1.2;
	margin:0;
}

ul#gNav li a{
padding:4px;
letter-spacing:1px;
font-size:1rem;
padding:14px 8px;
display:block;
text-align:center;
}
ul#gNav li:nth-child(7) a{
margin:0 6px 0 430px;
}

ul#gNav li.sub a{
padding:10px 10px;
background:#b6e8b1;
box-sizing:border-box;
border-radius:4px;
border:1px solid #5E7B6E;
}




#navToggle {
    display:none;
    }



.notfound{
padding:4rem 1rem;
}
.notfound p{
text-align:center;
}




/* ------------------------------------------------------------------
content
------------------------------------------------------------------ */

div#wrapper{
	width:100%;
	margin:0 auto;
	background-size:contain;
}

#content-top,.content{
overflow:hidden;
margin:0 auto;
}

.content{
padding:1rem 1rem 4rem;
max-width:1400px;
}
.content .main{
width:80%;
margin:0 auto;
}



.inner{
background:rgba(255,255,255,0.8);
padding:1rem;
margin:0 0 2rem;
border-radius:8px;
text-align:justify;
}
.inner.border{
border:1px solid #5E7B6E;
}
.inner p:last-child{
margin:0;
}

.breadcrumb{
text-align:right;
padding:0.4rem;
font-size:0.9rem;
}
.breadcrumb li{
display:inline-block;
margin: 0 0.2rem 0 0;
}

.main-header{
padding:3rem 0;
background: url("../img/common/content-bg-tp.jpg") 0 0;
background-size:cover;
}

.lead{
margin:0 0 40px;
}
.lead p{
margin: 0 0 14px 0;
}



span.add{
margin-right:10px;
}

.cal{
margin-bottom:20px;
text-align:center;
}


.col{
	display:inline-block;
	width:46%;
	margin:0 1% 20px;
	overflow: hidden;
	text-align:left;
	vertical-align:top;
	box-sizing:border-box;
}


.car i{
margin-right:4px;
}

.nav{
margin:2rem 0 2rem;
}
.nav ul{
text-align:center;
}
.nav ul li{
display:inline-block;
vertical-align:top;
border:2px solid #05afb6;
background:#fff;
border-radius:6px;
margin:1%;
position:relative;
}
.nav ul li a{
font-size:1rem;
color:#05afb6;
box-sizing:border-box;
display:table-cell;
vertical-align:middle;
padding:1rem 0 1rem;
letter-spacing:0;
}
.nav ul li a span{
padding:0.6rem 1rem;
}
.nav ul li a svg, .nav ul li a i{
margin:0 0 0 0.6rem;
}

.overlay{
display:none;
    background:rgba(0,0,0,0.6);
    height: 100%;
    width: 100%;
    z-index:999;
    position:fixed;
    top:0;
}
ul#gNav li.side{
display:none;
}
.openNav .overlay, .openNav .side{
display:block;
}

/* ------------------------------------------------------------------
modal
------------------------------------------------------------------ */

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 2rem 1rem;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
z-index:100;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -2rem;
	right: -1rem;
	width: 2rem;
	height: 2rem;
	font-size: 2rem;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 1rem;
}
/* ------------------------------------------------------------------
footer
------------------------------------------------------------------ */


div#footer{
	clear:both;
	padding:40px 16px 30px;
	margin: 0 auto;
	position:relative;
	overflow:hidden;
}


div#footer ul.fNav {
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items:stretch;
overflow:hidden;
margin:0 auto 20px;
letter-spacing:1px;
line-height: 1.6;
max-width:1200px;
}
div#footer ul.fNavinfo{
max-width:1200px;
margin:0 auto;
} 

div#footer ul.fNav li {
	display:inline-block;
	vertical-align:top;
	margin: 0 10px 6px 0 ;
list-style-type: none;
    }
div#footer ul.fNav li a{
	display:block;
}
.panel ul.infolink{
margin:0 0 1rem;
}
.infolink li, div#footer ul.fNavinfo li{
	vertical-align:top;
	text-align:center;
	width:40%;
	display:inline-block;
	margin: 0 10px 10px;
list-style-type: none;
    }
.infolink li{
width:100%;
margin:10px auto 0;
}
.infolink li a, div#footer ul.fNavinfo li a{
display:block;
padding:1rem;
color:#FAF9F7;
border-radius:4px;
background:#5E7B6E;
}
div#footer ul.fNavinfo li.mail a{
background:#8CA68C;
}
.infolink li a svg, div#footer ul.fNavinfo li a svg, .infolink li a i, div#footer ul.fNavinfo li a i{
	color:#fff;
}


div#footer p.copy{
	clear: both;
	text-align: center;
}

div#footer div#fInfo{
	clear: both;
	text-align:center;
	margin:0 0 30px;
}
div#footer div#fInfo img{
border-radius:6px;
}



div#footer div#fInfo p, div#footer div#fInfo a{
	display:inline-block;
	vertical-align:middle;
	text-align:center;
	width:100%;
	letter-spacing: 1px;
	margin:10px 0;
}
div#footer div#fInfo p + p{
margin:0;
line-height:1.6
}

div#footer div#fInfo p.mail{
margin:0;
}
div#footer div#fInfo .flogo{
font-size:1.4em;
}
div#footer div#fInfo .flogo img{
width:80%;
max-width:300px;
}

#info{
background: url("../img/common/gplaypattern.png")  0 0 transparent;
font-size:0.9rem;
padding:2rem 0;
}

#info h2{
border-bottom:1px dashed #a985ba;
}
#info h3 svg, #info h3 i{
color:#666;
}

#info .map img{
border-radius:8px;
}

#info .caledar{
background:rgba(255,255,255,0.7);
margin:0 0 20px;
border-radius: 6px;
overflow: hidden;
	}
#info .caledar p{
margin:0;
}
#info .caledar p:last-child{
margin:0 0 0.8rem;
padding:0 0.8rem;
}
#info .contact{
background:#fff;
border:1px solid #bebebe;
margin:0 0 20px;
padding: 0.6rem;
border-radius: 6px;
}
#info .contact p{
padding:0;
margin:0;
}
#info .contact p +p{
margin:0;
}
#info .contact p a{
display:block;
border-radius: 6px;
padding:6px;
color:#fff;
}

#info .qr{
background:#fff;
text-align: center;
border:1px solid #a985ba;
margin:0 0 20px;
border-radius: 6px;
padding:1rem;
box-sizing:border-box;
}
#info .qr p,#info .qr ul{
margin:0;
display: inline-block;
width: 48%;
box-sizing: border-box;
vertical-align: middle;
}
#info .qr ul{
text-align:center;
}
#info .qr ul li{
text-align:center;
display:inline-block;
vertical-align:top;
width:100%;
}


#info iframe{
width:100%;
min-height:300px;
border-radius:6px;
}

#info #map{
	border:1px solid #a985ba;
	border-radius:6px;
	height:440px;
	margin: 0 0 20px 0;
}



#info .accessInfo{
padding:0.6rem;
box-sizing:border-box;
background:rgba(255,255,255,0.7);
}
#info .accessInfo p{
margin:0 0 10px;
text-align:left;
}
#info .accessInfo p svg, #info .accessInfo p i{
color:#a985ba;
}


p.backtotop a{
    bottom: 2%;
    right: 2%;
    overflow: hidden;
    position: fixed;
    margin:0;
    text-align:right;
    opacity:0.7;
    font-size:1rem;
}
p.backtotop a:hover{
    opacity:1;
}
p.backtotop a svg, p.backtotop a i{
margin:0;
}

.fresv div{
display:inline-block;
text-align:center;
margin:0 0 10px;
padding:0;
background:#fff;
border-radius:6px;
box-shadow:0 1px 2px 0 #bebebe;
box-sizing:border-box;
vertical-align:top;
width:100%;
}

.fresv div p{
margin:0 0 4px 0;
padding:6px 10px;
line-height:1.4;
}
.fresv div p.type{
background:#00A63C;
white-space:nowrap;
color:#fff;
border-radius:6px 6px 0 0;
}

.fresv p:not(.tel) i{
color:#fff;
}

.fresv p.tel{
text-align:right;
margin:0 0 6px 0;
font-size:26px;
}

.fresv div .btn{
border-radius:6px;
background:#FDF1D6;
border:1px solid #fce6b8;
margin:10px;
}
.fresv div .btn a{
display:block;
padding:8px 10px;
}



/* ------------------------------------------------------------------
home
 ------------------------------------------------------------------ */

.notice{
opacity: 0.8;
font-size:1.4rem;
text-align:center;
margin:0;
padding:1rem;
display:block;
color:#fff;
background:rgba(234,145,146,0.7);
}


.panel-col{
padding:0.5rem 1rem;
display:block;
column-count:3;
column-gap: 0;
}

.panel-col .outer{
padding:0.5rem;
display: inline-block;
width: 100%;
box-sizing: border-box;
}

/*カード背景 | #FFFFFF | #4B4B4B | #E6E0D4*/
.panel{
background:#FFFFFF;
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid;
border-radius:1rem;
border:1px solid #E6E0D4;
padding:1rem;
margin:0;
/*overflow:hidden;*/
display: inline-block;
width: 100%;
box-sizing: border-box;
position:relative;
}
a.panel:hover{
box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.1);
}
a.panel:hover:after, .therapy_panel a:hover:after{
bottom:0;
left:0;
font-family: "Font Awesome 6 Pro";
font-weight:900;
font-size:20px;
content: "\f054";
color:#5E7B6E;
position:absolute;
padding:1rem;
box-sizing:border-box;
width:100%;
height:100%;
display:flex;
align-items:center;
justify-content:flex-end;
}

.panel p, .panel ul{
margin:0;
color:#4B4B4B;
}
.panel.center p{
width:100%;
text-align:center;
text-shadow: 2px 2px 2px rgba(255,255,255,0.9);
}
.panel p.sub{
margin:0 0 1rem;
}
.panel p.resvtxt{
color: #006b00;
font-weight: bold;
}
.panel p.small.resvtxt{
letter-spacing:0;
}

.panel .ttl{
font-size: 1.2em;
margin:0 0 2px;
}
.panel .ttl.bdr{
margin:0 0 0.4rem;
color:#679354;
}
.panel .ttl svg, .panel .ttl i{
color:#5E7B6E;
}
.panel .ttl.bdr{
position:relative;
border-bottom: solid 1px #DAD5CC;
letter-spacing:0;
text-align: left;
}
.panel .ttl.bdr:after{
content: "";
display: block;
line-height: 0;
overflow: hidden;
position: absolute;
left: 0;
bottom: -1px;
width: 46%;
border-bottom: 1px solid #8CA68C;
}


.panel .subttl{
color:#00aa00;
margin:0 0 0.8rem;
line-height:1.6;
font-size: 1.1rem;
}
.panel .enttl{
color:#E6E0D4;
margin:0 0 1rem;
line-height:1;
}
.panel .enttl.arial{
font-family: Arial,serif;
}

.panel .catch{
font-weight: bold;
background:#5E7B6E;
opacity:0.9;
color:#fff;
padding:0.4rem;
margin:0 0 0.8rem;
}

.panel .resv a, .fee .resv a, .ss .resv a, .panel .resv.modal-open, .modal-content .resv a{
display:block;
padding:1rem;
color:#fff;
border-radius:10px;
text-shadow: none;
margin:0 0 0.4rem;
}
.panel .resv a, , .panel .resv.modal-open, .modal-content .resv a{
display:flex;
justify-content:space-between;
align-items:center;
}
.panel .resv a svg, .panel .resv a i, .fee .resv a i, .ss .resv a i, .modal-content .resv a i{
color:#fff;
}
.modal-content .resv{
margin:0;
}

.panel .resv.modal-open{
width:auto;
background:#5E7B6E;
cursor:pointer;
}
.panel .resv.modal-open i{
color:#fff;
}

.panel.logov img{
margin:0 auto;
width:80%;
}

.panel .image{
border-radius:1rem;
overflow:hidden;
margin:0 0 0.8rem;
max-height:160px;
display: flex;
justify-content: center;
align-items: center;
}

.bk01{
background: url("../img/top/top_concept.jpg")  50% 0 transparent;
background-size:cover;
color:#333;
padding:1rem 1rem 2rem;
}
.panel.bk01 .enttl{
color:#fff;
}
.bk02{
background: url("../img/top/bk02.jpg")  0 0 transparent;
background-size:cover;
}
.bk02 .inner{
background:rgba(255,255,255,0.9);
padding:0.8rem;
margin:0;
}
/*
.bk02:hover{
opacity:1;
}
.bk02:hover .inner{
background:rgba(255,255,255,0.8);
}*/

.image01{
padding:0;
height: 200px;
background: url("../img/top/top_heart.jpg") 50% 50% transparent;
background-size:cover;
display: -webkit-flex;
display: flex;
flex-direction:column;
justify-content:center;
align-content:center;
color:#444;
}
.panel.center.image01 p{
padding:1rem;
box-sizing:border-box;
}
.panel.center.image01 p.topicon{
opacity:0.8;
width:90%;
margin:0 auto;
}


.image02{
padding:0 1rem;
background: url("../img/top/top_greeting.jpg?2511")  50% 30% transparent;
border-radius:4px;
background-size:cover;
height:150px;
margin:0 0 1rem;
display: -webkit-flex;
display: flex;
align-items:center;
align-content:center;
}
.image02.top_greeting{
justify-content:center;
}
.image02.top_greeting span{
color:#333;
text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
display:block;
padding:0 0.8rem;
}
.image02.top_story{
background: url("../img/top/top_story.jpg")  50% 40% transparent;
justify-content:center;
padding:2rem 0;
margin:0;
}
.image02.top_story span{
color:#5E7B6E;
text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
display:block;
padding:0 0.8rem;
}

.image03{
padding:0;
background: url("../img/top/top_clinic.jpg")  50% 50% transparent;
background-size:cover;
height:200px;
display: -webkit-flex;
display: flex;
flex-direction:column;
align-items:center;
justify-content:center;
color:#333;
}
.image03 .enttl{
font-size:3rem;
color:#666;
}
.image03 p.ttl{
color:#8CA68C;
}
.image03 .inner{
background:none;
margin:0;
height: 100%;
width:100%;
display: flex;
flex-direction: column;
justify-content: center
}

.image03.doc{
background: url("../img/top/doctor.jpg")  50% 50% transparent;
height:140px;
}

.image03.feature{
background: url("../img/top/top_feature.jpg") 50% 100% transparent;
background-size:cover;
}

.image03.aboutcounseling{
background: url("../img/top/top_olcounseling.jpg") 100% 100% transparent;
background-size:cover;
justify-content:flex-end;
}
.image03.aboutcounseling div{
background:rgba(255,255,255,0.7);
margin:0;
border-radius: 0 0 1rem 1rem;
width:100%;
padding:0.2rem 0;
}
.image03.aboutcounseling .enttl{
margin:0;
}
.image03.aboutcounseling p.ttl, .image03.aboutcounseling .enttl{
color:#5E7B6E;
text-shadow:none;
}
.image03.feature .enttl, .image03.aboutcounseling .enttl{
opacity:0.5;
}

.stepsicon{
display:flex;
justify-content:center;
margin:1rem auto;
}

.image03.nutrition{
background: url("../img/top/nutrition.jpg")  50% 50% transparent;
background-size:cover;
}
.image03.nutrition .inner{
width:100%;
}
.image03.nutrition p.ttl{
font-size:1.4rem;
color:#a27a38;
font-weight:bold;
}

.image03.qa{
background: url("../img/top/qna.jpg")  50% 80% #fff no-repeat;
background-size:cover;
justify-content:center;
}
.image03.qa{
justify-content:flex-start;
}
.image03.qa p.ttl{
color: #fff;
text-shadow:none;
padding:1rem 0;
}

.image03.review{
background: url("../img/top/top-review.jpg")  50% 50% #fff no-repeat;
background-size:cover;
justify-content:center;
}

.image04{
padding:0;
background: url("../img/top/top_fee.jpg")  50% 50% transparent;
background-size:cover;
height:200px;
display: -webkit-flex;
display: flex;
flex-direction:column;
align-items:center;
justify-content:flex-end;
}
.image04 p.ttl{
background:rgba(255,255,255,0.9);
border-radius:0 0 calc(1rem - 1px) calc(1rem - 1px);
box-sizing:border-box;
padding:4px 0;
margin:0;
}

.panel p.cliniclogo{
width:70%;
margin:0 auto;
border-radius:4px;
border:1px solid #F6C34B;
padding:6px;
}
.panel p.address{
margin:0.6rem 0 0;
padding:0.6rem 0;
line-height:1.6;
border-radius:4px;
color:#00aa00;
background:#fafafa;
border:1px solid #ddd;
border-radius:0.4rem;
padding:0.4rem;
}

.panel .btntxt{
font-size:0.9rem;
font-weight:normal;
display:inline-block;
background:#5E7B6E;
color:#fff;
padding:0.2rem 0 0.2rem 0.4rem;
margin:0 0.2rem 0 0;
border-radius:4px;
}
.panel .btntxt svg, .panel .btntxt i{
color:#fff;
}
.panel.notes{
background-size: auto auto;
background-color: rgba(230, 224, 212, 1);
background-image: repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(245, 236, 217, 1) 4px, rgba(245, 236, 217, 1) 8px );
}
.panel.notes p.bold{
color:#ea635b;
font-weight:600;
}
.panel.notes p.enttl{
color:#8CA68C;
}
.notes p{
letter-spacing:0;
}

.panel p.payment{
display:flex;
margin:0 auto;
justify-content:center;
}
.payment i{
padding:0 10px;
}

.panel.linkinner:hover{
/*opacity:0.8;*/
}

.panel.linkinner .inner{
margin:0;
padding:0;
}

ul.flow{
display:flex;
flex-wrap:wrap;
justify-content:center;
width:90%;
margin:0 auto;
max-width:600px;
}
ul.flow li{
display:flex;
justify-content:center;
align-items:center;
color:#8CA68C;
background:#E6E0D4;
border:1px solid #DAD5CC;
width:100%;
letter-spacing:0;
padding:10px;
margin:0 0 20px;
box-sizing:border-box;
border-radius:20px;
text-align:center;
line-height:1.4;
position:relative;
}
ul.flow li:nth-of-type(4){
margin:0;
}
ul.flow li:after{
position:absolute;
bottom:-24px;
font-family: "Font Awesome 6 Pro";
font-weight:900;
font-size:20px;
content: "\f107";
color:#E6E0D4;
}
ul.flow li:last-of-type:after{
content:none;
}
.panel ul.servicenav, .service ul.servicenav, .therapy ul.servicenav, .trauma ul.servicenav{
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
margin:1rem 0 0;
}
.servicenav li{
width:calc(50% - 8px);
border:1px solid #ccc;
box-sizing:border-box;
margin:4px;
text-align:center;
border-radius:0.2rem;
overflow:hidden;
}
.servicenav li.narrow{
font-size:90%;
}
.servicenav li a{
display:flex;
box-sizing:border-box;
flex-wrap:wrap;
justify-content:center;
align-items:center;
height:100%;
border-radius:0.2rem;
padding:0.6rem;
color:#5E7B6E;
line-height:1.6;
letter-spacing:0;
background: -moz-linear-gradient(top, #ffffff, #f0f0f0);
background: -webkit-gradient(linear, center top, center bottom, from(#ffffff), to(#f0f0f0));
}


.service ul.servicenav li a{
padding:1rem;
}

.servicenav li a:hover{
color:#fff;
background: -moz-linear-gradient(top, #f8b501, ##B6E8B1);
background: -webkit-gradient(linear, center top, center bottom, from(#f8b501), to(#f4a203));
background:#5E7B6E;
opacity:1;
}

.servicenav li span{
letter-spacing:0;
font-size:80%;
}
.servicenav li span.line{
font-size:inherit;
}

.panel p.staff_btn{
margin:10px 0 0;
}
.panel p.staff_btn a{
display:flex;
align-items:center;
justify-content:space-between;
border:1px solid #bebebe;
border-radius:10px;
padding:10px;
}
.panel p.staff_btn a:hover{
background:#5E7B6E;
color:#fff;
}
.panel p.staff_btn a:hover i{
color:#fff;
}

.panel.access ul{
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items: stretch;
}
.panel.access ul li{
margin:0 4px 10px;
width:calc(50% - 8px);
}
.panel.access ul li a{
display:flex;
flex-direction:column;
align-items:center;
border:1px solid #bebebe;
border-radius:10px;
padding:10px;
text-align:center;
}
.panel.access ul li a p{
letter-spacing:0;
line-height:1.4;
text-align:center;
margin:4px 0;
}
.panel.access ul li a p span{
display:block;
margin:0 0 6px;
color:#6F8E80;
}

.panel.access ul li a:hover{
background:#5E7B6E;
color:#fff;
}
.panel.access ul li a:hover *{
color:#fff !important;
}

.clinic .btn a, .staff .btn a{
background:#E6E0D4;
padding:1rem;
border-radius:6px;
text-align:center;
color:#6F8E80;
margin:0.4rem 0 0;
display:block;
}
.staff .btn{
text-align:center;
}
.staff p.btn a{
margin:1.4rem auto 0;
width:480px;
box-sizing:border-box;
}

.access iframe{
height:400px;
}

ul.news{
margin:0 0 1rem;
}
ul.news li span{
display:block;
color:#8CA68C;
}
ul.news li{
border-bottom:1px dashed #bebebe;
padding: 0.4rem 0;
}

h2.newsttl{
background:#0076bd;
color:#fff;
margin:0;
padding:10px 0;
}
h2.newsttl svg, h2.newsttl i{
color: #fff;
}

#news {
text-align:center;
border-bottom:1px solid #4c4c4c;
}
#news h3{
font-size:1.1rem;
text-align:left;
margin:0 0 0.6rem;
color:#a985ba;
}
#news .inner{
margin:0 auto;
}
#news .inner + .inner{
margin:4rem auto 0;
}

#news .linkbtn{
background:#f0f0f0;
display:inline-block;
padding:0.4rem 1rem;
border-radius:0.2rem;
margin: 0 0 0.4rem;
}

#news p{
text-align:left;
letter-spacing: 1px;
padding:0 0 0.4rem;
margin:0 0 1rem;
border-bottom:1px dashed #a985ba;
}
#news p.btn{
border-bottom:none;
margin:1rem 0 4rem;
text-align:center;
}

#news p.calnote, p.calnote{
border:none;
text-align:center;
color: #05afb6;
}

#news p span.new:before{
display:inline-block;
width:60px;
margin-right:4px;
text-align:center;
box-sizing:border-box;
background:#257CBE;
color:#fff;
border-radius:6px;
padding:2px 4px;
content:"NEW";
}

/* ------------------------------------------------------------------
content
 ------------------------------------------------------------------ */

h1.image{
height:220px;
padding:0;
background-position:50% 50%;
}
h1.image-concept{
background: url("../img/top/concept.jpg")  50% 40% transparent;
background-size:cover;
position:relative;
}
h1.image-concept:after{
content:"こころをより豊かに";
position:absolute;
width:100%;
bottom:6px;
color:#9d5819;
text-shadow: 2px 2px 2px rgba(255,255,255,0.8);
background:rgba(255,255,255,0.8);
font-size:90%;
background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.1) 50%);
}
h1.image-feature{
background: url("../img/top/feature.jpg")  50% 100% transparent;
background-size:cover;
}
h1.image-greeting{
background: url("../img/top/greeting.jpg?2511") 0% 50% transparent;
background-size:cover;
}
h1.image-story{
background: url("../img/top/story.jpg")  0% 50% transparent;
background-size:cover;
}
h1.image-about_counseling{
background: url("../img/top/counseling.jpg")  50% 60% transparent;
background-size:cover;
}
h1.image-steps{
background: url("../img/top/office.jpg")  50% 50% transparent;
background-size:cover;
}
h1.image-fee{
background: url("../img/top/fee.jpg") 50% 50% transparent;
background-size:cover;
}
h1.image-notes{
background: url("../img/top/office.jpg")  50% 50% transparent;
background-size:cover;
}
h1.image-staff{
background: url("../img/top/office.jpg") 0 50% transparent;
background-size:cover;
}
h1.image-therapy{
background: url("../img/top/therapy.jpg") 50% 60% transparent;
background-size:cover;
}
h1.image-trauma{
background: url("../img/top/trauma.jpg") 50% 60% transparent;
background-size:cover;
}
h1.image-ss{
background: url("../img/top/ss.jpg") 50% 40% transparent;
background-size:cover;
}
h1.image-service{
background: url("../img/top/cousulting_menu.jpg") 50% 60% transparent;
background-size:cover;
}
h1.image-qna{
background: url("../img/top/qna-pc.jpg") 50% 50% transparent;
background-size:cover;
}
h1.image-cooperation, h1.image-clinic{
background: url("../img/top/access.jpg") 50% 50% transparent;
background-size:cover;
}
h1.image-review{
background: url("../img/top/review.jpg")  50% 56% transparent;
background-size:cover;
}
h1.image-news{
background: url("../img/top/office.jpg")  50% 56% transparent;
background-size:cover;
}

.main p.sig{
text-align:right;
}
.main p.sig .name{
font-weight:bold;
font-size:1.2rem;
color:#444;
}

.concept p.topimg{
max-width:500px;
margin:0 auto;
}
.concept h2.c01{
border-bottom: 1px solid #5E7B6E;
}
.concept h2.c02{
border-bottom: 1px solid #5E7B6E;
}
.concept h2.c03{
border-bottom: 1px solid #5E7B6E;
}

.about .inner{
background:rgba(255,255,255,0.8);
text-align:left;
padding:1rem;
}
.about .inner h3{
margin:0 0 0.6rem;
}

.main p, .main ul, .main ol{
font-size:15px;
}

.feature h2, .therapy h2, .qna h2{
border-bottom:none;
margin:0 0 6px;
}
 .qna h2{
text-align:center;
}
.qna .submenu{
display:flex;
flex-wrap:wrap;
justify-content:center;
}
.qna .submenu li{
padding:1rem;
box-sizing:border-box;
text-align:left;
line-height:1.2;
}
.qna .submenu li a{
display:flex;
align-items:center;
justify-content:space-around;
}
.qna .submenu li a i{
margin:0 0 0 6px;
}

.wave{
padding:0 0 4px;
background: url("../img/common/wave.png") 0 100% repeat-x;
background-size:20px;
}
.wave_red{
padding:0 0 4px;
background: url("../img/common/wave_red.png") 0 100% repeat-x;
background-size:20px;
}
.wave_green{
padding:0 0 4px;
background: url("../img/common/wave_green.png") 0 100% repeat-x;
background-size:20px;
}

.inner.qacol{
background:rgba(255,255,255,0.7);
padding:1rem;
}
.inner.qacol .qa{
margin:0 0 1.4rem;
}
.inner.qacol .q{
font-size:110%;
margin:0 0 1rem;
}
.inner.qacol .q span.num{
background:#8CA68C;
color:#fff;
border-radius:0.4rem;
margin-right:0.4rem;
padding:0.4rem; 
}
.serviceinner.qacol .a strong{
color:#333;
} 
.inner.qacol .qa:last-of-type{
margin:0;
}

.serviceinner.end{
margin:0 0 2rem;
}

.circle {
display:inline-block;
background:#5E7B6E;
margin-right:4px;
 height:30px;
 width:30px;
 border-radius:50%;
 line-height:30px;
 text-align:center;
 color:#fff;
}
.circle.mini, .mapillust .circle, .route .circle{
height:20px;
width:20px;
line-height:20px;
letter-spacing:0;
font-size:0.8rem
}
.circle.black {
background:rgba(0,0,0,0);
border:1px solid #999;
color:#555;
}
li .circle.mini{
height:16px;
width:16px;
line-height:16px;
}

.steps .inner ul{
display:flex;
flex-wrap:wrap;
justify-content:center;
}
.steps .inner ul li{
display:flex;
align-items:center;
padding:10px 0;
width:calc(100% / 3);
}
.steps .inner ul li + li:before{
font-family: "Font Awesome 6 Pro";
font-weight: 900;
font-size:30px;
content: "\f061";
color:#222;
}
.steps .inner ul li div{
height:100%;
display:flex;
padding:10px;
flex-direction:column;
align-items:center;
}
.steps .inner ul li p{
margin:4px 0;
text-align:left;
}
.steps .inner ul li p.icon{
height:120px;
display:flex;
justify-content:center;
align-items:center;
}

.steps .btntxt{
font-size:0.9rem;
font-weight:normal;
display:inline-block;
background:#5E7B6E;
color:#fff;
padding:0.2rem 0 0.2rem 0.4rem;
margin:0 0.2rem 0 0;
border-radius:4px;
}
.steps .btntxt:hover{
cursor: pointer;
}
.steps .btntxt i{
color:#fff;
}



.staff .inner{
display:flex;
flex-direction:column;
}
.staff .staff_ttl{
font-size: 1.4rem;
display: inline-block;
position: relative;
padding: 0 80px;
margin:0 0 1rem;
}
.staff .staff_ttl:before, .staff .staff_ttl:after {
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 50px;
height: 1px;
}
.staff .staff_ttl:before {
  left:0;
}
.staff .staff_ttl:after {
  right: 0;
}
.staff h2{
border:none;
margin:0;
padding:0;
}
.staff h3{
margin:0 0 10px;
}
.staff .staffphoto{
display:block;
max-width:400px;
margin:0;
text-align:center;
width:24%;
padding:10px;
box-sizing:border-box;
}
.staff .staffphoto img{
border:1px solid #bebebe;
margin:0 0 10px;
}
.staff .stafftxt{
padding:10px;
box-sizing:border-box;
}
.staff .stafftxt ul, .staff .stafftxt p{
margin:0 0 10px;
}

.greeting .rep{
display:flex;
flex-direction:column;
align-items:flex-end;
margin:0 0 2rem;
}
.greeting .rep img{
width:30%;
margin:0 0 1rem;
}
.greeting .rep .sig .line:nth-of-type(2){
margin-left:0.4rem;
}

.service h3, .therapy h3{
text-align:left;
}

.review_col{
margin:0 0 1rem;
padding:0.6rem;
}
.review_col:last-child{
margin:0;
}
.review_col h2{
border-bottom:1px solid #ccc;
}
.review_col h2:before{
font-family: "Font Awesome 6 Pro";
font-weight: 400;
content: "\f007";
margin-right:4px;
}
.review_col h2 span{
margin-left:6px;
}

.fee .inner{
margin:0 0 1rem;
}
.fee .course .price{display:block;}
.fee .course .price h3{
text-align:center;
background:#4abaa7;
color:#fff;
padding:0.6rem;
margin:0;
font-size:1.8rem;
}
.fee .course .price p{
text-align:center;
background:#e0f7f4;
padding:0.6rem;
color:#5E7B6E;
font-size:1.8rem;
line-height:1.6;
}
.fee .course .price p span{
font-size:70%;
}
.fee .resv, .ss .inner p.resv{
margin:0 auto;
display:block;
max-width:600px;
}
.fee .payment_method{
padding:10px;
border:2px solid #bebebe;
margin:2rem 0 2rem;
}
.fee .payment_method .pic{
max-width:500px;
margin:0 auto;
}

/* ------------------------------------------------------------------
therapy
 ------------------------------------------------------------------ */

.therapy h3{
font-weight:bold;
}

.flex_therapy{
display:flex;
justify-content:center;
margin:0 0 24px;
}
.flex_therapy.fstart{
justify-content:flex-start;
}

/* ------------------------------------------------------------------
trauma
 ------------------------------------------------------------------ */


.panel.trauma .ttl{
border-bottom:none;
}

.panel.trauma .servicenav li a:hover, .trauma .servicenav li a:hover{
background:#8CA68C;
color:#FAF9F7;
}

/*.content h1.image-trauma span:after{
background: #4e72be;
}
.content h1.image-trauma span{
background:rgb(211 240 251 / 80%)
}*/


.trauma h3.border{
padding-bottom:4px;
border-bottom:1px solid #DAD5CC;
}

.trauma .symp{
display:inline-block;
background:#4e72be;
border-radius:2px;
color:#fff;
padding:4px 6px;
margin-right:4px;
}

.trauma h4{
border-bottom:none;
}

.trauma .flex_img{
display:flex;
flex-wrap:wrap;
align-items:center;
}
.trauma .flex_img p{
width:50%;
}


/* ------------------------------------------------------------------
news / wp
 ------------------------------------------------------------------ */

.column-two.grid-item{
display:none;
}

.content .main.news{
display:flex;
flex-wrap:wrap;
align-items: flex-start;
justify-content:space-between;
}

.post-item h2{
margin:0 0 0.2rem;
border:none;
font-size: 1.6rem;
padding:0;
}

.post-item, .footer-nav-widgets-wrapper{
text-align:left;
padding:1rem;
margin:0 0 1rem;
border-radius:4px;
}

.post-item p{
margin: 0 0 1rem;
}
.post-item p:last-child{
margin:0;
}

.newsinner{
width:calc(100% - 290px);
}

.footer-nav-widgets-wrapper{
margin:0 0 2rem;
width:280px;
box-sizing: border-box;
box-sizing:border-box;
}

h2.widget-title{
font-size:1.2rem;
margin:0 0 1rem;
color:#333;
}

.screen-reader-text{
display:none;
}

.widget-content h2{
border:none;
font-size:1.2rem;
margin:0 0 1rem;
color:#333;
}
.widget-content ul li{
border-bottom:1px dashed #bebebe;
margin:0 0 1rem;
}
.widget-content a{
display:block;
letter-spacing:0;
line-height:1.6;
}

hr, .nav-prev-text, .nav-next-text, .placeholder{
display:none;
}

.widget-content p.btn{
margin:0;
}
.widget-content p.btn a{
width:100%;
background:#5E7B6E;
color:#fff;
display:block;
padding:1rem 0;
margin:0;
}

.nav-links{
display:flex;
justify-content:center;
margin:0 0 3rem;
}
.nav-links .page-numbers{
display:flex;
justify-content:center;
align-items:center;
padding:0.8rem 1rem;
margin:0 0.4rem;
border-radius:4px;
color:#fff;
border:1px solid #5E7B6E;
}
.nav-links .page-numbers.current{
background:#fff;
color:#4b4b4b;
}

.aligncenter, .has-text-align-center{
text-align:center;
}
.alignright, .has-text-align-right{
text-align:right;
}
.alignleft, .has-text-align-left{
text-align:left;
}

.post-item p a{
text-decoration:underline;
}

.post-item p em{font-style: italic;}
