@charset "UTF-8";

#wrapper {
padding-top:100px;}
.container {
position:relative;
padding:77px 0;}
.contents {
position:relative;
margin:0 auto;
width:90%;
max-width:1200px;}
.contents-2col {
text-align:left;
justify-content:space-between;}
.main {
width:68.19%;
max-width:750px;}
.sidebar {
width:27.28%;}

.bg00 {
background:#fff;}
.bg01 {
background:url("../images/bg01.png") repeat center center / 38px;}
.bg02 {
background:url("../images/bg_canvas.jpg") repeat center center / 240px;}
.bg03 {
background:linear-gradient(0deg, #d6e6ae, #fff, #fff);}
.bg04 {
background:linear-gradient(0deg, #d6e6ae, #fff);}
.bg05 {
background:#ebf3d8;}

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

.container {
padding:7.7% 0;}
.main {
margin:0 auto;
width:100%;}
.sidebar {
margin:7.5% auto 0;
width:100%;
max-width:750px;}

}

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

.container {
padding:55px 0;}
.sidebar {
margin:55px auto 0;}

}

/* header ============ */

.header {
font-family:"M PLUS 1",sans-serif;
position:fixed;
z-index:999;
top:0;
left:0;
width:100%;
height:100px;
background:rgba(255,255,255,0.9);
transition:height 0.25s;}
.header.scrolled {
height:55px;}
.header .logo-mark {
z-index:9999;
position:absolute;
left:-8px;
top:-23px;
width:185px;
opacity:0.8;
transition:0.25s;}
.header .logo {
z-index:9999;
position:absolute;
left:190px;
top:16px;
width:240px;
transition:0.25s;}
.header.scrolled .logo-mark {
opacity:1;
left:5px;
top:0px;
width:55px;}
.header.scrolled .logo {
left:68px;
top:9px;
width:132px;}

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

.header .logo {
left:25px;}
.header .logo-mark {
opacity:0.35;}

}

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

.header {
height:55px;}
.header .logo-mark {
opacity:1;
left:5px;
top:0px;
width:55px;}
.header .logo {
left:68px;
top:9px;
width:132px;}

}

/* gmenu-pc =================== */

.gmenu-pc {
z-index:9998;
position:absolute;
right:70px;
top:50%;
width:calc(100% - 360px);
max-width:750px;
transform:translate(0,-50%);}
.gmenu-pc > li {
position:relative;
flex-grow:1;}
.gmenu-pc > li.arrow::before {
content:"";
position:absolute;
left:50%;
bottom:3px;
width:0;
height:0;
border-left:6px solid transparent;
border-right:6px solid transparent;
border-top:8px solid #f2962b;
transform:translate(-50%,0);
transition:0.25s;}
.gmenu-pc > li.arrow:hover::before {
transform:translate(-50%,0) rotate(180deg);}
.gmenu-pc > li > a {
position:relative;
display:block;
font-size:106.25%;
line-height:55px;
letter-spacing:0.00em; 
white-space:nowrap;
color:#222;}
.header.scrolled .gmenu-pc > li > a {
font-size:100%;}
.gmenu-pc > li > a:hover {
color:#e82;}
.gmenu-pc > li ul.sub-menu {
visibility:hidden;
opacity:0;
position:absolute;
z-index:300;
top:80%;
left:50%;
width:270px;
overflow:hidden;
background:linear-gradient(0deg,#fbdcad, #fdebd1);
border-radius:6px; 
transition:0.25s;
transform:translate(-50%,0);}
.gmenu-pc > li:hover ul.sub-menu {
top:100%;
visibility:visible;
opacity:1;}
.gmenu-pc > li ul.sub-menu li {}
.gmenu-pc > li ul.sub-menu li a {
display:block;
font-size:93.75%;
line-height:43px;
color:#222;
white-space:nowrap;
border-bottom:1px solid #fff;}
.gmenu-pc > li ul.sub-menu li:last-child a {
border-bottom:none;}
.gmenu-pc > li ul.sub-menu li a:hover {
background:rgba(255,255,255,0.5);}
.gmenu-contact {
display:none;
position:absolute;
z-index:1;
top:55px;
left:0;
width:100%;}
.gmenu-contact li {
width:50%;}
.gmenu-contact li a {
position:relative;
display:block;
padding:21px 0 0 0;
font-size:68%;
line-height:24px;
white-space:nowrap;
overflow:hidden;
color:#222;
background-color:#c1da80;
background-image:repeating-linear-gradient(-55deg,rgba(255,255,255,0.4) 0, rgba(255,255,255,0.4) 1px,transparent 1px, transparent 3px);
box-shadow:0 0 0 1px rgba(255,255,255,1);
transition:background-color 0.25s;}
.gmenu-contact li a:hover {
background-color:#fc3;}
.gmenu-contact li a::after {
content:"";
position:absolute;
z-index:2;
top:7px;
right:50%;
width:16px;
height:16px;
transform:translate(50%,0);
background:url("../images/i_tel.svg") no-repeat center center / contain;}
.gmenu-contact li:nth-child(2) a::after {
background:url("../images/i_rsv.svg") no-repeat center center / contain;}
.gmenu-contact li:nth-child(3) a::after {
background:url("../images/i_mail.svg") no-repeat center center / contain;}

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

.gmenu-pc {
display:none;}
.gmenu-contact {
display:flex;}

}

/* hamburger gmenu-sp =================== */

.gmenu-sp-button {
position:fixed;
z-index:10000;
display:flex;
cursor:pointer;
justify-content:center;
align-items:center;
border:none;
outline:none;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
top:25px;
right:10px;
width:50px;
height:50px;
background:#f2962b;
border-radius:50%;
transition:0.25s;}
.gmenu-sp-button:hover {
background:#fc3;}
.header.scrolled .gmenu-sp-button {
top:2px;}
.gmenu-sp-button span, .gmenu-sp-button span::before, .gmenu-sp-button span::after {
content:"";
position:absolute;
display:block;
height:1px;
width:30px;
background:#fff;
transition:0.25s;}
.gmenu-sp-button span::before {
bottom:7px;}
.gmenu-sp-button span::after {
top:7px;}
.gmenu-sp-button.active {
display:flex;
background:none;}
.gmenu-sp-button.active span {
background:none;}
.gmenu-sp-button.active span::before {
bottom:0;
background:#222;
transform:rotate(45deg);}
.gmenu-sp-button.active span::after {
top:0;
background:#222;
transform:rotate(-45deg);}
#gmenu-sp-btn-check {
display:none;}

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

.gmenu-sp-button {
top:0px;
right:0px;
width:55px;
height:55px;
border-radius:0;}
.header.scrolled .gmenu-sp-button {
top:0px;}

}

.gmenu-sp-bg {
pointer-events:none;
opacity:0;
position:fixed;
z-index:9998;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.05);
transition:0.25s;}
.gmenu-sp-bg.active {
pointer-events:auto;
opacity:1;}
.gmenu-sp-container {
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
pointer-events:none;
opacity:0;
position:fixed;
z-index:9999;
overflow-y:auto;
overscroll-behavior-y:contain;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(255,255,255,0.95);
transition:0.25s;}
.gmenu-sp-container.active {
pointer-events:auto;
opacity:1;}
.gmenu-sp-modal {
margin:70px auto 40px;
width:85%;
max-width:480px;}
.gmenu-sp-modal .gmenu-sp-logo {
margin:0 0 25px 0;}
.gmenu-sp-contact {
margin:0 0 20px 0;
width:100%;
border-radius:8px;
overflow:hidden;}
.gmenu-sp-contact li {
width:50%;}
.gmenu-sp-contact li a {
position:relative;
display:block;
padding:28px 0 0 0;
font-size:84%;
line-height:28px;
white-space:nowrap;
overflow:hidden;
color:#222;
background-color:#c1db81;
background-image:repeating-linear-gradient(-55deg,rgba(255,255,255,0.4) 0, rgba(255,255,255,0.4) 1px,transparent 1px, transparent 3px);
box-shadow:0 0 0 1px rgba(255,255,255,1);
transition:background-color 0.25s;}
.gmenu-sp-contact li a:hover {
background-color:#fc3;}
.gmenu-sp-contact li a::after {
content:"";
position:absolute;
z-index:2;
top:10px;
right:50%;
width:20px;
height:20px;
transform:translate(50%,0);
background:url("../images/i_tel.svg") no-repeat center center / contain;}
.gmenu-sp-contact li:nth-child(2) a::after {
background:url("../images/i_rsv.svg") no-repeat center center / contain;}
.gmenu-sp-contact li:nth-child(3) a::after {
background:url("../images/i_mail.svg") no-repeat center center / contain;}
ul.gmenu-sp {}
ul.gmenu-sp a {
display:block;
color:#222;}
ul.gmenu-sp a:hover {
color:#e82;}
ul.gmenu-sp > li {
text-align:left;
padding:0 0 0 8px;
border-bottom:1px solid #ddd;}
ul.gmenu-sp > li > a {
position:relative;
padding:0 0 0 4px;
font-size:106.25%;
line-height:48px;
white-space:nowrap;}
ul.gmenu-sp > li > a::before {
content:"";
position: absolute;
right:100%;
top:50%;
width: 0;
height: 0;
border-style: solid;
border-width: 5px 0 5px 8px;
border-color: transparent transparent transparent #222;
transform:translate(0,-50%);}
ul.gmenu-sp ul.sub-menu {
padding:0 0 15px 0;}
ul.gmenu-sp ul.sub-menu a {
padding:0 0 0 6px;
font-size:92%;
line-height:30px;
white-space:nowrap;}

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

.gmenu-sp-contact li a {
padding:21px 0 0 0;
font-size:68%;
line-height:24px;}
.gmenu-sp-contact li a::after {
top:7px;
right:50%;
width:16px;
height:16px;}

}

/* mainimg ============= */

.mainimg {
font-family:"M PLUS 1",sans-serif;
z-index:-1;
margin:0 0 0 24px;
padding:70px 0;
background:url("../images/bg_canvas.jpg") repeat center center / 240px;
border-radius:80px 0 0 0;}
.mainimg .ttl {
font-size:287.5%;
line-height:1.2;}
.mainimg .ttl-eng {
margin:0.5em 0 0 0;
line-height:1.2;
letter-spacing:0.08em;
color:#400100;}

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

.mainimg {
margin-top:12px;
padding:7% 0;}

}

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

.mainimg {
margin-left:12px;
padding:45px 0;}
.mainimg .ttl {
font-size:9vw;}
.mainimg .ttl-eng {
font-size:3vw;}

}

/* bread ========== */

.bread {
margin:10px 0 0 0;
padding:0 24px;
text-align:left;}
.bread ul li {
font-size:75%;
line-height:1.3;}
.bread ul li:not(:last-of-type) {
display:flex;}
.bread ul li:not(:last-of-type)::after {
content:">";
display:block;
margin:0 6px;}
.bread ul li a {
color:#222;}

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

.bread {
padding:0 12px;}
.bread ul li {
font-size:68.75%;}

}

/* btn-symptom ================= */

.btn-symptom {
text-align:center;}
.btn-symptom ul {
font-family:"M PLUS 1",sans-serif;
justify-content:center;
margin:0 auto;
width:100%;
max-width:1000px;}
.btn-symptom ul li {
margin:0.6% 0;
width:20%;}
.btn-symptom ul li a {
position:relative;
display:block;
margin:0 auto;
width:92%;
aspect-ratio:1 / 1;
background:#fff;
box-shadow:1px 1px 2px 0 rgba(0,0,0,0.15);
border-radius:50%;
transition:transform 0.25s;}
.btn-symptom ul li a:hover {
transform:scale(1.06);}
.btn-symptom ul li a h3 {
position:absolute;
left:50%;
top:50%;
font-size:108%;
line-height:1.15;
font-weight:500;
color:#400100;
white-space:nowrap;
transform:translate(-50%,-50%);}
.btn-symptom ul li a h3 span {
display:block;
margin:0 0 0.8em 0;
line-height:0;}
.btn-symptom ul li a h3 span img {
width:75%;}

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

.btn-symptom ul {
max-width:640px;}
.btn-symptom ul li {
margin:1.2% 0;
width:33.3333%;}
.btn-symptom ul li a {
width:92%;}

}

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

.btn-symptom ul li a h3 {
font-size:3vw;}

}

/* btn-medical ================= */

.btn-medical {
font-family:"M PLUS 1",sans-serif;
text-align:center;
justify-content:center;
margin:0 auto;
width:100%;
max-width:1000px;}
.btn-medical.col-5 {
max-width:1100px;}
.btn-medical.col-5 li {
width:20%;}
.btn-medical li {
margin:1% 0;
width:25%;}
.btn-medical li a {
display:block;
margin:0 auto;
padding:1.3em 0 1.1em;
width:92%;
background:#c1da80;
box-shadow:1px 1px 1px 0 rgba(0,0,0,0.3);
border-radius:20px;
transition:box-shadow 0.25s;}
.btn-medical li:nth-child(2n) a {
background:#d6e6ae;}
.btn-medical li a:hover {
box-shadow:0 0 0 3px #fc3;}
.btn-medical li a img {
width:65%;
max-width:130px;
border-radius:50%;}
.btn-medical li a h3 {
margin-top:0.6em;
font-size:132%;
line-height:1.25;
color:#222;}

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

.btn-medical {
max-width:640px;}
.btn-medical li {
margin:1.5% 0;
width:33.3333% !important;}
.btn-medical li a h3 {
font-size:4.5vw;}

}

/* gallery ================= */

ul.gallery {
justify-content:space-between;
margin:3% auto;}
ul.gallery::after{
content:"";
display:block;
width:31%;}
ul.gallery li {
width:31%;
padding:1% 0;}
ul.gallery.col-50 li {
width:48%;}
ul.gallery li p {
margin:0 !important;}
ul.gallery li .img {
position:relative;}
ul.gallery li img {
width:100%;
border-radius:22px 0 0 0;}
ul.gallery li .ttl {
position:absolute;
padding:0 9px;
right:0;
bottom:0;
display:inline-block;
font-size:68%;
line-height:28px;
color:#fff;
white-space:nowrap;
background:#400100;
border-radius:11px 0 0 0;}
ul.gallery li .txt {
margin:10px 0 0 0;
font-size:75%;
line-height:1.55;}

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

ul.gallery li , ul.gallery.col-50 li {
padding:2% 0;
width:48%;}

}

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

ul.gallery {
width:94%;
max-width:480px;}
ul.gallery li , ul.gallery.col-50 li {
padding:3% 0;
width:100%;}

}

/* bmenu ================= */

.bmenu {}
.bmenu ul {
justify-content:space-between;
margin:0 auto 2em;
width:100%;}
.bmenu ul li {
width:32%;}
.bmenu ul li img {
width:100%;
box-shadow:1px 1px 3px 0 rgba(0,0,0,0.15);}
.bmenu ul li a {
display:block;
transition:transform 0.25s;}
.bmenu ul li a:hover {
transform:scale(1.03);}

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

.bmenu ul {
max-width:640px;}
.bmenu ul li {
margin:7px 0;
width:100%;}

}

/*  smenu  ======================*/

ul.smenu {
text-align:left;
font-family:"M PLUS 1",sans-serif;
justify-content:space-between;
margin:0 auto;
width:100%;}
ul.smenu::after {
display:block;
content:"";
width:32%;}
ul.smenu li {
margin:0.5% 0;
width:32%;}
ul.smenu li p {
margin-bottom:0 !important;}
ul.smenu li a {
position:relative;
display:block;
padding:0.9em;
font-size:125%;
line-height:1.3;
font-weight:500;
color:#fff;
background-color:#81b826;
background-image:repeating-linear-gradient(-55deg,rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 1px,transparent 1px, transparent 3px);
box-shadow:1px 1px 2px 0 rgba(0,0,0,0.2);
border-radius:10px;
transition:box-shadow 0.25s;}
ul.smenu li a .eng {
margin:0.4em 0 0 0;
font-size:50%;
font-weight:400;
letter-spacing:0.03em;
color:rgba(255,255,255,0.7);}
ul.smenu li a:hover {
box-shadow:0 0 0 3px #fc3;}
ul.smenu li a::after {
content:"";
position:absolute;
z-index:2;
right:8px;
top:50%;
width:7px;
height:7px;
border-right:1px solid #fff;
border-bottom:1px solid #fff;
transform:translate(0,-50%) rotate(-45deg);}

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

ul.smenu li {
margin:1% 0;
width:48.5%;}

}

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

ul.smenu li {
margin:6px 0;
width:100%;}

}

/* footer ================== */

.footer-address {
text-align:left;
justify-content:space-between;
align-items:center;
background:linear-gradient(90deg,#d6e6ae,#fff,#fff);}
.footer-address .left {
padding:0 55px;
width:50%;
max-width:600px;
line-height:1.5;}
.footer-address .right {
position:relative;
width:50%;
min-width:calc(100% - 600px);}
.footer-address .logo {
margin:0 0 20px 0;}
.footer-address .tel {
margin:10px 0 15px 0;
font-size:206.25%;
line-height:1.2;
font-weight:bold;}
.footer-address .tel a {
color:#222;}
.footer-address table {
margin:0 0 0.7em 0;
width:100%;
font-size:81.25%;
line-height:1.35;
white-space:nowrap;}
.footer-address table th {
text-align:center;
padding:0.4em 0;
color:#fff;
background:#81b826;}
.footer-address table td {
text-align:center;
padding:0.6em 0.4em;
background:#fff;
border-bottom:1px solid #81b826;}
.footer-address .notice {
text-align:left;
margin-top:0.4em;
font-size:68.75%;
line-height:1.55;}
.footer-address .right .ttl-map {
position:absolute;
z-index:10;
text-align:center;
padding:15px 0;
left:0px;
top:0px;
width:60px;
font-size:12px;
line-height:15px;
color:#fff;
white-space:nowrap;
background:#400100;}
.footer-address iframe {
vertical-align:bottom;}
.footer {
font-family:"M PLUS 1",sans-serif;
justify-content:space-between;
align-items:center;
flex-direction:row-reverse;
padding:35px 55px;
background:linear-gradient(0deg,#8dc21f, #a9ce52);}

.footer .txt-carus {
width:calc(100% - 295px);}
.footer .carus {
text-align:center;
width:250px;
font-size:75%;
line-height:1.25;
color:#fff;
white-space:nowrap;}
.footer .carus img {
margin:0 0 1em 0;}
.footer .carus .btn a {
text-align:center;
position:relative;
display:block;
margin:1em 0 0 0;
padding:0.7em 0;
font-weight:bold;
color:#81b826;
background:#fff;
border-radius:20px;
transition:background 0.25s;}
.footer .carus .btn a:hover {
background:#fc3;}
.footer .carus .btn a::after {
content:"";
position:absolute;
z-index:2;
right:8px;
top:50%;
width:6px;
height:6px;
border-right:1px solid #81b826;
border-bottom:1px solid #81b826;
transform:translate(0,-50%) rotate(-45deg);}

.fmenu-contact {
margin:0 0 20px 0;
width:430px;}
.fmenu-contact li {
width:50%;
padding:0 15px 0 0;}
.fmenu-contact li a {
position:relative;
display:block;
font-size:100%;
line-height:44px;
white-space:nowrap;
color:#81b826;
background:#fff;
border-radius:10px 0 0 0;
transition:background 0.25s;}
.fmenu-contact li a:hover {
background:#fc3;}
.fmenu-contact li a::before , .fmenu-contact li a::after {
content:"";
position:absolute;
top:50%;
right:0%;
width:15px;
height:2px;
background:#8dc21f;
transform:translate(0,-50%);}
.fmenu-contact li a::after {
right:8px;
width:10px;
height:10px;
border-radius:50%;}

.fmenu {
width:100%;
max-width:800px;}
.fmenu li {
flex-grow:1;}
.fmenu li a {
position:relative;
display:block;
font-size:87.5%;
line-height:30px;
white-space:nowrap;
color:#fff;}
.fmenu li a:hover {
color:#fc3;}
.fmenu li a::after {
content:"";
position:absolute;
left:0px;
top:50%;
width:1px;
height:16px;
background:#fff;
transform:translate(0,-50%);}
.footer-copyright {
padding:0.95em 0;
font-size:75%;
line-height:1.2;
color:#fff;
letter-spacing:0.02em;
background:#81b826;}

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

.footer-address {
text-align:center;
padding:50px 0 0 0;
background:linear-gradient(180deg,#d6e6ae,#fff,#fff);}
.footer-address .left {
margin:0 auto;
padding:0;
width:88%;}
.footer-address .right {
width:100%;
margin:65px 0 0 0;}
.footer-address .right .ttl-map {
left:50%;
top:0;
transform:translate(-50%,-50%);}

.footer {
padding:0;}
.footer .txt-carus {
width:100%;}
.footer .carus {
margin:2.5em auto;}

.fmenu-contact {
margin:1px 0 0 0;
width:100%;}
.fmenu-contact li {
width:100%;
padding:0;
border-left:1px solid #81b826;}
.fmenu-contact li:nth-child(odd) {
border-left:none;}
.fmenu-contact li a {
font-size:93.75%;
line-height:50px;
border-radius:0;}
.fmenu-contact li a::before , .fmenu-contact li a::after {
display:none;}

.fmenu {
max-width:100%;}
.fmenu li {
width:50%;
border-left:1px solid rgba(255,255,255,0.5);
border-bottom:1px solid rgba(255,255,255,0.5);}
.fmenu li:nth-child(odd) {
border-left:none;}
.fmenu li a {
font-size:93.75%;
line-height:50px;}
.fmenu li a:hover {
color:#fff;
background:rgba(255,255,255,0.2);}
.fmenu li a::after {
display:none;}

}

.page-top {
opacity:0;
pointer-events:none;
position:fixed;
z-index:999;
bottom:12px;
right:12px;
width:38px;
height:38px;
line-height:0;
transition:0.25s;}
.page-top.scrolled {
opacity:1;
pointer-events:auto;}
.page-top a {
position:relative;
display:block;
width:100%;
height:100%;
background:#f2962b;
transition:0.25s;
border-radius:50%;}
.page-top a:hover {
background:#fc3;}
.page-top a::after {
content:"";
position:absolute;
z-index:2;
left:50%;
top:50%;
width:25%;
height:25%;
border-top:1px solid #fff;
border-right:1px solid #fff;
transform:translate(-50%,-30%) rotate(-45deg);}

.bnr-fix {
position:fixed;
z-index:999;
right:0;
top:140px;
width:65px;}
.bnr-fix ul {}
.bnr-fix ul li {
padding:0 0 10px 0;}
.bnr-fix ul li a {
display:block;
padding:0 10px 0 0;
background-color:#f2962b;
background-image:repeating-linear-gradient(-55deg,rgba(255,255,255,0.35) 0, rgba(255,255,255,0.35) 1px,transparent 1px, transparent 3px);
border-radius:20px 0 0 0;
transform:translate(10px,0);
transition:transform 0.25s;}
.bnr-fix ul li:nth-child(2) a {
background-color:#81b826;}
.bnr-fix ul li a:hover {
transform:translate(0,0);}

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

.bnr-fix {
display:none;}

}
