@charset "UTF-8";
div, dl, dt, dd, ul, ol,
li, h1, h2, h3, h4, h5,
h6, pre, code, form, fieldset, legend,
input, textarea, p, blockquote,
th, td, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  word-break: break-all;
  font-size: inherit;
  width: 100%;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input, textarea, select {
  font-size: 100%;
}

legend {
  color: #000;
}

select, input, button, textarea {
  font: 99% arial, helvetica, clean, sans-serif;
}

pre, code, kbd, samp, tt {
  font-family: monospace;
  font-size: 108%;
  line-height: 100%;
}

.aligncenter {
  text-align: center;
}

img {
  vertical-align: bottom;
  line-height: 1;
}

a {
  text-decoration: none;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

hr {
  border: none;
  background-color: #547e9d;
  height: 1px;
}

.serif {
  font-family: ÓÎÃ÷³¯, "Yu Mincho", YuMincho, serif;
}

/* common item --------------------------------------- */
.clearfix:after,
.inner:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

@media screen and (max-width: 835px) {
  .is-pc {
    display: none !important;
  }
}

.is-sp {
  display: none;
}
@media screen and (max-width: 835px) {
  .is-sp {
    display: block;
  }
}

@media screen and (max-width: 835px) {
  .br-ds {
    display: none;
  }
}

#code_area {
  line-height: 0;
}

::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-track {
  border-radius: 5px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.01);
          box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.01);
}

::-webkit-scrollbar-thumb {
  background-color: #E4E4E4;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.01);
          box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.01);
}

body {
  -webkit-text-size-adjust: 100%;
  padding: 0;
  margin: 0;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: 1.2;
  color: #4A4848;
  position: relative;
  overflow-y: scroll;
  background-color: #F8F6EF;
}
@media screen and (min-width: 836px) {
  body {
    font-size: clamp(13.6px, 1.111vw, 17.6px);
  }
}
@media screen and (max-width: 835px) {
  body {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
  }
}

@media screen and (max-width: 835px) {
  html, body {
    min-height: 100vh;
    min-height: 100dvh;
  }
}

.p-header__logo {
  position: absolute;
  display: block;
  z-index: 2;
}
@media screen and (min-width: 836px) {
  .p-header__logo {
    width: min(124.3px, 7.847vw);
    top: min(16.5px, 1.042vw);
    left: min(16.5px, 1.042vw);
  }
}
@media screen and (max-width: 835px) {
  .p-header__logo {
    width: min(63.8px, 15.467vw);
    top: min(16.5px, 4vw);
    left: min(22px, 5.333vw);
  }
}
.p-header__logo img {
  width: 100%;
}

@media screen and (min-width: 836px) {
  .l-footer {
    padding-top: min(88px, 5.556vw);
    padding-bottom: min(66px, 4.167vw);
  }
}
@media screen and (max-width: 835px) {
  .l-footer {
    padding-top: min(70.4px, 17.067vw);
    padding-bottom: min(77px, 18.667vw);
  }
}
.l-footer__text {
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 836px) {
  .l-footer__text {
    margin: 0 auto min(22px, 1.389vw);
    font-size: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .l-footer__text {
    font-size: min(15.4px, 3.733vw);
    margin: 0 auto min(26.4px, 6.4vw);
  }
}
.l-footer__text strong {
  color: #2F99E3;
}
.l-footer__text::before, .l-footer__text::after {
  content: "";
  width: 2px;
  height: 1.5em;
  position: absolute;
  bottom: 0;
  display: block;
  background-color: #4A4848;
}
@media screen and (max-width: 835px) {
  .l-footer__text::before, .l-footer__text::after {
    width: 1px;
    height: 2em;
    bottom: -0.25em;
  }
}
.l-footer__text::before {
  left: -1em;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}
@media screen and (max-width: 835px) {
  .l-footer__text::before {
    -webkit-transform: rotate(-17deg);
            transform: rotate(-17deg);
  }
}
.l-footer__text::after {
  right: -1em;
  -webkit-transform: rotate(17deg);
          transform: rotate(17deg);
}
@media screen and (max-width: 835px) {
  .l-footer__text::after {
    -webkit-transform: rotate(17deg);
            transform: rotate(17deg);
  }
}
.l-footer__inner {
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 835px) {
  .l-footer__inner {
    margin: 0;
  }
}
@media screen and (min-width: 836px) {
  .--end .l-footer__inner {
    padding-bottom: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .--end .l-footer__inner {
    padding: 0;
  }
}

.p-footer__privacypolicy {
  margin-bottom: 1em;
}
.p-footer__privacypolicy a {
  display: inline-block;
  color: #6F6F6F;
  line-height: 1.3;
  text-decoration: underline;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.p-footer__privacypolicy a:hover {
  border-color: transparent;
}
@media screen and (min-width: 836px) {
  .p-footer__privacypolicy a {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-footer__privacypolicy a {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
    letter-spacing: 0.1em;
  }
}
.p-footer__copyright {
  color: #6F6F6F;
}
@media screen and (min-width: 836px) {
  .p-footer__copyright > small {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-footer__copyright > small {
    font-size: clamp(8.5px, 2.667vw, 11px);
  }
}

@media screen and (min-width: 836px) {
  .l-inner + .l-footer__inner {
    padding-top: min(44px, 2.778vw);
  }
}
@media screen and (max-width: 835px) {
  .l-inner + .l-footer__inner {
    padding-top: min(26.4px, 6.4vw);
  }
}

.l-content {
  overflow: hidden;
}

.l-inner {
  width: 100%;
  margin: auto;
}
@media screen and (min-width: 836px) {
  .l-inner {
    max-width: min(1502.6px, 94.861vw);
    padding-inline: min(27.5px, 1.736vw);
  }
}
@media screen and (max-width: 835px) {
  .l-inner {
    padding-inline: min(22px, 5.333vw);
  }
}

.l-section {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 835px) {
  .l-section {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
}

.l-wrapper {
  background: #F8F6EF;
  position: relative;
  z-index: 2;
  overflow: hidden;
}

.end .l-wrapper {
  padding-top: 1px;
}

@-webkit-keyframes cta-btn-shine {
  0% {
    left: -20%;
  }
  30% {
    left: 105%;
  }
  100% {
    left: 105%;
  }
}

@keyframes cta-btn-shine {
  0% {
    left: -20%;
  }
  30% {
    left: 105%;
  }
  100% {
    left: 105%;
  }
}
.c-btn {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
  color: #fff;
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
@media screen and (min-width: 836px) {
  .c-btn {
    width: min(456.5px, 28.819vw);
    height: min(66px, 4.167vw);
    font-size: clamp(17px, 1.389vw, 22px);
  }
}
.c-btn {
  overflow: hidden;
  -webkit-box-shadow: 0 4px 0 0 #1375AF;
          box-shadow: 0 4px 0 0 #1375AF;
  border-radius: 9999px;
  background: #2F99E3;
}
@media screen and (max-width: 835px) {
  .c-btn {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    width: min(346.5px, 84vw);
    height: min(57.2px, 13.867vw);
    max-width: 100%;
  }
}
.c-btn::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#2F99E3), color-stop(50%, #67BCF7), to(#2F99E3));
  background: linear-gradient(to right, #2F99E3 0%, #67BCF7 50%, #2F99E3 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 0;
}
@media (hover: hover) {
  .c-btn:hover::before {
    opacity: 0;
  }
}
.c-btn.--flash::after {
  content: "";
  width: 15%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(40%, rgb(255, 255, 255)), color-stop(60%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 40%, rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0) 100%);
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
  top: 0;
  left: -20%;
  opacity: 0.85;
  position: absolute;
  -webkit-animation: 3s cta-btn-shine infinite cubic-bezier(0.53, 0.05, 0.12, 1.16);
          animation: 3s cta-btn-shine infinite cubic-bezier(0.53, 0.05, 0.12, 1.16);
}
.c-btn > span {
  position: relative;
  z-index: 1;
}
.c-btn .arrow {
  position: absolute;
  top: 50%;
  z-index: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 836px) {
  .c-btn .arrow {
    width: min(8.8px, 0.556vw);
    right: min(35.2px, 2.222vw);
  }
}
@media screen and (max-width: 835px) {
  .c-btn .arrow {
    width: min(6.6px, 1.6vw);
    right: min(19.8px, 4.8vw);
  }
}
.c-btn--white {
  color: #4A4848;
  background: #fff;
  -webkit-box-shadow: 0 4px 0 0 #B9B9B9;
          box-shadow: 0 4px 0 0 #B9B9B9;
}
@media screen and (min-width: 836px) {
  .c-btn--white {
    width: min(264px, 16.667vw);
    height: min(44px, 2.778vw);
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
}
@media screen and (max-width: 835px) {
  .c-btn--white {
    width: min(264px, 64vw);
    height: min(44px, 10.667vw);
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
.c-btn--white::before {
  display: none;
}
.c-btn--white .arrow {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}
@media screen and (min-width: 836px) {
  .c-btn--white .arrow {
    width: min(5.5px, 0.347vw);
    right: min(19.8px, 1.25vw);
  }
}
@media screen and (max-width: 835px) {
  .c-btn--white .arrow {
    width: min(5.5px, 1.333vw);
    right: min(19.8px, 4.8vw);
  }
}
@media (hover: hover) {
  .c-btn--white:hover {
    background-color: #f5f5f5;
  }
}
.c-btn--end {
  pointer-events: none;
}
.c-btn--end::after {
  display: none;
}
.c-btn--end:hover {
  opacity: 1 !important;
}

.c-bnr__fixed {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  padding-bottom: env(safe-area-inset-bottom);
  z-index: 50;
  width: 100%;
  background-color: #F8F6EF;
  will-change: transform;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 836px) {
  .c-bnr__fixed__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 min(110px, 6.944vw);
    padding: min(22px, 1.389vw) 0;
  }
}
@media screen and (max-width: 835px) {
  .c-bnr__fixed__inner {
    padding: min(17.6px, 4.267vw) 0;
  }
}
.c-bnr__fixed__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 836px) {
  .c-bnr__fixed__text {
    font-size: clamp(15.3px, 1.25vw, 19.8px);
  }
}
@media screen and (max-width: 835px) {
  .c-bnr__fixed__text {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    margin: 0 auto min(11px, 2.667vw);
    letter-spacing: 0.02em;
  }
}
.c-bnr__fixed__text strong {
  color: #968605;
}
@media screen and (min-width: 836px) {
  .c-bnr__fixed__btn {
    width: min(456.5px, 28.819vw);
    height: min(66px, 4.167vw);
    margin: 0;
  }
}
@media screen and (max-width: 835px) {
  .c-bnr__fixed__btn {
    width: min(346.5px, 84vw);
    height: min(52.8px, 12.8vw);
    margin: auto;
  }
}

.p-hamburger__button {
  background: none;
  position: fixed;
  border: none;
  outline: none;
  text-indent: -999em;
  overflow: hidden;
  cursor: pointer;
  z-index: 999;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 836px) {
  .p-hamburger__button {
    width: min(88px, 5.556vw);
    height: min(88px, 5.556vw);
    top: min(35.2px, 2.222vw);
    right: min(44px, 2.778vw);
  }
}
@media (hover: hover) {
  .p-hamburger__button:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 835px) {
  .p-hamburger__button {
    width: min(77px, 18.667vw);
    height: min(77px, 18.667vw);
    top: 0;
    right: 0;
  }
}
.p-hamburger__button::before, .p-hamburger__button::after {
  content: "";
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-hamburger__button::before {
  background-image: url(../img/common/icon_menu.svg);
  scale: 1.3;
}
.p-hamburger__button::after {
  background-image: url(../img/common/icon_close.svg);
  scale: 1.75;
  opacity: 0;
}
.p-hamburger__button.is-open::before {
  opacity: 0;
}
.p-hamburger__button.is-open::after {
  opacity: 1;
}
.p-hamburger__menu {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 990;
  display: none;
}
.p-hamburger__nav {
  height: 100svh;
  background-color: #9a9a9a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  translate: 100% 0;
  -webkit-transition: translate 0.3s ease-out;
  transition: translate 0.3s ease-out;
}
@media screen and (min-width: 836px) {
  .p-hamburger__nav {
    width: min(440px, 27.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hamburger__nav {
    width: min(352px, 85.333vw);
  }
}
.is-open .p-hamburger__nav {
  translate: 0 0;
}
.p-hamburger__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  margin-top: -50%;
}
@media screen and (min-width: 836px) {
  .p-hamburger__list {
    gap: min(35.2px, 2.222vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hamburger__list {
    gap: min(35.2px, 8.533vw);
  }
}
.p-hamburger__list > li > a {
  color: #fff;
  font-size: clamp(15.3px, 1.25vw, 19.8px);
  font-weight: 500;
  padding-right: 1.5em;
  display: block;
  position: relative;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 835px) {
  .p-hamburger__list > li > a {
    font-size: clamp(15.3px, 4.8vw, 19.8px);
  }
}
.p-hamburger__list > li > a::after {
  content: "";
  width: min(6.6px, 0.417vw);
  height: min(11px, 0.694vw);
  background-image: url(../img/common/arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  rotate: 90deg;
  margin-top: -1px;
}
@media screen and (max-width: 835px) {
  .p-hamburger__list > li > a::after {
    width: min(6.6px, 1.6vw);
    height: min(11px, 2.667vw);
  }
}
@media (hover: hover) {
  .p-hamburger__list > li > a:hover {
    opacity: 0.8;
  }
}

.p-hero {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 836px) {
  .p-hero__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: min(616px, 38.889vw);
    margin-bottom: min(33px, 2.083vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hero__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-bottom: min(22px, 5.333vw);
  }
}
.p-hero__block {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 836px) {
  .p-hero__block {
    width: min(532.4px, 33.611vw);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: min(88px, 5.556vw) 0 0 min(61.6px, 3.889vw);
  }
}
@media screen and (min-width: 836px) {
  .p-hero__title {
    width: min(420.2px, 26.528vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hero__title {
    width: 100%;
    max-width: min(412.5px, 100vw);
    margin-inline: auto;
  }
}
.p-hero__title img {
  width: 100%;
}
@media screen and (min-width: 836px) {
  .p-hero__btn {
    width: min(418px, 26.389vw);
    margin: 0;
    margin-top: min(33px, 2.083vw);
  }
}
@media screen and (min-width: 836px) {
  .p-hero__period {
    margin-top: min(35.2px, 2.222vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hero__period {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 min(6.6px, 1.6vw);
    margin-top: min(13.2px, 3.2vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-hero__period__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 836px) {
  .p-hero__period__item {
    gap: min(11px, 0.694vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hero__period__item {
    gap: min(4.4px, 1.067vw);
  }
}
@media screen and (min-width: 836px) {
  .p-hero__period__item + .p-hero__period__item {
    margin-top: min(13.2px, 0.833vw);
  }
}
.p-hero__period__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #757D83;
  color: #fff;
  font-weight: 500;
  white-space: nowrap;
}
@media screen and (min-width: 836px) {
  .p-hero__period__label {
    width: min(110px, 6.944vw);
    height: min(26.4px, 1.667vw);
    font-size: min(13.2px, 0.833vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hero__period__label {
    padding: min(4.4px, 1.067vw);
    font-size: min(11px, 2.667vw);
  }
}
.p-hero__period__text {
  color: #757D83;
  font-weight: 500;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-hero__period__text {
    font-size: clamp(15.3px, 1.25vw, 19.8px);
  }
}
@media screen and (max-width: 835px) {
  .p-hero__period__text {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
.p-hero__period__month, .p-hero__period__day {
  font-size: 0.75em;
}
.p-hero__image {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 836px) {
  .p-hero__image {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-bottom-left-radius: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .p-hero__image {
    aspect-ratio: 375/230;
  }
}
.p-hero__image picture,
.p-hero__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-hero__read {
  position: absolute;
  color: #fff;
  font-family: "Zen Old Mincho", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
  text-align: right;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 836px) {
  .p-hero__read {
    bottom: min(44px, 2.778vw);
    right: min(66px, 4.167vw);
    font-size: min(22px, 1.389vw);
    line-height: 2;
  }
}
@media screen and (max-width: 835px) {
  .p-hero__read {
    bottom: min(11px, 2.667vw);
    right: min(22px, 5.333vw);
    font-size: clamp(8.5px, 2.667vw, 11px);
    line-height: 1.5;
  }
}

.p-lead {
  background-color: #EAE7DD;
}
@media screen and (min-width: 836px) {
  .p-lead {
    padding: min(22px, 1.389vw) 0 min(44px, 2.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lead {
    padding: min(33px, 8vw) 0 min(55px, 13.333vw);
  }
}
.p-lead__inner {
  margin: 0 auto;
}
@media screen and (min-width: 836px) {
  .p-lead__inner {
    max-width: clamp(771.8px, 63.056vw, 998.8px);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__inner {
    padding: 0 min(33px, 8vw);
  }
}
.p-lead__title {
  font-family: "Zen Old Mincho", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 836px) {
  .p-lead__title {
    gap: min(8.8px, 0.556vw);
    margin-bottom: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__title {
    gap: min(13.2px, 3.2vw);
    margin-bottom: min(22px, 5.333vw);
  }
}
.p-lead__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #968605;
  color: #fff;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 836px) {
  .p-lead__badge {
    width: clamp(51px, 4.167vw, 66px);
    font-size: clamp(13.6px, 1.111vw, 17.6px);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__badge {
    width: clamp(59.5px, 18.667vw, 77px);
    font-size: clamp(15.3px, 4.8vw, 19.8px);
  }
}
.p-lead__text {
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-lead__text {
    font-size: clamp(20.4px, 1.667vw, 26.4px);
    line-height: 1;
  }
}
@media screen and (min-width: 541px) {
  .p-lead__text {
    translate: 0 -0.2em;
  }
}
@media screen and (max-width: 835px) {
  .p-lead__text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    line-height: 1.4;
  }
}
.p-lead__text span {
  position: relative;
}
.p-lead__emphasis {
  color: #968605;
}
@media screen and (min-width: 836px) {
  .p-lead__emphasis {
    font-size: clamp(30.6px, 2.5vw, 39.6px);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__emphasis {
    font-size: clamp(23.8px, 7.467vw, 30.8px);
  }
}
.p-lead__tax {
  position: absolute;
  top: -0.5em;
  right: 0;
}
@media screen and (min-width: 836px) {
  .p-lead__tax {
    font-size: clamp(8.5px, 0.694vw, 11px);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__tax {
    font-size: clamp(5.1px, 1.6vw, 6.6px);
  }
}
.p-lead__course {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 836px) {
  .p-lead__course {
    -ms-grid-columns: 1fr min(26.4px, 1.667vw) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: min(26.4px, 1.667vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 835px) {
  .p-lead__course {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: min(13.2px, 3.2vw);
  }
}
.p-lead__box {
  background-color: #fff;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 836px) {
  .p-lead__box {
    height: min(154px, 9.722vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__box {
    height: min(99px, 24vw);
  }
}
.p-lead__thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
}
@media screen and (min-width: 836px) {
  .p-lead__thumb {
    width: min(211.2px, 13.333vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__thumb {
    width: min(132px, 32vw);
  }
}
.p-lead__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-lead__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 836px) {
  .p-lead__info {
    gap: min(13.2px, 0.833vw);
    padding-inline: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__info {
    gap: min(4.4px, 1.067vw);
    padding-left: min(26.4px, 6.4vw);
  }
}
.p-lead__course-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #4A4848;
  color: #fff;
  border-radius: 50%;
  font-weight: 500;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 836px) {
  .p-lead__course-label {
    width: min(33px, 2.083vw);
    height: min(33px, 2.083vw);
    font-size: clamp(15.3px, 1.25vw, 19.8px);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__course-label {
    width: min(22px, 5.333vw);
    height: min(22px, 5.333vw);
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.p-lead__course-name {
  font-weight: 500;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-lead__course-name {
    font-size: clamp(15.3px, 1.25vw, 19.8px);
  }
}
@media screen and (max-width: 835px) {
  .p-lead__course-name {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}

@media screen and (min-width: 836px) {
  .p-requirement {
    padding-top: min(110px, 6.944vw);
    padding-bottom: min(110px, 6.944vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement {
    padding-top: min(66px, 16vw);
    padding-bottom: min(66px, 16vw);
  }
}
.p-requirement__inner {
  margin: 0 auto;
}
@media screen and (min-width: 836px) {
  .p-requirement__inner {
    max-width: min(998.8px, 63.056vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__inner {
    padding: 0 min(33px, 8vw);
  }
}
.p-requirement__head {
  margin-inline: auto;
}
@media screen and (min-width: 836px) {
  .p-requirement__head {
    width: min(998.8px, 63.056vw);
    margin-bottom: min(44px, 2.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__head {
    width: 100%;
    margin-bottom: min(44px, 10.667vw);
  }
}
.p-requirement__head img {
  width: 100%;
}
.p-requirement__table {
  background-color: #fff;
  border-radius: 12px;
  overflow: clip;
}
@media screen and (min-width: 836px) {
  .p-requirement__table {
    padding: min(44px, 2.778vw) min(33px, 2.083vw) min(44px, 2.778vw) min(66px, 4.167vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__table {
    padding: min(26.4px, 6.4vw) min(13.2px, 3.2vw) min(22px, 5.333vw) min(22px, 5.333vw);
  }
}
@media screen and (min-width: 836px) {
  .p-requirement__table + .c-btn {
    margin-top: min(44px, 2.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__table + .c-btn {
    margin-top: min(44px, 10.667vw);
  }
}
.p-requirement__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-weight: 700;
  color: #4A4848;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 836px) {
  .p-requirement__title {
    font-size: clamp(17px, 1.389vw, 22px);
    margin-bottom: min(26.4px, 1.667vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__title {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    margin-bottom: min(13.2px, 3.2vw);
  }
}
.p-requirement__dl {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: 1.8;
  color: #4A4848;
  overflow-y: scroll;
}
@media screen and (min-width: 836px) {
  .p-requirement__dl {
    height: min(352px, 22.222vw);
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    padding-right: min(33px, 2.083vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__dl {
    height: 95vw;
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    padding-right: min(8.8px, 2.133vw);
  }
}
.p-requirement__dl::-webkit-scrollbar {
  width: 4px;
}
.p-requirement__dl::-webkit-scrollbar-track {
  border-radius: 2px;
}
.p-requirement__dl::-webkit-scrollbar-thumb {
  background: #C5C5C5;
  border-radius: 2px;
}
@media screen and (min-width: 836px) {
  .p-requirement__dl small {
    font-size: clamp(10.2px, 0.833vw, 13.2px);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__dl small {
    font-size: clamp(9.35px, 2.933vw, 12.1px);
  }
}
@media screen and (min-width: 836px) {
  .p-requirement__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(26.4px, 1.667vw);
    padding: min(22px, 1.389vw) 0;
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__row {
    padding: min(17.6px, 4.267vw) 0;
  }
}
.p-requirement__row:first-child {
  padding-top: 0;
}
.p-requirement__row + .p-requirement__row {
  border-top: 1px dashed #C5C5C5;
}
.p-requirement__row:last-child {
  padding-bottom: 0;
}
.p-requirement__row dt {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 700;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-requirement__row dt {
    width: min(149.6px, 9.444vw);
  }
}
@media screen and (max-width: 835px) {
  .p-requirement__row dt {
    margin-bottom: min(8.8px, 2.133vw);
  }
}
.p-requirement__row dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 400;
}

.p-about__tab {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}
@media screen and (min-width: 836px) {
  .p-about__tab {
    gap: min(17.6px, 1.111vw);
    max-width: min(677.6px, 42.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__tab {
    display: none;
  }
}
.p-about__tab__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  overflow: hidden;
  background-color: #fff;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
@media screen and (max-width: 835px) {
  .p-about__tab__item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-about__tab__item.is-active {
  background-color: #EAE7DD;
}
@media (hover: hover) {
  .p-about__tab__item:hover {
    background-color: #EAE7DD;
  }
}
.p-about__tab--bottom .p-about__tab__item {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.p-about__tab__thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
}
@media screen and (min-width: 836px) {
  .p-about__tab__thumb {
    width: min(132px, 8.333vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__tab__thumb {
    width: min(132px, 32vw);
  }
}
.p-about__tab__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-about__tab__course {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 836px) {
  .p-about__tab__course {
    padding: min(13.2px, 0.833vw) min(17.6px, 1.111vw);
    gap: min(8.8px, 0.556vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__tab__course {
    padding: min(8.8px, 2.133vw) min(11px, 2.667vw);
    gap: min(8.8px, 2.133vw);
  }
}
.p-about__tab__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #4A4848;
  color: #fff;
  border-radius: 50%;
  font-weight: 500;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 836px) {
  .p-about__tab__label {
    width: min(33px, 2.083vw);
    height: min(33px, 2.083vw);
    font-size: clamp(15.3px, 1.25vw, 19.8px);
  }
}
@media screen and (max-width: 835px) {
  .p-about__tab__label {
    width: min(22px, 5.333vw);
    height: min(22px, 5.333vw);
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.p-about__tab__name {
  font-weight: 500;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-about__tab__name {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-about__tab__name {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.p-about__acc {
  display: none;
}
@media screen and (max-width: 835px) {
  .p-about__acc {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: min(132px, 32vw) 1fr;
    grid-template-columns: min(132px, 32vw) 1fr;
    overflow: hidden;
    border-radius: 8px;
    background-color: #fff;
    color: #4A4848;
    cursor: pointer;
    margin-inline: min(33px, 8vw);
    -webkit-transition: background-color 0.3s, color 0.3s, border-radius 0.3s;
    transition: background-color 0.3s, color 0.3s, border-radius 0.3s;
  }
  .p-about__acc.is-active {
    background-color: #EAE7DD;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.p-about__acc__thumb {
  overflow: hidden;
}
.p-about__acc__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-about__acc__course {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(8.8px, 2.133vw);
  padding: min(13.2px, 3.2vw) min(44px, 10.667vw) min(13.2px, 3.2vw) min(17.6px, 4.267vw);
  position: relative;
}
.p-about__acc__course::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(17.6px, 4.267vw);
  width: min(8.8px, 2.133vw);
  height: min(8.8px, 2.133vw);
  border-right: 2px solid #9A9A9A;
  border-bottom: 2px solid #9A9A9A;
  -webkit-transform: translateY(-70%) rotate(45deg);
          transform: translateY(-70%) rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.p-about__acc.is-active .p-about__acc__course::after {
  -webkit-transform: translateY(-30%) rotate(45deg) scale(-1, -1);
          transform: translateY(-30%) rotate(45deg) scale(-1, -1);
}
.p-about__acc__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #4A4848;
  color: #fff;
  border-radius: 50%;
  font-weight: 500;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(26.4px, 6.4vw);
  height: min(26.4px, 6.4vw);
  font-size: clamp(11.9px, 3.733vw, 15.4px);
}
.p-about__acc__name {
  font-weight: 500;
  font-size: clamp(11.9px, 3.733vw, 15.4px);
}
@media screen and (max-width: 835px) {
  .p-about__block + .p-about__acc {
    margin-top: min(13.2px, 3.2vw);
  }
}
.p-about__block {
  background-color: #EAE7DD;
  margin-inline: auto;
}
@media screen and (min-width: 836px) {
  .p-about__block {
    padding-block: min(110px, 6.944vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__block {
    padding-top: min(66px, 16vw);
    padding-bottom: min(44px, 10.667vw);
  }
}
.p-about__block__inner {
  margin: 0 auto;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.p-about__block__inner.is-visible {
  opacity: 1;
}
@media screen and (min-width: 836px) {
  .p-about__block__inner {
    max-width: min(998.8px, 63.056vw);
  }
}
@media screen and (min-width: 836px) {
  .p-about__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(44px, 2.778vw);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 835px) {
  .p-about__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 836px) {
  .p-about__text-area {
    width: min(411.4px, 25.972vw);
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 835px) {
  .p-about__text-area {
    padding-inline: min(33px, 8vw);
  }
}
.p-about__course-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 836px) {
  .p-about__course-title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: min(13.2px, 0.833vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__course-title {
    gap: min(17.6px, 4.267vw);
  }
}
.p-about__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #4A4848;
  color: #fff;
  font-weight: 500;
}
@media screen and (min-width: 836px) {
  .p-about__label {
    width: min(105.6px, 6.667vw);
    height: min(45.1px, 2.847vw);
    font-size: clamp(17px, 1.389vw, 22px);
  }
}
@media screen and (max-width: 835px) {
  .p-about__label {
    padding: min(4.4px, 1.067vw) min(5.5px, 1.333vw);
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
.p-about__heading {
  font-weight: 500;
  color: #4A4848;
  line-height: 2;
}
@media screen and (min-width: 836px) {
  .p-about__heading {
    font-size: clamp(20.4px, 1.667vw, 26.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-about__heading {
    font-size: clamp(17px, 5.333vw, 22px);
  }
}
.p-about__desc {
  line-height: 2;
  font-weight: 400;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-about__desc {
    margin-top: min(44px, 2.778vw);
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-about__desc {
    margin-top: min(26.4px, 6.4vw);
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
.p-about__note {
  line-height: 1.5;
}
@media screen and (min-width: 836px) {
  .p-about__note {
    font-size: clamp(9.35px, 0.764vw, 12.1px);
    margin-top: min(13.2px, 0.833vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__note {
    font-size: clamp(8.5px, 2.667vw, 11px);
    margin-top: min(8.8px, 2.133vw);
  }
}
@media screen and (min-width: 836px) {
  .p-about__sub-btn {
    margin-top: min(26.4px, 1.667vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__sub-btn {
    margin-top: min(17.6px, 4.267vw);
  }
}
.p-about__main-img {
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 836px) {
  .p-about__main-img {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-radius: 8px;
  }
}
@media screen and (max-width: 835px) {
  .p-about__main-img {
    margin-top: min(22px, 5.333vw);
    border-radius: 0;
  }
}
.p-about__main-img img {
  width: 100%;
  display: block;
}
.p-about__img-note {
  position: absolute;
  color: #fff;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 836px) {
  .p-about__img-note {
    font-size: clamp(8.5px, 0.694vw, 11px);
    bottom: min(8.8px, 0.556vw);
    right: min(13.2px, 0.833vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__img-note {
    font-size: clamp(8.5px, 2.667vw, 11px);
    bottom: min(8.8px, 2.133vw);
    right: 0;
  }
}
@media screen and (min-width: 836px) {
  .p-about__bottom {
    margin-top: min(52.8px, 3.333vw);
  }
}
.p-about__detail {
  background-color: #fff;
  overflow: hidden;
}
@media screen and (min-width: 836px) {
  .p-about__detail {
    padding: min(66px, 4.167vw);
    border-radius: 8px;
  }
}
@media screen and (max-width: 835px) {
  .p-about__detail {
    padding: min(44px, 10.667vw) min(33px, 8vw);
  }
}
@media screen and (min-width: 836px) {
  .p-about__detail__text-area {
    margin-bottom: min(66px, 4.167vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__detail__text-area {
    margin-bottom: min(26.4px, 6.4vw);
  }
}
.p-about__detail__heading {
  font-weight: 500;
  color: #4A4848;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 836px) {
  .p-about__detail__heading {
    font-size: clamp(20.4px, 1.667vw, 26.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-about__detail__heading {
    font-size: clamp(15.3px, 4.8vw, 19.8px);
  }
}
.p-about__detail__lead {
  font-weight: 400;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-about__detail__lead {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    text-align: center;
    line-height: 2;
    margin-top: min(44px, 2.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__detail__lead {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    line-height: 1.5;
    margin-top: min(26.4px, 6.4vw);
  }
}
@media screen and (min-width: 836px) {
  .p-about__cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(26.4px, 1.667vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(26.4px, 6.4vw);
  }
}
@media screen and (min-width: 836px) {
  .p-about__card {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-about__card__img {
  border-radius: 8px;
  overflow: hidden;
}
.p-about__card__img img {
  width: 100%;
  display: block;
}
.p-about__card__caption {
  font-weight: 500;
  color: #4A4848;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 836px) {
  .p-about__card__caption {
    font-size: clamp(13.6px, 1.111vw, 17.6px);
    margin-top: min(26.4px, 1.667vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__card__caption {
    font-size: clamp(13.6px, 4.267vw, 17.6px);
    margin-top: min(13.2px, 3.2vw);
  }
}
.p-about__card__note {
  color: #9a9a9a;
  text-align: right;
}
@media screen and (min-width: 836px) {
  .p-about__card__note {
    font-size: clamp(8.5px, 0.694vw, 11px);
    margin-top: min(4.4px, 0.278vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__card__note {
    font-size: clamp(7.65px, 2.4vw, 9.9px);
    margin-top: min(4.4px, 1.067vw);
  }
}
@media screen and (min-width: 836px) {
  .p-about__card__note + .p-about__card__caption {
    margin-top: min(11px, 0.694vw);
  }
}
@media screen and (min-width: 836px) {
  .p-about__card__compare {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(17.6px, 1.111vw);
  }
}
@media screen and (max-width: 835px) {
  .p-about__card__compare {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(8.8px, 2.133vw);
  }
}
.p-about__compare__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-about__compare__img {
  border-radius: 4px;
  overflow: hidden;
}
.p-about__compare__img img {
  width: 100%;
  display: block;
}
@media screen and (min-width: 836px) {
  .p-about__block .c-btn {
    margin: min(44px, 2.778vw) auto 0;
  }
}
@media screen and (max-width: 835px) {
  .p-about__block .c-btn {
    margin: min(35.2px, 8.533vw) auto 0;
  }
}
@media screen and (min-width: 836px) {
  .p-about__text-area .c-btn {
    margin: min(44px, 2.778vw) 0 0;
  }
}
@media screen and (max-width: 835px) {
  .p-about__text-area .c-btn {
    margin: min(22px, 5.333vw) auto;
  }
}

@media screen and (min-width: 836px) {
  .p-lineup {
    padding: min(110px, 6.944vw) 0;
  }
}
@media screen and (max-width: 835px) {
  .p-lineup {
    padding: min(66px, 16vw) 0;
  }
}
.p-lineup__inner {
  margin: 0 auto;
}
@media screen and (min-width: 836px) {
  .p-lineup__inner {
    max-width: min(998.8px, 63.056vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__inner {
    padding: 0 min(33px, 8vw);
  }
}
@media screen and (min-width: 836px) {
  .p-lineup__head {
    margin-bottom: min(50.6px, 3.194vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__head {
    margin-bottom: min(44px, 10.667vw);
    padding: 0 min(33px, 8vw);
  }
}
.p-lineup__head img {
  width: 100%;
}
@media screen and (min-width: 836px) {
  .p-lineup__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(66px, 4.167vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(44px, 10.667vw);
  }
}
@media screen and (min-width: 836px) {
  .p-lineup__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(44px, 2.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: min(44px, 10.667vw);
  }
}
@media screen and (min-width: 836px) {
  .p-lineup__item + .p-lineup__item {
    padding-top: min(66px, 4.167vw);
    border-top: 1px solid #EAE7DD;
  }
}
.p-lineup__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 836px) {
  .p-lineup__top {
    gap: min(44px, 2.778vw);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 836px) {
  .p-lineup__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(44px, 2.778vw);
  }
}
@media screen and (min-width: 836px) {
  .p-lineup__text-area {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (min-width: 836px) {
  .p-lineup__title {
    margin-bottom: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__title {
    margin-top: min(26.4px, 6.4vw);
    margin-bottom: min(13.2px, 3.2vw);
  }
}
.p-lineup__label {
  font-weight: 500;
}
@media screen and (min-width: 836px) {
  .p-lineup__label {
    font-size: clamp(13.6px, 1.111vw, 17.6px);
    margin-bottom: min(4.4px, 0.278vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__label {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    margin-bottom: min(4.4px, 1.067vw);
  }
}
.p-lineup__name {
  font-weight: 400;
}
@media screen and (min-width: 836px) {
  .p-lineup__name {
    font-size: clamp(40.8px, 3.333vw, 52.8px);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__name {
    font-size: clamp(30.6px, 9.6vw, 39.6px);
  }
}
.p-lineup__desc {
  font-weight: 400;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-lineup__desc {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
    line-height: 2;
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__desc {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    margin-top: min(22px, 5.333vw);
    line-height: 1.5;
  }
}
.p-lineup__img {
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (min-width: 836px) {
  .p-lineup__img {
    width: min(543.4px, 34.306vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup__top .p-lineup__img {
    margin-top: 0;
    border-radius: 0;
    margin-left: max(-33px, -8vw);
    margin-right: max(-33px, -8vw);
  }
}
.p-lineup__img img {
  width: 100%;
  display: block;
}

.p-lineup + .p-flow {
  background-color: #EAE7DD;
}
@media screen and (min-width: 836px) {
  .p-lineup + .p-flow {
    padding-bottom: min(110px, 6.944vw);
  }
}
@media screen and (max-width: 835px) {
  .p-lineup + .p-flow {
    padding-bottom: min(66px, 16vw);
  }
}

@media screen and (min-width: 836px) {
  .p-flow {
    padding-top: min(110px, 6.944vw);
  }
}
@media screen and (max-width: 835px) {
  .p-flow {
    padding-top: min(66px, 16vw);
  }
}
.p-flow__inner {
  margin: 0 auto;
}
@media screen and (min-width: 836px) {
  .p-flow__inner {
    max-width: min(998.8px, 63.056vw);
  }
}
@media screen and (max-width: 835px) {
  .p-flow__inner {
    padding: 0 min(33px, 8vw);
  }
}
@media screen and (min-width: 836px) {
  .p-flow__head {
    margin-bottom: min(44px, 2.778vw);
  }
}
@media screen and (max-width: 835px) {
  .p-flow__head {
    margin-bottom: min(44px, 10.667vw);
  }
}
.p-flow__head img {
  width: 100%;
}
@media screen and (min-width: 836px) {
  .p-flow__steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 835px) {
  .p-flow__steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-flow__step {
  background-color: #fff;
  border-radius: 8px;
}
@media screen and (min-width: 836px) {
  .p-flow__step {
    width: min(265.1px, 16.736vw);
    height: min(308px, 19.444vw);
    padding: min(22px, 1.389vw) min(22px, 1.389vw) min(44px, 2.778vw);
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(13.2px, 0.833vw);
  }
}
@media screen and (max-width: 835px) {
  .p-flow__step {
    width: 100%;
    min-height: min(154px, 37.333vw);
    padding: min(22px, 5.333vw);
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr min(13.2px, 3.2vw) min(110px, 26.667vw);
    grid-template-columns: 1fr min(110px, 26.667vw);
    -ms-grid-rows: auto min(13.2px, 3.2vw) auto;
        grid-template-areas: "num-title icon" "desc icon";
    gap: min(13.2px, 3.2vw);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.p-flow__step__num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #4A4848;
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 836px) {
  .p-flow__step__num {
    width: min(44px, 2.778vw);
    font-size: clamp(15.3px, 1.25vw, 19.8px);
  }
}
@media screen and (max-width: 835px) {
  .p-flow__step__num {
    width: min(35.2px, 8.533vw);
    font-size: clamp(15.3px, 4.8vw, 19.8px);
    grid-area: num-title;
    -ms-grid-row-align: center;
        align-self: center;
  }
}
.p-flow__step__title {
  font-weight: 500;
  color: #4A4848;
}
@media screen and (min-width: 836px) {
  .p-flow__step__title {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-flow__step__title {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    grid-area: num-title;
    -ms-grid-row-align: center;
        align-self: center;
    padding-left: min(46.2px, 11.2vw);
  }
}
@media screen and (min-width: 836px) {
  .p-flow__step__icon {
    width: min(72.6px, 4.583vw);
    margin: 0 auto;
  }
}
@media screen and (max-width: 835px) {
  .p-flow__step__icon {
    width: min(72.6px, 17.6vw);
    grid-area: icon;
    -ms-grid-column-align: center;
        justify-self: center;
    -ms-grid-row-align: center;
        align-self: center;
  }
}
.p-flow__step__icon img {
  width: 100%;
}
.p-flow__step__desc {
  color: #4A4848;
  line-height: 1.5;
  font-weight: 500;
  text-align: left;
}
@media screen and (min-width: 836px) {
  .p-flow__step__desc {
    font-size: clamp(11.9px, 0.972vw, 15.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-flow__step__desc {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
    grid-area: desc;
  }
}
@media screen and (max-width: 835px){
  .p-flow__step__num {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-flow__step__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-flow__step__icon {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .p-flow__step__desc {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}
@media screen and (min-width: 836px) {
  .p-flow__step__desc.--center {
    text-align: center;
  }
}
.p-flow__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
@media screen and (min-width: 836px) {
  .p-flow__arrow {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
  }
}
@media screen and (max-width: 835px) {
  .p-flow__arrow {
    width: 100%;
    height: min(41.8px, 10.133vw);
  }
}
.p-flow__arrow::before {
  content: "";
  display: block;
  border-style: solid;
  border-color: #9a9a9a;
  aspect-ratio: 1/1;
  border-width: 0 1px 1px 0;
}
@media screen and (min-width: 836px) {
  .p-flow__arrow::before {
    width: min(35.2px, 2.222vw);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}
@media screen and (max-width: 835px) {
  .p-flow__arrow::before {
    width: min(35.2px, 8.533vw);
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    top: calc(min(8.8px, 2.133vw) * -1);
    left: 50%;
    translate: -50% 0;
  }
}

.p-prize {
  max-width: 900px;
  text-align: center;
  position: relative;
  margin-inline: auto;
}
@media screen and (min-width: 836px) {
  .p-prize {
    padding-top: min(88px, 5.556vw);
  }
}
@media screen and (max-width: 835px) {
  .p-prize {
    max-width: none;
    padding: min(66px, 16vw) min(33px, 8vw) 0;
  }
}
.p-prize__title {
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.075em;
  color: #131313;
  font-weight: bold;
}
@media screen and (min-width: 836px) {
  .p-prize__title {
    font-size: clamp(27.2px, 2.222vw, 35.2px);
    margin-bottom: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .p-prize__title {
    margin-bottom: min(13.2px, 3.2vw);
    font-size: clamp(20.4px, 6.4vw, 26.4px);
  }
}
.p-prize__lead {
  line-height: 2;
}
@media screen and (min-width: 836px) {
  .p-prize__lead {
    font-size: clamp(13.6px, 1.111vw, 17.6px);
    margin-bottom: min(22px, 1.389vw);
  }
}
@media screen and (max-width: 835px) {
  .p-prize__lead {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    margin-bottom: min(22px, 5.333vw);
  }
}
.p-prize__name {
  background: url(../img/sec_winner_bg_pc.jpg) center center no-repeat;
  background-size: contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 836px) {
  .p-prize__name {
    width: min(686.4px, 43.333vw);
    height: min(220px, 13.889vw);
    margin-bottom: min(33px, 2.083vw);
  }
}
@media screen and (max-width: 835px) {
  .p-prize__name {
    background: url(../img/sec_winner_bg_sp.jpg) center center no-repeat;
    background-size: contain;
    width: min(330px, 80vw);
    height: min(185.9px, 45.067vw);
    margin-bottom: min(33px, 8vw);
  }
}
.p-prize__name p {
  line-height: 2;
  color: #291307;
}
@media screen and (min-width: 836px) {
  .p-prize__name p {
    font-size: clamp(20.4px, 1.667vw, 26.4px);
  }
}
@media screen and (max-width: 835px) {
  .p-prize__name p {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    position: absolute;
    left: 0%;
    top: 50%;
    width: 100%;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
}
.p-prize__notice {
  line-height: 1.5;
}
@media screen and (min-width: 836px) {
  .p-prize__notice {
    font-size: clamp(13.6px, 1.111vw, 17.6px);
  }
}
@media screen and (max-width: 835px) {
  .p-prize__notice {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}

/** HTML サンプル
<section id="end" class="p-prize">
  <div class="l-inner">
    <h2 class="p-prize__title serif">
      <span>「新築資金1,000万円プレゼント」</span><b>当選発表！</b>
    </h2>
    <p class="p-prize__lead">
      多数のご応募ありがとうございました！<br>第三者立会いのもと、厳正なる抽選を行いました。<br class="sp">当選結果は以下になります。
    </p>
    <div class="p-prize__name">
      <p>
        ○○さま（〇〇市○○区）が<br class="sp">当選されました。<br>おめでとうございます！
      </p>
    </div>
    <p class="p-prize__notice">ご当選者様には、担当ホームエンジニアから<br class="sp">直接ご連絡させていただきます。</p>
  </div>
</section>
*/