@charset "UTF-8";

@media (any-hover: hover) {
  .faq .faq_qu:hover {
    cursor: pointer;
  }
}

@keyframes fadeIn {

0% {
	opacity: 0;
	transform: translateY(-10px);
}

100% {
	opacity: 1;
	transform: none;
}

}

/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px), print {
.mv {
  /* background: url(../images/index/mv_bg.jpg) no-repeat top center/cover; */
  margin-block: -145px 0;
  margin-inline: auto;
  max-width: 1920px;
  width: 100%;
}

.mv.mv_bottom {
  background: url(../images/index/mv_bottom_bg.jpg) no-repeat top center/cover;
  margin-block: 0;
  margin-inline: auto;
  max-width: 1920px;
  width: 100%;
}

.mv.mv_bottom .mv_contents02 {
  position: relative;
  top: -44px;
}

.mv .inner.inner_mv {
  padding-block: 0px 30px;
}

.mv .inner.inner_mv_bottom {
  padding-block: 0 68px;
}

.mv .mv_contents {
  margin-bottom: 251px;
}

.mv .mv_img {
  margin-bottom: -682px;
}

.mv .mv_wrap {
  margin-inline: auto;
  width: min(95%, 1760px);
}

.mv .mv_wrap h1 {
  margin-bottom: 64px;
}

.mv .mv_wrap p img {
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.16);
}

.mv .mv_items {
  display: flex;
  align-items: center;
  gap: 0 6px;
  margin-bottom: 43px;
  width: min(95%, 740px);
}

.mv .mv_item {
  background: #3993ed;
  border-radius: 200px;
  color: #fff;
  font-size: 22px;
  font-size: clamp(0.875rem, 0.542rem + 0.69vw, 1.375rem);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.4545454545;
  padding-block: 12px;
  text-align: center;
  width: fit-content;
  padding-inline: 32px;
}

.mv .mv_item:nth-child(2) {
  padding-inline: 30px;
}

.mv .mv_item span {
  color: #fff000;
}

.mv .mv_contents02 {
  background: url(../images/index/mv_con.png) no-repeat top center/cover;
  border-radius: 20px;
  box-shadow: 0px 20px 40px rgba(8, 42, 97, 0.35);
  margin-inline: auto;
  max-width: 1040px;
  padding-block: 0px 50px;
  width: 95%;
}

.mv .mv_contents02 h2 {
  color: #fff;
  display: grid;
  gap: 4px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  text-align: center;
}

.mv .mv_contents02 h2 span.top {
  border-bottom: 2px solid #3993ed;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}

.mv .mv_contents02 h2 span.bottom {
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.25;
}

.mv .mv_contents02 h2 span.yellow {
  color: #fff000;
}

.mv .mv_contents02 h2 span.big {
  font-size: 68px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.8823529412;
}

.mv .mv_contents02 .link {
  text-align: center;
  margin-bottom: -16px;
}

.mv .mv_contents02 .link a {
  display: block;
}

.mv .mv_contents02 p {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.5;
  text-align: center;
}

.mv .mv_contents02_ttl {
  margin-bottom: -12px;
  position: relative;
  text-align: center;
  top: -31px;
}

.mv .mv_contents02_ttl::after {
  background: url(../images/index/mv_con_icon.png) no-repeat center
    center/contain;
  content: "";
  height: 204px;
  position: absolute;
  right: -30px;
  top: 25px;
  width: 225px;
}

/* otameshi
-------------------------------------*/
.con-bg {
  background: url(../images/index/com-bg.png)no-repeat;
  background-size: cover;
  padding-block: 0 301px;
}
.otameshi {
  background: #F8F5F0;
  position: relative;
}
.otameshi .inner {
  padding-block: 94px 80px;
}
.otameshi .inBox {
  width: min(95%, 1200px);
  margin-inline: auto;
  background: url(../images/index/otameshi-innerBg.png)no-repeat;
  background-size: cover;
  text-align: center;
  padding-block: 60px 40px;
  margin-bottom: -34px;
  z-index: 2;
  position: relative;
}
.otameshi .inBox .subt {
  margin-bottom: 15px;
}
.otameshi .inBox h2 {
  padding-right: 16px;
  margin-bottom: 13px;
}
.otameshi .inBox .lead {
  font-weight: bold;
  font-size: 26px;
  line-height: 1.423;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 8px;
}
.otameshi .inBox .img01 {
  position: absolute;
  top: 96px;
  left: 72px;
}
.otameshi .inBox .img02 {
  position: absolute;
  top: 101px;
  right: 37px;
}
.otameshi .inBox .fukidashi {
  position: absolute;
  top: -23px;
  right: 100px;
}
.otameshi .btn {
  width: min(95%, 880px);
  margin-inline: auto;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
  border-radius: 200px;
}


/* whats
-------------------------------------*/

.whats {
  margin-bottom: -182px;
  position: relative;
  top: -300px;
  padding-block: 104px 0;
}

.whats .inner.inner_whats {
  background: #fff;
  border-bottom: 6px solid #9ad5db;
  border-top: 6px solid #9ad5db;
  margin-inline: auto;
  width: min(95%, 1240px);
}

.whats .whats_contents {
  align-items: center;
  display: grid;
  gap: 0 98px;
  grid-template-columns: 56.3% 38.3%;
  margin-block: -48px;
  margin-inline: auto;
  width: min(95%, 996px);
}

.whats .whats_contents_left .en {
  margin-bottom: 10px;
}

.whats .whats_contents_left h2 {
  font-size: 40px;
  font-size: clamp(2rem, 1.667rem + 0.69vw, 2.5rem);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.45;
  margin-bottom: 40px;
}

.whats .whats_contents_left h2 span {
  text-decoration: underline;
  text-decoration-thickness: 26px;
  -webkit-text-decoration-color: #fff000;
  text-decoration-color: #fff000;
  text-underline-offset: -13px;
}

.whats .whats_contents_left .txt {
  font-size: 18px;
  font-size: clamp(0.813rem, 0.604rem + 0.43vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
}

.whats .whats_contents_right .top {
  margin-bottom: -156px;
}

.whats .whats_contents_right .bottom {
  text-align: right;
  position: relative;
  right: -13px;
}

/* onayami
-------------------------------------*/

.onayami {
  margin-bottom: 100px;
}

.onayami .onayami_ttl {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.45;
  margin-bottom: 20px;
  text-align: center;
}

.onayami .onayami_ttl span {
  color: #1e51a2;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4583333333;
}

.onayami .onayami_items {
  display: grid;
  gap: 16px 60px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 940px);
}

.onayami .onayami_item .top {
  left: 24px;
  margin-bottom: -98px;
  position: relative;
}

.onayami .onayami_item .img {
  margin-bottom: 17px;
}

.onayami .onayami_item h3 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  text-align: center;
}

/* kaiketu
-------------------------------------*/
.kaiketu {
  background: url(../images/index/kaiketu_bg.png) no-repeat top center/cover;
  margin-inline: auto;
  max-width: 1920px;
  width: 100%;
  margin-bottom: 15px;
}

.kaiketu .inner.inner_kaiketu {
  padding-block: 113px 138px;
}

.kaiketu .kaiketu_ttl {
  color: #fff;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  text-align: center;
}

.kaiketu .kaiketu_ttl .top {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-inline: auto;
  padding-inline: 24px;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: -16px;
}

.kaiketu .kaiketu_ttl .top:before {
  background: url(../images/index/kaiketu_line.svg) no-repeat center
    center/contain;
  bottom: -7px;
  content: "";
  height: 56px;
  left: -59px;
  position: absolute;
  width: 52px;
}

.kaiketu .kaiketu_ttl .top::after {
  background: url(../images/index/kaiketu_line.svg) no-repeat center
    center/contain;
  bottom: -7px;
  content: "";
  height: 56px;
  position: absolute;
  right: -58px;
  transform: scale(-1, 1);
  width: 52px;
}

.kaiketu .kaiketu_ttl .bottom {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.1666666667;
}

.kaiketu .kaiketu_ttl .yellow {
  color: #fff000;
  font-size: 58px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.1724137931;
  padding-inline: 8px;
}

/* point
-------------------------------------*/
.point {
  margin-bottom: 274px;
}

.point .point_ttl {
  margin-bottom: 48px;
  text-align: center;
}

.point .point_items {
  display: grid;
  gap: 121px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 1200px);
}

.point .point_item {
  background: #fff;
  border-bottom: 4px solid #1b4977;
  border-top: 4px solid #1b4977;
  padding-block: 0 85px;
}

.point .point_item.point03 div.top {
  display: flex;
  gap: 0 106px;
  justify-content: flex-start;
  margin-bottom: -220px;
}

.point .point_item.point03 div.top .num {
  top: -40px;
}

.point .point_item.point04 div.top .icon {
  position: relative;
  top: 24px;
  left: 3px;
}

.point .point_item.point05 div.top .icon {
  position: relative;
  top: 26px;
  left: 62px;
}

.point .point_item div.top {
  align-items: center;
  background: #3993ed;
  display: flex;
  height: 164px;
  justify-content: space-between;
  padding-inline: 100px 160px;
}

.point .point_item div.top .num {
  position: relative;
  top: -39px;
}

.point .point_item div.top h3 {
  color: #fff;
  font-size: 34px;
  font-size: clamp(1.875rem, 1.708rem + 0.35vw, 2.125rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4411764706;
  text-align: center;
}

.point .point_item.point05 div.top h3 {
  position: relative;
  left: 16px;
}

.point .point_item div.top h3 span {
  color: #fff000;
}

.point .point_item div.top .icon {
  position: relative;
  top: 22px;
  left: -31px;
}

.point .point_item div.bottom {
  background: #fff;
  padding-block: 80px 0px;
}

.point .point_item div.bottom.point04 {
  background: #fff;
  padding-block: 37px 0px;
}

.point .point_item div.bottom.point05 {
  background: #fff;
  padding-block: 37px 0px;
}

.point .point_check_items {
  display: grid;
  gap: 60px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.point .point_check_item {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  display: grid;
  gap: 0 40px;
  grid-template-columns: 54.5454545455% 48.8636363636%;
  margin-inline: auto;
  padding-block: 20px 0;
  padding-inline: 80px;
  width: min(95%, 1040px);
}

.point .point_check_item.check02 {
  grid-template-columns: 54.5454545455% 40.9090909091%;
  padding-block: 35px 40px;
}

.point .point_check_item.check02 .right {
  margin-block: 0;
  position: relative;
  top: 10px;
}

.point .point_check_item .left .num {
  left: -104px;
  margin-bottom: 0px;
  position: relative;
  top: -13px;
}

.point .point_check_item:nth-child(1) .num {
  left: -104px;
  margin-bottom: 0px;
  position: relative;
  top: -5px;
}

.point .point_check_item .left h3 {
  font-size: 28px;
  font-size: clamp(1.25rem, 0.917rem + 0.69vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
  margin-bottom: 20px;
}

.point .point_check_item .left p {
  font-size: 18px;
  font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
}

.point .point_check_item .right {
  margin-block: -40px;
}

.point .point_check_item:nth-child(1) .right {
  position: relative;
  left: -70px;
}

.point .bottom_point02 {
  background: #fff;
  padding-block: 115px 0;
}

.point .bottom_child {
  background: #e2f0f9;
  margin-bottom: 125px;
  margin-inline: auto;
  padding-block: 0 50px;
  width: min(95%, 1100px);
}

.point .bottom_child.bottom02 {
  margin-bottom: 0;
}

.point .bottom_child.bottom02 .ttl {
  margin-bottom: -30px;
  gap: 8px 0;
}

.point .bottom_child.bottom02 .txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 34px;
  text-align: center;
}

.point .bottom_child .ttl {
  display: grid;
  gap: 15px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: -131px;
  position: relative;
  text-align: center;
  top: -60px;
}

.point .bottom_child .ttl span.bottom {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4583333333;
}

.point .bottom_child .ttl span.big {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4411764706;
}

.point .bottom_child .ttl span.line {
  text-decoration: underline;
  text-decoration-thickness: 18px;
  -webkit-text-decoration-color: #fff000;
  color: #3993ed;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4411764706;
  text-decoration-color: #fff000;
  text-underline-offset: -9px;
}

.point .bottom_child div.img {
  margin-bottom: -25px;
  margin-inline: auto;
  text-align: right;
  width: min(95%, 843px);
}

.point .bottom_child_con {
  margin-inline: auto;
  width: min(95%, 860px);
}

.point .bottom_child_con p.top {
  background: #1b4977;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.3333333333;
  padding-block: 15px;
  text-align: center;
  /* margin-bottom: 7px; */
}

.point .bottom_child_con .fig {
  background: #fff;
  margin-bottom: 11px;
  padding-block: 0px 31px;
}

.point .bottom_child_con .fig p {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.32;
  text-align: center;
  margin-bottom: 19px;
}

.point .bottom_child_con .fig p span.red {
  color: #ea5c36;
  font-size: 80px;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.32;
  padding-inline: 12px 4px;
}

.point .bottom_child_con .fig p span.red_small {
  color: #ea5c36;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.32;
  padding-inline: 0 10px;
}

.point .bottom_child_con .fig p span.small {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.32;
}

.point .bottom_child_con .fig div.img {
  margin-bottom: 0;
  text-align: center;
}

.point .point02_txt {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.8571428571;
  margin-inline: auto;
  padding-bottom: 27px;
  text-align: left;
  width: min(95%, 800px);
}

.point .point02_ttl {
  background: #3eaecc;
  border-left: 10px solid #1b4977;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.4;
  margin-bottom: 20px;
  margin-inline: auto;
  padding-inline: 25px 0;
  width: min(95%, 1000px);
}

.point .point02_txt02 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.875;
  margin-inline: auto;
  width: min(95%, 930px);
}

.point .bottom_child_con02 {
  background: #fff;
  margin-bottom: 30px;
  margin-inline: auto;
  padding-block: 36px 49px;
  width: min(95%, 960px);
}

.point .bottom_child_con02 p.top {
  margin-bottom: 15px;
  text-align: center;
}

.point .bottom_child_con02 p.bottom {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-bottom: 21px;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: min(95%, 840px);
}

.point .bottom_child_con02 p.bottom:before {
  background: #0b0b0b;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
}

.point .bottom_child_con02 p.bottom::after {
  background: #0b0b0b;
  content: "";
  height: 1px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
}

.point .bottom_child_con02 .fig .img {
  margin-bottom: 0;
}

.point .bottom_child_con03 {
  align-items: center;
  display: flex;
  gap: 0 25px;
  margin-inline: auto;
  width: min(95%, 816px);
}

.point .bottom_child_con03_right {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
}

.point .point03_icon {
  margin-bottom: 0px;
  margin-inline: auto;
  position: relative;
  right: -83px;
  text-align: right;
  width: min(95%, 832px);
}

.point .bottom_point03 {
  margin-bottom: 0px;
}

.point .bottom_point03 div.bottom {
  margin-bottom: 0px;
  padding-block: 0;
}

.point .bottom_point03 div.bottom .ttl {
  margin-bottom: 15px;
  text-align: center;
}

.point .bottom_point03 div.bottom .bottom_txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  text-align: center;
  margin-bottom: 47px;
}

.point .point03_items {
  display: grid;
  gap: 53px 60px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 100px;
  margin-inline: auto;
  width: min(95%, 1016px);
}

.point .point03_item {
  display: grid;
}

.point .point03_item .pin {
  margin-bottom: -27px;
  position: relative;
  text-align: center;
  z-index: 5;
}

.point .point03_item:nth-child(3) .pin {
  margin-bottom: -37px;
}

.point .point03_item .box {
  background: #f6f6f6;
  display: grid;
  grid-row: span 4;
  grid-template-rows: auto auto auto 1fr;
  padding-block: 50px 40px;
  padding-bottom: 70px;
  position:relative;
}

.point .point03_item .box h4 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
  margin-bottom: 24px;
  text-align: center;
}

.point .point03_item .box .line {
  text-align: center;
}

.point .point03_item .box .line img {
  vertical-align: top;
}

.point .point03_item .box .img {
  margin-bottom: 30px;
  position: relative;
  text-align: center;
}

.point .point03_item .box .img.item01::after {
  background: url(../images/index/point03_img01_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 49px;
  position: absolute;
  right: 35px;
  width: 115px;
}

.point .point03_item .box .img.item02::after {
  background: url(../images/index/point03_img02_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 55px;
  position: absolute;
  right: 35px;
  width: 91px;
}

.point .point03_item .box .img.item03::after {
  background: url(../images/index/point03_img03_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 64px;
  position: absolute;
  right: 35px;
  width: 92px;
}

.point .point03_item .box .img.item04::after {
  background: url(../images/index/point03_img04_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 88px;
  position: absolute;
  right: 35px;
  width: 56px;
}

.point .point03_item .box p.txt {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-inline: auto;
  width: 380px;
}

.point .point03_item .box p.txt-time {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  text-align: right;
          position: absolute;
        bottom: 20px;
        right: 50px;
}

.point .point03_otoku_box {
  background: #e2f0f9;
  margin-inline: auto;
  padding-block: 68px 44px;
  width: min(95%, 1100px);
}

.point .point03_otoku_box_inner {
  background: #fff;
  margin-inline: auto;
  padding-block: 31px 46px;
  width: min(95%, 960px);
}

.point .point03_otoku_box_inner .top {
  margin-bottom: 15px;
  text-align: center;
}

.point .point03_otoku_box_inner .bottom {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-bottom: 10px;
  margin-inline: auto;
  padding-inline: 37px;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.point .point03_otoku_box_inner .bottom:before {
  background: #0b0b0b;
  content: "";
  height: 1px;
  left: -120px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
}

.point .point03_otoku_box_inner .bottom::after {
  background: #0b0b0b;
  content: "";
  height: 1px;
  position: absolute;
  right: -120px;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
}

.point .point03_otoku_box_inner .second-subttl {
text-align: center;
line-height: 1.6;
letter-spacing: 2px;
/* font-weight: bold; */
font-size: 18px;
margin: 0 0 30px 0;
}
.point .point03_otoku_box_inner span.colorred  {
  text-align: center; 
  color: #ea5c36;
}



.point .point03_otoku_box_inner p.txt {
  color: #808080;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.7142857143;
  margin-inline: auto;
  width: min(95%, 880px);
}

.point .point03_otoku_items {
  display: grid;
  gap: 20px 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 16px;
  margin-inline: auto;
  width: min(95%, 880px);
}


.point .point03_otoku_item {
  background: #f6f6f6;
  padding-block: 0 7px;
  position:relative;
}

.point .point03_otoku_item.i-coop::before{
content: '';
display: inline-block;
width: 34px;
height: 19px;
position: absolute; top:3px; left:30px;
background-image: url(../images/index/icon-coop.png);
background-size: contain;
background-repeat: no-repeat;
}

.point .point03_otoku_item.i-reitou::before{
content: '';
display: inline-block;
width: 34px;
height: 17px;
position: absolute; top:4px; left:25px;
background-image: url(../images/index/icon-reitou.svg);
background-size: contain;
background-repeat: no-repeat;
}

.point .point03_otoku_item.i-santyoku::before{height: 18px;content: '';display: inline-block;width: 34px;height: 17px;position: absolute;top:4px;left: 30px;background-image: url(../images/index/icon-santyoku.svg);background-size: contain;background-repeat: no-repeat;}

.point .point03_otoku_item.i-reitou2::after{
content: '';
display: inline-block;
width: 34px;
height: 17px;
position: absolute; top:4px; left:70px;
background-image: url(../images/index/icon-reitou.svg);
background-size: contain;
background-repeat: no-repeat;
}


.point .point03_otoku_item .num {
  background: #3993ed;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 2;
  margin-bottom: -12px;
  padding-inline: 8px;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.point .point03_otoku_item .img {
  margin-bottom: 6px;
  text-align: center;
}

.point .point03_otoku_item .img img {
  height: auto;
  width: 148px;
}

.point .point03_otoku_item p {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.6666666667;
  margin-inline: auto;
  width: 148px;
  font-feature-settings: "palt";
}

.point .point03_otoku_item p.shigalogo{
background-image:url(../images/index/shigamark.png);
background-position:0px 1px;
background-repeat:no-repeat;
background-size:16px;
padding: 0px 0px 0px 20px;
}


.point .point03_otoku_item p span {
  display: block;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 2.2;
}

.point .bottom_point04 .ttl {
  margin-bottom: 17px;
  text-align: center;
}

.point .bottom_point04 .bottom_txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 51px;
  text-align: center;
}

.point .point04_items {
  display: grid;
  gap: 50px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 100px;
  margin-inline: auto;
  width: min(95%, 1020px);
}

.point .point04_item {
  display: grid;
}

.point .point04_item .pin {
  text-align: center;
}

.point .point04_item:nth-child(2) .pin {
  margin-bottom: -9px;
}

.point .point04_item .box {
  background: #f6f6f6;
  border: 2px solid #0098bc;
  display: grid;
  grid-row: span 3;
  grid-template-rows: auto auto 1fr;
  padding-block: 44px;
}

.point .point04_item:nth-child(3) .box,
.point .point04_item:nth-child(4) .box {
  padding-block: 44px 60px;
}

.point .point04_item .box h4 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
  margin-bottom: 20px;
  text-align: center;
}

.point .point04_item .box .img {
  margin-bottom: 20px;
  position: relative;
  text-align: center;
}

.point .point04_item .box .img.item01::after {
  background: url(../images/index/point04_img01_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 73px;
  position: absolute;
  right: 41px;
  width: 100px;
}

.point .point04_item .box .img.item02::after {
  background: url(../images/index/point04_img02_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 80px;
  position: absolute;
  right: 42px;
  width: 75px;
}

.point .point04_item .box .img.item03::after {
  background: url(../images/index/point04_img03_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 73px;
  position: absolute;
  right: 42px;
  width: 94px;
}

.point .point04_item .box .img.item04::after {
  background: url(../images/index/point04_img04_mini.png) no-repeat center
    center/contain;
  bottom: 10px;
  content: "";
  height: 68px;
  position: absolute;
  right: 42px;
  width: 67px;
}

.point .point04_item .box .img img {
  height: auto;
  width: 380px;
}

.point .point04_item .box p {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-inline: auto;
  width: 380px;
}

.point .point04_set_box_inner p {
  text-align: center;
}

.point .point04_set_box_inner p.top {
  margin-bottom: 20px;
}

.point .point04_set_box_inner p.bottom {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 30px;
}

.point .point04_otoku_items {
  display: grid;
  gap: 0 40px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 40px;
  margin-inline: auto;
  width: min(95%, 1000px);
}

.point .point04_otoku_con {
  background: #edece8;
  margin-inline: auto;
  padding-block: 20px;
  position: relative;
  width: min(95%, 1000px);
}

.point .point04_otoku_con:before {
  background: url(../images/index/point04_bottom_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 37px;
  left: 40px;
  position: absolute;
  top: 16px;
  width: 31px;
}

.point .point04_otoku_con p {
  font-size: 14px;
  font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.7142857143;
  text-align: center;
}

.point .bottom_point05 .bottom .ttl {
  margin-bottom: 20px;
  text-align: center;
}

.point .bottom_point05 .bottom .bottom_txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 40px;
  text-align: center;
}

.point .bottom_point05 .point05_items {
  display: grid;
  gap: 40px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 1040px);
}

.point .bottom_point05 .point05_item {
  align-items: center;
  display: grid;
  grid-template-columns: 54.8076923077% 50%;
}

.point .bottom_point05 .point05_item:nth-child(2) {
  align-items: center;
  display: grid;
  grid-template-columns: 50% 54.8076923077%;
}

.point .bottom_point05 .point05_item:nth-child(2) .con {
  left: -50px;
  position: relative;
}

.point .bottom_point05 .point05_item:nth-child(2) .img {
  position: static;
}

.point .bottom_point05 .point05_item:nth-child(3) .con {
  position: relative;
  top: 27px;
}

.point .bottom_point05 .point05_item .con {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  height: -moz-fit-content;
  height: fit-content;
  padding-block: 40px 30px;
  position: relative;
  z-index: 10;
}

.point .bottom_point05 .point05_item .con h5 {
  font-size: 28px;
  font-size: clamp(1.5rem, 1.333rem + 0.35vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
  margin-bottom: 20px;
  text-align: center;
}

.point .bottom_point05 .point05_item .con .line {
  margin-bottom: 16px;
  text-align: center;
}

.point .bottom_point05 .point05_item .con .line img {
  vertical-align: top;
}

.point .bottom_point05 .point05_item .con p {
  font-size: 18px;
  font-size: clamp(0.938rem, 0.813rem + 0.26vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  margin-inline: auto;
  width: 480px;
}

.point .bottom_point05 .point05_item .img {
  left: -50px;
  position: relative;
}

/* voice
-------------------------------------*/
.voice {
  background: url(../images/index/voice_bg.jpg) no-repeat top center/cover;
  margin-inline: auto;
  max-width: 1920px;
  overflow: hidden;
  width: 100%;
}

.voice .inner.inner_voice {
  padding-block: 120px 130px;
}

.voice .voice_en {
  margin-bottom: 10px;
  text-align: center;
}

.voice .voice_ttl {
  font-size: 38px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.7631578947;
  margin-bottom: -61px;
  position: relative;
  text-align: center;
}

.voice .voice_line {
  margin-bottom: 24px;
  text-align: center;
}

.voice .voice_item {
  display: grid !important;
  grid-row: span 2;
  grid-template-rows: auto 1fr;
  margin-inline: 20px;
}

.voice .voice_item .pin {
  margin-bottom: -16px;
  position: relative;
  text-align: center;
  z-index: 10;
}

.voice .voice_item .box {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0px 10px 30px rgba(11, 11, 11, 0.11);
  padding-block: 40px 30px;
  display: grid;
  grid-row: span 2;
  grid-template-rows: auto 1fr;
}

.voice .voice_item .box .top {
  align-items: center;
  border-bottom: 1px dashed #a1a1a1;
  display: grid;
  gap: 0 20px;
  grid-template-columns: 29.4117647059% minmax(0, 1fr);
  margin-bottom: 20px;
  margin-inline: auto;
  padding-bottom: 20px;
  width: 340px;
}

.voice .voice_item .box .top h3 {
  font-size: 22px;
  font-size: clamp(1rem, 0.75rem + 0.52vw, 1.375rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6363636364;
}

.voice .voice_item .box p {
  font-size: 14px;
  font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-inline: auto;
  width: 340px;
}

.voice .slick-slide img {
  display: inline-block;
}

.voice .slick-list {
  overflow: visible;
}

.voice .slick-track {
  display: flex;
}

.voice .slick-slide {
  height: auto !important;
}

.voice .next-arrow, .voice .prev-arrow {
  position: absolute;
  top: 57%;
  transform: translateY(-50%);
  z-index: 15;
}
.voice .next-arrow {
  left: calc(100% - 570px);
}
.voice .prev-arrow {
  right: calc(100% - 570px);
}

/* lineup
-------------------------------------*/
.lineup {
  background-color: #f8f5f0; /* 背景色を指定 */
  background-image: url(../images/index/lineup_bg.jpg); /* 画像を指定 */
  background-position: bottom left; /* 画像の位置を指定 */
  background-repeat: no-repeat; /* 画像を繰り返さない */
  background-size: auto; /* 画像のサイズ調整（必要に応じて変更） */
}

.lineup .inner.inner_lineup {
  padding-block: 100px 208px;
}

.lineup .lineup_ttl {
  margin-bottom: -64px;
  margin-inline: auto;
  width: min(95%, 1100px);
}

.lineup .lineup_ttl .txt {
  margin-bottom: -50px;
  position: relative;
  right: -71px;
  z-index: 10;
  width: 228px;
}

.lineup .lineup_ttl .ttl {
  background: url(../images/index/lineup_ttl.svg) no-repeat top center/contain;
  margin-inline: auto;
  padding-block: 24px;
  position: relative;
  width: 100%;
}

.lineup .lineup_ttl .ttl::after {
  background: url(../images/index/lineup_icon.svg) no-repeat center
    center/contain;
  bottom: 0;
  content: "";
  height: 113px;
  position: absolute;
  right: 116px;
  width: 133px;
}

.lineup .lineup_ttl .ttl h2 {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
  text-align: center;
}

.lineup .lineup_ttl .ttl h2 span {
  color: #fff000;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.45;
}

.lineup .lineup_box {
  background: #fff;
  border: 10px solid #e3e3e3;
  margin-inline: auto;
  padding-block: 80px 85px;
  width: min(95%, 1300px);
}

.lineup .lineup_box_txt {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  margin-bottom: 72px;
  text-align: center;
}

.lineup .lineup_items {
  display: grid;
  gap: 72px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 1100px);
}

.lineup .lineup_item_top {
  position: relative;
}

.lineup .lineup_item_top::after {
  background: url(../images/index/lineup_top_maru.svg) no-repeat center
    center/contain;
  content: "";
  height: 130px;
  left: 50%;
  position: absolute;
  top: -16px;
  transform: translateX(-50%);
  width: 220px;
  z-index: 1;
}

.lineup .lineup_item_en {
  position: relative;
  text-align: center;
  z-index: 11;
  margin-bottom: -9px;
}

.lineup .lineup_item_ttl {
  background: #edece8;
  border-left: 1px solid #e7ecf0;
  border-right: 1px solid #e7ecf0;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
  padding-block: 28px;
  position: relative;
  text-align: center;
  z-index: 10;
}

.lineup .lineup_item_ttl span {
  color: #3993ed;
}

.lineup .lineup_item_bottom {
  background: #f6f6f6;
  border: 1px solid #e7ecf0;
  border-top: none;
  padding-block: 40px;
}

.lineup .lineup_item_bottom_inner {
  background: #fff;
  margin-inline: auto;
  padding: 40px;
  width: min(95%, 1000px);
}

.lineup .lineup_slider_items {
  margin-inline: auto;
  width: min(95%, 920px);
}

.lineup .lineup_slider_item {
  margin-inline: 20px;
  text-align: center;
    background-color:#000;
}

.lineup .lineup_slider_item.slick-center img {
  opacity: 1;
}

.lineup .lineup_slider_item img {
  opacity: 0.6;
}

.lineup .slide-arrow {
  position: absolute;
  top: 45%;
  /* transform: translateY(-50%); */
}

.lineup .slide-arrow.prev-arrow {
  left: 180px;
  z-index: 10;
}

.lineup .slide-arrow.next-arrow {
  right: 194px;
  z-index: 10;
}

.lineup {
  /* dotsを丸くカスタマイズするCSS */
}

.lineup .dots-wrap {
  display: flex;
  justify-content: center;
}

.lineup .dots-wrap li {
  background: #edece8;
  border-radius: 50%;
  cursor: pointer;
  height: 8px;
  margin: 0 10px;
  width: 8px;
}

.lineup .dots-wrap li:hover,
.lineup .dots-wrap li.slick-active {
  background: #707070;
}

.lineup .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  outline: none;
  padding: 0;
}

.lineup .lineup02_item_bottom {
  background: #f6f6f6;
  padding-block: 40px;
}

.lineup .lineup02_bottom_txt {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  margin-bottom: 0px;
  text-align: center;
}

.lineup .lineup02_bottom_img {
  text-align: center;
}

.lineup .lineup03_item_bottom {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  border-top: none;
  padding-block: 40px;
}

.lineup .lineup03_bottom_txt {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  margin-bottom: 40px;
  text-align: center;
}

.lineup .lineup03_bottom_con {
  background: #fff;
  border: 4px solid #edece8;
  display: grid;
  gap: 0 30px;
  grid-template-columns: 27% minmax(0, 1fr);
  margin-bottom: 20px;
  margin-inline: auto;
  padding-block: 36px;
  padding-inline: 70px 30px;
  position: relative;
  width: min(95%, 1000px);
}

.lineup .lineup03_bottom_con:before {
  background: url(../images/index/lineup03_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 122px;
  position: absolute;
  right: 38px;
  top: -44px;
  width: 208px;
}

.lineup .lineup03_bottom_con .right h4 {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7857142857;
  margin-bottom: 24px;
}

.lineup .lineup03_bottom_con .right h4 span {
  border-bottom: 2px solid #3993ed;
  display: block;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7777777778;
  margin-bottom: 6px;
  width: -moz-fit-content;
  width: fit-content;
}

.lineup .lineup03_bottom_con .right p {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}

.lineup .lineup03_bottom_txt02 {
  background: #edece8;
  margin-inline: auto;
  padding-block: 20px;
  width: min(95%, 1000px);
}

.lineup .lineup03_bottom_txt02 p {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.7142857143;
  padding-inline: 79px 0;
  position: relative;
}

.lineup .lineup03_bottom_txt02 p:before {
  background: url(../images/index/lineup_icon02.svg) no-repeat center
    center/contain;
  content: "";
  height: 37px;
  left: 40px;
  position: absolute;
  top: -8px;
  width: 31px;
}

/* otoku
-------------------------------------*/
.otoku {
  margin-bottom: 100px;
}

.otoku .otoku_ttl {
  margin-bottom: -110px;
  position: relative;
  text-align: center;
  top: -110px;
  left: 40px;
  width: min(95%,1085px);
  margin-inline: auto;
}

.otoku .otoku_items {
  display: flex;
  flex-wrap: wrap;
  gap: 35px;
  justify-content: center;
  margin-inline: auto;
  width: min(95%, 1210px);
}

.otoku .otoku_item {
  display: grid;
  grid-row: span 2;
  grid-template-rows: auto 1fr;
  width: 31%;
position:relative;
}

.otoku .otoku_item .num {
  background: #3993ed;
  border-radius: 15px 15px 0px 0px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
  padding-block: 0px 4px;  
}

.otoku .otoku_item .num span {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  padding-inline: 4px 0;
  position: relative;
  top: 1px;
}

.otoku .otoku_item .bottom {
  background: #fff;
  border-radius: 0px 0px 15px 15px;
  padding-block: 30px 23px;
  position: relative;
}


.otoku .otoku_item .bottom.otoku01:before {
  background: url(../images/index/tokuten01_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 110px;
  right: -12px;
  position: absolute;
  top: -11px;
  width: 110px;
}

.otoku .otoku_item .bottom.otoku02:before {
  background: url(../images/index/tokuten01_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 110px;
  right: -12px;
  position: absolute;
  top: -11px;
  width: 110px;
}

.otoku .otoku_item .bottom.otoku04:before {
  background: url(../images/index/tokuten04_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 110px;
  left: -12px;
  position: absolute;
  top: -11px;
  width: 110px;
}

.otoku .otoku_item .bottom.otoku05:before {
  background: url(../images/index/tokuten05_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 110px;
  left: -12px;
  position: absolute;
  top: -11px;
  width: 110px;
}

.otoku .tokuten-subtxt{
text-align: center;margin:30px 0 0 0;
font-size: 13px; line-height: 1.6; letter-spacing: 0px;
}



.otoku .otoku_item .bottom .img {
  margin-bottom: 16px;
  text-align: center;
}

.otoku .otoku_item .bottom .img img{
  width: 320px;
}

.otoku .otoku_item .bottom p {
  font-size: 18px;
  font-size: clamp(0.938rem, 0.813rem + 0.26vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  text-align: center;
}

.otoku .otoku_item .bottom p span {
  color: #ea5c36;
  font-size: 22px;
  font-size: clamp(0.938rem, 0.646rem + 0.61vw, 1.375rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5454545455;
  position: relative;
  z-index: 1;
}

.otoku .otoku_item .bottom p span::after {
  background: #fff000;
  bottom: 0;
  content: "";
  height: 13px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.otoku .otoku_item .bottom p span.small {
  color: #0b0b0b;
  display: inline-block;
  font-size: 12px;
  font-size: clamp(0.625rem, 0.542rem + 0.17vw, 0.75rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-inline: auto;
  position: static;
  width: 320px;
}

.otoku .otoku_item .bottom p span.small::after {
  content: none;
}

.otoku .otoku_item .bottom p.ttl-sub{ font-size: 12px; line-height: 1.4; letter-spacing: 0;
position: absolute; bottom:12px; right:15px; }


/* way
-------------------------------------*/
.way {
  background: #e2f0f9;
}

.way .inner.inner_way {
  padding-block: 120px 140px;
}

.way .way_ttl {
  margin-bottom: 60px;
  text-align: center;
}

.way .way_items {
  display: grid;
  gap: 73px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 1100px);
}

.way .way_item {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 10px 30px rgba(11, 11, 11, 0.11);
  padding-block: 60px 60px;
}

.way .way_item:nth-child(1) .way_item_inner {
  margin-bottom: 40px;
}

.way .way_item:nth-child(1){
  padding-bottom: 30px;
}

.way .way_item:nth-child(1),
.way .way_item:nth-child(2) {
  position: relative;
}

.way .way_item:nth-child(1)::after,
.way .way_item:nth-child(2)::after {
  background: url(../images/index/step_arrow.svg) no-repeat center
    center/contain;
  bottom: -50px;
  content: "";
  height: 25px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 60px;
}

.way .way_item_inner {
  display: grid;
  gap: 0 60px;
  grid-template-columns: 58.3% 35.4%;
  margin-inline: auto;
  width: min(90%, 960px);
}

.way .way_item_inner .con .num {
  margin-bottom: -64px;
  position: relative;
  top: -80px;
}

.way .way_item_inner .con h3 {
  font-size: 40px;
  font-size: clamp(2rem, 1.667rem + 0.69vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.45;
  margin-bottom: 16px;
}

.way .way_item_inner .con p.top {
  color: #3993ed;
  font-size: 22px;
  font-size: clamp(1.125rem, 0.958rem + 0.35vw, 1.375rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
  margin-bottom: 20px;
}

.way .way_item_inner .con p.bottom {
  font-size: 16px;
  font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 20px;
}

.way .way_item_inner .con p.small {
  font-size: 14px;
  font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}

.way .way_link {
  text-align: center;
  margin: 55px 0 0 0;
}

.way .way_link a {
  display: block;
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.way .way_link img {
  border-radius: 40px;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
}

/* order
-------------------------------------*/
.order .inner.inner_order {
  padding-block: 118px 99px;
}

.order .order_ttl {
  margin-bottom: 49px;
  text-align: center;
}

.order .order_txt {
  background: #1b4977;
  border-radius: 40px;
  color: #fff;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.4285714286;
  margin-bottom: -41px;
  margin-inline: auto;
  padding-block: 20px;
  position: relative;
  text-align: center;
  width: min(95%, 1100px);
}

.order .order_txt.order02 {
  margin-bottom: 40px;
}

.order .order_txt span {
  color: #fff000;
}

.order .order_box {
  background: #fff;
  margin-inline: auto;
  padding-block: 89px 61px;
  width: min(95%, 1200px);
}

.order .order_box.top {
  margin-bottom: 72px;
}

.order .order_box .img {
  margin-bottom: 38px;
  text-align: center;
  width: min(95%,1073px);
  margin-inline: auto;
}

.order .order_box p {
  text-align: center;
  width: min(95%,792px);
  margin-inline: auto;
}

.order .order02_txt02 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
  margin-bottom: 40px;
  text-align: center;
}

.order .order_items {
  display: grid;
  gap: 20px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 1000px);
}

.order .order_item {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  display: grid;
  gap: 0 26px;
  grid-template-columns: 27.2% 68.1%;
  margin-inline: auto;
  padding-block: 38px;
  padding-inline: 59px 0;
  width: min(100%, 1000px);
}

.order .order_item .con{ text-align: left;}

.order .order_item .con h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  margin-bottom: 16px;
}

.order .order_item .con p {
  font-size: 14px;
  font-weight: 400;
  text-align: left;
  width: auto;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}

.order .order_item .con p span {
  font-weight: 700;
}

/* faq
-------------------------------------*/
.faq {
  background: url(../images/index/faq_bg.jpg) no-repeat top center/cover;
  margin-inline: auto;
  max-width: 1920px;
  width: 100%;
}

.faq .inner.inner_faq {
  padding-block: 120px;
}

.faq .faq_en {
  text-align: center;
  margin-bottom: 8px;
}

.faq .faq_ttl {
  font-size: 38px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.7631578947;
  margin-bottom: 35px;
  text-align: center;
}

.faq .faq_box {
  margin-inline: auto;
  width: min(95%, 1000px);
}

.faq .faq_box {
  display: grid;
  gap: 20px 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.faq summary {
  display: block;
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq .faq_qu {
  background: #1b4977;
  display: block;
  padding-block: 20px 14px;
  position: relative;
  width: 100%;
}

.faq .faq_qu::after {
  background: url(../images/index/faq_arrow.svg) no-repeat center
    center/contain;
  content: "";
  height: 21px;
  position: absolute;
  right: 28px;
  top: 23px;
  transition: rotate 0.5s ease;
  width: 24px;
}

.faq .faq_an {
  background: #fff;
}

.faq .faq_qu_txt {
  color: #fff;
  display: block;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4545454545;
  margin-inline: auto;
  width: min(80%, 830px);
}

.faq .js-details[open] .faq_qu::after {
  rotate: -180deg;
}

.faq .js-details[open] .faq_an_txt {
  animation: fadeIn 0.5s ease;
}

.faq .faq_qu_txt {
  position: relative;
}

.faq .faq_qu_txt::before {
  background: url(../images/index/q.svg) no-repeat center center/contain;
  content: "";
  height: 29px;
  left: -44px;
  position: absolute;
  top: 2px;
  width: 26px;
}

.faq .faq_an {
  background: #fff;
  padding-block: 20px;
}

.faq .faq_an_txt {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.75;
  margin-inline: auto;
  position: relative;
  width: min(80%, 830px);
}

.faq .faq_an_txt::before {
  background: url(../images/index/a.svg) no-repeat center center/contain;
  content: "";
  height: 29px;
  left: -45px;
  position: absolute;
  top: 0px;
  width: 25px;
}

/* bnr
-------------------------------------*/
.bnr .inner.inner_bnr {
  padding-block: 140px 80px;
}

.bnr .bnr_items {
  display: grid;
  gap: 0 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 1273px);
}

.bnr .bnr_item a {
  display: block;
}

.bnr .bnr_item a img {
  height: auto;
  width: 100%;
}

/* contact
-------------------------------------*/
.contact {
  background: #ffffff;
}

.contact .inner.inner_contact {
  padding-block: 114px 90px;
}

.contact .contact_top {
  align-items: center;
  display: flex;
  gap: 0 50px;
  justify-content: center;
  margin-bottom: 28px;
}

.contact .contact_top p {
  font-size: 18px;
  font-size: clamp(0.938rem, 0.813rem + 0.26vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7777777778;
}

.contact .contact_center {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4375;
  margin-bottom: 37px;
  text-align: center;
}

.contact .contact_btn {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2777777778;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.contact .contact_btn:before {
  background: url(../images/index/con_mail.svg) no-repeat center
    center/contain;
  content: "";
  height: 15px;
  left: -35px;
  position: absolute;
  top: 5px;
  width: 25px;
}

.contact .contact_btn a {
  color: #ea5c36;
  text-decoration: underline;
  margin-inline: 4px 0;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {
.voice {
  background: url(../images/index/voice_bg.jpg) no-repeat top center/cover;
  margin-inline: auto;
  max-width: 100.052vw;
  overflow: hidden;
  width: 100%;
}

.voice .inner.inner_voice {
  padding-block: 6.253vw 6.774vw;
}

.voice .voice_en {
  margin-bottom: 0.521vw;
  text-align: center;
}

.voice .voice_ttl {
  margin-bottom: -3.179vw;
  position: relative;
  text-align: center;
}

.voice .voice_line {
  margin-bottom: 1.251vw;
  text-align: center;
}

.voice .voice_item {
  display: grid !important;
  grid-row: span 2;
  grid-template-rows: auto 1fr;
  margin-inline: 1.042vw;
}

.voice .voice_item .pin {
  margin-bottom: -0.834vw;
  position: relative;
  text-align: center;
  z-index: 10;
}

.voice .voice_item .box {
  background: #fff;
  border-radius: 0.521vw;
  box-shadow: 0px 10px 30px rgba(11, 11, 11, 0.11);
  padding-block: 2.084vw 1.563vw;
  display: grid;
  grid-row: span 2;
  grid-template-rows: auto 1fr;
}

.voice .voice_item .box .top {
  align-items: center;
  border-bottom: 1px dashed #a1a1a1;
  display: grid;
  gap: 0 1.042vw;
  grid-template-columns: 29.4117647059% minmax(0, 1fr);
  margin-bottom: 1.042vw;
  margin-inline: auto;
  padding-bottom: 1.042vw;
  width: 17.718vw;
}

.voice .voice_item .box p {
  margin-inline: auto;
  width: 17.718vw;
}

.voice .next-arrow, .voice .prev-arrow {
  width: 3.127vw;
}
.voice .next-arrow {
  left: calc(100% - 29.703vw);
}
.voice .prev-arrow {
  right: calc(100% - 29.703vw);
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1700px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1700px) {
.mv {
  /* background: url(../images/index/mv_bg.jpg) no-repeat top center/cover; */
  margin-inline: auto;
  max-width: 112.941vw;
  width: 100%;
}

.mv.mv_bottom {
  background: url(../images/index/mv_bottom_bg.jpg) no-repeat top center/cover;
  margin-block: 0;
  margin-inline: auto;
  max-width: 112.941vw;
  width: 100%;
}

.mv.mv_bottom .mv_contents02 {
  position: relative;
  top: -2.588vw;
}

.mv .inner.inner_mv {
  padding-block: 0px 0.647vw;
}

.mv .inner.inner_mv_bottom {
  padding-block: 0 4vw;
}

.mv .mv_contents {
  margin-bottom: 14.765vw;
}

.mv .mv_img {
  margin-bottom: -40.118vw;
}

.mv .mv_wrap {
  margin-inline: auto;
  width: min(95%, 1760px);
}

.mv .mv_wrap h1 {
  margin-bottom: 3.765vw;
}

.mv .mv_wrap p img {
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.16);
}

.mv .mv_items {
  display: flex;
  align-items: center;
  gap: 0 0.353vw;
  margin-bottom: 2.529vw;
  width: min(95%, 740px);
}

.mv .mv_item {
  background: #3993ed;
  border-radius: 11.765vw;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.4545454545;
  padding-block: 0.706vw;
  text-align: center;
  width: fit-content;
  padding-inline: 1.882vw;
}

.mv .mv_item:nth-child(2) {
  padding-inline: 1.765vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1600px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1600px) {
.whats {
  margin-bottom: -11.375vw;
  position: relative;
  top: -18.75vw;
  padding-block: 6.5vw 0;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1400px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1400px) {
.mv {
  margin-block: -8.429vw 0;
}

.mv .mv_wrap h1 img {
  width: 44.643vw;
  height: auto;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1300px) {
.otoku .otoku_item .bottom .img img {
  width: 24.615vw;
  height: auto;
}

.otoku .otoku_item .bottom p span::after {
  background: #fff000;
  bottom: 0;
  content: "";
  height: 1vw;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.otoku .otoku_item .bottom p span.small {
  width: 24.615vw;
}

.otoku .otoku_item .bottom.otoku01:before {
  background: url(../images/index/tokuten01_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 8.462vw;
  right: -0.923vw;
  position: absolute;
  top: -0.846vw;
  width: 8.462vw;
}

.otoku .otoku_item .bottom.otoku02:before {
  background: url(../images/index/tokuten01_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 8.462vw;
  right: -0.923vw;
  position: absolute;
  top: -0.846vw;
  width: 8.462vw;
}


.otoku .otoku_item .bottom.otoku04:before {
  background: url(../images/index/tokuten04_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 8.462vw;
  left: -0.923vw;
  position: absolute;
  top: -0.846vw;
  width: 8.462vw;
}

.otoku .otoku_item .bottom.otoku05:before {
  background: url(../images/index/tokuten05_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 8.462vw;
  left: -0.923vw;
  position: absolute;
  top: -0.846vw;
  width: 8.462vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1290px) {
======================================== */
@media screen and (min-width:768px) and (max-width:1290px) {
.otoku .otoku_item .bottom p.ttl-sub{font-size:0.93vw;line-height:1.4;letter-spacing:0;position:absolute;bottom:1.3vw;right:1.16vw;}
}



/* ========================================
@media screen and (min-width:768px) and ( max-width:1280px) {
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
/* otameshi
-------------------------------------*/
.con-bg {
  padding-block: 0 23.516vw;
}
.otameshi .inner {
  padding-block: 7.344vw 6.25vw;
}
.otameshi .inBox {
  padding-block: 4.688vw 3.125vw;
  margin-bottom: -2.656vw;
  background-size: contain;
}
.otameshi .inBox .subt {
  margin-bottom: 1.172vw;
}
.otameshi .inBox .subt img {
  width: 34.609vw;
}
.otameshi .inBox h2 {
  padding-right: 1.25vw;
  margin-bottom: 1.016vw;
}
.otameshi .inBox h2 img {
  width: 41.719vw;
}
.otameshi .inBox .lead {
  font-size: 2.031vw;
  margin-bottom: 0.625vw;
}
.otameshi .inBox .img01 {
  top: 7.5vw;
  left: 5.625vw;
}
.otameshi .inBox .img01 img {
  width: 16.484vw;
}
.otameshi .inBox .img02 {
  top: 7.891vw;
  right: 2.891vw;
}
.otameshi .inBox .img02 img {
  width: 20.547vw;
}
.otameshi .inBox .fukidashi {
  top: -1.797vw;
  right: 7.813vw;
}
.otameshi .inBox .fukidashi img {
  width: 21.484vw;
}
.otameshi .btn {
  border-radius: 15.625vw;
  width: 68.75vw;
}

}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1200px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1200px) {
.whats {
  margin-bottom: 5vw;
}

.whats .whats_contents {
  align-items: center;
  display: grid;
  gap: 0 5.167vw;
  grid-template-columns: 56.3% 38.3%;
  margin-block: -4vw;
  margin-inline: auto;
  width: min(95%, 996px);
}

.what .whats_contents_right .top img {
  width: 100%;
  height: auto;        
}

.whats .whats_contents_right .top {
  margin-bottom: -13vw;
}

.whats .whats_contents_right .top img {
  width: 100%;
  height: auto;        
}

.whats .whats_contents_right .bottom {
  text-align: right;
  position: relative;
  right: -2vw;
}

.whats .whats_contents_right .bottom img {
  width: 11.167vw;
  height: auto;
}

.point .point_item div.top {
  align-items: center;
  background: #3993ed;
  display: flex;
  height: 13.667vw;
  justify-content: space-between;
  padding-inline: 4vw;
}

.point .point_item div.top .icon {
  position: relative;
  top: 1.833vw;
  left: -2.583vw;
}

.point .point_item div.top .num {
  width: 16.667vw;
  height: auto;
}

.point .point_item:nth-child(1) div.top .icon {
  width: 9.75vw;
  height: auto;
}

.point .point_item:nth-child(2) div.top .icon {
  width: 12.75vw;
  height: auto;
}

.point .point03_icon {
  margin-bottom: 0px;
  margin-inline: auto;
  position: relative;
  right: -0.9vw;
  text-align: right;
  width: min(95%, 832px);
}

.point .point03_icon img {
  width: 17.917vw;
  height: auto;
}

.point .point_item:nth-child(4) div.top .icon img {
  width: 14.417vw;
  height: auto;
}

.point .point_item:nth-child(5) div.top .icon img {
  width: 12.333vw;
  height: auto;
}

.point .point_item.point03 div.top .num {
  top: -3.333vw;
}

.point .point_item.point04 div.top .icon {
  position: relative;
  top: 2vw;
  left: 0.25vw;
}

.point .point_item.point05 div.top .icon {
  position: relative;
  top: 3.167vw;
  left: 2.167vw;
}


.otoku .otoku_ttl {
  position: relative;
  left: 0;
}

.point .point_item.point03 div.top {
  display: flex;
  gap: 0 8.833vw;
  justify-content: flex-start;
  margin-bottom: -18.333vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1100px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1100px) {
.mv .mv_contents02_ttl::after {
  background: url(../images/index/mv_con_icon.png) no-repeat center
    center/contain;
  content: "";
  height: 17.182vw;
  position: absolute;
  right: -2.364vw;
  top: 4.909vw;
  width: 19.273vw;
}

.point .point_check_item:nth-child(1) .right {
  position: relative;
  left: -3.364vw;
  top: 1vw;
}

.point .point_check_item {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  display: grid;
  gap: 0 3.636vw;
  grid-template-columns: 54.5454545455% 48.8636363636%;
  margin-inline: auto;
  padding-block: 1.818vw 0;
  padding-inline: 7.273vw;
  width: min(95%, 1040px);
}

.point .point_check_item:nth-child(1) .num {
  left: -9.455vw;
  margin-bottom: 0px;
  position: relative;
  top: -0.455vw;
}

.point .point_check_item .left .num {
  left: -8vw;
  margin-bottom: 0px;
  position: relative;
  top: -1.182vw;
}

.point .point_check_item.check02 {
  grid-template-columns: 54.5% 40.9%;
  padding-block: 3.182vw 3.636vw;
}

.point .bottom_child div.img {
  margin-bottom: -2.273vw;
  margin-inline: auto;
  text-align: right;
  width: min(95%, 835px);
}

.point .bottom_child div.img img {
  width: 14.818vw;
  height: auto;
}

.point .bottom_child_con .fig div.img img {
  width: 100%;
  height: auto;        
}

.point .bottom_child_con02 .fig .img img {
  width: 100%;
  height: auto;        
}

.point .point03_item .box .img.item01::after {
  background: url(../images/index/point03_img01_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 4.455vw;
  position: absolute;
  right: 2.182vw;
  width: 10.455vw;
}

.point .point03_item .box .img.item02::after {
  background: url(../images/index/point03_img02_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 5vw;
  position: absolute;
  right: 2.182vw;
  width: 8.273vw;
}

.point .point03_item .box .img.item03::after {
  background: url(../images/index/point03_img03_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 5.818vw;
  position: absolute;
  right: 2.182vw;
  width: 8.364vw;
}

.point .point03_item .box .img.item04::after {
  background: url(../images/index/point03_img04_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 8vw;
  position: absolute;
  right: 2.182vw;
  width: 5.091vw;
}

.point .point03_otoku_item p {
  width: 13.455vw;
}

.point .point04_item .box .img.item01::after {
  background: url(../images/index/point04_img01_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 6.636vw;
  position: absolute;
  right: 1.727vw;
  width: 9.091vw;
}

.point .point04_item .box .img.item02::after {
  background: url(../images/index/point04_img02_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 7.273vw;
  position: absolute;
  right: 1.818vw;
  width: 6.818vw;
}

.point .point04_item .box .img.item03::after {
  background: url(../images/index/point04_img03_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 6.636vw;
  position: absolute;
  right: 1.818vw;
  width: 8.545vw;
}

.point .point04_item .box .img.item04::after {
  background: url(../images/index/point04_img04_mini.png) no-repeat center
    center/contain;
  bottom: 0.909vw;
  content: "";
  height: 6.182vw;
  position: absolute;
  right: 1.818vw;
  width: 6.091vw;
}

.point .point04_otoku_con:before {
  background: url(../images/index/point04_bottom_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 3.364vw;
  left: 3.636vw;
  position: absolute;
  top: 1.455vw;
  width: 2.818vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1051px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1053px) {
.otoku .otoku_item {
  width: 30%;
}

.otoku .otoku_items {
  display: flex;
  flex-wrap: wrap;
  gap: 2.692vw;
  justify-content: center;
  margin-inline: auto;
  width: min(95%, 1210px);
}

.point .point03_otoku_box_inner .bottom:before {
  background: #0b0b0b;
  content: "";
  height: 0.095vw;
  left: -11.429vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 11.429vw;
}

.point .point03_otoku_box_inner .bottom::after {
  background: #0b0b0b;
  content: "";
  height: 0.095vw;
  position: absolute;
  right: -11.429vw;
  top: 50%;
  transform: translateY(-50%);
  width: 11.429vw;
}


.point .point03_otoku_box_inner .bottom {
  font-size: 2.286vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-bottom: 2.095vw;
  margin-inline: auto;
  padding-inline: 3.524vw;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.point .bottom_point05 .point05_item .con p {
  width: 45.714vw;
}
}



/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {
.onayami .onayami_item .top  img {
  width: 18.8vw;
  height: auto;
}

.onayami .onayami_item .top {
  left: 2.4vw;
  margin-bottom: -9.8vw;
  position: relative;
}

.point .point_ttl img {
  width: 85.9vw;
  height: auto;
}

.point .point_ttl {
  margin-bottom: 12vw;
  text-align: center;
}

.point .point_check_item:nth-child(1) {
  padding-block: 20px 8px;  
}

.point .point03_item .box .img img {
  width: 38vw;
  height: auto;
}

.point .point03_item .box p {
  width: 38vw;
}

.point .point04_item .box .img img {
  width: 38vw;
  height: auto;
}

.point .point04_item .box p {
  width: 38vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:900px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:900px) {
.point .bottom_child .ttl span.bottom {
  font-size: 2.667vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4583333333;
}

.point .bottom_child .ttl span.big {
  font-size: 3.778vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4411764706;
}



}


/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* mv
-------------------------------------*/
.mv {
  margin-block: -17.633vw 0;
  width: 100%;
}

.mv.mv_bottom {
  margin-block: 0;
  background: url(../images/index/mv_bottom_bg_sp.jpg) no-repeat top center/cover;
}


.mv .inner.inner_mv {
  padding-block: 27.295vw 3vw;
}

.mv .inner.inner_mv_bottom {
  padding-block: 0 0px;
}

.mv .mv_contents {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 20.155vw;
}

.mv .mv_img {
  left: -4.348vw;
  margin-bottom: -71.464vw;
  order: 3;
  position: relative;
  top: -57.971vw;
}

.mv .mv_img img {
  height: auto;
  max-width: 106.28vw;
}

.mv .mv_wrap {
  display: contents;
}

.mv .mv_wrap h1 {
  margin-bottom: 3vw;
  order: 2;
  padding-inline: 5.314vw 0;
  position: relative;
  width: min(95%, 91.7vw);
  z-index: 10;
}

.mv .mv_wrap h1 img {
  height: auto;
  width: 81.957vw;
}

.mv .mv_wrap p {
  order: 4;
  position: relative;
  text-align: center;
  z-index: 10;
}

.mv .mv_wrap p img {
  height: auto;
  width: 95.894vw;
}

.mv .mv_wrap p img {
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.16);
}

.mv .mv_items {
  display: flex;
  align-items: center;
  gap: 0 0.5vw;
  margin-bottom: 6.039vw;
  order: 1;
  padding-inline: 4.8vw 2vw;
  position: relative;
  z-index: 10;
}

.mv .mv_item {
  background: #3993ed;
  border-radius: 48.309vw;
  color: #fff;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.4285714286;
  padding-block: 1.208vw;
  padding-inline: 0.966vw;
  text-align: center;
  width: fit-content;
  padding-inline: 2.7vw;
}

.mv .mv_item:nth-child(2) {
 /* padding-inline: 1vw; */
}

.mv .mv_item span {
  color: #fff000;
}

.mv .mv_contents02 {
  background: url(../images/index/mv_con_sp.png) no-repeat top center/cover;
  border-radius: 4.831vw;
  box-shadow: 0px 20px 40px rgba(8, 42, 97, 0.35);
  margin-inline: auto;
  padding-block: 0px 10.628vw;
  width: min(95%, 89.7vw);
}

.mv.mv_bottom .mv_contents02 {
  position: relative;
  top: -12vw;
}

.mv .mv_contents02 h2 {
  color: #fff;
  display: grid;
  gap: 4.831vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 4.831vw;
  text-align: center;
}

.mv .mv_contents02 h2 span.top {
  border-bottom: 2px solid #3993ed;
  font-size: 4.589vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}

.mv .mv_contents02 h2 span.bottom {
  font-size: 7.971vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.1515151515;
}

.mv .mv_contents02 h2 span.yellow {
  color: #fff000;
}

.mv .mv_contents02 h2 span.big {
  font-size: 9.903vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.756097561;
}

.mv .mv_contents02 .link {
  margin-bottom: 3.382vw;
  text-align: center;
}

.mv .mv_contents02 .link a {
  display: block;
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.mv .mv_contents02 .link a img {
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
}

.mv .mv_contents02 p {
  color: #fff;
  font-size: 2.415vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 2;
  margin-inline: auto;
  text-align: left;
  width: 60.14vw;
}

.mv .mv_contents02_ttl {
  margin-bottom: -5.865vw;
  text-align: center;
  top: -8.662vw;
  position: relative;
}

.mv .mv_contents02_ttl img {
  width: 74.396vw;
  height: auto;
}

.mv .mv_contents02_ttl::after {
  background: url(../images/index/mv_con_icon_sp.png) no-repeat center
    center/contain;
  content: "";
  height: 24.768vw;
  position: absolute;
  right: -3vw;
  top: 26.309vw;
  width: 21.15vw;
}

/* otameshi
-------------------------------------*/
.con-bg {
  background: url(../images/index/com-bg_sp.png)no-repeat;
  background-size: cover;
  padding-block: 0 87vw;
}
.otameshi {
  background: #F8F5F0;
  position: relative;
}
.otameshi .inner {
  padding-block: 10vw 9.5vw;
}
.otameshi .inBox {
  width: 94.20vw;
  margin-inline: auto;
  background: url(../images/index/otameshi-innerBg_sp.png)no-repeat;
  background-size: cover;
  text-align: center;
  padding-block: 9vw 12.41vw;
  margin-bottom: -5vw;
  z-index: 2;
  position: relative;
}
.otameshi .inBox .subt {
  margin-bottom: 5vw;
}
.otameshi .inBox h2 {
  margin-bottom: 4vw;
  padding-right: 0.5vw;
}
.otameshi .inBox .lead {
  font-weight: bold;
  font-size:4.348vw;
  line-height: 1.5555;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 4vw;
}
.otameshi .inBox .img {margin: 0 0 -5vw;}
.otameshi .inBox .img  img {
  width: 84.3vw;
}
.otameshi .inBox .fukidashi {
  margin: 0 0 5.5vw;
}
.otameshi .inBox .fukidashi img{
  width: 72.46vw;
}
.otameshi .btn {
  width: 82.13vw;
  margin-inline: auto;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
  border-radius: 9.66vw;
}


/* whats
-------------------------------------*/
.whats {
  margin-bottom: -50.464vw;
  position: relative;
  top: -67.618vw;
}

.whats .inner.inner_whats {
  background: #fff;
  border-bottom: 6px solid #9ad5db;
  border-top: 6px solid #9ad5db;
  margin-inline: auto;
  width: min(95%, 94.2vw);
}

.whats .whats_contents {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-block: 15.459vw 3.831vw;
  margin-inline: auto;
  width: min(95%, 94.2vw);
}

.whats .whats_contents_left {
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.whats .whats_contents_left .en {
  margin-bottom: 3.382vw;
}

.whats .whats_contents_left h2 {
  font-size: 7.246vw;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4666666667;
  margin-bottom: 11.077vw;
}

.whats .whats_contents_left h2 span {
  text-decoration: underline;
  text-decoration-thickness: 4.589vw;
  -webkit-text-decoration-color: #fff000;
  text-decoration-color: #fff000;
  text-underline-offset: -1.932vw;
}

.whats .whats_contents_left .txt {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
}

.whats .whats_contents_right .top {
  margin-bottom: -25.155vw;
  text-align: center;
}

.whats .whats_contents_right .top img {
  height: auto;
  width: 60.807vw;
}

.whats .whats_contents_right .bottom {
  left: -4.932vw;
  position: relative;
  text-align: right;
}

.whats .whats_contents_right .bottom img {
  height: auto;
  width: 19.082vw;
}

/* onayami
-------------------------------------*/
.onayami {
  margin-bottom: 14.324vw;
}

.onayami .onayami_ttl {
  font-size: 6.039vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: 5.005vw;
  text-align: center;
}

.onayami .onayami_ttl span {
  color: #1e51a2;
  font-size: 7.729vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 2.15625;
}

.onayami .onayami_items {
  display: grid;
  gap: 6.246vw 0px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 94.2vw);
}

.onayami .onayami_item .top {
  left: 1.932vw;
  margin-bottom: -24.324vw;
  position: relative;
}

.onayami .onayami_item .top img {
  height: auto;
  width: 41.063vw;
}

.onayami .onayami_item .img {
  margin-bottom: 4.348vw;
}

.onayami .onayami_item h3 {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  text-align: center;
}

/* kaiketu
-------------------------------------*/
.kaiketu {
  background: url(../images/index/kaiketu_bg_sp.png) no-repeat top
    center/cover;
  margin-bottom: 12vw;
}

.kaiketu .inner.inner_kaiketu {
  padding-block: 18.116vw 24.019vw;
}

.kaiketu .kaiketu_ttl {
  color: #fff;
  display: grid;
  gap: 5.729vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  text-align: center;
}

.kaiketu .kaiketu_ttl .top {
  font-size: 4.831vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.65;
  margin-inline: auto;
  padding-inline: 4.589vw;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}

.kaiketu .kaiketu_ttl .top:before {
  background: url(../images/index/kaiketu_line.svg) no-repeat center
    center/contain;
  bottom: -2vw;
  content: "";
  height: 9.179vw;
  left: -7.696vw;
  position: absolute;
  width: 8.696vw;
}

.kaiketu .kaiketu_ttl .top::after {
  background: url(../images/index/kaiketu_line.svg) no-repeat center
    center/contain;
  bottom: -2vw;
  content: "";
  height: 9.179vw;
  position: absolute;
  right: -8.696vw;
  transform: scale(-1, 1);
  width: 8.696vw;
}

.kaiketu .kaiketu_ttl .bottom {
  font-size: 6.28vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

.kaiketu .kaiketu_ttl .yellow {
  color: #fff000;
  font-size: 11.594vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
  padding-inline: 0 1.932vw;
}

/* point
-------------------------------------*/
.point {
  margin-bottom: 44vw;
}

.point .point_ttl {
  margin-bottom: 26.536vw;
  padding-inline: 2.899vw 1.208vw;
  text-align: left;
}

.point .point_ttl img {
  height: auto;
  width: 95.894vw;
}

.point .point_items {
  margin-inline: auto;
  width: min(95%, 94.2vw);
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 35vw 0;
}

.point .point_item {
  background: #fff;
  border-bottom: 4px solid #1b4977;
  border-top: 4px solid #1b4977;
  padding-block: 0 7.662vw;
}

.point .point_item.point03 {
  padding-block: 0 15.662vw;
}

.point .point_item.point04 {
  padding-block: 0 16.662vw;
}

.point .point_item.point05 {
  padding-block: 0 12.662vw;
}

.point .point_item:nth-child(2) {
  padding-block: 0 17.662vw;
}

.point .point_item.point03 div.top {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: -13.797vw;
}

.point .point_item.point03 div.top .num {
  margin-bottom: 2vw;
  top: -20.155vw;
}

.point .point_item.point03 div.top h3 {
  margin-bottom: -9vw;
  position: relative;
  top: -20.29vw;
}

.point .point_item.point04 div.top {
  margin-bottom: 24.155vw;
}

.point .point_item.point04 div.top .icon {
  position: relative;
  text-align: center;
  top: 14.662vw;
  right: 0vw;
}

.point .point_item.point04 div.top .icon img {
  height: auto;
  width: 38.889vw;
}

.point .point_item.point04 div.bottom {
  padding-block: 9.662vw 0;
}

.point .point_item.point05 div.top {
  margin-bottom: 25.155vw;
}

.point .point_item.point05 div.top h3 {
  font-size: 5.314vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.point .point_item.point05 div.top .icon {
  position: relative;
  text-align: center;
  top: 12.662vw;
}

.point .point_item.point05 div.top .icon img {
  height: auto;
  width: 38.889vw;
}

.point .point_item.point05 div.bottom {
  padding-block: 9.662vw 0;
}

.point .point_item div.top {
  background: #3993ed;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  height: 39.6vw;
}

.point .point_item div.top .num {
  margin-bottom: -19.324vw;
  position: relative;
  top: -19.324vw;
}

.point .point_item.point04 div.top .num {
  margin-bottom: -18vw;
}

.point .point_item div.top .num img {
  height: auto;
  width: 35.266vw;
}

.point .point_item div.top h3 {
  color: #fff;
  font-size: 6.28vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4230769231;
  margin-bottom: -7.662vw;
  text-align: center;
}

.point .point_item.point03 div.top h3 {
  margin-bottom: -10vw;
}

.point .point_item.point04 div.top h3 {
  margin-bottom: -10vw;
}

.point .point_item div.top h3 span {
  color: #fff000;
}

.point .point_item div.top .icon {
  position: relative;
  right: 0.865vw;
  text-align: right;
  top: -3.068vw;
  margin-bottom: -2vw;
}

.point .point_item div.top .icon img {
  height: auto;
  width: 17.391vw;
}

.point .point_item.point02 div.top .icon {
  position: relative;
  right: 2.865vw;
  text-align: right;
  top: -3.068vw;
  margin-bottom: -5vw;
}

.point .point_item.point02 div.top .icon img {
  width: 22vw;
}

.point .point_item div.bottom {
  background: #fff;
  padding-block: 9.662vw;
}

.point .point_check_items {
  display: grid;
  gap: 7.246vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.point .point_check_item {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  padding-block: 7.246vw 6.662vw;
  padding-inline: 3.623vw;
  width: min(95%, 89.3vw);
}

.point .point_check_item.check02 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-block: 7.246vw 6.662vw;
}

.point .point_check_item.check02 .right {
  margin-block: 0 2vw;
  position: static;
}

.point .point_check_item .left {
  display: contents;
}

.point .point_check_item .left .num {
  left: -7.797vw;
  margin-bottom: 3.865vw;
  order: 1;
  position: relative;
}

.point .point_check_item .left .num img {
}

.point .point_check_item .left h3 {
  font-size: 6.28vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4230769231;
  margin-bottom: 5.831vw;
  order: 2;
}

.point .point_check_item .left p {
  font-size: 3.623vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.2666666667;
  order: 4;
  padding-inline: 2vw 0px;
}

.point .point_check_item .right {
  margin-block: 0 4.831vw;
  order: 3;
  text-align: center;
}

.point .point_check_item .right img {
  height: auto;
  width: 82.126vw;
}

.point .bottom_point02 {
  background: #fff;
  padding-block: 18.841vw 0;
}

.point .bottom_child {
  background: #e2f0f9;
  margin-bottom: 16.908vw;
  margin-inline: auto;
  padding-block: 0 12.077vw;
  width: min(95%, 89.3vw);
}

.point .bottom_child.bottom02 {
  margin-bottom: 0;
}

.point .bottom_child.bottom02 .ttl {
  margin-bottom: -5vw;
  gap: 7vw 0;
}

.point .bottom_child.bottom02 .ttl span.bottom {
  font-size: 4.831vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.2;
}

.point .bottom_child.bottom02 .ttl span.line {
  font-size: 7.246vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4666666667;
  text-decoration: underline;
  text-decoration-thickness: 4.348vw;
  -webkit-text-decoration-color: #fff000;
  text-decoration-color: #fff000;
  text-underline-offset: -2.174vw;
}

.point .bottom_child.bottom02 .txt {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.1428571429;
  margin-bottom: 6.246vw;
  margin-inline: auto;
  text-align: left;
  width: min(95%, 82.1vw);
}

.point .bottom_child {
  background: #e2f0f9;
  margin-bottom: 18.986vw;
  margin-inline: auto;
  padding-block: 0 7.662vw;
  width: min(95%, 89.3vw);
}

.point .bottom_child .ttl {
  display: grid;
  gap: 12.077vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 0;
  position: relative;
  text-align: center;
  top: -8.696vw;
}

.point .bottom_child .ttl span.bottom {
  font-size: 4.106vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4705882353;
}

.point .bottom_child .ttl span.big {
  font-size: 6.039vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.44;
}

.point .bottom_child .ttl span.line {
  text-decoration: underline;
  text-decoration-thickness: 4.348vw;
  -webkit-text-decoration-color: #fff000;
  color: #3993ed;
  font-size: 5.797vw;
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 2.0833333333;
  text-decoration-color: #fff000;
  text-underline-offset: -2.174vw;
}

.point .bottom_child div.img {
  margin-bottom: -14.251vw;
  margin-inline: auto;
  text-align: right;
  width: min(95%, 82.1vw);
}

.point .bottom_child div.img img {
  height: auto;
  width: 25.604vw;
}

.point .bottom_child_con {
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.point .bottom_child_con p.top {
  background: #1b4977;
  color: #fff;
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.5;
  padding-block: 4.106vw;
  text-align: center;
}

.point .bottom_child_con .fig {
  background: #fff;
  margin-bottom: 4.831vw;
  padding-block: 7.246vw;
}

.point .bottom_child_con .fig p {
  font-size: 4.589vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.3157894737;
  text-align: center;
  margin-bottom: 7vw;
}

.point .bottom_child_con .fig p span.red {
  color: #ea5c36;
  font-size: 14.493vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.3;
  padding-inline: 2.899vw 0.966vw;
}

.point .bottom_child_con .fig p span.red_small {
  color: #ea5c36;
  font-size: 5.314vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.3;
  padding-inline: 0 2.415vw;
}

.point .bottom_child_con .fig p span.small {
  font-size: 5.6vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.3333333333;
}

.point .bottom_child_con .fig div.img {
  margin-bottom: 0;
  text-align: left;
}

.point .bottom_child_con .fig div.img img {
  height: auto;
  width: 76.812vw;
}

.point .point02_txt {
  font-size: 2.899vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 2.1666666667;
  margin-inline: auto;
  padding-bottom: 7.662vw;
  text-align: left;
  width: min(95%, 82.1vw);
}

.point .point02_ttl {
  background: #3eaecc;
  border-left: 10px solid #1b4977;
  color: #fff;
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 3.2;
  margin-bottom: 4.831vw;
  margin-inline: auto;
  padding-inline: 1.932vw 0;
  width: min(95%, 82.1vw);
}

.point .point02_txt02 {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2.1428571429;
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.point .bottom_child_con02 {
  background: #fff;
  margin-bottom: 7.246vw;
  margin-inline: auto;
  padding-block: 6.4vw;
  width: min(95%, 82.1vw);
}

.point .bottom_child_con02 p.top {
  margin-bottom: 2.899vw;
  text-align: center;
}

.point .bottom_child_con02 p.bottom {
  font-size: 4.589vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7368421053;
  margin-bottom: 4.831vw;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: min(95%, 77.7777777778vw);
}

.point .bottom_child_con02 p.bottom:before {
  background: #0b0b0b;
  content: "";
  height: 0.242vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 14.734vw;
}

.point .bottom_child_con02 p.bottom::after {
  background: #0b0b0b;
  content: "";
  height: 0.242vw;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14.734vw;
}

.point .bottom_child_con02 .fig .img {
  margin-bottom: 0;
  text-align: left;
}

.point .bottom_child_con02 .fig .img img {
  height: auto;
  width: 77.778vw;
}

.point .bottom_child_con03 {
  display: grid;
  gap: 3.623vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.point .bottom_child_con03_right {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
}

.point .point03_icon {
  margin-bottom: 20vw;
  position: relative;
  text-align: center;
  width: 100%;
  top: 9vw;
  left: 4vw;
}

.point .bottom_point03 {
  margin-bottom: 0px;
}

.point .bottom_point03 div.bottom {
  margin-bottom: 0px;
  padding-block: 0;
}

.point .bottom_point03 div.bottom .ttl {
  margin-bottom: 3.623vw;
  text-align: center;
}

.point .bottom_point03 div.bottom .bottom_txt {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
  margin-inline: auto;
  text-align: left;
  width: 81.643vw;
  margin-bottom: 11vw;
}

.point .point03_items {
  display: block;
  margin-bottom: 24.324vw;
  margin-inline: auto;
  width: min(95%, 89.3vw);
}

.point .point03_item {
  display: grid !important;
}

.point .point03_item .pin {
  margin-bottom: -6.556vw;
  position: relative;
  text-align: center;
  z-index: 5;
}

.point .point03_item .pin img {
  height: auto;
  width: 11.111vw;
}

.point .point03_item .box {
  background: #f6f6f6;
  padding-block: 9.662vw;
  padding-bottom: 15vw;
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  grid-template-rows: auto auto auto 1fr;
  position:relative;
}

.point .point03_item .box h4 {
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 2vw;
}

.point .point03_item .box .line {
  margin-inline: auto;
  text-align: center;
}

.point .point03_item .box .line img {
  height: auto;
  vertical-align: top;
  width: 59.42vw;
}

.point .point03_item .box .img {
  margin-bottom: 4.831vw;
  margin-inline: auto;
  position: relative;
  text-align: center;
}

.point .point03_item .box .img img {
  height: auto;
  width: 72.464vw;
}

.point .point03_item .box .img.item01::after {
  background: url(../images/index/point03_img01_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 9.42vw;
  position: absolute;
  right: -1.454vw;
  width: 21.981vw;
}

.point .point03_item .box .img.item02::after {
  background: url(../images/index/point03_img02_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 10.628vw;
  position: absolute;
  right: -1.454vw;
  width: 17.391vw;
}

.point .point03_item .box .img.item03::after {
  background: url(../images/index/point03_img03_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 12.319vw;
  position: absolute;
  right: -1.454vw;
  width: 17.633vw;
}

.point .point03_item .box .img.item04::after {
  background: url(../images/index/point03_img04_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 16.425vw;
  position: absolute;
  right: -1.454vw;
  width: 10.386vw;
}

.point .point03_item .box p.txt {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-inline: auto;
  width: 72.464vw;
}

.point .point03_item .box p.txt-time {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  text-align: right;
  position: absolute;
  bottom: 4vw;
  right: 9vw;
}



.point .slick-slide img {
  display: inline-block;
}

.point .slick-track {
  display: flex;
}

.point .slick-slide {
  height: auto !important;
}

.point .slide-arrow {
  position: absolute;
  top: 46vw; 
}

.point .slide-arrow.prev-arrow {
  left: -2.5vw;
  z-index: 10;
}

.point .slide-arrow.next-arrow {
  right: -2.5vw;
  z-index: 10;
}

.point .point03_otoku_box {
  background: #e2f0f9;
  margin-inline: auto;
  padding-block: 9.662vw;
  width: min(95%, 89.3vw);
}

.point .point03_otoku_box_inner {
  background: #fff;
  margin-inline: auto;
  padding-block: 6.246vw 9.662vw;
  width: min(95%, 82.1vw);
}

.point .point03_otoku_box_inner .top {
  margin-bottom: 2.899vw;
  text-align: center;
}

.point .point03_otoku_box_inner .bottom {
  font-size: 4.589vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7368421053;
  margin-bottom: 5.594vw;
  margin-inline: auto;
  padding-inline: 2.657vw;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.point .point03_otoku_box_inner .bottom:before {
  background: #0b0b0b;
  content: "";
  height: 0.242vw;
  left: -7.005vw;
  position: absolute;
  top: 78%;
  transform: 0;
  width: 7.005vw;
}

.point .point03_otoku_box_inner .bottom::after {
  background: #0b0b0b;
  content: "";
  height: 0.242vw;
  position: absolute;
  right: -7.005vw;
  top: 78%;
  transform: 0;
  width: 7.005vw;
}

.point .point03_otoku_box_inner .second-subttl{text-align:center;line-height:1.6;letter-spacing:0.25vw;font-size:3.6vw;margin:0 0 7.25vw 0;}
.point .point03_otoku_box_inner span.colorred{text-align:center;color:#ea5c36;}


.point .point03_otoku_box_inner p.txt {
  color: #808080;
  font-size: 3.14vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.8461538462;
  margin-inline: auto;
  width: min(95%, 74.8792270531vw);
}

.point .point03_otoku_items {
  display: grid;
  gap: 3.623vw 2.415vw;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 6.971vw;
  padding-inline: 1vw;
}

.point .point03_otoku_item {
  background: #f6f6f6;
  height: 44vw;
  position:relative;
}



.point .point03_otoku_item.i-coop::before{
content: '';
display: inline-block;
width: 7vw;
height: 4vw;
position: absolute;
top: 0.8vw;
left: 7vw;
background-image: url(../images/index/icon-coop.png);
background-size: contain;
background-repeat: no-repeat;
}

.point .point03_otoku_item.i-reitou::before{
content: '';
display: inline-block;
width:8vw;
height: 4vw;
position: absolute;
top: 0.8vw;
left: 7vw;
background-image: url(../images/index/icon-reitou.svg);
background-size: contain;
background-repeat: no-repeat;
}

.point .point03_otoku_item.i-santyoku::before{
content: '';
display: inline-block;
width:8vw;
height: 4vw;
position: absolute;
top: 0.8vw;
left: 7vw;
background-image: url(../images/index/icon-santyoku.svg);
background-size: contain;
background-repeat: no-repeat;
}

.point .point03_otoku_item.i-reitou2::after{
content: '';
display: inline-block;
width: 8vw;
height: 4vw;
position: absolute;
top: 0.8vw;
left: 15vw;
background-image: url(../images/index/icon-reitou.svg);
background-size: contain;
background-repeat: no-repeat;
}



.point .point03_otoku_item .num {
  background: #3993ed;
  color: #fff;
  font-size: 2.657vw;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 2;
  margin-bottom: -1.899vw;
  padding-inline: 1.932vw;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.point .point03_otoku_item .img {
  margin-bottom: 1.174vw;
  text-align: center;
}

.point .point03_otoku_item .img img {
  height: auto;
  width: 34.816vw;
}

.point .point03_otoku_item p {
  font-size: 2.899vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.6666666667;
  margin-inline: auto;
  width: 34.816vw;
}

.point .point03_otoku_item p span {
  display: block;
  font-size: 2.415vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 2.2;
}

.point .point03_otoku_item p.shigalogo{background-image:url(../images/index/shigamark.png);background-position:0 0.24vw;background-repeat:no-repeat;background-size:3.86vw;padding:0 0 0 4.83vw;}



.point .bottom_point04 .ttl {
  margin-bottom: 6.522vw;
  text-align: center;
}

.point .bottom_point04 .bottom_txt {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
  margin-bottom: 10.077vw;
  margin-inline: auto;
  text-align: left;
  width: min(95%, 81.6425120773vw);
}

.point .point04_items {
  display: grid;
  margin-inline: auto;
  width: 100%;
  margin-bottom: 12vw;
  padding-inline: 6.03vw;
}

.point .point04_item {
  display: grid !important;
  grid-row: span 2;
  grid-template-rows: subgrid;
  grid-template-rows: auto 1fr;
  width: min(95%,82.1vw);
  margin-inline: auto;
}

.point .point04_item .pin {
  text-align: center;
}

.point .point04_item .box {
  background: #f6f6f6;
  border: 2px solid #0098bc;
  display: grid;
  grid-row: span 3;
  grid-template-rows: auto auto 1fr;
  padding-block: 7.2vw 6vw;
}

.point .point04_item .box h4 {
  font-size: 5.314vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
  margin-bottom: 3.831vw;
  text-align: center;
}

.point .point04_item .box .img {
  margin-bottom: 4.831vw;
  position: relative;
  text-align: center;
}

.point .point04_item .box .img.item01::after {
  background: url(../images/index/point04_img01_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 12.56vw;
  position: absolute;
  right: 1.454vw;
  width: 17.633vw;
}

.point .point04_item .box .img.item02::after {
  background: url(../images/index/point04_img02_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 14.01vw;
  position: absolute;
  right: 1.454vw;
  width: 13.285vw;
}

.point .point04_item .box .img.item03::after {
  background: url(../images/index/point04_img03_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 12.802vw;
  position: absolute;
  right: 1.454vw;
  width: 16.667vw;
}

.point .point04_item .box .img.item04::after {
  background: url(../images/index/point04_img04_mini_sp.png) no-repeat center
    center/contain;
  bottom: 2.415vw;
  content: "";
  height: 12.077vw;
  position: absolute;
  right: 1.454vw;
  width: 11.836vw;
}

.point .point04_item .box .img img {
  height: auto;
  width: 72.464vw;
}

.point .point04_item .box p {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-inline: auto;
  width: 72.464vw;
}

.point .point04_set_box_inner p {
  text-align: center;
}

.point .point04_set_box_inner p.top {
  margin-bottom: 5.246vw;
  /* text-align: left; */
}

.point .point04_set_box_inner p.bottom {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
  margin-bottom: 6.246vw;
  margin-inline: auto;
  width: min(95%, 82.1vw);
  text-align: left;
}

.point .point04_otoku_items {
  display: grid;
  gap: 2.415vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 7.246vw;
  margin-inline: auto;
  width: min(95%, 89.3vw);
}

.point .point04_otoku_con {
  background: #edece8;
  margin-inline: auto;
  padding-block: 14.459vw 7.246vw;
  padding-inline: 4.106vw;
  position: relative;
  width: 76.57vw;
}

.point .point04_otoku_con:before {
  background: url(../images/index/point04_bottom_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 8.937vw;
  left: 50%;
  position: absolute;
  top: 3.865vw;
  transform: translateX(-50%);
  width: 7.488vw;
}

.point .point04_otoku_con p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.7142857143;
  text-align: left;
}

.point .slide-arrow.point04 {
  position: absolute;
  top: 54vw;
}

.point .slide-arrow.prev-arrow.point04 {
  left: -0.5vw;
  z-index: 10;
}

.point .slide-arrow.next-arrow.point04 {
  right: -0.5vw;
  z-index: 10;
}

.point .bottom_point05 .bottom .ttl {
  margin-bottom: 10.145vw;
  text-align: center;
}

.point .bottom_point05 .bottom .bottom_txt {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
  margin-bottom: 17.324vw;
  margin-inline: auto;
  text-align: left;
  width: 81.643vw;
}

.point .bottom_point05 .point05_items {
  display: grid;
  gap: 4.662vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(100%, 94.2vw);
}

.point .bottom_point05 .point05_item {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.point .bottom_point05 .point05_item:nth-child(2) {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.point .bottom_point05 .point05_item:nth-child(2) .con {
  left: 0;
  position: relative;
}

.point .bottom_point05 .point05_item .con {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  height: -moz-fit-content;
  height: fit-content;
  margin-inline: auto;
  order: 2;
  padding-block: 9.6vw 8vw;
  position: relative;
  top: -4.662vw;
  width: min(95%, 89.3vw);
  z-index: 10;
}

.point .bottom_point05 .point05_item .con h5 {
  font-size: 5.314vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4545454545;
  margin-bottom: 2.415vw;
  text-align: center;
}

.point .bottom_point05 .point05_item .con .line {
  margin-bottom: -0.754vw;
  text-align: center;
}

.point .bottom_point05 .point05_item:nth-child(1) .con .line img {
  height: auto;
  vertical-align: top;
  width: 55.556vw;
}

.point .bottom_point05 .point05_item .con .line img {
  height: auto;
  vertical-align: top;
  width: 74.556vw;
}

.point .bottom_point05 .point05_item .con p {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.4285714286;
  margin-inline: auto;
  width: 78.502vw;
}

.point .bottom_point05 .point05_item .img {
  order: 1;
  position: static;
  text-align: center;
}

/* voice
-------------------------------------*/
.voice {
  background: url(../images/index/voice_bg_sp.jpg) no-repeat top center/cover;
  margin-inline: auto;
  width: 100%;
}

.voice .inner.inner_voice {
  padding-block: 18.773vw 0vw;
}

.voice .voice_en {
  margin-bottom: 3.415vw;
  text-align: center;
}

.voice .voice_en img {
  height: auto;
  width: 36.715vw;
}

.voice .voice_ttl {
  font-size: 6.522vw;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.7777777778;
  margin-bottom: -11.662vw;
  position: relative;
  text-align: center;
}

.voice .voice_line {
  margin-bottom: 11.836vw;
  text-align: center;
}

.voice .voice_line img {
  height: auto;
  width: 94.203vw;
}

.voice .voice_items {
  overflow: hidden;
  padding-block: 0 5.797vw;
  width: 100%;
}

.voice .voice_item {
  display: grid !important;
  grid-row: span 2;
  grid-template-rows: auto 1fr;
  margin-inline: 0;
  padding-inline: 5.314vw;
}

.voice .voice_item .pin {
  margin-bottom: -3.865vw;
  position: relative;
  text-align: center;
  z-index: 10;
}

.voice .voice_item .box {
  background: #fff;
  border-radius: 2.415vw;
  box-shadow: 0px 10px 30px rgba(11, 11, 11, 0.11);
  margin-bottom: 5.797vw;
  padding-block: 9.662vw;
}

.voice .voice_item .box .top {
  align-items: center;
  border-bottom: 1px dashed #a1a1a1;
  display: grid;
  gap: 0 1.932vw;
  grid-template-columns: 31.4% minmax(0, 1fr);
  margin-bottom: 5.797vw;
  margin-inline: auto;
  padding-bottom: 4.831vw;
  width: min(95%, 77.2vw);
}

.voice .voice_item .box .top h3 {
  font-size: 5.314vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6363636364;
}

.voice .voice_item .box p {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-inline: auto;
  width: min(95%, 77.2vw);
}

.voice .slick-slide img {
  display: inline-block;
}

.voice .slide-arrow {
  position: absolute;
  top: 50vw;
}

.voice .slide-arrow.prev-arrow {
  left: 4vw;
  z-index: 10;
}

.voice .slide-arrow.next-arrow {
  right: 4vw;
  z-index: 10;
}

.voice .slick-list {
  overflow: visible;
}

.voice .slick-track {
  display: flex;
}

.voice .slick-slide {
  height: auto !important;
}

/* lineup
-------------------------------------*/
.lineup {
  background: #f8f5f0; /* 背景色を指定 */
  background-image: none;
}

.lineup .inner.inner_lineup {
  padding-block: 5.314vw 33.986vw;
}

.lineup .lineup_ttl {
  margin-bottom: 0;
  margin-inline: auto;
  width: min(95%, 94.2vw);
}

.lineup .lineup_ttl .txt {
  margin-bottom: -6.797vw;
  position: relative;
  right: -0.338vw;
  z-index: 10;
}

.lineup .lineup_ttl .txt img {
  height: auto;
  width: 49.377vw;
}

.lineup .lineup_ttl .ttl {
  background: #3eaecc;
  padding-block: 6.246vw 4.106vw;
  padding-inline: 6.28vw 0;
  position: relative;
}

.lineup .lineup_ttl .ttl::after {
  background: url(../images/index/lineup_icon.svg) no-repeat center
    center/contain;
  bottom: 0;
  content: "";
  height: 20.773vw;
  position: absolute;
  right: 3vw;
  width: 24.396vw;
}

.lineup .lineup_ttl .ttl h2 {
  color: #fff;
  font-size: 3.623vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: left;
}

.lineup .lineup_ttl .ttl h2 span {
  color: #fff000;
  font-size: 6.763vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
}

.lineup .lineup_box {
  background: #fff;
  border: 5px solid #e3e3e3;
  border-top: none;
  padding-block: 7.662vw 11.077vw;
  width: min(95%, 94.2vw);
  margin-inline: auto;
}

.lineup .lineup_box_txt {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.4285714286;
  margin-bottom: 10.213vw;
  margin-inline: auto;
  text-align: left;
  width: min(95%, 82.1vw);
}

.lineup .lineup_items {
  display: grid;
  gap: 13.768vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.lineup .lineup_item_top {
  position: relative;
}

.lineup .lineup_item_top::after {
  background: url(../images/index/lineup_top_maru_sp.svg) no-repeat center
    center/contain;
  content: "";
  height: 15.217vw;
  left: 50%;
  position: absolute;
  top: -3.865vw;
  transform: translateX(-50%);
  width: 31.643vw;
  z-index: 1;
}

.lineup .lineup_item_en {
  margin-bottom: -3.865vw;
  position: relative;
  text-align: center;
  z-index: 11;
}

.lineup .lineup_item_en img {
  height: auto;
  width: 14.251vw;
}

.lineup .lineup_item_ttl {
  background: #edece8;
  border-left: 1px solid #e7ecf0;
  border-right: 1px solid #e7ecf0;
  font-size: 4.831vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  padding-block: 7.831vw 3.348vw;
  position: relative;
  text-align: center;
  z-index: 10;
}

.lineup .lineup_item_ttl span {
  color: #3993ed;
  font-size: 4.831vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.lineup .lineup_item_bottom {
  background: #f6f6f6;
  border: 1px solid #e7ecf0;
  border-top: none;
  padding-block: 5.6vw 7vw;
}

.lineup .lineup_item_bottom_inner {
  background: #fff;
  margin-inline: auto;
  padding-block: 7.2vw 12vw;
  width: min(95%, 78.7vw);
}

.lineup .lineup_slider_items {
  margin-inline: auto;
  width: min(95%, 77.2vw);
}

.lineup .lineup_slider_item {
  margin-inline: 0;
}

.lineup .slide-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.lineup .slide-arrow.prev-arrow {
  height: 9.662vw;
  left: -10.5vw;
  width: 9.662vw;
  z-index: 10;
}

.lineup .slide-arrow.next-arrow {
  height: 9.662vw;
  right: -10.5vw;
  width: 9.662vw;
  z-index: 10;
}

.lineup .dots-box {
  margin-block: -2vw 0;
}

.lineup .dots-wrap {
  display: flex;
  justify-content: center;
}

.lineup .dots-wrap li {
  background: #edece8;
  border-radius: 50%;
  cursor: pointer;
  height: 1.932vw;
  margin: 0 2.415vw;
  width: 1.932vw;
}

.lineup .dots-wrap li:hover,
.lineup .dots-wrap li.slick-active {
  background: #707070;
}

.lineup .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  outline: none;
  padding: 0;
}

.lineup .lineup02_item_bottom {
  background: #f6f6f6;
  padding-block: 7.662vw;
}

.lineup .lineup02_bottom_txt {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.4285714286;
  margin-bottom: 0vw;
  text-align: center;
}

.lineup .lineup02_bottom_img {
  text-align: center;
}

.lineup .lineup02_bottom_img img {
  height: auto;
  width: 76.329vw;
}

.lineup .lineup03_item_bottom {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  border-top: none;
  padding-block: 6.6vw 9vw;
}

.lineup .lineup03_bottom_txt {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.4285714286;
  margin-bottom: 13.734vw;
  text-align: center;
}

.lineup .lineup03_bottom_con {
  background: #fff;
  border: 4px solid #edece8;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 4.831vw;
  margin-inline: auto;
  padding-block: 16.908vw 7.662vw;
  padding-inline: 3vw;
  position: relative;
  width: 76.329vw;
}

.lineup .lineup03_bottom_con:before {
  background: url(../images/index/lineup03_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 21.256vw;
  left: 50%;
  position: absolute;
  top: -9.662vw;
  transform: translateX(-50%);
  width: 36.232vw;
}

.lineup .lineup03_bottom_con .img {
  margin-bottom: 4.831vw;
  order: 2;
  text-align: center;
}

.lineup .lineup03_bottom_con .img img {
  height: auto;
  width: 45.894vw;
}

.lineup .lineup03_bottom_con .right {
  display: contents;
}

.lineup .lineup03_bottom_con .right h4 {
  font-size: 4.831vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-bottom: 3.797vw;
  order: 1;
}

.lineup .lineup03_bottom_con .right h4 span {
  border-bottom: 2px solid #3993ed;
  display: block;
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 1.449vw;
  width: -moz-fit-content;
  width: fit-content;
}

.lineup .lineup03_bottom_con .right p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  order: 3;
}

.lineup .lineup03_bottom_txt02 {
  background: #edece8;
  margin-inline: auto;
  padding-block: 15.459vw 7.246vw;
  width: 76.57vw;
}

.lineup .lineup03_bottom_txt02 p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.7142857143;
  padding-inline: 4.106vw;
  position: relative;
}

.lineup .lineup03_bottom_txt02 p:before {
  background: url(../images/index/lineup_icon02.svg) no-repeat center
    center/contain;
  content: "";
  height: 8.696vw;
  left: 50%;
  position: absolute;
  top: -10.662vw;
  transform: translateX(-50%);
  width: 7.488vw;
}

/* otoku
-------------------------------------*/
.otoku {
  background: url(../images/index/otoku_bg_sp.jpg) no-repeat top center/cover;
  /* margin-bottom: 24.155vw; */
  margin-inline: auto;
  width: 100%;
}

.otoku .inner.inner_otoku {
  padding-block: 20.773vw 15.942vw;
}

.otoku .otoku_ttl {
  margin-bottom: -38.647vw;
  position: relative;
  text-align: center;
  top: -38.647vw;
  width: min(95%,89.3vw);
  margin-inline: auto;
}

.otoku .otoku_items {
  display: grid;
  gap: 3.831vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 91.7vw);
}

.otoku .otoku_item {
  display: grid;
  grid-row: span 2;
  grid-template-rows: auto 1fr;
  width: 100%;
}

.otoku .otoku_item .num {
  background: #3993ed;
  border-radius: 3.623vw 3.623vw 0px 0px;
  color: #fff;
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  padding-block: 0 1.5vw;  
}

.otoku .otoku_item .num span {
  font-size: 6.763vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8928571429;
  padding-inline: 0.966vw 0;
  position: relative;
  top: 0.3vw;
}

.otoku .otoku_item .bottom.otoku01:before {
  background: url(../images/index/tokuten01_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 24.396vw;
  right: 3vw;
  position: absolute;
  top: 2vw;
  width: 24.396vw;
}

.otoku .otoku_item .bottom.otoku02:before {
  background: url(../images/index/tokuten01_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 24.396vw;
  right: 3vw;
  position: absolute;
  top: 2vw;
  width: 24.396vw;
}

.otoku .otoku_item .bottom.otoku04:before {
  background: url(../images/index/tokuten04_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 24.396vw;
  left: 2vw;
  position: absolute;
  top: 2vw;
  width: 24.396vw;
}

.otoku .otoku_item .bottom.otoku05:before {
  background: url(../images/index/tokuten05_icon.svg) no-repeat center
    center/contain;
  content: "";
  height: 24.396vw;
  left: 3vw;
  position: absolute;
  top: 3vw;
  width: 24.396vw;
}

.otoku .otoku_item .bottom {
  background: #fff;
  border-radius: 0px 0px 3.623vw 3.623vw;
  padding-block: 7.246vw 7.246vw;
  position: relative;
}

.otoku .otoku_item .bottom .img {
  margin-bottom: 2.831vw;
  text-align: center;
}

.otoku .otoku_item .bottom .img img {
  height: auto;
  width: 77.295vw;
}

.otoku .otoku_item .bottom p {
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  text-align: center;
}

.otoku .otoku_item .bottom p span {
  color: #ea5c36;
  font-size: 5.314vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5454545455;
  position: relative;
  z-index: 1;
}

.otoku .otoku_item .bottom p span::after {
  background: #fff000;
  bottom: 0;
  content: "";
  height: 3.14vw;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.otoku .otoku_item .bottom p span.small {
  color: #0b0b0b;
  display: inline-block;
  font-size: 2.899vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-inline: auto;
  position: static;
  width: 77.295vw;
  margin-block: 1vw 0;
}

.otoku .otoku_item .bottom p span.small::after {
  content: none;
}

.otoku .otoku_item .bottom p.ttl-sub{font-size:2.9vw;line-height:1.4;
position: absolute; bottom:3vw; right:3vw;}

.otoku .tokuten-subtxt{
text-align: center;margin:6vw 0 0 0;
font-size: 3.2vw; line-height: 1.6; letter-spacing: 0px;
}


/* way
-------------------------------------*/
.way {
  background: #e2f0f9;
}

.way .inner.inner_way {
  padding-block: 14.493vw 21.739vw;
}

.way .way_ttl {
  margin-bottom: 14.7vw;
  text-align: center;
}

.way .way_ttl img {
  height: auto;
  width: 82.126vw;
}

.way .way_items {
  display: grid;
  gap: 26.57vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 94.2vw);
}

.way .way_item {
  background: #fff;
  border-radius: 4.831vw;
  box-shadow: 0px 10px 30px rgba(11, 11, 11, 0.11);
  padding-block: 14.976vw 9.662vw;
}

.way .way_item:nth-child(1) .way_item_inner {
  margin-bottom: 6.522vw;
}

.way .way_item:nth-child(1),
.way .way_item:nth-child(2) {
  position: relative;
}

.way .way_item:nth-child(1)::after,
.way .way_item:nth-child(2)::after {
  background: url(../images/index/step_arrow.svg) no-repeat center
    center/contain;
  bottom: -13.077vw;
  content: "";
  height: 6.039vw;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 14.493vw;
}

.way .way_item_inner {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.way .way_item_inner .con {
  display: contents;
}

.way .way_item_inner .con .num {
  left: -3.797vw;
  margin-bottom: -15.459vw;
  order: 1;
  position: relative;
  top: -20.324vw;
}

.way .way_item_inner .con h3 {
  font-size: 7.246vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4666666667;
  margin-bottom: 2.415vw;
  order: 2;
}

.way .way_item_inner .con p {
  order: 4;
}

.way .way_item_inner .con p.top {
  color: #3993ed;
  font-size: 4.831vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.45;
  margin-bottom: 2.415vw;
}

.way .way_item_inner .con p.bottom {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-bottom: 2.831vw;
}

.way .way_item_inner .con p.small {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}

.way .way_item_inner .img {
  margin-bottom: 4.415vw;
  order: 3;
}

.way .way_link {
  text-align: center;
  order: 5;
  margin: 3vw 0 -5vw 0;
}

.way .way_link a {
  display: block;
  width: min(95%,82.1vw);
  margin-inline: auto;
}

.way .way_link img {
  border-radius: 48.309vw;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
}

/* order
-------------------------------------*/
.order .inner.inner_order {
  padding-block: 19.942vw 14.493vw;
}

.order .order_ttl {
  margin-bottom: 13.077vw;
  text-align: center;
}

.order .order_ttl.order02 {
  margin-bottom: 9vw;
}

.order .order_ttl img {
  height: auto;
  width: 81.643vw;
}

.order .order_ttl.order02 img {
  height: auto;
  width: 53.14vw;
}

.order .order_txt {
  background: #1b4977;
  border-radius: 9.662vw;
  color: #fff;
  font-size: 5.314vw;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.4545454545;
  margin-bottom: -10.87vw;
  margin-inline: auto;
  padding-block: 3vw;
  position: relative;
  text-align: center;
  width: min(95%, 94.2vw);
}

.order .order_txt.order02 {
  margin-bottom: 7.246vw;
}

.order .order_txt span {
  color: #fff000;
}

.order .order_box {
  background: #fff;
  margin-inline: auto;
  padding-block: 22.638vw 9.662vw;
  width: min(95%, 94.2vw);
}

.order .order_box.top {
  margin-bottom: 22vw;
}

.order .order_box .img {
  margin-bottom: 14.077vw;
  text-align: center;
}

.order .order_box p {
  text-align: center;
  width: 73.913vw;
  margin-inline: auto;
}

.order .order02_txt02 {
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  margin-bottom: 12.077vw;
  text-align: center;
}

.order .order_items {
  display: grid;
  gap: 5vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.order .order_item {
  background: #f6f6f6;
  border: 2px solid #e7ecf0;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  padding-block: 9.662vw;
  padding-inline: 0px 0;
  width: min(100%, 82.1vw);
}

.order .order_item .img {
  margin-bottom: 7.246vw;
  order: 2;
  text-align: center;
}

.order .order_item .img img {
  height: auto;
  width: 57.971vw;
}

.order .order_item .con {
  display: contents;
}

.order .order_item .con h3 {
  font-size: 4.348vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8888888889;
  margin-bottom: 2.831vw;
  order: 1;
  text-align: center;
}

.order .order_item .con p {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  margin-inline: auto;
  order: 3;
  width: 73.188vw;
  text-align: left;
}

.order .order_item .con p span {
  font-weight: 700;
}

/* faq
-------------------------------------*/
.faq {
  background: url(../images/index/faq_bg_sp.jpg) no-repeat top center/cover;
  margin-inline: auto;
  width: 100%;
}

.faq .inner.inner_faq {
  padding-block: 14.493vw;
}

.faq .faq_en {
  text-align: center;
  margin-bottom: -2vw;
}

.faq .faq_en img {
  height: auto;
  width: 9.179vw;
}

.faq .faq_ttl {
  font-size: 7.246vw;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 2.2333333333;
  margin-bottom: 4.246vw;
  text-align: center;
}

.faq .faq_box {
  margin-inline: auto;
  width: min(95%, 82.1vw);
}

.faq .faq_box {
  display: grid;
  gap: 4.831vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.faq summary {
  display: block;
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq .faq_qu {
  background: #1b4977;
  display: block;
  padding-block: 2.415vw;
  position: relative;
  width: 100%;
}

.faq .faq_qu::after {
  background: url(../images/index/faq_arrow.svg) no-repeat center
    center/contain;
  content: "";
  height: 2.899vw;
  position: absolute;
  right: 3.14vw;
  top: 3.865vw;
  transition: rotate 0.5s ease;
  width: 3.382vw;
}

.faq .faq_an {
  background: #fff;
}

.faq .faq_qu_txt {
  color: #fff;
  display: block;
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  margin-inline: auto;
  width: 61.425vw;
}

.faq .js-details[open] .faq_qu::after {
  rotate: -180deg;
}

.faq .js-details[open] .faq_an_txt {
  animation: fadeIn 0.5s ease;
}

.faq .faq_qu_txt {
  position: relative;
}

.faq .faq_qu_txt::before {
  background: url(../images/index/q.svg) no-repeat center center/contain;
  content: "";
  height: 5.797vw;
  left: -6.797vw;
  position: absolute;
  top: 0.5vw;
  width: 5.314vw;
}

.faq .faq_an {
  background: #fff;
  padding-block: 4.8vw 4vw;
}

.faq .faq_an_txt {
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  /* margin-inline: auto; */
  position: relative;
  width: 76.425vw;
  padding-inline: 11vw 0;
}

.faq .faq_an_txt::before {
  background: url(../images/index/a.svg) no-repeat center center/contain;
  content: "";
  height: 5.797vw;
  left: 3.203vw;
  position: absolute;
  top: 0px;
  width: 5.072vw;
}

/* bnr
-------------------------------------*/
.bnr .inner.inner_bnr {
  padding-block: 9.662vw;
}

.bnr .bnr_items {
  display: grid;
  gap: 4.831vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 87.922705314vw);
}

.bnr .bnr_itema {
  display: block;
}

/* contact
-------------------------------------*/
.contact {
  background: #fff;
}

.contact .inner.inner_contact {
  padding-block: 16.908vw;
}

.contact .contact_top {
  display: grid;
  gap: 6.831vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-bottom: 7vw;
}

.contact .contact_top p {
  font-size: 4.348vw;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7777777778;
  text-align: center;
}

.contact .contact_top .tel {
  text-align: center;
}

.contact .contact_top .tel img {
  height: auto;
  width: 78.744vw;
}

.contact .contact_center {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 2;
  margin-bottom: 13.527vw;
  width: 78.019vw;
  margin-inline: auto;
}

.contact .contact_btn {
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  left: 4vw;
}

.contact .contact_btn:before {
  background: url(../images/index/con_mail.svg) no-repeat center
    center/contain;
  content: "";
  height: 3.382vw;
  left: -7.797vw;
  position: absolute;
  top: 0.966vw;
  width: 5.556vw;
}

.contact .contact_btn a {
  color: #ea5c36;
  margin-inline: 1.932vw 0;
  text-decoration: underline;
}
}
