@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
font-variation-settings: 'FILL' 1;
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body { color: var(--c-main);  line-height: 1.8;   background: #fff;}
a { color: var(--c-main);  text-decoration: none;}
.flex {display: flex; display: -webkit-flex; justify-content:space-between; flex-wrap: wrap;}
.clickable a, .clickable a:hover { color: #333;}
img {width: 100%; height: auto;}

:root {
--c-main:#5b3e12;
--c-main-light: #f5f3ec;
--c-main-light-01: #e3ddc7;
--c-main-alpha: rgba(233 , 97, 15 , 0.2 );

--c-syouni: #dd7f7f;
--c-syouni-light:#f5ecec;
--c-syouni-light-01:#eee0e0;

--c-fixedMenu: /*#5b3e12*/#735e4c;
--c-note-bg: #fff1ee;
--c-note-txt:#f01a52;
--c-decC: #e5f3de;
--c-tel: #DF610F;
--ff-symbol: 'Material Symbols Outlined';
--ff-en: "futura-pt, sans-serif";
--c-brown: #927c52;
--c-brownB: #c9bc9c;	
--c-peds: #f46f91;
--c-peds-light: #ffedf2;
--c-peds-light-02: #fdf6f8;

--c-btn-01: #ECC9C0; /*追加*/
--c-btn-02: #FCF3D0; /*追加*/
}


.ic-symbol {position: relative;}
.ic-symbol::before { font-family: var(--ff-symbol); position: absolute; font-weight: 200;}
.ic-timetable::before {content: "\e8b5";}
.ic-off::before {content: "\e748"; }
.ic-access::before {content: "\e0c8"; }
.ic-menu::before {content: "\e5d2"; }
.ic-home::before {content: "\e88a";}
.ic-first::before {content: "\f150";}
.ic-medical::before {content: "\f805";}
.ic-syouni::before {content: "\eb41";}
.ic-exam::before {content: "\f80f";}
.ic-staff::before {content: "\e09e";}
.ic-attention::before {content: "\e000";}
.ic-tel::before {content: "\e8a8";}
.ic-file::before{content:"\e873";}

.linkEx {padding-right: 1.6em; position: relative;}
.linkEx::before {content: "\e89e"; font-family: var(--ff-symbol); position: absolute;   right: 0; top: 50%; transform: translate(0, -50%); color: var(--c-main); font-weight: 600 !important; font-size: min(1.66vw , 2rem);}

@media (max-width: 740px) {
	.linkEx::before {font-size: min(4vw , 2rem);}
}

@media screen and (min-width: 750px){   
  .br-pc { display:inline; }
  .br-sp { display:none; }
}
.br-pc { display:none; }
.br-sp { display:inline; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#grandMenu ul li  em {font-style: normal;}

@media (min-width:768px) {
.overlay {display: none;}

/* grandMenu */
#grandMenu { position: absolute; right: min( 2.5vw , 30px); top: min( 2.5vw , 30px); padding: 0 min( 3.3vw, 40px);  background: rgba(255,255,255,0.85);  border-radius: min( 0.66vw, 8px); transition:  all 0.3s ease-in-out; z-index: 100;}
#grandMenu ul {font-size: min(1.25vw , 1.5rem); text-align: center; font-weight: 600; display: flex; display: -webkit-flex; column-gap: min(3.3vw , 40px); margin: 0;}
#grandMenu ul li {line-height: 1.5; position: relative; padding: min( 1.66vw, 20px)  0;}
#grandMenu ul li a { color: #333;}
#grandMenu ul li a:hover {color: var(--c-main);}
#grandMenu ul li span {font-family: var(--ff-en); font-size: min(1vw , 1.1rem); display: block; color: var(--c-brown);}
#grandMenu ul  li ul.navChild {display: none; position: absolute; left: 50%; margin-top: min( 0.83vw, 10px); transform: translateX(-50%); width: min(12.5vw, 150px); background: var(--c-main);}
#grandMenu ul  li ul.navChild li {padding: 0; border-bottom: 1px dashed #fff;}
#grandMenu ul  li ul.navChild li:last-child {border-bottom: 0;}
#grandMenu ul  li ul.navChild li a {display: block; padding: min(0.83vw , 10px); color: #fff;}

/* fixed */
#grandMenu.fixed {position: fixed; left: min( 20% , 320px); top: 0; right: inherit; width: calc(100% - min( 20% , 320px)); padding: 0; border-radius: 0;z-index: 100; }
#grandMenu.fixed ul {justify-content: space-between; column-gap: 0; }
#grandMenu.fixed ul li {text-align: center; flex-grow: 1;  padding: 0;}
#grandMenu.fixed ul li a {padding: min(1.25vw , 15px) 0; display: block;}
#grandMenu.fixed ul li:hover a{background: var(--c-main-light-01); color: var(--c-main);}
#grandMenu.fixed ul li:hover ul.navChild li a  {color: #fff !important; background: var(--c-main);}
#grandMenu.fixed ul li em {position: relative;}
#grandMenu.fixed ul li em::before {font-size: min(3vw , 3.6rem); font-family: var(--ff-symbol); position: absolute; left: 0; top: 50%; transform: translate(-115%, -60%); color: var(--c-main); font-weight: 200; line-height: 1;} 
#grandMenu:not(.fixed) ul li em::before {content: none;}
#grandMenu.fixed ul  li ul.navChild {margin-top: 0; width: 100%;}

/* layout */
.flex-container {display: flex; display: -webkit-flex;}
#header  {background: #fff; text-align: center; min-height: 95vh; padding:0 0 min(3.3vw , 40px) ; }
body:not(#home) #header {width:min( 20% , 320px);}
#mainContent {width: calc(100% - min( 20% , 320px)); min-height: 95vh; background: #fff; }
#home #header {min-height: inherit;}

/* header */
#hd-logo { margin: 0 auto;}
#hd-logo img {width: 100%; height: auto; }
#header .inrHeader {position: sticky; left: 0; top: 0; padding-top:  min(3.3vw , 40px) ;}
.hd-content {padding-right: min(2.8vw , 40px); padding-left: min(2.8vw , 40px);  }

body:not(#home) #header {border-right: 1px solid #dddddd;}
.hd-dep {font-size: min(1.16vw , 1.4rem); font-weight: 600; color: #656565; line-height: 1.4; padding-top: min(1.25vw , 15px); padding-bottom: min(0.83vw , 10px);}
.hd-btn {padding-top: min(2.5vw ,30px); padding-bottom: min(2vw , 0px);}
.hd-btn__btn li {font-size: min(1.3vw , 1.6rem); font-weight: 600;}
.hd-btn__btn li:not(:last-child) {margin-bottom: min(0.58vw, 7px);}
.hd-btn__btn li a {display: block; background:var(--c-main-light); color: var(--c-main); border: 1px solid var(--c-main); border-radius: min(0.6vw, 8px); padding: min(1.25vw , 15px); line-height: 1.4; position: relative; font-weight: 600;}
.hd-btn__btn li a::before {left: min(0.5vw , 10px); top: 50%; transform: translateY(-50%); font-size: min(2vw , 2.4rem); font-weight: 300;}

.hd-tel {padding-top: min(0.83vw , 10px); padding-bottom: min(0.83vw , 10px);}
.hd-tel h2 {text-align: center; font-size: min(1.3vw , 1.6rem);  padding: min(0.4vw , 5px); letter-spacing: 0.05rem; font-weight: 600; background: var(--c-main); color: #fff; border-radius: 30vw;}
.hd-tel__tel {padding: min(1vw ,12px) 0 min(1.25vw ,15px); position: relative; }
.hd-tel__syouni {border-top: 1px solid var(--c-main);}
.hd-tel__tel h3 {font-size: min(1.66vw,2rem); position: relative; font-weight: 600;}
.hd-tel__tel h3 span::before {left: -1.2em; top: 50%; transform: translateY(-50%); font-size: 1.35em;}
.hd-tel__syouni h3 {color: var(--c-syouni);}

.hd-tel__num { text-align: left; font-size: min(1.8vw, 2.8rem); font-weight: 600; font-family: var(--ff-en); line-height: 1; padding-left: 1.5em; position: relative; white-space: nowrap;}
.hd-tel__syouni .hd-tel__num {color: var(--c-syouni);}
.hd-tel__num::before {content: ""; width: 1.25em; aspect-ratio: 1/1; border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.hd-tel__num::after {content: "\e0b0"; font-family: var(--ff-symbol); position: absolute; font-weight: 400; left: 0;  top: 50%; transform: translate(25%,-50%); font-size: 0.8em; font-variation-settings: 'FILL'1;}
.hd-tel__naika .hd-tel__num::before {background: var(--c-decC);}
.hd-tel__syouni .hd-tel__num::before {background: var(--c-syouni-light-01);}

.hd-tel__btn  {margin-top: min(1vw,12px);}
.hd-tel__btn a {display: block; font-size: min(1.66vw,2rem); line-height: 1.3; font-weight: 600; border-radius: 5px; }
.hd-tel__btn a span {font-size:min(1vw,1.5rem); display: block; }
.hd-tel__naika .hd-tel__btn a {background:var(--c-decC); padding: min(1.25vw,15px);}
.hd-tel__syouni .hd-tel__btn a {background:var(--c-syouni-light-01); color: var(--c-syouni); padding: min(2vw,24px) min(1.25vw,15px);}
.hd-tel__note {font-size: min( 1.08vw, 1.3rem); text-align:left; color: #ba0000; margin:0; line-height: 1.4;}

/*
.hd-bnr {padding-top: min(0.83vw , 10px); padding-bottom: min(0.83vw , 10px);}
.hd-bnr__influ a {display: block; background: #57aa00; color: #fff; border-radius: min(0.66vw , 8px); font-size: min(1.83vw, 2.2rem); line-height: 1.4; padding:min(1vw , 15px) ; border-bottom: 3px solid #498e00; position: relative; text-align: center;}
.hd-bnr__influ a span {display: block; font-size: min( 1.25vw, 1.5rem); }
*/

/* header > home*/
#home #header {position: absolute; left: 0; top: 0; width: min( 28vw , 440px); z-index: 1; padding:  min(3.3vw , 10px)  0;}
#home #header .inrHeader {position: relative; padding: 0;}
#home .flex-container {display: block;}

#home .hd-content {padding-right: min(4vw , 60px); padding-left: min(4vw , 60px);  }

#home .hd-dep {font-size: min(1.33vw , 1.6rem);  padding-bottom: min(1.25vw , 15px);}
#home .hd-btn {padding-top: min(2vw , 24px); }
#home .hd-btn__btn li {font-size: min(1.5vw , 1.8rem); }
#home .hd-btn__btn li a { padding: min(1.5vw , 18px);}
#home .hd-btn__btn li a::before {left: min(1vw , 25px); font-size: min(2.5vw , 3rem); }

#home .hd-tel {padding-top: min(1.25vw , 15px); padding-bottom: min(1.25vw , 15px);}
#home .hd-tel h2 { font-size: min(1.5vw , 1.8rem); }
#home .hd-tel__tel {padding: min(2vw ,8px) 0 min(2vw,8px) min(5vw,60px); }
#home .hd-tel__tel h3 {position: absolute; left: 0; top: min(1.25vw,15px); -ms-writing-mode: tb-rl; writing-mode: vertical-rl; letter-spacing: 0.3rem;}
#home .hd-tel__tel h3 span {padding-top: 1.65em;}
#home .hd-tel__tel h3 span::before {left: 50%; top: 0; transform: translateX(-50%); font-size: 1.35em;}

#home .hd-tel__title { font-size: min(1.33vw , 1.6rem);}
#home .hd-tel__num {font-size: min(2vw, 3rem); }
#home .hd-tel__special {display: flex; justify-content: center; column-gap: min(1.66vw , 20px); align-items: center;}
#home .hd-tel__special .hd-tel__num {font-size: min(2vw , 3rem);}
#home .hd-tel__special .hd-tel__time {font-size: min(1vw, 1.2rem); color: #737373; line-height: 1.3; position: relative; margin-top:0;}
#home .hd-tel__special .hd-tel__time br {display: block;}
#home .hd-tel__special .hd-tel__time::before {content: ""; width: 1px; height: 100%; background: #737373; position: absolute; left: max(-0.83vw, -10px); top: 0; }
#home .hd-tel__note {font-size: min( 1.16vw, 1.4rem); text-align: center; color: #ba0000; margin: min(0.83vw , 10px) 0 0; line-height: 1.4;}
#home .hd-tel__note strong {color: var(--c-main);}

/*
#home .hd-bnr  {padding-top: min(1.25vw , 15px); padding-bottom: min(1.25vw , 15px); }
#home .hd-bnr__influ a {text-align: left; padding: min(1.66vw , 20px) min(1vw , 15px)  min(1.42vw , 17px)  min(5.2vw , 90px); }
#home .hd-bnr__influ a::before {content: "\e1b1"; font-family: var(--ff-symbol); position: absolute; left: min(1vw , 20px); top: 50%; transform: translateY(-50%); font-weight: 200; font-size: min(3.8vw , 4.8rem);}
*/

@media (max-width: 1548px) {
	#home .hd-content {padding-right: 3vw; padding-left: 3vw;  }
	.hd-content {padding-right: 1.5vw; padding-left: 1.5vw;  }
	
}
@media (max-width: 1240px)  {
	#home .hd-tel__special {display:block; }
	#home .hd-tel__special .hd-tel__num {font-size: min(2.4vw , 3rem);}
	#home .hd-tel__special .hd-tel__time {font-size: min(1vw, 1.2rem); text-align: center; margin-top: min(0.4vw, 5px);}
	#home .hd-tel__special .hd-tel__time br {display: none;}
	#home .hd-tel__special .hd-tel__time::before {content: none; }
	}
}

@media (max-width: 767px) { /* sp */
	.hd-content {display: none;}
	#header  {width: 100%; background: #fff; }
	#header #hd-logo  {padding: 2vw 3vw;  background: #fff;}
	#header #hd-logo img {height: 9vw; width: auto;}

	#fixedMenu { background: var(--c-fixedMenu); border-bottom: 1px solid #fff; display: flex;width: 100%; margin: 0;}
	#fixedMenu.fixed {position: fixed;  left: 0; top: 0; z-index: 8;}
	#fixedMenu a {color: #fff;}
	#fixedMenu li {flex: 1; text-align: center; line-height: 1.4;}
	#fixedMenu li:not(:last-child) {border-right: 1px solid #fff;}
	#fixedMenu li a {display: block; font-size: min(3.4vw , 1.6rem); font-weight: 600; padding: min(8vw, 50px) 0 min(1vw , 20px); position: relative;}
	#fixedMenu li a::before {font-size: min(6vw , 3.8rem); left: 50%; top: min( 0.5vw,  5px); transform: translateX(-50%); font-weight: 200;}

	.overlay {width: 100%; height: calc(var(--vh, 1vh) * 100); background: rgba(0,0,0,0.6); position: fixed; left: 0; top: 0; display: none; z-index: -5; }
	.overlay.active {z-index: 10;}
	.btn-close {position: absolute; right: 0 ; top: 0; color: #fff;margin: 0; padding: 3vw; display: none;}
	.btn-close span { font-size: min(10vw , 7rem); line-height: 1; }
	#grandMenu {width: 80vw; height: calc(var(--vh, 1vh) * 100); position: absolute; left: 0; top: 0; z-index: 100; background:#fff;}
	#grandMenu a {color:var(--c-main);}
	.inr-spMenu {overflow: auto; height: calc(var(--vh, 1vh) * 100); padding: 7vw 5vw;}
	#nav-logo {margin: 0 auto min(5vw , 20px);}

	#grandMenu {position: fixed; left: 0; top: 0; width: 75vw; height: 100%; overflow: scroll; color: var(--c-main); z-index: 99999; transform: translateX(-75vw); transition: all 0.5s ease-in-out;}
	#grandMenu.active{transform: translateX(0);}

	#navGlobal {margin: 0;}
	#navGlobal li { font-size: min(4.2vw , 2rem); border-bottom: 1px dashed var(--c-main); line-height: 1.4;}
	#navGlobal li span {font-family: var(--ff-en); font-size: min(3.2vw , 1.3rem); display: block;}
	#navGlobal li em {position: relative; padding-left: min(9.4vw , 50px); display: inline-block;}
	#navGlobal li em::before {font-size: min(7.5vw , 4rem); font-family: var(--ff-symbol); position: absolute; left: 0; top: 50%; transform: translate(0, -50%); color:var(--c-main); font-weight: 200; line-height: 1;} 

	#navGlobal li a {display:  block; padding: min(3vw , 20px) 0; position: relative;}
	#navGlobal li a::after {content:""; position: absolute; right: 4vw; top: 50%; width: min(2vw , 10px); aspect-ratio: 1/1; border-top:1px solid var(--c-main); border-right: 1px solid var(--c-main); transform-origin: right center; transform:  rotate(45deg) translateY(-50%); transition: all 0.2s ease-in-out;}
	#navGlobal li.btn-navChild a::after { transform: translateY(-50%) rotate(135deg);}
	#navGlobal li.btn-navChild a.active::after { transform:  translateY(-50%) rotate(-45deg);}
	#navGlobal li.btn-navChild .navChild {display: none;}
	#navGlobal li.btn-navChild .navChild  li {border-bottom: none; font-size: min(3.7vw , 1.6rem); padding-left: min(3.7vw , 20px);}
	#navGlobal li.btn-navChild .navChild a::after {transform:  rotate(45deg) ;}

	#navDep {margin: min(6vw , 30px) auto 0;}
	#navDep li { text-align: center; margin-bottom: 2%;}
	#navDep li a {display: block; border-radius: 1vw; background: var(--c-main-light-01); color: var(--c-main); font-weight: 600; padding: min(2.5vw , 15px) 0;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer {padding-top: min(5vw,60px);}
#ftSlideBlock, #spPopup--tel  {display: none;}
#ftInfo {width: 94%; margin: 0 auto;}
.ftinfo__txt {width: 35%; padding-top: min(1.25vw,15px);}
.ftInfo__map {width: 65%;}
.ftInfo__inr {width: 86%;  margin: 0 auto; font-size: min(1.3vw,1.6rem); position: relative;}

.ftInfo__inr h2 {max-width: 420px;}
.ft__dep{font-weight: 600; font-size: min(1vw, 1.4rem); margin: min(0.8vw,10px) 0 min(2.5vw,30px);}
.ftinfo__txt .ftInfo__address {line-height: 1.5; margin-bottom: min(0.83vw , 10px);}
.ftinfo__txt .ftInfo__tel {line-height: 1.4; font-weight: 600; margin: min(0.8vw, 10px) 0 min(2.5vw, 30px)}
.ftInfo__note { margin: min(6.6vw,80px) 0 0; font-size: min(1.16vw, 1.4rem);}
.ftInfo__note a {text-decoration: underline;}

.ftInfo__map iframe {width: 100%; height: 100%;}

.ftnav__wrap { width: 94%; margin: min(5.83vw,70px) auto 0; padding: min(3.3vw, 40px) min(1vw,20px) min(2.5vw, 30px); font-size: min(1.25vw , 1.5rem); display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap; border-top: 1px solid var(--c-main);}
.ftnav__wrap h3 {font-size:min(1.5vw,1.8rem); font-weight: 600; margin-bottom: min(1.25vw,15px);}
.ftnav__wrap h3 span {padding-left: 1.5em;}
.ftnav__wrap h3 span::before {left: 0; top: 50%; transform: translateY(-50%); font-size: 1.2em; font-weight: 500;}
.ic-sitemap::before{content: "\ebbd";}
.ic-clinic::before{content: "\e4b9";}
.ftnav__left {width: 60%; }
.ftnav__right {width: 38%; }

.ftnav__left .flex {display: flex; display: -webkit-flex; justify-content: flex-start; column-gap: min(3.3vw ,40px);}
.ftnav__left dl, .ftnav__left ul {line-height: 2;}
.ftnav__left dl dt , .ftnav__left ul li {font-weight: 600;}
.ftnav__left dl dd {font-size: min(1.16vw , 1.4rem); }
.ftnav__left dl dd::before {content: "・";}

.ftnav__clinic p {font-weight: 600; font-size: min(1.33vw , 1.6rem); margin-bottom: min(1.66vw , 20px);}
.ftnav__clinic__wrapper {display: flex; display: -webkit-flex; flex-wrap: wrap; column-gap: min(1.6vw , 20px);}
.ftnav__clinic__wrapper dl {line-height: 2; flex-grow: 3; margin-bottom: min(2.5vw,30px)}
.ftnav__clinic__wrapper dl dt {font-weight: 600;}
.ftnav__clinic__wrapper dl dt:not(:first-child) {margin-top: min(2.5vw , 30px);}

.copy {text-align: center; padding: 0 5% min(3.3vw , 40px);  font-size: min(1vw , 1.2rem);}
.copy a {color: #333;}

@media (max-width: 1530px) and (min-width: 768px) {
	.ftnav__clinic__wrapper { column-gap: 1.5vw;}
	.ftnav__left {column-gap: 1.5vw; }
}

@media (max-width: 767px) {
	#footer {padding:min(10vw,60px) 0 min(16vw , 80px);}
	.ftinfo__txt {width: 100%; padding: 0 5% 8vw;}
	.ftInfo__map {width: 100%; height: 70vw;}
	.ftInfo__inr {width: 100%; max-width: inherit; font-size: min(3.8vw,1.6rem);}
	.ftinfo__txt h2{width: 80vw; margin: 0 auto min(6vw , 30px);}
 
 .ft__dep{font-size: min(3.8vw, 1.4rem); margin: min(2vw,10px) 0 min(4vw,30px);}
	.ftinfo__txt .ftInfo__address {font-size: min(4vw , 1.5rem); margin-bottom: min(3vw , 15px);}
 .ftInfo__note { margin: min(6vw,80px) 0 0; font-size: min(3.4vw, 1.4rem);}

	.ftnav__wrap { padding: min(6vw, 70px) 5% min(5vw, 60px); font-size: min(3.4vw , 1.5rem); }
 .ftnav__wrap h3 {font-size:min(4.2vw,1.8rem);  margin-bottom: 0;}

	.ftnav__left {width: 100%; padding-right: 0;}
	.ftnav__right {width: 100%;  padding-left:0; border-left: 0; margin-top: min( 10vw, 50px);}
	.ftnav__left .flex {column-gap: inherit; justify-content: space-between; flex-wrap: wrap; margin-top: 0;}
	.ftnav__left dl, .ftnav__left > ul {width: 48%;}
	.ftnav__left div {width: 100%; margin-top: min(5vw , 30px);}
	.ftnav__left dl dd {font-size: min(3.4vw , 1.4rem); }
	.ftnav__clinic {font-size: min(3.4vw , 1.4rem);}
	.ftnav__clinic p {font-size: min(3.8vw , 1.6rem); margin-bottom: min(3vw , 20px);}
	.ftnav__clinic__wrapper {column-gap: inherit; justify-content: space-between}
	.ftnav__clinic__wrapper dl {width: 48%;}
	.ftnav__clinic__wrapper dl dt:not(:first-child) {margin-top: min(3vw , 30px);}
	.copy { padding: 3%;  font-size: min(3vw , 1.2rem);}

	#ftSlideBlock {position: fixed; left: 0; bottom:0; width: 100%;  height: min(16vw , 80px); background: #fff; color: #fff; z-index: 8; display: flex; border-top:1px solid #fff;}
	.ftSlide__first {width: 38%; border-right: 1px solid #fff; }
	.ftSlide__tel {width: 62%; }
	#ftSlideBlock a {display: flex;  align-items: flex-end; justify-content: center; height: min(16vw , 80px); color: #fff; padding-bottom: min(1.5vw , 10px); position: relative; font-weight: 600;}
	.ftSlide__first a {background:#735e4c /*var(--c-main)*/;}
	.ftSlide__tel a {background: #8fc31f;}
	#ftSlideBlock a::before {font-family: var(--ff-symbol); position: absolute; left: 50%; top: min(1vw , 5px); transform: translateX(-50%); font-weight: 300; font-size: min(6vw , 3rem); line-height: 1.2;}
	.ftSlide__first a::before {content: "\e4b9"; }
	.ftSlide__tel a::before {content: "\e0b0"; font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}

	#spPopup--tel {background: #fff; width: 90vw; max-height: 85vh; position: fixed; left: 50%; top: min(15vw , 100px); transform: translate(-50%, 0); z-index: 100; padding: min( 6vw , 30px) ; overflow: auto; display: none;}
	#spPopup--tel.active {display: block;}
	.inrPopup {width: 100%; height: 100%; overflow: auto;}
 
	.spPopup--tel__title {text-align: center; font-size: min(4vw , 1.6rem); color: #fff; background:var(--c-main); border-radius: 30vw; padding: min(1.5vw , 8px); letter-spacing: 0.05rem;}
	.spPopup--tel__block {padding: min( 4vw, 30px) 0; text-align: center;}
	.spPopup--tel__block:not(:last-child) {border-bottom: 2px solid var(--c-syouni);}
  
	.spPopup--tel__block h3 {font-weight: 600; }
 .spPopup--tel__syouni h3{color: var(--c-syouni);}
  
	.spPopup--tel__block p {margin: 0; }
	.spPopup--tel__numBlock {background: #f3f3f3; padding: min(5vw , 20px)  min(3vw , 15px); 	}
	.spPopup--tel__numBlock h4 {font-weight: 600; font-size: min(3.6vw , 1.4rem); color: var(--c-tel); margin-bottom: min(2vw , 10px);}
 
 .spPopup--tel__block .spPopup--btn {margin-top: 2vw;}
 .spPopup--tel__block .spPopup--btn a {display: block; font-size: min(6vw, 2rem);  line-height: 1.3; border-radius: 2vw; font-weight: 600;}
 .spPopup--tel__block .spPopup--btn a span {display: block; font-size: min(4vw, 1.6rem);}
 .spPopup--tel__naika .spPopup--btn a {background: var(--c-decC); padding: 3vw; }
 .spPopup--tel__syouni .spPopup--btn a {background: var(--c-syouni-light-01); color: var(--c-syouni); padding:4.7vw 3vw; }

 
 .spPopup--tel__num { background: #f3f3f3; padding:min(3vw, 20px); border-radius: 2vw; margin-top:2vw !important;}
 .spPopup--tel__num a {color: var(--c-main); font-size: min(7.5vw, 3rem); font-family: var(--ff-en); line-height: 1;}
 .spPopup--tel__syouni .spPopup--tel__num a{color: var(--c-syouni);}
	.spPopup--tel__num span {position: relative; padding-left: 2.2em;}
	.spPopup--tel__num span::before {content: "\e0b0"; font-family: var(--ff-symbol); font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24; position: absolute; left: 0; top: 50%; transform: translateY(-55%); font-weight: 400;  font-size: min(12vw, 3rem); }
  .spPopup--tel__syouni .spPopup--tel__num span::before {color: var(--c-syouni)}
 
 
	.spPopup--tel__note {font-size: min( 3.2vw , 1.2rem); color: #656565;}

	.spPopup__bnr--influ {margin: min(3vw , 20px) auto;}
	.spPopup__bnr--influ a  {display: block; background: #db6200; color: #fff; border-radius: min(1.5vw , 8px); font-size: min(5.4vw, 2.4rem); line-height: 1.4; padding:min(5vw , 15px) min(4vw , 15px) min(2vw , 10px) min(22vw , 120px); border-bottom: 3px solid #bc5400; position: relative;}
	.spPopup__bnr--influ a span {display: block; font-size: min( 3.8vw, 1.5rem); }
	.spPopup__bnr--influ a::before {content: "\e1b1"; font-family: var(--ff-symbol); position: absolute; left: min(5vw , 20px); top: 50%; transform: translateY(-50%); font-weight: 200; font-size: min(12vw , 4.8rem);}

	.spPopup--tel__comment {margin: min(6vw , 30px) auto min(3vw , 20px) ; font-size: min(3.8vw , 1.5rem); line-height: 1.5;}
	.spPopup--tel__comment p:last-child{margin-bottom: 0;}
}

@media print { 
	#ftSlideBlock {display: none;}
}

#pagetop { position: fixed;  bottom: 8%;  right: 3%; z-index: 5;}
#pagetop a { display: block;  width: 45px;  height: 45px;background-color: var(--c-main);   color: #fff;  position: relative; z-index: 8; border-radius: 50%;}
#pagetop a::before {content: ""; width: 12px; height: 12px; border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-45deg); z-index: 9;}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
home
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* common --------------------------------------------------*/

.inner {margin-left: auto; margin-right: auto; width: 90%; position: relative;}
.homInner--L {width:94%; margin-right: auto; margin-left: auto;}
.homInner--M {width:90%; max-width: 1380px; margin-right: auto; margin-left: auto;}
.homInner--S {width:90%; max-width: 1200px; margin-right: auto; margin-left: auto;}

.homTitle__lv1{text-align: center; font-size: min(3.83vw,4.6rem); line-height: 1.4; letter-spacing: 0.2rem; margin-bottom: min(4.16vw,50px);}
.homTitle__lv1 span {font-size: min(1.5vw,1.8rem); font-family: var(--ff-en); display: block;}

.homTitle__lv2{text-align: center; font-size: min(3.83vw,4.2rem); line-height: 1.4; letter-spacing: 0.2rem; margin-bottom: min(2.5vw,30px);}
.homTitle__lv2 span {font-size: min(1.25vw,1.5rem); font-family: var(--ff-en); display: block; letter-spacing: normal;}

a.homBtnCommon { display: block; background: #fff; text-align: center; border-radius: 30vw; border: 1px solid var(--c-main); padding: min(1.25vw,15px); position: relative;}
a.homBtnCommon::before{content: ""; width: min(0.83vw,10px); aspect-ratio: 1/1; border-top: 1px solid var(--c-main); border-right: 1px solid var(--c-main); position: absolute; right: min(1.66vw,20px); top: 50%; transform: translateY(-50%) rotate(45deg);}
a.homBtnCommon:hover {background:var(--c-main); color: #fff; }
a.homBtnCommon:hover::before {border-color: #fff;}

a.homBtnColor01 {
	background: var(--c-btn-01);
}
a.homBtnColor02 {
	background: var(--c-decC);
}
a.homBtnColor03 {
	background: var(--c-btn-02);
}

@media (max-width: 767px) {
 .homTitle__lv1{ font-size: min(7vw,4.6rem); margin-bottom: min(8vw,50px);}
 .homTitle__lv1 span {font-size: min(3.8vw,1.8rem);}
 .homTitle__lv2{font-size: min(6vw,4.2rem); margin-bottom: min(5vw,30px);}
 .homTitle__lv2 span {font-size: min(3.4vw,1.5rem); }
 a.homBtnCommon {padding: min(3vw,15px);}
 a.homBtnCommon::before{width: min(2vw,10px); right: min(4vw,20px);}
}


/* homVisual --------------------------------------------------*/
#homVisual {
	background: #eee;
	padding-left: min( 28vw , 440px);
	position: relative;
}
.homVis__wrap {
	background: #eee;
	height: 100%;
	position: relative;
}

.homVis__txt {
	text-align: center;
	width: calc(100% - min( 28vw , 440px) );
	position: absolute;
	left: min( 28vw , 440px);
	top: 45%;
	height: 100%;
}

.homVis__txt h2 {font-size: min(3vw,3.6rem); font-weight: 600; line-height: 1.3; text-shadow: 2px 2px 1px white, -2px 2px 1px white, 2px -2px 1px white, -2px -2px 1px white;}
/* 追加*/
.homVis__txt h4 {font-size: min(2vw,2.4rem); font-weight: 600; line-height: 1.8; text-shadow: 1px 1px 0 white, -1px -1px 0 white, -1px 1px 0 white, 1px -1px 0 white, 0px 1px 0 white,  0-1px 0 white,
              -1px 0 0 white, 1px 0 0 white ;}
/*　△　追加*/
.homVis__txt h2 span {font-size: min(3.67vw,4.4rem);}
.homVis__txt h2 span em {font-style: normal; color: #ec3046;}

.homVis__txt_boxwrap {
	position: relative;
	height: 100%;
}

.homVis__textbox{
	position: absolute;
	top: 0%;
	width: 100%;
}

.homVis__btnbox{
	position: absolute;
	width: 100%;
	top: 20%;
 }

.homVis__txt ul {display: flex; display: -webkit-flex; justify-content: center; margin: min(3.3vw,20px) auto 0; font-size: min(1.66vw,2rem); font-weight: 600;}

.homVis__txt ul li a {
	display: block;
	width: min(18vw,200px);
	text-align: center;
	padding: min(9vw,120px) min(0.83vw,4px) 20px;
	line-height:1;
}
.homVis__txt ul li span{
	display: block;
	font-size: min(1.4vw,1.4rem);
	font-weight: 500;
	line-height: 3;
	font-feature-settings: "palt" 1;
}


.homVis__txt ul li a.topBtn02 {
	background: rgba(255,255,255,0.8) url(../img/home/ic-homMenu-0103.svg) top 20% center no-repeat;
	background-size: max(40px,26%);
}
.homVis__txt ul li a.topBtn02:hover{
	background: rgba(91,62,18,0.9) url(../img/home/ic-homMenu-0103_w.svg) top 20% center no-repeat;
	background-size: max(40px,26%);
	color: #fff;
}

.homVis__txt ul li a.topBtn03 {
	background: rgba(245,243,236,0.8) url(../img/home/ic-homMenu-0102.svg) top 20% center no-repeat;
	background-size: max(40px,28%);
}
.homVis__txt ul li a.topBtn03:hover{
	background: rgba(91,62,18,0.9) url(../img/home/ic-homMenu-0102_w.svg) top 20% center no-repeat;
	background-size: max(40px,28%);
	color: #fff;
}

.homVis__txt ul li a.topBtn04 {
	color: var(--c-syouni);
	background: rgba(255,255,255,0.8) url(../img/home/ic-homMenu-0206.svg) top 24% center no-repeat;
	background-size: max(40px,28%);
}
.homVis__txt ul li a.topBtn04:hover{
	background: rgba(221,127,127,0.9) url(../img/home/ic-homMenu-0206_w.svg) top 24% center no-repeat;
	background-size: max(40px,28%);
	color: #fff;
}

.homVis__info {background: #fff; width: min(60%, 910px); position: absolute; right: 0; bottom: -1px; border-radius: min(0.83vw,10px) 0 0 0; font-size: min(1.5vw,1.8rem);}
.homVis__infSlider {padding: min(2.5vw,30px) min(5vw,60px);  position: relative;}
.homVis__infSlider div a {text-decoration: underline;}
.homVis__infSlider div a:hover{text-decoration: none;}

.homVis__info2 {
	position: relative;
}

.info2_box {
	position: absolute;
	bottom: 0;
	width: calc(90% - min( 10vw , 800px) );
    left: 50%;
    transform: translateX(-50%);
}
.homVis__info2 ul {
	background: #fff;
	opacity: 0.9;
	border-radius: min(0.83vw,10px);
	border: 1px solid var(--c-main);
	font-size: min(3vw,1.6rem);
	padding: 10px 40px;
}

.homVis__info2 ul li a::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../img/home/ic-arrow.svg) no-repeat;
    background-size: contain;
	margin: 10px 16px 0 0;
}


/* slider */
.homSlider {height: 100%;}
.homSlider__img {position: relative; width: 100%;}
.homSlider__img img {object-fit: cover; object-position: 0 0; width: 100%; height: 100%;}
.homSlider-01 {background: #ddd;}
.homSlider-02 {background: #999;}


@media (max-width: 767px) {
 #homVisual {padding-left:0;}
 .homVis__wrap {aspect-ratio: 1/1;}
 .homSlider {aspect-ratio: 1/1; width: 100%;}
 .homVis__txt {width: 100%; left: 0; height: 22%; top:35%;}
 .homSlider .slick-slide {height: 100vw;}
 .homSlider__img img {object-fit: cover; object-position: 10% 0; width: 100%; height: 100%;}
 .homVis__txt h2 {font-size: min(5.4vw,3.6rem); }
 .homVis__txt h2 span {font-size: min(6.4vw,4.4rem);}
 .homVis__txt h4 {font-size: min(4vw,2rem); }	
 .homVis__txt ul {margin: min(5vw,40px) auto 0; font-size: min(4vw,2rem); position: absolute; bottom:-100%; width: 100%;}
 .homVis__txt li {width: 100%;}
 .homVis__txt ul li a {line-height: 1.2;  padding: 60px min(0.83vw,4px) 10px; width: 100%;}

 .homVis__info { width: 90%; border-radius: min(2vw,10px) 0 0 0;  line-height: 1.5;}
 .homVis__infSlider {padding: min(5vw,30px) min(8vw,60px); }
 .homVis__infSlider div {font-size: min(3.6vw,1.8rem);}
 .homVis__txt ul li span{
	display: block;
	font-size: min(2.8vw,1.4rem);
	font-weight: 500;
	line-height: 3;
	font-feature-settings: "palt" 1;
}

.homVis__txt{
	top: 40%;
}

.homVis__txtbox{
	top: 80%;
}
.homVis__btnbox{
	top: 280%;
}

}


/* homMenu --------------------------------------------------*/

#homMenu{padding: min(7.5vw,90px) 0 min(2.5vw,30px);}
.homMenu__flex{display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.homMenu__cont {width: 49%; padding: min(6vw,80px) min(3vw,60px); text-align: center;}
.homMenu__naika {background:var(--c-main-light);}
.homMenu__syouni {background:#f7f1f1;}
.homMenu__cont p {margin-bottom: 0;}
.homMenu__menu {max-width: 560px; margin: min(1.66vw,20px) auto min(4.16vw,50px); display: flex; display: -webkit-flex; flex-wrap: wrap;  column-gap: 3.5%;}
.homMenu__menu li {width: 31%; background: #fff; margin-top: 3.5%; font-size: min(1.4vw,1.8rem); padding: min(1.25vw,15px) min(0.4vw,5px); aspect-ratio:1/1; display: flex; display: -webkit-flex; justify-content: center; align-items: center; position: relative;}
.homMenu__menu li:hover, .homMenu__menu li a:hover {opacity: 1!important;}
.homMenu__menu li svg {position: absolute; top: 0; overflow:visible;pointer-events:none; width: 100% ;height: 100%;}
.homMenu__menu li svg rect{transition: all 1s ease-in-out; stroke-dasharray:400%; stroke-dashoffset:400%; width: 100% ;height: 100%;}
.homMenu__menu li:hover svg rect{stroke-dashoffset:0%;}
.homMenu__menu li img {display: block; width: auto; height: min(5.83vw,70px); margin: 0 auto min(2.08vw,25px); }
.homMenu__menu li p {line-height: 1.4; font-weight: 600;}

.homMenu__naika li:hover {background:var(--c-main-light-01); }
.homMenu__syouni li:hover {background:#eee0e0; }
.homMenu__syouni .homMenu__menu li p {color: var(--c-syouni);}
.homMenu__syouni .homMenu__menu li:nth-child(3) img,.homMenu__syouni .homMenu__menu li:nth-child(5) img { margin: 0 auto min(1vw,12px);}
.homMenu__btn {margin: 0 auto; width: 80%; max-width: min(25vw,300px);}

.homSubMenu{padding: min(8.3vw,100px) 0 0;}
.homSub__title {text-align: left; display: flex; display: -webkit-flex; justify-content: space-between; margin-bottom: min(5.83vw,70px);}
.homSub__title .homTitle__lv2 {text-align: left; width: 23%; margin: 0;}
.homSub__title .homSub__read {width: 72%;}

.homSub__wrap {position: relative; margin-bottom: min(5.83vw,70px);}
.homSub__wrap::before, .homSub__wrap::after {content: ""; width: 1px; height: 100%; background: var(--c-main); position: absolute; top: 0;}
.homSub__wrap::before {left: 32.5%;}
.homSub__wrap::after {right: 32.5%;}

.homSub__cont {width: 30%; }
.homSub__cont .homSub__icon {width: min(7.5vw,90px); margin: 0 auto min(1.66vw,20px);}
.homSub__cont h4 {text-align: center; font-size: min(2vw,2.4rem); font-weight: 600;}
.homSub__cont .homSub__txt {margin: min(0.83vw,10px) 0 0; line-height: 1.5;}
.homSub__cont .homSub__list {margin: min(2vw,24px) 0 0; font-size: min(1.5vw,1.8rem);}
.homSub__cont .homSub__list li {margin-top: min(0.83vw,10px); line-height: 1.4;}
.homSub__cont .homSub__list li a {display: block; background: var(--c-main-light); font-weight: 600; padding: min(1.5vw, 18px) min(2vw,24px); border-radius: min(0.4vw,5px); position: relative;}
.homSub__cont .homSub__list li a::before{content: ""; width: min(0.66vw,8px); aspect-ratio: 1/1; border-top: 1px solid var(--c-main); border-right: 1px solid var(--c-main); position: absolute; right: min(1.25vw,15px); top: 50%; transform: translateY(-50%) rotate(45deg);}

.homMenu__free {border: 2px solid var(--c-main); border-radius: min(0.83vw,10px); padding: min(4.16vw, 50px) min(5vw,60px); overflow: hidden;}
.homMenu__free .homMenu__free__img {float: right; margin: 0 0 0 min(6.6vw,80px); width: 30%; overflow: hidden;}
.homMenu__free .homMenu__free__img img {width: 100%; height: auto;}
.homMenu__free h3 {font-size: min(2.17vw,2.6rem); font-weight: 600; margin-bottom: min(1.25vw,15px);}
.homMenu__free p:last-child {margin-bottom: 0;}

@media (max-width: 767px) {
 #homMenu{padding: min(12vw,90px) 0 min(6vw,30px);}
 .homMenu__flex{display: block;}
 .homMenu__cont {width: 100%; padding: min(10vw,80px) min(5vw,60px); margin-bottom: 4vw;}
 .homMenu__menu {max-width: inherit; margin: min(4vw,20px) auto min(6vw,50px); column-gap: inherit; justify-content: space-between;}
 .homMenu__menu li {width: 48%; margin-top: 4%; font-size: min(4vw,1.8rem); padding: min(3vw,15px) min(1vw,5px);}
 .homMenu__menu li img { height: min(14vw,70px); margin: 0 auto min(5vw,25px);}
 .homMenu__syouni .homMenu__menu li:nth-child(3) img,.homMenu__syouni .homMenu__menu li:nth-child(5) img { margin: 0 auto min(5vw,25px);}
 .homMenu__btn {width: 80%; max-width: inherit;}

 .homSubMenu{padding: min(12vw,100px) 0 0;}
 .homSub__title {display: block; margin-bottom: min(6vw,70px);}
 .homSub__title .homTitle__lv2 {text-align: center; width: 100%; margin-bottom: min(6vw,30px);}
 .homSub__title .homSub__read {width: 100%;}
 .homSub__wrap {margin-bottom: min(8vw,70px);}
 .homSub__wrap::before, .homSub__wrap::after {content: none;}
 .homSub__cont {width: 100%; padding: 6vw 0; border-top: 1px dashed var(--c-main);}
 .homSub__cont .homSub__icon {width: min(17vw,90px); margin: 0 auto min(3vw,20px);}
 .homSub__cont h4 {font-size: min(5.4vw,2.4rem);}
 .homSub__cont .homSub__txt {margin: min(2vw,10px) 0 0;}
 .homSub__cont .homSub__list {margin: min(4vw,24px) 0 0; font-size: min(4vw,1.8rem);}
 .homSub__cont .homSub__list li {margin-top: min(2vw,10px);}
 .homSub__cont .homSub__list li a {padding: min(3.6vw, 18px) min(4vw,24px); border-radius: min(1vw,5px); }
 .homSub__cont .homSub__list li a::before{width: min(1.6vw,8px);right: min(3vw,15px);}

 .homMenu__free {border-radius: min(2vw,10px); padding: min(6vw, 50px) min(5vw,60px);}
 .homMenu__free .homMenu__free__img {float: none; margin: 0 0 min(5vw,80px); width: 100%; }
 .homMenu__free h3 {font-size: min(5.4vw,2.6rem); margin-bottom: min(3vw,15px);}
}


/* homNews --------------------------------------------------*/

#homNews{padding: min(9.17vw,110px) 0 min(19.17vw,230px); position: relative; background: var(--c-main-light);}
/* #homNews::before {content:""; background: url("../img/home/bg-homNews-01.svg") center center / cover no-repeat; aspect-ratio: 300/49; width: 100%; position: absolute; left: 0; top: 0;} */
#homNews::after {content:""; background: url("../img/home/bg-homNews-02.svg") center center / cover no-repeat; aspect-ratio: 300/30; width: 100%; position: absolute; left: 0; bottom: 0;}
#homNews .homInner--S {position: relative;}

.homNews__flex {text-align: center; display: flex; display: -webkit-flex; justify-content: center; column-gap: min(1.66vw,20px); margin-bottom: min(5.83vw,70px);}
.homNews__flex li {width: min(48%, 400px);}

.homNews__note {background: #fff; border-radius: min(0.83vw,10px); border: 2px solid var(--c-main); position: relative; padding: min(3.75vw,45px) min(5.83vw,70px); margin-bottom: min(4.16vw,50px);}
.homNews__note h3 {position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); background: var(--c-main); color: #fff; border-radius:30vw; font-size: min(2vw,2.4rem); font-weight: 600; letter-spacing: 0.2rem; padding: min(0.83vw,10px) min(1.66vw,20px); line-height: 1.3;}
.homNews__note ul {margin: 0;}
.homNews__note ul li {line-height: 1.4; padding-left: 1em; text-indent: -1em; position: relative;}
.homNews__note ul li::before {content: "・";}
.homNews__note ul li span {font-weight: 600;}
.homNews__note ul li:not(:first-child) {margin-top: min(1.25vw,15px);}

.homNews__frame {background: #fff; padding: min(4.16vw,50px) 0 min(5.83vw,70px); text-align: center;}
.homNews__frame h3 {font-size: min(3vw,3.6rem); margin-bottom: min(4.16vw,50px);}
.homNews__frame h3 span {position: relative; padding-bottom: min(0.83vw, 10px);}
.homNews__frame h3 span::before {content: ""; width: 100%; height: 1px; background: var(--c-main); position: absolute; left: 0; bottom: 0;}
.homNews__wrap {margin: 0 auto; width: 90%; max-width: 940px; height: min(33.33vw,400px);}

@media (max-width: 767px) {
 #homNews{padding: min(12vw,110px) 0 min(20vw,230px); }
 .homNews__flex {display:block; width: 80%;  margin: 0 auto min(10vw,70px);}
 .homNews__flex li {width: 100%; margin-bottom: min(2vw,10px);}

 .homNews__note {border-radius: min(2vw,10px); padding: min(9vw,45px) min(6vw,70px); margin-bottom: min(10vw,50px);}
 .homNews__note h3 {font-size: min(5vw,2.4rem); padding: min(2vw,10px) min(3vw,20px); width: 70vw; text-align: center;}
 .homNews__note ul li:not(:first-child) {margin-top: min(3vw,15px);}

 .homNews__frame {padding: min(6vw,50px) 0 min(10vw,70px);}
 .homNews__frame h3 {font-size: min(6vw,3.6rem); margin-bottom: min(8vw,50px);}
 .homNews__frame h3 span { padding-bottom: min(2vw, 10px);}
 .homNews__wrap { height: min(80vw,400px);}
}

/* homTopics --------------------------------------------------*/

#homTopics {padding: min(5vw,60px) 0;}
.homTopic__cont {padding: 0 min(1.25vw,15px);}
.homTopic__cont a {display: block; width: min(28vw,360px); border-radius: min(1.25vw,15px); background: var(--c-main-light);}
.homTopic__cont .homTopic__img {border-radius: min(1.25vw,15px) min(1.25vw,15px) 0 0; margin: 0; overflow: hidden; aspect-ratio:36/25; background: #666;}
.homTopic__cont .homTopic__img img {width: 100%; height: 100%; object-fit: cover;}
.homTopic__cont .homTopic__txt {padding: min(2vw,24px);}
.homTopic__cont .homTopic__txt h3 {text-align: center; font-weight: 600; font-size: min(1.83vw,2.2rem); margin-bottom: min(0.83vw,10px);}
.homTopic__cont .homTopic__txt p {margin: 0; font-size: min(1.3vw,1.6rem); line-height: 1.5;}

@media (max-width: 767px) {
  #homTopics {padding: min(10vw,60px) 0;}
 .homTopic__cont {padding: 0 min(1.5vw,10px);}
 .homTopic__cont a {width: min(80vw,400px); border-radius: min(3vw,15px); }
 .homTopic__cont .homTopic__img {border-radius: min(3vw,15px) min(3vw,15px) 0 0; }
 .homTopic__cont .homTopic__txt {padding: min(4.8vw,24px);}
 .homTopic__cont .homTopic__txt h3 {font-size: min(4.5vw,2.2rem); margin-bottom: min(2vw,10px);}
 .homTopic__cont .homTopic__txt p {font-size: min(3.8vw,1.6rem); }
}

/* homFeature --------------------------------------------------*/

#homFeature {padding: min(5vw,60px) 0;}
.homFeature__wrap{margin-top: min(7.5vw,90px);}
.homFeature__cont {position: relative; margin-top: min(2.5vw,30px);}
.homFeature__cont .homInner--M {min-height: min(36.67vw,440px); padding: min(3.3vw,40px) 0; display: flex; display: -webkit-flex; align-items: center;}
.homFeature__inr {width: 50%; display: inline-block; text-align: left;}
.homFeature__inr h3 {font-size: min(2.5vw,3rem); margin-bottom: min(2vw,24px); line-height: 1.5;}
.homFeature__img {position: absolute; top: 0; width: 44%; height: 100%; background: #eee;}
.homFeature__img img {width: 100%; height: 100%; object-fit: cover;}
.homFeature__cont:nth-child(odd) .homFeature__img  {left:0;}
.homFeature__cont:nth-child(even) .homFeature__img  {right:0;}
.homFeature__cont:nth-child(odd) .homInner--M {justify-content: flex-end;}

@media (max-width: 767px) {
 #homFeature {padding: min(10vw,60px) 0 0;}
 .homFeature__wrap{margin-top: min(8vw,90px);}
 .homFeature__cont {margin: 0; display: flex; flex-direction: column-reverse;}
 .homFeature__cont .homInner--M {min-height: inherit; padding: min(8vw,40px) 0; display: block;}
 .homFeature__inr {width: 100%; display: block;}
 .homFeature__inr h3 {font-size: min(5.6vw,3rem); margin-bottom: min(3vw,24px); }
 .homFeature__img {position: relative;  width: 100%; height:45vw;}
}

/* homColumn --------------------------------------------------*/
#homColumn {padding: min(14.17vw,170px) 0 min(9.17vw,110px); position: relative; background: var(--c-main-light);}
#homColumn::before {content: ""; background: url("../img/home/bg-homColumn-01.svg") center center / cover no-repeat; aspect-ratio: 300/23; width: 100%; position: absolute; left: 0; top: 0;}
.homCol__flex {max-width: 1140px; width: 90%; margin: 0 auto; display: flex; display: -webkit-flex; column-gap: 3.5%; flex-wrap: wrap; }
.homCol__cont {width: 31%; background: #fff; border-radius: min(1.25vw,15px); margin: 1.5% 0;}
.homCol__btn {margin: min(5vw,60px) auto 0; width: min(25vw,300px);}
.homCol__img {aspect-ratio: 360/235; overflow: hidden; border-radius: min(1.25vw,15px) min(1.25vw,15px) 0 0; background: #555; margin: 0;}
.homCol__img img {width: 100%; height: 100%; object-fit: cover;}
.homCol__cont h3  {text-align: center; font-weight: 600; padding: min(2.5vw,30px) min(1.66vw,20px); line-height: 1.4;}

@media (max-width: 767px) {
 #homColumn {padding: min(20vw,170px) 0 min(8vw,110px);}
 .homCol__flex {max-width: inherit; column-gap:inherit; justify-content: space-between; }
 .homCol__cont {width: 48%; border-radius: min(3vw,15px); margin: 2% 0;}
 .homCol__btn {margin: min(4vw,60px) auto 0; width: 80%;}
 .homCol__img {border-radius: min(3vw,15px) min(3vw,15px) 0 0; }
 .homCol__cont h3 {padding: min(3vw,30px) min(2vw,20px); font-size: min(3.8vw,1.8rem)}
}

/* homClinic --------------------------------------------------*/

#homClinic {padding: min(10vw,120px) 0 0;}
.homClinic__read {text-align: center;}
.homClinic__btn {display: flex; display: -webkit-flex; justify-content: center; column-gap: min(1.66vw,20px); margin: min(4.16vw,50px) auto min(7.5vw, 90px); }
.homClinic__btn li { width: min(25vw,300px);}
.homClinic__flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.homClinic__cont {width: 49%; padding: min(3.5vw, 60px);}
.homClinic__naika {background: var(--c-main-light);}
.homClinic__syouni {background: var(--c-syouni-light);}

.homClinic__cont table {width: 100%; font-size: min(1.25vw,1.5rem); table-layout: inherit; border: none; margin-bottom: min(2.5vw,30px);}
.homClinic__cont table th, .homClinic__cont table td { text-align: center; padding: min(1.25vw,15px) min(0.83vw,10px);}
.homClinic__cont table th {font-weight: normal; color: #fff; border: none;}
.homClinic__cont table td {background: #fff; border: none;}
.homClinic__naika table th {background:#8e7d63;}
.homClinic__naika table tr {border-bottom: 1px solid var(--c-main-light);}
.homClinic__syouni table th {background:#d6a2a2;}
.homClinic__syouni table tr {border-bottom: 1px solid var(--c-syouni-light);}

.homClinic__cont__btn .homBtnCommon {width: min(26.67vw,320px); margin: 0 auto;}
.homClinic__cont__btn .homBtnCommon span {padding-right: 1.8em;}
.homClinic__cont__btn .homBtnCommon span.ic-pdf::before {content:"\e415"; right: 0; top: 50%; transform:translateY(-50%); font-size: 1.25em;}

.homClinic__cont__note {margin: 0 0 min(3.3vw,40px); font-size: min(1.3vw,1.6rem);}
.homClinic__cont__note .fc-red {color: #db352d;}
.homClinic__cont__note li { display:block;} /*←追加*/

@media (max-width: 767px) {
 #homClinic {padding: min(14vw,120px) 0 0;}
 .homClinic__read {text-align: left;}
 .homClinic__btn {column-gap: 2%; justify-content: space-between; flex-wrap: wrap; margin: min(5vw,50px) auto min(4vw, 90px); }
 .homClinic__btn li { width: auto; flex-grow: 3; margin-bottom: min(2vw, 10px);}
 .homClinic__flex {display: block;}
 .homClinic__cont {width: 100%; padding: min(6vw, 60px) min(4vw, 20px); margin-bottom: min(3vw,15px);}
 .homClinic__cont table {font-size: min(3.3vw,1.5rem); margin-bottom: min(5vw,30px);}
 .homClinic__cont table th, .homClinic__cont table td {padding: min(2vw,15px) ;}
 .homClinic__cont__btn .homBtnCommon {width: 80%; }
 .homClinic__cont__note {margin: 0 0 min(8vw,40px); font-size: min(3.6vw,1.6rem);}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
underlayer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#visual {display: flex; display: -webkit-flex; justify-content: center; align-items: center; height: min(30vw, 360px); background: url("../img/page/common/bg-visual-01.jpg") center center / cover no-repeat ;}
#visual h2 {font-size: clamp(2rem , 3.17vw  , 3.8rem); text-align: center; line-height: 1.4;}
#visual h2 span {display: block; color: var(--c-main); text-transform: uppercase; font-family: var(--ff-en); font-size: clamp( 1.3rem, 1.5vw ,1.8rem); font-weight: 600;}
#container {width: 90%; margin: 0 auto; padding: min(5vw , 60px) 0 min(8.3vw , 100px);}

@media (max-width: 767px) { /* sp */
	#visual h2 {font-size: min(6vw  , 3.8rem); }
	#visual h2 span {font-size: min( 4.5vw ,1.8rem); }
	#container {padding: min(8vw , 60px) 0 ;}
}

/* navAnchor   ----------------------------------------------*/
#navAnchor {display: flex; justify-content: center; column-gap: min( 0.83vw, 10px); flex-wrap: wrap; margin-bottom: min(4.4vw , 50px);}
#navAnchor li { font-size: clamp(1.4rem, 1.5vw , 1.8rem); margin-bottom: min( 0.83vw, 10px);}
#navAnchor li a {display: block; padding: min( 0.66vw, 8px) min(1.25vw , 15px) min( 0.66vw, 8px) min(3vw, 35px); background:#E8F0C5/*var(--c-main-light)*/; border-radius: min(0.4vw , 5px); position: relative;}
#navAnchor li a::before {content: "\e7cd"; font-family: var(--ff-symbol); position: absolute; left: min( 0.83vw, 10px); top: 50%; transform: translateY(-50%); font-weight: 300; font-size: min(1.66vw , 2rem); }
/* navAnchor.arrow-r----------------------------------------------*/
#navAnchor li.arrow-r a {display: block; padding: min( 0.66vw, 8px) min(1.25vw , 15px) min( 0.66vw, 8px) min(3vw, 35px); background:var(--c-main-light); border-radius: min(0.4vw , 5px); position: relative;}
#navAnchor li.arrow-r a::before {transform: translateY(-50%)rotate(-90deg);}

#navInpage {background: var(--c-main-light); padding: min(2.5vw, 30px) min(4.4vw,50px) min(1.66vw, 20px);}
#navInpage ul {margin: 0; text-align: center; list-style: none; padding: 0 !important; font-size: 0;}
#navInpage ul li {list-style-type: none !important; display: inline-block; font-size: min(1.5vw,1.8rem); margin: 0 min(1.25vw , 15px) min(0.83vw , 10px)}
#navInpage ul li a {padding-left: 1.25em; position: relative; }
#navInpage ul li a::before {content: "\e7cd"; font-family: var(--ff-symbol); position: absolute; left: 0; top: 50%; transform: translateY(-50%)rotate(-90deg); font-weight: 300; font-size: min(1.66vw , 2rem); font-variation-settings: 'FILL' 1; line-height: 1.5;}
#navInpage ul li.current a::before {content: "\e7cd"; font-family: var(--ff-symbol); position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-weight: 300; font-size: min(1.66vw , 2rem); font-variation-settings: 'FILL' 1; line-height: 1.5;}

@media (max-width: 767px) { /* sp */
	#navAnchor { column-gap: min( 1vw, 10px); margin-bottom: min(6vw , 50px);}
	#navAnchor li { flex-grow: 3; font-size: min(3.8vw , 1.8rem); margin-bottom:  min( 1vw, 10px); line-height: 1.5; text-align: center;}
	#navAnchor li a {padding: min( 2vw, 8px) min(3vw , 15px) min( 2vw, 8px) min(7vw, 35px);  border-radius: min(1vw , 5px);}
	#navAnchor li a::before { left: min( 1.5vw, 10px); font-size: min(5vw , 2rem); }
/* navAnchor.arrow-r 767px----------------------------------------------*/ 
	#navAnchor li.arrow-r a::before { left: min( 1.5vw, 10px); font-size: min(5vw , 2rem); transform: translateY(-50%)rotate(-90deg); }
	#navAnchor li.arrow-r a {padding: min( 2vw, 8px) min(3vw , 15px) min( 2vw, 8px) min(7vw, 35px);  border-radius: min(1vw , 5px); background:var(--c-main-light); }
	

 #navInpage {padding: 3vw;}
 #navInpage ul {text-align: left;}
 #navInpage ul li {font-size: min(3.8vw,1.8rem); margin:min(1vw , 5px);}
 #navInpage ul li a::before { font-size: min(4vw , 2rem); transform: translateY(-50%)rotate(-90deg); }
 #navInpage ul li.current a::before { font-size: min(4vw , 2rem);  }


}

/* hx   ----------------------------------------------*/
#container h1, #container h2, #container h3, #container h4, #container h5 {line-height: 1.4;}

#container h1 {color:var(--c-main);  background: var(--c-main-light-01); overflow: hidden; font-size: clamp(1.8rem , 2.5vw , 3rem); padding: min( 2vw, 25px) min(3.3vw , 40px); border-radius: min(0.6vw , 8px); position: relative; margin: min(7.8vw , 90px) auto  min(5vw , 60px); }
#container h1::before {content: ""; width: min( 25vw, 300px); aspect-ratio: 2/1; background: rgba(255,255,255,0.1); position: absolute;  top: 50%; transform-origin: center center; right: 0; transform: translate(35%, -50%) skew(-65deg);}

#container .pageTitle {text-align: center; font-size: clamp(2.2rem, 3.4vw, 4rem); margin: 0 auto min(4.4vw , 50px); color: #333; font-weight: 500; padding: 0; background: none;}
#container .pageTitle::before {content: none;}

#container h2 {margin: min(5vw , 60px) auto min(4.4vw , 50px); color: var(--c-main); font-size: clamp(1.8rem,  2.5vw , 3rem); padding-bottom: min(1.25vw , 15px); border-bottom: 3px solid var(--c-main); font-weight: 600;}
#container h3 {margin: min(4.4vw , 50px) auto; font-size: clamp(1.6rem, 2.17vw , 2.6rem); color: var(--c-main); padding-left: min(4.4vw , 50px); position: relative; font-weight: 600;}
#container h3::before {content: "\f603"; font-family: var(--ff-symbol); position: absolute; left: 0; top: 0; font-variation-settings: 'FILL' 1; font-size: clamp(2rem, 3.3vw , 4rem); line-height: 1; font-weight: 300;}
#container h4 {margin: min(4.4vw , 50px) auto min(2.5vw , 30px); font-size: clamp(1.6rem, 2vw , 2.4rem); font-weight: 600; padding-left: min(1.66vw , 20px); border-left: 5px solid var(--c-main);}

#container .flex h1:first-child,  #container .flex h2:first-child, #container .flex h3:first-child, #container .flex h4:first-child,
.dec h1:first-child,  .dec h2:first-child, .dec h3:first-child, .dec h4:first-child {margin-top: 0;}

@media (max-width: 767px) { /* sp */
	#container h1 {font-size: min(6vw , 3rem); padding: min( 4vw, 20px); border-radius: min(1.5vw , 8px); margin: min(10vw , 90px) auto  min(8vw , 60px); }
	#container h1::before { width: min( 60vw, 300px);  transform: translate(80%, -50%) skew(-65deg);}
	#container .pageTitle { font-size: min(6.5vw, 4rem); margin: 0 auto min(5vw , 50px);}
	#container h2 {margin: min(8vw , 60px) auto min(5.5vw , 50px);  font-size: min( 5.4vw , 3rem); padding-bottom: min(3vw , 15px); }
	#container h3 {margin: min(5vw , 50px) auto; font-size: min( 5vw, 2.6rem); padding-left: min(8vw , 50px); }
	#container h3::before {font-size: min(7vw , 4rem); }
	#container h4 {margin: min(5vw , 50px) auto min(4vw , 30px); font-size: min(5vw , 2.4rem); padding-left: min(4vw , 20px); }
}

/* link  ----------------------------------------------*/
.btn {display: inline-block; min-width: min( 30.42vw, 365px); line-height: 1.4; padding: min(2vw , 25px); background:var(--c-main-light); text-align: center; border-radius: min( 0.6vw, 8px); overflow: hidden; position: relative; font-weight: 600; transition: all 0.2s ease-in-out; border: 1px solid var(--c-main);}
.btn:hover {opacity: 0.9 !important; transform: translateY(2px);}
.btn:hover::before {height: 2px; }
.btn::after{content: ""; width: min(1vw , 12px); aspect-ratio: 1/1; border-top: 2px solid var(--c-main); border-right: 2px solid var(--c-main); position: absolute; right: min(1.66vw , 20px); top: 50%; transform: translate( 0 , -50%) rotate(45deg);}

.btn--ex::after {font-family: var(--ff-symbol); content: "\e89e"; border: none; transform: translate( -50% , -50%) rotate(0); font-weight: 400; font-size: min(2vw, 2.4rem);}
.btn--pdf::after {font-family: var(--ff-symbol); content: "\e415"; border: none; transform: translate( -80% , -50%) rotate(0); font-weight: 200; font-size: min(2.5vw, 3rem);}
/* ▽ピンクlinkボタン */
.btn_p {display: inline-block; min-width: min( 30.42vw, 365px); line-height: 1.4; padding: min(2vw , 25px); background:var(--c-syouni-light-01); text-align: center; border-radius: min( 0.6vw, 8px); overflow: hidden; position: relative; font-weight: 600; transition: all 0.2s ease-in-out; border: 1px solid var(--c-main);}
.btn_p:hover {opacity: 0.9 !important; transform: translateY(2px);}
.btn_p:hover::before {height: 2px; }
.btn_p::after{content: ""; width: min(1vw , 12px); aspect-ratio: 1/1; border-top: 2px solid var(--c-main); border-right: 2px solid var(--c-main); position: absolute; right: min(1.66vw , 20px); top: 50%; transform: translate( 0 , -50%) rotate(45deg);}
.btn_p--ex::after {font-family: var(--ff-symbol); content: "\e89e"; border: none; transform: translate( -50% , -50%) rotate(0); font-weight: 400; font-size: min(2vw, 2.4rem);}
.btn_p--pdf::after {font-family: var(--ff-symbol); content: "\e415"; border: none; transform: translate( -80% , -50%) rotate(0); font-weight: 200; font-size: min(2.5vw, 3rem);}
/* △ピンクlinkボタン */
/* ▽グリーンlinkボタン */
.btn_G {display: inline-block; min-width: min( 30.42vw, 365px); line-height: 1.4; padding: min(2vw , 25px); background:var(--c-decC); text-align: center; border-radius: min( 0.6vw, 8px); overflow: hidden; position: relative; font-weight: 600; transition: all 0.2s ease-in-out; border: 1px solid var(--c-main);}
.btn_G:hover {opacity: 0.9 !important; transform: translateY(2px);}
.btn_G:hover::before {height: 2px; }
.btn_G::after{content: ""; width: min(1vw , 12px); aspect-ratio: 1/1; border-top: 2px solid var(--c-main); border-right: 2px solid var(--c-main); position: absolute; right: min(1.66vw , 20px); top: 50%; transform: translate( 0 , -50%) rotate(45deg);}
.btn_G--ex::after {font-family: var(--ff-symbol); content: "\e89e"; border: none; transform: translate( -50% , -50%) rotate(0); font-weight: 400; font-size: min(2vw, 2.4rem);}
.btn_G--pdf::after {font-family: var(--ff-symbol); content: "\e415"; border: none; transform: translate( -80% , -50%) rotate(0); font-weight: 200; font-size: min(2.5vw, 3rem);}
/* △グリーンlinkボタン */

@media (max-width: 767px) { /* sp */
	.btn {display: block; min-width: inherit; width: 90%; margin-right: auto; margin-left: auto; padding: min(5vw , 25px) min(8vw, 40px); border-radius: min( 1.5vw, 8px);}
	.btn_p {display: block; min-width: inherit; width: 90%; margin-right: auto; margin-left: auto; padding: min(5vw , 25px) min(8vw, 40px); border-radius: min( 1.5vw, 8px);}
	.btn_G {display: block; min-width: inherit; width: 90%; margin-right: auto; margin-left: auto; padding: min(5vw , 25px) min(8vw, 40px); border-radius: min( 1.5vw, 8px);}
	.btn::after{ width: min(2.4vw , 12px);  right: min(4vw , 20px); }
	.btn_p::after{ width: min(2.4vw , 12px);  right: min(4vw , 20px); }
	.btn_G::after{ width: min(2.4vw , 12px);  right: min(4vw , 20px); }
	.btn--ex::after {font-size: min(4.8vw, 2.4rem);}
	.btn--pdf::after {font-size: min(6vw, 3rem);}
	.btn_p--ex::after {font-size: min(4.8vw, 2.4rem);}
	.btn_p--pdf::after {font-size: min(6vw, 3rem);}
	.btn_G--ex::after {font-size: min(4.8vw, 2.4rem);}
	.btn_G--pdf::after {font-size: min(6vw, 3rem);}
}

/* list   ----------------------------------------------*/
#container ul:not(#navAnchor), #container ol {padding-left: 1em;}
#container ul:not(#navAnchor) li {list-style: disc;}
#container ol li {list-style: decimal;}
#container ul:not(#navAnchor) li::marker, #container ol li::marker  {color: var(--c-main); }

#container ul.listCheck {padding-left: 0 !important;}
#container ul.listCheck li {list-style: none !important; padding-left: 1em; text-indent: -1em; position: relative;}
#container ul.listCheck li::before {content: "\e86c"; font-family: var(--ff-symbol); color:var(--c-main); font-variation-settings: 'FILL' 1; }


/* accordion   ----------------------------------------------*/
.accordion {background: var(--c-main-light); border-radius: min( 0.83vw, 10px); margin: min(3.3vw , 40px) auto;}
.acc--subject { padding: min(2.5vw , 30px) min(3vw , 35px)  min(2.5vw , 30px)  min(2.5vw , 30px); position: relative; color: var(--c-main); font-size: clamp(1.6rem, 2vw , 2.4rem);}
/* .acc--subject::before, .acc--subject::after {content: ""; width: min(1.66vw , 20px); height: 2px; background: var(--c-main); position: absolute; right: min(2.5vw, 30px); top: 50%; transform-origin: center center; transform: translate(0 , -50%);  transition: all 0.2s ease-in-out;} */
/* .acc--subject::after { transform: translate(0 , -50%) rotate(90deg);}
.acc--subject.active::after { transform: translate(0 , -50%) rotate(0);} */
.acc--content {padding: 0  min(2.5vw , 30px)  min(2.5vw , 30px); display: none; }
.acc--subject p{margin: 0;}
.acc--subject span{font-size: 0.7em;}

@media (max-width: 767px) { /* sp */
.accordion {border-radius: min( 1.5vw, 10px); margin: min(6vw , 40px) auto;}
.acc--subject { padding: min(5vw , 30px) min(10vw , 80px) min(5vw , 30px) min(5vw , 30px) ; font-size: min(4.5vw , 2.4rem); line-height: 1.4;}
.acc--subject::before, .acc--subject::after {width: min(4vw , 20px);  right: min(4vw, 30px); }
.acc--content {padding: 0  min(5vw , 30px) min(5vw , 30px); display: none; }
}


/* sort ---------------------------------------------------- */
.sort-list {text-align: center; font-size: 0; margin-bottom: min(3.3vw , 40px);}
.sort-list li { list-style: none !important; font-size: clamp(1.6rem, 1.66vw, 2rem); margin: 0 min(0.4vw , 5px) min(0.4vw , 5px); display: inline-block; cursor: pointer; color: var(--c-main); 
background: var(--c-main-light-01); padding: min( 0.4vw, 5px) min(1.66vw , 20px); border-radius: 5px;}
.sort-list li.active {background: var(--c-main); color: #fff;}

.list_date {list-style: none !important; padding: 0 !important;}
.list_date li {border-bottom: 1px dashed #ccc; list-style: none !important;  padding: min(1.25vw , 15px) 0 min(1.25vw , 15px) 7em; position: relative; }
.list_date li span {position: absolute; left: 0; }

@media (max-width: 767px) { /* sp */
.list_date li {padding: min(3vw , 15px) 0; }
.list_date li span {position: relative; left: inherit;display: block;}
}


/* faq   ----------------------------------------------*/
.faq--q,  .faq--a p:last-child{margin: 0;}
.faq--q, .faq--a {padding-left: min(4.5vw , 50px); position: relative;}
.faq--q span, .faq--a span {display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; border: 2px solid var(--c-main); color: var(--c-main); background: rgba(255,255,255,0.8); border-radius: 50%; width: min(3.3vw , 40px); height: min(3.3vw , 40px); }
 .faq--a span  {border-color: #eb7498; color: #eb7498;}
 
 @media (max-width: 767px) { /* sp */
	.faq--q, .faq--a {padding-left: min(10vw , 50px); }
	.faq--q span {top: 50%; transform: translateY(-50%);}
	.faq--q span, .faq--a span { width: min(8vw , 40px); height: min(8vw , 40px); }
 }  
 
/* table   ----------------------------------------------*/
table {width: 100%; font-size: clamp( 1.3rem, 1.3vw, 1.8rem ); table-layout: fixed;}
table th, table td {padding: min(1.25vw , 15px); border-width: 1px; border-style: solid;}

.tblA, .tblB, .tblC {border: 1px  solid var(--c-main);}
.tblA th, .tblB th, .tblC th {background: var(--c-main-light); color: var(--c-main); border-color: var(--c-main);}
.tblA td, .tblB td, .tblC td {border-color: var(--c-main);}

.tblD {text-align: center;}
.tblD thead th {background: var(--c-brownB);  border-color: #fff;}
.tblD tbody th {background: var(--c-main-light); color: var(--c-main); border-color:var(--c-brownB); }
.tblD tbody td {border-color:var(--c-brownB); background: #fff/*var(--c-main-light)*/;}
/* ▽ピンクの表追加 */
.tblD_p {text-align: center;}
.tblD_p thead th {background: #d6a2a2; color: #fff; border-color: #fff;}
.tblD_p tbody th {background: var(--c-syouni-light); color: var(--c-main); border-color:#d6a2a2; } 
.tblD_p tbody td { border-color:#d6a2a2; background: #fff/* var(--c-syouni-light)*/;}
/* △ピンクの表追加 */

/* 枠線だけ　スクロール用追加*/
.tblD_n {text-align: center;}
.tblD_n thead th { border-color: #a48b78;}
.tblD_n tbody th { color: var(--c-main); border-color:#a48b78; }
.tblD_n tbody td {border-color:#a48b78;}

.tblE,.tblE td,.tblE th{
    border: none !important;
}

@media (max-width: 767px) {
table {font-size: min(4vw, 1.8rem );}
table th, table td {padding: min(1.5vw , 15px); }
.tblB {border-top: none;}
.tblB th, .tblB td {display: block; width: 100%; border:none;}
.tblB th, .tblB td {border-top: 1px solid var(--c-brown);}
.spScroll {	cursor: grab;	overflow: auto;	white-space: nowrap;}
.tblD {table-layout: auto;}
.tblD thead th:first-child, .tblD tbody th {position: sticky; left: 0; top:0; z-index: 5;}
.tblD thead th:first-child::before, .tblD tbody th::before {content: ""; width: 2px; height: 100%; background: #fff; position: absolute; left: -2px; top: 0;}
.tblD thead th:first-child::after, .tblD tbody th::after {content: ""; width: 1px; height: 100%; background: #fff; position: absolute; right: -1px; top: 0;}
/* ▽ピンクの表追加 */	
.tblD_p {table-layout: auto;}
.tblD_p thead th:first-child, .tblD_p tbody th {position: sticky; left: 0; top:0; z-index: 5;}
.tbl_p thead th:first-child::before, .tblD_p tbody th::before {content: ""; width: 2px; height: 100%; background: #fff; position: absolute; left: -2px; top: 0;}
.tblD_p thead th:first-child::after, .tblD_p tbody th::after {content: ""; width: 1px; height: 100%; background: #fff; position: absolute; right: -1px; top: 0;}
/* △ピンクの表追加 */
/* 枠線だけ　スクロール用追加*/	
.tblD_n {table-layout: auto;}
.tblD_n thead th:first-child, .tblD_n tbody th {position: sticky; left: 0; top:0; z-index: 5;}
.tblD_n thead th:first-child::before, .tblD_n tbody th::before {content: ""; width: 2px; height: 100%; position: absolute; left: -2px; top: 0;}
.tblD_n thead th:first-child::after, .tblD_n tbody th::after {content: ""; width: 1px; height: 100%; position: absolute; right: -1px; top: 0;}	
	
	
	.tblE img { width: 40vw !important; }
}

/* dec   ----------------------------------------------*/
.dec {margin: min(3.3vw , 40px) auto; padding: min( 3.3vw , 40px); border-radius: min(0.83vw , 10px);}
.decA {background: var(--c-main-light);}
.decAp {background: #f5ecec;}
.decAl {background: var(--c-main-light);}
.decB {background: #fff; border: 2px solid var(--c-main);}
.decC {background: #f3f3f3;}
.dec p:last-child {margin-bottom: 0;}
#container .dec h3:first-child, #container .dec h4:first-child {margin: 0 auto min(1.66vw , 20px);}

@media (max-width: 767px) {
.dec {margin: min(5vw , 40px) auto; padding: min(5vw , 40px); border-radius: min(1.5vw , 10px);}
#container .dec h3:first-child, #container .dec h4:first-child {margin: 0 auto min(3vw , 20px);}

}
/* flex   ----------------------------------------------*/
#container .flex {display: flex; display: -webkit-flex;  flex-wrap: wrap;  margin: 0 auto min(5vw , 60px);}
.flx--equall {column-gap: min(3.3vw , 40px); }
.flx--equall .flex__cont {flex: 1;}
.flex__cont img {width: 100%; height: auto;}
.flx--sb {justify-content: space-between;}
.flx--c {justify-content: center; }

@media (max-width: 767px) {
	.flex__cont {flex: inherit !important; width: 100%; margin-bottom: min(4vw , 20px);}
	#container .flx--half {justify-content: space-between !important; column-gap: 0 !important;}
	.flx--half .flex__cont  {width: 48%;}
	.flx--reverse {flex-direction: column-reverse;}
}

.floatBox {overflow: hidden;}
.floatL {float: left;  margin: 0 min(2.5vw , 30px) min(2.5vw , 30px) 0; display: inline-block;}
.floatR {float: right;  margin: 0 0 min(2.5vw , 30px) min(2.5vw , 30px); display: inline-block;}
.floatL img , .floatR img { height: auto; }

@media (max-width: 767px) {
.floatL img , .floatR img { width: 45vw !important; }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pediatrics
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#pediatrics #visual {background: url("../img/page/common/bg-pedsVisual-01.jpg") center center / cover no-repeat ;}

#pediatrics .pageTitle {color: var(--c-peds); }
#pediatrics #navLocal {display: flex; display: -webkit-flex; justify-content: space-between; padding: 0 !important; margin: 0 auto min(5vw,60px); max-width: 1200px;}
#pediatrics #navLocal li {width: 24.5%; display: flex; display: -webkit-flex;}
#pediatrics #navLocal a {width: 100%; height: min(8.3vw,100px); display: flex; display: -webkit-flex; align-items: center; border: 1px solid var(--c-peds); background: #fff; border-radius: min(1.25vw,15px); position: relative;}
#pediatrics #navLocal a:hover, #pediatrics #navLocal a.current{background: var(--c-peds-light);}
#pediatrics #navLocal a p {margin: 0; color: var(--c-peds); font-weight: 600; line-height: 1.4; font-size: min(1.5vw,1.8rem);}
#pediatrics #navLocal a::before {content: ""; position: absolute; top: 50%; transform: translateY(-50%); background-size: cover; background-repeat: no-repeat; background-position: center center;}
#pediatrics #navLocal .nav-peds--ippan a {padding-left: min(7.5vw,110px);}
#pediatrics #navLocal .nav-peds--ippan a::before {background-image: url("../img/page/pediatrics/ic-ippan-01.png"); aspect-ratio: 72/64; width: min(5vw,72px); left: min(1.2vw,20px); }
#pediatrics #navLocal .nav-peds--ippan a.current::before {background-image: url("../img/page/pediatrics/ic-ippan-01_current.png"); }
#pediatrics #navLocal .nav-peds--gairai a {padding-left: min(9vw,130px);}
#pediatrics #navLocal .nav-peds--gairai a::before {background-image: url("../img/page/pediatrics/ic-special-01.png"); aspect-ratio: 97/71; width: min(7.5vw,97px); left: min(1vw,20px); }
#pediatrics #navLocal .nav-peds--gairai a.current::before{background-image: url("../img/page/pediatrics/ic-special-01_current.png"); }
#pediatrics #navLocal .nav-peds--yobou a {padding-left: min(9vw,130px);}
#pediatrics #navLocal .nav-peds--yobou a::before {background-image: url("../img/page/pediatrics/ic-yobou-01.png"); aspect-ratio: 72/71; width: min(5vw,72px); left: min(1.2vw,20px); }
#pediatrics #navLocal .nav-peds--yobou a.current::before{background-image: url("../img/page/pediatrics/ic-yobou-01_current.png"); }
#pediatrics #navLocal .nav-peds--column a {padding-left: min(7.5vw,90px);}
#pediatrics #navLocal .nav-peds--column a::before {background-image: url("../img/page/pediatrics/ic-column-01.png"); aspect-ratio: 60/82; width: min(5vw,60px); left: min(1.2vw,20px); }
#pediatrics #navLocal .nav-peds--column a.current::before{background-image: url("../img/page/pediatrics/ic-column-01_current.png"); }

#pediatrics #navAnchor li a {background: var(--c-peds-light); color: var(--c-peds);}


/* #pediatrics navAnchor.arrow-r-----------*/ 
#pediatrics #navAnchor li.arrow-r a::before {transform: translateY(-50%)rotate(-90deg); }
#pediatrics #navAnchor li.arrow-r { font-size: clamp(1.4rem, 1.5vw , 1.8rem); margin-bottom:  min( 0.83vw, 10px);}
#pediatrics #navAnchor li.arrow-r a {display: block; padding: min( 0.66vw, 8px) min(1.25vw , 15px) min( 0.66vw, 8px) min(3vw, 35px);  background: #FFF;
	; border: 1.5px solid var(--c-peds); border-radius: min(0.4vw , 5px); position: relative;}

#pediatrics #container h1:not(.pageTitle) {background: url("../img/page/pediatrics/bg-h1-01.png") center top / 100% auto no-repeat;  max-width: 1120px; min-height: min(10vw,160px); text-align: center; padding-top: min(5vw,80px); font-size: min(3vw,3.6rem); text-shadow: 2px 2px 2px white, -2px 2px 2px white, -2px -2px 2px white, 2px -2px 2px white;}
#pediatrics #container h1::before{content: none;}
#pediatrics #container h1 span {position: relative; z-index: 1;}
#pediatrics #container h1.h1-B {max-width: inherit; min-height: inherit;background: rgb(253,246,248);
background: linear-gradient(90deg, rgba(253,246,248,1) 35%, rgba(184,224,254,1) 100%); text-align: left; padding: min(2.5vw,30px); text-shadow: none; position: relative;}
#pediatrics #container h1.h1-B::after {content: ""; background: url("../img/page/pediatrics/ic-rainbow.png") center center / cover no-repeat; aspect-ratio: 1/1; height: 90%; position: absolute; right:0; bottom: 0;}

#pediatrics #container h2 {border-bottom: none; font-weight: normal; position: relative; padding: 0 0 min(1.66vw,20px) min(7.5vw,90px); }
#pediatrics #container h2::before {content: ""; background: url("../img/page/pediatrics/ic-h2-01.svg") center center / cover no-repeat; aspect-ratio: 300/143; width: min(5vw,72px); position: absolute; left: 0; top:min(0.4vw,5px);}
#pediatrics #container h2::after {content: ""; background: url("../img/page/pediatrics/bg-h2-01.png") left top / auto 100% repeat-x; width: 100%; height: min(0.5vw,6px);position: absolute; left: 0; bottom: 0;}

#pediatrics #container h3 {color: var(--c-peds); padding-left: min(3.3vw,40px);}
#pediatrics #container h3::before {content: ""; background: url("../img/page/pediatrics/ic-h3-01.svg") center center / cover no-repeat; aspect-ratio: 1/1; width: min(2.67vw,32px); position: absolute; left: 0; top: min(0.25vw,3px);}

#pediatrics #container h4 {color: var(--c-peds); border-color: var(--c-peds);}

#pediatrics .btn {background:var(--c-peds-light-02); border: 1px solid var(--c-peds); color: var(--c-peds);}
#pediatrics .btn::after{border-color: var(--c-peds); }

#pediatrics #container ul:not(#navAnchor) li::marker, #pediatrics #container ol li::marker  {color: var(--c-peds); }
#pediatrics #container ul.listCheck li::before {color:var(--c-peds);}

#pediatrics .tblA, #pediatrics  .tblB, #pediatrics  .tblC {border: 1px  solid var(--c-peds);}
#pediatrics .tblA th, #pediatrics .tblB th, #pediatrics .tblC th {background: var(--c-peds-light); color: var(--c-peds); border-color: var(--c-peds);}
#pediatrics .tblA td, #pediatrics .tblB td, #pediatrics .tblC td {border-color: var(--c-peds);}
#pediatrics .tblD thead th {background: var(--c-peds); }
#pediatrics .tblD_p thead th {background: var(--c-peds); }

#pediatrics .decA {background: var(--c-peds-light);}
#pediatrics .decAl {background: #f5ecec;}
#pediatrics .decB {border: 1px solid var(--c-peds);}
#pediatrics .decC {background: var(--c-main-light);}

#pediatrics .accordion {background:var(--c-main-light);}


@media (max-width: 767px) {
 #pediatrics #navLocal {margin: 0 auto min(5vw,60px); flex-wrap: wrap;}
 #pediatrics #navLocal li {width: 24%; }
 #pediatrics #navLocal a { height:auto; border-radius: min(3vw,15px); padding: min(18vw,110px) 2vw 3vw !important; display: block;}
 #pediatrics #navLocal a p {font-size: min(3.8vw,1.8rem); text-align: center; line-height: 1.2;}
 #pediatrics #navLocal a::before{left:50% !important; top: 4vw; transform: translateX(-50%);}
 #pediatrics #navLocal .nav-peds--ippan a::before {width: 60%; }
 #pediatrics #navLocal .nav-peds--gairai a::before {width: 70%;}
 #pediatrics #navLocal .nav-peds--yobou a::before {width:50%;}
 #pediatrics #navLocal .nav-peds--column a::before {width: 48%; top:2vw; }

 #pediatrics #container h1:not(.pageTitle) { min-height:inherit; padding: min(17vw,145px) 0 0; font-size: min(6vw,3.6rem); background: url("../img/page/pediatrics/bg-h1-01_sp.png") center top / 100% auto no-repeat;}
 #pediatrics #container h1::before{content: none;}
 
 #pediatrics #container h1.h1-B {padding: min(5vw,30px); background: rgb(253,246,248);
background: linear-gradient(90deg, rgba(253,246,248,1) 35%, rgba(184,224,254,1) 100%);}

 #pediatrics #container h2 {padding: 0 0 min(3vw,20px) min(13vw,90px); }
 #pediatrics #container h2::before {width: min(10vw,72px); top:min(1vw,5px);}
 #pediatrics #container h2::after {height: min(1.2vw,6px);}

 #pediatrics #container h3 {padding-left: min(8vw,40px);}
 #pediatrics #container h3::before {width: min(6vw,32px); top: min(0.6vw,3px);}
	
	/* #pediatrics navAnchor.arrow-r-----------*/ 
#pediatrics #navAnchor li.arrow-r a::before { left: min( 1.5vw, 10px); font-size: min(5vw , 2rem); transform: translateY(-50%)rotate(-90deg); }
#pediatrics #navAnchor li.arrow-r { font-size: min(3.8vw , 1.8rem); margin-bottom:  min( 1vw, 10px); line-height: 1.5;}
#pediatrics #navAnchor li.arrow-r a {padding: min( 2vw, 8px) min(3vw , 15px) min( 2vw, 8px) min(7vw, 35px);  border-radius: min(1vw , 5px); background: #FFF; border: 1.5px solid var(--c-peds);}	
	
	
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
column
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.col__list{width: 80%;}
.col-post{position: relative; padding: min(2.5vw , 30px) min(21.67vw , 260px) min(2.5vw , 30px) 0; border-bottom: 1px dashed #aaa; min-height: min(12.5vw , 150px); box-sizing: content-box;} 
.col-post .col-post__img {position: absolute; right: 0; top: min(2.5vw , 30px); aspect-ratio: 4/3; width: min(16.6vw , 200px); background: #eee; margin: 0; overflow: hidden;}
.col-post .col-post__img img {object-fit: cover; width: 100%; height: 100%;}
.col-post h4 {margin: 0 auto min(1.25vw , 15px) !important;}
.col-post ul {margin: 0; font-size: 0;}
.col-post ul li {padding: 0; list-style: none; font-size: min(1.6vw , 1.8rem); display: inline-block; margin-right: min(1.25vw , 15px);}

.col__author {display: flex; display: -webkit-flex;  justify-content: flex-start; flex-wrap: wrap; column-gap: 1.25% !important; border-top: 1px solid #ccc; padding-top: min(4.4vw , 50px); margin-top: min(6.6vw , 80px);} 
.col__author dl {width: 19%; font-size: min(1.3vw , 1.6rem); margin-bottom: min(2.5vw , 30px);}
.col__author dl dt {font-weight: 600; margin-bottom: min(0.4vw , 5px);}
.col__author dl dd {padding-left: min(1.66vw , 2rem); line-height: 1.5; margin-bottom: min(0.4vw , 5px);}
.col__author dl dd::before {left: 0; top: 0; color: var(--c-main); font-size: min(1.66vw , 2rem); line-height: 1.2;}
.col__author dl dd  a {color: #333;}
.col__author dl dd  a:hover {text-decoration: underline;}

@media (max-width: 1530px) {
.col__list{width: 100%;}
.col__author {column-gap: 1.3% !important; } 
.col__author dl {width: 24%;}
}

@media (max-width: 840px) {
.col__author {column-gap: 2% !important; } 
.col__author dl {width: 32%;}
}

@media (max-width: 767px) {
.col-post{padding: min(5vw , 30px) min(28vw , 260px) min(5vw , 30px) 0;  min-height: min(19vw , 150px); } 
.col-post .col-post__img {top: min(5vw , 30px); width: min(25vw , 200px); }
.col-post h4 {margin: 0 auto min(3vw , 15px) !important; font-size: min(4.2vw , 1.8rem) !important;}
.col-post ul li { font-size: min(4vw , 1.8rem);  margin-right: min(2vw , 15px);}

.col__author {column-gap: 0 !important; padding-top: min(6vw , 50px); margin-top: min(10vw , 80px); justify-content: space-between;} 
.col__author dl {width: 48%; font-size: min(3.8vw , 1.6rem); margin-bottom: min(5vw , 30px);}
.col__author dl dt {margin-bottom: min(1vw , 5px);}
.col__author dl dd {padding-left: min(4.4vw , 2rem); margin-bottom: min(1vw , 5px);}
.col__author dl dd::before {font-size: min(4.5vw , 2rem);}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width:768px) {
/* hover */
a:hover {opacity: .8 !important; text-decoration: none;transition: all 0.2s ease-in-out;}
.clickable:hover { opacity: .8 !important; transition: all 0.2s ease-in-out;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1200px) and (min-width: 768px) {
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {
}


/* 20241218 */
.homNews__tab {display:flex; display: -webkit-flex; column-gap: min(0.8vw,10px); margin: 0 auto; width: 90%; max-width: 940px; }
.homNews__tab li {cursor: pointer; border-radius: min(0.6vw, 8px) min(0.6vw, 8px) 0 0; padding: min(4vw,5px) min(1.25vw, 15px); min-width: min(10vw, 120px); background: #ccc; position: relative;  color:#fff; }
.homNews__tab li.is_active::before{content: ""; width: min(1vw,12px); aspect-ratio: 1/1; position: absolute; left: 50%; bottom: -2px; transform: translate(-50%,50%) rotate(45deg);}
.homNews__tab--naika.is_active,.homNews__tab--naika.is_active::before {background:var(--c-main);}
.homNews__tab--syouni.is_active,.homNews__tab--syouni.is_active::before {background:var(--c-syouni);}

.homNews__iframe{display: none; height: 100%; border-top: 3px solid #000; padding-top: min(1.66vw,20px);}
.homNews__iframe.is_active {display: block; }
.homNews__iframe--naika.is_active {border-color: var(--c-main);}
.homNews__iframe--syouni.is_active {border-color: var(--c-syouni);}



@media (max-width: 767px) {
 .homNews__tab {column-gap: min(2vw,10px);}
 .homNews__tab li {border-radius: min(1.5vw, 8px) min(1.5vw, 8px) 0 0; padding: min(1vw,5px) min(3vw, 15px); min-width: min(24vw, 120px); }
 .homNews__tab li.is_active::before{width: min(2.4vw,12px);}
 .homNews__iframe{padding-top: min(4vw,20px);}
	
}




/*p_info*/

.p_info ul{padding-left:0;}
.p_info li{display:block;}


/*パンくずリスト*/
.topicPath {width: 90%; max-width: 1200px; margin: 0 auto; text-align: right; font-size: 0;}
.topicPath li {display: inline-block; position: relative;}
.topicPath li::before {content: ""; border-top: 1px solid #333; border-right: 1px solid #333; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(45deg);}
.topicPath li:first-child {padding-left: 0;}
.topicPath li:first-child::before{content: none;}

.topicPath li {font-size: 1.2rem;}
.topicPath li {padding-left: 1rem; margin: 0 0.2rem;}
.topicPath li::before{width: 0.5rem; height: 0.5rem;}

@media (max-width: 767px) {
.topicPath {margin: 2vw auto;}
.topicPath li {font-size: 3vw; width: auto;}
.topicPath li a {display: inline;}
.topicPath li {padding-left: 2.5vw; margin: 0 0.5vw;}
.topicPath li::before{width: 1.5vw; height: 1.5vw;}
}

/* nasu追加 */
.syouni_logobg{background:var(--c-syouni-light-01); color: var(--c-syouni); padding: min(1vw,12px) min(0.6vw,7px);}

/* ■ボタン*/
a.Btnblock { display: block; background: #fff; text-align: center; border-radius: 0.5vw; border: 1px solid var(--c-main); padding: min(1.25vw,15px); position: relative;}
a.Btnblock::before{content: ""; width: min(0.83vw,10px); aspect-ratio: 1/1; border-top: 1px solid var(--c-main); border-right: 1px solid var(--c-main); position: absolute; right: min(1.66vw,20px); top: 50%; transform: translateY(-50%) rotate(45deg);}
a.Btnblock:hover {background:var(--c-main); color: #fff; }
a.Btnblock:hover::before {border-color: #fff;}

.Btnblock {width: min(26.67vw,320px); margin: 0 auto;}
.Btnblock span {padding-right: 1.8em;}
.Btnblock span.ic-pdf::before {content:"\e415"; right: 0; top: 50%; transform:translateY(-50%); font-size: 1.25em;}

@media (max-width: 767px) {
 #homClinic {padding: min(14vw,120px) 0 0;}
.Btnblock {width: 80%; border-radius: 1vw;}
}


/* li 点を消したい */
.nonDot li{
display:block;
}

/* 改行しない*/
.noBrk { white-space: nowrap;}

/* ▼　*/
.sankaku{
	width: 50px;
	text-align: center;
background: #5b3e12;
clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* SPのときだけ改行する */
.br-sp{display:none;}
@media (max-width: 767px) {
.br-sp {display: block;}
}
