@charset "utf-8";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body { color: #333333;  line-height: 1.8;  background: var(--c-yellow);}	
a {  color: var(--c-blue);  text-decoration: none;}
a:hover { text-decoration: underline;}
.clickable a, .clickable a:hover {color: var(--c-blue);}
img {width: 100%; height: auto;}
.flex {display: flex; display: -webkit-flex; justify-content:space-between; flex-wrap: wrap;}

:root {
--ff-symbol: 'Material Symbols Outlined';
--ff-en: 'Montserrat';
--c-yellow: #ffde00;
--c-yellow-02:#fff100;
--c-blue:#00a0e9;
}

.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%);}

/* ----------------------------------------------------
calendar (common)
---------------------------------------------------- */
.ft__cal {width: 100%; margin: 0 auto; }

/* month prev/next */
div.cal_wrapper .cal_ui input:not(:nth-child(2)) {
 font-size: clamp(1.2rem,1.16vw, 1.4rem);
 padding: 0 clamp(5px,0.83vw,10px);
 background:var(--c-blue); border-radius: 30vw; color: #fff;
}
/* date */
div.cal_wrapper .headline {background:var(--c-blue);}
div.cal_wrapper .headline td {padding: clamp(5px,0.83vw, 10px) 0; font-size: clamp(1.2rem,1.16vw,1.4rem); color: #fff; font-weight: 600;}

/* day */
div.cal_wrapper tr:not(.headline) {column-gap:3px;}
div.cal_wrapper tr:not(.headline) td {margin-top:3px; font-size: clamp(1.2rem,1.16vw,1.4rem);}
div.cal_wrapper td > div {background: #fff; }

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

/* color */

/* 午後休診 */
div.cal_wrapper td > div.Sat, div.cal_wrapper td > div.Wed {
  background: #9fdfed;
  color: #4176a7;
}
.cal-halfOff {color: #9fdfed;}

/* 日曜・祝日 */
div.cal_wrapper td > div.Sun, div.cal_wrapper td > div.Holyday{
  background: #ffb6b6;
  color: #ce4b51;
}
.cal-off {color: #ffb6b6;}

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


/* 午後休診（イレギュラー) */
div.cal_wrapper td > div.PMOff {
  background: #9fdfed;
  color: #4176a7;
}

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

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

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

/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#bnrRecruit {width: 96%; margin: min(2.5vw,30px) auto ; border-radius: min(1.66vw,20px); border: 3px solid var(--c-blue); position: relative; background: #fff url("../../img/common/bg-bnrRecruit-02.png") right center / auto 100% no-repeat;}
#bnrRecruit::before{content: ""; background: url("../../img/common/bg-bnrRecruit-01.png") center center / cover no-repeat; aspect-ratio: 470/225; width: min(39.17vw,470px); position: absolute; left: 0; top: 0; border-top-left-radius: min(1.66vw,20px);}
#bnrRecruit a {display: block; position: relative; width: 90%; max-width: 1200px; margin: 0 auto; padding: min(5vw,60px) 0 min(4.16vw,50px);}
#bnrRecruit a .txtRecruit {display:flex; display: -webkit-flex; column-gap: min(3.3vw,40px); align-items: center; margin-bottom: min(2.5vw,30px);}
#bnrRecruit a .txtRecruit h2 {font-size: min(3vw,3.6rem); font-weight: 600; text-align: center; line-height: 1.4; letter-spacing: 0.25rem; background: url("../../img/common/ic-heading-01.svg") center center no-repeat; background-size: min(15.25vw,183px) 100%; padding: 0 min(1.66vw,20px); }
#bnrRecruit a .txtRecruit h2 span {display: block; font-family: var(--ff-en); font-size: min(1.5vw,1.8rem); font-weight: normal; letter-spacing: normal;}
#bnrRecruit a p {margin: 0; color: #333; line-height: 1.6; font-weight: 500; -webkit-text-stroke: 3px #FFF; text-stroke: 3px #FFF; paint-order: stroke;}
#bnrRecruit a ul {margin: 0 0 0 min(1.66vw,20px); display: flex; display: -webkit-flex; column-gap: min(0.83vw,10px);}
#bnrRecruit a ul li {color: #fff; border-radius: 30vw; background: var(--c-blue); text-align: center; padding: min(0.83vw,10px) min(1.66vw,20px); min-width: min(16vw,200px);}

#footer {padding: min(5vw,60px) 0 min(1.66vw,20px);}
.inrFooter {width: 90%; max-width: 980px; margin: 0 auto; text-align: center;}
#ft-logo {width: min(35vw,420px); margin: 0 auto;}
.ft__address{font-weight: 500; margin: min(1.66vw,20px) auto 0;}
.ftFlex {display: flex; display: -webkit-flex; justify-content: center; align-items: center; column-gap: min(2.5vw,30px); margin: min(0.83vw,10px) auto min(2.5vw,30px);}
.ft__tel {font-size: min(3vw,3.6rem); font-family: var(--ff-en); line-height: 1.3; font-weight: 600;}
.ft__tel a {color: #333; padding-left: 1em; position: relative;}
.ft__tel a::before {content: ""; background: url("../../img/common/ic-tel-01.svg") center center / cover no-repeat; aspect-ratio: 1/1; width: 0.7em; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.ft__sns {display: flex; display: -webkit-flex;column-gap: min(0.83vw,10px);}
.ft__sns li {width: min(3.83vw,46px); max-width: 46px;}

.ft__grid {
 display: grid;
 grid-template-columns: 1fr 33%;
 grid-template-rows: max-content 1fr;
 grid-column-gap: min(7.5vw,90px);
 grid-row-gap: min(2.5vw,30px);
}

.ft__time { grid-area: 1 / 1 / 2 / 2; }
.ft__cal { grid-area: 1 / 2 / 3 / 3; }
.btn__reserve { grid-area: 2 / 1 / 3 / 2; }

.ft__time table {width: 100%; font-size: min(1.16vw,1.4rem);}
.ft__time thead th, .ft__time tbody th, .ft__time tbody td {padding: min(1vw,12px);}
.ft__time thead tr, .ft__time tbody tr {border-bottom: 1px solid #333;}
.ft__time tbody th span {margin-left: 1em; font-size: min(1vw,1.2rem);}
.tbl-note {text-align: right;font-size: min(1vw,1.2rem); margin-top: min(0.83vw,10px);}

.btn__reserve a {display: block; background: #fff; border: 2px solid #4594cf; border-radius: min(1.25vw,15px); position: relative; padding: min(1.6vw,20px) min(0.83vw,10px) min(1vw,12px) min(0.83vw,10px); color: #333;}
.btn__reserve a::before,.btn__reserve a::after {content: ""; background-size: cover; background-position: center center; background-repeat: no-repeat; position: absolute;}
.btn__reserve a::before {background: url("../../img/common/img-rt.png"); aspect-ratio: 83/86; width: min(6.92vw,83px); right: 0; top: 0; border-top-right-radius: min(1.25vw,15px);}
.btn__reserve a::after {background: url("../../img/common/img-lb.png"); aspect-ratio: 92/82; width: min(7.67vw,92px); left: 0; bottom: 0; border-bottom-left-radius: min(1.25vw,15px);}

.btn__reserve a ul {display: flex; display: -webkit-flex; justify-content: center; column-gap: min(2.17vw,26px); align-items: center; margin-bottom: min(1.25vw,15px); position: relative; z-index: 1;}
.btn__reserve a ul li.img--sotomachi {width: min(7.5vw,90px);}
.btn__reserve a ul li.img--webLine {width: min(14.5vw,174px);}
.btn__reserve a p {font-size: min(1.16vw,1.4rem); position: relative; z-index: 1;}
.btn__reserve a p span {font-weight: 600;}

.ft__map {margin: min(2.5vw,30px) auto min(1.66vw,20px); background: #fff; height: min(24.17vw,290px); border-radius: min(1.25vw,15px); }
.ft__map iframe {width: 100%; height: 100%; border-radius: min(1.25vw,15px); }

.copy {text-align: center; font-size: min(1vw,1.2rem);}
.copy a {color: #333;}

#pagetop {  position: fixed;  bottom: 4%;  right: 3%;  z-index: 100;}
#pagetop a { display: block;  width: 45px;  height: 45px;background-color: var(--c-blue);   color: #fff;  position: relative; 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;}


@media (max-width: 767px) {
#bnrRecruit {width: 96%; margin: min(8vw,40px) auto 0 ; border-radius: min(4vw,20px); background: #fff;}
#bnrRecruit::before{width: min(50vw,470px); border-top-left-radius: min(4vw,20px);}
#bnrRecruit a {padding: min(7vw,60px) 0 min(5vw,60px);}
#bnrRecruit a .txtRecruit {display:block;margin-bottom: min(3vw,30px);}
#bnrRecruit a .txtRecruit h2 {font-size: min(6.5vw,3.6rem); background-size: min(36vw,183px) 100%; padding: 0 min(4vw,20px); line-height: 1.2; margin-bottom: 3vw;}
#bnrRecruit a .txtRecruit h2 span {font-size: min(4vw,1.8rem); line-height: 1.2;}
#bnrRecruit a p br {display: none;}
#bnrRecruit a ul {margin: 0; justify-content: space-between; flex-wrap: wrap; column-gap: 1.5vw;}
#bnrRecruit a ul li {flex: auto; flex-grow: 1; padding: min(2vw,10px) min(4vw,20px); min-width:inherit; margin-top: 1.5vw;}


 #footer {padding: 8vw 0 19vw; position: relative;}
 #ft-logo {width: min(60vw,420px);}
 .ft__address{margin: min(4vw,20px) auto 0;}
 .ftFlex {column-gap: min(4vw,30px); margin: min(2vw,10px) auto min(6vw,30px);}
 .ft__tel {font-size: min(7vw,3.6rem);}
 .ft__sns {column-gap: min(1vw,10px);}
 .ft__sns li {width: min(9vw,46px); }
 
 .ft__grid {display: block;}

 .ft__time {margin-bottom: 6vw;}
 .ft__time table {font-size: min(3.2vw,1.4rem);}
 .ft__time thead th, .ft__time tbody th, .ft__time tbody td {padding: min(2vw,12px);}
 .ft__time tbody th span {font-size: min(3vw,1.2rem); margin-left: 0; display: block;}
 .ft__time tbody th {line-height: 1.2;}
 .tbl-note {font-size: min(3vw,1.2rem); margin-top: min(1vw,10px);}

 .ft__cal {width: 80%; margin: 0 auto 6vw;}

 .btn__reserve a {border-radius: min(3vw,15px); padding: min(4vw,20px) min(3vw,10px) min(2vw,12px) min(2vw,10px); }
 .btn__reserve a::before {width: min(16.6vw,83px); border-top-right-radius: min(3vw,15px);}
 .btn__reserve a::after {width: min(18.4vw,92px); border-bottom-left-radius: min(3vw,15px);}

 .btn__reserve a ul {column-gap: min(5vw,26px); margin-bottom: min(3vw,15px); }
 .btn__reserve a ul li.img--sotomachi {width: min(18vw,90px);}
 .btn__reserve a ul li.img--webLine {width: min(35vw,174px);}
 .btn__reserve a p {font-size: min(3.2vw,1.4rem); line-height: 1.3;}
 .btn__reserve a p span {display: block; margin-bottom: 1vw;}

 .ft__map {margin: min(6vw,30px) auto min(4vw,20px);  height: min(50vw,290px); border-radius: min(3vw,15px); }
 .ft__map iframe {border-radius: min(3vw,15px); }
 .copy {font-size: min(3vw,1.2rem); width: 90%; margin: 0 auto; line-height: 1.2;}

 #ftSlideBlock {position: fixed; left: 2%; bottom:0; width: 96%;  height: 16vw; background: #fff; z-index: 99; border-radius: 3vw 3vw 0 0; border: 2px solid var(--c-blue); border-bottom: none;}
 #ftSlideBlock a {display: flex; display: -webkit-flex; justify-content: center; align-items: center; height: 16vw;}
 #ftSlideBlock ul {display: flex; display: -webkit-flex; justify-content: center; align-items: center; column-gap: 2vw;}
 #ftSlideBlock ul li.img--sotomachi {width: min(15vw,90px);}
 #ftSlideBlock ul li.img--webLine {width: min(30vw,174px);}
}

/* -----------------------------------------------------
home(common)
------------------------------------------------------- */
#homContent { width: 96%; margin-inline: auto;}
#homContent .contents {background: #fff; width: 100%; margin: min(2.5vw,30px) auto ; border-radius: min(1.66vw,20px); }
.homInner {width: 90%; max-width: 1600px; margin-inline: auto; }
.homInner--M {width: 90%; max-width: 1200px; margin-inline: auto; }

a.homBtnCommon {width: min(30vw,360px); display: block; background: var(--c-yellow); border-radius: 30vw; text-align: center; font-size: min(1.66vw,2rem); font-weight: 500; position: relative; padding: min(1.66vw,20px);}
a.homBtnCommon::before {content: ""; background: #fff4a8; aspect-ratio: 1/1; border-radius: 50%; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); width: 1.8em;}
a.homBtnCommon::after {content: ""; background: url("../../img/home/ic-arrow-01.png") center center / cover no-repeat; aspect-ratio: 36/12; width: min(3vw,36px); position: absolute; right:1.7em; top: 50%; transform: translateY(-50%); transition: 0.3s all ease-in-out;}
a.homBtnCommon:hover::after {right: 1.3em;}


@media (max-width: 767px) {
 #homContent .contents {margin: min(4vw,30px) auto ; border-radius: min(4vw,20px); }
 a.homBtnCommon {width: 80vw; font-size: min(4vw,2rem);padding: min(4vw,20px);}
 a.homBtnCommon::after {width: min(7.2vw,36px);}
}

/* title */
.ttlCommon { color: var(--c-blue); font-weight: 600; font-size: min(4vw,4.8rem);} 
.ttlCommon .ttlWrapper {position: relative; padding-top: min(7.17vw,86px); display: inline-block; z-index: 1;}
.ttlCommon .ttl__bubble {position: absolute; left: 0; top: 0;}

@media (max-width: 767px) {
 .ttlCommon {font-size: min(6.4vw,4.8rem);} 
 .ttlCommon .ttlWrapper {padding-top: min(12vw,86px); }
}

/* visual */
.homVis {background: #fff; width: 100%; border-radius: 0 0 min(1.66vw,20px) min(1.66vw,20px); padding-bottom: min(6.6vw,80px);}
.homVisual {aspect-ratio: 1600/670; background: #eee; border-radius: min(1.66vw,20px);}
.homSlider {aspect-ratio: 1600/670;}
.homSlider__img {aspect-ratio: 1600/670; border-radius: min(1.66vw,20px); overflow: hidden; position: relative; }
.homSlider__img img {width: 100%; height: 100%; object-fit: cover;}

.homSlider__txt {position: absolute; z-index: 10; color: #fff; text-shadow: 0 0 10px rgba(0,0,0,0.9);}
.homSlider__txt p {background: linear-gradient(transparent 93%, #fff 0%); display: inline; padding-bottom: 5px; font-size: min(3.17vw,3.8rem); font-family: "M PLUS Rounded 1c", sans-serif; font-weight: 600; letter-spacing: 0.15rem;}
.homSlider__txt p span{font-size: min(3.58vw,43px); color: var(--c-yellow);}

.homSlider--01 .homSlider__txt {left: min(7.5vw,80px); bottom: min(6.6vw,80px);}
.homSlider--02 .homSlider__txt {right: min(7.5vw,80px); bottom: min(6.6vw,80px); text-align: right;}
.homSlider--03 .homSlider__txt {left: 0; top: 50%; text-align: center; width: 100%; transform: translateY(-50%);}

@media (max-width: 767px) {
 .homVis {border-radius: 0 0 min(4vw,20px) min(4vw,20px); padding: min(6vw,80px) 0; margin-top: max(-4vw,-60px);}
 .homVisual {aspect-ratio: 15/8; border-radius: min(4vw,20px);}
 .homSlider {aspect-ratio: 15/8;}
 .homSlider__img {aspect-ratio: 15/8; border-radius: min(4vw,20px); }
 .homSlider__txt p {font-size: min(4vw,3.8rem); letter-spacing: 0.1rem;}
 .homSlider__txt p span{font-size: min(6vw,43px);}
 .homSlider--01 .homSlider__txt {left: min(5vw,80px); bottom: min(8vw,80px);}
 .homSlider--02 .homSlider__txt {right: min(5vw,80px); bottom: min(8vw,80px); }
}

/* info / pickup */
.ttlInfo {font-size: min(3.17vw,3.8rem); text-align: center; margin: max(-2vw,-24px) auto min(3.3vw,40px); position: relative;}
.ttlInfo::before {content: ""; background:url("../../img/common/ic-heading-01.svg") center center / cover no-repeat; aspect-ratio: 300/79; width: min(15.58vw,187px); position: absolute; left: 50%; bottom: 0; transform: translate(-50%,-10%);}
.ttlInfo .ttl__bubble  {width: min(19vw,228px); transform: translate(-2em);}
.ttlInfo em {font-size: min(2.5vw,3rem);}

.homPickup {background: url("../../img/home/bg-homInfo-01.png") left top repeat; border-radius:min(1.66vw,20px); padding: min(2.5vw,30px) 0;}
.homPickup ul {width: 90%; max-width: 1200px; margin:0 auto;}
.homPickup ul li {margin: min(0.83vw,10px) 0; position: relative; padding-left: 8em; letter-spacing: 0.1rem;}
.homPickup ul li span {position: absolute; left: 0;}
.homPickup ul li a {text-decoration: underline;}
.homPickup ul li a:hover {text-decoration: none;}

@media (max-width: 767px) {
 .ttlInfo {font-size: min(6vw,3.8rem); margin: max(-4vw,-24px) auto min(5vw,40px); }
 .ttlInfo::before {width: min(36vw,187px); position: absolute; left: 50%; bottom: 0; transform: translate(-50%,-10%);}
 .ttlInfo .ttl__bubble  {width: min(38vw,228px); transform: translate(-2em);}
 .ttlInfo em {font-size: min(4.5vw,3rem);}
 .homPickup { border-radius:min(4vw,20px); padding: min(4vw,30px) 0;}
 .homPickup ul li {margin: min(2vw,10px) 0; padding-left:0; letter-spacing: inherit;}
 .homPickup ul li span {position: relative; left: 0; display: block; line-height: 1.4;}
}

/* point */
.pointWrap {margin-top: min(2.5vw,30px);  border-radius:min(1.66vw,20px); border: 3px solid var(--c-blue); padding: min(4.16vw,50px) 0;}
.point { width: 90%; max-width: 1200px; margin-inline: auto; text-align: center;}
.point:not(:first-child){ margin-top: min(4.16vw,50px);}
.point h3 {	font-size: min(2vw,2.4rem);	color:var(--c-blue);	font-weight: 600;	text-align: center; margin: min(2.5vw,30px) auto min(0.83vw,10px);}
.point h3:first-of-type { margin-top: 0;}
table.schedule { width: 100%; margin-bottom: 10px; font-size: min(1.25vw,1.5rem);}
table.schedule thead th {	background: var(--c-yellow);	text-align: center;	font-weight: normal;	padding: 5px; line-height: 1.4;}
table.schedule thead tr th:first-child {background: var(--c-yellow);}
table.schedule tbody tr {border-top: 2px solid #fff;}
table.schedule tbody th,table.schedule tbody td {	text-align: center;	padding: 5px;	color: #333; background: #fffdd4;}
table.schedule th.sat,table.schedule thead th span.sat {	color: #4875e7;}
table.schedule th.red,table.schedule thead th span.red {	color: #c2580a;}
table.schedule td.red {	color: #e30050;	background: #fae2e5;	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: 767px) {
 .pointWrap {margin-top: min(6vw,30px);  border-radius:min(4vw,20px); padding: min(6vw,50px) 0; }
 .point {text-align: left;}
 .point:not(:first-child){ margin-top: min(8vw,50px);}
 .point h3 {	font-size: min(5.8vw,2.4rem);	margin: min(6vw,30px) auto min(2vw,10px); line-height: 1.4;}

 table.schedule {display: block;	width: auto !important;	margin: 2vw 0 3vw; font-size: min(3.6vw,1.5rem);	border-collapse: collapse;}
 table.schedule thead {display: block;	float: left;	width: 35%;}
 table.schedule thead th {line-height: 1.6; border: 1px solid #fff;}
 table.schedule tbody th {background: var(--c-yellow);}
 table.schedule tbody th, table.schedule tbody td {border: 1px solid #fff;}
 table.schedule tbody {	display: block;	width: 65%;	float: left;}
 table.schedule th, table.schedule td {	text-align: center;	padding: 2vw 1vw;	display: block;	line-height: 1.6;}
 table.schedule th br { display: none;}
 table.schedule thead tr { display: block;  }
 table.schedule tbody tr {width: 50%;	display: block;float: left; border: none;}
 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 { font-size: 3.2vw;}
  table.schedule.schedule_y th, table.schedule.schedule_y td {vertical-align: middle !important;}
}

/* about */
#homAbout { padding: min(7.17vw,86px) 0;}
.homInner {position: relative;}
.homAbt__flex {display: flex; display: -webkit-flex; justify-content: space-between; min-height: min(51.67vw,620px);}
.homAbt__img {width: 47%; background: url("../../img/home/img-homAbout-01.jpg") left center / cover no-repeat ; border-radius: min(2.5vw,30px); position: relative;}
.homAbt__cont {width: 45%;}
.homAbt__inr {max-width: 530px;}

.homAbt__cont h2 {font-size: min(3.3vw,4rem); color: var(--c-blue); font-weight: 600; line-height: 1.6; padding-top: min(6.92vw,83px); position: relative;}
.homAbt__cont h2 span {font-size: min(4vw,4.8rem);background: linear-gradient(transparent 70%, #fff100 70%);}
.homAbt__cont h2::before {content: ""; background: url("../../img/home/img-bubble-about.png") center center / cover no-repeat; aspect-ratio: 298/79; width: min(24.84vw,298px); max-width: 298px; position: absolute; left: 0; top: 0; transform: translateX(-15%);}
.homAbt__cont h2::after {content: ""; background: url("../../img/home/ic-about-01.svg") center center / cover no-repeat; aspect-ratio: 300/121; width: min(10.33vw,124px); position: absolute; right: 0; top: min(0.83vw,10px);}
.homAbt__read {margin: min(2.5vw,30px) 0 0;}
.homAbt__tel {display: flex; display: -webkit-flex; column-gap: min(1.66vw,20px); align-items: center; margin: min(3vw,36px) auto min(2vw,24px);}
.homAbt__tel p {margin: 0;}
.homAbt__tel .homAbt__tel__txt {background: #333; color: #fff; border-radius: 30vw; font-weight: 600; padding: min(0.4vw,5px) min(2.5vw,30px);}
.homAbt__tel .homAbt__tel__num {font-size: min(3vw,3.6rem); font-family: var(--ff-en); font-weight: 600;}
.homAbt__tel .homAbt__tel__num a {color: #333; padding-left: 1em; position: relative; letter-spacing: 0.1rem;}
.homAbt__tel .homAbt__tel__num a::before {content: ""; background: url("../../img/common/ic-tel-01.svg") center center / cover no-repeat; aspect-ratio: 1/1; width: 0.8em; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#homAbout .btn__reserve p {margin: 0; font-size: min(1vw,1.2rem); text-align: center;}

.homAbt__img .homAbt__table {background: #fff; position: absolute; right: -1px; bottom: -1px; border-radius: min(1.25vw,15px) 0 0 0; padding: min(2vw,24px) min(0.83vw,10px) 0 min(3.75vw,45px); }
.homAbt__img .homAbt__table::before,
.homAbt__img .homAbt__table::after {content: ""; background: url("../../img/common/ic-corner-wh.svg") center center / cover no-repeat; aspect-ratio: 1/1; width: min(1.66vw,20px); position: absolute;}
.homAbt__img .homAbt__table::before {right: 0; top: 1px; transform: translateY(-100%) rotate(-180deg);}
.homAbt__img .homAbt__table::after {left:1px; bottom: 0; transform: translateX(-100%) rotate(-180deg);}

.homAbt__img .homAbt__table p{margin: 0; font-size: min(1.08vw,1.3rem);font-weight: 500;}
.homAbt__img .homAbt__table table {font-size: min(1.25vw,1.5rem); text-align: center; margin-bottom: min(0.83vw,10px);}
.homAbt__img .homAbt__table table thead tr {border-bottom: 2px solid #333;}
.homAbt__img .homAbt__table table th,
.homAbt__img .homAbt__table table td {padding: min(0.83vw,10px) min(1.25vw,15px); line-height: 1.3; font-weight: 500;}
.homAbt__img .homAbt__table table thead th span,
.homAbt__img .homAbt__table table tbody th span{display: block; font-size: min(1.08vw,1.3rem);}
.homAbt__img .homAbt__table table tbody tr:nth-child(odd) {background: #e4f3f9;}
.homAbt__img .homAbt__table table tbody td {color: var(--c-blue);}
.homAbt__img .homAbt__table table tbody td.off {color: #333;}
.homAbt__img .homAbt__table table tbody td.c-y {color: var(--c-yellow);}

.homAbt__btn {margin: min(7.17vw,86px) auto 0; display: flex; display: -webkit-flex; justify-content: center; column-gap: min(5vw,60px);}

@media (max-width: 1263px) and (min-width: 768px) { 
 .homAbt__cont {width: 48%;}
 .homAbt__img .homAbt__table {padding: min(2vw,24px) min(0.83vw,10px) 0 min(2vw,45px); }
}

@media (max-width: 767px) {
 #homAbout { padding: min(8vw,86px) 0;}
 .homAbt__flex {flex-direction: column-reverse;}
 .homAbt__img {width: 100%;  border-radius:0; margin-top: 4vw; background: none;}
 .homAbt__cont {width: 100%;}
 .homAbt__inr {max-width: inherit;}

 .homAbt__cont h2 {font-size: min(6vw,4rem); padding-top: min(12vw,83px); }
 .homAbt__cont h2 span {font-size: min(7vw,4.8rem); }
 .homAbt__cont h2::before {width: min(50vw,298px); max-width: inherit; transform: translateX(-5%);}
 .homAbt__cont h2::after {width: min(20vw,124px);  top: min(2vw,10px);}
 .homAbt__read {margin: min(2.5vw,30px) 0 0;}
 .homAbt__tel {column-gap: min(2vw,20px);  margin: min(4vw,36px) auto min(4vw,24px);}
 .homAbt__tel .homAbt__tel__txt {padding: min(1vw,5px) min(4vw,30px);}
 .homAbt__tel .homAbt__tel__num {font-size: min(6vw,3.6rem);}
 #homAbout .btn__reserve p {font-size: min(3.2vw,1.2rem);}

 .homAbt__img .homAbt__table {position: relative; right: inherit; bottom: inherit; border-radius:0; padding: 0;}
 .homAbt__img .homAbt__table::before,.homAbt__img .homAbt__table::after {content: none;}

 .homAbt__img .homAbt__table p{font-size: min(3.2vw,1.3rem); text-align: right;}
 .homAbt__img .homAbt__table table {font-size: min(3.5vw,1.5rem); width: 100%; margin-bottom: min(2vw,10px);}
 .homAbt__img .homAbt__table table th,
 .homAbt__img .homAbt__table table td {padding: min(2vw,10px);}
 .homAbt__img .homAbt__table table thead th span,
 .homAbt__img .homAbt__table table tbody th span{font-size: min(3.2vw,1.3rem);}

 .homAbt__btn {margin: min(8vw,86px) auto 0; display:block;}
 .homAbt__btn li {text-align: center; margin: 2vw auto;}
 .homAbt__btn li a {margin-inline:auto;}
}

/* homFeature */
#homFeature {position: relative; padding-bottom: min(7.17vw,86px);}
.homFeat__vis {aspect-ratio: 1540/400; background: url("../../img/home/vis-homFeature-01.jpg") center center / cover no-repeat; border-radius: min(1.66vw,20px) min(1.66vw,20px) 0 0; display: flex; display: -webkit-flex; justify-content: center; align-items: center; margin-bottom: min(8.75vw,105px);}
.homFeat__vis .ttlCommon {text-align: center; line-height: 1.4; -webkit-text-stroke: 8px #FFF; text-stroke: 8px #FFF; paint-order: stroke;}
.homFeat__vis .ttlWrapper {padding-top: 0;}
.homFeat__vis .ttlWrapper .ttl__bubble {width: min(19.83vw,238px); transform: translate(-10%,-110%);}

.homFeat__wrap {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.homFeat--L {width: 100%;}
.homFeat--M {width: 44%;}
.homFeat__cont {position: relative;}
.homFeat__cont p {margin-bottom: 0;}
.homFeat__cont h3 { font-weight: 600; line-height: 1.4; margin-bottom: min(2.5vw,30px); letter-spacing: 0.1rem;}
.homFeat__cont h3 span {color: var(--c-blue); background: linear-gradient(transparent 70%, #fff100 70%);}
.homFeat--L h3 {font-size: min(2.83vw,3.4rem); }
.homFeat--L h3 span {font-size: min(3.3vw,4rem); }
.homFeat--M h3 {font-size: min(2.5vw,3rem); text-align: center; }
.homFeat__num {margin: 0; font-family: var(--ff-en); color:rgba(219,234,240,0.5); font-size: min(16.6vw,20rem); line-height: 0.8; font-weight: 800; position: absolute;}
.homFeat__img img {border-radius: min(1.66vw,20px);}
.homFeat--M .homFeat__img {margin-bottom: min(2.5vw,30px);}

.homFeat--L {display: flex; display: -webkit-flex; justify-content: space-between; min-height: min(32.08vw,385px);}
.homFeat--L .homFeat__img {width: 44%; position: relative;}
.homFeat--L .homFeat__txt {width: 48%; position: relative; z-index: 2;}
.homFeat__inr {width: 86%;}
.homFeat__btn {margin-top: min(3vw,36px);}
a.homBtnCommon--bl {background:#53b4e0; color: #fff; display: inline-block; text-align: center; min-width: min(19.17vw,230px); border-radius: 30vw; padding: min(1vw, 12px) min(3.3vw, 40px); font-weight: 600;}

/* 01 */
.homFeat--01 {flex-direction: row-reverse; margin-bottom: min(8.3vw,100px);}
.homFeat--01 .homFeat__txt {text-align: right;}
.homFeat--01 .homFeat__txt .homFeat__inr {text-align: left; display: inline-block; position: relative;}
.homFeat--01 .homFeat__txt .homFeat__inr::before {content: ""; background: url("../../img/home/ic-baseball-01.svg") center center / cover no-repeat; aspect-ratio: 143/150; width: min(8.3vw,100px); position: absolute; right: 0; top: 0; transform: translate(15%,-25%);}
.homFeat--01 .homFeat__num {left: 0; top:0; transform: translate(-10%,-35%);}
.homFeat--01 .homFeat__img::before {content: ""; background: url("../../img/home/img-homFeat01-02.svg") center center / cover no-repeat; aspect-ratio: 164/150; width: min(22.08vw,265px); position: absolute; right: 0; top: 0; transform: translateY(75%);}
.homFeat--01 .homFeat__img::after {content: ""; background: url("../../img/home/ic-ball-01.svg") center center / cover no-repeat; aspect-ratio: 1/1; width: min(6.6vw,80px); position: absolute; left: 0; bottom: 0; transform:translate(20%, 60%);}

/* 02 */
.homFeat--02 {margin-bottom: min(12vw,145px);}
.homFeat--02 .homFeat__num {right: 0; bottom: max(-2.5vw,-30px); }
.homFeat--02 .homFeat__img::before {content: ""; background: url("../../img/home/img-homFeat02-02.svg") center center / cover no-repeat; aspect-ratio: 195/150; width: min(27.5vw,330px); position: absolute; left: 0; top: 0;  transform: translateY(60%);}
.homFeat--02 .homFeat__img::after {content: ""; background: url("../../img/home/ic-seikei.svg") center center / cover no-repeat; aspect-ratio: 156/150; width: min(9.17vw,110px); position: absolute; left: 0; top: 0; transform: translate(20%, -60%) rotate(10deg);}
.homFeat--02 .homFeat__txt::before {content: ""; background: url("../../img/home/ic-reha.svg") center center / cover no-repeat; aspect-ratio: 167/150; width: min(9.17vw,110px); position: absolute; right: 0; bottom: 0; z-index: 1; transform: translateY(40%);}

/* 03.04 */
.homFeat--M .homFeat__txt {position: relative; z-index: 1;}
.homFeat--M .homFeat__num {left: 0; top:0; transform: translate(-25%,-35%);}

.homFeat--03::before {content: ""; background: url("../../img/home/ic-about-01.svg") center center / cover no-repeat; aspect-ratio: 300/121; width: min(10.83vw,130px); position: absolute; right: 0; top: 0; transform: translate(-20%, -100%);}
.homFeat--04 .homFeat__txt::before {content: ""; background: url("../../img/home/ic-chusya.svg") center center / cover no-repeat; aspect-ratio: 147/150; width: min(6.17vw,74px); position: absolute; right: 0; top: 0; transform: translateX(50%);}

.homFeat__class {margin: min(8.3vw,100px) auto min(5.83vw,70px); background: #54bef0 url("../../img/home/bg-homClass-01.png") center bottom / 100% auto no-repeat; border-radius: min(1.66vw,20px); position: relative; padding: min(4.16vw, 50px); text-align: center;}
.homClass__txt {width: 46%; max-width: 460px; margin: 0 auto;}
.homClass__read {margin: 0; color: #fff; line-height: 1.5; font-weight: 600; font-size: min(1.3vw,1.6rem); letter-spacing: 0.15rem;}
.homClass__txt h3 {width: min(22.67vw,272px); margin: 0 auto min(2.5vw,30px);}
.homClass__data {background: #fff; border-radius: min(1.25vw,15px); padding: min(1.25vw,15px) min(3.3vw,40px); margin-bottom: min(2vw,25px);}
.homClass__data dl {margin: 0; position: relative; text-align: left; font-weight: 600;}
.homClass__data dl dt {position: absolute;}
.homClass__data dl dd {padding-left: 3em;}
.homClass__insta {position: absolute; right:min(4.16vw,50px); bottom: max(-3vw,-36px); width: min(18vw,216px);}
.homClass__photo {position: absolute; left: 0; top: 0; width: min(32.75vw,393px); transform: translate(-20%, -10%);}

.homCont__btn {margin: min(5.83vw,70px) auto 0; width: 90%; display: flex; display: -webkit-flex; justify-content: center;}

@media (max-width: 767px) {
 #homFeature { padding-bottom: min(10vw,86px);}
 .homFeat__vis {aspect-ratio: 15/7; border-radius: min(4vw,20px) min(4vw,20px) 0 0; margin-bottom: min(10vw,105px);}
 .homFeat__vis .ttlWrapper .ttl__bubble {width: min(40vw,238px); transform: translate(-10%,-110%);}

.homFeat__wrap {display: block;}
.homFeat--M {width: 100%; display:flex; display: -webkit-flex; flex-wrap: wrap; flex-direction: column-reverse;}
.homFeat__cont h3 { margin-bottom: min(5vw,30px);}
.homFeat--L h3 {font-size: min(5.8vw,3.4rem); }
.homFeat--L h3 span {font-size: min(6.5vw,4rem); }
.homFeat--M h3 {font-size: min(5.4vw,3rem); margin-bottom: 3vw;}
.homFeat__num {font-size: min(40vw,20rem);}
.homFeat__img img {border-radius: min(4vw,20px);}
.homFeat--M .homFeat__img {margin-bottom: min(6vw,30px);}

.homFeat--L {flex-direction: column-reverse;}
.homFeat--L .homFeat__img {width: 100%; position: relative;}
.homFeat--L .homFeat__txt {width: 100%; position: relative; z-index: 2;}
.homFeat__inr {width: 100%;}
.homFeat__btn {margin: min(6vw,36px) auto 0; text-align: center;}
a.homBtnCommon--bl {padding: min(3vw, 12px) min(8vw, 40px); width: 60vw;}

/* 01 */
.homFeat--01 {margin-bottom: min(15vw,100px);}
.homFeat--01 .homFeat__txt .homFeat__inr {display:block; margin-bottom: 8vw;}
.homFeat--01 .homFeat__txt .homFeat__inr::before {width: min(20vw,100px); }
.homFeat--01 .homFeat__img::before {width: min(43vw,265px); transform: translateY(65%);}
.homFeat--01 .homFeat__img::after {width: min(14vw,80px);}

/* 02 */
.homFeat--02 {margin-bottom: min(15vw,145px);}
.homFeat--02 .homFeat__txt {margin-bottom: min(8vw,36px);}
.homFeat--02 .homFeat__num { bottom: inherit; top: 0; }
.homFeat--02 .homFeat__img::before {width: min(56vw,330px); transform: translateY(30%);}
.homFeat--02 .homFeat__img::after {width: min(20vw,110px); transform: translate(20%, -40%) rotate(10deg);}
.homFeat--02 .homFeat__txt::before {content: none;}

/* 03.04 */
.homFeat--03 {margin-bottom: min(10vw,145px);}
.homFeat--M .homFeat__txt {margin-bottom:5vw;}
.homFeat--M .homFeat__num {left: 50%; transform: translate(-50%,-35%); width: 2em; text-align: center;}
.homFeat--03::before {width: min(20vw,130px); transform: translate(0%, -100%);}
.homFeat--04 .homFeat__txt::before { width: min(12vw,74px); transform: translate(20%,-50%);}

.homFeat__class {margin: min(6vw,100px) auto min(6vw,70px); border-radius: min(4vw,20px); padding: min(6vw, 50px) min(4vw, 50px);}
.homClass__txt {width: 100%; max-width: inherit;}
.homClass__read {font-size: min(3.2vw,1.6rem); letter-spacing: normal; text-align: left;}
.homClass__txt h3 {width: min(50vw,272px); margin: 0 auto min(3vw,30px);}
.homClass__data {border-radius: min(3vw,15px); padding: min(3vw,15px) min(4vw,40px); margin-bottom: min(3vw,25px);}
.homClass__data dl {width: 68%;}
.homClass__data dl dt {position: relative;}
.homClass__data dl dd {padding-left: 0;}
.homClass__insta { right: -3vw; bottom: max(-2vw,-36px); width: min(32vw,216px);}
.homClass__photo {display: none;}
.homCont__btn {margin: min(8vw,70px) auto 0;}

}

/* homMenu */
#homMenu {padding: min(3.16vw,40px) 0 min(7.17vw,86px); position: relative;}
#homMenu::before,#homMenu::after{content: ""; position: absolute; background-repeat: no-repeat; background-size: cover; background-position: center center;}
#homMenu::before {background-image: url("../../img/home/bg-homMenu-01.svg"); aspect-ratio: 292/150; width:min(30.83vw,370px); right: 0; top: 0; border-top-right-radius: min(1.66vw,20px);}
#homMenu::after {background-image: url("../../img/home/bg-homMenu-02.svg"); aspect-ratio: 214/150; width:min(31.67vw,380px); left: 0; bottom: 0; border-bottom-left-radius: min(1.66vw,20px);}
#homMenu .ttlCommon {text-align: center; line-height: 1.2; margin-bottom: min(3.3vw,40px);}
#homMenu .ttlCommon .ttl__bubble {width: min(19.83vw,238px); transform: translate(-36%, 0);}
#homMenu .homInner {position: relative; z-index: 1;}
#homMenu .homMenu__flex {display: flex; display: -webkit-flex; flex-wrap: wrap; column-gap:2%;}
#homMenu .homMenu__flex .homMenu--L {width: 32%; margin-bottom: 2%;}
#homMenu .homMenu__flex .homMenu--M {flex: 1;}

.homMenu__cont {border-radius: min(1.25vw,15px); position: relative;}
.homMenu__cont::before {content: ""; width: 100%; height: 100%; border-radius: min(1.25vw,15px); background: #eaf7ff; position: absolute; left: max(-0.83vw,-10px); bottom: max(-0.83vw,-10px);}
.homMenu__cont::after {content: ""; width: 100%; height: 100%; border-radius: min(1.25vw,15px); position: absolute; left: 0; top: 0; border: 3px solid var(--c-blue);}

.homMenu__cont a {display: block; position: relative; z-index: 2; text-align: center; padding: min(2.5vw,30px) min(0.83vw,10px);}
.homMenu__cont a h3 {font-weight: 500; font-size: min(2.17vw,2.6rem); line-height: 1.5;}
.homMenu__cont a h3 span {display: block; font-size: min(1.16vw,1.4rem); font-family: var(--ff-en);}
.homMenu__cont a .homMenu__img {margin-bottom: min(1.66vw,20px);}
.homMenu--L .homMenu__img img { height: min(6vw,72px); width: auto;}
.homMenu--M .homMenu__img img { height: min(5.75vw,69px); width: auto;}

@media (max-width: 767px) {
 #homMenu {padding: min(8vw,40px) 0 min(16vw,86px); }
 #homMenu::before {width:min(40vw,370px); border-top-right-radius: min(4vw,20px);}
 #homMenu::after {width:min(45vw,380px); border-bottom-left-radius: min(4vw,20px);}
 #homMenu .ttlCommon {margin-bottom: min(3.3vw,40px);}
 #homMenu .ttlCommon .ttl__bubble {width: min(36vw,238px);}
 #homMenu .homMenu__flex { justify-content: space-between; column-gap:inherit;}
 #homMenu .homMenu__flex .homMenu--L {width: 100%; margin-bottom: 2%;}
 #homMenu .homMenu__flex .homMenu--M {flex: inherit; width: 49%; margin-bottom: 2%;}

 .homMenu__cont {border-radius: min(3vw,15px);}
 .homMenu__cont::before {border-radius: min(3vw,15px);  left: max(-1vw,-10px); bottom: max(-1vw,-10px);}
 .homMenu__cont::after {border-radius: min(3vw,15px); }

 .homMenu__cont a {padding: min(4vw,30px) min(2vw,10px); }
 .homMenu__cont a h3 {font-size: min(5vw,2.6rem); }
 .homMenu__cont a h3 span {font-size: min(3.2vw,1.4rem);}
 .homMenu__cont a .homMenu__img {margin-bottom: min(1.66vw,20px);}
 .homMenu--L .homMenu__img img { height: min(14vw,72px);}
 .homMenu--M .homMenu__img img { height: min(12vw,69px);}
}

/* homGreeting */
#homGreeting{padding-bottom: min(7.5vw,90px); position: relative;}
.homGreeting__above {position: relative; min-height: min(56.67vw,680px);}
.homGreeting__above::before {content: ""; width: 45%; height: 100%; border-radius: 0 min(1.66vw,20px) 0 min(5vw,60px); background: url("../../img/home/img-homGreeting-01.jpg") left center / cover no-repeat; position: absolute; right: 0; top: 0;}
.homGreeting__above::after {content: ""; background: url("../../img/home/lg-mark-01.svg") center center / cover no-repeat; aspect-ratio:276/150; width: min(28vw,460px); position: absolute; right: min(5vw,80px); bottom: 0; transform: translateY(80%);}
.homGrt__cont {width: 46%; padding: min(5vw,60px) 0 0;}
#homGreeting .ttlCommon .ttlWrapper {padding-top: min(5.83vw,70px);}
#homGreeting .ttlCommon .ttl__bubble {transform: translateX(-40%); width: min(15.75vw,189px);}
.homGrt__cont .homGrt__name {font-weight: 600; font-size: min(2.5vw,30px); position: relative; margin: min(2.5vw,30px) auto;}
.homGrt__cont .homGrt__name span {position: relative; z-index: 1;}
.homGrt__cont .homGrt__name::before {content: ""; background: url("../../img/common/ic-heading-01.svg") center center / cover no-repeat; aspect-ratio: 300/79; width:min(12.5vw,150px); position: absolute; left: 0; bottom: 0; transform: translateX(-8%);}
.homGrt__cont p {line-height: 2;}

.homGrt__flex {display: flex; display: -webkit-flex; column-gap: min(7.5vw,90px); margin-top: min(2.5vw,30px);}
.homGrt__flex h4 {font-weight: 600; font-size: min(2vw,2.4rem); color: var(--c-blue);}
.homGrt__license ul {margin: 0;}
.homGrt__license ul li {margin: min(0.83vw,10px) 0; padding-left: 1em; position: relative;}
.homGrt__license ul li::before {content: ""; aspect-ratio: 1/1; width: min(0.5vw,6px); border-radius: 50%; background: var(--c-blue); position: absolute; left: 0.25em; top: 50%; transform:translateY(-50%);}

@media (max-width: 767px) {
 #homGreeting{padding: 0 0 min(10vw,90px);}
 .homGreeting__above { min-height: inherit; padding-top: 35vw;}
 .homGreeting__above::before {width: 100%; height: 40vw; border-radius: min(4vw,20px) min(4vw,20px) 0 0;background-position: 0 -25px;}
 .homGreeting__above::after {width: min(30vw,460px); right: 0; top: 35vw; bottom: inherit; transform: none;}
 .homGrt__cont {width: 100%; padding: 0;}
 #homGreeting .ttlCommon {text-align: center;}
 #homGreeting .ttlCommon .ttlWrapper {padding-top: min(13vw,70px);}
 #homGreeting .ttlCommon .ttl__bubble {width: min(30vw,189px);}
 .homGrt__cont .homGrt__name {font-size: min(5.6vw,30px); margin: min(4vw,30px) auto;}
 .homGrt__cont .homGrt__name span {position: relative; z-index: 1;}
 .homGrt__cont .homGrt__name::before {width:min(30vw,150px); }

 .homGrt__flex {display: block; margin-top: min(3vw,30px);}
 .homGrt__flex h4 {font-size: min(5vw,2.4rem); margin-top: min(3vw,30px); }
 .homGrt__license ul {margin: 0;}
 .homGrt__license ul li {margin: min(2vw,10px) 0;}
 .homGrt__license ul li::before {width: min(1.2vw,6px);} 
}

/* info */

#homInfo {
 display: grid;
 grid-template-columns: 1fr 36%;
 grid-template-rows: max-content;
 grid-column-gap: min(2.5vw,30px);
 grid-row-gap: min(2.5vw,30px);
}

.homColumn { grid-area: 1 / 1 / 2 / 2; }
.homNews { grid-area: 2 / 1 / 3 / 3; }
.homSNS { grid-area: 1 / 2 / 2 / 3; }
 
.homColumn, .homNews, .homSNS {margin: 0 !important; position: relative;}
.homInrInfo {margin-inline: auto;}
.homInrInfo h2 {color: var(--c-blue); font-weight: 600; position: relative; line-height: 1.4; text-align: center; font-size: min(3vw,3.6rem); background: url("../../img/common/ic-heading-01.svg") center center / min(15vw, 180px) auto no-repeat; margin-bottom: min(2.5vw,30px);}
.homInrInfo h2 span {display: block; font-family: var(--ff-en); font-weight: 500; font-size: min(1.5vw,1.8rem);}
a.btnMore {display: inline-block; background: var(--c-blue); color: #fff; font-family: var(--ff-en); border-radius: 30vw; font-weight: 500; padding: min(0.4vw,5px) min(2.5vw,30px); text-align: center; max-width: min(10.83vw,130px); }

.homColumn {padding: min(4.16vw,50px) 0 min(5vw,60px);}
.homColumn .homInrInfo {width:84%; position: relative;}
.homColumn ul {margin: 0;}
.homColumn ul li {border-bottom: 1px solid var(--c-yellow); position: relative; padding: min(1.66vw,20px) 0 min(1.66vw,20px) 8em;}
.homColumn ul li span {position: absolute; left: 0; font-weight: 600; color: #777;}
.homColumn ul li a {color: #333;}
.homBtnColumn {position: absolute; right: 0; top: min(1.66vw,20px);}

.homNews::before{content: ""; position: absolute; left: 0; bottom:0;  background: url("../../img/home/bg-homNews-01.svg") center center / cover no-repeat; aspect-ratio: 141/150; width: min(27.5vw,330px); border-bottom-left-radius: min(1.66vw,20px);}
.homNews .homInrInfo {
 width: 90%; max-width: 1200px; padding: min(6.6vw,80px) 0; position: relative;
 display: grid;
 grid-template-columns: 17% 1fr;
 grid-template-rows: max-content 1fr;
 grid-column-gap: min(7.5vw,90px);
}
.homNews .ttlCommon-02 { grid-area: 1 / 1 / 2 / 2; }
.homNews dl { grid-area: 1 / 2 / 3 / 3; margin: 0;}
.homNews .homBtnNews{ grid-area: 2 / 1 / 3 / 2; text-align: center;}

.homNews dl dd {border-bottom: 1px solid var(--c-yellow); padding-bottom: min(1.66vw,20px); margin-bottom: min(1.66vw,20px);}
.homNews dl dd:last-child {margin-bottom: 0;}
.homNews dl dt {font-weight: 600; color: #777;}

.homSNS {padding: min(4.16vw,50px) 0 min(5vw,60px);}
.homSNS .homInrInfo {width: 86%; max-width: 420px;}
.homSNS .homInrInfo h2 {font-size: min(2.33vw,2.8rem); line-height: 1.3; margin-bottom: min(1.66vw,20px);}
.homSNS .homInrInfo ul {margin: 0; display: flex; display: -webkit-flex; flex-wrap: wrap; column-gap: min(0.8vw,10px);}
.homSNS .homInrInfo ul li {aspect-ratio: 1/1; background: #eee; width: calc(calc(100% - min(1.6vw,20px)) / 3); margin-top:  min(0.8vw,10px);}


@media (max-width: 767px) {
 #homInfo {display: block;}
 .homColumn, .homNews, .homSNS {margin: 0 0 min(4vw,30px) !important; }
 .homInrInfo h2 {font-size: min(5.6vw,3.6rem); background-size: min(36vw, 180px) auto; margin-bottom: min(3vw,30px);}
 .homInrInfo h2 span {font-size: min(3.8vw,1.8rem);}
 a.btnMore {padding: min(1vw,5px) min(6vw,30px); max-width: min(60vw,130px); }

 .homColumn {padding: min(6vw,50px) 0 ;}
 .homColumn .homInrInfo {width:86%; }
 .homColumn ul li {padding: min(3vw,20px) 0;}
 .homColumn ul li span {position: relative; left: inherit; display: block;}
 .homBtnColumn {position: relative; right: inherit; top: inherit; margin: 5vw auto 0; text-align: center;}

 .homNews::before{width: min(27.5vw,330px); border-bottom-left-radius: min(4vw,20px);}
 .homNews .homInrInfo {width: 86%;  padding: min(6vw,80px) 0; display:block;}
 .homNews dl {margin-bottom: 5vw;}
 .homNews dl dd {padding-bottom: min(3vw,20px); margin-bottom: min(3vw,20px);}

 .homSNS {padding: min(6vw,50px) 0;}
 .homSNS .homInrInfo h2 {font-size: min(5.2vw,2.8rem);margin-bottom: min(3vw,20px);}
 .homSNS .homInrInfo ul {column-gap: min(2vw,10px);}
 .homSNS .homInrInfo ul li {width: calc(calc(100% - min(4vw,20px)) / 3); margin-top: min(2vw,10px);}
}


/* silder */
#homImgSlider {margin: min(2.5vw,30px) 0;}
.photoSlider{margin-bottom: min(0.8vw, 10px);}
.phSlide {margin: 0 min(0.625vw, 7.5px); width: min(31.67vw,380px);  aspect-ratio: 4/3; border-radius: min(0.83vw,10px); overflow: hidden; background: #eee; border: 5px solid #fff;}
.phSlide img {width: 100%; height: 100%; object-fit: cover;}

@media (max-width: 767px) {
#homImgSlider {margin: min(6vw,30px) 0;}
.photoSlider{margin-bottom: min(2vw, 10px);}
.phSlide {margin: 0 min(1.5vw, 7.5px); width: min(40vw,380px); border-radius: min(2vw,10px);}
}

 
/* ----------------------------------------------------
module(common)
---------------------------------------------------- */
/* vusial */
.visContent {background: #fff; width: 96%; margin: 0 auto min(2.5vw,30px); border-radius: 0 0 min(1.66vw,20px) min(1.66vw,20px); padding-bottom: min(1.66vw, 20px);}
.visual {width: 90%; max-width: 1600px; margin: 0 auto; background: #eee; overflow: hidden; aspect-ratio: 1386/300; border-radius: min(1.66vw,20px); position: relative;}
.visual img {width: 100%; height: 100%; object-fit: cover;}
.vis__title { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); text-align: center; color: #fff; text-shadow: 0 0 10px rgba(0,0,0,0.8);}
.vis__title h2 {font-size: min(3vw, 3.6rem); font-weight: 600; letter-spacing: 0.15rem}
.vis__title h3 {font-size: min(1.66vw, 2rem); font-weight: 600;}

/* topicPath */
ol.topicPath {	margin: min(0.83vw,10px) auto 0; width: 90%; max-width: 1600px; font-size: min(1vw,1.2rem); display: flex; display: -webkit-flex; column-gap: min(0.4vw,5px)}
ol.topicPath li:not(:first-child) {padding: 0 0 0 min(1.25vw, 15px); position: relative;}
ol.topicPath li:not(:first-child)::before {content: ""; width: min(0.5vw, 6px); height: min(0.5vw, 6px); border-top: 1px solid #333; border-right: 1px solid #333; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(45deg);}
ol.topicPath li a {color: #333;}

/* layout */
#mainContent {margin: 0 auto;}
.contents {background: #fff; width: 96%; margin: min(2.5vw,30px) auto ; border-radius: min(1.66vw,20px); }
.inrContent {width: 90%; max-width: 1200px; margin: 0 auto; padding: min(6.6vw,80px) 0;}

/* hx */
.hA {color: var(--c-blue); font-size: min(3.3vw,4rem); text-align: center; font-weight: 500; line-height: 1; margin-bottom: min(5vw,60px); background: url("../../img/common/ic-heading-01.svg") center center no-repeat; background-size: min(15.25vw,183px) 100%; }
.hA span {display: block; font-family:var(--ff-en); color:var(--c-blue); font-size: min(1.5vw, 1.8rem); text-transform: uppercase;}
.hB {font-size: min(2.67vw,3.2rem); position: relative; line-height: 1.5; margin: min(4.16vw,50px) auto min(3vw,36px); color: var(--c-blue); font-weight: 500; background: url("../../img/common/bg-hB-01.png") left bottom / auto min(0.5vw,5px) repeat-x; padding-bottom: min(1.5vw,18px);}
.hC {font-size: min(2.5vw,3rem); background: var(--c-yellow); padding: min(1.25vw, 15px) min(1.25vw, 15px) min(1.25vw, 15px) min(2vw, 25px); margin: min(3.3vw,40px) 0 min(3vw,36px); line-height: 1.5; border-radius: min(0.83vw,10px); color: var(--c-blue); font-weight: 500; }
.hD {font-size: min(2.33vw,2.8rem);color: var(--c-blue); font-weight: 500;  padding-left:1.25em; line-height: 1.5; position: relative;  margin: min(2.5vw , 30px) 0 min(1.6vw , 20px);}
.hD::before {content: ""; width: 0.8em; aspect-ratio:1/1; border-radius: 50%; background: var(--c-yellow); position: absolute; left: 0; top: 0.32em;}

.flexConent .hC:first-child, .flexConent .hD:first-child, .flexConent .hE:first-child, .floatBox .hD:first-of-type, .decBox .hE:first-child  { margin-top: 0;}

/* link  / list */
.telLink { padding-left:1.5em; font-size:1.75em;}
.telLink::before { color: var(--c-blue); font-size:1.2em; font-variation-settings: 'FILL' 1;}
a.linkArrow { display: inline-block; min-width: min(23vw, 280px); padding: min(1.5vw, 18px) min(6vw, 50px) min(1.5vw, 18px) min(3.3vw, 40px) ; text-align: center;  background: var(--c-blue); color: #fff;  position: relative; border-radius: 30vw; font-weight: 600;}
a.linkArrow::after {content: "";	position: absolute;	right: min(1.6vw,20px);	top: 50%;	width: min(1vw, 12px);	aspect-ratio:1/1;	border-top: 2px solid #fff;	border-right: 2px solid #fff;	transform: translateY(-50%) rotate(45deg);}
a.linkArrow.linkExternal::after { content: none;}
a.linkExternal span::after { color: #fff;}

ul.listDot li::before { background: var(--c-yellow);}
ul.listCheck li::before {content: "";flex: 0 0 15px; width: 15px;height: 15px;background-image: url("../../img/common/ic-checkbox.svg");background-repeat: no-repeat;background-size: contain;background-position: center;}
.listData dt { color:  var(--c-blue);  margin-top: min(0.4vw, 5px);}

/* decBox */
.decBox { padding: min(2.5vw,30px); margin-bottom: min(2.5vw,30px); border-radius: min(1.25vw,15px);}
.decBox .hD:first-of-type { margin-top: 0;}
.decBox p:last-child, .decBox div:last-child, .decBox ul:last-child, .decBox ol:last-child, .decBox dl:last-child, .decBox table:last-child { margin-bottom: 0 !important;}
.decBox01 { background: #d5e9f2; border:3px solid var(--c-blue);}
.decBox02 { background: #fbf7da; border:3px solid var(--c-yellow);}
.decBox03 {background: #fff; border:3px solid var(--c-yellow);}

/* p */
.strongA { background: linear-gradient(transparent 60%, #ffff66 60%);}
.strongB { font-size: 120%;}

/* table */
.tblA th, .tblA td, .tblB th,.tblB td, .tblC th, .tblC td, .tblD th, .tblD td, .tblE th, .tblE td {border: 2px solid var(--c-blue);  padding: min(0.83vw, 10px);}
.tblA th, .tblB th, .tblC th, .tblD th, .tblE th  {background: var(--c-yellow); color: var(--c-blue);}
.tblA td, .tblB td, .tblC td, .tblD td, .tblE td {background: #fff;}
.tblB th { text-align: left; }
.tblB td.inrTblB table tr { border-bottom: 2px solid var(--c-blue); }
.tblB td.inrTblB table td { border-left: 2px solid var(--c-blue); }
.tblC { border-top: 2px solid var(--c-blue); }

.tblD td:first-child, .tblE tr:nth-child(even) th { background: #d5e9f2; color:var(--c-blue);}
.tblD td:first-child {font-weight: 600; text-align: center; }
.tblE tr:nth-child(even) td { background: #fbf7da;}

.stpWrapper table td{color: #333;}
/* step */
.stpWrapper {}
.stpContent { background: var(--c-blue); color: #fff; position: relative; padding: min(4.16vw, 50px) min(5vw, 60px) min(4.16vw, 50px) min(6.6vw,80px); border-radius: min(1.25vw,15px); overflow: hidden;
 display: grid;
 grid-template-columns: 1fr 40%;
 grid-template-rows: max-content 1fr;
 grid-column-gap: min(5vw,60px);
 grid-row-gap: min(1.66vw,20px);
}
.stpTitle { grid-area: 1 / 1 / 2 / 2; }
.stpImg { grid-area: 1 / 2 / 3 / 3; }
.stpTxt { grid-area: 2 / 1 / 3 / 2; }
.stpContent.stpNoImg {display: block;}
.stpContent:not(:last-child) {margin-bottom: min(4.16vw,50px);}

.stpNum {position: absolute; left: 0; top: 0; border-radius: 50%; aspect-ratio: 1/1; width: min(9.17vw,110px); background: var(--c-yellow); color: var(--c-blue); display: flex; display: -webkit-flex; justify-content: center; align-items: center; font-family: var(--ff-en); text-align: center; line-height: 1.2; font-weight: 600; transform: translate(-20%, -25%);}
.stpNum span {padding: 0.8em 0 0 0.5em;}
.stpNum em {display: block; font-size: min(2vw,2.4rem); }
.stpTitle {font-size: min(2.33vw,2.8rem); font-weight: 600;}

.stpContent .linkArrow {background: var(--c-yellow); color: var(--c-blue);}
.stpContent .linkArrow::after{border-color: var(--c-blue);}

@media (max-width: 767px) {
/* vusial */
.visContent {margin: max(-3vw, -15px) auto 0; border-radius: 0 0 min(3vw,20px) min(3vw,20px); padding: min(4vw, 20px) 0;}
.visual {border-radius: min(3vw,20px); aspect-ratio: inherit; height: 30vw;}
.vis__title h2 {font-size: min(5.8vw, 3.6rem); line-height: 1.4;}
.vis__title h3 {font-size: min(3.8vw, 2rem); }


/* topicPath */
ol.topicPath {	margin: min(2vw,10px) auto 0; font-size: min(2.6vw,1.2rem); column-gap: min(1vw,5px);}
ol.topicPath li:not(:first-child) {padding: 0 0 0 3vw; margin-left: 1vw;}
ol.topicPath li:not(:first-child)::before { width: 1.2vw; height: 1.2vw;}

/* layout */
#mainContent {margin: 0 auto; width: 100%;}
.contents {margin: min(3vw,30px) auto ; border-radius: min(3vw,20px); }
.inrContent {padding: min(6vw,80px) 0;}

/* hx */
.hA {font-size: min(6vw,4rem); margin-bottom: min(6vw,60px); background-size: min(36vw,183px) 100%; line-height: 1.4;}
.hA span {font-size: min(3.8vw, 1.8rem); }
.hB {font-size: min(5.4vw,3.2rem); margin: min(6vw,50px) auto min(5vw,36px); background-size:auto min(1vw,5px); padding-bottom: min(3vw,18px);}
.hC {font-size: min(5vw,3rem); padding: min(3vw, 15px) min(3vw, 15px) min(3vw, 15px) min(5vw, 25px); margin: min(6vw,40px) 0 min(4vw,36px); border-radius: min(2vw,10px);}
.hD {font-size: min(4.8vw,2.8rem); margin: min(5vw , 30px) 0 min(3vw,20px);}

/* link */
a.linkArrow {display: block; margin-inline: auto; width: 100%; min-width: inherit; padding: min(3vw, 18px) min(6vw, 40px);}
a.linkArrow::after {right: min(4vw,20px); width: min(2.4vw, 12px);}
.listData dt {margin-top: min(1vw, 5px);}

/* decBox */
.decBox { padding: 5vw;  margin-bottom: 4vw;  border-radius: min(3vw,15px);}

/* link  / list */
.listData dt { margin-top:1vw;}
	
/* table */
.tblA th, .tblA td , .tblB th, .tblB td  { padding: 2.5vw; }
.tblA.tblVertical { border-bottom: 2px solid var(--c-blue);}
.tblB { border-bottom: 2px solid var(--c-blue);}

.tblB td.inrTblB table th { background: #f3f3f3; color: var(--c-blue);  text-align: left;  font-weight: 600; }
.tblD tr {border-top: 2px solid var(--c-blue);}
.tblD th { padding: inherit; }
.tblD td { padding: inherit; }
.tblD { border-top: 2px solid var(--c-blue); border-bottom: 2px solid var(--c-blue); }
.tblD td:before { padding: 3vw 1.5vw; background: #eee;  color: var(--c-blue); }
.tblD td span { padding: 3vw; }
.tblD td:first-child { padding: 3vw; }
.tbl-scroll::-webkit-scrollbar-track { background: #f3f3f3; }
.tbl-scroll::-webkit-scrollbar-thumb {  background: #BCBCBC;  }
.tbl-scroll .tblE th::before {background: var(--c-blue);  }
.tbl-scroll .tblE th::after { background: var(--c-blue);  }

/* step */
.stpContent { display: block; padding: min(6vw, 50px) min(6vw,80px); border-radius: min(3vw,15px); }
.stpContent:not(:last-child) {margin-bottom: min(5vw,50px);}

.stpNum {width: min(20vw,110px);transform: translate(-20%, -20%);}
.stpNum em {font-size: min(6vw,2.4rem); }
.stpTitle {font-size: min(5vw,2.8rem);  text-align: center; padding: 0 11vw; margin-bottom: 4vw; line-height: 1.4;}
.stpImg {margin-bottom: 3vw;}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width:768px) {
  /* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
  /* hover */
  a:hover {
    opacity: .8 !important;
    filter: alpha(opacity=80);
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  a img:hover {
    opacity: .8 !important;
    filter: alpha(opacity=80);
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .clickable:hover {
    filter: alpha(opacity=80) !important;
    opacity: .8 !important;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .clickable:hover {
    opacity: 0.7;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
	
/* ----------------------------------------------------
header(pc)
---------------------------------------------------- */
body {padding-top: min(2.5vw,30px);}
#header {position: sticky; width:96%; left: 2%; top: 0; background: #fff; z-index: 10; border-radius: min(1.66vw,20px) 0 0; padding-bottom: min(1.66vw,20px); transition:0.3s all ease-in-out;}
.inrHeader {width: 90%; max-width: 1600px; margin: 0 auto min(3.75vw,45px); transition:0.3s all ease-in-out;}

#hd__logo {display: flex; display: -webkit-flex; align-items: center; height: min(10vw,120px); padding-top: min(4vw,50px); transition:0.3s all ease-in-out;}
#hd__logo #hd-logo {width: min(39.17vw,470px); margin-left: max(-2.5vw,-30px); transition:0.3s all ease-in-out;} 
#hd__logo p {font-size: min(1.08vw,1.3rem); line-height: 1.4; font-weight: 500; margin-left: min(1.66vw,20px);}

#hd__info {position: absolute; right: 0; top: 0; background: var(--c-yellow); border-radius: 0 0 0 min(1.66vw,20px); display: flex; display: -webkit-flex; align-items: flex-end; column-gap: min(2.5vw,30px); height: min(10vw,120px); padding: 0 0 min(3.3vw,40px) min(4vw,48px);}
#hd__info::before,#hd__info::after {content: ""; background: url("../../img/common/ic-corner-y.svg") center center / cover no-repeat; aspect-ratio: 1/1; width: min(1.66vw,20px); position: absolute; }
#hd__info::before {left: 0; top: 0; transform:translateX(-100%) rotate(90deg);}
#hd__info::after {right: 0; bottom: 0; transform:translateY(100%) rotate(90deg);}

#hd__info .hd__info__btn {width: min(21.67vw ,260px);} 
#hd__info .hd__info__tel {text-align: right; padding-bottom: 0.5em;}
#hd__info .hd__info__tel p:not(.hd__tel__num) {font-size: min(1.08vw,1.3rem); line-height: 1.2; font-weight: 500;}
#hd__info .hd__info__tel p.hd__tel__num {font-family: var(--ff-en); line-height: 1.3; font-size: min(2.17vw,2.6rem); font-weight:600; position: relative; padding-left: 1em; transform: rotate(0);}
#hd__info .hd__info__tel p.hd__tel__num::before {content: ""; background: url("../../img/common/ic-tel-01.svg") center center / cover no-repeat; aspect-ratio: 1/1; width: 0.8em; position: absolute; left: 0; top: 50%; transform:translateY(-50%);}
#hd__info .hd__info__tel p.hd__tel__num a {color: #333;}

@media (max-width: 1500px) {
 #hd__logo {display:block; padding-top: min(3vw,50px);}
 #hd__logo p{ margin: min(0.83vw,10px) 0 0 0; font-size: min(1vw,1.3rem);}
 #hd__logo p br {display: none;}
 #hd__info {column-gap: min(1.25vw,30px); height: min(10vw,120px); padding: 0 0 min(3vw,40px) min(3vw,48px);}
}

#navGlobal {display:flex; display: -webkit-flex; justify-content: center; width: 90%; max-width: 1600px; margin: 0 auto; background: var(--c-blue); border-radius: min(1.66vw,20px); }
#navGlobal > li {position: relative; line-height: 1.5;}
#navGlobal > li a {color: #fff; display: block; padding: min(1.5vw,18px) min(2vw,40px); text-align: center; font-weight: 500; font-size: min(1.66vw,2rem); letter-spacing: 0.1rem;}
#navGlobal > li a span {display: block; font-family: var(--ff-en); font-size: min(1vw,1.2rem); transform: rotate(0);}
#navGlobal > li a:hover,#navGlobal li a.current,#navGlobal li a.parentsLink {color: #fff100; opacity: 1!important;}

.navChild {position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 100%); background: #28afec; z-index: 16; display: none; width: min(20vw , 240px); border-radius: 0 0 min(0.83vw,10px) min(0.83vw,10px); }
#navGlobal li .navChild li a {padding: min(1vw,12px) min(1.25vw,15px) !important; font-size: min(1.3vw,1.6rem) !important; text-align: left; }
#navGlobal li .navChild li:not(:last-child) a {border-bottom: 1px dashed #fff;}

#header.fixed {border-radius: 0 0 min(1.66vw,20px) min(1.66vw,20px);}
#header.fixed .inrHeader {width: calc(100% - min(3.32vw,40px)); margin-bottom: min(2vw, 24px); position: relative;}
#header.fixed #hd__logo { height: auto; padding-top: min(1.66vw,20px);}
#header.fixed #hd__logo #hd-logo {width: min(30.5vw,366px); margin: 0;} 
#header.fixed #hd__info {background: #fff; border-radius:0; column-gap: min(2.5vw,30px); height: auto; padding: min(0.4vw,5px) min(2.5vw,30px) 0 min(4vw,48px);}
#header.fixed #hd__info::before, #header.fixed #hd__info::after {content: none;}
#header.fixed #navGlobal {width: calc(100% - min(3.32vw,40px));}
#header.fixed #navGlobal > li a  {padding: min(1vw,12px) min(2vw,40px); }


@media (max-width: 1500px) {
 #header.fixed #hd__info { padding: min(1.25vw,15px) 0 0 min(1.66vw,20px);}
}


/* ----------------------------------------------------
home(pc)
---------------------------------------------------- */
  /*point*/
  table.schedule td br {
    display: none
  }
  table.schedule th br.sp_br {
    display: none !important;
  }

/* ----------------------------------------------------
localnavi(pc)
---------------------------------------------------- */
 #navLocal {width: 90%;max-width: 1200px; margin: 0 auto max(-0.4vw,-5px);}
 #navLocal ul {margin: 0; display: flex; display: -webkit-flex; justify-content: center; gap: min(0.8vw, 10px); flex-wrap: wrap;}
 #navLocal ul li { transform: rotate(0); margin-bottom: min(0.4vw, 5px);}
 #navLocal ul li a {display: block; background: #fff; color: var(--c-blue); text-align: center; padding: min(1.25vw,15px) min(3.3vw,40px); border-radius:30vw; font-weight: 600; line-height: 1.3;}
 #navLocal ul li a.current, #navLocal ul.first li a.parentsLink, #navLocal ul li a:hover { color:var(--c-yellow-02); background: var(--c-blue); opacity: 1!important;}

}

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

}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {
#mainContainer{ width: 100%; position: relative;padding-top: 16vw;}
/* ----------------------------------------------------
header(sp)
---------------------------------------------------- */
#header  {position: fixed; left: 2%; top: 0; z-index: 99; width: 96%; height: 16vw; background: #fff; border-radius: 0 0 3vw 3vw;display: flex; display: -webkit-flex; align-items: center; padding: 2vw;}
#header #hd-logo img {width: 60vw;}
#header #hd__logo p {display: none;}

#header .sp-btnTel a {position: absolute;	width: 12vw;	height: 12vw;	right: 16vw;	top: 2vw;	z-index: 120;	background: var(--c-yellow);	display: flex;	display: -webkit-flex;	justify-content: center;	align-items: center; border-radius: 50%;}
#header .sp-btnTel span {color: var(--c-blue); font-size: 7vw; line-height: 1; }
#header .sp-btnTel span.fill{font-variation-settings: 'FILL' 1;}

#btnGlobal {position: absolute;	width: 12vw;	height: 12vw;	right: 2vw;	top: 2vw;	z-index: 120;	background: var(--c-blue);	display: flex;	display: -webkit-flex;	justify-content: center;	align-items: center; border-radius: 50%;}
#btnGlobal .btnWrapGlobal {	position: relative;	width: 5.6vw;	height: 4vw;}
#btnGlobal .btnLine { height: 2px; 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 {-moz-transition: all, ease-in-out, 0.3s;  -o-transition: all, ease-in-out, 0.3s;  -webkit-transition: all, ease-in-out, 0.3s; transition: all, ease-in-out, 0.3s;}

#grandMenu {background: #fff; width: 100%; height: auto; position: fixed; z-index: 100; left: 0; top: 0; display: none; overflow: auto; padding: 16vw 8% 10vw;}
#grandMenu #navGlobal li { font-size: min(4.4vw,1.8rem); text-align: center;}
#grandMenu #navGlobal li a {display: block; padding: 3vw 0; }
#grandMenu #navGlobal li a span {display: none;}
#grandMenu #navGlobal li.btn-navChild a em {position: relative;}
#grandMenu #navGlobal li.btn-navChild a em::after{content:""; position: absolute; right: -1.5em; top: 50%; width: 2vw; height: 2vw; border-top:1px solid var(--c-blue); border-right: 1px solid var(--c-blue); transform: translateY(-50%) rotate(135deg); transition: 0.3s all ease-in-out;}
#grandMenu #navGlobal li.btn-navChild a.active em::after{transform: translateY(-50%) rotate(-45deg);}
#grandMenu #navGlobal li.btn-navChild .navChild {display: none;}
#grandMenu #navGlobal li.btn-navChild .navChild ul {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap; column-gap: 2%;}
#grandMenu #navGlobal li.btn-navChild .navChild ul li {flex-grow: 1; min-width: 49%; margin-bottom: 2%; line-height: 1.4;}
#grandMenu #navGlobal li.btn-navChild .navChild ul li a{ display: block; background: #f3f3f3; padding: 3vw 4vw; border-radius: 1.5vw; font-size: min(4vw,1.6rem);}

#grandMenu .spBtn__reserve {width: 80%; margin: 5vw auto 0;}
#grandMenu .spSns {margin: 4vw auto 0; display: flex; display: -webkit-flex; justify-content: center; column-gap: 2vw;}
#grandMenu .spSns li {width: min(9vw,46px);}

/* -----------------------------------------------------
 navLocal(sp)
------------------------------------------------------- */
.col-reverse {display: flex; display: -webkit-flex; flex-direction: column-reverse;}
 #navLocal { width: 100%}
 #navLocal ul {margin: 0;}
 #navLocal ul li {border-bottom: 2px solid #fff; }
 #navLocal ul li a {display: block; color: #fff; font-size: 4vw; padding: 3vw 4vw; position: relative; background: var(--c-blue);}
 #navLocal ul li a::after {content: ""; width: 2vw; height: 2vw; margin-top: -0.5vw; border-top: 1px solid #fff; border-right: 1px solid #fff; position: absolute; right: 4vw; top: 50%; transform: rotate(45deg);}
 #navLocal ul li a.current, #navLocal ul.first li a.parentsLink {background: #45bff7; font-weight: 600;} 

}

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

column base

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.colFlex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap; width: 96%; margin: min(4.16vw,50px) auto min(8.3vw,100px);}
.colTitle {text-align: center; font-size: min(3vw,3.6rem); font-weight: 600; margin: min(5vw,60px) auto 0;}
#colMain {width: 70%;}
#colSide {width: 28%;}

.navSide{margin-bottom: min(2.5vw,30px); background: #fff; border-radius: min(1.25vw,15px);}
.navSide h2 {background: var(--c-blue); color:#fff; text-align: center; padding: min(1.25vw,15px); border-radius: min(1.25vw,15px) min(1.25vw,15px) 0 0;}
.navSide ul {margin: 0;}
.navSide ul li:not(:last-child) {border-bottom: 1px solid var(--c-yellow); line-height: 1.5;}
.navSide ul li a {display: block; padding: min(1.25vw,15px) min(3.3vw,20px);}
.navSide ul li ul {}
.navSide ul li ul li  {border: none !important;}
.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);}

.colMain__wrap {display: flex; display: -webkit-flex; column-gap: min(1.66vw,20px); flex-wrap: wrap;}
.postIndex {margin-bottom: min(1.66vw,20px); background: #fff; padding: min(2vw,24px); width: calc(calc(100% - calc(min(1.66vw,20px)*2))/3); border-radius: min(1.25vw,15px);}
.postIndex .postIndexImg {aspect-ratio: 16/9; background: #eee; border-radius: min(0.83vw,10px); margin-bottom: min(1.66vw,20px); overflow: hidden;}
.postIndex .postIndexImg img {width: 100%; height: 100%; object-fit: cover;}
.postIndex h2 {font-size: min(1.66vw,2rem); font-family: 'M PLUS 2',sans-serif; }
.postCat {margin: min(0.83vw,10px) 0 0;  display: flex; display: -webkit-flex; column-gap: 5px; flex-wrap: wrap; font-size: min(1.16vw,1.4rem);}
.postCat li a {color: #fff; background: var(--c-blue); display: block; padding: 0 10px; border-radius: 5px;}

.wp-pagenavi {margin-top: min(3.3vw,40px); text-align: center;}

/* parts */
.postDate {font-size: min(1.16vw,1.4rem); margin: 0;}

/* single */
.col__single {background: #fff; padding: min(5vw, 60px) 0; border-radius: min(1.66vw,20px);}
.colMain__inr {max-width: 960px; width: 90%; margin: 0 auto;}

.postHead {margin-bottom: min(2.5vw,30px); padding-bottom: min(2.5vw,30px); border-bottom: 2px solid #666;}
.postHead .postDate {}
.postHead h2 { font-size: min(2.67vw,3.2rem); margin: 0 0 min(0.83vw,10px); font-weight: 600;}

.postBody {}
.postBody h2 {font-size: min(2.67vw,3.2rem); position: relative; line-height: 1.5; margin: min(4.16vw,50px) auto min(3vw,36px); color: var(--c-blue); font-weight: 500; background: url("../../img/common/bg-hB-01.png") left bottom / auto min(0.5vw,5px) repeat-x; padding-bottom: min(1.5vw,18px);}
.postBody h3 {font-size: min(2.5vw,3rem); background: var(--c-yellow); padding: min(1.25vw, 15px) min(1.25vw, 15px) min(1.25vw, 15px) min(2vw, 25px); margin: min(3.3vw,40px) 0 min(3vw,36px); line-height: 1.5; border-radius: min(0.83vw,10px); color: var(--c-blue); font-weight: 500; }
.postBody h4 {font-size: min(2.33vw,2.8rem);color: var(--c-blue); font-weight: 500;  padding-left:1.25em; line-height: 1.5; position: relative;  margin: min(2.5vw , 30px) 0 min(1.6vw , 20px);}
.postBody h4::before {content: ""; width: 0.8em; aspect-ratio:1/1; border-radius: 50%; background: var(--c-yellow); position: absolute; left: 0; top: 0.32em;}

.postBody figure {margin: min(2.5vw,30px) auto;}
.postBody img {width: auto; 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(2.5vw,30px); padding:min(2.5vw,30px) min(3.3vw,40px) min(3.3vw,40px); background: #fff; border-radius: min(1.66vw,20px);}
.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: 1250px) and (min-width: 768px) { 
 .postIndex {width: calc(calc(100% - calc(min(1.66vw,20px)*2))/2); }
 .postIndex h2 {font-size: 1.8rem;  }
}


@media (max-width: 767px) {
 .colFlex  {width: 100%;}
 .colTitle {font-size: min(6vw,3.6rem); font-weight: 600; margin: min(5vw,60px) auto 0;}
 #colMain {width: 96%; margin: 0 auto 10vw;}
 #colSide {width: 100%;}
 
.navSide {border-radius: 0; margin: 0;}
.navSide h2 {padding: min(3vw,15px); border-radius: 0;}
.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 {column-gap: 0; justify-content: space-between;}
.postIndex {width: 49%; margin: 0 auto min(3vw,30px); padding: min(3vw,24px);}
.postIndex h2 {font-size: min(4vw,1.8rem); margin: 0 0 min(2vw,10px);}
.wp-pagenavi {margin: min(5vw,60px) 0 0; }

@media (max-width: 480px) {
 .postIndex {width: 100%;}
}

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

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

.postBody {margin: 0 auto min(10vw, 60px);}
.postBody h2 {font-size: min(5.4vw,3.2rem); margin: min(6vw,50px) auto min(5vw,36px); background-size:auto min(1vw,5px); padding-bottom: min(3vw,18px);}
.postBody h3 {font-size: min(5vw,3rem); padding: min(3vw, 15px) min(3vw, 15px) min(3vw, 15px) min(5vw, 25px); margin: min(6vw,40px) 0 min(4vw,36px); border-radius: min(2vw,10px);}
.postBody h4 {font-size: min(4.8vw,2.8rem); margin: min(5vw , 30px) 0 min(3vw,20px);}

.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);}

}



