* {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

li {
  list-style: none;
}

.in-right {
  text-align: right;
}

.in-left {
  text-align: left;
}

.in-center {
  text-align: center;
}

.pc-none {
  display: none;
}

.sp-none {
  display: block;
}

.disc li {
  list-style: disc inside;
}

.f-12 {
  font-size: min(1.1111111111vw, 12px);
}

.f-15 {
  font-size: min(1.3888888889vw, 15px);
}

.f-16 {
  font-size: min(1.4814814815vw, 16px);
}

.f-18 {
  font-size: min(1.6666666667vw, 18px);
}

.f-20 {
  font-size: min(1.8518518519vw, 20px);
}

.f-21 {
  font-size: min(1.9444444444vw, 21px);
}

.f-22 {
  font-size: min(2.037037037vw, 22px);
}

.f-24 {
  font-size: min(2.2222222222vw, 24px);
}

.f-26 {
  font-size: min(2.4074074074vw, 26px);
}

.f-28 {
  font-size: min(2.5925925926vw, 28px);
}

.f-30 {
  font-size: min(2.7777777778vw, 30px);
}

.f-32 {
  font-size: min(2.962962963vw, 32px);
}

.f-34 {
  font-size: min(3.1481481481vw, 34px);
}

.f-36 {
  font-size: min(3.3333333333vw, 36px);
}

.f-38 {
  font-size: min(3.5185185185vw, 38px);
}

.f-40 {
  font-size: min(3.7037037037vw, 40px);
}

.f-42 {
  font-size: min(3.8888888889vw, 42px);
}

.f-44 {
  font-size: min(4.0740740741vw, 44px);
}

.f-46 {
  font-size: min(4.2592592593vw, 46px);
}

.f-48 {
  font-size: min(4.4444444444vw, 48px);
}

.f-50 {
  font-size: min(4.6296296296vw, 50px);
}

.f-54 {
  font-size: min(5vw, 54px);
}

.f-56 {
  font-size: min(5.1851851852vw, 56px);
}

.f-58 {
  font-size: min(5.3703703704vw, 58px);
}

.f-60 {
  font-size: min(5.5555555556vw, 60px);
}

.f-64 {
  font-size: min(5.9259259259vw, 64px);
}

.f-66 {
  font-size: min(6.1111111111vw, 66px);
}

.f-72 {
  font-size: min(6.6666666667vw, 72px);
}

.f-90 {
  font-size: min(8.3333333333vw, 90px);
}

.f-96 {
  font-size: min(8.8888888889vw, 96px);
}

.f-80 {
  font-size: min(7.4074074074vw, 80px);
}

.f-82 {
  font-size: min(7.5925925926vw, 82px);
}

.f-84 {
  font-size: min(7.7777777778vw, 84px);
}

.f-104 {
  font-size: min(9.6296296296vw, 104px);
}

.f-144 {
  font-size: min(13.3333333333vw, 144px);
}

.f-162 {
  font-size: min(15vw, 162px);
}

.f-164 {
  font-size: min(15.1851851852vw, 164px);
}

.f-212 {
  font-size: min(19.6296296296vw, 212px);
}

.f-220 {
  font-size: min(20.3703703704vw, 220px);
}

.lh-08 {
  line-height: 0.8;
}

.lh-09 {
  line-height: 0.9;
}

.lh-10 {
  line-height: 1;
}

.lh-11 {
  line-height: 1.1;
}

.lh-12 {
  line-height: 1.2;
}

.lh-13 {
  line-height: 1.3;
}

.lh-14 {
  line-height: 1.4;
}

.lh-15 {
  line-height: 1.5;
}

.lh-16 {
  line-height: 1.6;
}

.lh-17 {
  line-height: 1.7;
}

.lh-18 {
  line-height: 1.8;
}

.lh-20 {
  line-height: 2;
}

.ls-none {
  letter-spacing: 0;
}

.ls-04 {
  letter-spacing: 0.04em;
}

.ls-05 {
  letter-spacing: 0.05em;
}

.ls-06 {
  letter-spacing: 0.06em;
}

.ls-08 {
  letter-spacing: 0.08em;
}

.ls-10 {
  letter-spacing: 0.1em;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(1.4814814815vw, 16px);
  font-feature-settings: "palt";
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #333;
}

@media all and (min-width: 0px) and (max-width: 768px) {
  body {
    font-size: 3.4666666667vw;
  }
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 700;
}

.sans {
  font-family: "Noto Sans JP", sans-serif;
}

.serif {
  font-family: "Noto Serif JP", serif;
}

.w-regular {
  font-weight: 400;
}

.w-medium {
  font-weight: 500;
}

.w-semibold {
  font-weight: 600;
}

.w-bold {
  font-weight: 700;
}

.flex {
  display: flex;
  justify-content: space-between;
}

.table {
  display: table;
}

.inner {
  box-sizing: border-box;
  width: min(100vw, 1080px);
  position: relative;
  margin: 0 auto;
}

@media all and (min-width: 0px) and (max-width: 768px) {
  .inner {
    width: 100%;
  }
}

body {
  overflow-x: hidden;
}

body > div {
  max-width: min(177.7777777778vw, 1920px);
  margin: 0 auto;
  overflow: hidden;
}

a {
  text-decoration: none;
  transition: all 0.2s;
}

a:hover {
  filter: brightness(115%);
}

body {
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin: 0;
  font-feature-settings: "palt" on;
  text-align: justify;
}

.adlp-btn {
  transition: filter 0.3s;
}

.adlp-btn:hover {
  filter: brightness(110%);
  transition: filter 0.3s;
}

@media screen and (min-width: 768px) {
  .sp:not(:root) {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc:not(:root) {
    display: none !important;
  }
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .adlp-outer {
    overflow-x: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
}

.green {
  color: #03af7a;
}

.orange {
  color: #fb9333;
}

figure {
  margin: 0;
}

@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .adlp-wrapper {
    min-width: 1920px;
    margin: 0 auto;
  }
}

.bold {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .dot-text {
    padding-top: 0.4em;
    background-position: top left -2px;
    background-repeat: repeat-x;
    background-size: 1.3em 0.6em;
    background-image: radial-gradient(
      0.1em 0.1em at center center,
      #eb5505,
      #eb5505 100%,
      transparent
    );
  }
}

.f-white {
  color: #fff;
}

.f-main {
  color: #12397c;
}

.f-sub-01 {
  color: #d0ba5e;
}

.f-sub-02 {
  color: #f3f8fd;
}

.f-sub-03 {
  color: #2e75df;
}

.f-gray-01 {
  color: #333333;
}

.f-gray-02 {
  color: #f0f0f0;
}

.f-gray-03 {
  color: #f0f0f0;
}

.cv01 .btn {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(48.2962962963vw, 500px);
  height: min(9.2592592593vw, 100px);
  position: relative;
  margin: 0 auto;
  padding-left: min(3.0555555556vw, 33px);
  font-size: min(2.2222222222vw, 24px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background: url(../img/common/icon-arrow.svg) min(43.5740740741vw, 449px) 50%
    no-repeat #12397c;
  background-size: min(2.2222222222vw, 24px);
  box-shadow: 0px min(0.3703703704vw, 4px) min(0.3703703704vw, 4px)
    rgba(0, 0, 0, 0.24);
}

.cv01 .btn .t01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(7.4074074074vw, 80px);
  height: min(7.4074074074vw, 80px);
  position: absolute;
  top: min(0.9259259259vw, 10px);
  left: min(0.9259259259vw, 10px);
  font-size: min(2.2222222222vw, 24px);
  letter-spacing: 0.1em;
  line-height: 1;
  color: #12397c;
  background: #fff;
}

.cv01 .btn .t02 {
  font-size: min(4.4444444444vw, 48px);
  line-height: 1;
}

.cv01 .btn .t03 {
  font-size: min(2.962962963vw, 32px);
}

.cv01 .btn .t04 {
  font-size: min(2.962962963vw, 32px);
  color: #ffc700;
}

.adlp-fv {
  box-sizing: border-box;
  height: min(58.1481481481vw, 628px);
  background: url(../img/pc/fv-bg-01.jpg) 50% 0 no-repeat;
  background-size: min(177.7777777778vw, 1920px);
  position: relative;
}

.adlp-fv::after {
  content: "";
  background: url("../img/pc/fv-bg-01-person.png") bottom center no-repeat;
  background-size: min(36.2962963vw, 392px) min(43.0555556vw, 465px);
  padding-left: 90px;
  display: block;
  width: 100%;
  height: min(58.1481481481vw, 628px);
  position: absolute;
  bottom: 0;
  left: 0;
}

.adlp-fv .inner {
  padding-left: min(3.7037037037vw, 40px);
}

.adlp-fv p {
  font-size: min(2.7777777778vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #12397c;
  padding: min(3.0555555556vw, 33px) 0 0 min(25.462962963vw, 275px);
}

.adlp-fv .t01 {
  font-size: min(3.0555555556vw, 33px);
}

.adlp-fv .box01 {
  display: flex;
  justify-content: space-between;
  margin-top: min(6.6666666667vw, 72px);
}

.adlp-fv h1 img {
  width: min(38.6111111111vw, 417px);
  margin: min(2.5925925926vw, 28px) 0 min(3.3333333333vw, 36px);
}

.adlp-fv .list01 {
  display: flex;
  gap: min(0.9259259259vw, 10px);
  margin-left: max(-0.5555555556vw, -6px);
}

.adlp-fv .list01 img {
  width: min(16.5740740741vw, 179px);
}

.adlp-fv #form {
  box-sizing: border-box;
  width: min(33.2407407407vw, 365px);
}

.fv-picture {
  position: relative;
  max-width: 1080px;
  margin-inline: auto;
  display: block;
}

.fv-cta-link {
  display: block;
}

.fv-cta-button {
  width: 50%;
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 767px) {
  .fv-cta-button {
    width: 100%;
    max-width: 330px;
  }
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .adlp-fv {
    height: auto;
    background: url(../img/sp/fv-bg-01.jpg) 50% 0 no-repeat;
    background-size: min(100vw, 750px);
  }

  .adlp-fv::after {
    background: url("../img/sp/fv-bg-01-person.png") bottom left no-repeat;
    padding-left: 0;
    background-size: min(57.3333333vw, 450px) min(67.2vw, 504px);
    height: 100%;
  }

  .adlp-fv .inner {
    padding: 0 min(5.6vw, 42px) min(20vw, 60px);
  }

  .adlp-fv p {
    font-size: min(5.3333333333vw, 40px);
    padding: min(3.6vw, 27px) 0 0 0;
  }

  .adlp-fv .t01 {
    font-size: min(5.6vw, 42px);
  }

  .adlp-fv .box01 {
    flex-direction: column;
    gap: min(20.8vw, 156px);
    margin-top: min(10.8vw, 81px);
  }

  .adlp-fv .box01 > div:nth-child(1) {
    margin: 0 max(-2.6666666667vw, -20px) 0 auto;
  }

  .adlp-fv h1 img {
    width: min(40vw, 300px);
    margin: 0 0 min(5.0666666667vw, 38px);
  }

  .adlp-fv .list01 {
    flex-direction: column;
    align-items: center;
    gap: min(3.4666666667vw, 26px);
    margin-left: 0;
  }

  .adlp-fv .list01 img {
    width: min(34.6666666667vw, 260px);
  }

  .adlp-fv #form {
    width: 100%;
    padding: min(2.1333333333vw, 16px);
  }
}

.form-top-wrapper {
  margin-block: 30px;
}

.s01 {
  box-sizing: border-box;
  height: min(59.1666666667vw, 639px);
  padding: min(9.9074074074vw, 107px) 0 0;
  background: url(../img/pc/s01-bg-01.jpg) 50% 0 no-repeat #f0f0f0;
  background-size: min(177.7777777778vw, 1920px);
}

.s01 .list01 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: min(43.7037037037vw, 472px);
  height: min(11.1111111111vw, 120px);
  margin: 0 auto min(3.5185185185vw, 38px);
  line-height: 1.2;
}

.s01 .list01 li {
  width: min(10.3703703704vw, 112px);
  font-size: min(2.4074074074vw, 26px);
  color: #fff;
}

.s01 h2 {
  font-size: min(2.037037037vw, 22px);
  line-height: 1.4;
  text-align: center;
  color: #fff;
}

.s01 h2 .t01 {
  padding-bottom: 1px;
  border-bottom: 4px solid #d0ba5e;
}

.s01 h2 .t02 {
  font-size: min(4.0740740741vw, 44px);
  line-height: 1.6;
}

.s01 .list02 {
  width: -moz-fit-content;
  width: fit-content;
  margin: min(5.5555555556vw, 60px) auto 0;
}

.s01 .list02 li {
  padding-left: min(3.3333333333vw, 36px);
  background: url(../img/common/icon-check.svg) 0 min(0.3703703704vw, 4px)
    no-repeat;
  background-size: min(2.4074074074vw, 26px);
  line-height: 2.2;
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .s01 {
    height: min(148.4vw, 1113px);
    padding: min(21.3333333333vw, 160px) 0 0;
    background: url(../img/sp/s01-bg-01.jpg) 50% 0 no-repeat #f0f0f0;
    background-size: min(100vw, 750px);
  }

  .s01 .list01 {
    width: min(74.9333333333vw, 562px);
    height: min(20vw, 150px);
    margin: 0 auto min(8vw, 60px);
  }

  .s01 .list01 li {
    width: min(20vw, 150px);
    font-size: min(4.8vw, 36px);
  }

  .s01 h2 {
    font-size: min(4.2666666667vw, 32px);
  }

  .s01 h2 .t01 {
    border-bottom: min(0.5333333333vw, 4px) solid #d0ba5e;
  }

  .s01 h2 .t02 {
    font-size: min(6.1333333333vw, 46px);
    line-height: 2.4;
  }

  .s01 .list02 {
    margin: min(13.6vw, 102px) auto 0;
    padding: 0 min(12vw, 90px);
  }

  .s01 .list02 li {
    margin-top: min(2.6666666667vw, 20px);
    padding-left: min(5.3333333333vw, 40px);
    background: url(../img/common/icon-check.svg) 0 min(1.0666666667vw, 8px)
      no-repeat;
    background-size: min(4vw, 30px);
    line-height: 1.8;
  }
}

.s02 {
  position: relative;
  padding: min(2.5925925926vw, 28px) 0 0;
}

.s02:before {
  content: "";
  display: block;
  width: min(177.7777777778vw, 1920px);
  height: min(9.2592592593vw, 100px);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  background: #f0f0f0;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.s02 .t01 {
  font-size: min(2.037037037vw, 22px);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
}

.s02 .box01 {
  box-sizing: border-box;
  width: -moz-fit-content;
  width: fit-content;
  height: min(43.5185185185vw, 470px);
  margin: max(-1.4814814815vw, -16px) auto max(0vw, 0px);
  padding-left: min(29.7222222222vw, 321px);
  background: url(../img/pc/s02-01.png) 0 0 no-repeat;
  background-size: min(61.0185185185vw, 659px);
}

.s02 h2 {
  font-size: min(4.0740740741vw, 44px);
  color: #12397c;
  padding: min(10vw, 108px) 0 min(2.2222222222vw, 24px);
}

.s02 h2 img {
  display: block;
  width: min(37.1296296296vw, 401px);
}

.s02 .t02 {
  font-weight: 700;
  line-height: 1.4;
  margin-left: max(-0.7407407407vw, -8px);
}

.s02 .container01 {
  padding: 0 min(7.4074074074vw, 80px) min(5.1851851852vw, 56px);
  background: #f3f8fd;
}

.s02 .h301,
.s03 .h302 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(43.1481481481vw, 466px);
  height: min(6.2962962963vw, 68px);
  position: relative;
  top: max(-2.5925925926vw, -28px);
  z-index: 0;
  margin: 0 auto max(0vw, 0px);
  text-align: center;
  font-size: min(4.0740740741vw, 44px);
  color: #fff;
}

.s02 .h301:before,
.s02 .h301:after,
.s03 .h302:before,
.s03 .h302:after {
  content: "";
  display: block;
  width: min(42.037037037vw, 454px);
  height: min(6.2962962963vw, 68px);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background: linear-gradient(270deg, #12397c 0.06%, #2560ba 99.98%);
  transform: skew(-22deg);
}

.s02 .h301:before,
.s03 .h302:before {
  width: min(0.6481481481vw, 7px);
  left: 0;
}

.s02 .box02 {
  display: flex;
  align-items: center;
  gap: min(2.7777777778vw, 30px);
  width: min(58.0555555556vw, 627px);
  margin: 0 auto;
}

.s02 .box02 p + p {
  flex: 1;
}

.s02 .t03 {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: min(14.4444444444vw, 156px);
  height: min(14.4444444444vw, 156px);
  position: relative;
  border: 2px solid #b9a03b;
  border-radius: 50%;
  background: #fff;
  font-size: min(2.7777777778vw, 30px);
  font-weight: 700;
  color: #12397c;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.s02 .t03:after {
  content: "";
  display: block;
  width: min(14.4444444444vw, 156px);
  height: min(14.4444444444vw, 156px);
  position: absolute;
  top: -2px;
  left: -2px;
  background: linear-gradient(
    0,
    rgba(255, 255, 255, 0.9) 0%,
    rgba(255, 255, 255, 0) 10%,
    rgba(255, 255, 255, 0) 90%,
    rgba(255, 255, 255, 0.4) 100%
  );
  border-radius: 50%;
}

.s02 .t04 {
  font-size: min(6.4814814815vw, 70px);
  line-height: 0.85;
  letter-spacing: 0;
  background: linear-gradient(270deg, #2e75df 0.06%, #2560ba 99.98%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s02 .t05 {
  font-size: min(3.1481481481vw, 34px);
}

.s02 .box03 {
  position: relative;
  margin-top: min(1.4814814815vw, 16px);
  padding-top: min(2.3148148148vw, 25px);
  background: url(../img/common/s02-02.jpg) 100% 0 no-repeat;
  background-size: min(41.2037037037vw, 445px);
}

.s02 .box03:after {
  content: "";
  display: block;
  width: min(11.8518518519vw, 128px);
  height: min(3.7962962963vw, 41px);
  margin: min(4.6296296296vw, 50px) auto min(2.037037037vw, 22px);
  background: url(../img/common/s02-arrow.png) no-repeat;
  background-size: min(11.8518518519vw, 128px);
}

.s02 .box03 div {
  box-sizing: border-box;
  width: min(49.4444444444vw, 534px);
  padding: min(2.4074074074vw, 26px) 0 min(3.1481481481vw, 34px)
    min(5.1851851852vw, 56px);
  background: rgba(255, 255, 255, 0.9);
}

.s02 .h401 {
  font-size: min(3.3333333333vw, 36px);
  color: #12397c;
  line-height: 1.4;
  margin-bottom: min(1.8518518519vw, 20px);
}

.s02 .list01 li {
  list-style: inside square;
}

.s02 .list01 li::marker {
  color: #2e75df;
}

.s02 .h402 {
  font-size: min(2.2222222222vw, 24px);
  color: #12397c;
  text-align: center;
}

.s02 .h403 {
  font-size: min(5.1851851852vw, 56px);
}

.s02 .h404 {
  border-bottom: min(0.7407407407vw, 8px) solid #d0ba5e;
}

.s02 .h501 {
  font-size: min(2.962962963vw, 32px);
  color: #fff;
  text-align: center;
  margin-top: min(5.1851851852vw, 56px);
  padding: min(0.8333333333vw, 9px);
  background: linear-gradient(270deg, #12397c 0.06%, #2560ba 99.98%);
}

.s02 .h501 + picture {
  display: block;
  width: 100%;
}

.s02 .bg01 {
  padding: min(13.4259259259vw, 145px) 0 min(4.1666666667vw, 45px);
  background: url(../img/pc/s02-bg-01.jpg) 50% 0 no-repeat;
  background-size: min(177.7777777778vw, 1920px);
}

.s02 .t06 {
  font-size: min(1.8518518519vw, 20px);
  color: #fff;
  text-align: center;
}

.s02 .h302 {
  font-size: min(5.1851851852vw, 56px);
  text-align: center;
  background: radial-gradient(
    235.42% 79.39% at 49.77% 96.02%,
    #f3f3f0 0%,
    #cfbf80 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s02 .list02 {
  display: flex;
  justify-content: center;
  gap: min(1.8518518519vw, 20px);
  margin: min(2.7777777778vw, 30px) 0 min(31.9444444444vw, 345px);
}

.s02 .list02 img {
  width: min(23.1481481481vw, 250px);
}

.s02 .box04 {
  box-sizing: border-box;
  width: min(85.1851851852vw, 920px);
  position: relative;
  margin: 0 auto;
  padding: 0 0 min(4.4444444444vw, 48px);
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid #12397c;
  border-top: 0;
  text-align: center;
}

.s02 .box04:before,
.s02 .box04:after {
  content: "";
  display: block;
  width: min(25vw, 270px);
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background: #12397c;
}

.s02 .box04:after {
  left: auto;
  right: 0;
}

.s02 .list03 {
  display: flex;
  justify-content: center;
  gap: min(1.3888888889vw, 15px);
}

.s02 .list03 li {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(10.462962963vw, 113px);
  height: min(10.462962963vw, 113px);
  position: relative;
  margin-top: max(-5.0925925926vw, -55px);
  border: 1px solid #12397c;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  font-size: min(2.037037037vw, 22px);
}

.s02 .list03 li:after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  background: #12397c;
  transform: rotate(45deg);
}

.s02 .t07 {
  margin-top: min(1.6666666667vw, 18px);
}

.s02 .t08 {
  font-size: min(2.2222222222vw, 24px);
  font-weight: 700;
  line-height: 2.2;
}

.s02 .t09 {
  font-size: min(4.6296296296vw, 50px);
  font-weight: 700;
  color: #12397c;
  display: block;
  margin-top: max(-1.1111111111vw, -12px);
}

.s02 .t10 {
  border-bottom: min(0.7407407407vw, 8px) solid #d0ba5e;
}

.s02 .bg02 {
  box-sizing: border-box;
  height: min(60.3703703704vw, 652px);
  padding-top: min(4.7222222222vw, 51px);
  background: url(../img/pc/s02-bg-02.jpg) 50% 0 no-repeat;
  background-size: min(177.7777777778vw, 1920px);
  position: relative;
}

.s02 .bg02::before {
  content: "";
  display: block;
  width: 100%;
  height: min(55.6481481vw, 601px);
  position: absolute;
  bottom: min(4.81481481vw, 52px);
  right: min(16.2037037vw, 175px);
  background: url(../img/pc/s02-bg-02-person.png) center bottom no-repeat;
  background-size: min(32.5925926vw, 352px) min(42.6851852vw, 461px);
}

.s02 .list04 {
  display: flex;
  justify-content: center;
  gap: min(1.8518518519vw, 20px);
}

.s02 .list04 li {
  padding: min(1.6666666667vw, 18px) min(2.7777777778vw, 30px);
  background: rgba(46, 117, 223, 0.4);
  color: #fff;
  letter-spacing: 0.1em;
}

.s02 .box05 {
  width: fit-content;
  position: relative;
  left: 50%;
  margin-left: max(-1.3888888889vw, -15px);
}

.s02 .t11 {
  font-size: min(3.3333333333vw, 36px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  background: radial-gradient(
    235.42% 79.39% at 49.77% 96.02%,
    #f3f3f0 0%,
    #cfbf80 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: min(2.5925925926vw, 28px) 0 min(8.8888888889vw, 96px);
}

.s02 .t12 {
  font-size: min(2.2222222222vw, 24px);
  font-weight: 700;
  color: #fff;
  line-height: 2.2;
}

.s02 .t13 {
  font-size: min(4.6296296296vw, 50px);
  line-height: 1.6;
}

.s02 .t14 {
  font-weight: 700;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.7);
  margin-top: min(2.7777777778vw, 30px);
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .s02 {
    padding: 0;
  }

  .s02:before {
    width: min(100vw, 750px);
    height: min(13.3333333333vw, 100px);
  }

  .s02 .t01 {
    font-size: min(4.2666666667vw, 32px);
  }

  .s02 .box01 {
    box-sizing: border-box;
    width: min(100vw, 750px);
    height: min(87.7333333333vw, 658px);
    margin: 0 auto;
    padding-left: min(4vw, 30px);
    background: url(../img/sp/s02-01.png) 0 0 no-repeat;
    background-position-x: -20px;
    background-size: min(70.4vw, 528px);
  }

  .s02 h2 {
    font-size: min(6.1333333333vw, 46px);
    padding: min(11.7333333333vw, 88px) 0 min(4.5333333333vw, 34px);
    width: min(37.3333333333vw, 280px);
    margin: 0 min(3.1481481481vw, 34px) 0 auto;
  }

  .s02 h2 img {
    width: min(36vw, 270px);
    margin-bottom: min(1.6vw, 12px);
  }

  .s02 .t02 {
    margin-left: 0;
    font-size: min(2.6666666667vw, 20px);
    letter-spacing: 0.08em;
  }

  .s02 .container01 {
    box-sizing: border-box;
    width: min(92vw, 690px);
    margin: 0 auto;
    padding: 0 min(4vw, 30px);
  }

  .s02 .h301,
  .s03 .h302 {
    width: min(62.1333333333vw, 466px);
    height: min(9.0666666667vw, 68px);
    top: max(-3.7333333333vw, -28px);
    font-size: min(6.1333333333vw, 46px);
  }

  .s02 .h301:before,
  .s02 .h301:after,
  .s03 .h302:before,
  .s03 .h302:after {
    width: min(60.5333333333vw, 454px);
    height: min(9.0666666667vw, 68px);
  }

  .s02 .h301:before,
  .s03 .h302:before {
    width: min(0.9333333333vw, 7px);
    left: 0;
  }

  .s02 .box02 {
    gap: min(4vw, 30px);
    width: min(84vw, 630px);
  }

  .s02 .t03 {
    width: min(24vw, 180px);
    height: min(24vw, 180px);
    border: min(0.2666666667vw, 2px) solid #b9a03b;
    font-size: min(4.8vw, 36px);
  }

  .s02 .t03:after {
    width: min(24vw, 180px);
    height: min(24vw, 180px);
    top: max(-0.2666666667vw, -2px);
    left: max(-0.2666666667vw, -2px);
  }

  .s02 .t04 {
    font-size: min(10.6666666667vw, 80px);
  }

  .s02 .t05 {
    font-size: min(5.3333333333vw, 40px);
  }

  .s02 .box02 p + p {
    letter-spacing: 0.06em;
  }

  .s02 .box03 {
    margin: min(5.3333333333vw, 40px) max(-8vw, -60px) 0 max(-8vw, -60px);
    padding-top: min(42.6666666667vw, 320px);
    background-size: min(88vw, 660px);
  }

  .s02 .box03:after {
    width: min(24vw, 180px);
    height: min(8vw, 60px);
    margin: min(5.0666666667vw, 38px) auto min(4.6666666667vw, 35px);
    background-size: min(24vw, 180px);
  }

  .s02 .box03 div {
    width: min(88vw, 660px);
    padding: min(5.6vw, 42px) 0 min(5.6vw, 42px) min(11.3333333333vw, 85px);
  }

  .s02 .h401 {
    font-size: min(5.3333333333vw, 40px);
    margin-bottom: min(3.3333333333vw, 25px);
  }

  .s02 .h402 {
    font-size: min(4.8vw, 36px);
  }

  .s02 .h403 {
    font-size: min(8.8vw, 66px);
    line-height: 1.4;
  }

  .s02 .h404 {
    border-bottom: min(1.0666666667vw, 8px) solid #d0ba5e;
  }

  .s02 .h501 {
    font-size: min(4.8vw, 36px);
    margin-top: min(8.8vw, 66px);
    padding: min(1.0666666667vw, 8px);
  }

  .s02 .h501 + picture {
    margin-bottom: max(-1.3888888889vw, -15px);
  }

  .s02 .bg01 {
    padding: min(27.6vw, 207px) 0 min(10.6666666667vw, 80px);
    background: url(../img/sp/s02-bg-01.jpg) 50% 0 no-repeat;
    background-size: min(100vw, 750px);
  }

  .s02 .t06 {
    font-size: min(4vw, 30px);
  }

  .s02 .h302 {
    font-size: min(8.8vw, 66px);
    line-height: 1.4;
    background: radial-gradient(
      45.42% 179.39% at 49.77% 96.02%,
      #f3f3f0 0%,
      #cfbf80 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: min(1.6vw, 12px);
  }

  .s02 .list02 {
    gap: min(4vw, 30px);
    margin: min(6.4vw, 48px) 0 min(60.2666666667vw, 452px);
    flex-wrap: wrap;
    justify-content: center;
  }

  .s02 .list02 li:first-child {
    width: 100%;
    text-align: center;
  }

  .s02 .list02 img {
    width: min(40vw, 300px);
    filter: drop-shadow(
      0 min(0.5333333333vw, 4px) min(0.5333333333vw, 4px) rgba(0, 0, 0, 0.25)
    );
  }

  .s02 .box04 {
    width: min(84vw, 630px);
    padding: 0 0;
  }

  .s02 .box04:before,
  .s02 .box04:after {
    width: min(17.3333333333vw, 130px);
  }

  .s02 .list03 {
    gap: min(2.6666666667vw, 20px);
  }

  .s02 .list03 li {
    width: min(20vw, 150px);
    height: min(20vw, 150px);
    margin-top: max(-10vw, -75px);
    font-size: min(3.7333333333vw, 28px);
  }

  .s02 .t07 {
    margin: min(3.4666666667vw, 26px) 0 min(4.2666666667vw, 32px);
  }

  .s02 .t08 {
    font-size: min(4.8vw, 36px);
    display: block;
    margin-top: min(2.1333333333vw, 16px);
  }

  .s02 .t09 {
    font-size: min(7.2vw, 54px);
    margin-top: max(-1.8666666667vw, -14px);
    line-height: 1.8;
  }

  .s02 .t10 {
    border-bottom: min(1.0666666667vw, 8px) solid #d0ba5e;
  }

  .s02 .bg02 {
    height: min(117.0666666667vw, 878px);
    padding-top: min(6.6666666667vw, 50px);
    background: url(../img/sp/s02-bg-02.jpg) 50% 0 no-repeat;
    background-size: min(100vw, 750px);
  }

  .s02 .bg02::before {
    height: min(110.4vw, 828px);
    bottom: min(0.666666667vw, 5px);
    right: min(3.2vw, 24px);
    background: url(../img/sp/s02-bg-02-person.png) left bottom no-repeat;
    background-size: min(68.8vw, 516px) min(65.8666667vw, 494px);
  }

  .s02 .list04 {
    gap: min(1.3333333333vw, 10px);
    flex-wrap: wrap;
    justify-content: stretch;
    width: min(84vw, 630px);
    margin: 0 auto;
  }

  .s02 .list04 li {
    display: flex;
    justify-content: center;
    text-align: center;
    flex-grow: 1;
    align-items: center;
    height: min(12vw, 90px);
    padding: 0;
  }

  .s02 .box05 {
    left: min(38vw, 285px);
    margin-left: 0;
  }

  .s02 .t11 {
    font-size: min(5.3333333333vw, 40px);
    background: radial-gradient(
      45.42% 179.39% at 49.77% 96.02%,
      #f3f3f0 0%,
      #cfbf80 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: min(3.4666666667vw, 26px) 0 min(11.2vw, 84px);
  }

  .s02 .t12 {
    font-size: min(4.2666666667vw, 32px);
    line-height: 2;
  }

  .s02 .t13 {
    font-size: min(7.7333333333vw, 58px);
    line-height: 1.2;
    letter-spacing: 0.06em;
  }

  .s02 .t14 {
    font-size: min(2.6666666667vw, 20px);
    margin: min(5.8666666667vw, 44px) 0 0 min(25.7333333333vw, 193px);
  }
}

.s03 {
  padding: 0 0 min(3.1481481481vw, 34px);
}

.s03 h2,
.s04 h2 {
  font-size: min(2.037037037vw, 22px);
  letter-spacing: 0.08em;
  text-align: center;
}

.s03 .h201 {
  color: #2e75df;
}

.s03 .h202,
.s04 .h202,
.s05 .h202 {
  font-size: min(4.6296296296vw, 50px);
  background: linear-gradient(270deg, #12397c 0.06%, #2560ba 99.98%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

.s03 .h202::before,
.s03 .h202::after,
.s04 .h202::before,
.s04 .h202::after,
.s05 .h202::before,
.s05 .h202::after {
  content: "";
  display: block;
  width: min(23.7962962963vw, 257px);
  height: 1px;
  position: absolute;
  top: 55%;
  left: max(-31.4814814815vw, -340px);
  background: #12397c;
}

.s03 .h202::after,
.s04 .h202::after,
.s05 .h202::after {
  left: auto;
  right: max(-31.4814814815vw, -340px);
}

.s03 .list01 {
  display: flex;
  flex-direction: column;
  gap: min(4.6296296296vw, 50px);
  width: min(85.1851851852vw, 920px);
  margin: min(2.962962963vw, 32px) auto 0;
}

.s03 .list01 li {
  padding: 0 min(5.0925925926vw, 55px);
  letter-spacing: 0.08em;
}

.s03 .list01 li:nth-child(1) {
  height: min(38.8888888889vw, 420px);
  background: url(../img/pc/s03-01.jpg) 50% 0 no-repeat;
  background-size: min(85.1851851852vw, 920px);
}

.s03 .list01 li:nth-child(2) {
  height: min(38.8888888889vw, 420px);
  background: url(../img/pc/s03-02.jpg) 50% 0 no-repeat;
  background-size: min(85.1851851852vw, 920px);
}

.s03 .list01 li:nth-child(3) {
  height: min(41.2962962963vw, 446px);
  background: url(../img/pc/s03-03.jpg) 50% 0 no-repeat;
  background-size: min(85.1851851852vw, 920px);
}

.s03 .list01 h3 {
  font-size: min(2.037037037vw, 22px);
  color: #fff;
  line-height: 1.8;
  width: -moz-fit-content;
  width: fit-content;
  margin: min(9.0740740741vw, 98px) 0 min(6.6666666667vw, 72px);
}

.s03 .list01 li:nth-child(2) h3 {
  margin-left: auto;
  margin-right: max(-2.2222222222vw, -24px);
}

.s03 .h301 {
  font-size: min(4.0740740741vw, 44px);
  line-height: 1.4;
}

.s03 .box01 {
  width: min(85.1851851852vw, 920px);
  margin: 0 auto;
  background: #e5f0ff;
}

.s03 .h302 {
  font-size: min(3.3333333333vw, 36px);
  width: min(37.5925925926vw, 406px);
  height: min(5.5555555556vw, 60px);
  top: max(-2.4074074074vw, -26px);
  letter-spacing: -0.06em;
}

.s03 .h302:before,
.s03 .h302:after {
  height: min(5.5555555556vw, 60px);
}

.s03 .h302:after {
  width: min(36.4814814815vw, 394px);
}

.s03 .list02 {
  display: flex;
  justify-content: space-between;
  padding: min(2.7777777778vw, 30px) min(3.0555555556vw, 33px)
    min(4.2592592593vw, 46px);
}

.s03 .list02 img {
  width: min(17.5925925926vw, 190px);
}

.s03 .list02 li {
  display: flex;
  align-items: center;
  gap: min(1.4814814815vw, 16px);
}

.s03 .list02 h4 {
  font-size: min(2.2222222222vw, 24px);
  line-height: 1.4;
  color: #12397c;
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .s03 {
    padding: 0;
  }

  .s03 h2,
  .s04 h2 {
    font-size: min(4.2666666667vw, 32px);
  }

  .s03 .h202,
  .s04 .h202,
  .s05 .h202 {
    font-size: min(7.2vw, 54px);
  }

  .s03 .h202::before,
  .s03 .h202::after,
  .s04 .h202::before,
  .s04 .h202::after,
  .s05 .h202::before,
  .s05 .h202::after {
    width: min(28vw, 210px);
    left: max(-32.5333333333vw, -244px);
  }

  .s03 .h202::after,
  .s04 .h202::after,
  .s05 .h202::after {
    left: auto;
    right: max(-32.5333333333vw, -244px);
  }

  .s03 .list01 {
    gap: min(8vw, 60px);
    width: 100%;
    margin: min(8.2666666667vw, 62px) auto 0;
  }

  .s03 .list01 li {
    padding: 0 min(12vw, 90px);
  }

  .s03 .list01 li:nth-child(1) {
    height: min(126vw, 945px);
    background: url(../img/sp/s03-01.jpg) 50% 0 no-repeat;
    background-size: min(100vw, 750px);
  }

  .s03 .list01 li:nth-child(2) {
    height: min(119.7333333333vw, 898px);
    background: url(../img/sp/s03-02.jpg) 50% 0 no-repeat;
    background-size: min(100vw, 750px);
  }

  .s03 .list01 li:nth-child(3) {
    height: min(115.6vw, 867px);
    background: url(../img/sp/s03-03.jpg) 50% 0 no-repeat;
    background-size: min(100vw, 750px);
  }

  .s03 .list01 h3 {
    font-size: min(4.2666666667vw, 32px);
    margin: min(53.0666666667vw, 398px) 0 min(10vw, 75px);
  }

  .s03 .list01 li:nth-child(2) h3 {
    margin-left: min(8vw, 60px);
    margin-right: auto;
  }

  .s03 .h301 {
    font-size: min(6.1333333333vw, 46px);
  }

  .s03 .h302 {
    font-size: min(5.3333333333vw, 40px);
    width: min(63.2vw, 474px);
    height: min(9.0666666667vw, 68px);
    top: max(-4.1333333333vw, -31px);
  }

  .s03 .h302:before,
  .s03 .h302:after {
    height: min(9.0666666667vw, 68px);
  }

  .s03 .h302:after {
    width: min(61.6vw, 462px);
  }

  .s03 .list02 {
    flex-direction: column;
    gap: min(5.3333333333vw, 40px);
    padding: min(4.2666666667vw, 32px) min(8vw, 60px) min(12vw, 90px)
      min(12vw, 90px);
  }

  .s03 .list02 img {
    width: min(30.6666666667vw, 230px);
  }

  .s03 .list02 li {
    gap: min(3.0666666667vw, 23px);
  }

  .s03 .list02 li:nth-child(2) {
    flex-direction: row-reverse;
  }

  .s03 .list02 li > div {
    flex: 1;
  }

  .s03 .list02 h4 {
    font-size: min(4.8vw, 36px);
    letter-spacing: -0.05em;
  }
}

.s04 {
  padding: min(3.8888888889vw, 42px) 0 min(15.1851851852vw, 164px);
  background: url(../img/pc/s04-bg-01.jpg) 50% 100% no-repeat;
  background-size: min(177.7777777778vw, 1920px);
}

.s04 .h202::before,
.s04 .h202::after {
  width: min(25.9259259259vw, 280px);
  left: max(-30vw, -324px);
}

.s04 .h202::after {
  left: auto;
  right: max(-30vw, -324px);
}

.s04 .list01 {
  display: flex;
  gap: min(6.4814814815vw, 70px);
  width: min(85.1851851852vw, 920px);
  margin: min(3.8888888889vw, 42px) auto min(1.8518518519vw, 20px);
  letter-spacing: 0.04em;
}

.s04 .list01 li {
  flex: 1;
  position: relative;
}

.s04 .list01 li:nth-child(-n + 2):after {
  content: "";
  display: block;
  width: min(2.2222222222vw, 24px);
  height: min(4.4444444444vw, 48px);
  position: absolute;
  top: min(6.5740740741vw, 71px);
  right: max(-4.6296296296vw, -50px);
  background: #2e75df;
  -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}

.s04 .list01 img {
  display: block;
  width: min(17.962962963vw, 194px);
  margin: 0 auto min(1.8518518519vw, 20px);
}

.s04 .list01 p.serif {
  display: table;
  margin: 0 auto min(0.462962963vw, 5px);
  font-size: min(2.037037037vw, 22px);
  font-weight: 700;
  text-align: center;
  color: #fff;
  padding: min(0.5555555556vw, 6px) min(1.2962962963vw, 14px);
  background: linear-gradient(270deg, #12397c 0.06%, #2560ba 99.98%);
}

.s04 .list01 h3 {
  font-size: min(3.3333333333vw, 36px);
  color: #12397c;
  line-height: 1.4;
  text-align: center;
  margin-bottom: min(0.9259259259vw, 10px);
}

.s04 .list02 {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.s04 .list02 img {
  width: min(23.5185185185vw, 254px);
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .s04 {
    padding: min(10.6666666667vw, 80px) 0 min(30.1333333333vw, 226px);
    background: url(../img/sp/s04-bg-01.jpg) 50% 100% no-repeat;
    background-size: min(100vw, 750px);
  }

  .s04 .h202::before,
  .s04 .h202::after {
    width: min(24vw, 180px);
    left: max(-30.1333333333vw, -226px);
  }

  .s04 .h202::after {
    left: auto;
    right: max(-30.1333333333vw, -226px);
  }

  .s04 .list01 {
    flex-direction: column;
    gap: min(8vw, 60px);
    width: min(84vw, 630px);
    margin: min(8.2666666667vw, 62px) auto min(6.6666666667vw, 50px);
  }

  .s04 .list01 li {
    display: flex;
    align-items: center;
    gap: min(2.6666666667vw, 20px);
  }

  .s04 .list01 li:nth-child(-n + 2):after {
    width: min(6.9333333333vw, 52px);
    height: min(3.4666666667vw, 26px);
    top: auto;
    bottom: max(-5.8666666667vw, -44px);
    right: auto;
    left: min(12.5333333333vw, 94px);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
  }

  .s04 .list01 img {
    width: min(32vw, 240px);
    margin: 0;
  }

  .s04 .list01 p.serif {
    margin: 0 0 min(0.6666666667vw, 5px);
    font-size: min(4.2666666667vw, 32px);
    padding: min(0.2666666667vw, 2px) min(1.6vw, 12px);
  }

  .s04 .list01 h3 {
    font-size: min(5.3333333333vw, 40px);
    text-align: left;
    margin-bottom: min(1.3333333333vw, 10px);
  }

  .s04 .list02 {
    flex-wrap: wrap;
    justify-content: center;
  }

  .s04 .list02 li:first-child {
    margin-bottom: max(-8.5333333333vw, -64px);
    padding: 0 12%;
  }

  .s04 .list02 img {
    width: min(43.2vw, 324px);
  }
}

.s05 {
  padding: min(7.4074074074vw, 80px) 0 min(5.5555555556vw, 60px);
  background: #f0f0f0;
}

.s05 .h202 {
  color: #12397c;
  background: none;
  background-clip: border-box;
  -webkit-text-fill-color: unset;
}

.s05 .h202::before,
.s05 .h202::after {
  width: min(26.8518518519vw, 290px);
  left: max(-28.6111111111vw, -309px);
}

.s05 .h202::after {
  left: auto;
  right: max(-28.6111111111vw, -309px);
}

.s05 .accordion {
  display: flex;
  flex-direction: column;
  gap: min(2.7777777778vw, 30px);
  width: min(85.1851851852vw, 920px);
  margin: min(6.2962962963vw, 68px) auto 0;
}

.s05 li {
  background: #fff;
}

.s05 h3 {
  font-size: min(1.6666666667vw, 18px);
  letter-spacing: 0.04em;
  color: #12397c;
  display: flex;
  align-items: center;
  gap: min(1.8518518519vw, 20px);
  position: relative;
  padding: min(2.037037037vw, 22px) min(6.703704vw, 70px)
    min(2.037037037vw, 22px) min(3.7037037037vw, 40px);
  cursor: pointer;
  transition: all 0.2s;
}

.s05 h3 .serif {
  font-size: min(1.8518518519vw, 20px);
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(3.1481481481vw, 34px);
  height: min(3.1481481481vw, 34px);
  background: linear-gradient(270deg, #2e75df 0.06%, #2560ba 99.98%);
  border-radius: 50%;
}

.s05 .accordion h3:before,
.s05 .accordion h3:after {
  content: "";
  display: block;
  width: min(1.8518518519vw, 20px);
  height: min(0.1851851852vw, 2px);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: min(4.2592592593vw, 46px);
  background: #12397c;
  transition: all 0.5s;
}

.s05 .accordion h3:after {
  transform: rotate(90deg);
}

.s05 h3.open:after {
  display: none;
}

.s05 h3:hover {
  opacity: 0.75;
}

.s05 h3 + div {
  display: none;
  margin: 0 auto;
  padding: min(0.9259259259vw, 10px) min(3.7037037037vw, 40px)
    min(1.8518518519vw, 20px);
  border-top: min(0.1851851852vw, 2px) solid #f0f0f0;
}

.s05 p {
  letter-spacing: 0.08em;
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .s05 {
    padding: min(10.6666666667vw, 80px) 0 min(8vw, 60px);
  }

  .s05 .h202::before,
  .s05 .h202::after {
    width: min(24vw, 180px);
    left: max(-28.2666666667vw, -212px);
  }

  .s05 .h202::after {
    left: auto;
    right: max(-28.2666666667vw, -212px);
  }

  .s05 .accordion {
    gap: min(5.3333333333vw, 40px);
    width: min(84vw, 630px);
    margin: min(8.2666666667vw, 62px) auto 0;
  }

  .s05 h3 {
    font-size: min(4vw, 30px);
    letter-spacing: 0;
    gap: min(2.6666666667vw, 20px);
    padding: min(5.3333333333vw, 40px) 40px min(5.3333333333vw, 40px) 25px;
  }

  .s05 h3 .serif {
    font-size: min(4.2666666667vw, 32px);
    width: min(6.6666666667vw, 50px);
    height: min(6.6666666667vw, 50px);
  }

  .s05 h3 .serif + span {
    flex: 1;
  }

  .s05 .accordion h3:before,
  .s05 .accordion h3:after {
    width: min(4vw, 30px);
    height: min(0.5333333333vw, 4px);
    right: min(5.3333333333vw, 40px);
  }

  .s05 h3:hover {
    opacity: 1;
  }

  .s05 h3 + div {
    padding: min(4.6666666667vw, 35px) min(5.3333333333vw, 40px);
    border-top: min(0.2666666667vw, 2px) solid #f0f0f0;
  }

  .s05 p {
    line-height: 1.8;
  }
}

.s06 {
  box-sizing: border-box;
  height: min(37.037037037vw, 400px);
  padding-top: min(5.09259259vw, 55px);
  background: url(../img/pc/s06-bg-01.jpg) 50% 0 no-repeat;
  background-size: min(177.7777777778vw, 1920px);
  position: relative;
}

.s06::before {
  content: "";
  position: absolute;
  background-size: min(calc(389 / 1080 * 100vw), 389px)
    min(calc(371 / 1080 * 100vw), 371px);
  width: 100%;
  height: min(31.9444444vw, 345px);
  left: min(28.7037037vw, 310px);
}

.s06 h2 {
  font-size: min(2.962962963vw, 32px);
  color: #fff;
  text-align: center;
  width: min(60vw, 648px);
  margin-left: min(1.85185185vw, 20px);
  line-height: 1.4;
}

.s06 .h201 {
  font-size: min(3.5185185185vw, 38px);
  display: inline-block;
  margin-top: min(2.962962963vw, 32px);
}

.s06 .h202 {
  font-size: min(4.2592592593vw, 46px);
}

.s06 p {
  font-size: min(1.4814814815vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: right;
  color: rgba(255, 255, 255, 0.7);
  width: min(60vw, 648px);
  margin: min(5.8333333333vw, 63px) auto 0 min(3.7037037037vw, 40px);
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .s06 {
    height: min(150.6666666667vw, 1130px);
    padding-top: min(19.7333333333vw, 148px);
    background: url(../img/sp/s06-bg-01.jpg) 50% 0 no-repeat;
    background-size: min(100vw, 750px);
  }

  .s06::before {
    background-size: min(calc(583 / 750 * 100vw), 583px)
      min(calc(585 / 750 * 100vw), 585px);
    height: min(130.933333vw, 982px);
    left: 0;
  }

  .s06 .inner {
    width: min(84vw, 630px);
    height: 100%;
  }

  .s06 h2 {
    font-size: min(5.3333333333vw, 40px);
    width: 100%;
    margin-left: 0;
  }

  .s06 .h201 {
    font-size: min(7.2vw, 54px);
    margin-top: min(3.4666666667vw, 26px);
    line-height: 1.5;
  }

  .s06 .h202 {
    font-size: min(8.8vw, 66px);
    line-height: 1.5;
  }

  .s06 p {
    font-size: min(2.6666666667vw, 20px);
    text-align: right;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    position: absolute;
    bottom: min(3.0666666667vw, 23px);
    right: max(-4vw, -30px);
  }
}

.s07 {
  padding: min(0.7407407407vw, 8px) 0 min(8.1481481481vw, 88px);
}

.s07 .box01 {
  display: flex;
  justify-content: space-between;
  width: min(92.5925925926vw, 1000px);
  position: relative;
  margin: 0 auto;
}

.s07 .box01::after {
  box-sizing: border-box;
  content: "";
  display: block;
  width: min(38.1481481481vw, 412px);
  height: min(31.7592592593vw, 343px);
  position: absolute;
  top: min(6.9444444444vw, 75px);
  right: 0;
  z-index: -1;
  border: 1px solid #12397c;
  border-width: 1px 0 0 1px;
}

.s07 h2 {
  font-size: min(4.0740740741vw, 44px);
  color: #12397c;
  width: min(16.8518518519vw, 182px);
  margin-top: min(7.037037037vw, 76px);
}

.s07 .box01 > div:nth-child(2) {
  width: min(30.8333333333vw, 333px);
  margin-top: min(8.8888888889vw, 96px);
}

.s07 .box01 > div:nth-child(2) img {
  width: min(28.9814814815vw, 313px);
}

.s07 .box01 > div:nth-child(2) h3 {
  font-size: min(2.037037037vw, 22px);
  margin: min(3.5185185185vw, 38px) 0 min(1.3888888889vw, 15px)
    min(0.9259259259vw, 10px);
}

.s07 .box01 > div:nth-child(2) ul {
  margin-left: min(0.9259259259vw, 10px);
}

.s07 .box01 > div:nth-child(3) {
  box-sizing: border-box;
  width: min(32.4074074074vw, 350px);
  padding-right: min(2.2222222222vw, 24px);
}

.s07 .box01 > div:nth-child(3) img {
  display: block;
  width: min(22.4074074074vw, 242px);
  margin: 0 auto;
}

.s07 .box01 > div:nth-child(3) h3 {
  font-size: min(1.8518518519vw, 20px);
  color: #12397c;
  text-align: center;
  margin: min(1.8518518519vw, 20px) 0;
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .s07 {
    padding: max(0vw, 0px) 0 min(10.6666666667vw, 80px);
  }

  .s07 .box01 {
    width: min(84vw, 630px);
    flex-direction: column;
  }

  .s07 .box01::after {
    width: min(84vw, 630px);
    height: min(74.6666666667vw, 560px);
    top: auto;
    right: 0;
    bottom: 0;
  }

  .s07 h2 {
    font-size: min(8.5333333333vw, 64px);
    width: 100%;
    margin-top: 0;
    text-align: center;
  }

  .s07 .box01 > div:nth-child(2) {
    width: 100%;
    margin-top: min(8vw, 60px);
  }

  .s07 .box01 > div:nth-child(2) img {
    width: min(84vw, 630px);
  }

  .s07 .box01 > div:nth-child(2) h3 {
    font-size: min(4.8vw, 36px);
    text-align: center;
    margin: min(4.8vw, 36px) 0 min(3.2vw, 24px);
  }

  .s07 .box01 > div:nth-child(2) ul {
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content;
    font-size: min(4vw, 30px);
    line-height: 1.8;
    letter-spacing: 0.08em;
  }

  .s07 .box01 > div:nth-child(3) {
    width: 100%;
    padding-right: 0;
    margin-top: min(7.4666666667vw, 56px);
  }

  .s07 .box01 > div:nth-child(3) img {
    width: min(53.3333333333vw, 400px);
  }

  .s07 .box01 > div:nth-child(3) h3 {
    font-size: min(4.2666666667vw, 32px);
    margin: min(4.2666666667vw, 32px) 0;
  }

  .s07 .box01 > div:nth-child(3) p {
    width: min(73.3333333333vw, 550px);
    margin: 0 auto;
    line-height: 1.8;
    letter-spacing: 0.08em;
  }
}

.adlp-footer {
  padding: min(4.0740740741vw, 44px) 0;
  background: #12397c;
}

.adlp-footer img {
  display: block;
  width: min(28.7962962963vw, 311px);
  margin: 0 auto;
}

.adlp-footer .list01 {
  display: flex;
  justify-content: center;
  gap: min(2.962962963vw, 32px);
  margin: min(2.7777777778vw, 30px) 0;
  font-size: min(1.2962962963vw, 14px);
  letter-spacing: 0.04em;
}

.adlp-footer a {
  color: #fff;
}

.adlp-footer a:hover {
  opacity: 0.65;
}

.adlp-footer p {
  font-size: min(1.1111111111vw, 12px);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  color: #fff;
}

@media all and (min-width: 0px) and (max-width: 767px) {
  .adlp-footer {
    padding: min(10.6666666667vw, 80px) 0 min(15.4666666667vw, 116px);
  }

  .adlp-footer img {
    width: min(53.8666666667vw, 404px);
  }

  .adlp-footer .list01 {
    gap: min(4.2666666667vw, 32px);
    margin: min(7.4666666667vw, 56px) 0;
    font-size: min(3.4666666667vw, 26px);
    font-weight: 700;
    flex-direction: column;
    align-items: center;
  }

  .adlp-footer a:hover {
    opacity: 1;
  }

  .adlp-footer p {
    font-size: min(2.6666666667vw, 20px);
  }
}
