@charset "utf-8";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body { color: #333333; line-height: 1.8; background: #fff;}	
a { color: var(--c-orange);  text-decoration: none;}
a:hover { text-decoration: underline;}
.clickable a, .clickable a:hover { color: #333;}

/* ----------------------------------------------------
parts (common)
---------------------------------------------------- */
:root {
--ff-symbol: 'Material Symbols Outlined';
--ff-en: "Montserrat", sans-serif;
--ff-roboto: "Roboto", sans-serif;
--c-orange:#d95e39;
--c-navy:#0c0b68;
--c-orange02:#ff8400;
--c-beige:#f5f4ef;
}

/* icon */
.ic--symbol {position: relative; }
.ic--symbol::before {font-family: var(--ff-symbol); position: absolute; }
.ic--fill::before {font-variation-settings: 'FILL' 1;}
.ic--left::before { left: 0; top: 50%; transform: translateY(-50%);}
.ic--top::before  { left: 50%; top: 0; transform: translateX(-50%);}

/* flex */
.flex {display: flex; display: -webkit-flex; flex-wrap: wrap;}
.jc--sb {justify-content: space-between;}
.jc--c  {justify-content: center;}
.jc--fe {justify-content: flex-end;}

/* img */
img {width: 100%; height: auto;}
.img-obj {overflow: hidden;}
.img-obj img {width: 100%; height: 100%; object-fit: cover;}

/* container */
.layoutL {container-type: inline-size; }


/* ----------------------------------------------------
calendar (common)
---------------------------------------------------- */
.ft__cal {width: 100%; margin: 0 auto; border: 1px solid #fff; padding: var(--w-30); border-radius: 15px}
.ft__cal table {width: 100%;}

/* month prev/next */
div.cal_wrapper .cal_ui input:not(:nth-child(2)) {
 font-size: var(--fs-15);
 padding: 0 var(--w-10);
 background:#383796; border-radius: 30vw; color: #fff;
}
/* date */
div.cal_wrapper .headline {}
div.cal_wrapper .headline td {padding: var(--w-10) 0; font-size: var(--fs-16);}

/* day */
div.cal_wrapper tr:not(.headline) {column-gap:2px;}
div.cal_wrapper tr:not(.headline) td {margin-top:2px; font-size: var(--fs-16);}
div.cal_wrapper td > div {background: #fff; color: #333;}

@media (max-width: 780px) {

}

/* color */

/* 午後休診 */
div.cal_wrapper td > div.Sat,
div.cal_wrapper td > div.Wed,
div.cal_wrapper td > div.Sun {
  background: #d1e3f9;
  color: var(--c-navy);
}
.cal-halfOff {color: #d1e3f9;}

/* 祝日 */
div.cal_wrapper td > div.Holyday{
  background: #ffd0d0;
  color: #c53d43;
}
.cal-off {color: #ffd0d0 ;}

/* その他 */
div.cal_wrapper td > div.otherDay {
  background: #c7e5bb;
  color: #333333;
}
.cal-other {color: #c7e5bb;}


/* 午後休診（イレギュラー) */
div.cal_wrapper td > div.PMOff {
  background: #d1e3f9;
  color: var(--c-navy);
}

/* 休診（イレギュラー） */
div.cal_wrapper td > div.dayOff {
  background: #ffd0d0;
  color: #c53d43;
}

/* 休診→受診日（イレギュラー） */
div.cal_wrapper td > div.weekday {
  background: #fff;
  color: #333;
}

/* 本日 */
div.cal_wrapper td > div.Today {
  font-weight: bold;
  color: #333;
}


/* ----------------------------------------------------
header(pc)
---------------------------------------------------- */
@media (min-width: 961px) {
 #header {position: fixed; width: max(290px,24.4%); height: 100vh; left: 0; top: 0; z-index: 10; color: #fff; padding: min(4.2vw,50px) 0; overflow: hidden;}
 #header::before{content: ""; width: 100%; height: 100%; background: var(--c-orange); clip-path: polygon(0 0, 100% 0, 74.4% 100%, 0 100%); position: absolute; left: 0; top: 0;}
 #header a, #header .pc-tel {color: #fff; }
 #header #hd-logo {position: relative; margin-left: min(2.5vw,30px); width: 74.4%;}
 #header .pc-tel{position: relative; margin: min(4.2vw,50px) 0 0 min(3vw,50px); font-weight: 600;}
 .pc-tel__address {font-size: var(--fs-12);}
 .pc-tel__num{font-family: var(--ff-roboto); font-size:min(1.66vw,2rem);  line-height: 1.5;}
 .pc-tel__num a {font-size:min(2vw,2.6rem);}
   
 #navGlobal { position: relative; margin: min(4.2vw,50px) 0 0 min(3vw,50px); width: 75%; }
 #navGlobal li {position: relative; margin: min(1vw,12px) 0;}
 #navGlobal li a{display: block;}
 #navGlobal > li > a.current::before {content: ""; width: 60px; height: 1px; background: #fff; position: absolute; left: 0; top: 1em; transform: translateX(-125%);}
 #navGlobal li a.nav-toggle span {position: relative;}
 #navGlobal li a.nav-toggle span::before,
 #navGlobal li a.nav-toggle span::after {content: ""; width: 12px; height: 2px; background: #fff; position: absolute; right:-1.5em; top: 50%; transition: 0.3s all ease-in-out; }
 #navGlobal li a.nav-toggle span::after {transform: rotate(90deg);}
 #navGlobal li a.nav-toggle.active span::after {transform: rotate(0);}

 #navGlobal li .navChild {display: none; margin: 0; font-size: var(--fs-16);}
 #navGlobal li .navChild li {margin: 8px 0; padding-left: 1em;}
 #navGlobal li .navChild li::before {content: "・"; position: absolute; left: 0; top: 0;}
 #navGlobal li .navChild li:last-child{margin-bottom: 0;}
 
 #header .sp-btnTel, #header #btnGlobal {display: none;}
}

@media (max-width: 960px) {

 /* tabletでは電話させない */
 @media (min-width: 768px) {
 #header .pc-tel {display: block!important; color: #fff; position: absolute; top: 50%; transform: translateY(-50%); right: min(17vw,90px); margin: 0;}
 .pc-tel__address {font-size: var(--fs-14);}
 .pc-tel__num{font-size:var(--fs-20); line-height: 1.3;}
 .pc-tel__num a {font-size:var(--fs-26);}
  #header .sp-btnTel {display: none!important;}
 }
 
 body {padding-top: min(15vw,80px);}
 #home main{ width: 100%; position: relative; }
 #header {position: fixed; left: 0; top: 0; z-index: 99;  width: 100%;  height: min(15vw,80px); background: var(--c-orange); padding: min(2vw, 10px) min(4vw, 20px); display: flex; display: -webkit-flex; align-items: center;}
 #header #hd-logo {height: min(8vw,50px);}
 #header #hd-logo img {height: 100%; width: auto;}
 #header #hd-logo a {color: #fff;}
 #header .sp-btnTel {position: absolute;	height: min(15vw,80px); aspect-ratio: 1/1; right: min(15vw,80px);	top: 0;	z-index: 120;	background: #f9e1da;	display: flex;	display: -webkit-flex;	justify-content: center;	align-items: center; }
 #header .sp-btnTel a {line-height: 1}
 #header .sp-btnTel span {color: var(--c-orange); font-size: min(8vw,4rem); line-height: 1;}
 #header .sp-btnTel span.fill{font-variation-settings: 'FILL' 1;}
 #btnGlobal {position: absolute; height: min(15vw,80px); aspect-ratio: 1/1;right: 0;	top: 0;	z-index: 120;	background: var(--c-navy);	display: flex;	display: -webkit-flex;	justify-content: center;	align-items: center;}
 #btnGlobal .btnWrapGlobal {	position: relative;	width: min(7vw,3.5rem);	height: min(5vw,2.5rem);}
 #btnGlobal .btnLine { height: 3px; background: #fff; position: absolute; right:0; width: 100%;}
 #btnGlobal .btnLine.btnLineT {  top: 0;}
 #btnGlobal .btnLine.btnLineM { top: 50%; transform: translateY(-50%);}
 #btnGlobal .btnLine.btnLineB { bottom: 0; }
 #btnGlobal.active .btnLine {background: #fff;}
 #btnGlobal.active .btnLine.btnLineT { display: none;}
 #btnGlobal.active .btnLine.btnLineM { transform: translateY(0) rotate(45deg) ;}
 #btnGlobal.active .btnLine.btnLineB { transform: rotate(-45deg); bottom:inherit; top: 50%;}
 #btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {transition: all, ease-in-out, 0.3s;}
 #grandMenu {background: rgba(0,0,0,0.9); width: 100%; height: 100%; position: fixed; z-index: 100; left: 0; top: 0; display: none; overflow: auto; padding: min(18vw,100px) 8%;}
 #grandMenu a {color: #fff;}

 #grandMenu #navGlobal li { font-size: clamp(1.5rem, 4vw, 2rem); border-bottom: 1px dotted #888; line-height: 1;}
 #grandMenu #navGlobal li a {display:  block; padding: min(4vw,24px) 0; position: relative;}
 #grandMenu #navGlobal li a::after {content:""; position: absolute; right: 3%; top: 50%; width: min(2vw,10px); aspect-ratio:1/1; border-top:1px solid #fff; border-right: 1px solid #fff; transform:  rotate(45deg) translateX(-50%);}
 #grandMenu #navGlobal li.btn-navChild a::after { transform:  rotate(135deg);}
 #grandMenu #navGlobal li.btn-navChild .navChild {display: none;}
 #grandMenu #navGlobal li.btn-navChild .navChild  li {border-bottom: none; font-size: clamp(1.4rem,4vw,1.8rem); padding-left: 1em;}
 #grandMenu #navGlobal li.btn-navChild .navChild a::after {transform:  rotate(45deg) ;}

 #header .pc-tel {display: none;} 
 
 .sp__table {color: #fff; margin-top: 8vw;}
 .sp__table table {width: 100%; font-size: var(--fs-14); margin: 0;}
 .sp__table table th, .sp__table table td {border: 1px solid #fff; text-align: center; font-weight: normal; padding: 1.5vw;}
 .sp__table .sp__table__note {margin: 2vw 0 0; text-align: right; font-size: var(--fs-14);}
 
}


/* ----------------------------------------------------
bnrRecruit
---------------------------------------------------- */
#bnrRecruit{ text-align: center; background: #9ca6ba; color: #fff; position: relative;}
#bnrRecruit::before {content: ""; width: 85%; height: 100%; background: url("../../img/common/bg-bnrRecruit-01.jpg") right center / cover no-repeat; position: absolute; right: 0; top: 0;}
#bnrRecruit .layoutL {padding: var(--w-100) 0; position: relative;}

#bnrRecruit h2 {font-size: var(--fs-22);font-weight: 500;  line-height: 1.3; margin-bottom: var(--w-40);}
#bnrRecruit h2 span {display: block; font-family: var(--ff-en); font-size: var(--fs-60); font-weight: 500;}
.bnrRec__list {display: flex; display: -webkit-flex; justify-content: center; column-gap: var(--w-15); flex-wrap: wrap; margin: var(--w-30) 0 0;}
.bnrRec__list li { margin-top:min(1.2vw,15px); text-align: center; border: 1px solid #fff; border-radius: 30vw; padding: var(--w-12) var(--w-30); min-width: 200px;}
.bnrRec__list li:nth-child(-n+2){margin-top: 0;}

@media (max-width: 960px) {
 #bnrRecruit .layoutL {padding: var(--w-80) 0; }
 #bnrRecruit::before { width: 100%; background-position: 20% center;}
.bnrRec__list li { min-width: inherit; width: 48%;}
}


/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
footer{background: var(--c-navy); color: #fff;}
.ftFlex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap ; max-width: 1080px; margin: 0 auto var(--w-70);}
.ftCont {width: 52%; font-size: var(--fs-16);}
.ftCalendar{width: 42.5%; }

#ft_logo {padding-left: var(--w-70); position: relative; margin-bottom: var(--w-30);}
#ft_logo::before{content: ""; background: url("../../img/common/lg-mark-01.svg") center center / cover no-repeat; aspect-ratio: 122/150; width: var(--w-50); position: absolute; left: 0; top: 0;}
#ft_logo img {width: min(20vw,240px);}
#ft_logo span{display: block; margin-top:5px;}

.ft__tel {font-family: var(--ff-roboto); font-weight: 600; font-size: var(--fs-20);}
.ft__tel a {font-size: var(--fs-26); color: #fff;}

.ftCont table {width: 100%; margin: var(--w-20) 0 var(--w-30);}
.ftCont table thead tr {border-bottom: 1px solid #fff;}
.ftCont table thead th {font-weight: normal; text-align: center; padding: min(0.83vw,10px) min(0.5vw,10px);}
.ftCont table tbody th, .ftCont table tbody td {font-weight: normal; text-align: center; padding:min(0.83vw,10px)  min(0.5vw,10px) 0 min(0.5vw,10px); letter-spacing: normal;}
.ft__note {font-size: var(--fs-14); background: #383796; padding: var(--w-15) var(--w-25); }

.ft__map{width: 100%; height:clamp(300px, 264.789px + 9.39vw, 400px); overflow: hidden;}
.ft__map iframe {width: 100%; height: 100%;}

.copy {text-align: right; font-size: var(--fs-14); padding: var(--w-20) var(--w-90) var(--w-20) 5vw;}
.copy a {color: #fff;}

#pagetop {  position: fixed;  bottom:0;  right: 0;  z-index: 7;}
#pagetop a { display: block;  width: var(--w-80); aspect-ratio: 1/1;  background-color: var(--c-orange);   color: #fff;  position: relative; z-index: 8;}
#pagetop a::before {content: ""; width: var(--w-15); aspect-ratio: 1/1; 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;}

@media (min-width: 961px) {
 .wrapFooter {padding: var(--w-70) min(3vw,90px) 0 calc(max(290px,24.4%) + min(2vw,60px)); }
}

@media (max-width:1030px) and (min-width: 961px){
.ftCont {width: 80%; margin: 0 auto;}
.ftCalendar{width: 60%; margin: var(--w-40) auto 0 }
}

@media (max-width: 960px) {
#ft_logo img {width: min(48vw,240px);}
.ftFlex {margin: 0 auto;}
.wrapFooter  {padding: var(--w-80) 5%;}
}

@media (max-width: 715px) {
.ftCont {width: 100%; max-width:515px;  margin: 0 auto;}
.ftCalendar{width: 90%; max-width: 390px; margin: var(--w-50) auto 0 }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

home

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* common */
.homTitle {line-height: 1.2; font-size: var(--fs-22); font-weight: 500;}
.homTitle span {display: block; color: var(--c-orange); font-size: var(--w-80); font-family: var(--ff-en); font-weight: 600;}



/* homVisual */
#homVisual {aspect-ratio: 16/9;}
.homInrVis {background: #f3f3f3; height: 100%; margin: 0 auto; position: relative;}
.homSlide__img {width: 100%;}
.homSlide--01 {background: #aaa; }
.homSlide--02 {background: #666; }


.homCatch {position: absolute; left: 0; top: 50%; translate: 0 -50%; text-align: center; }
.homCatch h2{font-weight: 600; color: #fff; font-size: var(--fs-36);}
.homCatch h2 span {font-size: var(--fs-40); color: var(--c-orange); text-shadow:
    0 0 2px  rgba(255,255,255,.90),
    0 0 6px  rgba(255,255,255,.75),
    0 0 12px rgba(255,255,255,.55);}


@media (min-width: 961px) {
 #homVisual {padding: min(1.5vw,30px) 0;}
.homCatch {margin-inline: calc(max(290px,24.4%) + min(2.5vw,30px)) min(4vw,50px); width: calc(100% - calc(max(290px,24.4%) + min(2.5vw,30px)) - min(4vw,50px));}

}
@media (max-width: 960px) {
.homCatch {width: 95%; left: 3%;}
.homCatch h2 {font-size: var(--fs-30);
	}}


/* point */
.pointWrap {color: #fff; padding: var(--w-60) 0; background: #10187F; background: linear-gradient(35deg, rgba(16, 24, 127, 1) 30%, rgba(14, 66, 151, 1) 100%);}
.pointWrap h2 { font-weight: 600; font-size:var(--fs-32);}
.pointWrap h2 em {font-size: var(--fs-26);}
.pointWrap h2 span {display: block; font-size: var(--fs-16); color: var(--c-orange02); font-family: var(--ff-en); text-transform: uppercase;}
.point {margin: var(--w-40) auto; padding-bottom: var(--w-40); border-bottom: 1px solid #fff;}
.point:last-child {margin-bottom: 0; padding-bottom: 0; border: none;}
.point h3 {	font-size: var(--fs-22);	color: #fff;	font-weight: 600;	margin: var(--w-40) 0 var(--w-15);}
.point h3::first-letter {color: var(--c-orange02);}
.point h3:first-of-type { margin-top: 0;}


table.schedule { width: 100%; margin-bottom: 10px; font-size:var(--fs-15);}
table.schedule thead th {	background: #00164e;	color: #fff;	border: 1px solid #00164e;	text-align: center;	font-weight: normal;	padding: 5px; line-height: 1.4;}
table.schedule tbody th {background: #fff; color: #333; border-bottom: 1px solid #00164e; }
table.schedule td {	border-bottom: 1px solid #00164e; text-align: center;	padding: var(--w-10);	color: #333; background: #fff;}
table.schedule th.sat,table.schedule thead th span.sat {	color: #4875e7;}
table.schedule th.red,table.schedule thead th span.red {	color: #f00000;}
table.schedule td.red {	color: #e30050;	background: #ffd0d0;	font-weight: bold;}
.point p:last-child { margin-bottom: 0;}
/*日付統合の調整*/
table.schedule thead th.merge span{display: inline-block;}
table.schedule thead th.merge span.btw{	padding: 0 0.5em;	vertical-align:50%;}

@media (max-width:640px) {
 table.schedule {display: block;	width: auto !important;	margin: 2vw 0 3vw;	border-collapse: collapse; font-size: 3vw;}
 table.schedule thead {display: block;	float: left;	width: 35%;}
 table.schedule thead th {line-height: 1.6;}
 table.schedule tbody {	display: block;	width: 65%;	float: left;}
 table.schedule th, table.schedule td {	text-align: center;	padding: 2vw 1vw !important;	display: block;	line-height: 1.6; border: 1px solid var(--c-navy);}
 table.schedule th br { display: none;}
 table.schedule thead tr { display: block;  }
 table.schedule tbody tr {width: 50%;	display: block;float: left;}
 table.schedule th, table.schedule td {	margin-top: -1px;	margin-left: -1px;}
 table.schedule { zoom: 100%;}
 table.schedule:after {content: ".";	display: block;	height: 0;	clear: both;	visibility: hidden;}
 table.schedule td br {display: block;}
 table.schedule th br {display: none;}
 table.schedule th br.sp_br {display: block !important;}

  /*-----------------------------*/
  /*スマホでも横にレイアウト変したい時：長期休診用*/
  table.schedule.schedule_y {display: table;	width: 100% !important;	margin: 1vw 0;	border-collapse: collapse;  }
  table.schedule.schedule_y thead {display: table-header-group;  float: none; width: 100%; }
  table.schedule.schedule_y tbody { display: table-row-group; width: 100%; float: none; }
  table.schedule.schedule_y th, table.schedule.schedule_y td { text-align: center; padding: 0.6vw 0.2vw; display: table-cell;font-weight: normal;  }
  table.schedule.schedule_y td br { display: block; }
  table.schedule.schedule_y th br { display: block !important; }
  table.schedule.schedule_y th br.sp_br { display: none !important;}
  table.schedule.schedule_y thead tr { display: table-row; }
  table.schedule.schedule_y tbody tr { width: 100%; display: table-row; float: none; }
  table.schedule.schedule_y tbody tr th {	width: 2em;	padding: 1px 2px;  }
  table.schedule.schedule_y th, table.schedule.schedule_y td { margin-top: -1px; margin-left: -1px; }
  table.schedule.schedule_y { zoom: 100%; }
  table.schedule.schedule_y:after {content: ".";	display: table;	height: 0;	clear: both;	visibility: hidden;font-size: 0; }
  table.schedule.schedule_y th, table.schedule.schedule_y td {vertical-align: middle !important;}
}

@media (min-width:641px) {
 table.schedule td br {display: none}
 table.schedule th br.sp_br {display: none !important;}
}


/* about */
#homAbout {padding: var(--w-70) 0;}

.homAbt__cont {position: relative;  margin-top: var(--w-80);}
.homAbt__img {aspect-ratio: 72/46; width: min(67.9%,800px); background: #eee; }
.homAbt__txt {position: absolute; width: 52.8%; bottom: 0; }
.homAbt__txt .homAbt__title { margin-bottom: var(--w-60);}

.homAbt__txt .homAbt__title p {display: inline-block; font-family: var(--ff-en); background: var(--c-orange); color: #fff; font-weight: 600; border-radius: 30vw; font-size: var(--fs-16); padding: 0 var(--w-15); }
.homAbt__txt .homAbt__title p span {font-size: var(--fs-22);}
.homAbt__txt .homAbt__title h3 {font-size: var(--fs-32); font-weight: 600; line-height: 1.4;}
.homAbt__txt .homAbt__title h3 span {color: var(--c-orange);}
.homAbt__read {padding: var(--w-40) var(--w-40) var(--w-20) var(--w-40); background: rgba(255,255,255,0.8); text-align: left!important;}
.homAbt__read h4 {font-weight: 600; font-size: var(--fs-22); margin-bottom: var(--w-15);}
.homAbt__read p:last-child {margin: 0;}


.homAbt__cont:nth-child(odd) .homAbt__txt { right: 0;}
.homAbt__cont:nth-child(odd) .homAbt__txt .homAbt__title {margin-left:34%;}
.homAbt__cont:nth-child(odd) .homAbt__read {padding-right: 0;}

.homAbt__cont:nth-child(even) .homAbt__img  {margin-left:calc(100% - min(67.9%,800px));}
.homAbt__cont:nth-child(even) .homAbt__txt { left: 0;}
.homAbt__cont:nth-child(even) .homAbt__read {padding-left: 0;}

a.homAbt__Btn{position: relative;color: var(--c-navy);}
a.homAbt__Btn::after{content: ""; width: var(--w-12); aspect-ratio: 1/1; border-top: 1px solid var(--c-navy); border-right: 1px solid var(--c-navy); position: absolute; right: -30px; top: 50%; translate: 0 -50%; rotate: 45deg; }
@media (max-width:1556px) {
 .homAbt__txt {width: 73%; right: 0; bottom: 0; }
 .homAbt__cont:nth-child(odd) .homAbt__txt{text-align: right;}
 .homAbt__cont:nth-child(odd) .homAbt__txt .homAbt__title{display: inline-block; text-align: left; margin-left: 0; margin-bottom: var(--w-40);}
 .homAbt__read {font-size: var(--fs-16); padding: var(--w-30) var(--w-30) var(--w-15) var(--w-30); }
 .homAbt__txt .homAbt__title p {font-size: var(--fs-14);}
 .homAbt__txt .homAbt__title p span {font-size: var(--fs-18);}
 .homAbt__read h4 {font-size: var(--fs-18);}
}

@container (max-width: 680px) {
 .homAbt__img {width: 100%; margin: 0 !important;}
 .homAbt__txt {position: relative; width: 100% !important;}
 .homAbt__txt .homAbt__title {display: block; margin: 0 !important; width: 100%; padding: 0; translate: 0 -20px; text-align: center !important; }
 .homAbt__txt .homAbt__title h3 br {display: none;}
 .homAbt__read {padding: 0!important;  }
}


/* homMenu */
#homMenu {background: var(--c-beige); padding: var(--w-80) 0;}
.homMenu__flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.homMenu__cont {width: calc(calc(100% - var(--w-40))/2); margin-top: var(--w-50);}
.homMenu__cont h3 {text-align: center; font-size: var(--fs-30); font-weight: 700; margin: var(--w-15) 0;}
.homMenu__cont h3::first-letter {color: var(--c-orange);}
.homMenu__img {aspect-ratio: 51/30; margin: 0; border-radius: var(--w-15); background: #999;}
.homMenu__S .homMenu__img  {aspect-ratio: 51/23;}

@container (max-width: 680px) {
 .homMenu__flex{ display: block;}
 .homMenu__cont {width: 100%;}
 .homMenu__img { width: 100%; aspect-ratio: 16/9;}
}


/* homFaq */
#homFaq {padding: var(--w-190) 0; overflow: hidden;}
#homFaq .layoutL {position: relative; display: flex; justify-content: center; align-items: center; z-index: 2;}
.homFaq__title {aspect-ratio: 1/1; display: flex; align-items:center; justify-content: center; background: var(--c-beige); width: min(42.5%, 452px); border-radius: 50%; text-align: center;}
.homFaq__btn {margin: var(--w-20) 0 0;}
.homFaq__btn a {display: block; background: var(--c-orange); color: #fff; border-radius: 30vw; padding: var(--w-10) var(--w-60);}

.homFaq__fukidashi {background: url("../../img/common/img-fukidashi-01.svg") center center / contain no-repeat; aspect-ratio: 300/90; width: min(40%, 400px); position: absolute;  display: flex; justify-content: center; align-items: center; padding: 0 var(--w-30) var(--w-20); text-align: center; z-index: 2}
.homFaq__fukidashi p {margin: 0; color: var(--c-orange); line-height: 1.3; font-weight: 600; }

.homFaq--01 {left: 50%; top: 0;  translate: -50% -50%;}
.homFaq--02 {left: 50%; top: 50%; translate: -140% -60%;}
.homFaq--03 {left: 50%; top: 50%; translate: 36% -25%;}
.homFaq--04 {left: 10%; bottom: 0%; translate: 0 40%;}
.homFaq--05 {left: 50%; bottom: 0%; translate: 30% 70%;}


@container (max-width: 840px) {
 .homFaq__fukidashi {width: min(48%, 400px);}
 .homFaq--01 {translate: -50% -120%;}
 .homFaq--02 {left: 0; top: 50%; translate: -10% -170%;}
 .homFaq--03 {translate:15% -150%;}
 .homFaq--04 {left: 0%; bottom: 0%; translate: 0 60%;}
 .homFaq--05 {left: 50%; bottom: 0%; translate: 10% 70%;}
}

@media (max-width:599px) {
 #homFaq {padding:5vw 0 !important;}
 #homFaq .layoutL {display: block;}
 .homFaq__title {width: 100%;  border-radius: 0; text-align: center; aspect-ratio: inherit; padding: 40vw 0 50vw; background: none;}
  .homFaq__title::before {content: ""; width:70%; aspect-ratio: 1/1; background: var(--c-beige); position:absolute; left: 50%; top: 50%; translate: -50% -50%; border-radius: 50%;}
  .homFaq__title div {position: relative;}
 .homFaq__title {margin: 0 auto;}
 .homFaq__fukidashi {width:60%; margin: 2vw 0;}
 .homFaq__fukidashi p {font-size: min(3vw,1.6rem);}
 .homFaq--01 {translate: 0 20%; left: inherit; right: 0;}
 .homFaq--02 {translate: 0 90%; left: inherit; top: 0;}
 .homFaq--03 {translate: 0 70%; left: inherit; right: 0;}
 .homFaq--04 {translate:0 -85%; left: 0vw;}
 .homFaq--05 {translate: 0 -10%; left: inherit; right:0;}
}

/* silder */
#homImgSlider {margin: 0 max(-1.5vw,-30px) var(--w-60) 0;}
.photoSlider{margin-bottom: var(--w-10);}
.phSlide {margin: 0 min(1.25vw, 15px); width: min(31.67vw,380px);  aspect-ratio: 380/254; overflow: hidden; background: #eee; }
.phSlide img {width: 100%; height: 100%; object-fit: cover;}

@media (max-width:960px) {
#homImgSlider {margin: 0 0 var(--w-60) ;}

}

/* greeting */
#homGreeting { background: var(--c-navy); color: #fff; padding: var(--w-90) 0 var(--w-120);}
#homGreeting .homTitle span {color: var(--c-orange02);}
.homGrt__wrap {position: relative; display: flex; justify-content: flex-end; flex-wrap: wrap;}
.homGrt__cont {width: 56.6%; }
.homGrt__cont p {line-height: 2; margin-bottom: 2em;}
.homGrt__list {font-size: var(--fs-20); border-bottom: 1px solid #fff; margin: var(--w-60) 0 0;}
.homGrt__list li {border-top: 1px solid #fff; position: relative;}
.homGrt__list li a {display: block; padding: var(--w-20) var(--w-40); color: #fff; position: relative;}
.homGrt__list li a::before {content: ""; width: var(--w-12); aspect-ratio: 1/1; border-top: 1px solid #fff; border-right: 1px solid #fff; position: absolute; right: var(--w-15); top: 50%; translate: 0 -50%; rotate: 45deg; }
.homGrt__list li::before,.homGrt__list li::after {content: ""; width: var(--w-20) ; height: 2px; background: var(--c-orange02); position: absolute; left: 0; top: 50%; translate: 0 -1px;}
.homGrt__list li::before {rotate: 90deg;}

.homGrt__img {position: absolute; background: #eee;}
.homGrt__img--01 {aspect-ratio: 38/48; width: 380px; left: 0; top: 50%; translate: 0% -70%;}
.homGrt__img--02 {aspect-ratio: 28/36; width: 280px; left: 0; top: 60%; translate: -50% 0;}

@container (max-width: 960px) {
.homGrt__img--01 {left: 50%; top: 50%; translate: -130% -70%;}
.homGrt__img--02 {translate: -65% -10%;}

}

@container (max-width: 680px) {
.homGrt__wrap {display: block;}
.homGrt__img {position: relative; }
.homGrt__cont {width: 100%; margin: var(--w-50) auto var(--w-80);}
.homGrt__img--01 {left: inherit; top: inherit; translate: 0 0; width: 56%; }
.homGrt__img--02 {position: absolute; left: inherit; top: inherit; right: 0; bottom: 0; translate: 0 0; width: 40%;}
}


/* homColumn */
#homColumn {padding: var(--w-90) 0;}

.homCol__list {margin: var(--w-60) auto;}
.homCol__link {background: #f3f3f3; border-radius: var(--w-10); display: flex; column-gap: var(--w-50); align-items: center; padding:var(--w-20) var(--w-30); margin: var(--w-20) 0;}
.homCol__img {margin: 0; width: min(30%, 240px); aspect-ratio: 240/155; background: #fff;}
.homCol__link dl {flex: 1; margin: 0;}
.homCol__link dl dt {font-family: var(--ff-en); font-size: var(--fs-14);}
.homCol__link dl dd {font-weight: 500;}

.btnMore {margin-bottom: 0;}

/* homNews */
#homNews {background: var(--c-beige); padding: var(--w-90) 0;}
#homNews .homTitle {text-align: center;}
#homNews dl {max-width: 900px; margin: 0 auto var(--w-60); padding-bottom: var(--w-20); border-bottom: 1px solid #aaa;}
#homNews dl dt:not(:first-child) {border-top: 1px solid #aaa; padding-top: var(--w-20); margin-top: var(--w-20);}
#homNews dl dt {font-family: var(--ff-en); font-size: var(--fs-14); padding-left: 1em; margin-bottom: 0.5em;}
#homNews dl dd {font-size: var(--fs-16); padding-left: 1em;}




/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

under layer

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
layout(common)
---------------------------------------------------- */
/* base setting */
#main {margin: 0;}
.bgBeige {background: var(--c-beige); margin: var(--w-100) 0 0; padding: var(--w-100) 0;}

@media (min-width: 961px) {
 main { padding: 0 min(1.5vw,30px) min(1.5vw,30px) min(1.5vw,30px); }
 .layoutL {margin-inline: calc(max(290px,24.4%) + min(2.5vw,30px)) min(4vw,50px); }
 .visual { margin: min(1.5vw,30px) 0 0;}
}

@media (max-width: 960px) {
 .layoutL{margin-inline: auto; width: 90%;}
 .bgBeige { margin: var(--w-80) 0 0; padding: var(--w-80) 0;}
}

/* --------------------------------------------------
visual / topicPath 
----------------------------------------------------- */
.visual {display: flex; display: -webkit-flex; align-items: center; background:#ccc; height: clamp(160px, 114.225px + 12.207vw, 290px); }
.visual .catTitle {width: 100%; text-align: center;}
.visual .catTitle h2 {font-size: var(--fs-36); font-weight: 600; }

/*#menu .visual {background: url("../../img/page/common/img-visual-menu.jpg") center center / cover no-repeat; color: #fff;}*/
.visual {background: url("../../img/page/common/img-visual-menu.jpg") center center / cover no-repeat; color: #fff!important;}


/* topicPath */
ol.topicPath {width: 98%; justify-content: flex-end; transform: translateY(-100%); margin-bottom: -15px;}


/* ----------------------------------------------------
local navi(common)
---------------------------------------------------- */
@media (min-width: 781px) { /* 781px以上 */
 #navLocal {width: 100%; margin: 0 auto 0; background: var(--c-navy);}
 #navLocal ul {display: flex; display: -webkit-flex; justify-content: center; flex-wrap: wrap; column-gap: min(1.25vw,15px); margin-bottom: 0;}
 #navLocal ul li { }
 #navLocal ul li a {display: block; text-align: center; padding: var(--w-15) var(--w-20); color: #fff;}
 #navLocal ul li a.current, #navLocal ul.first li a.parentsLink, #navLocal ul li a:hover { color : #fff; background: #3b3a87; position: relative;}
}

@media (max-width: 780px) { /*　780px以下 */
 .col-reverse {display: flex; display: -webkit-flex; flex-direction: column-reverse;}
 #navLocal {background: var(--c-navy); width: 100%}
 #navLocal  .layoutL {width: 100%;}
 #navLocal ul {margin: 0;}
 #navLocal ul li a {display: block; color: #fff; font-size:var(--fs-20); padding:var(--w-20) var(--w-30); border-bottom: 1px solid #fff; position: relative;}
 #navLocal ul li a::after {content: ""; width: var(--w-15); aspect-ratio: 1/1; margin-top: -0.5vw; border-top: 1px solid #fff; border-right: 1px solid #fff; position: absolute; right: var(--w-30); top: 50%; transform: rotate(45deg);}
 #navLocal ul li a.current, #navLocal ul.first li a.parentsLink {background: var(--c-orange); font-weight: 600;} 
}

/* --------------------------------------------------
heading / p 
----------------------------------------------------- */
.hA {font-size: var(--fs-40); font-weight: 500; color:var(--c-orange); margin:var(--w-100) auto var(--w-60); padding-bottom: var(--w-40); position: relative; text-align: center;}
.hA span {display: block; font-size: var(--fs-16); font-family: var(--ff-en); color: #666; font-weight: 600; text-transform: uppercase;}
.hA::before {content: ""; width: var(--fs-40); height: 1px; background: var(--c-orange); position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);}
.hB {font-size: var(--fs-28); font-weight: 500;background:var(--c-beige); color: var(--c-orange); padding: var(--w-20) var(--w-30); margin: var(--w-80) 0 var(--w-30); border-radius: 10px;}
.hC {font-size: var(--fs-24); color: var(--c-orange); font-weight: 600; margin: var(--w-40) 0 var(--w-20); border-bottom: 3px solid #c7c4b5; padding-bottom: var(--w-15); position: relative;}
.hC::before {content: ""; width: 20%; height: 3px; background: var(--c-orange); position: absolute; left: 0; bottom: -3px;}
.hD {font-size: var(--fs-22); color: var(--c-orange); font-weight: 600; margin: var(--w-40) 0 var(--w-15); }

.strongA { background: linear-gradient(transparent 60%, #ffff66 60%);}
.bgBeige .hB {background: #fff; color: var(--c-orange); box-shadow: 0 0 15px 0 rgba(200,190,180,0.3); }

.fontS {font-size: 80%;}

@media (max-width: 960px) {
 .hA { margin:var(--w-80) auto var(--w-60); }
}

/* --------------------------------------------------
link / list 
----------------------------------------------------- */
.telLink {font-size: var(--fs-26);}
.telLink::before { color: var(--c-orange); }

a.linkArrow {display: inline-block; min-width: min(25.5vw,300px); padding: min(1.5vw, 18px) min(2.5vw, 30px); text-align: center; position: relative; border-radius: 30vw;}
a.linkArrow::after {content: "";	position: absolute;	right: min(1.25vw,15px);	top: 50%;	width: min(0.83vw, 10px);	aspect-ratio:1/1;	border-top: 1px solid;	border-right: 1px solid;	transform: translateY(-50%) rotate(45deg);}

a.linkArrow {color:#fff; background: var(--c-orange); }
a.linkArrow::after {border-color:#fff;}
a.linkExternal span::after { color: #fff;}

ul.listDot li::before { background:var(--c-navy);}
ul.listCheck li::before { color: var(--c-navy); font-variation-settings: 'FILL' 1;}

.listData dt {margin-top: min(0.4vw, 5px);}

@media (max-width: 780px) {
 .telLink a {color: inherit;}
  a.linkArrow {display:block; min-width:inherit; width: 100%; padding: min(4vw, 18px) min(5vw, 30px); margin: 0 auto;}
  a.linkArrow::after {right: min(3vw,15px); width: min(2vw, 10px);}
 .listData dt {margin-top: min(1vw, 5px);}
}


/* --------------------------------------------------
decBox
----------------------------------------------------- */
.decBox { padding: var(--w-30); margin-bottom: var(--w-30);}

.decBox01 { background: var(--c-navy); color: #fff;}
.decBox02 { background: #fff; border: 2px solid var(--c-orange);}
.decBox03 { background: #fff; border: 1px solid var(--c-navy);}

.decBox01 .hD {color: var(--c-orange02);}

@media (max-width: 780px) {
 .decBox { padding:min(5vw,30px); margin-bottom:min(5vw,30px);}
}

/* --------------------------------------------------
table
----------------------------------------------------- */
.tblA, .tblTime {border: 1px solid #ccc;}
.tblA th, .tblA td, .tblTime th, .tblTime td {border:1px solid #ccc; padding: var(--w-10);}
.tblA th, .tblTime th {background: var(--c-beige); color: #333;}
.tblA td, .tblTime td {background: #fff; color: #333;}

@media (max-width: 780px) {}

/* --------------------------------------------------
grid list (サイズ均等)
---------------------------------------------------- */

.grid02{ display: grid; grid-gap: 1.25em; grid-template-columns: repeat(2, 1fr);}
.grid03{ display: grid; grid-gap: 1.25em; grid-template-columns: repeat(3, 1fr);}
.grid04{  display: grid; grid-gap: 1.25em; grid-template-columns: repeat(4, 1fr);}

@container (max-width: 890px) {
.grid04{  grid-template-columns: repeat(3, 1fr) !important;}
}

@container (max-width: 730px) {
 .grid03, .grid04{ grid-template-columns:repeat(2, 1fr);}
}

@container (max-width: 680px) {
.grid02,  .grid03,  .grid04{ grid-template-columns:repeat(1, 1fr) !important;}
}


/* --------------------------------------------------
gridレイアウト / 画像上テキスト
---------------------------------------------------- */
.grdImgBox {margin: var(--w-40) 0;}
.picOver__txt {background: rgba(0,0,0,0.2); color: #fff; padding: var(--w-15) var(--w-20);}

@media (max-width: 780px) {

}


/* --------------------------------------------------
step
---------------------------------------------------- */
.stpBox{background: var(--c-navy); color: #fff;  border-radius: var(--w-15); padding: var(--w-70) var(--w-60) var(--w-60); position: relative;}
.stpBox .stpNum {margin: 0; position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); border-radius: 50%; background: var(--c-orange); color: #fff; aspect-ratio: 1/1; width: var(--w-90); line-height: 1.3; display: flex; display: -webkit-flex; justify-content: center; align-items: center; font-family: var(--ff-en);}
.stpBox .stpNum span em {font-size: var(--fs-26); display: block; text-align: center;}
.stpBox .stpTitle h3 {font-weight: 600; font-size: var(--fs-20); margin-bottom: var(--w-20);}

@media (max-width: 780px) {
 .stpBox{ border-radius: min(3vw,15px); padding: min(10vw, 60px) min(8vw, 60px) min(8vw, 60px);}
 .stpBox .stpTitle h3 { margin-bottom: min(3.5vw,20px);}
}

/* ---------------------------------------------------
access
--------------------------------------------------- */
.acsStep h3 {text-align: center; font-weight: 600; margin: var(--w-10) auto; font-size: var(--fs-20);}
.acsStep__num {margin: 0 auto; background: var(--c-orange); color: #fff; aspect-ratio: 1/1; width:var(--w-60); display: flex; display: -webkit-flex; justify-content: center; align-items: center; border-radius: 50%; font-family: var(--ff-en)}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
other
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

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

}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

column base

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.colFlex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap; width: 90%; max-width: 1200px;}
#colMain {width: 70%;}
#colSide {width: 25%;}

.navSide{margin-bottom: min(2.5vw,30px); background: #f3f3f3;}
.navSide h2 {background: #333; color:#fff; text-align: center; padding: min(1.25vw,15px);}
.navSide ul {margin: 0;}
.navSide ul li:not(:last-child) {border-bottom: 1px solid #fff; line-height: 1.5;}
.navSide ul li a {display: block; padding: min(1.25vw,15px) min(3.3vw,20px);}
.navSide ul li ul {border-top: 1px solid #fff; }
.navSide ul li ul  li a {padding: min(0.83vw,10px) min(3.3vw,20px) min(0.83vw,10px) min(2.92vw,35px);}
.navSide .navSide__inr {padding: min(3.3vw,20px);}
.navSide .navSide__inr select {width: 100%; padding: min(0.66vw, 8px);}

.postIndex {margin-bottom: min(2.5vw,30px); background: #f3f3f3; padding: min(2vw,24px) min(3.3vw,40px);}
.postIndex h2 {font-size: min(2vw,2.4rem); margin: min(0.83vw,10px) 0;}
.wp-pagenavi {margin-top: min(5vw,60px); text-align: center;}

/* parts */
.postDate {font-size: min(1.16vw,1.4rem); margin: 0;}
.postCat {margin: 0;  display: flex; display: -webkit-flex; column-gap: min(0.83vw,10px); flex-wrap: wrap; font-size: min(1.16vw,1.4rem);}

/* single */
.postHead {margin-bottom: min(2.5vw,30px); padding-bottom: min(2.5vw,30px); border-bottom: 1px dashed #ccc;}
.postHead .postDate {text-align: right;}
.postHead h2 { font-size: min(2vw,2.4rem); margin: 0 0 min(0.83vw,10px);}

.postBody {}
.postBody figure {margin: min(2.5vw,30px) auto;}
.postBody img {width: revert-layer; max-width: 100%;}
.postBody ul {list-style: disc; padding-left: 1.5em;}
.postBody ol {list-style: decimal; padding-left: 1.5em;}

.postRelated {margin-top: min(5vw,60px); padding:min(2.5vw,30px) min(3.3vw,40px) min(3.3vw,40px); background: #f3f3f3;}
.postRelated h3 {font-weight: 600; font-size: min(2vw,2.4rem); text-align: center; margin-bottom: min(1.66vw, 20px);}
.postRelated ul {margin: 0;}
.postRelated ul li a {display: block; border-bottom: 1px dashed #aaa; padding: min(1.25vw, 15px);}

@media (max-width: 767px) {
 #colMain {width: 100%;}
 #colSide {width: 100%;}
.navSide{margin-bottom: 0;}
.navSide h2 {padding: min(3vw,15px);}
.navSide ul li a {padding: min(3vw,15px) min(6vw,30px);}
.navSide ul li ul  li a {padding: min(2vw,10px) min(4vw,20px) min(2vw,10px) min(8vw,35px);}
.navSide .navSide__inr {padding: min(4vw,20px);}
.navSide .navSide__inr select {padding: min(1.6vw, 8px);}

.postIndex__flex{display: flex; display: -webkit-flex; column-gap:2%;}
.postIndex {width: 88%; margin: 0 auto min(3vw,30px); padding: min(4vw,24px) min(5vw,40px);}
.postIndex h2 {font-size: min(4.2vw,2.4rem); margin: min(1vw,10px) 0;}
.wp-pagenavi {margin: min(10vw,60px) 0 min(10vw, 50px); }

/* parts */
.postDate {font-size: min(3.4vw,1.4rem); }
.postCat {column-gap: min(2vw,10px); font-size: min(3.4vw,1.4rem);}

/* single */
.postHead {width: 88%;  margin: 0 auto min(4vw,30px); padding-bottom: min(4vw,30px); }
.postHead h2 { font-size: min(4.2vw,2.4rem); margin: 0 0 min(2vw,10px);}

.postBody {width: 88%; margin: 0 auto min(10vw, 60px);}
.postBody figure {margin: min(6vw,30px) auto;}

.postRelated {margin-top: min(8vw,60px); padding:min(6vw,30px) min(5vw,30px) min(8vw,50px); }
.postRelated h3 {font-size: min(4.2vw,2.4rem); margin-bottom: min(3vw, 20px);}
.postRelated ul li a {padding: min(3vw, 15px);}

}



