body {
  line-height: 1;
  font-family: "Noto Serif JP";
  font-feature-settings: "palt";
}

.idx,
.idx dl,
.idx dt,
.idx dd,
.idx ul,
.idx li,
.idx a,
.idx span,
.idx i,
.idx div,
.idx p,
.idx h2,
.idx h3,
.idx section,
.idx nav,
.idx figure,
.idx article,
.idx aside,
.idx h2 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.idx {
  font-size: max(1.0714285714vw, 14.55px);
  position: relative;
}

.idx img {
  width: 100%;
  max-width: 100%;
}

.idx_otr {
  position: relative;
}

.idx_inr {
  position: relative;
  display: block;
  margin: 0 auto;
}

.idx_box {
  display: block;
  position: relative;
}

.idx_ttl {
  position: relative;
}

.idx_lst li {
  position: relative;
  display: block;
  padding-left: 1.4em;
  margin-bottom: 0.5em;
  background-repeat: no-repeat;
  background-position: 0 0.4em;
  background-size: 0.8em auto;
}

.idx_lst li:last-child {
  margin-bottom: 0;
}

.idx_lm {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  text-align: center;
}

.idx_lm span {
  display: inline-block;
  width: 5.33em;
}

.idx_lm span img {
  aspect-ratio: 80/79;
}

.idx_btn a {
  position: relative;
  display: inline-block;
}

/* ==============================
	bnr
 ============================== */
.bnr_counseling {
  margin-top: max(6.429vw,83px);
  text-align: center;
}

.bnr_counseling img {
  width: max(84.429vw,1097px);
}

.bnr_insta {
  margin-top: max(5vw, 65px);
  text-align: center;
}

.bnr_insta img {
  width: max(73.143vw, 950px);
}

/* ==============================
	top_view
 ============================== */
.top_view {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.top_view .kv img {
  width: 100%;
}

.top_view .inr {
  display: grid;
  width: 87.8em;
  grid-template-columns: 1fr 1fr;
  column-gap: 5.2em;
	margin: -9.8em auto 3em;
	font-size: max(1.0714285714vw, 14.55px);
}

.top_view .box {
  padding: 2em;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 100% 0;
	position: relative;
	aspect-ratio: 1240 / 570;
}

.top_view .box::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 0.5em;
  left: 0;
  bottom: 0;
  background-repeat: repeat-x;
  background-size: auto 100%;
}

.top_view .box .ttl {
  width: 31.3em;
  margin: 0 0 0.5em;
	padding: 0 1em .23em;
  border-bottom: 0.2em solid;
}

.top_view .box .ttl span {
  font-size: 186%;
}

.top_view .box .ttl .en {
  margin-left: 1em;
  font-size: max(1.36svw, 17.68px);
  font-style: italic;
}

.top_view .box .lead {
  margin: 0 0 1em 0.8em;
  line-height: 1;
}

.top_view .box .lead i {
  display: inline-block;
  font-size: 154%;
  letter-spacing: 0.06em;
}

.top_view .box .lead em {
  display: inline-block;
  background: linear-gradient(to bottom, transparent 0, transparent 85%, #ffed5d 85%, #ffed5d 100%);
}

.top_view .box .lead > span {
	font-size: 180%;
}

.top_view .box .lead .small {
	font-size: 60%;
}

.top_view .box .catch {
  margin: 0 0 1em 0.8em;
}

.top_view .box .catch span {
  display: inline-block;
  width: 12.8em;
  font-size: 125%;
  text-align: center;
  color: #fff;
  letter-spacing: 0.04em;
  padding: .4em 0 .2em;
  line-height: 1;
}

.top_view .box .lst {
  margin: 0 0 0 1.8em;
}

.top_view .box .lst li {
  font-size: 119%;
  background-image: url("../images/top/kv_check.png");
	background-repeat: no-repeat;
  background-repeat: no-repeat;
	background-position: 0 0.15em;
  background-size: .8em auto;
  padding-left: 1.4em;
}
.top_view .box .lst li + li{
	margin-top: 1.2em;
}

/* ---------------------------------- kv_01 */
.top_view .box_01 {
  background-image: url("../images/top/kv_01_bg.png");
}

.top_view .box_01::after {
  background-image: url("../images/top/kv_01_bdr.png");
}

.top_view .box_01 .ttl {
  color: #1574bd;
  border-color: #1574bd;
}

.top_view .box_01 .catch span {
  background-color: #1574bd;
}

.top_view .box_01 .lst em {
  border-bottom: 0.13em solid #1574bd;
}

/* ---------------------------------- kv_02 */
.top_view .box_02 {
  background-image: url("../images/top/kv_02_bg.png");
}

.top_view .box_02::after {
  background-image: url("../images/top/kv_02_bdr.png");
}

.top_view .box_02 .ttl {
  color: #0a8dd8;
  border-color: #0a8dd8;
}

.top_view .box_02 .lead em::first-letter{
	font-size: 132%;
}

.top_view .box_02 .catch span {
  background-color: #0a8dd8;
}

.top_view .box_02 .lst em {
  border-bottom: 0.13em solid #0a8dd8;
}

.top_view .tel_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  /* top: max(41.714vw, 542px); */
  /* right: 0; */
	top: 0;
  right: max(1.29vw, 16.71px);
  z-index: 1;
  width: max(22.286vw, 289px);
  height: max(7.143vw, 92px);
  padding: 0 max(1.857vw, 24px);
  font-family: "Noto Sans JP";
  color: #2e2e2e;
  background-color: rgba(255, 255, 255, 0.75);
}

.top_view .tel_box .text {
  padding-bottom: max(0.571vw, 7px);
  padding-left: max(2.929vw, 38px);
  font-size: max(1.357vw, 17px);
  font-weight: 400;
  letter-spacing: 0.08em;
  border-bottom: #2e2e2e solid 1px;
  background: url(../images/top/top-view_icon_tel_01.png) left max(1.286vw, 16px) center no-repeat;
  background-size: max(1.143vw, 14px) auto;
}

.top_view .tel_box .number {
  padding-top: max(0.571vw, 7px);
  text-align: center;
  font-size: max(2vw, 26px);
  font-weight: 400;
  letter-spacing: 0.14em;
}

/* ==============================
	info
 ============================== */
#info {
  height: max(39.571vw,514px);
  background: url(../images/top/info_bg.jpg) center top no-repeat;
  background-size: 100% auto;
}

#info h2 {
  padding-top: max(3.857vw,50px);
  text-align: center;
}

#info h2 img {
  width: max(22.786vw, 296px);
}

#info p {
  line-height: 1.2;
  margin-top: max(2.5vw,32px);
  margin-left: max(3.929vw,51px);
  font-size: max(2.571vw, 33px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
}

#info p em {
  font-size: max(3.214vw, 41px);
  color: #fff99f;
}

#info p i {
  font-size: max(3.214vw, 41px);
}

#info p span {
  margin-left: max(6.429vw,83px);
}

#info ul {
  margin-top: max(2.143vw,27px);
  margin-left: max(3.929vw,51px);
}

#info ul li {
  padding-left: max(3.286vw, 42px);
  font-size: max(2.857vw,37px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
  background: url(../images/top/icon_check_01.png) left center no-repeat;
  background-size: max(1.857vw, 24px) auto;
}

#info ul li em {
  text-decoration: underline;
  text-decoration-thickness: max(0.143vw, 1px);
  text-decoration-color: #5ba8e6;
  text-underline-offset: max(0.571vw, 7px);
}

#info ul li .fs28 {
  font-size: max(2vw,26px);
}

#info ul li .fs16 {
  font-size: max(1.143vw,14px);
}

#info ul li + li {
  margin-top: max(1.571vw, 20px);
}

#info ul li:nth-of-type(2) {
  margin-left: max(2.857vw, 37px);
}

#info ul li:nth-of-type(3) {
  margin-left: max(5vw, 65px);
}

#info ul li:nth-of-type(4) {
  margin-left: max(7.143vw, 92px);
}

/* ==============================
	counseling
 ============================== */
#counseling {
  margin-top: max(6.429vw,83px);
  height: max(50.214vw,652px);
  background: url(../images/top/counseling_bg.jpg) center top no-repeat;
  background-size: 100% auto;
}

#counseling .inr {
  width: fit-content;
  margin-left: max(7.429vw,96px);
}

#counseling h2 {
  padding-top: max(4.643vw,60px);
  text-align: center;
  font-size: max(4vw,52px);
  font-weight: 400;
  letter-spacing: 0.14em;
  color: #fff;
  text-shadow: max(0.143vw, 1px) max(0.143vw, 1px) max(0.714vw, 9px) #1c74a7, min(-0.143vw, -2px) min(-0.143vw, -2px) max(0.714vw, 9px) #1c74a7;
}

#counseling h2 span {
  display: block;
  margin-bottom: max(1.429vw, 18px);
  font-size: max(2.976vw, 38px);
}

#counseling h2 em {
  color: #fff392;
}

#counseling ul {
  display: flex;
  justify-content: center;
  column-gap: max(3.571vw, 46px);
  margin-top: max(2.5vw, 32px);
}

#counseling ul li {
  padding-left: max(2.714vw, 35px);
  font-size: max(2.071vw,26px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: max(0.143vw, 1px) max(0.143vw, 1px) max(0.714vw, 9px) #1c74a7, min(-0.143vw, -2px) min(-0.143vw, -2px) max(0.714vw, 9px) #1c74a7;
  background: url(../images/top/icon_check_02.png) left center no-repeat;
  background-size: max(1.857vw, 24px) auto;
}

#counseling p {
  margin-top: max(1.429vw,18px);
  text-align: center;
  font-size: max(1.857vw, 24px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: max(0.143vw, 1px) max(0.143vw, 1px) max(0.714vw, 9px) #1c74a7, min(-0.143vw, -2px) min(-0.143vw, -2px) max(0.714vw, 9px) #1c74a7;
  line-height: 1.8;
}

#counseling p span {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: #fff392;
  text-underline-offset: max(0.571vw, 7px);
}

#counseling p em {
  color: #f89f9f;
}

#counseling .box {
  display: flex;
  justify-content: center;
  column-gap: max(3.357vw, 43px);
  margin-top: max(0.714vw,9px);
}

#counseling .box div {
  width: max(40.571vw, 527px);
  height: max(11.929vw, 155px);
  padding-top: max(6.786vw, 88px);
  text-align: center;
  font-size: max(2.232vw, 29px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: max(0.143vw, 1px) max(0.143vw, 1px) max(0.714vw, 9px) #1c74a7, min(-0.143vw, -2px) min(-0.143vw, -2px) max(0.714vw, 9px) #1c74a7;
}

#counseling .box div span {
  font-size: max(1.286vw,16px);
}

#counseling .box div:nth-of-type(1) {
  background: url(../images/top/counseling_bg_01.png) left center no-repeat;
  background-size: max(40.571vw, 527px) auto;
}

#counseling .box div:nth-of-type(2) {
  background: url(../images/top/counseling_bg_02.png) left center no-repeat;
  background-size: max(40.571vw, 527px) auto;
}

#counseling .btn a {
  display: flex;
  align-items: center;
  width: max(21.786vw, 283px);
  height: max(3vw, 39px);
  margin: max(3.571vw, 46px) auto 0;
  padding-left: max(5.929vw, 77px);
  font-size: max(1.643vw, 21px);
  font-weight: 400;
  letter-spacing: 0.14em;
  color: #175175;
  background-color: #ffed5d;
  box-shadow: max(0.0714285714vw, 1px) max(0.0714285714vw, 1px) max(0.357vw, 4px) #1c74a7, min(0.0714285714vw, -1px) min(0.0714285714vw, -1px) max(0.357vw, 4px) #1c74a7;
}

/* ==============================
	secTable
 ============================== */
.table_logo {
  width: max(6.714vw,87px);
  margin: max(4.429vw,57px) auto max(2.143vw,27px);
}

.secTable {
  padding: max(1.929vw,25px) 0 0;
  background-image: url(../images/top/table_bg.jpg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.secTable .title {
  text-align: center;
}

.secTable .title h2 {
  font-size: max(3.571vw,46px);
  color: #236199;
  line-height: 1;
  margin-bottom: max(0.786vw, 10px);
}

.secTable .title h2 span {
  display: inline-block;
  padding-bottom: max(1vw, 13px);
  border-bottom: 1px solid #006db9;
}

.secTable .title h2 em {
  font-size: max(4.286vw,55px);
}

.secTable .title p {
  font-size: max(2.357vw, 30px);
  color: #2e2e2e;
  text-align: center;
  line-height: 1;
  margin-bottom: max(1.786vw, 23px);
}

.secTable .title p em {
  color: #2893e9;
  text-decoration: underline;
  text-decoration-thickness: max(0.5vw, 6px);
  text-decoration-color: #fff261;
  text-underline-offset: -0.1em;
  text-decoration-skip-ink: none;
}

.secTable .title p i {
  font-size: max(3.857vw, 50px);
}

.secTable .table table {
  width: max(92vw, 1196px);
  margin: 0 auto;
  font-weight: bold;
}

.secTable .table table th, .secTable .table table td {
  border: 1px solid #eaeaea;
}

.secTable .table table thead th {
  background-color: #dbc081;
  font-size: max(1.929vw, 25px);
  color: #fff;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  padding: max(2.214vw, 28px) max(0.357vw, 4px) max(2.071vw, 26px);
}

.secTable .table table thead th:first-child {
  background-color: initial;
  border: none;
}

.secTable .table table tbody tr {
  background-color: #fff;
}

.secTable .table table tbody tr:nth-child(2n) {
  background-color: #f3efe9;
}

.secTable .table table tbody th {
  width: max(13.214vw, 171px);
  text-align: center;
  vertical-align: middle;
  font-size: max(1.786vw, 23px);
  color: #2e2e2e;
}

.secTable .table table tbody th span {
  font-weight: bold;
}

.secTable .table table tbody td {
  padding: max(0.857vw, 11px) max(0.357vw, 4px) max(1.429vw, 18px);
}

.secTable .table table tbody .imp .img {
  width: max(22.857vw,297px);
  margin: 0 auto;
}

.secTable .table table tbody .imp .brand {
  font-size: max(1.786vw, 23px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
  height: max(3.571vw,46px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.secTable .table table tbody .imp .price {
  font-size: max(3.571vw, 46px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
  margin-bottom: max(0.357vw, 4px);
}

.secTable .table table tbody .imp .price em {
  font-size: max(1.571vw, 20px);
}

.secTable .table table tbody .imp .year {
  font-size: max(1.786vw, 23px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
}

.secTable .table table tbody .imp .year.red {
  color: #d50202;
}

.secTable .table table tbody .art td {
  padding: max(2.714vw, 35px) max(0.357vw, 4px) max(1.714vw, 22px);
}

.secTable .table table tbody .art .img {
  width: max(12.857vw,167px);
  margin: 0 auto max(0.857vw, 11px);
}

.secTable .table table tbody .art .brand {
  font-size: max(1.786vw, 23px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
  margin-bottom: max(0.357vw, 4px);
}

.secTable .table table tbody .art .price {
  font-size: max(3.571vw, 46px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
  margin-bottom: max(0.357vw, 4px);
}

.secTable .table table tbody .art .price em {
  font-size: max(1.571vw, 20px);
}

.secTable .table table tbody .art .year {
  font-size: max(1.786vw, 23px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
}

.secTable .table table tbody .art .year.red {
  color: #d50202;
}

.secTable .table table tbody .total td {
  padding: max(2.857vw, 37px) max(0.357vw, 4px);
}

.secTable .table table tbody .total .price {
  font-size: max(1.571vw, 20px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
  margin-bottom: max(0.357vw, 4px);
  font-weight: bold;
}

.secTable .table table tbody .total .price em {
  font-size: max(3.571vw, 46px);
  color: #236199;
  font-weight: bold;
}

.secTable .table table tbody .total .tax {
  font-size: max(1.786vw, 23px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
  font-weight: bold;
}

.secTable .table table tbody .loan td {
  padding: max(2.857vw, 37px) max(0.357vw, 4px);
}

.secTable .table table tbody .loan .price {
  font-size: max(1.786vw, 23px);
  color: #2e2e2e;
  line-height: 1;
  text-align: center;
  margin-bottom: max(0.357vw, 4px);
  font-weight: bold;
}

.secTable .table table tbody .loan .price em {
  font-size: max(2.286vw, 29px);
  font-weight: bold;
}

.secTable .table .note {
  width: max(89.143vw, 1158px);
  margin: max(1.071vw,13px) auto 0;
}

.secTable .table .note li {
  font-size: max(0.929vw,12px);
  outline-color: #242424;
}

.secTable .table .note li + li {
  margin-top: max(0.714vw,9px);
}

.secTable .btn {
  width: max(29.857vw,388px);
  margin: max(3.929vw,51px) auto 0;
  display: block;
}

/* ==============================
	oneday
 ============================== */
.oneday {
  margin-top: max(8.571vw,111px);
  position: relative;
  background-image: url(../images/top/oneday_bg.jpg);
  background-size: cover;
  aspect-ratio: 1400/918;
  height: max(65.571vw,852px);
}
.oneday .en {
  position: absolute;
  top: min(-1.5vw,-20px);
  right: max(5.357vw,69px);
  width: max(37.5vw,487px);
  mix-blend-mode: multiply;
}
.oneday .title {
  padding: max(2.143vw,27px) 0 0 max(6.429vw,83px);
}
.oneday .title p {
  font-size: max(2.429vw,31px);
  color: #2e2e2e;
}
.oneday .title p em {
  font-size: max(4vw,52px);
}
.oneday .title h2 {
  font-size: max(3.214vw,41px);
  color: #2e2e2e;
  margin-top: max(2.857vw,37px);
}
.oneday .title h2 span {
  display: block;
  margin-left: max(2.857vw,37px);
}
.oneday .title h2 span:nth-of-type(2) {
  margin-top: max(2vw,26px);
  margin-left: max(7.143vw,92px);
}
.oneday .title h2 .fs51 {
  font-size: max(3.643vw,47px);
}
.oneday .title h2 .fs56 {
  font-size: max(4vw,52px);
}
.oneday .title h2 .fs62 {
  font-size: max(4.429vw,57px);
}
.oneday .title h2 .fs68 {
  font-size: max(4.857vw,63px);
}
.oneday .title h2 i {
  color: #236199;
  text-decoration: underline;
  -webkit-text-decoration: underline; /* Safari対応 */

  text-decoration-thickness: max(1.286vw, 16px);
  -webkit-text-decoration-thickness: max(1.286vw, 16px); /* Safari対応 */

  text-decoration-color: #ffed5d;
  -webkit-text-decoration-color: #ffed5d; /* Safari対応 */

  text-underline-offset: min(-0.357vw, -5px);
  -webkit-text-underline-offset: min(-0.357vw, -5px); /* Safari対応 */

  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip-ink: none; /* Safari対応 */
}
.oneday .img {
  margin: max(2vw,26px) auto 0;
  width: max(83.286vw,1082px);
}
.oneday .lead {
  margin: max(1.714vw,22px) auto 0;
  width: max(42.857vw,557px);
  height: max(4.143vw,53px);
  background-color: #ffed5d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: max(2.429vw,31px);
  color: #236199;
}
.oneday .lead em {
  font-size: max(2.857vw,37px);
}
.oneday .lst {
  width: fit-content;
  margin: max(1vw,13px) auto 0;
}
.oneday .lst li {
  font-size: max(1.143vw,14px);
  color: #2e2e2e;
}
.oneday .lst li + li {
  margin-top: max(0.571vw,7px);
}
.oneday .btn {
  position: absolute;
  right: max(11.429vw,148px);
  bottom: max(5.143vw,66px);
  display: block;
  width: max(7.857vw,102px);
}

/* ==============================
	leading
 ============================== */
#leading {
  margin-top: max(5.714vw,74px);
  padding-top: max(7.143vw,92px);
  height: max(117.357vw,1525px);
  background-image: url(../images/top/leading_bg.jpg);
  background-size: cover;
}

#leading h2 {
  width: max(21.357vw,277px);
  margin-left: max(4.286vw,55px);
}

#leading h2 .box_01 {
  display: block;
  width: max(6vw, 78px);
  height: max(13.857vw, 180px);
  padding-top: max(1.429vw, 18px);
  padding-right: max(1.429vw, 18px);
  font-size: max(3.275vw, 42px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
  background-color: #fff;
}

#leading h2 .box_02 {
  display: block;
  width: max(6.071vw, 78px);
  height: max(59vw, 767px);
  margin-top: max(4.071vw, 52px);
  padding-top: max(1.429vw, 18px);
  padding-right: max(1.929vw, 25px);
  font-size: max(2.214vw, 28px);
  font-weight: 400;
  color: #fff;
  background-color: #1574bd;
}

#leading h2 .box_02 span {
  writing-mode: horizontal-tb;
}

#leading h2 .box_03 {
  display: block;
  width: max(9.286vw, 120px);
  height: max(59vw, 767px);
  margin-top: max(4.071vw, 52px);
  padding-top: max(1.429vw, 18px);
  padding-right: max(1.643vw, 21px);
  font-family: YakuHanMP, "Noto Serif JP";
  font-size: max(5.587vw, 72px);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #2e2e2e;
  background-color: #fff;
}

#leading h2 .box_03 .fs86 {
  font-size: max(6.175vw, 80px);
}

#leading h2 .box_03 .fs86 em {
  color: #1574bd;
}

#leading h2 + p {
  line-height: 1.6;
  margin-top: min(-6.071vw, -79px);
  text-align: center;
  font-size: max(2.381vw, 30px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #fff;
}

#leading h2 + p .fs41 {
  font-size: max(2.977vw, 38px);
}

#leading h2 + p .fs41 em {
  font-size: max(2.53vw, 32px);
  color: #e3c479;
}

#leading ul {
  display: flex;
  justify-content: center;
  column-gap: max(2.5vw, 32px);
  margin-top: max(6.071vw, 78px);
}

#leading ul li {
  width: max(29vw, 377px);
}

#leading ul li div {
  width: 100%;
  height: max(29.714vw, 386px);
  padding: max(1.214vw, 15px) max(1.071vw, 13px) 0;
  background-color: #fff;
}

#leading ul li div h3 {
  margin-top: max(1vw, 13px);
  padding-bottom: max(1vw, 13px);
  text-align: center;
  font-size: max(1.429vw, 18px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #93711f;
  border-bottom: #0e2a57 solid 1px;
}

#leading ul li div h3 .fs22 {
  font-size: max(1.571vw, 20px);
}

#leading ul li div h3 .fs25 {
  font-size: max(1.786vw, 23px);
}

#leading ul li div h3 em {
  color: #2e2e2e;
}

#leading ul li div p {
  line-height: 1.3;
  margin-top: max(1vw, 13px);
  padding: 0 max(0.357vw,4px);
  font-family: "Noto Sans JP";
  font-size: max(1.143vw,14px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#leading ul li div p span {
  color: #1c84d5;
}

#leading ul li .btn {
  margin-top: max(1.143vw, 14px);
  text-align: right;
}

#leading ul li .btn img {
  width: max(7.786vw, 101px);
}

/* ==============================
	number
 ============================== */
#number {
  margin-top: max(7.857vw,102px);
  height: max(66.643vw,866px);
  background: url(../images/top/number_bg.jpg) center top no-repeat;
  background-size: 100% auto;
}

#number h2 {
  line-height: 1.2;
  padding-top: max(8.571vw, 111px);
  padding-left: max(3.929vw, 51px);
  font-size: max(3.571vw, 46px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #fff;
}

#number h2 .fs37 {
  font-size: max(2.679vw, 34px);
}

#number h2 .fs41 {
  font-size: max(2.976vw, 38px);
}

#number h2 .fs68 {
  font-size: max(4.911vw, 63px);
}

#number .box {
  display: flex;
  flex-wrap: wrap;
  gap: max(1.429vw, 18px) max(1.786vw, 23px);
  width: max(46.071vw, 598px);
  margin-top: max(2.857vw, 37px);
  margin-left: max(3.929vw, 51px);
  color: #fff;
}

#number .box > div {
  border: #fff solid max(0.143vw, 1px);
}

#number .box > div:nth-of-type(1) {
  width: 100%;
  height: max(9.429vw,122px);
  padding-top: max(1.071vw,13px);
  text-align: center;
  font-size: max(2.381vw, 30px);
  font-weight: 400;
  letter-spacing: 0.06em;
}

#number .box > div:nth-of-type(1) em {
  padding-left: max(0.357vw, 4px);
  font-family: "Times New Roman", Times, serif;
  font-size: max(6.548vw, 85px);
  font-style: italic;
  letter-spacing: 0;
  color: #fffea3;
}

#number .box > div:nth-of-type(1) span {
  font-size: max(3.071vw, 39px);
}

#number .box > div:nth-of-type(2) {
  width: max(20.429vw, 265px);
  height: max(12.357vw, 160px);
  padding-top: max(1.786vw, 23px);
  text-align: center;
  font-size: max(2.357vw, 30px);
  font-weight: 400;
  letter-spacing: 0.08em;
}

#number .box > div:nth-of-type(2) em {
  line-height: 1.1;
  font-family: "Times New Roman", Times, serif;
  font-size: max(6.548vw, 85px);
  font-style: italic;
  letter-spacing: 0;
  color: #fffea3;
}

#number .box > div:nth-of-type(2) span {
  padding-left: max(0.357vw, 4px);
  font-size: max(2.857vw, 37px);
}

#number .box > div:nth-of-type(3) {
  width: max(23.714vw, 308px);
  height: max(12.357vw, 160px);
  padding-top: max(1.786vw, 23px);
  text-align: center;
  font-size: max(2.381vw, 30px);
  font-weight: 400;
  letter-spacing: 0.08em;
}

#number .box > div:nth-of-type(3) em {
  line-height: 1.1;
  font-family: "Times New Roman", Times, serif;
  font-size: max(6.548vw, 85px);
  font-style: italic;
  letter-spacing: 0.02em;
  color: #fffea3;
}

#number .box > div:nth-of-type(3) span {
  padding-left: max(0.357vw, 4px);
  font-size: max(2.857vw, 37px);
}

#number .box > div:nth-of-type(4) {
  width: 100%;
  height: max(7.857vw, 102px);
  padding-top: max(0.357vw, 4px);
  text-align: center;
  font-size: max(2.381vw, 30px);
  font-weight: 400;
  letter-spacing: 0.06em;
}

#number .box > div:nth-of-type(4) em {
  padding-left: max(0.357vw, 4px);
  font-family: "Times New Roman", Times, serif;
  font-size: max(6.548vw, 85px);
  font-style: italic;
  letter-spacing: 0;
  color: #fffea3;
}

#number .box > div:nth-of-type(4) span {
  font-size: max(3.071vw, 39px);
}

/* ==============================
	doctor
 ============================== */
#doctor .director {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: max(6.429vw,83px);
  overflow: hidden;
}

#doctor .director .contents {
  margin-top: max(5vw,65px);
  margin-left: max(3.214vw,41px);
}

#doctor .director .contents .flex {
  display: flex;
  flex-direction: row-reverse;
  margin-right: max(1.571vw,20px);
}

#doctor .director .contents .sate {
  width: max(52.857vw,687px);
}

#doctor .director .contents .heading {
  writing-mode: vertical-rl;
}

#doctor .director .contents .heading p {
  line-height: 1.2;
  font-size: max(1.488vw, 19px);
  font-weight: 400;
  letter-spacing: 0.14em;
  color: #2e2e2e;
}

#doctor .director .contents .heading p span {
  padding-top: 2em;
  font-size: max(1.786vw, 23px);
}

#doctor .director .contents .heading h2 {
  margin-top: max(6.786vw,88px);
  margin-right: max(1.429vw, 18px);
  font-size: max(5.059vw, 65px);
  font-weight: 400;
  letter-spacing: 0.18em;
  color: #09467e;
}

#doctor .director .contents .text {
  margin-right: max(1.071vw, 13px);
  writing-mode: vertical-rl;
}

#doctor .director .contents .text p {
  line-height: 1.6;
  margin-right: max(2.5vw, 32px);
  font-size: max(1.571vw, 20px);
  font-weight: 400;
  letter-spacing: 0.16em;
  color: #2e2e2e;
  font-feature-settings: normal;
}

#doctor .director .contents .text p:first-child {
  font-size: max(2vw, 26px);
}

#doctor .director .contents .text p:first-child em {
  color: #3373aa;
}

#doctor .director .contents .text p em {
  color: #3373aa;
}

#doctor .director .contents .text p:nth-of-type(2) {
  margin-right: max(1.429vw,18px);
}

#doctor .director .director_img {
  width: max(43.929vw,571px);
}

#doctor .director .contents .movie {
  display: flex;
  align-items: flex-start;
  column-gap: max(1.357vw, 17px);
  margin-top: max(3.571vw, 46px);
  background: url(../images/top/doctor_movie_logo.png) left center no-repeat;
  background-size: max(19.071vw, 247px) auto;
}

#doctor .director .contents .movie p {
  padding: 0 max(0.571vw, 7px) max(0.429vw, 5px);
  font-size: max(1.415vw, 18px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
  border-bottom: #6db1ce solid 1px;
}

#doctor .director .contents .movie div {
  width: max(32.357vw, 420px);
  aspect-ratio: 452/250;
  position: relative;
}

#doctor .director .contents .movie div::after {
  content: "";
  display: block;
  width: max(15.643vw, 203px);
  aspect-ratio: 220/227;
  background: url(../images/top/doctor_movie_bg.png) right bottom no-repeat;
  background-size: 100% 100%;
  position: absolute;
  right: max(-1.29svw, -16.71px);
  bottom: max(-1.29svw, -16.71px);
  z-index: -1;
  pointer-events: none;
}

#doctor .director .contents .movie div iframe {
  display: block;
  width: 100%;
  height: 100%;
}

#doctor .triple_license {
  height: max(72.929vw,948px);
  margin-top: max(4.643vw,60px);
  padding-top: max(5.357vw, 69px);
  text-align: center;
  background: url(../images/top/doctor_triple_bg.jpg) center top no-repeat;
  background-size: 100% auto;
}

#doctor .triple_license h3 {
  line-height: 1.2;
  font-size: max(4.239vw, 55px);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#doctor .triple_license h3 span {
  font-size: max(5.781vw, 75px);
  font-weight: 500;
}

#doctor .triple_license h3 span em {
  font-weight: 500;
  color: #7acbe6;
}

#doctor .triple_license h3 + p {
  margin-top: max(1.786vw, 23px);
  font-size: max(3.274vw, 42px);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #2e2e2e;
}

#doctor .triple_license h3 + p + p {
  position: relative;
  display: inline-block;
  margin-top: max(2.714vw, 35px);
  padding: max(1.071vw, 13px) max(3.214vw, 41px) max(1.214vw, 15px);
}

#doctor .triple_license h3 + p + p span {
  position: relative;
  z-index: 2;
  font-size: max(2.679vw, 34px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
}

#doctor .triple_license h3 + p + p::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(108, 193, 221, 0.95);
  mix-blend-mode: multiply;
  z-index: 1;
}

#doctor .triple_license h3 + p + p span em {
  font-size: max(3.274vw, 42px);
}

#doctor .triple_license ul {
  display: flex;
  justify-content: center;
  margin-top: max(5.571vw, 72px);
}

#doctor .triple_license ul li {
  position: relative;
  width: max(31.643vw, 411px);
  min-height: max(22.786vw, 296px);
  line-height: 1.3;
  padding-top: max(7.714vw, 100px);
  font-size: max(2.143vw, 27px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #fff;
}

#doctor .triple_license ul li .fs37 {
  font-size: max(2.676vw, 34px);
}

#doctor .triple_license ul li .fs37 em {
  border-bottom: #fff solid max(0.143vw, 1px);
}

#doctor .triple_license ul li .img {
  position: absolute;
  top: max(19.571vw, 254px);
  left: 0;
  right: 0;
}

#doctor .triple_license ul li .img img {
  width: max(10vw, 130px);
}

#doctor .triple_license ul li:nth-of-type(1) {
  background: url(../images/top/doctor_triple_bg_01.png) center top no-repeat;
  background-size: 100% auto;
}

#doctor .triple_license ul li:nth-of-type(2) {
  background: url(../images/top/doctor_triple_bg_02.png) center top no-repeat;
  background-size: 100% auto;
}
#doctor .triple_license ul li:nth-of-type(2) .img img {
  width: max(6.071vw,78px);
}

#doctor .triple_license ul li:nth-of-type(3) {
  background: url(../images/top/doctor_triple_bg_03.png) center top no-repeat;
  background-size: 100% auto;
}
#doctor .triple_license ul li:nth-of-type(3) .img img {
  width: max(6.071vw,78px);
}

/* ==============================
	before_after
 ============================== */
#before_after {
  position: relative;
  height: max(74.5vw,968px);
  margin-top: max(16.429vw,213px);
  background: url(../images/top/before_after_bg.jpg);
  background-size: cover;
}
#before_after::before {
  content: "";
  position: absolute;
  top: min(-10.714vw,-140px);
  left: 50%;
  transform: translateX(-50%);
  width: max(6.714vw,87px);
  height: max(6.929vw,90px);
  aspect-ratio: 94/97;
  background-image: url(../images/top/logo_01.png);
  background-size: cover;
}

#before_after .contents {
  margin-left: max(28.214vw, 366px);
  padding-top: max(5.714vw,74px);
}

#before_after .contents h2 {
  line-height: 1.4;
  font-size: max(3.714vw, 48px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#before_after .contents h2 > span {
  display: block;
  font-size: max(5.733vw, 74px);
  letter-spacing: 0.075em;
}

#before_after .contents h2 > span span {
  font-size: max(4.141vw, 53px);
}

#before_after .contents h2 > span em {
  color: #e58f1c;
}

#before_after .contents ul {
  display: flex;
  flex-wrap: wrap;
  gap: max(1.571vw, 20px) max(1.429vw, 18px);
  margin-top: max(1.786vw, 23px);
}

#before_after .contents ul li {
  width: max(32.143vw, 417px);
  min-height: max(22.429vw, 291px);
  padding: max(0.929vw, 12px) 0 max(2.143vw, 27px) max(1.071vw, 13px);
  background-color: #fff;
}

#before_after .contents ul li dl dt {
  font-size: max(1.571vw, 20px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
}

#before_after .contents ul li dl dt span {
  display: inline-block;
  margin-right: max(0.714vw, 9px);
  margin-bottom: max(1.071vw, 13px);
  padding: max(0.429vw, 5px) max(1.071vw, 13px) max(0.571vw, 7px);
  color: #fff;
  background-color: #3e67af;
}

#before_after .contents ul li dl dd.img img {
  width: max(14.929vw, 194px);
}

#before_after .contents ul li dl dd.text {
  line-height: 1.4;
  padding: 1em 1.5em 0;
  font-family: "Noto Sans JP";
  font-size: max(1.214vw, 15px);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #3e3e3e;
}

/* ==============================
	problem
 ============================== */
#problem {
  margin-top: max(7.857vw,102px);
  padding-bottom: max(4.5vw, 58px);
  background: #f4fbff url(../images/top/problem_bg.png) center top no-repeat;
  background-size: 100% auto;
}

#problem .heading h2 {
  padding-top: max(8.571vw,111px);
  text-align: center;
}

#problem .heading h2 img {
  width: max(50.214vw,652px);
}

#problem .heading p {
  line-height: 1.6;
  width: max(62.214vw, 808px);
  margin: max(2.5vw, 32px) auto 0;
  font-family: "Noto Sans JP";
  font-size: max(0.929vw,12px);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #fff;
}

#problem .contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: max(3.571vw, 46px) max(3vw, 39px);
  margin-top: max(9.286vw, 120px);
}

#problem .contents .box {
  position: relative;
  width: max(27.214vw, 353px);
  height: max(28.214vw, 366px);
  padding: max(1.5vw, 19px) max(1.5vw, 19px) 0;
  background: url(../images/top/problem_box_bg.png) center top no-repeat;
  background-size: 100% auto;
}

#problem .contents .box h3 {
  margin-top: min(-3.357vw, -44px);
  text-align: center;
}

#problem .contents .box h3 span {
  display: inline-block;
  padding: max(0.286vw, 3px) max(0.571vw, 7px) max(0.429vw, 5px);
  font-size: max(1.637vw, 21px);
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #fff;
  background-color: rgba(84, 166, 235, 0.9);
}

#problem .contents p {
  line-height: 1.4;
  margin-top: max(0.429vw, 5px);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: max(1.143vw, 14px);
  font-weight: 400;
  color: #434343;
}

#problem .contents .box .btn {
  position: absolute;
  right: max(1.5vw, 19px);
  bottom: max(1.214vw, 15px);
}

#problem .contents .box .btn img {
  width: max(7.786vw, 101px);
}

/* ==============================
	idx_wish
 ============================== */
.idx_wish {
  position: relative;
  margin: max(13.214vw,171px) 0 0;
  padding: 2.9em 0 3.8em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  background-image: url("../images/top/wish_bg.png");
}
.idx_wish::before {
  content: "";
  position: absolute;
  top: min(-6.071vw,-79px);
  left: 50%;
  transform: translateX(-50%);
  width: max(6.714vw,87px);
  height: max(6.929vw,90px);
  aspect-ratio: 94/97;
  background-image: url(../images/top/logo_01.png);
  background-size: cover;
}
.idx_wish .idx_ttl {
  width: max(15.643vw,203px);
}

.idx_wish .idx_lm {
  top: -2.4em;
}

.idx_wish .idx_ttl {
  position: relative;
  z-index: 3;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: initial;
  font-feature-settings: "vkrn";
  margin: 0 0 4.2em 75px;
}

.idx_wish .idx_ttl span {
  display: block;
  height: fit-content;
  background-color: rgba(255, 255, 255, 0.6);
  font-size: 346.6%;
  color: #0d2b5c;
  padding: 0.3em 0;
  white-space: nowrap;
  line-height: 1.36;
}

.idx_wish .idx_ttl span:nth-of-type(2) {
  font-size: 430%;
  margin: 0.8em 0;
}

.idx_wish .idx_ttl span:nth-of-type(3) {
  margin: auto 0 0 0;
}

.idx_wish .idx_head_kkm {
  position: relative;
  z-index: 3;
  width: 45.73em;
  margin: 0 1.8em 220px auto;
}

.idx_wish .idx_head_kkm::before {
  content: "";
  display: block;
  position: absolute;
  width: 2.13em;
  aspect-ratio: 32/196;
  bottom: 0;
  left: 0.8em;
  border-left: 0.3em solid #149fef;
  border-top: 0.3em solid #149fef;
}

.idx_wish .idx_head_kkm p {
  color: #fff;
  margin: 0 0 0.5em 1.46em;
  font-size: 250%;
  line-height: 1.2;
}

.idx_wish .idx_head_kkm p em {
  color: #3bb6ff;
}

.idx_wish .idx_head_kkm .idx_lst {
  background-color: rgba(255, 255, 255, 0.9);
  display: grid;
  grid-template-columns: 45% auto;
  padding: 1.4em 1em 1.4em 2em;
  gap: 0.8em 0;
}

.idx_wish .idx_head_kkm .idx_lst li {
  margin: 0;
  font-size: 180%;
  color: #2e2e2e;
  padding-left: 1.3em;
  background-position: 0 0.2em;
  background-size: 1.1em auto;
  background-image: url("../images/top/wish_head_check.png");
  letter-spacing: -0.06em;
}

.idx_wish .idx_head_fig {
  position: absolute;
  z-index: 3;
  width: 36.6em;
  top: 49.7em;
  left: 4.9em;
}

.idx_wish .idx_head_fig figure {
  display: block;
  width: 19.6em;
}

.idx_wish .idx_head_fig img {
  aspect-ratio: 294/204;
}

.idx_wish .idx_head_fig figure:nth-of-type(1) {
  margin: 0 0 0 auto;
}

.idx_wish .idx_head_fig figure:nth-of-type(2) {
  margin: -7.4em auto 0 0;
}

/* --------------------------- common */
.idx_wish .idx_inr {
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 8.8em;
}

.idx_wish .idx_box {
  color: #2e2e2e;
}

.idx_wish .idx_box::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: -1.8em;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: 100% 100%;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.idx_wish .idx_nbr {
  position: absolute;
  width: 100%;
  top: -3.8em;
  left: 0;
  mix-blend-mode: multiply;
  text-align: center;
}

.idx_wish .idx_nbr span {
  display: inline-block;
  font-size: 722%;
  font-family: "Times New Roman", Times, serif;
  line-height: 1;
}

.idx_wish .idx_box_fig,
.idx_wish .idx_box_sfig,
.idx_wish .idx_ba {
  position: relative;
  z-index: 3;
}

.idx_wish .idx_box_ttl,
.idx_wish .idx_box_desc {
  position: relative;
  z-index: 3;
}

.idx_wish .idx_box_ttl span {
  display: block;
  font-size: 194.4%;
  text-align: center;
  line-height: 1.2;
}

.idx_wish .idx_desc {
  font-size: 138.8%;
  color: #383838;
  line-height: 1.5;
}

.idx_wish .idx_kkm {
  position: relative;
  z-index: 3;
  background-color: #fff;
}

.idx_wish .idx_lst li {
  font-size: 152.8%;
  padding-left: 1.2em;
  background-position: 0 0.2em;
  background-size: 0.92em auto;
  line-height: 1.3;
}

.idx_wish .idx_ba {
  position: absolute;
  width: max(39.857vw,518px);
}

.idx_wish .idx_ba .before_after {
  margin: 0 0 0.8em;
}

.idx_wish .ba_note {
  text-align: center;
  font-size: 97.2%;
  color: #3d3d3d;
}

.idx_wish .idx_btn {
  text-align: right;
}

.idx_wish .idx_btn a {
  display: inline-block;
  width: 7.53em;
}

.idx_wish .idx_btn img {
  aspect-ratio: 113/17;
}

/* --------------------------- wish_01 */
.idx_wish_01 {
  padding: 2.7em 41.9em 5.8em 4.2em;
  background-color: #f3efe9;
}

.idx_wish .idx_wish_01::before {
  width: 45.13em;
  background-image: url("../images/top/wish_01_trape.png");
}

.idx_wish_01 .idx_nbr {
  width: 60%;
  color: #cfb38f;
}

.idx_wish_01 .idx_box_ttl {
  margin: 0 0 1em;
}

.idx_wish_01 .idx_box_ttl em {
  font-size: 128.6%;
  color: #c5a883;
}

.idx_wish_01 .idx_box_ttl em i {
  font-size: 133.3%;
}

.idx_wish_01 .idx_desc {
  margin: 0 2.4em 1em 0.6em;
}

.idx_wish_01 .idx_box_desc em {
  border-bottom: 0.13em solid #e79780;
}

.idx_wish_01 .idx_kkm {
  display: grid;
  grid-template-columns: 17.2em 1fr;
  align-items: center;
  column-gap: 1.6em;
  padding: 0.8em 1.4em;
  border-left: 1em solid #c9ad89;
  border-top: 2px solid #c9ad89;
}

.idx_wish_01 .idx_kkm .idx_sfig img {
  aspect-ratio: 258/182;
}

.idx_wish_01 .idx_kkm .idx_lst li {
  background-image: url("../images/top/wish_01_check.png");
}

.idx_wish_01 .idx_ba {
  top: 3.8em;
  right: 2.8em;
}

.idx_wish_01 .idx_btn {
  position: absolute;
  right: 2.4em;
  bottom: 1.4em;
}

/* --------------------------- wish_02 */
.idx_wish_02 {
  padding: 4.3em 4.2em 4.8em;
  background-color: #f3ebe7;
}

.idx_wish .idx_wish_02::before {
  width: 45.33em;
  left: 0;
  right: unset;
  background-image: url("../images/top/wish_02_trape.png");
}

.idx_wish_02 .idx_nbr {
  color: #c7947e;
}

.idx_wish_02 .idx_box_ttl {
  margin: 0 0 1em;
}

.idx_wish_02 .idx_box_ttl em {
  color: #c07a5c;
  font-size: 128.6%;
}

.idx_wish_02 .idx_desc {
  font-size: 139%;
  width: 43em;
  letter-spacing: -0.04em;
  margin: 0 auto 1.7em;
}

.idx_wish_02 .idx_desc em {
  color: #c07a5c;
}

.idx_wish_02 .idx_desc em i {
  color: #c71a10;
  border-bottom: 0.13em solid #c71a10;
}

.idx_wish_02 .idx_fig {
  margin: 0 0 0 auto;
  width: 41.67em;
}

.idx_wish_02 .idx_fig img {
  aspect-ratio: 625/375;
}

.idx_wish_02 .idx_ba {
  bottom: max(5.714vw,74px);
  left: 4em;
}

.idx_wish_02 .idx_btn {
  position: absolute;
  right: 2.4em;
  bottom: 2em;
}

/* --------------------------- wish_03 */
.idx_wish_03 {
  padding: 4.3em 42em 4em 4.2em;
}

.idx_wish_03 {
  background-color: #ebf4f7;
}

.idx_wish .idx_wish_03::before {
  width: 39.8em;
  background-image: url("../images/top/wish_03_trape.png");
}

.idx_wish_03 .idx_nbr {
  color: #a4cdde;
}

.idx_wish_03 .idx_box_ttl {
  min-height: 4em;
  margin: 0 0 0.5em 1em;
}

.idx_wish_03 .idx_box_ttl span {
  text-align: left;
}

.idx_wish_03 .idx_box_ttl i {
  font-size: 171.4%;
}

.idx_wish_03 .idx_box_ttl em {
  color: #80bed8;
}

.idx_wish_03 .idx_box_lead {
  font-size: 139%;
  margin: 0 0 1em 2em;
}

.idx_wish_03 .idx_fig {
  position: absolute;
  margin: 0 0 2.2em;
  width: 37.13em;
  right: 2.4em;
  top: 4.4em;
}

.idx_wish_03 .idx_fig img {
  aspect-ratio: 557/327;
}

.idx_wish_03 .idx_kkm {
  padding: 1.5em 1.6em 1.2em;
  border-left: 1em solid #86c1da;
  border-top: 2px solid #86c1da;
  min-height: 14.2em;
}

.idx_wish_03 .idx_kkm_desc {
  font-size: 152.8%;
  line-height: 1.2;
  width: fit-content;
  margin: 0 auto 0.6em 0;
  padding: 0 2em 0.3em 0;
  border-bottom: 1px solid rgba(46, 46, 46, 0.9);
}

.idx_wish_03 .idx_kkm .idx_lst {
  width: fit-content;
}

.idx_wish_03 .idx_kkm .idx_lst li {
  font-size: 166.7%;
  margin: 0 0 0.4em;
  background-position: 0 0.27em;
  background-size: 0.9em auto;
  background-image: url(../images/top/wish_03_check.png);
  font-feature-settings: "palt";
}

.idx_wish_03 .idx_kkm .idx_lst li:last-child {
  margin-bottom: 0;
}

.idx_wish_03 .idx_kkm .idx_lst li em {
  border-bottom: 2px solid #ffdd76;
  color: #4e99b9;
}

.idx_wish_03 .idx_sfig {
  position: absolute;
  width: 18.3em;
  right: 1.2em;
  top: 0.7em;
}

.idx_wish_03 .idx_sfig img {
  aspect-ratio: 275/192;
}

.idx_wish_03 .idx_btn {
  position: absolute;
  bottom: 1.6em;
  right: 2.4em;
}

/* --------------------------- wish_04 */
.idx_wish_04 {
  padding: 4.3em max(4.857vw,63px) 4em max(49.857vw,648px);
}

.idx_wish_04 {
  background-color: #edf8f4;
}

.idx_wish .idx_wish_04::before {
  width: 39.8em;
  background-image: url("../images/top/wish_04_trape.png");
}

.idx_wish_04 .idx_nbr {
  color: #b9dbca;
}

.idx_wish_04 .idx_box_ttl {
  min-height: 4em;
  margin: 0 0 0.5em 0;
}

.idx_wish_04 .idx_box_ttl span {
  text-align: left;
  font-size: max(2.857vw,37px);
  line-height: 1.5;
}

.idx_wish_04 .idx_box_ttl small {
  font-size: max(2.071vw,26px);
}

.idx_wish_04 .idx_box_ttl .fs45 {
  font-size: max(3.214vw,41px);
}

.idx_wish_04 .idx_box_ttl em {
  color: #45a173;
}

.idx_wish_04 .idx_box_lead {
  font-size: 139%;
  margin: 30px 0 1em 0;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

.idx_wish_04 .idx_box_lead em {
  color: #45a173;
}

.idx_wish_04 .idx_fig {
  position: absolute;
  margin: 0 0 2.2em;
  width: 37.13em;
  left: max(4.857vw,63px);
  top: 4.4em;
}

.idx_wish_04 .idx_fig img {
  aspect-ratio: 557/327;
}

.idx_wish_04 .idx_kkm {
  padding: 1.5em 1.6em 1.2em;
  border-left: 1em solid #86c1da;
  border-top: 2px solid #86c1da;
  min-height: 14.2em;
}

.idx_wish_04 .idx_kkm_desc {
  font-size: 152.8%;
  line-height: 1.2;
  width: fit-content;
  margin: 0 auto 0.6em 0;
  padding: 0 2em 0.3em 0;
  border-bottom: 1px solid rgba(46, 46, 46, 0.9);
}

.idx_wish_04 .idx_kkm .idx_lst {
  width: fit-content;
}

.idx_wish_04 .idx_kkm .idx_lst li {
  font-size: 166.7%;
  margin: 0 0 0.4em;
  background-position: 0 0.27em;
  background-size: 0.9em auto;
  background-image: url(../images/top/wish_04_check.png);
  font-feature-settings: "palt";
}

.idx_wish_04 .idx_kkm .idx_lst li:last-child {
  margin-bottom: 0;
}

.idx_wish_03 .idx_kkm .idx_lst li em {
  border-bottom: 2px solid #ffdd76;
  color: #4e99b9;
}

.idx_wish_04 .idx_sfig {
  position: absolute;
  width: 18.3em;
  right: 1.2em;
  top: 0.7em;
}

.idx_wish_04 .idx_sfig img {
  aspect-ratio: 275/192;
}

.idx_wish_04 .idx_btn {
  position: absolute;
  bottom: 1.6em;
  right: 2.4em;
}

/* ==============================
	relief
 ============================== */
#relief {
  margin-top: max(8.071vw, 104px);
}

#relief h2 + p {
  width: max(70.714vw, 919px);
  line-height: 1.76;
  margin: max(2.857vw, 37px) auto 0;
  font-size: max(0.929vw, 12px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#relief .contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: max(2.643vw, 34px) max(2.929vw, 38px);
  margin-top: max(2.5vw, 32px);
  padding: max(2.214vw, 28px) 0 max(4.357vw, 56px);
  background-color: #f6f6f6;
}

#relief .contents .box {
  position: relative;
  width: max(46.286vw, 601px);
  height: max(20.571vw, 267px);
  padding-top: max(2vw, 26px);
  background-color: #fff;
}

#relief .contents .box .img {
  position: absolute;
  top: max(2vw, 26px);
  left: max(2vw, 26px);
}

#relief .contents .box .img img {
  width: max(16.643vw, 216px);
}

#relief .contents .box h3 {
  position: relative;
  line-height: 1.16;
  margin-left: max(19.714vw, 256px);
  padding-top: max(1.786vw, 23px);
  padding-left: max(1.786vw, 23px);
  font-size: max(1.786vw, 23px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#relief .contents .box h3 em {
  color: #1584d9;
}

#relief .contents .box h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: max(3.071vw, 39px);
  height: max(3.071vw, 39px);
  background: url(../images/top/relief_triangle.png) left top no-repeat;
  background-size: 100% auto;
  z-index: 2;
}

#relief .contents .box h3 + p {
  height: max(8vw, 104px);
  line-height: 1.6;
  margin-top: max(0.357vw, 4px);
  padding: max(1.071vw, 13px) max(1.429vw, 18px) 0 max(21.714vw, 282px);
  font-size: max(1.286vw, 16px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
  background-color: #eff6fb;
}

#relief .contents .box .btn {
  position: absolute;
  right: max(2.5vw, 32px);
  bottom: max(2.143vw, 27px);
}

#relief .contents .box .btn img {
  width: max(8.071vw, 104px);
}

#relief .contents .box:nth-of-type(4) h3 {
  letter-spacing: 0.01em;
}

/* ==============================
	learn_more
 ============================== */
#learn_more {
  margin-top: max(6.429vw,83px);
}
#learn_more::before {
  content: "";
  display: block;
  margin: 0 auto;
  width: max(6.714vw,87px);
  aspect-ratio: 94/97;
  background-image: url(../images/top/logo_01.png);
  background-size: cover;
}

#learn_more h2 {
  margin-top: max(5.714vw,74px);
  text-align: center;
  font-size: max(2.381vw, 30px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#learn_more h2 span {
  font-size: max(2.976vw, 38px);
  letter-spacing: 0.08em;
}

#learn_more h2 em {
  text-decoration: underline;
  text-decoration-thickness: max(0.143vw, 1px);
  text-decoration-color: #2cb2ff;
  text-underline-offset: max(0.857vw, 11px);
}

#learn_more h2::after {
  position: relative;
  content: "";
  display: block;
  width: 1px;
  aspect-ratio: 1/74;
  margin: max(2.5vw, 32px) auto min(-1vw, -13px);
  background: #2e2e2e;
}

#learn_more .contents {
  display: flex;
  justify-content: center;
  width: max(92.143vw, 1197px);
  margin: auto;
  padding: max(1.786vw, 23px) 0 max(1.571vw, 20px);
  border-top: #d3d3d3 solid max(0.143vw, 1px);
  border-bottom: #d3d3d3 solid max(0.143vw, 1px);
}

#learn_more .contents .box {
  width: max(30.714vw, 399px);
  padding-top: max(1.071vw, 13px);
  padding-bottom: max(1.571vw, 20px);
  text-align: center;
}

#learn_more .contents .box h3 {
  font-size: max(2.143vw, 27px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
}

#learn_more .contents .box .img {
  margin-top: max(1.429vw, 18px);
}

#learn_more .contents .box:nth-of-type(1) .img img {
  width: max(21.857vw, 284px);
}

#learn_more .contents .box:nth-of-type(2) .img img {
  width: max(18.5vw, 240px);
}

#learn_more .contents .box:nth-of-type(3) .img img {
  width: max(21.714vw, 282px);
}

#learn_more .contents .box p {
  display: inline-block;
  min-width: max(22.214vw, 288px);
  padding: max(0.5vw, 6px) max(1.071vw, 13px) max(0.643vw, 8px);
  font-size: max(1.637vw, 21px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
  background-color: #ebebeb;
}

#learn_more .contents .box p span {
  font-size: max(1.934vw, 25px);
}

#learn_more .contents .box:nth-of-type(1) p {
  margin-top: max(1.5vw, 19px);
}

#learn_more .contents .box:nth-of-type(2) p {
  margin-top: max(1.643vw, 21px);
}

#learn_more .contents .box:nth-of-type(3) p {
  margin-top: max(1.429vw, 18px);
}

#learn_more .contents .box ul {
  display: inline-block;
  margin-top: max(1.429vw, 18px);
  text-align: left;
}

#learn_more .contents .box ul li a {
  line-height: 1.96;
  font-size: max(1.286vw, 16px);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #196d95;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: #34789c;
  text-underline-offset: max(0.714vw, 9px);
}

#learn_more .contents .box:nth-of-type(1) {
  background: url(../images/top/borderR_dots.png) right top repeat-y;
  background-size: max(0.143vw, 1px) auto;
}

#learn_more .contents .box:nth-of-type(2) {
  background-image: url(../images/top/borderR_dots.png), url(../images/top/borderL_dots.png);
  background-repeat: repeat-y, repeat-y;
  background-position: right top, left top;
  background-size: max(0.143vw, 1px) auto;
}

#learn_more .contents .box:nth-of-type(3) {
  background: url(../images/top/borderL_dots.png) left top repeat-y;
  background-size: max(0.143vw, 1px) auto;
}

/* ==============================
	payment
 ============================== */
#payment {
  margin-top: max(6.429vw,83px);
  padding: max(4.143vw, 53px) 0 max(4.143vw, 53px);
  background-color: #f9f9f9;
}

#payment .box {
  width: max(90vw, 1170px);
  height: max(25vw, 325px);
  margin: auto;
  padding-top: max(2.286vw, 29px);
  text-align: center;
  background-color: #fff;
  box-shadow: 0 max(0.143vw, 1px) max(0.286vw, 3px) rgba(101, 101, 101, 0.3);
}

#payment .box h2 {
  display: inline-block;
  padding: max(0.786vw, 10px) max(2.571vw, 33px);
  font-size: max(2.071vw, 26px);
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #2e2e2e;
  border: #2e2e2e solid 1px;
}

#payment .box h2 + p {
  margin-top: max(1.429vw, 18px);
  font-size: max(2.071vw, 26px);
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #2e2e2e;
}

#payment .box div {
  width: max(81vw, 1053px);
  margin: max(2vw, 26px) auto 0;
}

#payment .box div img {
  width: 100%;
}

#payment .box div + p {
  margin-top: max(2.143vw, 27px);
  font-size: max(1.488vw, 19px);
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #2e2e2e;
}

#payment .box div + p em {
  font-size: max(1.786vw, 23px);
  color: #cc0000;
}

#payment .box div + p em span {
  font-size: max(2.084vw, 27px);
}

/* ==============================
	price
 ============================== */
#price {
  margin-top: max(5vw, 65px);
  padding: max(3.929vw, 51px) 0 max(3.714vw, 48px);
  background-color: #f9f8f3;
}

#price h2 {
  text-align: center;
  font-size: max(2.679vw, 34px);
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #2e2e2e;
}

#price .contents {
  display: flex;
  justify-content: center;
  column-gap: max(2.714vw, 35px);
  margin-top: max(2.143vw, 27px);
}

#price .contents .box {
  width: max(45.357vw, 589px);
}

#price .contents .box .inner_box {
  height: max(25.786vw, 335px);
  padding-top: max(1.786vw, 23px);
  background: #fff url(../images/top/price_triangle.png) left max(0.929vw, 12px) top max(0.929vw, 12px) no-repeat;
  background-size: max(6.643vw, 86px) auto;
  box-shadow: 0 max(0.143vw, 1px) max(0.286vw, 3px) rgba(210, 210, 210, 0.81);
}

#price .contents .box .inner_box h3 {
  padding: max(0.571vw, 7px) 0 max(0.857vw, 11px);
  text-align: center;
  font-size: max(2.084vw, 27px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
  background-color: rgba(238, 229, 210, 0.7);
}

#price .contents .box .inner_box .flex {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  padding: max(1.214vw, 15px) max(3.571vw, 46px) max(1.143vw, 14px) max(2.286vw, 29px);
}

#price .contents .box .inner_box .flex img {
  width: max(20vw, 260px);
}

#price .contents .box .inner_box .flex dl dt {
  font-size: max(1.488vw, 19px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
  margin-bottom: max(1.429vw,18px);
}

#price .contents .box .inner_box .flex dl dd {
  position: relative;
  font-size: max(2.6vw, 33px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #2e2e2e;
}

#price .contents .box .inner_box .flex dl dd em {
  font-size: max(4.143vw, 53px);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #cc0000;
}

#price .contents .box .inner_box .flex dl dd span {
  position: absolute;
  top: 0;
  right: 0;
  font-size: max(0.893vw, 11px);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #2e2e2e;
}

#price .contents .box .inner_box > dl {
  display: flex;
  justify-content: space-between;
  margin: 0 max(2.143vw, 27px);
  padding-top: max(0.714vw, 9px);
  font-size: max(1.339vw, 17px);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #2e2e2e;
  border-top: #000 solid 1px;
}

#price .contents .box .inner_box > dl dd span {
  font-size: max(1.191vw, 15px);
}

#price .contents .box > p {
  line-height: 1.4;
  margin-top: max(1.071vw, 13px);
  margin-right: max(2.5vw, 32px);
  text-align: right;
  font-size: max(1.071vw, 13px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#price .btn a {
  display: flex;
  align-items: center;
  width: max(29.857vw, 388px);
  height: max(5vw, 65px);
  margin: max(3.929vw, 51px) auto 0;
  padding-left: max(7.429vw, 96px);
  font-size: max(2vw, 26px);
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #fff;
  background-color: #9a8a6f;
}

#price .btn a span {
  padding-left: max(4.286vw, 55px);
}

/* ==============================
	consultation
 ============================== */
#consultation {
  width: max(92.857vw, 1207px);
  height: max(43.286vw,562px);
  margin: max(17.5vw,227px) auto 0;
  text-align: center;
  background: url(../images/top/consultation_bg.jpg);
  background-size: 100% auto;
  position: relative;
}
#consultation::before {
  content: "";
  position: absolute;
  top: min(-12.143vw,-158px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  margin: 0 auto;
  width: max(6.714vw,87px);
  aspect-ratio: 94/97;
  background-image: url(../images/top/logo_01.png);
  background-size: cover;
}

#consultation h2 {
  margin-bottom: max(1.071vw, 13px);
  padding-top: max(4.286vw,55px);
  font-family: "Times New Roman", Times, serif;
  font-size: max(2.357vw, 30px);
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #fff;
}

#consultation .heading p {
  line-height: 1.3;
  margin-top: max(1.429vw, 18px);
  font-size: max(1.488vw, 19px);
  font-weight: 400;
  letter-spacing: 0.14em;
  color: #fff;
}

#consultation .heading p em {
  color: #e4d704;
}

#consultation .heading p.obi {
  position: relative;
  width: max(19.214vw, 249px);
  margin: max(0.857vw, 11px) auto 0;
  padding: max(0.571vw, 7px) 0;
  text-align: center;
}

#consultation .heading p.obi span {
  position: relative;
  z-index: 2;
}

#consultation .heading p.obi::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(121, 156, 188);
  mix-blend-mode: multiply;
  z-index: 1;
}

#consultation .heading p:nth-of-type(3) {
  display: inline-block;
  padding-bottom: max(0.857vw, 11px);
  border-bottom: #fff solid 1px;
}

#consultation > p {
  margin-top: max(1.214vw, 15px);
  line-height: 1.3;
  font-size: max(1.339vw, 17px);
  font-weight: 400;
  letter-spacing: 0.12em;
  color: #fff;
}

#consultation > p + p {
  margin-top: max(1.786vw, 23px);
}

#consultation .btn {
  margin-top: max(2.5vw, 32px);
}

#consultation .btn img {
  width: max(9.286vw, 120px);
}

/* ==============================
	gallery
 ============================== */
#gallery {
  margin-top: max(7.143vw,92px);
  padding-bottom: max(1.714vw, 22px);
  background-color: #f3f2ee;
}

#gallery .inner {
  position: relative;
}

#gallery .inner h2 {
  position: absolute;
  top: max(2.286vw, 29px);
  left: max(2.357vw, 30px);
  z-index: 10;
}

#gallery .inner h2 img {
  width: max(20.143vw, 261px);
}

#gallery .thumb {
  margin-top: max(1.5vw, 19px);
}

#gallery ul.thumb .slick-track {
  transform: unset !important;
}

/* ==============================
	footerInfo
 ============================== */
#footerInfo {
  margin-top: max(17.857vw,232px);
  position: relative;
  padding: max(1.786vw, 23px);
  background-color: #f1f1f1;
  position: relative;
}
#footerInfo::before {
  content: "";
  position: absolute;
  top: min(-12.143vw,-158px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  margin: 0 auto;
  width: max(6.714vw,87px);
  aspect-ratio: 94/97;
  background-image: url(../images/top/logo_01.png);
  background-size: cover;
}

#footerInfo #news {
  padding: max(4.143vw, 53px) max(6.429vw, 83px) max(2.5vw, 32px) max(6.429vw, 83px);
  background-color: #fff;
}

#footerInfo #news h2 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0 max(4vw, 52px) max(1.857vw, 24px) max(2.643vw, 34px);
  font-family: "Times New Roman", Times, serif;
  font-size: max(2.643vw, 34px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
  border-bottom: #2c4166 double max(0.214vw, 2px);
}

#footerInfo #news h2 span {
  font-family: "Noto Sans JP";
  font-size: max(1.429vw, 18px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}

#footerInfo #news ul {
  display: flex;
  flex-wrap: wrap;
  gap: max(2.357vw, 30px) max(2.143vw, 27px);
  margin-top: max(3vw, 39px);
  margin-left: max(2.571vw, 33px);
}

#footerInfo #news li {
  width: calc(50% - 1.143vw);
  font-family: "Noto Sans JP";
}

#footerInfo #news li a {
  display: flex;
  column-gap: max(1.357vw, 17px);
}

#footerInfo #news li img {
  width: max(10.429vw, 135px);
  height: max(7.643vw, 99px);
}

#footerInfo #news li dl dt {
  font-size: max(1.191vw, 15px);
  font-weight: 500;
  color: #578ad6;
}

#footerInfo #news li dl dd {
  line-height: 1.57;
  margin-top: max(0.714vw, 9px);
  font-size: max(1.116vw, 14px);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #5d5c5c;
}

#footerInfo #news .btn {
  text-align: right;
}

#footerInfo #news .btn a {
  font-family: "Noto Sans JP";
  padding-right: max(2.714vw, 35px);
  padding-bottom: max(0.286vw, 3px);
  font-size: max(1.191vw, 15px);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #2e2e2e;
  background: url(../images/top/icon_arrow_02.png) right center no-repeat;
  background-size: max(2.429vw, 31px) auto;
  border-bottom: #2e2e2e solid 1px;
}

/* ==============================
	access
 ============================== */
#access {
  width: max(92.857vw, 1207px);
  margin: max(6.429vw,83px) auto 0;
}

#access h2 {
  text-align: center;
  font-family: "Times New Roman", Times, serif;
  font-size: max(2.766vw, 35px);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #2e2e2e;
}

#access h2::after {
  position: relative;
  content: "";
  display: block;
  width: 1px;
  aspect-ratio: 1/62;
  margin: max(0.786vw, 10px) auto min(-1.643vw, -22px);
  background: #2e2e2e;
}

#access iframe {
  display: block;
  width: 100%;
  height: max(42.857vw,557px);
}

#access p {
  line-height: 1.76;
  margin: max(2.5vw, 32px) max(2.143vw, 27px) 0;
  font-family: "Noto Sans JP";
  font-size: max(0.929vw, 12px);
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #2e2e2e;
}