@charset "UTF-8";
/*
  フォントサイズ
    $size: font-size px（Figma 1x値）→ vw（SP: 375基準）/ vp相当（PC: 769〜1599px）/ rem（1600px〜）
    $line-height: Figma行間 px or null
    $letter-spacing: Figma文字間 % or null
    $min-ratio: PC可変時の最小フォント倍率
*/
/*
  SP: v() / PC: vp()（769〜1599px 可変、1600px〜固定）
*/
/*
  コンテンツインナー
  SP: 左右 v(30) / PC: max-width vp($max) + 中央寄せ（左右余白は自動で可変）
*/
@font-face {
  font-family: "Generika";
  src: url("../font/generika-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Generika";
  src: url("../font/generika-light-italic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Generika";
  src: url("../font/generika-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Generika";
  src: url("../font/generika-regular-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Generika";
  src: url("../font/generika-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  list-style-type: none;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
} /* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
} /* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
} /* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
  outline: none;
  border: none;
}

picture {
  display: block;
  line-height: 0;
}

* {
  box-sizing: border-box;
}

.header {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 10;
  font-size: 0;
}
@media screen and (min-width: 1600px) {
  .header {
    width: 1600px;
    right: 0px;
    margin: 0px auto;
  }
}

.header__line {
  top: 0px;
  left: 0px;
  display: block;
  height: 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  .header__line {
    height: min(3.75vw, 60px);
  }
}
.header__line {
  background: #0055A5;
  position: sticky;
  top: 0px;
  z-index: 8;
}

.header__link {
  display: inline-block;
}

.header__logo {
  width: 26.6666666667vw;
}
@media screen and (min-width: 769px) {
  .header__logo {
    width: min(15vw, 240px);
  }
}
.header__logo {
  background: #FFFFFF;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0px;
  left: 0px;
}
@media screen and (min-width: 769px) {
  .header__logo {
    padding: min(0.625vw, 10px) 0px;
  }
  .header__logo:hover img {
    opacity: 0.8;
  }
}
.header__logo img {
  width: 26.6666666667vw;
}
@media screen and (min-width: 769px) {
  .header__logo img {
    width: min(12.5vw, 200px);
  }
}
@media screen and (min-width: 769px) {
  .header__logo img {
    transition: opacity 0.4s ease;
  }
}

.header__title {
  padding: 0.1em 3.2vw 0px;
  background-color: #fff;
  color: #DD3333;
  font-weight: 700;
  font-family: "Generika", sans-serif;
  display: flex;
  align-items: center;
  outline: 1.6vw solid #0055A5;
  outline-offset: -1.6vw;
  position: fixed;
  top: 0px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  outline-offset: -1.6vw;
}
@media screen and (min-width: 769px) {
  .header__title {
    outline-offset: max(-0.4375vw, -7px);
  }
}
.header__title {
  column-gap: 1.0666666667vw;
}
@media screen and (min-width: 769px) {
  .header__title {
    column-gap: min(0.5vw, 8px);
  }
}
.header__title {
  height: 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  .header__title {
    height: min(3.75vw, 60px);
  }
}
.header__title {
  font-size: 5.6vw;
}
@media screen and (min-width: 769px) {
  .header__title {
    font-size: min(1.3125vw, 21px);
  }
}
@media screen and (min-width: 1600px) {
  .header__title {
    font-size: 2.1rem;
  }
}
.header__title {
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .header__title {
    padding: 0.1em min(0.75vw, 12px) 0px;
    outline-width: min(0.4375vw, 7px);
    font-size: 10.1333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .header__title {
    font-size: min(2.375vw, 38px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .header__title {
    font-size: 3.8rem;
  }
}
.header.--out .header__title {
  opacity: 1;
  pointer-events: all;
}
.header__title span {
  margin-top: -0.2em;
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  .header__title span {
    font-size: min(1vw, 16px);
  }
}
@media screen and (min-width: 1600px) {
  .header__title span {
    font-size: 1.6rem;
  }
}
.header__title span {
  line-height: 1;
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (min-width: 769px) {
  .header__title span {
    font-size: 7.4666666667vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .header__title span {
    font-size: min(1.75vw, 28px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .header__title span {
    font-size: 2.8rem;
  }
}

.footer {
  padding: 4.2666666667vw 0px 21.3333333333vw 0px;
  background: #0055A5;
  color: #FFFFFF;
}
@media screen and (min-width: 769px) {
  .footer {
    padding: min(3.125vw, 50px) 0px;
  }
}

.footer__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .footer__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  row-gap: 2.1333333333vw;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .footer__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: min(3.75vw, 60px);
  }
}

.footer__logo {
  width: 32.8vw;
}
@media screen and (min-width: 769px) {
  .footer__logo {
    width: min(12.5vw, 200px);
  }
}
.footer__logo a {
  display: block;
}
@media screen and (min-width: 769px) {
  .footer__logo a {
    transition: opacity 0.4s ease;
  }
  .footer__logo a:hover {
    opacity: 0.8;
  }
}
.footer__logo img {
  width: 100%;
}

.footer__links {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__links {
    margin-top: 3.2vw;
  }
}

.footer__info {
  display: flex;
  flex-direction: column;
  row-gap: 3.2vw;
}
@media screen and (min-width: 769px) {
  .footer__info {
    row-gap: min(0.75vw, 12px);
  }
}

.footer__contact small {
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .footer__contact small {
    font-size: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 1600px) {
  .footer__contact small {
    font-size: 1rem;
  }
}
.footer__contact small {
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .footer__contact small {
    font-size: 3.2vw;
    line-height: 1.5833333333;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .footer__contact small {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .footer__contact small {
    font-size: 1.2rem;
  }
}

.footer__note {
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .footer__note {
    font-size: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 1600px) {
  .footer__note {
    font-size: 1rem;
  }
}
.footer__note {
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .footer__note {
    font-size: 3.2vw;
    line-height: 1.5833333333;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .footer__note {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .footer__note {
    font-size: 1.2rem;
  }
}

.footer__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.3333333333vw;
  flex-wrap: wrap;
  margin-top: 9.6vw;
}
@media screen and (min-width: 769px) {
  .footer__link {
    margin-top: min(2.25vw, 36px);
  }
}
@media screen and (min-width: 769px) {
  .footer__link {
    column-gap: min(1.75vw, 28px);
    justify-content: flex-end;
  }
}
.footer__link a:not(.footer__instagram) {
  color: #fff;
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .footer__link a:not(.footer__instagram) {
    font-size: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 1600px) {
  .footer__link a:not(.footer__instagram) {
    font-size: 1rem;
  }
}
.footer__link a:not(.footer__instagram) {
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .footer__link a:not(.footer__instagram) {
    font-size: 3.7333333333vw;
    line-height: 1.5714285714;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .footer__link a:not(.footer__instagram) {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .footer__link a:not(.footer__instagram) {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 769px) {
  .footer__link a:not(.footer__instagram):hover {
    text-decoration: underline;
  }
}

.footer__instagram {
  display: block;
  width: 8vw;
}
@media screen and (min-width: 769px) {
  .footer__instagram {
    width: min(2.0625vw, 33px);
  }
}
.footer__instagram {
  height: 8vw;
}
@media screen and (min-width: 769px) {
  .footer__instagram {
    height: min(2.0625vw, 33px);
  }
}
.footer__instagram {
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" viewBox="0 0 33 33" fill="none"><path d="M9.66639 0.115397C7.91079 0.198227 6.7119 0.478397 5.66382 0.890237C4.57911 1.31297 3.65973 1.88024 2.74497 2.7983C1.83021 3.71636 1.2669 4.6364 0.847137 5.72276C0.440907 6.77315 0.165687 7.97303 0.0881368 9.72962C0.0105868 11.4862 -0.00657324 12.0508 0.00200675 16.5316C0.0105868 21.0123 0.0303868 21.574 0.115527 23.3342C0.199347 25.0895 0.478527 26.288 0.890367 27.3364C1.31376 28.4211 1.88037 29.3402 2.79876 30.2553C3.71715 31.1704 4.63653 31.7324 5.72553 32.1528C6.77493 32.5584 7.97514 32.8349 9.7314 32.9118C11.4877 32.9887 12.0529 33.0065 16.5324 32.9979C21.0118 32.9893 21.5758 32.9695 23.3356 32.886C25.0955 32.8026 26.2878 32.5214 27.3366 32.1115C28.4213 31.6872 29.341 31.1215 30.2554 30.2028C31.1698 29.2841 31.7328 28.3634 32.1523 27.2764C32.5588 26.227 32.835 25.0268 32.9113 23.2718C32.9881 21.5106 33.0063 20.9483 32.9977 16.4682C32.9891 11.9881 32.969 11.4265 32.8855 9.66692C32.802 7.90736 32.5225 6.71243 32.111 5.66336C31.687 4.57865 31.121 3.66026 30.2029 2.74451C29.2849 1.82876 28.3635 1.26611 27.2768 0.847667C26.2268 0.441437 25.0272 0.164567 23.271 0.0886671C21.5147 0.0127671 20.9494 -0.00670294 16.4683 0.00187706C11.9873 0.0104571 11.4263 0.0295971 9.66639 0.115397ZM9.85911 29.9434C8.25036 29.8735 7.37685 29.6062 6.79473 29.3824C6.02385 29.0854 5.47473 28.7264 4.89459 28.1519C4.31445 27.5773 3.95805 27.0262 3.65709 26.257C3.43104 25.6749 3.15879 24.8024 3.08355 23.1936C3.00171 21.4548 2.98455 20.9328 2.97498 16.5276C2.96541 12.1224 2.98224 11.601 3.05847 9.86162C3.12711 8.25419 3.39606 7.37969 3.61947 6.7979C3.91647 6.02603 4.27419 5.4779 4.85004 4.89809C5.42589 4.31828 5.97534 3.96122 6.74523 3.66026C7.32669 3.43322 8.19921 3.16328 9.8073 3.08672C11.5474 3.00422 12.0688 2.98772 16.4733 2.97815C20.8778 2.96858 21.4005 2.98508 23.1413 3.06164C24.7487 3.1316 25.6235 3.39791 26.2047 3.62264C26.9759 3.91964 27.5247 4.27637 28.1045 4.85321C28.6843 5.43005 29.0417 5.97752 29.3426 6.74906C29.57 7.32887 29.8399 8.20106 29.9158 9.81014C29.9987 11.5502 30.0175 12.072 30.0254 16.4761C30.0333 20.8803 30.0178 21.4034 29.9416 23.1421C29.8713 24.7509 29.6047 25.6247 29.3806 26.2075C29.0836 26.9781 28.7255 27.5275 28.1494 28.107C27.5732 28.6865 27.0244 29.0435 26.2542 29.3445C25.6734 29.5712 24.7999 29.8418 23.1931 29.9184C21.453 30.0002 20.9316 30.0174 16.5254 30.0269C12.1193 30.0365 11.5995 30.0187 9.85944 29.9434M23.3102 7.68131C23.3109 8.07294 23.4277 8.45559 23.6458 8.78085C23.8639 9.10611 24.1736 9.35937 24.5357 9.50861C24.8978 9.65785 25.296 9.69635 25.68 9.61926C26.064 9.54217 26.4164 9.35294 26.6929 9.07551C26.9693 8.79807 27.1572 8.44489 27.2329 8.06064C27.3086 7.67639 27.2686 7.27832 27.1181 6.91679C26.9675 6.55525 26.7131 6.24649 26.387 6.02954C26.061 5.8126 25.6779 5.69722 25.2863 5.69801C24.7613 5.69906 24.2582 5.90858 23.8876 6.2805C23.517 6.65242 23.3094 7.15629 23.3102 7.68131ZM8.02794 16.5164C8.03718 21.1958 11.8375 24.9806 16.5159 24.9717C21.1943 24.9627 24.9817 21.1628 24.9728 16.4834C24.9639 11.804 21.1626 8.01824 16.4835 8.02748C11.8045 8.03672 8.01903 11.8377 8.02794 16.5164ZM10.9999 16.5105C10.9978 15.4226 11.3182 14.3586 11.9208 13.4529C12.5234 12.5473 13.381 11.8406 14.3852 11.4223C15.3893 11.004 16.495 10.8929 17.5624 11.103C18.6297 11.3131 19.6107 11.835 20.3815 12.6027C21.1522 13.3704 21.678 14.3494 21.8923 15.4159C22.1066 16.4824 21.9999 17.5885 21.5856 18.5943C21.1713 19.6001 20.4681 20.4605 19.5648 21.0667C18.6615 21.6728 17.5987 21.9975 16.5109 21.9997C15.7886 22.0012 15.0731 21.8604 14.4052 21.5854C13.7373 21.3103 13.1301 20.9064 12.6184 20.3966C12.1066 19.8869 11.7003 19.2813 11.4226 18.6145C11.1449 17.9477 11.0013 17.2328 10.9999 16.5105Z" fill="white"/></svg>') center center/contain no-repeat;
}
@media screen and (min-width: 769px) {
  .footer__instagram {
    margin: 0px;
  }
}

.footer_sticky {
  width: fit-content;
  margin-left: auto;
  position: sticky;
  bottom: 18.6666666667vw;
  z-index: 8;
}
@media screen and (min-width: 769px) {
  .footer_sticky {
    bottom: min(3.75vw, 60px);
    max-width: 100%;
    margin-right: min(1.25vw, 20px);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    transition: bottom 0.4s ease;
  }
}

.kv.--in ~ .footer_sticky .footer__pagetop {
  opacity: 0;
  pointer-events: none;
}

.footer__pagetop {
  display: block;
  margin-left: auto;
  font-size: 0;
  background: url(../img/footer/btn_top.webp) center center/contain no-repeat;
  margin-bottom: -7.7333333333vw;
}
@media screen and (min-width: 769px) {
  .footer__pagetop {
    margin-bottom: max(-2.4375vw, -39px);
  }
}
.footer__pagetop {
  margin-top: -7.7333333333vw;
}
@media screen and (min-width: 769px) {
  .footer__pagetop {
    margin-top: max(-2.4375vw, -39px);
  }
}
.footer__pagetop {
  margin-right: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .footer__pagetop {
    margin-right: min(1.25vw, 20px);
  }
}
.footer__pagetop {
  width: 15.4666666667vw;
}
@media screen and (min-width: 769px) {
  .footer__pagetop {
    width: min(4.875vw, 78px);
  }
}
.footer__pagetop {
  height: 15.4666666667vw;
}
@media screen and (min-width: 769px) {
  .footer__pagetop {
    height: min(4.875vw, 78px);
  }
}
.footer__pagetop {
  transition: filter 0.3s ease, opacity 0.4s ease;
}
@media screen and (min-width: 769px) {
  .footer__pagetop {
    margin-left: 0;
    margin-right: 0;
  }
  .footer__pagetop:hover {
    filter: brightness(1.4);
  }
}

.footer__cta {
  height: 16vw;
}
@media screen and (min-width: 769px) {
  .footer__cta {
    height: min(5vw, 80px);
  }
}
.footer__cta {
  display: block;
  border: 0.8vw solid #0055A5;
  background-color: #FFF100;
  display: flex;
  align-items: center;
  column-gap: 4.2666666667vw;
  justify-content: center;
  z-index: 8;
}
@media screen and (max-width: 768px) {
  .footer__cta {
    width: 100%;
    position: fixed;
    bottom: 1.0666666667vw;
    left: 0px;
  }
}
@media screen and (min-width: 769px) {
  .footer__cta {
    width: min(15vw, 240px);
    border-width: min(0.1875vw, 3px);
    box-shadow: 0 min(0.25vw, 4px) min(0.5vw, 8px) 0 rgba(0, 0, 0, 0.1);
    flex-direction: column;
    row-gap: min(0.1875vw, 3px);
    margin: max(-10vw, -160px) 0 min(5vw, 80px) 0;
    transition: background-color 0.4s ease;
  }
  .footer__cta:hover {
    background-color: #0055A5;
  }
}

@media screen and (min-width: 769px) {
  .kv.--in ~ .footer_sticky {
    bottom: max(-4.375vw, -70px);
  }
}

.footer_cta--title {
  font-family: "Generika", sans-serif;
  font-weight: 700;
  display: none;
  font-size: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--title {
    font-size: min(1.75vw, 28px);
  }
}
@media screen and (min-width: 1600px) {
  .footer_cta--title {
    font-size: 2.8rem;
  }
}
.footer_cta--title {
  line-height: 1;
  padding-top: 1.0666666667vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--title {
    padding-top: min(0vw, 0px);
  }
}

.footer_cta--reserve {
  display: flex;
  align-items: center;
  font-weight: 700;
  color: #0055A5;
  padding-top: 1.0666666667vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve {
    padding-top: min(0vw, 0px);
  }
}
.footer_cta--reserve {
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve {
    margin-bottom: min(0vw, 0px);
  }
}
.footer_cta--reserve {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .footer_cta--reserve {
    font-size: 1.4rem;
  }
}
.footer_cta--reserve {
  line-height: 1;
  column-gap: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve {
    column-gap: min(0.625vw, 10px);
  }
}
.footer_cta--reserve {
  font-size: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 1600px) {
  .footer_cta--reserve {
    font-size: 2rem;
  }
}
.footer_cta--reserve {
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve {
    transition: color 0.4s ease;
  }
  .footer__cta:hover .footer_cta--reserve {
    color: #FFF100;
  }
}
.footer_cta--reserve::before {
  content: "";
  font-size: 0;
  width: 6.4vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve::before {
    width: min(1.75vw, 28px);
  }
}
.footer_cta--reserve::before {
  height: 6.4vw;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve::before {
    height: min(1.75vw, 28px);
  }
}
.footer_cta--reserve::before {
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><rect x="1.42864" y="4.67913" width="17.1429" height="13.7662" stroke="%230055A5" stroke-width="1.42857"/><rect x="1.48828" y="8.39453" width="17.0238" height="1.54762" fill="%230055A5"/><rect x="4.97021" y="2.20703" width="1.54762" height="5.41667" fill="%230055A5"/><rect x="13.4819" y="2.20703" width="1.54762" height="5.41667" fill="%230055A5"/></svg>') center center/contain no-repeat;
}
@media screen and (min-width: 769px) {
  .footer_cta--reserve::before {
    transition: background 0.4s ease;
  }
  .footer__cta:hover .footer_cta--reserve::before {
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><rect x="1.42864" y="4.67913" width="17.1429" height="13.7662" stroke="%23FFF100" stroke-width="1.42857"/><rect x="1.48828" y="8.39453" width="17.0238" height="1.54762" fill="%23FFF100"/><rect x="4.97021" y="2.20703" width="1.54762" height="5.41667" fill="%23FFF100"/><rect x="13.4819" y="2.20703" width="1.54762" height="5.41667" fill="%23FFF100"/></svg>') center center/contain no-repeat;
  }
}

.nav__details {
  display: block;
}
.nav__details:not([open]) > .nav {
  display: block;
}
.nav__details[open] .nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s, 0s;
}
.nav__details[open] .nav__trigger::after {
  content: "CLOSE";
}

.nav {
  width: 100%;
  height: 100dvh;
  display: flex;
  align-items: flex-start;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0s linear 0.4s;
  background: #DD3333 url(../img/voice/bg.webp) right bottom/9.0666666667vw auto repeat;
  overflow: auto;
}
@media screen and (min-width: 769px) {
  .nav {
    background-size: min(2.5vw, 40px) auto;
  }
}

.nav__inner {
  width: 100%;
  padding: 42.6666666667vw 0px 24vw;
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .nav__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 769px) {
  .nav__inner {
    padding: min(19.375vw, 310px) 0px min(6.25vw, 100px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: min(0vw, 0px) min(5.5vw, 88px);
  }
}
@media screen and (min-width: 1600px) {
  .nav__inner {
    max-width: 1360px;
  }
}

.nav__trigger {
  width: 18.4vw;
}
@media screen and (min-width: 769px) {
  .nav__trigger {
    width: min(4.3125vw, 69px);
  }
}
.nav__trigger {
  height: 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  .nav__trigger {
    height: min(3.75vw, 60px);
  }
}
.nav__trigger {
  margin: 0px;
  padding: 0px;
  border: 0px;
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 20;
  display: block;
  background-color: #0055A5;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.nav__trigger::marker {
  content: "";
}
.nav__trigger::-webkit-details-marker {
  display: none;
}
.nav__trigger:focus-visible {
  outline: 2px solid #DD3333;
  outline-offset: 4px;
}
.nav__trigger::after {
  content: "MENU";
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 1.8666666667vw;
  font-family: "Manrope", sans-serif;
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .nav__trigger::after {
    font-size: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 1600px) {
  .nav__trigger::after {
    font-size: 1rem;
  }
}
.nav__trigger::after {
  line-height: 1;
  font-weight: 800;
  color: #FFFFFF;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .nav__trigger {
    transition: background-color 0.4s ease;
  }
  .nav__trigger:hover {
    background-color: #DD3333;
  }
  .nav__trigger::after {
    bottom: min(0.4375vw, 7px);
  }
}

.nav__trigger-icon {
  display: block;
  position: absolute;
  inset: 0;
}
.nav__trigger-icon::before, .nav__trigger-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .nav__trigger-icon::before, .nav__trigger-icon::after {
    width: min(1.75vw, 28px);
  }
}
.nav__trigger-icon::before, .nav__trigger-icon::after {
  height: 0.8vw;
}
@media screen and (min-width: 769px) {
  .nav__trigger-icon::before, .nav__trigger-icon::after {
    height: min(0.1875vw, 3px);
  }
}
.nav__trigger-icon::before, .nav__trigger-icon::after {
  background: #FFFFFF;
  transform: translateX(-50%);
  transition: transform 0.4s ease, top 0.4s ease;
}
.nav__trigger-icon::before {
  top: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  .nav__trigger-icon::before {
    top: min(1vw, 16px);
  }
}
.nav__trigger-icon::after {
  top: 8vw;
}
@media screen and (min-width: 769px) {
  .nav__trigger-icon::after {
    top: min(1.875vw, 30px);
  }
}

.nav__details[open] .nav__trigger {
  border-radius: 0 0 0 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .nav__details[open] .nav__trigger {
    border-radius: 0 0 0 min(0.625vw, 10px);
  }
}

.nav__details[open] .nav__trigger-icon::before, .nav__details[open] .nav__trigger-icon::after {
  top: 6.1333333333vw;
}
@media screen and (min-width: 769px) {
  .nav__details[open] .nav__trigger-icon::before, .nav__details[open] .nav__trigger-icon::after {
    top: min(1.4375vw, 23px);
  }
}
.nav__details[open] .nav__trigger-icon::before {
  transform: translateX(-50%) rotate(45deg);
}
.nav__details[open] .nav__trigger-icon::after {
  transform: translateX(-50%) rotate(-45deg);
}

.nav__instagram {
  width: 18.4vw;
}
@media screen and (min-width: 769px) {
  .nav__instagram {
    width: min(4.3125vw, 69px);
  }
}
.nav__instagram {
  height: 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  .nav__instagram {
    height: min(3.75vw, 60px);
  }
}
.nav__instagram {
  position: fixed;
  top: 0px;
  z-index: 10;
  right: 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  .nav__instagram {
    right: min(4.3125vw, 69px);
  }
}
.nav__instagram {
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" viewBox="0 0 33 33" fill="none"><path d="M9.66639 0.115397C7.91079 0.198227 6.7119 0.478397 5.66382 0.890237C4.57911 1.31297 3.65973 1.88024 2.74497 2.7983C1.83021 3.71636 1.2669 4.6364 0.847137 5.72276C0.440907 6.77315 0.165687 7.97303 0.0881368 9.72962C0.0105868 11.4862 -0.00657324 12.0508 0.00200675 16.5316C0.0105868 21.0123 0.0303868 21.574 0.115527 23.3342C0.199347 25.0895 0.478527 26.288 0.890367 27.3364C1.31376 28.4211 1.88037 29.3402 2.79876 30.2553C3.71715 31.1704 4.63653 31.7324 5.72553 32.1528C6.77493 32.5584 7.97514 32.8349 9.7314 32.9118C11.4877 32.9887 12.0529 33.0065 16.5324 32.9979C21.0118 32.9893 21.5758 32.9695 23.3356 32.886C25.0955 32.8026 26.2878 32.5214 27.3366 32.1115C28.4213 31.6872 29.341 31.1215 30.2554 30.2028C31.1698 29.2841 31.7328 28.3634 32.1523 27.2764C32.5588 26.227 32.835 25.0268 32.9113 23.2718C32.9881 21.5106 33.0063 20.9483 32.9977 16.4682C32.9891 11.9881 32.969 11.4265 32.8855 9.66692C32.802 7.90736 32.5225 6.71243 32.111 5.66336C31.687 4.57865 31.121 3.66026 30.2029 2.74451C29.2849 1.82876 28.3635 1.26611 27.2768 0.847667C26.2268 0.441437 25.0272 0.164567 23.271 0.0886671C21.5147 0.0127671 20.9494 -0.00670294 16.4683 0.00187706C11.9873 0.0104571 11.4263 0.0295971 9.66639 0.115397ZM9.85911 29.9434C8.25036 29.8735 7.37685 29.6062 6.79473 29.3824C6.02385 29.0854 5.47473 28.7264 4.89459 28.1519C4.31445 27.5773 3.95805 27.0262 3.65709 26.257C3.43104 25.6749 3.15879 24.8024 3.08355 23.1936C3.00171 21.4548 2.98455 20.9328 2.97498 16.5276C2.96541 12.1224 2.98224 11.601 3.05847 9.86162C3.12711 8.25419 3.39606 7.37969 3.61947 6.7979C3.91647 6.02603 4.27419 5.4779 4.85004 4.89809C5.42589 4.31828 5.97534 3.96122 6.74523 3.66026C7.32669 3.43322 8.19921 3.16328 9.8073 3.08672C11.5474 3.00422 12.0688 2.98772 16.4733 2.97815C20.8778 2.96858 21.4005 2.98508 23.1413 3.06164C24.7487 3.1316 25.6235 3.39791 26.2047 3.62264C26.9759 3.91964 27.5247 4.27637 28.1045 4.85321C28.6843 5.43005 29.0417 5.97752 29.3426 6.74906C29.57 7.32887 29.8399 8.20106 29.9158 9.81014C29.9987 11.5502 30.0175 12.072 30.0254 16.4761C30.0333 20.8803 30.0178 21.4034 29.9416 23.1421C29.8713 24.7509 29.6047 25.6247 29.3806 26.2075C29.0836 26.9781 28.7255 27.5275 28.1494 28.107C27.5732 28.6865 27.0244 29.0435 26.2542 29.3445C25.6734 29.5712 24.7999 29.8418 23.1931 29.9184C21.453 30.0002 20.9316 30.0174 16.5254 30.0269C12.1193 30.0365 11.5995 30.0187 9.85944 29.9434M23.3102 7.68131C23.3109 8.07294 23.4277 8.45559 23.6458 8.78085C23.8639 9.10611 24.1736 9.35937 24.5357 9.50861C24.8978 9.65785 25.296 9.69635 25.68 9.61926C26.064 9.54217 26.4164 9.35294 26.6929 9.07551C26.9693 8.79807 27.1572 8.44489 27.2329 8.06064C27.3086 7.67639 27.2686 7.27832 27.1181 6.91679C26.9675 6.55525 26.7131 6.24649 26.387 6.02954C26.061 5.8126 25.6779 5.69722 25.2863 5.69801C24.7613 5.69906 24.2582 5.90858 23.8876 6.2805C23.517 6.65242 23.3094 7.15629 23.3102 7.68131ZM8.02794 16.5164C8.03718 21.1958 11.8375 24.9806 16.5159 24.9717C21.1943 24.9627 24.9817 21.1628 24.9728 16.4834C24.9639 11.804 21.1626 8.01824 16.4835 8.02748C11.8045 8.03672 8.01903 11.8377 8.02794 16.5164ZM10.9999 16.5105C10.9978 15.4226 11.3182 14.3586 11.9208 13.4529C12.5234 12.5473 13.381 11.8406 14.3852 11.4223C15.3893 11.004 16.495 10.8929 17.5624 11.103C18.6297 11.3131 19.6107 11.835 20.3815 12.6027C21.1522 13.3704 21.678 14.3494 21.8923 15.4159C22.1066 16.4824 21.9999 17.5885 21.5856 18.5943C21.1713 19.6001 20.4681 20.4605 19.5648 21.0667C18.6615 21.6728 17.5987 21.9975 16.5109 21.9997C15.7886 22.0012 15.0731 21.8604 14.4052 21.5854C13.7373 21.3103 13.1301 20.9064 12.6184 20.3966C12.1066 19.8869 11.7003 19.2813 11.4226 18.6145C11.1449 17.9477 11.0013 17.2328 10.9999 16.5105Z" fill="white"/></svg>') center center/contain no-repeat;
  background-size: 8.5333333333vw auto;
}
@media screen and (max-width: 768px) {
  .nav__instagram {
    z-index: 21;
  }
}
@media screen and (min-width: 769px) {
  .nav__instagram {
    background-size: min(2.25vw, 36px) auto;
    transition: background-color 0.4s ease;
  }
  .nav__instagram:hover {
    background-color: #DD3333;
  }
}

.nav__lists.--other {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .nav__lists.--other {
    align-items: flex-start;
  }
}

.nav__link {
  width: 100%;
  padding: 4.2666666667vw 0px;
  display: block;
  color: #fff;
  border-bottom: 0.5333333333vw dotted #fff;
}
@media screen and (min-width: 769px) {
  .nav__link {
    padding: min(0.125vw, 2px) min(0.25vw, 4px);
    margin-top: min(3.75vw, 60px);
    border: none;
    transition: background-color 0.4s ease, color 0.4s ease;
  }
  .nav__link:first-child {
    margin-top: 0px;
  }
  .nav__link:hover {
    background-color: #fff;
    color: #DD3333;
  }
}

.nav__en {
  font-family: "Generika", sans-serif;
  font-weight: 700;
  font-size: 6.4vw;
}
@media screen and (min-width: 769px) {
  .nav__en {
    font-size: min(1.5vw, 24px);
  }
}
@media screen and (min-width: 1600px) {
  .nav__en {
    font-size: 2.4rem;
  }
}
.nav__en {
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .nav__en {
    font-size: 13.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .nav__en {
    font-size: min(3.125vw, 50px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .nav__en {
    font-size: 5rem;
  }
}

.nav__ja {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 769px) {
  .nav__ja {
    font-size: min(0.8125vw, 13px);
  }
}
@media screen and (min-width: 1600px) {
  .nav__ja {
    font-size: 1.3rem;
  }
}
.nav__ja {
  line-height: 1.1538461538;
}
@media screen and (min-width: 769px) {
  .nav__ja {
    font-size: 4.8vw;
    line-height: 1.1666666667;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .nav__ja {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .nav__ja {
    font-size: 1.8rem;
  }
}

.nav__reserve {
  margin-top: 9.6vw;
}
@media screen and (min-width: 769px) {
  .nav__reserve {
    margin-top: min(0vw, 0px);
  }
}

.nav__groupe {
  margin-top: 6.4vw;
}
@media screen and (min-width: 769px) {
  .nav__groupe {
    margin-top: min(1.875vw, 30px);
  }
}
.nav__groupe {
  color: #fff;
}

.nav__other {
  margin-top: 16vw;
  display: flex;
  justify-content: center;
  gap: 5.3333333333vw 10.6666666667vw;
}
@media screen and (max-width: 768px) {
  .nav__other {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .nav__other {
    margin-top: min(2.5vw, 40px);
    flex-direction: column;
    row-gap: min(2.5vw, 40px);
    text-align: left;
  }
}
.nav__other a {
  color: #fff;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .nav__other a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 768px) {
  .nav__instagram2 {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .nav__instagram2 {
    width: 100%;
    flex-basis: 100%;
    text-align: center;
    margin-top: min(11.875vw, 190px);
    transition: opacity 0.4s ease;
  }
  .nav__instagram2:hover {
    opacity: 0.6;
  }
  .nav__instagram2 a {
    display: inline-flex;
    align-items: center;
    column-gap: min(1.25vw, 20px);
    font-weight: 700;
    font-family: "Generika", sans-serif;
    color: #fff;
    font-size: 8.5333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .nav__instagram2 a {
    font-size: min(2vw, 32px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .nav__instagram2 a {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 769px) {
  .nav__instagram2 a::before {
    content: "";
    width: min(2.375vw, 38px);
    height: min(2.375vw, 38px);
    display: block;
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" viewBox="0 0 33 33" fill="none"><path d="M9.66639 0.115397C7.91079 0.198227 6.7119 0.478397 5.66382 0.890237C4.57911 1.31297 3.65973 1.88024 2.74497 2.7983C1.83021 3.71636 1.2669 4.6364 0.847137 5.72276C0.440907 6.77315 0.165687 7.97303 0.0881368 9.72962C0.0105868 11.4862 -0.00657324 12.0508 0.00200675 16.5316C0.0105868 21.0123 0.0303868 21.574 0.115527 23.3342C0.199347 25.0895 0.478527 26.288 0.890367 27.3364C1.31376 28.4211 1.88037 29.3402 2.79876 30.2553C3.71715 31.1704 4.63653 31.7324 5.72553 32.1528C6.77493 32.5584 7.97514 32.8349 9.7314 32.9118C11.4877 32.9887 12.0529 33.0065 16.5324 32.9979C21.0118 32.9893 21.5758 32.9695 23.3356 32.886C25.0955 32.8026 26.2878 32.5214 27.3366 32.1115C28.4213 31.6872 29.341 31.1215 30.2554 30.2028C31.1698 29.2841 31.7328 28.3634 32.1523 27.2764C32.5588 26.227 32.835 25.0268 32.9113 23.2718C32.9881 21.5106 33.0063 20.9483 32.9977 16.4682C32.9891 11.9881 32.969 11.4265 32.8855 9.66692C32.802 7.90736 32.5225 6.71243 32.111 5.66336C31.687 4.57865 31.121 3.66026 30.2029 2.74451C29.2849 1.82876 28.3635 1.26611 27.2768 0.847667C26.2268 0.441437 25.0272 0.164567 23.271 0.0886671C21.5147 0.0127671 20.9494 -0.00670294 16.4683 0.00187706C11.9873 0.0104571 11.4263 0.0295971 9.66639 0.115397ZM9.85911 29.9434C8.25036 29.8735 7.37685 29.6062 6.79473 29.3824C6.02385 29.0854 5.47473 28.7264 4.89459 28.1519C4.31445 27.5773 3.95805 27.0262 3.65709 26.257C3.43104 25.6749 3.15879 24.8024 3.08355 23.1936C3.00171 21.4548 2.98455 20.9328 2.97498 16.5276C2.96541 12.1224 2.98224 11.601 3.05847 9.86162C3.12711 8.25419 3.39606 7.37969 3.61947 6.7979C3.91647 6.02603 4.27419 5.4779 4.85004 4.89809C5.42589 4.31828 5.97534 3.96122 6.74523 3.66026C7.32669 3.43322 8.19921 3.16328 9.8073 3.08672C11.5474 3.00422 12.0688 2.98772 16.4733 2.97815C20.8778 2.96858 21.4005 2.98508 23.1413 3.06164C24.7487 3.1316 25.6235 3.39791 26.2047 3.62264C26.9759 3.91964 27.5247 4.27637 28.1045 4.85321C28.6843 5.43005 29.0417 5.97752 29.3426 6.74906C29.57 7.32887 29.8399 8.20106 29.9158 9.81014C29.9987 11.5502 30.0175 12.072 30.0254 16.4761C30.0333 20.8803 30.0178 21.4034 29.9416 23.1421C29.8713 24.7509 29.6047 25.6247 29.3806 26.2075C29.0836 26.9781 28.7255 27.5275 28.1494 28.107C27.5732 28.6865 27.0244 29.0435 26.2542 29.3445C25.6734 29.5712 24.7999 29.8418 23.1931 29.9184C21.453 30.0002 20.9316 30.0174 16.5254 30.0269C12.1193 30.0365 11.5995 30.0187 9.85944 29.9434M23.3102 7.68131C23.3109 8.07294 23.4277 8.45559 23.6458 8.78085C23.8639 9.10611 24.1736 9.35937 24.5357 9.50861C24.8978 9.65785 25.296 9.69635 25.68 9.61926C26.064 9.54217 26.4164 9.35294 26.6929 9.07551C26.9693 8.79807 27.1572 8.44489 27.2329 8.06064C27.3086 7.67639 27.2686 7.27832 27.1181 6.91679C26.9675 6.55525 26.7131 6.24649 26.387 6.02954C26.061 5.8126 25.6779 5.69722 25.2863 5.69801C24.7613 5.69906 24.2582 5.90858 23.8876 6.2805C23.517 6.65242 23.3094 7.15629 23.3102 7.68131ZM8.02794 16.5164C8.03718 21.1958 11.8375 24.9806 16.5159 24.9717C21.1943 24.9627 24.9817 21.1628 24.9728 16.4834C24.9639 11.804 21.1626 8.01824 16.4835 8.02748C11.8045 8.03672 8.01903 11.8377 8.02794 16.5164ZM10.9999 16.5105C10.9978 15.4226 11.3182 14.3586 11.9208 13.4529C12.5234 12.5473 13.381 11.8406 14.3852 11.4223C15.3893 11.004 16.495 10.8929 17.5624 11.103C18.6297 11.3131 19.6107 11.835 20.3815 12.6027C21.1522 13.3704 21.678 14.3494 21.8923 15.4159C22.1066 16.4824 21.9999 17.5885 21.5856 18.5943C21.1713 19.6001 20.4681 20.4605 19.5648 21.0667C18.6615 21.6728 17.5987 21.9975 16.5109 21.9997C15.7886 22.0012 15.0731 21.8604 14.4052 21.5854C13.7373 21.3103 13.1301 20.9064 12.6184 20.3966C12.1066 19.8869 11.7003 19.2813 11.4226 18.6145C11.1449 17.9477 11.0013 17.2328 10.9999 16.5105Z" fill="white"/></svg>') center center/contain no-repeat;
  }
}

.nav__header {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 20;
}
@media screen and (min-width: 1600px) {
  .nav__header {
    width: 1600px;
    right: 0px;
    margin: 0px auto;
  }
}
.nav__header a {
  width: 26.6666666667vw;
}
@media screen and (min-width: 769px) {
  .nav__header a {
    width: min(15vw, 240px);
  }
}
.nav__header a {
  background: #FFFFFF;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .nav__header a {
    padding: min(0.625vw, 10px) 0px;
  }
  .nav__header a:hover img {
    opacity: 0.8;
  }
}
.nav__header a img {
  width: 26.6666666667vw;
}
@media screen and (min-width: 769px) {
  .nav__header a img {
    width: min(12.5vw, 200px);
  }
}
@media screen and (min-width: 769px) {
  .nav__header a img {
    transition: opacity 0.4s ease;
  }
}

/*
  PCコンテンツ幅1320px
*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  html {
    scroll-padding-top: min(3.75vw, 60px);
  }
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  body {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  body {
    font-size: 1.4rem;
  }
}
body {
  line-height: 1.7142857143;
  letter-spacing: 0.02em;
  color: #242422;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-feature-settings: "palt" 1;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 4.8vw;
    line-height: 1.5555555556;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  body {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  body {
    font-size: 1.8rem;
  }
}

.page__body,
.article__body,
.entry-content {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-feature-settings: "palt" 1;
  font-weight: 500;
  color: #242422;
}

@media screen and (min-width: 769px) {
  br.sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  br.pc {
    display: none;
  }
}

[data-appear] {
  filter: blur(8px);
  will-change: transform;
}
[data-appear].--appear {
  animation: blurIn 1s ease forwards;
}

@keyframes blurIn {
  0% {
    filter: blur(8px);
  }
  100% {
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-appear].--appear {
    animation: blurIn 1s ease forwards !important;
  }
}
.text__note {
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .text__note {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .text__note {
    font-size: 1.2rem;
  }
}
.text__note {
  line-height: 1.6666666667;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .text__note {
    font-size: 4.2666666667vw;
    line-height: 1.25;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .text__note {
    font-size: min(1vw, 16px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .text__note {
    font-size: 1.6rem;
  }
}

.button__reserve {
  padding: 4.2666666667vw 16vw;
  border-radius: 15.4666666667vw;
  display: inline-flex;
  align-items: center;
  column-gap: 3.2vw;
  justify-content: center;
  background-color: #FFF100;
  background-size: 5.3333333333vw auto;
  border: 0.5333333333vw solid #0055A5;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .button__reserve {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .button__reserve {
    font-size: 1.5rem;
  }
}
.button__reserve {
  line-height: 1.4;
  font-weight: 700;
  color: #0055A5;
}
@media screen and (min-width: 769px) {
  .button__reserve {
    padding: min(1.4375vw, 23px) min(3.125vw, 50px);
    border-width: min(0.1875vw, 3px);
    border-radius: min(4.25vw, 68px);
    column-gap: min(0.75vw, 12px);
    font-size: 5.3333333333vw;
    line-height: 1.4;
    transition: background-color 0.4s ease, color 0.4s ease;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .button__reserve {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .button__reserve {
    font-size: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .button__reserve:hover {
    background-color: #0055A5;
    color: #FFF100;
  }
  .button__reserve:hover::before {
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><rect x="1.42864" y="4.67913" width="17.1429" height="13.7662" stroke="%23FFF100" stroke-width="1.42857"/><rect x="1.48828" y="8.39453" width="17.0238" height="1.54762" fill="%23FFF100"/><rect x="4.97021" y="2.20703" width="1.54762" height="5.41667" fill="%23FFF100"/><rect x="13.4819" y="2.20703" width="1.54762" height="5.41667" fill="%23FFF100"/></svg>') center center/contain no-repeat;
  }
}
.button__reserve::before {
  content: "";
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  font-size: 0;
  display: block;
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><rect x="1.42864" y="4.67913" width="17.1429" height="13.7662" stroke="%230055A5" stroke-width="1.42857"/><rect x="1.48828" y="8.39453" width="17.0238" height="1.54762" fill="%230055A5"/><rect x="4.97021" y="2.20703" width="1.54762" height="5.41667" fill="%230055A5"/><rect x="13.4819" y="2.20703" width="1.54762" height="5.41667" fill="%230055A5"/></svg>') center center/contain no-repeat;
}
@media screen and (min-width: 769px) {
  .button__reserve::before {
    width: min(1.625vw, 26px);
    height: min(1.625vw, 26px);
    transition: background 0.4s ease;
  }
}

.link_reserve {
  display: inline-flex;
  align-items: center;
  color: #242422;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .link_reserve {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .link_reserve {
    font-size: 1.5rem;
  }
}
.link_reserve {
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .link_reserve {
    font-size: 4.8vw;
    line-height: 1.3888888889;
    text-underline-offset: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .link_reserve {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .link_reserve {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) {
  .link_reserve:hover {
    text-decoration: none;
  }
}
.link_reserve[target=_blank]::after {
  content: "";
  margin-left: 1.0666666667vw;
}
@media screen and (min-width: 769px) {
  .link_reserve[target=_blank]::after {
    margin-left: min(0.75vw, 12px);
  }
}
.link_reserve[target=_blank]::after {
  width: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .link_reserve[target=_blank]::after {
    width: min(1vw, 16px);
  }
}
.link_reserve[target=_blank]::after {
  height: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .link_reserve[target=_blank]::after {
    height: min(1vw, 16px);
  }
}
.link_reserve[target=_blank]::after {
  display: inline-block;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.21703 2.71094H3.13428V12.8764H13.2998V8.79369" stroke="%23242422" stroke-width="1.5"/><rect x="7.89392" y="7.91797" width="6.67799" height="0.606464" transform="rotate(-45 7.89392 7.91797)" fill="%23242422" stroke="%23242422" stroke-width="0.606464"/><path d="M9.54028 2.76562L13.2697 2.76562V6.49501" stroke="%23242422" stroke-width="1.5"/></svg>') center center/contain no-repeat;
}
.link_reserve.--white {
  display: inline-flex;
  align-items: center;
  color: #ffffff;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .link_reserve.--white {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .link_reserve.--white {
    font-size: 1.5rem;
  }
}
.link_reserve.--white {
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .link_reserve.--white {
    font-size: 4.8vw;
    line-height: 1.3888888889;
    text-underline-offset: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .link_reserve.--white {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .link_reserve.--white {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) {
  .link_reserve.--white:hover {
    text-decoration: none;
  }
}
.link_reserve.--white[target=_blank]::after {
  content: "";
  margin-left: 1.0666666667vw;
}
@media screen and (min-width: 769px) {
  .link_reserve.--white[target=_blank]::after {
    margin-left: min(0.75vw, 12px);
  }
}
.link_reserve.--white[target=_blank]::after {
  width: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .link_reserve.--white[target=_blank]::after {
    width: min(1vw, 16px);
  }
}
.link_reserve.--white[target=_blank]::after {
  height: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .link_reserve.--white[target=_blank]::after {
    height: min(1vw, 16px);
  }
}
.link_reserve.--white[target=_blank]::after {
  display: inline-block;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.21703 2.71094H3.13428V12.8764H13.2998V8.79369" stroke="%23ffffff" stroke-width="1.5"/><rect x="7.89392" y="7.91797" width="6.67799" height="0.606464" transform="rotate(-45 7.89392 7.91797)" fill="%23ffffff" stroke="%23ffffff" stroke-width="0.606464"/><path d="M9.54028 2.76562L13.2697 2.76562V6.49501" stroke="%23ffffff" stroke-width="1.5"/></svg>') center center/contain no-repeat;
}

.heading {
  padding: 27.7333333333vw 0px 14.1333333333vw;
  background: #F3F3F3;
}
@media screen and (min-width: 769px) {
  .heading {
    padding: min(6.25vw, 100px) 0px min(5.25vw, 84px);
  }
}

.heading__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .heading__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}

.heading__title {
  color: #DD3333;
  font-family: "Generika", sans-serif;
  font-size: 12.8vw;
}
@media screen and (min-width: 769px) {
  .heading__title {
    font-size: min(3vw, 48px);
  }
}
@media screen and (min-width: 1600px) {
  .heading__title {
    font-size: 4.8rem;
  }
}
.heading__title {
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .heading__title {
    margin-left: min(8.75vw, 140px);
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .heading__title {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .heading__title {
    font-size: 8rem;
  }
}
.heading__title span {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .heading__title span {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .heading__title span {
    font-size: 1.4rem;
  }
}
.heading__title span {
  line-height: 1.5;
  display: block;
  color: #242422;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .heading__title span {
    font-size: 6.4vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .heading__title span {
    font-size: min(1.5vw, 24px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .heading__title span {
    font-size: 2.4rem;
  }
}

.kv {
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .kv {
    padding-bottom: min(6.25vw, 100px);
  }
}
.kv {
  position: relative;
  background: #F3F3F3;
  overflow: hidden;
}
.kv img {
  width: 100%;
}
.kv *:has(img) {
  font-size: 0;
}

.kv__kv {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .kv__kv {
    margin-left: 8vw;
    margin-right: 8vw;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .kv__kv {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.kv__kv picture {
  display: block;
}

@media screen and (max-width: 768px) {
  .kv__picture {
    margin-left: 10.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .kv__picture {
    width: min(85vw, 1360px);
    margin-left: min(6.25vw, 100px);
  }
}

.kv__bg {
  height: 100%;
  position: absolute;
  left: 0px;
  bottom: 0px;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .kv__bg {
    margin-left: 8vw;
    margin-right: 8vw;
    right: 0px;
    margin: 0px auto;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .kv__bg {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}

.kv__athletic {
  width: 68vw;
}
@media screen and (min-width: 769px) {
  .kv__athletic {
    width: min(68.75vw, 1100px);
  }
}
.kv__athletic {
  height: 100%;
  position: absolute;
  left: 0px;
  bottom: 0px;
  background: #DD3333 url(../img/common/athletic.svg) left -5.3333333333vw bottom/76.8vw auto no-repeat;
}
@media screen and (min-width: 769px) {
  .kv__athletic {
    background-size: min(35vw, 560px) auto;
    background-position: left bottom;
    left: max(-8.75vw, -140px);
    z-index: 2;
  }
}

.kv__mask {
  display: none;
}
@media screen and (min-width: 769px) {
  .kv__mask {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: -40vw;
    background: #DD3333;
    display: block;
    z-index: 1;
  }
}

.kv__contents {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .kv__contents {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.kv__contents {
  height: 100%;
  margin: 0px auto;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 3;
}

.kv__title {
  width: 66.6666666667vw;
}
@media screen and (min-width: 769px) {
  .kv__title {
    width: min(45.375vw, 726px);
  }
}
.kv__title {
  position: absolute;
  top: 43.2vw;
}
@media screen and (min-width: 769px) {
  .kv__title {
    top: min(17.0625vw, 273px);
  }
}
.kv__title {
  left: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .kv__title {
    left: min(10vw, 160px);
  }
}
.kv__title {
  transform-origin: left center;
  animation-fill-mode: both;
  animation: kv-title-in 1s cubic-bezier(0.16, 1, 0.3, 1) 0s both;
}
.kv__title.is-animated {
  animation: none;
  transform: none;
  filter: none;
  clip-path: none;
  will-change: auto;
  opacity: 1;
}

.kv__date {
  width: 52.2666666667vw;
}
@media screen and (min-width: 769px) {
  .kv__date {
    width: min(31.75vw, 508px);
  }
}
.kv__date {
  position: absolute;
  top: 85.8666666667vw;
}
@media screen and (min-width: 769px) {
  .kv__date {
    top: min(41.25vw, 660px);
  }
}
.kv__date {
  left: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .kv__date {
    left: min(5vw, 80px);
  }
}
.kv__date {
  transform-origin: left bottom;
  animation-fill-mode: both;
  animation: kv-date-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.25s both;
}
.kv__date.is-animated {
  animation: none;
  transform: none;
  filter: none;
  clip-path: none;
  will-change: auto;
  opacity: 1;
}

.kv__text {
  width: 16vw;
}
@media screen and (min-width: 769px) {
  .kv__text {
    width: min(7.5vw, 120px);
  }
}
.kv__text {
  position: absolute;
  top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .kv__text {
    top: min(4.375vw, 70px);
  }
}
.kv__text {
  right: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .kv__text {
    right: min(4.5vw, 72px);
  }
}
.kv__text {
  transform-origin: right center;
  animation-fill-mode: both;
  animation: kv-text-in 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both;
}
.kv__text.is-animated {
  animation: none;
  transform: none;
  filter: none;
  clip-path: none;
  will-change: auto;
  opacity: 1;
}

.kv__free {
  width: 24vw;
}
@media screen and (min-width: 769px) {
  .kv__free {
    width: min(11.25vw, 180px);
  }
}
.kv__free {
  aspect-ratio: 1/1;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center center;
  animation-fill-mode: both;
  animation: kv-free-in 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.55s both;
}
@media screen and (max-width: 768px) {
  .kv__free {
    bottom: 13.3333333333vw;
    right: 2.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .kv__free {
    left: min(38.5vw, 616px);
    bottom: min(10vw, 160px);
  }
}
.kv__free.is-animated {
  animation: none;
  transform: none;
  filter: none;
  clip-path: none;
  will-change: auto;
  opacity: 1;
}
.kv__free::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/kv/free_bg.webp) center center/contain no-repeat;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  transform-origin: center center;
  animation: kv-free-bg 24s linear infinite;
  animation-delay: 1.4s;
}
.kv__free img {
  width: 15.2vw;
}
@media screen and (min-width: 769px) {
  .kv__free img {
    width: min(7.1875vw, 115px);
  }
}
.kv__free img {
  z-index: 2;
}

@keyframes kv-title-in {
  0% {
    opacity: 0;
    transform: translateY(16px);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
@keyframes kv-date-in {
  0% {
    opacity: 0;
    transform: translateY(12px);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
@keyframes kv-text-in {
  0% {
    opacity: 0;
    transform: translateX(10px);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
@keyframes kv-free-in {
  0% {
    opacity: 0;
    transform: scale(0.9);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
@keyframes kv-free-bg {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(0.9);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .kv__title {
    animation: kv-title-in 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both !important;
  }
  .kv__date {
    animation: kv-date-in 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.55s both !important;
  }
  .kv__text {
    animation: kv-text-in 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.75s both !important;
  }
  .kv__free {
    animation: kv-free-in 1s cubic-bezier(0.16, 1, 0.3, 1) 0.95s both !important;
  }
  .kv__free::before {
    animation: kv-free-bg 24s linear infinite !important;
    animation-delay: 2.1s !important;
  }
}
.topics {
  overflow: hidden;
}

.topics__inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  .topics__inner {
    margin-left: 8vw;
    margin-right: 8vw;
    min-height: min(33.3125vw, 533px);
    display: flex;
    column-gap: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .topics__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}

.topics__heading {
  width: 40.8vw;
}
@media screen and (min-width: 769px) {
  .topics__heading {
    width: min(21.875vw, 350px);
  }
}
.topics__heading {
  background: #F3F3F3;
}
@media screen and (max-width: 768px) {
  .topics__heading {
    height: 30.4vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  .topics__heading {
    padding-top: min(6.25vw, 100px);
    padding-left: min(3.75vw, 60px);
    position: relative;
  }
  .topics__heading::before {
    content: "";
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0px;
    right: calc(100% - 2px);
    background: #F3F3F3;
  }
}
.topics__heading h2 {
  font-family: "Generika", sans-serif;
  font-size: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .topics__heading h2 {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 1600px) {
  .topics__heading h2 {
    font-size: 4rem;
  }
}
.topics__heading h2 {
  line-height: 1;
  font-weight: 700;
  color: #DD3333;
}
@media screen and (min-width: 769px) {
  .topics__heading h2 {
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .topics__heading h2 {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .topics__heading h2 {
    font-size: 8rem;
  }
}
.topics__heading h2 span {
  display: block;
  color: #242422;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .topics__heading h2 span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .topics__heading h2 span {
    font-size: 1.2rem;
  }
}
.topics__heading h2 span {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .topics__heading h2 span {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .topics__heading h2 span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .topics__heading h2 span {
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .topics__body {
    margin-top: 5.3333333333vw;
    margin-left: 8vw;
    margin-right: 8vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 769px) {
  .topics__body {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 769px) {
  .topics__body {
    padding-top: min(6.25vw, 100px);
    flex: 1;
  }
}

.topics__lists {
  display: flex;
  flex-direction: column;
  border-top: 0.2666666667vw solid #DEDEDE;
}
@media screen and (min-width: 769px) {
  .topics__lists {
    border-top-width: min(0.0625vw, 1px);
  }
}

.topics__list {
  padding: 4.2666666667vw 0px;
  border-bottom: 0.2666666667vw solid #DEDEDE;
}
@media screen and (min-width: 769px) {
  .topics__list {
    padding: min(2.5vw, 40px) 0px;
    border-bottom-width: min(0.0625vw, 1px);
    display: flex;
    column-gap: min(1vw, 16px);
  }
}

.topics__info {
  display: flex;
  align-items: center;
  column-gap: 3.2vw;
}
@media screen and (min-width: 769px) {
  .topics__info {
    width: min(10vw, 160px);
    column-gap: min(0.5vw, 8px);
  }
}
.topics__info.--new::after {
  content: "";
  width: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .topics__info.--new::after {
    width: min(3.25vw, 52px);
  }
}
.topics__info.--new::after {
  height: 4.8vw;
}
@media screen and (min-width: 769px) {
  .topics__info.--new::after {
    height: min(1.8125vw, 29px);
  }
}
.topics__info.--new::after {
  background: url('data:image/svg+xml;charset=utf-8,<svg width="51" height="29" viewBox="0 0 51 29" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="50.7543" height="29" rx="14.5" fill="%23DD3333"/><path d="M30.3663 19.5409L27.4193 9.46094H29.1903L31.1993 16.7409L33.2013 9.47494L34.9723 9.46094L36.9813 16.7409L38.9833 9.46094H40.7543L37.8143 19.5409H36.1483L34.0833 12.3729L32.0323 19.5409H30.3663Z" fill="white"/><path d="M20.0488 19.5409V9.46094H26.5588V11.0429H21.7358V13.5279H25.7188V15.1099H21.7358V17.9589H26.5588V19.5409H20.0488Z" fill="white"/><path d="M10 19.5409V9.46094H11.708L16.384 16.5659V9.46094H18.092V19.5409H16.384L11.708 12.4359V19.5409H10Z" fill="white"/></svg>') center center/contain no-repeat;
  display: inline-block;
  vertical-align: middle;
}

.topics__date {
  color: #555;
  font-family: "Manrope", sans-serif;
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .topics__date {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .topics__date {
    font-size: 1.4rem;
  }
}
.topics__date {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .topics__date {
    font-size: 4.5333333333vw;
    line-height: 1.4705882353;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .topics__date {
    font-size: min(1.0625vw, 17px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .topics__date {
    font-size: 1.7rem;
  }
}

.topics__text {
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .topics__text {
    margin: 0px;
    flex: 1;
    font-size: 4.8vw;
    line-height: 1.5555555556;
    font-weight: 500;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .topics__text {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .topics__text {
    font-size: 1.8rem;
  }
}
.topics__text a {
  display: inline;
  font-weight: 500;
  color: #242422;
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .topics__text a {
    font-size: 4.8vw;
    line-height: 1.5555555556;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .topics__text a {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .topics__text a {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) {
  .topics__text a:hover {
    text-decoration: none;
  }
}
.topics__text a[target=_blank]::after {
  content: "";
  width: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .topics__text a[target=_blank]::after {
    width: min(1vw, 16px);
  }
}
.topics__text a[target=_blank]::after {
  height: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .topics__text a[target=_blank]::after {
    height: min(1vw, 16px);
  }
}
.topics__text a[target=_blank]::after {
  display: inline-block;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.21703 2.71094H3.13428V12.8764H13.2998V8.79369" stroke="%23242422" stroke-width="1.5"/><rect x="7.89392" y="7.91797" width="6.67799" height="0.606464" transform="rotate(-45 7.89392 7.91797)" fill="%23242422" stroke="%23242422" stroke-width="0.606464"/><path d="M9.54028 2.76562L13.2697 2.76562V6.49501" stroke="%23242422" stroke-width="1.5"/></svg>') center center/contain no-repeat;
}

.topics__more {
  margin-top: 8.5333333333vw;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 769px) {
  .topics__more {
    margin: 0px;
    position: absolute;
    top: min(17.375vw, 278px);
    left: min(3.75vw, 60px);
  }
}
.topics__more a {
  padding: 3.7333333333vw 5.3333333333vw 3.7333333333vw 7.4666666667vw;
  border-radius: 43.7333333333vw;
  color: #fff;
  margin-left: auto;
  background-color: #DD3333;
  display: inline-flex;
  column-gap: 3.2vw;
  align-items: center;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .topics__more a {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .topics__more a {
    font-size: 1.5rem;
  }
}
.topics__more a {
  line-height: 1.4;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .topics__more a {
    padding: min(0.875vw, 14px) min(1.25vw, 20px);
    border-radius: min(10.25vw, 164px);
    column-gap: min(4.125vw, 66px);
    font-size: 4.8vw;
    line-height: 1.3888888889;
    transition: color 0.4s ease, background-color 0.4s ease, outline-color 0.4s ease;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .topics__more a {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .topics__more a {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) {
  .topics__more a:hover {
    outline: min(0.125vw, 2px) solid #DD3333;
    background-color: #fff;
    color: #DD3333;
  }
  .topics__more a:hover::after {
    background: url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 7L15 12L10 17" stroke="%23DD3333" stroke-width="2"/></svg>') center center/contain no-repeat;
  }
}
.topics__more a::after {
  content: "";
  width: 6.4vw;
}
@media screen and (min-width: 769px) {
  .topics__more a::after {
    width: min(1.5vw, 24px);
  }
}
.topics__more a::after {
  height: 6.4vw;
}
@media screen and (min-width: 769px) {
  .topics__more a::after {
    height: min(1.5vw, 24px);
  }
}
.topics__more a::after {
  display: inline-block;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 7L15 12L10 17" stroke="white" stroke-width="2"/></svg>') center center/contain no-repeat;
}
@media screen and (min-width: 769px) {
  .topics__more a::after {
    transition: background-image 0.4s ease;
  }
}

.topics__deco {
  width: 49.3333333333vw;
}
@media screen and (min-width: 769px) {
  .topics__deco {
    width: min(37.5vw, 600px);
  }
}
.topics__deco {
  position: absolute;
  top: -18.6666666667vw;
  left: 17.0666666667vw;
  transform: rotate(90deg);
}
@media screen and (min-width: 769px) {
  .topics__deco {
    top: min(4.875vw, 78px);
    left: max(-38.75vw, -620px);
    transform: none;
  }
}
.topics__deco svg, .topics__deco img, .topics__deco canvas {
  width: 100%;
  display: block;
}

.feature {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .feature {
    padding-top: 16vw;
  }
}

.feature__contents {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .feature__contents {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.feature__contents {
  padding-top: 16vw;
}
@media screen and (min-width: 769px) {
  .feature__contents {
    padding-top: min(7.5vw, 120px);
  }
}
.feature__contents {
  padding-bottom: 16vw;
}
@media screen and (min-width: 769px) {
  .feature__contents {
    padding-bottom: min(7.5vw, 120px);
  }
}
.feature__contents {
  position: relative;
}
@media screen and (min-width: 769px) {
  .feature__contents {
    display: flex;
    column-gap: min(10vw, 160px);
  }
}

.feature__contents::before {
  content: "";
  width: 15.4666666667vw;
  height: 15.4666666667vw;
  position: absolute;
  top: 6.1333333333vw;
  left: -10.9333333333vw;
  background: #DD3333;
}
@media screen and (min-width: 769px) {
  .feature__contents::before {
    width: min(7.25vw, 116px);
    height: min(7.25vw, 116px);
    top: min(5.25vw, 84px);
    left: max(-9.9375vw, -159px);
  }
}

.feature__contents::after {
  content: "";
  width: 18.6666666667vw;
  height: 18.6666666667vw;
  position: absolute;
  top: 80.2666666667vw;
  right: 0px;
  background: url(../img/common/box1.webp) center center/contain no-repeat;
}
@media screen and (min-width: 769px) {
  .feature__contents::after {
    width: min(8.75vw, 140px);
    height: min(8.75vw, 140px);
    top: min(42.5625vw, 681px);
    right: max(-3.75vw, -60px);
  }
}

.feature__main {
  width: 24.8vw;
  margin-left: 15.4666666667vw;
}
@media screen and (min-width: 769px) {
  .feature__main {
    width: min(11.75vw, 188px);
    margin-left: min(10vw, 160px);
  }
}
.feature__main img {
  width: 100%;
}

.feature__lead {
  padding-top: 12.8vw;
}
@media screen and (min-width: 769px) {
  .feature__lead {
    padding-top: min(11.25vw, 180px);
  }
}
@media screen and (min-width: 769px) {
  .feature__lead {
    width: min(36.875vw, 590px);
  }
}
.feature__lead p {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .feature__lead p {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .feature__lead p {
    font-size: 1.4rem;
  }
}
.feature__lead p {
  line-height: 2;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .feature__lead p {
    font-size: 6.4vw;
    line-height: 2.5;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .feature__lead p {
    font-size: min(1.5vw, 24px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .feature__lead p {
    font-size: 2.4rem;
  }
}
.feature__lead p:not(:first-child) {
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .feature__lead p:not(:first-child) {
    margin-top: min(1.25vw, 20px);
  }
}
.feature__lead p span {
  font-weight: 500;
}
.feature__lead .--red {
  color: #DD3333;
}
.feature__lead .--blue {
  color: #0055A5;
}
.feature__lead ul {
  margin-top: 3.2vw;
}
@media screen and (min-width: 769px) {
  .feature__lead ul {
    margin-top: min(1.25vw, 20px);
  }
}

.feature__overview {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .feature__overview {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.feature__overview {
  margin-top: 9.6vw;
}
@media screen and (min-width: 769px) {
  .feature__overview {
    margin-top: min(7.5vw, 120px);
  }
}
.feature__overview {
  margin-bottom: 16vw;
}
@media screen and (min-width: 769px) {
  .feature__overview {
    margin-bottom: min(7.5vw, 120px);
  }
}
.feature__overview {
  position: relative;
  z-index: 2;
}

.feature__overview::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background: #F3F3F3;
  z-index: 2;
}

.feature__inner {
  padding: 6.4vw 0px 8vw 5.3333333333vw;
  background: #F3F3F3;
  isolation: isolate;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .feature__inner {
    padding: min(2.5vw, 40px) min(3.75vw, 60px);
  }
}

.feature__about h2 {
  font-size: 4.8vw;
}
@media screen and (min-width: 769px) {
  .feature__about h2 {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 1600px) {
  .feature__about h2 {
    font-size: 1.8rem;
  }
}
.feature__about h2 {
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .feature__about h2 {
    font-size: 8.5333333333vw;
    line-height: 1.25;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .feature__about h2 {
    font-size: min(2vw, 32px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .feature__about h2 {
    font-size: 3.2rem;
  }
}
.feature__about h2 small {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .feature__about h2 small {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .feature__about h2 small {
    font-size: 1.4rem;
  }
}
.feature__about h2 small {
  line-height: 1.9285714286;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .feature__about h2 small {
    font-size: 6.4vw;
    line-height: 1.6666666667;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .feature__about h2 small {
    font-size: min(1.5vw, 24px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .feature__about h2 small {
    font-size: 2.4rem;
  }
}
.feature__about p {
  margin-top: 3.2vw;
}
@media screen and (min-width: 769px) {
  .feature__about p {
    margin-top: min(1vw, 16px);
  }
}

.feature__details {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .feature__details {
    margin-top: min(2.25vw, 36px);
  }
}
.feature__details {
  display: flex;
  flex-direction: column;
  row-gap: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .feature__details {
    flex-direction: row;
    column-gap: min(2.5vw, 40px);
  }
}

.feature__detail {
  padding: 3.2vw 0px 4.2666666667vw;
  background-color: #FFFFFF;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .feature__detail {
    width: 100%;
    padding: min(1.25vw, 20px) 0 min(1.75vw, 28px);
  }
}
.feature__detail > p {
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .feature__detail > p {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .feature__detail > p {
    font-size: 1.2rem;
  }
}
.feature__detail > p {
  line-height: 1.5833333333;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .feature__detail > p {
    font-size: 5.8666666667vw;
    line-height: 1.5909090909;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .feature__detail > p {
    font-size: min(1.375vw, 22px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .feature__detail > p {
    font-size: 2.2rem;
  }
}

.feature__number {
  margin-top: 1.6vw;
}
@media screen and (min-width: 769px) {
  .feature__number {
    margin-top: min(1.125vw, 18px);
  }
}
.feature__number .--red {
  color: #DD3333;
}
.feature__number .--blue {
  color: #0055A5;
}
.feature__number strong {
  font-size: 12.2666666667vw;
}
@media screen and (min-width: 769px) {
  .feature__number strong {
    font-size: min(2.875vw, 46px);
  }
}
@media screen and (min-width: 1600px) {
  .feature__number strong {
    font-size: 4.6rem;
  }
}
.feature__number strong {
  line-height: 1;
  font-weight: 700;
  font-family: "Generika", sans-serif;
}
@media screen and (min-width: 769px) {
  .feature__number strong {
    font-size: 24.5333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .feature__number strong {
    font-size: min(5.75vw, 92px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .feature__number strong {
    font-size: 9.2rem;
  }
}
.feature__number span {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .feature__number span {
    font-size: 8.5333333333vw;
    line-height: 2.875;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .feature__number span {
    font-size: min(2vw, 32px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .feature__number span {
    font-size: 3.2rem;
  }
}

.feature__note {
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .feature__note {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .feature__note {
    font-size: 1.2rem;
  }
}
.feature__note {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .feature__note {
    font-size: 4.8vw;
    line-height: 1.5555555556;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .feature__note {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .feature__note {
    font-size: 1.8rem;
  }
}

.feature__date {
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .feature__date {
    margin-top: min(0.75vw, 12px);
  }
}
.feature__date {
  text-align: right;
}

.feature__deco {
  position: absolute;
}
.feature__deco svg, .feature__deco img, .feature__deco canvas {
  width: 100%;
  height: auto;
  display: block;
}

.feature__deco.--square1 {
  width: 49.3333333333vw;
  top: 26.6666666667vw;
  right: -24vw;
}
@media screen and (min-width: 769px) {
  .feature__deco.--square1 {
    width: min(39.1875vw, 627px);
    top: min(5vw, 80px);
    right: max(-5vw, -80px);
  }
}

.feature__deco.--square2 {
  width: 24.5333333333vw;
  top: 61.8666666667vw;
  left: -24.5333333333vw;
}
@media screen and (min-width: 769px) {
  .feature__deco.--square2 {
    width: min(17.8125vw, 285px);
    top: min(25.75vw, 412px);
    left: max(-16.875vw, -270px);
  }
}

.feature__deco.--square3 {
  content: "";
  width: 24vw;
  height: 24vw;
  position: absolute;
  left: -12vw;
  bottom: -12vw;
  background: #0055A5;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .feature__deco.--square3 {
    width: min(7.5vw, 120px);
    height: min(7.5vw, 120px);
    left: max(-10vw, -160px);
    bottom: max(-7.5vw, -120px);
  }
}

.feature__deco.--square4 {
  content: "";
  width: 49.5253333333vw;
  height: 9.8666666667vw;
  position: absolute;
  right: -20vw;
  bottom: -8vw;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .feature__deco.--square4 {
    width: min(31.37125vw, 501.94px);
    height: min(6.25vw, 100px);
    bottom: max(-4.375vw, -70px);
    right: max(-31.875vw, -510px);
  }
}

.carousel {
  overflow: hidden;
}

.carousel__lists {
  display: flex;
  width: max-content;
  line-height: 0;
  gap: 1.3333333333vw;
  animation: carousel-rtl var(--carousel-duration, 0.5s) linear infinite;
  will-change: transform;
}
@media screen and (min-width: 769px) {
  .carousel__lists {
    gap: min(0.625vw, 10px);
  }
}
.carousel__lists.--ltr {
  animation-name: carousel-ltr;
}
.carousel__lists:not(:first-child) {
  margin-top: 1.3333333333vw;
}
@media screen and (min-width: 769px) {
  .carousel__lists:not(:first-child) {
    margin-top: min(0.625vw, 10px);
  }
}
.carousel__lists li {
  flex-shrink: 0;
  width: 40vw;
  line-height: 0;
  background: #F3F3F3;
  filter: grayscale(1);
}
@media screen and (min-width: 769px) {
  .carousel__lists li {
    width: min(18.75vw, 300px);
  }
}
.carousel__lists li img {
  width: 100%;
  opacity: 0.8;
}
.carousel__lists li.--flash {
  filter: grayscale(0);
}
.carousel__lists li.--flash img {
  opacity: 1;
}

@keyframes carousel-rtl {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes carousel-ltr {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .carousel__lists {
    animation: carousel-rtl var(--carousel-duration, 0.5s) linear infinite !important;
  }
  .carousel__lists.--ltr {
    animation-name: carousel-ltr !important;
  }
}
.experience {
  margin-top: 6.1333333333vw;
}
@media screen and (min-width: 769px) {
  .experience {
    margin-top: min(1.25vw, 20px);
  }
}
.experience {
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .experience {
    padding-bottom: min(6.25vw, 100px);
  }
}
.experience {
  overflow: hidden;
  background: #F3F3F3;
}
.experience.--even {
  margin-top: 0px;
}

.experience__inner {
  padding-top: 16vw;
}
@media screen and (min-width: 769px) {
  .experience__inner {
    padding-top: min(7.5vw, 120px);
  }
}
.experience__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .experience__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.experience__inner {
  position: relative;
}

.experience__title {
  text-align: center;
}
.experience__title h2 {
  font-family: "Generika", sans-serif;
  font-size: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__title h2 {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 1600px) {
  .experience__title h2 {
    font-size: 4rem;
  }
}
.experience__title h2 {
  line-height: 1;
  font-weight: 700;
  color: #DD3333;
}
@media screen and (min-width: 769px) {
  .experience__title h2 {
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__title h2 {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__title h2 {
    font-size: 8rem;
  }
}
.experience__title h2 span {
  display: block;
  color: #242422;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .experience__title h2 span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .experience__title h2 span {
    font-size: 1.2rem;
  }
}
.experience__title h2 span {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .experience__title h2 span {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__title h2 span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__title h2 span {
    font-size: 2rem;
  }
}

.experience__feature {
  padding-top: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__feature {
    padding-top: min(5vw, 80px);
  }
}
.experience__feature {
  display: flex;
  flex-direction: column;
  row-gap: 8.5333333333vw;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .experience__feature {
    flex-direction: row;
    column-gap: min(5.75vw, 92px);
  }
}

.experience__picture {
  width: 92vw;
}
@media screen and (min-width: 769px) {
  .experience__picture {
    width: min(45vw, 720px);
  }
}
@media screen and (min-width: 769px) {
  .experience__picture {
    order: 2;
    margin-right: max(-8.75vw, -140px);
  }
}
.experience__picture img {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .experience__detail {
    width: min(40vw, 640px);
    order: 1;
  }
}

.experience__heading {
  position: relative;
}
.experience__heading h3 {
  font-size: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__heading h3 {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 1600px) {
  .experience__heading h3 {
    font-size: 2rem;
  }
}
.experience__heading h3 {
  line-height: 1.5;
  font-weight: 700;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .experience__heading h3 {
    font-size: 9.6vw;
    line-height: 1.5;
    white-space: nowrap;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__heading h3 {
    font-size: min(2.25vw, 36px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__heading h3 {
    font-size: 3.6rem;
  }
}
.experience__heading h3 span {
  color: #DD3333;
  font-weight: 700;
}
.experience.--even .experience__heading h3 span {
  color: #0055A5;
}

.experience__number {
  position: absolute;
  top: -0.1em;
  left: -4vw;
  z-index: 1;
  color: #FFFFFF;
  font-family: "Generika", sans-serif;
  font-size: 25.0666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__number {
    font-size: min(5.875vw, 94px);
  }
}
@media screen and (min-width: 1600px) {
  .experience__number {
    font-size: 9.4rem;
  }
}
.experience__number {
  line-height: 0.9;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .experience__number {
    font-size: 56vw;
    line-height: 0.9;
    top: -0.25em;
    left: 0px;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__number {
    font-size: min(13.125vw, 210px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__number {
    font-size: 21rem;
  }
}
@media screen and (min-width: 1600px) {
  .experience__number {
    left: max(-3.75vw, -60px);
  }
}

.experience__message {
  margin-top: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__message {
    margin-top: min(4.875vw, 78px);
  }
}
.experience__message p {
  padding: 0.5333333333vw 2.6666666667vw;
  color: #FFFFFF;
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__message p {
    font-size: min(1vw, 16px);
  }
}
@media screen and (min-width: 1600px) {
  .experience__message p {
    font-size: 1.6rem;
  }
}
.experience__message p {
  line-height: 2.125;
  font-weight: 700;
  display: inline;
  background: #DD3333;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.experience.--even .experience__message p {
  background: #0055A5;
}
@media screen and (min-width: 769px) {
  .experience__message p {
    padding: min(0.25vw, 4px) min(1.25vw, 20px);
    font-size: 7.4666666667vw;
    line-height: 2.1428571429;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__message p {
    font-size: min(1.75vw, 28px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__message p {
    font-size: 2.8rem;
  }
}

.experience__lead {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__lead {
    margin-top: min(1.75vw, 28px);
  }
}
.experience__lead p {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .experience__lead p {
    font-size: 5.8666666667vw;
    line-height: 2;
    letter-spacing: 0.02em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__lead p {
    font-size: min(1.375vw, 22px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__lead p {
    font-size: 2.2rem;
  }
}

.experience__overviews {
  margin-top: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__overviews {
    margin-top: min(5vw, 80px);
  }
}
.experience__overviews {
  display: flex;
  flex-direction: column;
  row-gap: 4.2666666667vw;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .experience__overviews {
    flex-direction: row;
    column-gap: min(3.75vw, 60px);
  }
  .experience.--even .experience__overviews {
    column-gap: min(2.25vw, 36px);
  }
}

.experience__overview {
  padding: 4.2666666667vw 4.2666666667vw 5.3333333333vw;
  background: #FFFFFF;
  box-shadow: 1.3333333333vw 1.3333333333vw 0px #DD3333;
}
@media screen and (min-width: 769px) {
  .experience__overview {
    flex: 1;
    min-width: 0;
    padding: min(1.5vw, 24px) min(1.5vw, 24px) min(2.5vw, 40px);
    box-shadow: min(0.375vw, 6px) min(0.375vw, 6px) 0px #DD3333;
  }
}
.experience__overview:nth-child(even) {
  box-shadow: 1.3333333333vw 1.3333333333vw 0px #0055A5;
}
@media screen and (min-width: 769px) {
  .experience__overview:nth-child(even) {
    box-shadow: min(0.375vw, 6px) min(0.375vw, 6px) 0px #0055A5;
  }
}
.experience__overview:nth-child(even) h4 {
  color: #0055A5;
}
.experience__overview picture img {
  width: 100%;
}
.experience__overview h4 {
  margin-top: 3.2vw;
}
@media screen and (min-width: 769px) {
  .experience__overview h4 {
    margin-top: min(1.25vw, 20px);
  }
}
.experience__overview h4 {
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__overview h4 {
    font-size: min(1vw, 16px);
  }
}
@media screen and (min-width: 1600px) {
  .experience__overview h4 {
    font-size: 1.6rem;
  }
}
.experience__overview h4 {
  line-height: 1.5625;
  font-weight: 500;
  color: #DD3333;
}
@media screen and (min-width: 769px) {
  .experience__overview h4 {
    font-size: 7.4666666667vw;
    line-height: 1.5714285714;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__overview h4 {
    font-size: min(1.75vw, 28px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__overview h4 {
    font-size: 2.8rem;
  }
}
.experience__overview p {
  margin-top: 1.0666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__overview p {
    margin-top: min(0.5vw, 8px);
  }
}
.experience__overview p {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__overview p {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .experience__overview p {
    font-size: 1.4rem;
  }
}
.experience__overview p {
  line-height: 1.5714285714;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .experience__overview p {
    font-size: 4.8vw;
    line-height: 1.5555555556;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .experience__overview p {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .experience__overview p {
    font-size: 1.8rem;
  }
}

.experience__note {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__note {
    margin-top: min(2.5vw, 40px);
  }
}
.experience__note li {
  font-weight: 500;
}

.experience__deco {
  position: absolute;
  display: block;
  line-height: 0;
  z-index: 1;
}
.experience__deco svg, .experience__deco img, .experience__deco canvas {
  width: 100%;
  display: block;
}

.experience__deco.--square1 {
  width: 49.3333333333vw;
  top: -10.4vw;
  left: -24vw;
}
@media screen and (min-width: 769px) {
  .experience__deco.--square1 {
    width: min(31.25vw, 500px);
    top: min(5.625vw, 90px);
    left: max(-18.75vw, -300px);
  }
}

.experience__deco.--square2 {
  width: 24.5333333333vw;
  right: -22.4vw;
  bottom: -6.9333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__deco.--square2 {
    width: min(14.0625vw, 225px);
    right: max(-18.75vw, -300px);
    bottom: 0px;
  }
}

.experience__deco.--square3 {
  display: none;
}
@media screen and (min-width: 769px) {
  .experience__deco.--square3 {
    width: min(14.0625vw, 225px);
    display: block;
    top: max(-10vw, -160px);
    right: 0px;
  }
}

.experience__deco.--square4 {
  width: 26.6666666667vw;
  top: 16vw;
  right: -5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__deco.--square4 {
    width: min(14.0625vw, 225px);
    top: min(5vw, 80px);
    right: max(-8.125vw, -130px);
  }
}

.experience__deco.--square5 {
  width: 49.3333333333vw;
  left: -5.3333333333vw;
  bottom: 13.3333333333vw;
}
@media screen and (min-width: 769px) {
  .experience__deco.--square5 {
    width: min(31.25vw, 500px);
    left: max(-33.75vw, -540px);
    bottom: max(-4.375vw, -70px);
  }
}

.experience__reserve {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .experience__reserve {
    margin-top: min(5vw, 80px);
  }
}
.experience__reserve {
  text-align: center;
  position: relative;
  z-index: 2;
}
.experience__reserve a {
  width: 84vw;
}
@media screen and (min-width: 769px) {
  .experience__reserve a {
    width: min(25vw, 400px);
  }
}

.voice {
  padding-top: 20vw;
}
@media screen and (min-width: 769px) {
  .voice {
    padding-top: min(8.5625vw, 137px);
  }
}
.voice {
  background: #F3F3F3;
  overflow: hidden;
}

.voice__outer {
  position: relative;
}
.voice__outer::before {
  content: "";
  width: 92vw;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background: #DD3333 url(../img/voice/bg.webp) right bottom/9.0666666667vw auto repeat;
}
@media screen and (min-width: 769px) {
  .voice__outer::before {
    background-size: min(2.5vw, 40px) auto;
    width: calc(50vw + min(45vw, 720px));
  }
}

.voice__inner {
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .voice__inner {
    padding-bottom: min(5vw, 80px);
  }
}
.voice__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .voice__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.voice__inner {
  position: relative;
  z-index: 2;
}

.voice__title {
  position: relative;
  top: -7.2vw;
}
@media screen and (min-width: 769px) {
  .voice__title {
    top: max(-3.5vw, -56px);
  }
}
.voice__title h2 {
  color: #DD3333;
  font-family: "Generika", sans-serif;
  font-size: 9.6vw;
}
@media screen and (min-width: 769px) {
  .voice__title h2 {
    font-size: min(2.25vw, 36px);
  }
}
@media screen and (min-width: 1600px) {
  .voice__title h2 {
    font-size: 3.6rem;
  }
}
.voice__title h2 {
  line-height: 1;
  font-weight: 700;
  text-align: center;
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .voice__title h2 {
    font-size: 19.7333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .voice__title h2 {
    font-size: min(4.625vw, 74px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .voice__title h2 {
    font-size: 7.4rem;
  }
}
.voice__title h2 span {
  display: block;
  color: #FFFFFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .voice__title h2 span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .voice__title h2 span {
    font-size: 1.2rem;
  }
}
.voice__title h2 span {
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .voice__title h2 span {
    font-size: 5.3333333333vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .voice__title h2 span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .voice__title h2 span {
    font-size: 2rem;
  }
}

.voice__lists {
  display: flex;
  flex-direction: column;
  row-gap: 9.8666666667vw;
}
@media screen and (min-width: 769px) {
  .voice__lists {
    flex-direction: row;
    column-gap: min(2.25vw, 36px);
  }
}

.voice__list {
  margin-right: 5.3333333333vw;
  padding: 4.8vw 4.2666666667vw 5.3333333333vw;
  background: #FFFFFF;
  border-radius: 1.0666666667vw;
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333333333vw 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .voice__list {
    flex: 1;
    min-width: 0;
    margin: 0px;
    padding: min(1.25vw, 20px) min(1.5vw, 24px) min(3.75vw, 60px);
    gap: min(1.75vw, 28px) min(1.25vw, 20px);
    border-radius: min(0.5vw, 8px);
  }
}

.voice__thumbnail {
  width: 19.2vw;
  aspect-ratio: 1/1;
  margin-top: -10.1333333333vw;
}
@media screen and (min-width: 769px) {
  .voice__thumbnail {
    width: min(6.25vw, 100px);
    margin-top: max(-3.125vw, -50px);
  }
}
.voice__thumbnail img {
  width: 100%;
}

.voice__name {
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 769px) {
  .voice__name {
    font-size: min(0.8125vw, 13px);
  }
}
@media screen and (min-width: 1600px) {
  .voice__name {
    font-size: 1.3rem;
  }
}
.voice__name {
  line-height: 2.1538461538;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .voice__name {
    font-size: 5.3333333333vw;
    line-height: 1.8;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .voice__name {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .voice__name {
    font-size: 2rem;
  }
}

.voice__thoughts {
  width: 100%;
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .voice__thoughts {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .voice__thoughts {
    font-size: 1.4rem;
  }
}
.voice__thoughts {
  line-height: 1.5714285714;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .voice__thoughts {
    font-size: 5.3333333333vw;
    line-height: 1.6;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .voice__thoughts {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .voice__thoughts {
    font-size: 2rem;
  }
}

.voice__reserve {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .voice__reserve {
    margin-top: min(5vw, 80px);
  }
}
.voice__reserve {
  text-align: center;
  position: relative;
  z-index: 2;
}
.voice__reserve a {
  width: 84vw;
}
@media screen and (min-width: 769px) {
  .voice__reserve a {
    width: min(25vw, 400px);
  }
}

.access {
  padding-top: 16vw;
}
@media screen and (min-width: 769px) {
  .access {
    padding-top: min(7.5vw, 120px);
  }
}
.access {
  padding-bottom: 16vw;
}
@media screen and (min-width: 769px) {
  .access {
    padding-bottom: min(7.5vw, 120px);
  }
}

.access__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .access__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.access__inner img {
  width: 100%;
}

.announce__tip {
  padding-bottom: 2.4vw;
}
@media screen and (min-width: 769px) {
  .announce__tip {
    padding-bottom: min(0.75vw, 12px);
  }
}
.announce__tip p {
  color: #FFF100;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .announce__tip p {
    font-size: 8.5333333333vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .announce__tip p {
    font-size: min(2vw, 32px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .announce__tip p {
    font-size: 3.2rem;
  }
}

.access__title {
  color: #0055A5;
  font-family: "Generika", sans-serif;
  font-size: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .access__title {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 1600px) {
  .access__title {
    font-size: 4rem;
  }
}
.access__title {
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .access__title {
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__title {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__title {
    font-size: 8rem;
  }
}
.access__title span {
  color: #242422;
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .access__title span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .access__title span {
    font-size: 1.2rem;
  }
}
.access__title span {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .access__title span {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__title span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__title span {
    font-size: 2rem;
  }
}

.access__maps {
  padding-top: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .access__maps {
    padding-top: min(5vw, 80px);
  }
}
.access__maps {
  display: flex;
  flex-direction: column;
  row-gap: 2.6666666667vw;
  font-size: 0;
}
@media screen and (min-width: 769px) {
  .access__maps {
    flex-direction: row;
    column-gap: min(1.25vw, 20px);
  }
}

@media screen and (min-width: 769px) {
  .access__map {
    width: min(46.25vw, 740px);
  }
}

.access__building {
  padding: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  .access__building {
    padding: min(1.125vw, 18px);
  }
}
.access__building {
  position: relative;
  border: 0.8vw solid #0055A5;
}
.access__building::after {
  content: "";
  width: 8.8vw;
  height: 18.4vw;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .access__building::after {
    top: -18.4vw;
    right: 5.8666666667vw;
    background: url(../img/access/triangle.webp) center bottom/contain no-repeat;
    border-bottom: 1px solid #fff;
  }
}
@media screen and (min-width: 769px) {
  .access__building::after {
    width: min(4.0625vw, 65px);
    height: min(2.5vw, 40px);
    background: url(../img/access/triangle_pc.webp) center right/contain no-repeat;
    top: min(11.25vw, 180px);
    left: max(-4.0625vw, -65px);
  }
}
@media screen and (min-width: 769px) {
  .access__building {
    flex: 1;
    border-width: min(0.1875vw, 3px);
  }
}

.access__details {
  padding-top: 3.2vw;
}
@media screen and (min-width: 769px) {
  .access__details {
    padding-top: min(1.25vw, 20px);
  }
}
.access__details {
  display: flex;
  flex-direction: column;
  row-gap: 3.2vw;
}
@media screen and (min-width: 769px) {
  .access__details {
    row-gap: min(0.25vw, 4px);
  }
}
.access__details dl {
  width: 100%;
  display: flex;
  align-items: center;
  column-gap: 3.4666666667vw;
}
@media screen and (min-width: 769px) {
  .access__details dl {
    column-gap: min(1.25vw, 20px);
  }
}
.access__details dl dt {
  padding: 0.5333333333vw 0.8vw;
  background: #0055A5;
  color: #FFFFFF;
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .access__details dl dt {
    font-size: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 1600px) {
  .access__details dl dt {
    font-size: 1rem;
  }
}
.access__details dl dt {
  line-height: 1.4;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .access__details dl dt {
    padding: min(0.25vw, 4px) min(0.5vw, 8px);
    font-size: 4.5333333333vw;
    line-height: 1.4117647059;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__details dl dt {
    font-size: min(1.0625vw, 17px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__details dl dt {
    font-size: 1.7rem;
  }
}
.access__details dl dd {
  flex: 1;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .access__details dl dd {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .access__details dl dd {
    font-size: 1.5rem;
  }
}
.access__details dl dd {
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .access__details dl dd {
    font-size: 7.4666666667vw;
    line-height: 1.3928571429;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__details dl dd {
    font-size: min(1.75vw, 28px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__details dl dd {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  .access__details dl dd.--small {
    font-size: 6.4vw;
    line-height: 1.625;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__details dl dd.--small {
    font-size: min(1.5vw, 24px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__details dl dd.--small {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 769px) {
  .access__details ul {
    margin-top: max(-0.625vw, -10px);
  }
}
.access__details ul li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .access__details ul li {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .access__details ul li {
    font-size: 1.2rem;
  }
}
.access__details ul li {
  line-height: 1.5833333333;
}
@media screen and (min-width: 769px) {
  .access__details ul li {
    font-size: 3.7333333333vw;
    line-height: 2.2857142857;
    white-space: nowrap;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__details ul li {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__details ul li {
    font-size: 1.4rem;
  }
}

.access__accesses {
  padding-top: 6.4vw;
}
@media screen and (min-width: 769px) {
  .access__accesses {
    padding-top: min(3.75vw, 60px);
  }
}
.access__accesses {
  display: flex;
  flex-direction: column;
  row-gap: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .access__accesses {
    flex-direction: row;
    column-gap: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 769px) {
  .access__accesses dl {
    min-width: unset;
    flex: 1;
  }
}
.access__accesses dl dt {
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .access__accesses dl dt {
    margin-bottom: min(1vw, 16px);
  }
}
.access__accesses dl dt {
  padding: 1.6vw 3.2vw;
  background: #F3F3F3;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .access__accesses dl dt {
    padding: min(0.625vw, 10px) min(1.25vw, 20px);
    font-size: 5.3333333333vw;
    line-height: 1.6;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__accesses dl dt {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__accesses dl dt {
    font-size: 2rem;
  }
}
.access__accesses ul {
  padding-left: 1em;
  text-indent: -1em;
}
.access__accesses ul li {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .access__accesses ul li {
    font-size: 4.8vw;
    line-height: 2;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .access__accesses ul li {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .access__accesses ul li {
    font-size: 1.8rem;
  }
}

.partners {
  padding-top: 16vw;
}
@media screen and (min-width: 769px) {
  .partners {
    padding-top: min(7.5vw, 120px);
  }
}
.partners {
  padding-bottom: 16vw;
}
@media screen and (min-width: 769px) {
  .partners {
    padding-bottom: min(7.5vw, 120px);
  }
}
.partners {
  background: #F3F3F3;
}

.partners__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .partners__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.partners__inner {
  padding-top: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .partners__inner {
    padding-top: min(5vw, 80px);
  }
}
.partners__inner {
  display: flex;
  flex-direction: column;
  row-gap: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .partners__inner {
    row-gap: min(1.25vw, 20px);
  }
}
.partners__inner img {
  width: 100%;
}

.partners__title {
  color: #DD3333;
  font-family: "Generika", sans-serif;
  font-size: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .partners__title {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 1600px) {
  .partners__title {
    font-size: 4rem;
  }
}
.partners__title {
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .partners__title {
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .partners__title {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .partners__title {
    font-size: 8rem;
  }
}
.partners__title span {
  color: #242422;
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .partners__title span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .partners__title span {
    font-size: 1.2rem;
  }
}
.partners__title span {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .partners__title span {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .partners__title span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .partners__title span {
    font-size: 2rem;
  }
}

.partners__block {
  padding: 4.2666666667vw 5.3333333333vw;
  background: #FFFFFF;
}
@media screen and (min-width: 769px) {
  .partners__block {
    padding: min(1.5vw, 24px) min(2.25vw, 36px);
  }
}
.partners__block h3 {
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .partners__block h3 {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .partners__block h3 {
    font-size: 1.5rem;
  }
}
.partners__block h3 {
  line-height: 1.6;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .partners__block h3 {
    font-size: 6.4vw;
    line-height: 1.5833333333;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .partners__block h3 {
    font-size: min(1.5vw, 24px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .partners__block h3 {
    font-size: 2.4rem;
  }
}
.partners__block ul {
  margin-top: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  .partners__block ul {
    margin-top: min(0.75vw, 12px);
  }
}
.partners__block ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8666666667vw;
}
@media screen and (min-width: 769px) {
  .partners__block ul {
    gap: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) {
  .partners__block ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
.partners__block ul li {
  min-width: 0;
}
.partners__block ul li a {
  display: block;
  font-size: 0;
  overflow: hidden;
  font-size: 0;
}
@media screen and (min-width: 769px) {
  .partners__block ul li a {
    outline: min(0.125vw, 2px) solid #FFFFFF;
    transition: outline-color 0.4s ease;
  }
  .partners__block ul li a:hover {
    outline-color: #DD3333;
  }
}
.partners__block ul li[class*="--"] {
  grid-column: 1/-1;
  justify-self: center;
}
.partners__block ul li.--arte {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .partners__block ul li.--arte {
    width: min(27.5vw, 440px);
    grid-column: unset;
  }
}
.partners__block ul li.--toyota {
  width: 53.3333333333vw;
}
@media screen and (min-width: 769px) {
  .partners__block ul li.--toyota {
    width: min(25vw, 400px);
  }
}
.partners__block ul li.--moveum {
  width: 37.3333333333vw;
}
@media screen and (min-width: 769px) {
  .partners__block ul li.--moveum {
    width: min(18.75vw, 300px);
  }
}
.partners__block ul li.--wide {
  width: 100%;
}

.partners__text {
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .partners__text {
    margin-top: min(0.5vw, 8px);
  }
}
.partners__text {
  padding-bottom: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .partners__text {
    padding-bottom: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) {
  .partners__text {
    text-align: center;
  }
}
.partners__text p {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .partners__text p {
    font-size: 4.8vw;
    line-height: 2;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .partners__text p {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .partners__text p {
    font-size: 1.8rem;
  }
}

.about {
  padding-top: 16vw;
}
@media screen and (min-width: 769px) {
  .about {
    padding-top: min(7.5vw, 120px);
  }
}
.about {
  padding-bottom: 16vw;
}
@media screen and (min-width: 769px) {
  .about {
    padding-bottom: min(7.5vw, 120px);
  }
}
.about {
  position: relative;
  overflow: hidden;
}

.about__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .about__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.about__inner {
  position: relative;
  z-index: 2;
}

.about__inner {
  isolation: isolate;
  position: relative;
  z-index: 2;
}

.about__heading h2 {
  text-align: center;
  font-family: "Generika", sans-serif;
  font-size: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__heading h2 {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 1600px) {
  .about__heading h2 {
    font-size: 4rem;
  }
}
.about__heading h2 {
  line-height: 1;
  font-weight: 700;
  color: #DD3333;
}
@media screen and (min-width: 769px) {
  .about__heading h2 {
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .about__heading h2 {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .about__heading h2 {
    font-size: 8rem;
  }
}
.about__heading h2 span {
  display: block;
  color: #242422;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .about__heading h2 span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .about__heading h2 span {
    font-size: 1.2rem;
  }
}
.about__heading h2 span {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .about__heading h2 span {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .about__heading h2 span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .about__heading h2 span {
    font-size: 2rem;
  }
}
.about__heading p {
  margin-top: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .about__heading p {
    margin-top: min(3.75vw, 60px);
  }
}
@media screen and (min-width: 769px) {
  .about__heading p {
    text-align: center;
  }
}

.about__details {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .about__details {
    margin-top: min(3.75vw, 60px);
  }
}
.about__details {
  display: flex;
  flex-direction: column;
  row-gap: 2.1333333333vw;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .about__details {
    padding: 0px min(3.75vw, 60px);
    flex-direction: row;
    column-gap: min(2.5vw, 40px);
  }
}

.about__detail {
  padding: 3.2vw 0px 4.2666666667vw;
  background-color: #F3F3F3;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .about__detail {
    width: 100%;
    padding: min(1.25vw, 20px) 0 min(1.75vw, 28px);
  }
}
.about__detail > p {
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .about__detail > p {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .about__detail > p {
    font-size: 1.2rem;
  }
}
.about__detail > p {
  line-height: 1.5833333333;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .about__detail > p {
    font-size: 5.8666666667vw;
    line-height: 1.5909090909;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .about__detail > p {
    font-size: min(1.375vw, 22px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .about__detail > p {
    font-size: 2.2rem;
  }
}

.about__number {
  margin-top: 1.6vw;
}
@media screen and (min-width: 769px) {
  .about__number {
    margin-top: min(1.125vw, 18px);
  }
}
.about__number .--red {
  color: #DD3333;
}
.about__number .--blue {
  color: #0055A5;
}
.about__number strong {
  font-size: 12.2666666667vw;
}
@media screen and (min-width: 769px) {
  .about__number strong {
    font-size: min(2.875vw, 46px);
  }
}
@media screen and (min-width: 1600px) {
  .about__number strong {
    font-size: 4.6rem;
  }
}
.about__number strong {
  line-height: 1;
  font-weight: 700;
  font-family: "Generika", sans-serif;
}
@media screen and (min-width: 769px) {
  .about__number strong {
    font-size: 24.5333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .about__number strong {
    font-size: min(5.75vw, 92px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .about__number strong {
    font-size: 9.2rem;
  }
}
.about__number span {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .about__number span {
    font-size: 8.5333333333vw;
    line-height: 2.875;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .about__number span {
    font-size: min(2vw, 32px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .about__number span {
    font-size: 3.2rem;
  }
}

.about__note {
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .about__note {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .about__note {
    font-size: 1.2rem;
  }
}
.about__note {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .about__note {
    font-size: 4.8vw;
    line-height: 1.5555555556;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .about__note {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .about__note {
    font-size: 1.8rem;
  }
}

.about__date {
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .about__date {
    margin-top: min(0.75vw, 12px);
  }
}
.about__date {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .about__date {
    padding-right: min(3.75vw, 60px);
  }
}

.about__movie {
  width: 100%;
  margin-top: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .about__movie {
    margin-top: min(3.75vw, 60px);
  }
}
.about__movie {
  background: #F3F3F3;
  font-size: 0;
  aspect-ratio: 16/9;
}
.about__movie iframe,
.about__movie .js_about_movie {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

.about__deco {
  position: absolute;
  font-size: 0;
  z-index: 1;
}
.about__deco img {
  width: 100%;
}

.about__deco.--box1 {
  width: 23.4666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box1 {
    width: min(11vw, 176px);
  }
}
.about__deco.--box1 {
  top: -25.6vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box1 {
    top: max(-8.75vw, -140px);
  }
}
.about__deco.--box1 {
  left: -10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box1 {
    left: max(-8.75vw, -140px);
  }
}

.about__deco.--box2 {
  width: 18.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box2 {
    width: min(8.75vw, 140px);
  }
}
.about__deco.--box2 {
  top: -16vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box2 {
    top: min(5.625vw, 90px);
  }
}
.about__deco.--box2 {
  right: -18.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box2 {
    right: max(-9.375vw, -150px);
  }
}
.about__deco.--box2 {
  transform: rotate(-180deg);
}

.about__deco.--box3 {
  width: 8vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box3 {
    width: min(3.75vw, 60px);
  }
}
.about__deco.--box3 {
  height: 8vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box3 {
    height: min(3.75vw, 60px);
  }
}
.about__deco.--box3 {
  top: 70vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box3 {
    top: min(35vw, 560px);
  }
}
.about__deco.--box3 {
  left: -2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box3 {
    left: max(-9.375vw, -150px);
  }
}
.about__deco.--box3 {
  background: #DD3333;
}

.about__deco.--box4 {
  width: 8vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box4 {
    width: min(7.25vw, 116px);
  }
}
.about__deco.--box4 {
  height: 8vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box4 {
    height: min(7.25vw, 116px);
  }
}
.about__deco.--box4 {
  top: 135vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box4 {
    top: min(58.5vw, 936px);
  }
}
.about__deco.--box4 {
  right: -2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box4 {
    right: max(-11.875vw, -190px);
  }
}
.about__deco.--box4 {
  background: #0055A5;
}
@media screen and (min-width: 769px) {
  .about__deco.--box4 {
    background: #DD3333;
  }
}

.about__deco.--box5 {
  width: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box5 {
    width: min(5vw, 80px);
  }
}
.about__deco.--box5 {
  height: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box5 {
    height: min(5vw, 80px);
  }
}
.about__deco.--box5 {
  bottom: -10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box5 {
    bottom: max(-6.25vw, -100px);
  }
}
.about__deco.--box5 {
  left: -10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .about__deco.--box5 {
    left: max(-7.5vw, -120px);
  }
}
.about__deco.--box5 {
  background: #DD3333;
}
@media screen and (min-width: 769px) {
  .about__deco.--box5 {
    background: #0055A5;
  }
}

.reserve {
  margin-top: 1.8666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve {
    margin-top: min(1.25vw, 20px);
  }
}
.reserve {
  background: #F3F3F3;
  overflow: hidden;
}

.reserve__inner {
  padding: 13.3333333333vw 0px 16vw;
  position: relative;
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .reserve__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 769px) {
  .reserve__inner {
    padding: min(6.875vw, 110px) 0px min(7.5vw, 120px);
  }
}

.reserve__title {
  text-align: center;
}
.reserve__title h2 {
  font-family: "Generika", sans-serif;
  font-size: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__title h2 {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 1600px) {
  .reserve__title h2 {
    font-size: 4rem;
  }
}
.reserve__title h2 {
  line-height: 1;
  font-weight: 700;
  color: #0055A5;
}
@media screen and (min-width: 769px) {
  .reserve__title h2 {
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .reserve__title h2 {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .reserve__title h2 {
    font-size: 8rem;
  }
}
.reserve__title h2 span {
  display: block;
  color: #242422;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .reserve__title h2 span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .reserve__title h2 span {
    font-size: 1.2rem;
  }
}
.reserve__title h2 span {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .reserve__title h2 span {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .reserve__title h2 span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .reserve__title h2 span {
    font-size: 2rem;
  }
}

.reserve__lead {
  margin-top: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__lead {
    margin-top: min(3.75vw, 60px);
  }
}
@media screen and (min-width: 769px) {
  .reserve__lead {
    text-align: center;
  }
}

.reserve__link {
  margin-top: 6.4vw;
}
@media screen and (min-width: 769px) {
  .reserve__link {
    margin-top: min(1.75vw, 28px);
  }
}
.reserve__link {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .reserve__link {
    text-align: center;
  }
}
.reserve__link a {
  display: inline-flex;
  align-items: center;
  color: #242422;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .reserve__link a {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .reserve__link a {
    font-size: 1.5rem;
  }
}
.reserve__link a {
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__link a {
    font-size: 4.8vw;
    line-height: 1.3888888889;
    text-underline-offset: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .reserve__link a {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .reserve__link a {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) {
  .reserve__link a:hover {
    text-decoration: none;
  }
}
.reserve__link a[target=_blank]::after {
  content: "";
  margin-left: 1.0666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__link a[target=_blank]::after {
    margin-left: min(0.75vw, 12px);
  }
}
.reserve__link a[target=_blank]::after {
  width: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__link a[target=_blank]::after {
    width: min(1vw, 16px);
  }
}
.reserve__link a[target=_blank]::after {
  height: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__link a[target=_blank]::after {
    height: min(1vw, 16px);
  }
}
.reserve__link a[target=_blank]::after {
  display: inline-block;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.21703 2.71094H3.13428V12.8764H13.2998V8.79369" stroke="%23242422" stroke-width="1.5"/><rect x="7.89392" y="7.91797" width="6.67799" height="0.606464" transform="rotate(-45 7.89392 7.91797)" fill="%23242422" stroke="%23242422" stroke-width="0.606464"/><path d="M9.54028 2.76562L13.2697 2.76562V6.49501" stroke="%23242422" stroke-width="1.5"/></svg>') center center/contain no-repeat;
}

.reserve__note {
  margin-top: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__note {
    margin-top: min(2.5vw, 40px);
  }
}
@media screen and (max-width: 768px) {
  .reserve__note li {
    font-size: 3.2vw;
    line-height: 1.5833333333;
  }
}
@media screen and (max-width: 768px) and (min-width: 769px) {
  .reserve__note li {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (max-width: 768px) and (min-width: 1600px) {
  .reserve__note li {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 769px) {
  .reserve__note li {
    text-align: center;
  }
}
.reserve__note a {
  text-decoration: underline;
  color: #242422;
}
@media screen and (min-width: 769px) {
  .reserve__note a:hover {
    text-decoration: none;
  }
}

.reserve__body {
  margin-top: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__body {
    margin-top: min(3.75vw, 60px);
  }
}
.reserve__body {
  background: rgba(0, 0, 0, 0.3);
  font-size: 0;
}
.reserve__body iframe {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.reserve__bottom {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__bottom {
    margin-top: min(3.75vw, 60px);
  }
}
.reserve__bottom {
  text-align: center;
}
.reserve__bottom a {
  padding: 3.7333333333vw 5.3333333333vw 3.7333333333vw 7.4666666667vw;
  border-radius: 43.7333333333vw;
  color: #fff;
  margin-left: auto;
  background: #DD3333;
  display: inline-flex;
  column-gap: 3.2vw;
  align-items: center;
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .reserve__bottom a {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .reserve__bottom a {
    font-size: 1.5rem;
  }
}
.reserve__bottom a {
  line-height: 1.4;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .reserve__bottom a {
    padding: min(1.125vw, 18px) min(1.25vw, 20px) min(1.125vw, 18px) min(1.75vw, 28px);
    border-radius: min(10.25vw, 164px);
    column-gap: min(0.75vw, 12px);
    font-size: 4.8vw;
    line-height: 1.3888888889;
    transition: color 0.4s ease, background-color 0.4s ease, outline-color 0.4s ease;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .reserve__bottom a {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .reserve__bottom a {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) {
  .reserve__bottom a:hover {
    outline: min(0.125vw, 2px) solid #DD3333;
    background-color: #fff;
    color: #DD3333;
  }
  .reserve__bottom a:hover::after {
    background: url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 7L15 12L10 17" stroke="%23DD3333" stroke-width="2"/></svg>') center center/contain no-repeat;
  }
}
.reserve__bottom a::after {
  content: "";
  width: 6.4vw;
}
@media screen and (min-width: 769px) {
  .reserve__bottom a::after {
    width: min(1.5vw, 24px);
  }
}
.reserve__bottom a::after {
  height: 6.4vw;
}
@media screen and (min-width: 769px) {
  .reserve__bottom a::after {
    height: min(1.5vw, 24px);
  }
}
.reserve__bottom a::after {
  display: inline-block;
  background: url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 7L15 12L10 17" stroke="white" stroke-width="2"/></svg>') center center/contain no-repeat;
}
@media screen and (min-width: 769px) {
  .reserve__bottom a::after {
    transition: background-image 0.4s ease;
  }
}

.reserve__deco {
  position: absolute;
}
.reserve__deco svg, .reserve__deco img, .reserve__deco canvas {
  width: 100%;
  display: block;
}

.reserve__deco.--square1 {
  width: 26.6666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square1 {
    width: min(16.3125vw, 261px);
  }
}
.reserve__deco.--square1 {
  top: 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square1 {
    top: min(13.125vw, 210px);
  }
}
.reserve__deco.--square1 {
  left: -27.7333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square1 {
    left: max(-11.875vw, -190px);
  }
}

.reserve__deco.--square2 {
  width: 24.5333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square2 {
    width: min(14.0625vw, 225px);
  }
}
.reserve__deco.--square2 {
  top: -16.8vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square2 {
    top: max(-6.375vw, -102px);
  }
}
.reserve__deco.--square2 {
  right: 0vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square2 {
    right: min(2.5vw, 40px);
  }
}

.reserve__deco.--square3 {
  width: 49.3333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square3 {
    width: min(25vw, 400px);
  }
}
.reserve__deco.--square3 {
  bottom: 71.2vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square3 {
    bottom: min(29.625vw, 474px);
  }
}
.reserve__deco.--square3 {
  left: -50.6666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square3 {
    left: max(-30vw, -480px);
  }
}

.reserve__deco.--square4 {
  width: 26.6666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square4 {
    width: min(16.3125vw, 261px);
  }
}
.reserve__deco.--square4 {
  top: 132.2666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square4 {
    top: min(39.8125vw, 637px);
  }
}
.reserve__deco.--square4 {
  right: -27.7333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square4 {
    right: max(-20.5625vw, -329px);
  }
}

.reserve__deco.--square5 {
  width: 24.5333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square5 {
    width: min(14.0625vw, 225px);
  }
}
.reserve__deco.--square5 {
  bottom: -14.9333333333vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square5 {
    bottom: max(-8.75vw, -140px);
  }
}
.reserve__deco.--square5 {
  right: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .reserve__deco.--square5 {
    right: min(12.5vw, 200px);
  }
}

.l-main-wrap {
  width: 100% !important;
}

.l-main {
  width: 100% !important;
}

.program {
  padding-top: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .program {
    padding-top: min(6.25vw, 100px);
  }
}
.program {
  padding-bottom: 12.8vw;
}
@media screen and (min-width: 769px) {
  .program {
    padding-bottom: min(6.25vw, 100px);
  }
}
.program {
  overflow: hidden;
}

.program__inner {
  margin-left: 8vw;
  margin-right: 8vw;
}
@media screen and (min-width: 769px) {
  .program__inner {
    width: 100%;
    max-width: min(82.5vw, 1320px);
    margin-left: auto;
    margin-right: auto;
  }
}
.program__inner {
  position: relative;
}

.program__slider.swiper {
  overflow: visible;
}
.program__slider.swiper:not(.--init) .swiper-wrapper {
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .program__slider.swiper:not(.--init):not(:has(.swiper-slide:nth-child(3))) .swiper-wrapper {
    justify-content: center;
    column-gap: min(2.5vw, 40px);
  }
}
.program__slider.swiper:not(.--init) .program__skip,
.program__slider.swiper:not(.--init) + .program__paginationWrap {
  display: none;
}

.program__slide.swiper-slide {
  height: auto;
  color: #fff;
  background-color: #DD3333;
  background-image: url(../img/common/athletic.svg);
  background-position: right -13.3333333333vw bottom -5.3333333333vw;
  background-size: 56vw auto;
  background-repeat: no-repeat;
  width: 84.5333333333vw;
}
@media screen and (min-width: 769px) {
  .program__slide.swiper-slide {
    width: min(26vw, 416px);
  }
}
@media screen and (min-width: 769px) {
  .program__slide.swiper-slide {
    background-size: min(20.125vw, 322px) auto;
    background-position: right max(-3.125vw, -50px) bottom max(-1.25vw, -20px);
  }
}

.program__heading {
  text-align: center;
}
.program__heading h2 {
  font-family: "Generika", sans-serif;
  font-size: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .program__heading h2 {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (min-width: 1600px) {
  .program__heading h2 {
    font-size: 4rem;
  }
}
.program__heading h2 {
  line-height: 1;
  font-weight: 700;
  color: #DD3333;
}
@media screen and (min-width: 769px) {
  .program__heading h2 {
    font-size: 21.3333333333vw;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .program__heading h2 {
    font-size: min(5vw, 80px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .program__heading h2 {
    font-size: 8rem;
  }
}
.program__heading h2 span {
  display: block;
  color: #242422;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .program__heading h2 span {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .program__heading h2 span {
    font-size: 1.2rem;
  }
}
.program__heading h2 span {
  line-height: 1.3333333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .program__heading h2 span {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .program__heading h2 span {
    font-size: min(1.25vw, 20px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .program__heading h2 span {
    font-size: 2rem;
  }
}

.program__body {
  margin-top: 6.4vw;
}
@media screen and (min-width: 769px) {
  .program__body {
    margin-top: min(3.75vw, 60px);
  }
}

.swiper.--init:hot(:has(.--init)) .swiper-wrapper {
  justify-content: space-between;
}

.program__detail {
  padding: 4vw 4.5333333333vw 6.4vw;
  display: block;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .program__detail {
    padding: min(1.0625vw, 17px) min(1.25vw, 20px) min(2.6875vw, 43px);
  }
}

.program__picture {
  margin: 0px auto;
  width: 57.0666666667vw;
}
@media screen and (min-width: 769px) {
  .program__picture {
    width: min(17.6875vw, 283px);
  }
}
.program__picture {
  height: 68.2666666667vw;
}
@media screen and (min-width: 769px) {
  .program__picture {
    height: min(21.25vw, 340px);
  }
}
.program__picture {
  font-size: 0;
}
.program__picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.program__name {
  font-weight: 700;
  margin-top: 3.2vw;
}
@media screen and (min-width: 769px) {
  .program__name {
    margin-top: min(1.25vw, 20px);
  }
}
.program__name {
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .program__name {
    font-size: min(0.9375vw, 15px);
  }
}
@media screen and (min-width: 1600px) {
  .program__name {
    font-size: 1.5rem;
  }
}
.program__name {
  line-height: 1.4666666667;
  column-gap: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .program__name {
    column-gap: min(0.625vw, 10px);
  }
}
@media screen and (min-width: 769px) {
  .program__name {
    font-size: 5.8666666667vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .program__name {
    font-size: min(1.375vw, 22px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .program__name {
    font-size: 2.2rem;
  }
}

.program__name--calendar {
  font-weight: 700;
}
.program__name--calendar::after {
  content: "|";
  margin: 0px 0.5em;
}

.program__name--menu {
  font-weight: 700;
}

.program__lead {
  font-weight: 500;
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 769px) {
  .program__lead {
    margin-top: min(0.5vw, 8px);
  }
}
.program__lead {
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .program__lead {
    font-size: min(0.875vw, 14px);
  }
}
@media screen and (min-width: 1600px) {
  .program__lead {
    font-size: 1.4rem;
  }
}
.program__lead {
  line-height: 1.5714285714;
}
@media screen and (min-width: 769px) {
  .program__lead {
    font-size: 4.8vw;
    line-height: 1.5555555556;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .program__lead {
    font-size: min(1.125vw, 18px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .program__lead {
    font-size: 1.8rem;
  }
}

.program__credit {
  font-weight: 400;
  display: block;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .program__credit {
    margin-top: min(1.25vw, 20px);
  }
}
.program__credit {
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .program__credit {
    font-size: min(0.75vw, 12px);
  }
}
@media screen and (min-width: 1600px) {
  .program__credit {
    font-size: 1.2rem;
  }
}
.program__credit {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .program__credit {
    font-size: 4.2666666667vw;
    line-height: 1.25;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .program__credit {
    font-size: min(1vw, 16px);
  }
}
@media screen and (min-width: 769px) and (min-width: 1600px) {
  .program__credit {
    font-size: 1.6rem;
  }
}

.program__skip.swiper-button-prev,
.program__skip.swiper-button-next {
  width: 12.2666666667vw;
}
@media screen and (min-width: 769px) {
  .program__skip.swiper-button-prev,
  .program__skip.swiper-button-next {
    width: min(5vw, 80px);
  }
}
.program__skip.swiper-button-prev,
.program__skip.swiper-button-next {
  height: 12.2666666667vw;
}
@media screen and (min-width: 769px) {
  .program__skip.swiper-button-prev,
  .program__skip.swiper-button-next {
    height: min(5vw, 80px);
  }
}
.program__skip.swiper-button-prev,
.program__skip.swiper-button-next {
  border-radius: 50%;
  border: 0.5333333333vw solid #DD3333;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 769px) {
  .program__skip.swiper-button-prev,
  .program__skip.swiper-button-next {
    border-width: min(0.1875vw, 3px);
  }
  .program__skip.swiper-button-prev:hover,
  .program__skip.swiper-button-next:hover {
    background-color: #DD3333;
    border-color: #fff;
  }
}
.program__skip.swiper-button-prev::after,
.program__skip.swiper-button-next::after {
  display: none;
}

.program__skip.swiper-button-prev {
  left: -8vw;
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><path d="M14.6366 17.7745L9.40929 12.5472L14.6366 7.31996" stroke="%23DD3333" stroke-width="2.09091"/></svg>') center center/contain no-repeat;
  background-size: 6.6666666667vw auto;
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .program__skip.swiper-button-prev {
    left: max(-5vw, -80px);
    background-size: min(2.6875vw, 43px) auto;
    transition: color 0.4s ease, background 0.4s ease, outline-color 0.4s ease;
  }
  .program__skip.swiper-button-prev:hover {
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><path d="M14.6366 17.7745L9.40929 12.5472L14.6366 7.31996" stroke="%23FFFFFF" stroke-width="2.09091"/></svg>') center center/contain no-repeat;
    background-color: #DD3333;
    background-size: min(2.6875vw, 43px) auto;
  }
}

.program__skip.swiper-button-next {
  right: -8vw;
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><path d="M10.4543 7.31641L15.6816 12.5437L10.4543 17.771" stroke="%23DD3333" stroke-width="2.09091"/></svg>') center center/contain no-repeat;
  background-size: 6.6666666667vw auto;
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  .program__skip.swiper-button-next {
    right: max(-5vw, -80px);
    background-size: min(2.6875vw, 43px) auto;
    transition: color 0.4s ease, background 0.4s ease, outline-color 0.4s ease;
  }
  .program__skip.swiper-button-next:hover {
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none"><path d="M10.4543 7.31641L15.6816 12.5437L10.4543 17.771" stroke="%23FFFFFF" stroke-width="2.09091"/></svg>') center center/contain no-repeat;
    background-color: #DD3333;
    background-size: min(2.6875vw, 43px) auto;
  }
}

.program__paginationWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 3.2vw;
}
@media screen and (min-width: 769px) {
  .program__paginationWrap {
    column-gap: min(1vw, 16px);
  }
}
.program__paginationWrap {
  margin-top: 6.4vw;
}
@media screen and (min-width: 769px) {
  .program__paginationWrap {
    margin-top: min(3vw, 48px);
  }
}

.program__pagination.swiper-pagination {
  position: relative;
  display: flex;
  justify-content: center;
  column-gap: 3.2vw;
  z-index: unset;
  bottom: 0px;
  width: auto;
  column-gap: 3.2vw;
}
@media screen and (min-width: 769px) {
  .program__pagination.swiper-pagination {
    column-gap: min(1vw, 16px);
  }
}
.program__pagination.swiper-pagination .swiper-pagination-bullet {
  width: 3.2vw;
}
@media screen and (min-width: 769px) {
  .program__pagination.swiper-pagination .swiper-pagination-bullet {
    width: min(1vw, 16px);
  }
}
.program__pagination.swiper-pagination .swiper-pagination-bullet {
  height: 3.2vw;
}
@media screen and (min-width: 769px) {
  .program__pagination.swiper-pagination .swiper-pagination-bullet {
    height: min(1vw, 16px);
  }
}
.program__pagination.swiper-pagination .swiper-pagination-bullet {
  margin: 0px !important;
  background: #CACACA;
  border-radius: unset;
  opacity: 1;
}
.program__pagination.swiper-pagination .swiper-pagination-bullet-active {
  background: #DD3333;
}

.program__autoplay {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  width: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .program__autoplay {
    width: min(2.25vw, 36px);
  }
}
.program__autoplay {
  height: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .program__autoplay {
    height: min(2.25vw, 36px);
  }
}
.program__autoplay {
  display: none;
}
.program__autoplay .program__autoplayIcon {
  display: block;
  width: 100%;
  height: 100%;
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="35" height="44" viewBox="0 0 35 44" fill="none"><path d="M0 0L35 22L0 44V0Z" fill="%23DD3333"/></svg>') center center/contain no-repeat;
  background-size: 2.9333333333vw auto !important;
}
@media screen and (min-width: 769px) {
  .program__autoplay .program__autoplayIcon {
    background-size: min(0.9375vw, 15px) auto !important;
  }
}
.program__autoplay.--playing .program__autoplayIcon {
  background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="43" height="55" viewBox="0 0 43 55" fill="none"><rect width="14" height="55" fill="%23DD3333"/><rect x="29" width="14" height="55" fill="%23DD3333"/></svg>') center center/contain no-repeat;
}
@media screen and (min-width: 769px) {
  .program__autoplay {
    transition: opacity 0.4s ease;
  }
  .program__autoplay:hover {
    opacity: 0.7;
  }
}

.program__deco {
  position: absolute;
}
.program__deco svg, .program__deco img, .program__deco canvas {
  width: 100%;
  height: auto;
  display: block;
}

.program__deco.--square1 {
  width: 21.3333333333vw;
}
@media screen and (min-width: 769px) {
  .program__deco.--square1 {
    width: min(16.3125vw, 261px);
  }
}
.program__deco.--square1 {
  top: -5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .program__deco.--square1 {
    top: max(-2.5vw, -40px);
  }
}
.program__deco.--square1 {
  left: -10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .program__deco.--square1 {
    left: max(-11.25vw, -180px);
  }
}

@media screen and (max-width: 768px) {
  .program__deco.--square2 {
    width: 21.3333333333vw;
    bottom: 2.6666666667vw;
    right: -10.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .program__deco.--square2 {
    width: min(14.0625vw, 225px);
    bottom: max(-5vw, -80px);
    left: max(-18.125vw, -290px);
  }
}