@charset "UTF-8";
:root {
  --white: #FFFFFF;
  --white-opacity: rgb(255 255 255 / .25);
  --black: #0B132C;
  --black-opacity: rgb(0 0 0 / .25);
  --black-solid: #000000;
  --gray-white: #F1F1F1;
  --gray: #B5B4B4;
  --blue: #154181;
  --blue-white: #F0F3F7;
  --blue-light: #96ADCC;
  --blue-dark: #0D3E70;
  --navy: #253D5E;
  --skyblue: #3A7A7A;
  --skyblue-white: #EBF1F1;
  --beige-light: #E8E6DF;
  --beige: #E8E6DF;
  --beige-dark: #DFD9D3;
  --gold: #9D7725;
  --radius-sm: clamp(3px, 2.171px + 0.221vw, 5px);
  --radius-full: calc(1px / 0);
  --family-gothic: "Noto Sans JP", sans-serif;
  --family-mincho: "Noto Serif JP", serif;
  --line-height-tight: 1.2;
  --line-height-snug: 1.4;
  --line-height-default: 1.5;
  --line-height-normal: 1.75;
  --line-height-relaxed: 2;
  --header-height: 80px;
  --header-height-sm: 50px;
  --spacing-gutter: clamp(20px, -13.149px + 8.84vw, 100px);
  --leading-trim: calc((1em - 1lh) / 2);
  --text-box: trim-both cap alphabetic;
}

:root {
  --icon-logo: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29" viewBox="0 0 29 29"><path d="M0,14.5A14.5,14.5,0,1,1,14.5,29,14.517,14.517,0,0,1,0,14.5Zm1.089,0A13.41,13.41,0,1,0,14.5,1.088,13.425,13.425,0,0,0,1.089,14.5Zm10.3,12.259c-.583-.182-1.163-.347-1.707-.575a13.245,13.245,0,0,1-5.45-4.222A13.892,13.892,0,0,1,2.265,18.4a6.8,6.8,0,0,1-.216-1.34,19.755,19.755,0,0,1,2.4-.138,14.281,14.281,0,0,1,2.641.325c.192.039.382.083.574.123.056.016.823.293,1.086.4a6.648,6.648,0,0,1,1.989,1.267,9.064,9.064,0,0,1,1.632,1.736c.371.564.68,1.145.994,1.737.4.744,1.057,2.927,1.114,2.927,0,.014.676-1.847.963-2.492a13.715,13.715,0,0,1,1.341-2.312,7.032,7.032,0,0,1,1.167-1.368,8.758,8.758,0,0,1,2.17-1.449c.058-.025.291-.095.291-.147a15.466,15.466,0,0,1,1.8-.521c0,.012.877-.149,1.048-.149l.507-.037a11.1,11.1,0,0,1,1.8,0c.224.028,1.225.017,1.342.158.184.225-.536,1.851-.649,2.123a13.035,13.035,0,0,1-1.18,2.178,13.976,13.976,0,0,1-4.313,4.036,15.83,15.83,0,0,1-1.871.841,6.646,6.646,0,0,1-1.011.314c-.1.038-.2.077-.295.114-.182.061-.366.087-.54.149a6.677,6.677,0,0,1-1.157.2,7.516,7.516,0,0,1-1.077.061A14.358,14.358,0,0,1,11.385,26.759Zm2.1-9.355a12.711,12.711,0,0,1-2.615-.634A11.929,11.929,0,0,1,6.5,14.214c-.2-.208-.394-.416-.589-.626a6.3,6.3,0,0,1-.852-1.052A11.511,11.511,0,0,1,4.2,10.844a17.434,17.434,0,0,1-.612-2.551,12.8,12.8,0,0,1,1.487-.156,9.384,9.384,0,0,1,2.717.272,7.71,7.71,0,0,1,1.453.461,7.981,7.981,0,0,1,3.807,3.464c.252.447.463.926.687,1.4.192.4.688,1.83.744,1.95.023,0,.838-2.034,1-2.374a8.418,8.418,0,0,1,4.409-4.52,3.79,3.79,0,0,1,1.309-.377,11.212,11.212,0,0,1,1.223-.2,13.834,13.834,0,0,1,2.981.087h.036v.039c-.046.322-.091.648-.139.97a9.052,9.052,0,0,1-.405,1.4c-.106.217-.214.433-.323.647a9.8,9.8,0,0,1-3.736,4.074,4.549,4.549,0,0,1-.941.528c-.045,0-.8.4-.957.456-.618.234-1.237.507-1.881.693a12.252,12.252,0,0,1-2.668.382ZM10.945,6.061a5.5,5.5,0,0,1,.775.028c.02.487.294.551.676.441a.449.449,0,0,0,.248-.351c.008-.3.02-2.254.02-2.938.107,0,.786-.008.8-.008,0,.446-.07,2.736-.07,2.827,0,.9-.468,1.154-.723,1.205a2.037,2.037,0,0,1-.414.044A1.225,1.225,0,0,1,10.945,6.061ZM9.5,7.2c-.014-.059.069-.792.042-.792V6.37c-.083,0-1.3-.059-1.35-.034-.019.011-.642.847-.654.863s-.933-.009-.974-.009c0-.052,2.816-3.625,2.941-3.966h.837c0,.646.019,3.975-.012,3.975a.949.949,0,0,1-.162.006C9.97,7.2,9.654,7.2,9.5,7.2Zm-.85-1.5c.29.029.6,0,.892,0,0-.018.054-1.5.028-1.533C9.5,4.239,8.646,5.668,8.646,5.7Zm9.745,1.466c0-1.305.006-2.619.006-3.922a5.275,5.275,0,0,1,.891.025c.079.041,2.869,3.84,2.869,3.848h-.038v.036c-.022,0-.162,0-.328.01a5.224,5.224,0,0,1-.607,0c-.013-.006-.648-.827-.656-.828-.089-.031-1.329.034-1.343.034a3.925,3.925,0,0,1,.067.827s-.009,0-.026,0C19.106,7.2,18.6,7.165,18.391,7.165ZM19.218,5.7h.2a6.133,6.133,0,0,0,.7-.016c.013-.012-.063-.094-.077-.094-.028-.08-.759-1.174-.855-1.265C19.163,4.414,19.218,5.674,19.218,5.7ZM16.53,7.163c-.012-.005-1.169-1.5-1.186-1.5a10.666,10.666,0,0,1-.055,1.5,2.666,2.666,0,0,1-.723,0c-.007,0,.019-3.922.034-3.963a11.5,11.5,0,0,1,1.553.014,1.447,1.447,0,0,1,.815.339,1.3,1.3,0,0,1-.415,2.056,2.37,2.37,0,0,1-.333.073c0,.032,1.208,1.481,1.208,1.516C17.415,7.2,16.55,7.173,16.53,7.163ZM15.323,3.854a9.227,9.227,0,0,0,0,1.172,6.425,6.425,0,0,0,.827,0A.548.548,0,0,0,16.6,4.47c.017-.377-.3-.566-.622-.617a4.3,4.3,0,0,0-.462-.036C15.415,3.817,15.338,3.826,15.323,3.854Z" fill="black"/></svg>');
  --icon-deco: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="44.749" viewBox="0 0 1000 44.749"><path d="M-2439.566,1247.024h58.817a10.1,10.1,0,0,1,10.084,10.083,10.1,10.1,0,0,1-10.084,10.084h-60.458a11.568,11.568,0,0,0-11.555,11.555,11.568,11.568,0,0,0,11.555,11.555h988.445v-1.472H-2405.7a10.1,10.1,0,0,1-10.084-10.083,10.1,10.1,0,0,1,10.084-10.084h42.2a11.568,11.568,0,0,0,11.555-11.556,11.568,11.568,0,0,0-11.555-11.555h-76.059Zm76.059,0a10.1,10.1,0,0,1,10.084,10.083,10.1,10.1,0,0,1-10.084,10.084h-2.5a11.561,11.561,0,0,0,5.922-10.084,11.561,11.561,0,0,0-5.922-10.083Zm-6.914,20.086a11.56,11.56,0,0,0,5.78-10,11.56,11.56,0,0,0-5.78-10,10.093,10.093,0,0,1,8.862,10A10.093,10.093,0,0,1-2370.421,1267.11Zm1.227-10a11.558,11.558,0,0,0-5.78-10,10.092,10.092,0,0,1,8.861,10,10.093,10.093,0,0,1-8.862,10A11.559,11.559,0,0,0-2369.194,1257.107Zm-68.683,11.637a11.559,11.559,0,0,0-5.78,10,11.56,11.56,0,0,0,5.78,10,10.093,10.093,0,0,1-8.862-10A10.093,10.093,0,0,1-2437.877,1268.745Zm-13.415,10a10.093,10.093,0,0,1,8.861-10,11.559,11.559,0,0,0-5.78,10,11.56,11.56,0,0,0,5.78,10A10.093,10.093,0,0,1-2451.292,1278.746Zm19.19,10.083a10.1,10.1,0,0,1-10.083-10.083,10.1,10.1,0,0,1,10.083-10.084h2.5a11.562,11.562,0,0,0-5.922,10.084,11.561,11.561,0,0,0,5.922,10.083Zm8.136,0a10.1,10.1,0,0,1-10.084-10.083,10.1,10.1,0,0,1,10.084-10.084h12.629a11.562,11.562,0,0,0-5.922,10.084,11.562,11.562,0,0,0,5.922,10.083Z" transform="translate(2452.763 -1245.552)" fill="black"/></svg>');
  --icon-map: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="9.613" height="12.069" viewBox="0 0 9.613 12.069"><path d="M3026.624,1077.466c1.273-1.5,4.237-5.211,4.237-7.207a4.811,4.811,0,0,0-9.613,0c0,2,2.964,5.706,4.237,7.207A.754.754,0,0,0,3026.624,1077.466Zm-2.914-7.207a2.347,2.347,0,1,1,2.345,2.246A2.3,2.3,0,0,1,3023.71,1070.259Z" transform="translate(-3021.249 -1065.657)" fill="black"/></svg>');
  --icon-train: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="36.116" height="44.493" viewBox="0 0 36.116 44.493"><path d="M0,44.475,7.266,35.92A5.951,5.951,0,0,1,2.32,31.229a7.1,7.1,0,0,1-.135-1.673c0-7.592.015-15.185,0-22.777A6.81,6.81,0,0,1,8.7.026C9.023.011,9.348,0,9.673,0q8.686.007,17.371.016A7.212,7.212,0,0,1,31.149,1.2a6.3,6.3,0,0,1,2.967,5.444c.034,7.74.019,15.48.01,23.221a5.915,5.915,0,0,1-3.339,5.528,3.928,3.928,0,0,1-1.746.47l7.075,8.427c-.078.289-.29.18-.443.181-1.122.009-2.246-.021-3.367.02a1.319,1.319,0,0,1-1.194-.591c-.577-.747-1.216-1.447-1.793-2.195a1.16,1.16,0,0,0-1.05-.473q-9.084.025-18.169,0c-.709,0-1.419.009-2.127-.026a.926.926,0,0,0-.893.408c-.588.775-1.255,1.49-1.863,2.251a1.444,1.444,0,0,1-1.278.618c-1.254-.041-2.511-.013-3.939-.013M18.054,7.122v0q-4.785,0-9.57,0a2.168,2.168,0,0,0-2.278,2,5.6,5.6,0,0,0-.035.707q0,3.943.01,7.886c0,.207.015.413.026.619a1.938,1.938,0,0,0,.708,1.371,2.457,2.457,0,0,0,1.8.574q9.127,0,18.253.014c.413,0,.828-.008,1.239-.049a2.042,2.042,0,0,0,1.859-2.008c.017-3.012,0-6.025.013-9.038a2.1,2.1,0,0,0-.483-1.3,2.284,2.284,0,0,0-2.058-.784q-4.741,0-9.481,0M26.569,38.4c-.675-.813-1.277-1.527-1.866-2.252a.8.8,0,0,0-.724-.227q-5.894,0-11.788-.011c-.21,0-.412-.013-.563.174-.6.744-1.2,1.487-1.873,2.317ZM18.138,5.074V5.046c1.652,0,3.3,0,4.955,0a1.262,1.262,0,0,0,.924-.211,1.832,1.832,0,0,0,.318-1.822,1.3,1.3,0,0,0-1.264-.915q-5,.032-10,.011a1.176,1.176,0,0,0-1.083.629A1.786,1.786,0,0,0,12,4.5c.248.538.7.571,1.182.571h4.955m8.709,25.947a2.533,2.533,0,0,0,2.659-2.482A2.813,2.813,0,0,0,26.921,25.8a2.736,2.736,0,0,0-2.683,2.628,2.706,2.706,0,0,0,2.609,2.6m-17.473,0a2.476,2.476,0,0,0,2.608-2.52A2.685,2.685,0,0,0,9.4,25.794a2.673,2.673,0,0,0-2.623,2.662,2.589,2.589,0,0,0,2.6,2.564" fill="black"/></svg>');
  --icon-plane: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="44.585" height="44.493" viewBox="0 0 44.585 44.493"><path d="M37.005,42.394,26.376,24.128c-.252-.059-.327.187-.462.314-2.984,2.808-6.021,5.557-9.152,8.2a.9.9,0,0,0-.384.956c.313,2.325.891,4.6,1.229,6.921.27,1.855.3,1.851-.992,3.224-.951,1.013-.992,1.037-1.658-.148-1.192-2.12-2.327-4.271-3.488-6.408a1.372,1.372,0,0,0-.461-.644,6.655,6.655,0,0,1-1.834.667,3.892,3.892,0,0,1-.607.137c-.874.085-1.175-.211-1.021-1.069.11-.611.292-1.211.46-1.81.187-.667.212-.693-.4-1.049-1.411-.817-2.838-1.608-4.262-2.4-1.083-.6-2.172-1.2-3.341-1.838a17.471,17.471,0,0,0,2.112-1.939c.3-.325.631-.243.984-.177,2.653.491,5.312.957,7.957,1.489a.831.831,0,0,0,.962-.345c2.215-2.754,4.575-5.383,6.913-8.031.509-.577,1.061-1.116,1.686-1.77L2.359,7.884C3.1,7.082,3.826,6.3,4.546,5.508a2.665,2.665,0,0,1,2.877-.847c1.638.414,3.263.875,4.9,1.281,1.064.263,2.133.522,3.173.864a.749.749,0,0,0,.917-.249c.749-.8,1.512-1.593,2.275-2.384,1.173-1.216,1.439-1.216,2.642,0,.313.317.62.64.915.973a1.346,1.346,0,0,1-.08,2.166,2.83,2.83,0,0,0-.722.875c.751.212,1.474.455,2.214.618,1.535.339,3.064.7,4.56,1.181a.881.881,0,0,0,1.116-.32,74.74,74.74,0,0,1,5.91-6.048A15.081,15.081,0,0,1,40.629.4,8.8,8.8,0,0,1,42.094.033a2.043,2.043,0,0,1,2.489,2.09,7.008,7.008,0,0,1-.522,2.692A15.506,15.506,0,0,1,40.692,10c-1.765,1.844-3.572,3.648-5.467,5.359a.744.744,0,0,0-.261.848c.581,2.267,1.142,4.54,1.714,6.809.013.05.074.089.145.17.431-.261.641-.743,1.018-1.057.611-.509.866-.566,1.474-.056a18.945,18.945,0,0,1,1.736,1.66,1.2,1.2,0,0,1-.094,1.822c-.807.829-1.621,1.653-2.467,2.442a1.066,1.066,0,0,0-.378,1.228c.7,2.575,1.226,5.2,2.006,7.748a2.779,2.779,0,0,1-.753,3.155c-.764.7-1.5,1.431-2.36,2.263" fill="black"/></svg>');
  --icon-outer: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="9.769" viewBox="0 0 12 9.769"><path d="M0,9.769V2.019H.938V8.832H8.75v.937Zm2.25-2.25V0H12V7.519Zm.938-.937h7.875V.938H3.188Z" fill="black"/></svg>');
  --icon-chevron-right: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="6.54" height="11.666" viewBox="0 0 6.54 11.666"><path d="M-2825.646,4268.459l-.707-.707,5.126-5.126-5.126-5.126.707-.707,5.833,5.833Z" transform="translate(2826.354 -4256.793)" fill="black"/></svg>');
  --icon-chevron-bottom: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="11.667" height="6.54" viewBox="0 0 11.667 6.54"><path d="M-2825.646,4268.459l-.707-.707,5.126-5.126-5.126-5.126.707-.707,5.833,5.833Z" transform="translate(4268.459 2826.354) rotate(90)" fill="black"/></svg>');
  --icon-chevron-bottom-circle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22"><path d="M0,11A11,11,0,1,1,11,22,11,11,0,0,1,0,11Zm1,0A10,10,0,1,0,11,1,10.011,10.011,0,0,0,1,11ZM5,9.707,5.707,9l5.126,5.126L15.96,9l.707.707L10.833,15.54Z" fill="black"/></svg>');
}

/* ---------------------------
  CSS Reset
----------------------------- */
* {
  min-inline-size: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:where(html) {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  scrollbar-gutter: stable;
}

:where(body) {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

:where(body,
h1,
h2,
h3,
h4,
h5,
p,
figure,
blockquote,
dl,
dd,
ul,
ol) {
  margin: 0;
}

:where(ul, ol) {
  list-style-type: "";
  padding: unset;
}

:where(li) {
  display: block;
}

:where(a:not([class])) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

:where(a) {
  text-decoration: none;
}

:where(img, picture, video) {
  max-width: 100%;
  height: auto;
  display: block;
}

:where(input, button, textarea, select) {
  font: inherit;
}

:where(input[type=text], textarea) {
  font-size: 16px;
}

:where(textarea) {
  field-sizing: content;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:focus:not(:focus-visible) {
  outline: none;
}

:where(address) {
  font-style: normal;
}

:where(table) {
  border-collapse: collapse;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after,
  ::backdrop {
    background-attachment: scroll !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
body {
  color: var(--black);
  background-color: var(--black);
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-family: var(--family-gothic);
  font-weight: 500;
  letter-spacing: 0;
  overflow-x: clip;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  text-autospace: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body:has(dialog[open]) {
  overflow: hidden;
}

main {
  background-image: url(../img/common/bg.webp);
  background-size: 1000px 1000px;
  background-repeat: repeat;
  background-position: top left;
  margin-top: var(--header-height);
}
@media (max-width: 979px) {
  main {
    margin-top: var(--header-height-sm);
  }
}

a {
  color: var(--black);
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

hr {
  display: block;
  border: none;
  border-top: 1px solid var(--gray);
}

p {
  line-height: var(--line-height-relaxed);
}

:where(:focus-visible) {
  outline-width: 3px;
  outline-offset: 0.125rem;
  outline-style: solid;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: var(--black);
  color: var(--white);
}

.header__wrapper {
  max-width: 93.8vw;
  margin-inline: auto;
  height: var(--header-height);
  display: grid;
  grid-template-columns: max-content auto;
  align-items: center;
  gap: 32px;
  justify-content: space-between;
}
@media (max-width: 979px) {
  .header__wrapper {
    max-width: 100%;
    height: var(--header-height-sm);
    padding-inline: clamp(1rem, 0.21rem + 3.252vw, 2.5rem);
  }
}

.header__logo {
  container-type: inline-size;
  width: 290px;
}
@media (max-width: 979px) {
  .header__logo {
    width: 200px;
  }
}
.header__logo a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.header__logo a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__logo a:hover {
    opacity: 0.7;
  }
}

.header__body {
  display: grid;
  grid-template-columns: auto max-content;
  align-items: center;
  gap: 32px;
}
@media (max-width: 979px) {
  .header__body {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 979px) {
  .header__nav {
    display: none;
  }
}

.global-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1.8em;
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
}

.global-nav__item a {
  display: block;
  color: var(--white);
  padding: 0.2em 0;
  position: relative;
}
.global-nav__item a:focus-visible::after {
  opacity: 1;
}
@media (any-hover: hover) {
  .global-nav__item a:hover::after {
    opacity: 1;
  }
}
.global-nav__item a::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--white);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}

.hamburger {
  width: 64px;
  height: 64px;
  border-radius: 50%;
}
@media (max-width: 979px) {
  .hamburger {
    width: 44px;
    height: 44px;
  }
}

.hamburger-close {
  display: block;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin-top: 8px;
  margin-left: auto;
}
@media (max-width: 979px) {
  .hamburger-close {
    margin-right: clamp(1rem, 0.21rem + 3.252vw, 2.5rem);
    width: 44px;
    height: 44px;
    margin-top: 3px;
  }
}

.hamburger-close__inner::before, .hamburger-close__inner::after {
  content: "";
  display: block;
  width: 30px;
  height: 3px;
  background-color: var(--black);
}
.hamburger-close__inner::before {
  rotate: 45deg;
}
.hamburger-close__inner::after {
  rotate: -45deg;
}

.folded-nav {
  position: fixed;
  width: 100%;
  top: 0;
  right: 0;
  max-width: 100%;
  background-color: var(--black);
  transition: opacity 0.2s ease-out;
}
.folded-nav[open] {
  display: block;
}
.folded-nav:not(.is-open) {
  opacity: 0;
}
.folded-nav:not(.is-open) .folded-nav__inner {
  opacity: 0;
}
.folded-nav::backdrop {
  background-color: transparent;
}

.folded-nav__inner {
  max-width: 93.8vw;
  margin-inline: auto;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  z-index: 10;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: max-content 1fr;
}
@media (max-width: 979px) {
  .folded-nav__inner {
    max-width: 100%;
  }
}
.folded-nav__inner .c-list-sns {
  margin-top: clamp(2.5rem, 1.84rem + 2.71vw, 3.75rem);
}
@media (min-width: 1281px) {
  .folded-nav__inner .c-list-sns {
    margin-top: 4.7vw;
  }
}

.folded-nav__spacer {
  padding: 40px var(--spacing-gutter) 80px;
  place-content: center;
}

.sm-nav {
  max-width: 600px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
}
@media (min-width: 1281px) {
  .sm-nav {
    max-width: 46.8vw;
  }
}
@media (max-width: 599px) {
  .sm-nav {
    grid-template-columns: 1fr;
  }
}

.sm-nav__item {
  display: block;
  border-bottom: 1px solid #465570;
}
.sm-nav__item a {
  display: block;
  padding-block: 1em;
  padding-left: 0.2em;
  font-size: clamp(1.0625rem, 0.96rem + 0.407vw, 1.25rem);
  transition: opacity 0.2s ease-in-out;
}
.sm-nav__item a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .sm-nav__item a:hover {
    opacity: 0.7;
  }
}
.sm-nav__item span:not([lang=en]) {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.8em;
  font-family: var(--family-mincho);
  font-weight: 700;
  font-size: clamp(1.0625rem, 0.96rem + 0.407vw, 1.25rem);
  color: var(--white);
}
.sm-nav__item span:not([lang=en])::before {
  content: "";
  display: inline-block;
  aspect-ratio: 7/12;
  width: 0.34em;
  -webkit-mask-image: var(--icon-chevron-right);
          mask-image: var(--icon-chevron-right);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
}
.sm-nav__item span[lang=en] {
  display: block;
  font-size: 0.5rem;
  letter-spacing: 0.22em;
  margin-top: 0.6em;
  text-transform: uppercase;
  color: var(--blue-light);
  padding-left: 24px;
}

.sm-nav__contact {
  margin-top: clamp(2.75rem, 2.55rem + 0.813vw, 3.125rem);
}
.sm-nav__contact a {
  display: block;
  padding: 1em;
  font-family: var(--family-secondary);
  font-size: clamp(0.9375rem, 0.71rem + 0.949vw, 1.375rem);
  text-align: center;
  color: var(--gray);
  text-transform: uppercase;
  border: 1px solid var(--white);
  background-color: var(--theme);
  transition: filter 0.2s ease-in;
}
.sm-nav__contact a:focus-visible {
  filter: brightness(1.1);
}
@media (any-hover: hover) {
  .sm-nav__contact a:hover {
    filter: brightness(1.1);
  }
}
@media (max-width: 599px) {
  .sm-nav__contact a {
    max-width: 250px;
    margin-inline: auto;
  }
}

.sm-nav-logo {
  container-type: inline-size;
  width: clamp(18.125rem, 14.82rem + 13.55vw, 24.375rem);
  margin-bottom: clamp(2rem, 1.74rem + 1.084vw, 2.5rem);
  margin-inline: auto;
}
@media (min-width: 1281px) {
  .sm-nav-logo {
    width: 24.9vw;
    margin-bottom: 3.1vw;
  }
}
.sm-nav-logo a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.sm-nav-logo a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .sm-nav-logo a:hover {
    opacity: 0.7;
  }
}

.using-mouse .hamburger,
.using-mouse .hamburger-close,
.using-mouse dialog {
  outline: none;
}

.footer {
  position: relative;
  background-color: var(--black);
  color: var(--white);
}

.footer__body {
  position: absolute;
  inset: 0;
  z-index: 10;
  height: 100%;
  display: grid;
  place-content: center;
}

.footer__title {
  text-align: center;
  margin-bottom: 40px;
}
.footer__title a {
  display: inline-block;
  font-family: var(--family-mincho);
  font-size: clamp(0.9375rem, 0.81rem + 0.542vw, 1.1875rem);
  line-height: var(--line-height-normal);
  letter-spacing: 0.62em;
  color: var(--white);
}

.footer__copy {
  margin-top: 40px;
}
.footer__copy small {
  display: block;
  text-align: center;
  font-size: clamp(0.625rem, 0.56rem + 0.271vw, 0.75rem);
  letter-spacing: 0.1em;
  color: #697B97;
}

.footer__bg {
  position: relative;
  z-index: 0;
}
.footer__bg picture, .footer__bg img {
  width: 100%;
  height: 405px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

[data-is-cover] .c-breadcrumb {
  background-color: var(--theme);
}

.c-breadcrumb__wrapper {
  max-width: calc(1000px + var(--spacing-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--spacing-gutter);
}
@media (max-width: 599px) {
  .c-breadcrumb__wrapper {
    padding-inline: 0;
  }
}

.c-breadcrumb__inner {
  overflow-x: auto;
}
.c-breadcrumb__inner ol {
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
  font-size: clamp(0.625rem, 0.56rem + 0.271vw, 0.75rem);
  gap: 0.2em 0.9em;
}
@media (max-width: 599px) {
  .c-breadcrumb__inner ol {
    padding-inline: var(--spacing-gutter);
  }
}
.c-breadcrumb__inner li {
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 0.9em;
}
.c-breadcrumb__inner a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.c-breadcrumb__inner a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-breadcrumb__inner a:hover {
    text-decoration: none;
  }
}
.c-breadcrumb__inner li:not(:first-child)::before {
  content: "";
  display: inline-block;
  content: "";
  display: inline-block;
  aspect-ratio: 7/12;
  width: 0.4em;
  -webkit-mask-image: var(--icon-chevron-right);
          mask-image: var(--icon-chevron-right);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black);
  translate: 0 0.08em;
}

.c-pagination {
  margin-top: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
}
.c-pagination ol {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 8px;
}
.c-pagination li a,
.c-pagination li .current {
  display: grid;
  place-content: center;
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  width: 2.2em;
  aspect-ratio: 1/1;
  font-family: var(--family-secondary);
  font-weight: 500;
  line-height: 1;
}
.c-pagination li .current {
  background-color: var(--theme);
  color: var(--white);
}
.c-pagination li.next a::before, .c-pagination li.prev a::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  aspect-ratio: 12/18;
  background-color: var(--black);
}
.c-pagination li.next {
  margin-left: 12px;
}
.c-pagination li.next a::before {
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
}
.c-pagination li.prev {
  margin-right: 12px;
}
.c-pagination li.prev a::before {
  -webkit-mask-image: var(--icon-arrow-left);
          mask-image: var(--icon-arrow-left);
}

.c-btn-border {
  display: grid;
  align-items: center;
  grid-template-columns: auto max-content;
  justify-content: center;
  gap: 0.6em;
  border: 1px solid var(--black);
  border-radius: var(--radius-full);
  padding: 0.5em 1.5em 0.6em;
  max-width: 220px;
  transition: opacity 0.2s ease-in-out;
}
.c-btn-border:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-btn-border:hover {
    opacity: 0.7;
  }
}
.c-btn-border::after {
  content: "";
  display: inline-block;
  aspect-ratio: 7/12;
  width: 0.42em;
  -webkit-mask-image: var(--icon-chevron-right);
          mask-image: var(--icon-chevron-right);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black);
  translate: 0 0.08em;
}
.c-btn-border[target=_blank]::after {
  aspect-ratio: 12/10;
  width: 0.8em;
  -webkit-mask-image: var(--icon-outer);
          mask-image: var(--icon-outer);
}
.c-btn-border[data-white] {
  border-color: #697B97;
  color: var(--white);
}
.c-btn-border[data-white]::after {
  background-color: var(--white);
}

.c-btn-round {
  display: block;
  background-color: #141D3A;
  color: var(--white);
  border-radius: var(--radius-full);
  text-align: center;
  padding: 1.5em;
  max-width: clamp(17.5rem, 16.18rem + 5.42vw, 20rem);
  transition: opacity 0.2s ease-in-out;
}
.c-btn-round:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-btn-round:hover {
    opacity: 0.7;
  }
}
@media (max-width: 599px) {
  .c-btn-round {
    margin-inline: auto;
  }
}
.c-btn-round[target=_blank] {
  display: grid;
  align-items: center;
  grid-template-columns: auto max-content;
  justify-content: center;
  gap: 0.6em;
}
.c-btn-round[target=_blank]::after {
  content: "";
  display: inline-block;
  aspect-ratio: 12/10;
  width: 0.75em;
  -webkit-mask-image: var(--icon-outer);
          mask-image: var(--icon-outer);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
}
.c-btn-round[data-sm] {
  max-width: 155px;
  padding: 0.55em;
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
}

.c-btn-anchor {
  display: grid;
  align-items: center;
  grid-template-columns: auto max-content;
  justify-content: center;
  gap: 0.6em;
  background-color: #141D3A;
  border-radius: var(--radius-full);
  padding: 0.5em 1.5em 0.6em;
  color: var(--white);
  max-width: 220px;
  transition: opacity 0.2s ease-in-out;
}
.c-btn-anchor:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-btn-anchor:hover {
    opacity: 0.7;
  }
}
.c-btn-anchor::after {
  content: "";
  display: inline-block;
  aspect-ratio: 12/7;
  width: 0.75em;
  -webkit-mask-image: var(--icon-chevron-bottom);
          mask-image: var(--icon-chevron-bottom);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
  translate: 0 0.08em;
}

.c-hgroup p {
  font-family: var(--family-mincho);
  font-size: clamp(0.625rem, 0.56rem + 0.271vw, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  padding-left: clamp(5.625rem, 5.13rem + 2.033vw, 6.5625rem);
  padding-top: 25px;
  padding-bottom: 0.2em;
}
@media (min-width: 1281px) {
  .c-hgroup p {
    padding-top: 2.5%;
    padding-left: 10.5%;
    aspect-ratio: 1000/45;
  }
}
.c-hgroup p::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1000px;
  height: 100%;
  -webkit-mask-image: var(--icon-deco);
          mask-image: var(--icon-deco);
  -webkit-mask-size: clamp(50rem, 43.39rem + 27.1vw, 62.5rem);
          mask-size: clamp(50rem, 43.39rem + 27.1vw, 62.5rem);
  -webkit-mask-position: bottom left;
          mask-position: bottom left;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black-opacity);
}
@media (min-width: 1281px) {
  .c-hgroup p::before {
    width: 100%;
    height: auto;
    aspect-ratio: 1000/45;
    -webkit-mask-size: 100%;
            mask-size: 100%;
  }
}
.c-hgroup h2, .c-hgroup h3, .c-hgroup h4 {
  font-family: var(--family-mincho);
  font-size: clamp(1.75rem, 1.16rem + 2.439vw, 2.875rem);
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-top: 0.2em;
}
@media (min-width: 1281px) {
  .c-hgroup h2, .c-hgroup h3, .c-hgroup h4 {
    font-size: min(3.6vw, 80px);
  }
}
.c-hgroup[data-center] {
  text-align: center;
}
.c-hgroup[data-white] p {
  color: var(--blue-light);
}
.c-hgroup[data-white] p::before {
  background-color: var(--white-opacity);
}
.c-hgroup[data-white] h2, .c-hgroup[data-white] h3, .c-hgroup[data-white] h4 {
  color: var(--white);
}

.c-hgroup-bars {
  text-align: center;
  overflow: hidden;
}
.c-hgroup-bars p {
  font-family: var(--family-mincho);
  font-size: clamp(0.625rem, 0.56rem + 0.271vw, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-top: 0.4em;
}
.c-hgroup-bars h2, .c-hgroup-bars h3, .c-hgroup-bars h4 {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-family: var(--family-mincho);
  font-size: clamp(2rem, 1.21rem + 3.252vw, 3.5rem);
  font-weight: 700;
  position: relative;
}
.c-hgroup-bars h2::before, .c-hgroup-bars h2::after, .c-hgroup-bars h3::before, .c-hgroup-bars h3::after, .c-hgroup-bars h4::before, .c-hgroup-bars h4::after {
  content: "";
  display: block;
  width: 1.85em;
  height: 2px;
  background-color: var(--black);
  position: absolute;
  top: 50%;
  z-index: 10;
}
.c-hgroup-bars h2::before, .c-hgroup-bars h3::before, .c-hgroup-bars h4::before {
  left: -0.4em;
  translate: -100% -50%;
}
.c-hgroup-bars h2::after, .c-hgroup-bars h3::after, .c-hgroup-bars h4::after {
  right: -0.4em;
  translate: 100% -50%;
}

.c-hgroup-meta p {
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  font-weight: 500;
  color: var(--white);
  background-color: var(--black);
  border-radius: var(--radius-sm);
  padding: 0.1em 1.1em;
}
.c-hgroup-meta h2, .c-hgroup-meta h3, .c-hgroup-meta h4 {
  font-size: clamp(1rem, 0.93rem + 0.271vw, 1.125rem);
  font-weight: 700;
  margin-top: 0.8em;
}

.c-headline {
  font-family: var(--family-mincho);
  font-size: clamp(1.625rem, 0.96rem + 2.71vw, 2.875rem);
  letter-spacing: 0.1em;
  font-weight: 700;
  overflow: hidden;
}
.c-headline::before {
  content: "";
  display: block;
  width: 1000px;
  aspect-ratio: 1000/45;
  -webkit-mask-image: var(--icon-deco);
          mask-image: var(--icon-deco);
  -webkit-mask-size: clamp(50rem, 43.39rem + 27.1vw, 62.5rem);
          mask-size: clamp(50rem, 43.39rem + 27.1vw, 62.5rem);
  -webkit-mask-position: bottom left;
          mask-position: bottom left;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black-opacity);
  margin-bottom: 6px;
}
.c-headline[data-sm] {
  font-size: clamp(1.5rem, 0.77rem + 2.981vw, 2.875rem);
}

.c-headline-bar {
  padding-left: 0.9em;
  border-left: 6px solid var(--blue-dark);
  font-size: clamp(1.125rem, 0.99rem + 0.542vw, 1.375rem);
  font-weight: 700;
}

.c-headline-band {
  position: relative;
  background-color: var(--beige-dark);
  font-size: clamp(1.125rem, 0.99rem + 0.542vw, 1.375rem);
  font-weight: 700;
  border-radius: var(--radius-sm);
  padding: 0.6em 1em;
  padding-left: clamp(2.5rem, 1.71rem + 3.252vw, 4rem);
}
.c-headline-band::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  width: 0.5em;
  background-color: #AEA9A2;
  border-radius: 50%;
  position: absolute;
  top: 1.1em;
  left: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
}

.c-logo {
  color: var(--white);
  white-space: nowrap;
  line-height: 1.5;
}
.c-logo img {
  width: 10cqw;
  aspect-ratio: 1/1;
}

.c-logo__main {
  display: flex;
  align-items: center;
  gap: 2cqw;
}

.c-logo__label {
  display: inline-block;
  font-size: 4.8cqw;
  font-weight: 700;
}

.c-logo__title {
  display: inline-block;
  font-size: 7.6cqw;
  font-weight: 700;
  padding-left: 0.2em;
}

.c-logo__en {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 3.5cqw;
  font-weight: 700;
  line-height: 1;
  margin-top: 2cqw;
}

.c-list-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.c-list-sns a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.c-list-sns a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-list-sns a:hover {
    opacity: 0.7;
  }
}

.c-list-disc li {
  position: relative;
  padding-left: 1em;
  line-height: var(--line-height-relaxed);
}
.c-list-disc li + li {
  margin-top: 0.1em;
}
.c-list-disc li::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  width: 0.38em;
  background-color: var(--blue);
  border-radius: 50%;
  position: absolute;
  top: 0.85em;
  left: 0;
}
.c-list-disc a {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.c-list-disc a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-list-disc a:hover {
    text-decoration: none;
  }
}

.c-list-order {
  list-style: decimal;
  padding-left: 1.5em;
}
.c-list-order li {
  display: list-item;
  line-height: var(--line-height-relaxed);
}
.c-list-order li + li {
  margin-top: 0.1em;
}
.c-list-order a {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.c-list-order a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-list-order a:hover {
    text-decoration: none;
  }
}

.c-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--gray);
}
.c-table th, .c-table td {
  padding: 1.05em 2.2em;
  font-size: clamp(0.8125rem, 0.71rem + 0.407vw, 1rem);
  line-height: var(--line-height-relaxed);
  text-align: left;
  border: 1px solid var(--gray);
  vertical-align: middle;
}
@media (max-width: 599px) {
  .c-table th, .c-table td {
    padding: 1.2em;
  }
}
.c-table th {
  font-weight: 700;
  background-color: var(--beige-dark);
}
.c-table td {
  background-color: #FBFAF8;
}
.c-table tr > :first-child {
  width: clamp(5.625rem, -0.65rem + 25.745vw, 17.5rem);
}
@media (max-width: 599px) {
  .c-table tr > :first-child {
    width: auto;
    min-width: 90px;
  }
}
.c-table small {
  display: inline-block;
  font-size: clamp(0.6875rem, 0.59rem + 0.407vw, 0.875rem);
  line-height: var(--line-height-normal);
  margin-top: 0.5em;
}
.c-table[data-lg] tr > :first-child {
  width: clamp(5.625rem, -3.29rem + 36.585vw, 22.5rem);
}
@media (max-width: 599px) {
  .c-table[data-lg] tr > :first-child {
    width: auto;
    min-width: 90px;
  }
}

.c-tab__list {
  --_gap: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 var(--_gap);
}
@media (max-width: 599px) {
  .c-tab__list {
    --_gap: 4px;
  }
}
.c-tab__list::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(0.1875rem, 0.09rem + 0.407vw, 0.375rem);
  -o-border-image: linear-gradient(#141D3A 0 0) 0//0 100vi;
     border-image: linear-gradient(#141D3A 0 0) fill 0//0 100vi;
}

.c-tab__list[data-cols="3"] .c-tab__trigger {
  width: calc((100% - var(--_gap) * 2) / 3);
}

.c-tab__list[data-cols="2"] .c-tab__trigger {
  width: 40%;
}
@media (max-width: 599px) {
  .c-tab__list[data-cols="2"] .c-tab__trigger {
    width: calc((100% - var(--_gap)) / 2);
  }
}

.c-tab__trigger {
  display: grid;
  grid-template-columns: auto max-content;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 1.25em 0.5em;
  border-top-left-radius: var(--radius-sm);
  border-top-right-radius: var(--radius-sm);
  font-family: var(--family-mincho);
  font-size: clamp(0.75rem, 0.49rem + 1.084vw, 1.25rem);
  font-weight: 700;
  background-color: #DBD5CD;
  text-align: center;
}
.c-tab__trigger::after {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  width: 1.1em;
  -webkit-mask-image: var(--icon-chevron-bottom-circle);
          mask-image: var(--icon-chevron-bottom-circle);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black);
}
.c-tab__trigger[aria-selected=true] {
  background-color: #141D3A;
  color: var(--white);
}
.c-tab__trigger[aria-selected=true]::after {
  background-color: var(--white);
}

.c-tab__panel {
  padding-top: clamp(2.5rem, 1.71rem + 3.252vw, 4rem);
}

.u-sm-only {
  display: none;
}
@media (max-width: 599px) {
  .u-sm-only {
    display: block;
  }
}

@media (max-width: 599px) {
  br.u-sm-only {
    display: inline;
  }
}

.u-md-only {
  display: none;
}
@media (max-width: 979px) {
  .u-md-only {
    display: block;
  }
}

@media (max-width: 979px) {
  br.u-md-only {
    display: inline;
  }
}

.u-sm-none {
  display: block;
}
@media (max-width: 599px) {
  .u-sm-none {
    display: none;
  }
}

br.u-sm-none {
  display: inline;
}
@media (max-width: 599px) {
  br.u-sm-none {
    display: none;
  }
}

.u-md-none {
  display: block;
}
@media (max-width: 979px) {
  .u-md-none {
    display: none;
  }
}

br.u-md-none {
  display: inline;
}
@media (max-width: 979px) {
  br.u-md-none {
    display: none;
  }
}

.u-wrapper {
  margin-inline: auto;
  max-width: 78vw;
}
@media (min-width: 2462px) {
  .u-wrapper {
    max-width: 1920px;
  }
}
@media (max-width: 1280px) {
  .u-wrapper {
    max-width: calc(1000px + var(--spacing-gutter) * 2);
    padding-inline: var(--spacing-gutter);
  }
}

.u-wrapper-1000 {
  max-width: calc(1000px + var(--spacing-gutter) * 2);
  padding-inline: var(--spacing-gutter);
  margin-inline: auto;
}

.u-inner-1000 {
  margin-inline: auto;
  max-width: 1000px;
}

.u-inner-800 {
  margin-inline: auto;
  max-width: 800px;
}

.u-crop-right {
  width: calc(100% + 11vw);
  margin-right: -11vw;
}
@media (max-width: 1280px) {
  .u-crop-right {
    --_spacing: calc(50vw - 500px);
    width: calc(100% + var(--_spacing));
    margin-right: calc(-1 * var(--_spacing));
  }
}
@media (max-width: 1182px) {
  .u-crop-right {
    --_spacing: var(--spacing-gutter);
  }
}

.u-crop-left {
  width: calc(100% + 11vw);
  margin-left: -11vw;
}
@media (max-width: 1280px) {
  .u-crop-left {
    --_spacing: calc(50vw - 500px);
    width: calc(100% + var(--_spacing));
    margin-left: calc(-1 * var(--_spacing));
  }
}
@media (max-width: 1182px) {
  .u-crop-left {
    --_spacing: var(--spacing-gutter);
  }
}

.u-visually-hidden {
  position: fixed !important;
  inset: 0 !important;
  contain: strict !important;
  visibility: initial !important;
  inline-size: 4px !important;
  block-size: 4px !important;
  margin: unset !important;
  padding: unset !important;
  border: unset !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.top-mv {
  background-color: var(--black);
}

.top-mv-main {
  position: relative;
}

.top-mv-main__slogan {
  position: absolute;
  left: 0;
  top: 80px;
  width: 100%;
  z-index: 100;
}
@media (min-width: 1281px) {
  .top-mv-main__slogan {
    top: 6.3vw;
  }
}
@media (max-width: 599px) {
  .top-mv-main__slogan {
    top: 44px;
  }
}
.top-mv-main__slogan img {
  margin-inline: auto;
  translate: -4% 0;
}
@media (min-width: 1281px) {
  .top-mv-main__slogan img {
    width: 17.2vw;
  }
}
@media (max-width: 599px) {
  .top-mv-main__slogan img {
    width: 58.7vw;
    translate: 0 0;
  }
}

.top-mv-main__sun {
  position: absolute;
  left: 50%;
  top: 24px;
  translate: -50% 0;
  z-index: 10;
}
@media (min-width: 1281px) {
  .top-mv-main__sun {
    top: 1.9vw;
  }
}
@media (max-width: 599px) {
  .top-mv-main__sun {
    top: 6px;
  }
}
@media (min-width: 1281px) {
  .top-mv-main__sun img {
    width: 15vw;
  }
}
@media (max-width: 599px) {
  .top-mv-main__sun img {
    width: 34.2vw;
  }
}

.top-mv-main__bg {
  position: relative;
  z-index: 1;
}
.top-mv-main__bg picture, .top-mv-main__bg img {
  width: 100%;
  height: 640px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 1281px) {
  .top-mv-main__bg picture, .top-mv-main__bg img {
    height: 100%;
  }
}
@media (max-width: 599px) {
  .top-mv-main__bg picture, .top-mv-main__bg img {
    height: 100%;
  }
}

.top-mv-deco {
  background-image: url(../img/common/cloud_black_right.webp);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: clamp(20rem, 9.43rem + 43.36vw, 40rem);
}

.top-mv-title {
  position: relative;
  z-index: 10;
  padding-inline: var(--spacing-gutter);
  margin-top: -110px;
}
@media (min-width: 1281px) {
  .top-mv-title {
    margin-top: -8.6vw;
  }
}
@media (max-width: 599px) {
  .top-mv-title {
    margin-top: 0;
  }
}
.top-mv-title img {
  margin-inline: auto;
}
@media (min-width: 1281px) {
  .top-mv-title img {
    width: 50.4vw;
  }
}

.top-mv-intro {
  padding-inline: var(--spacing-gutter);
  padding-block: clamp(4rem, 3.47rem + 2.168vw, 5rem);
}
@media (min-width: 1281px) {
  .top-mv-intro {
    padding-block: 6.3vw;
  }
}

.top-mv-intro__wrapper {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  color: var(--white);
  padding-inline: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
  border-left: 1px solid var(--white);
  border-right: 1px solid var(--white);
}
.top-mv-intro__wrapper h3 {
  font-family: var(--family-mincho);
  font-size: clamp(1.25rem, 1.08rem + 0.678vw, 1.5625rem);
  font-weight: 700;
  line-height: var(--line-height-normal);
}
@media (min-width: 1281px) {
  .top-mv-intro__wrapper h3 {
    font-size: 2vw;
  }
}
.top-mv-intro__wrapper p {
  font-family: var(--family-mincho);
  font-size: clamp(0.8125rem, 0.75rem + 0.271vw, 0.9375rem);
  font-weight: 700;
  margin-top: 1.5em;
}
@media (min-width: 1281px) {
  .top-mv-intro__wrapper p {
    font-size: 1.2vw;
  }
}

.top-mv-typo {
  overflow: hidden;
}

.top-mv-typo__inner {
  --duration: 60s;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  align-items: center;
}
.top-mv-typo__inner img {
  width: 100vw;
  padding-right: 5vw;
}
@media (max-width: 599px) {
  .top-mv-typo__inner img {
    width: 200vw;
  }
}
.top-mv-typo__inner img:first-child {
  animation: ladder_loop_1 var(--duration) calc(var(--duration) / -2) linear infinite;
}
.top-mv-typo__inner img:last-child {
  animation: ladder_loop_2 var(--duration) linear infinite;
}

@keyframes ladder_loop_1 {
  0% {
    translate: 100%;
  }
  to {
    translate: -100%;
  }
}
@keyframes ladder_loop_2 {
  0% {
    translate: 0;
  }
  to {
    translate: -200%;
  }
}
.top-mv-foot {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1280/356;
}
@media (max-width: 599px) {
  .top-mv-foot {
    aspect-ratio: 600/300;
  }
}

.top-mv-foot__picture {
  position: absolute;
  left: 0;
  top: -40%;
  width: 100%;
  height: 180%;
  will-change: transform;
}
.top-mv-foot__picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-about-section {
  padding: clamp(4rem, 3.47rem + 2.168vw, 5rem) 0;
  position: relative;
}
.top-about-section::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
  width: clamp(15rem, 1.79rem + 54.201vw, 40rem);
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-logo);
          mask-image: var(--icon-logo);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white-opacity);
}
.top-about-section .c-hgroup {
  position: relative;
  z-index: 10;
}

.top-about-list {
  display: grid;
  grid-template-columns: clamp(6.25rem, 4.27rem + 8.13vw, 10rem) auto;
  border-top: 1px solid var(--black-opacity);
  margin-top: clamp(2.5rem, 1.71rem + 3.252vw, 4rem);
  position: relative;
  z-index: 10;
}
@media (min-width: 1281px) {
  .top-about-list {
    grid-template-columns: 1.6fr 8.4fr;
  }
}
.top-about-list dt, .top-about-list dd {
  height: 100%;
  align-content: center;
  line-height: var(--line-height-normal);
  border-bottom: 1px solid var(--black-opacity);
  padding-block: clamp(1.25rem, 0.85rem + 1.626vw, 2rem);
}
.top-about-list dt {
  font-weight: 700;
}

.top-about-list__date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 700;
}
.top-about-list__date b {
  font-family: var(--family-mincho);
  font-weight: 700;
  font-size: clamp(1.375rem, 0.78rem + 2.439vw, 2.5rem);
}

.top-about-list__address {
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.8em;
}
@media (max-width: 599px) {
  .top-about-list__address {
    margin-top: 0.5em;
  }
}
.top-about-list__address a {
  display: grid;
  align-items: center;
  grid-template-columns: max-content 1fr;
  gap: 0.3em;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  text-underline-offset: 0.1em;
}
.top-about-list__address a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .top-about-list__address a:hover {
    text-decoration: none;
  }
}
.top-about-list__address a::before {
  content: "";
  display: inline-block;
  aspect-ratio: 10/12;
  width: 0.7em;
  -webkit-mask-image: var(--icon-map);
          mask-image: var(--icon-map);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black);
}

.top-time-section {
  padding: clamp(4rem, 3.47rem + 2.168vw, 5rem) 0;
  background-color: var(--black);
  background-image: url(../img/common/cloud_black_left.webp);
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: clamp(20rem, 9.43rem + 43.36vw, 40rem);
}

.top-time-layout {
  display: grid;
  grid-template-columns: 3.7fr 6.3fr;
  position: relative;
}
@media (max-width: 979px) {
  .top-time-layout {
    display: block;
  }
}

.top-time-layout__date {
  margin-top: 40px;
}
@media (max-width: 979px) {
  .top-time-layout__date {
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 10px;
    z-index: 10;
    translate: 0 -100%;
  }
}

.top-time-layout__table {
  margin-top: -100px;
}
@media (max-width: 979px) {
  .top-time-layout__table {
    margin-top: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
  }
}

.top-time-date {
  display: grid;
  place-content: center;
  width: clamp(7.5rem, 4.33rem + 13.008vw, 13.5rem);
  aspect-ratio: 1/1;
  background-color: var(--blue);
  border-radius: 50%;
  font-family: var(--family-mincho);
  font-size: clamp(2.1875rem, 1.2rem + 4.065vw, 4.0625rem);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  color: var(--white);
  text-align: center;
}
.top-time-date span {
  display: block;
  font-size: clamp(0.75rem, 0.49rem + 1.084vw, 1.25rem);
  font-weight: 700;
  margin-top: 1em;
}

.top-time-table {
  background-color: var(--white);
  display: grid;
  grid-template-columns: clamp(6rem, 5.47rem + 2.168vw, 7rem) auto;
  gap: 0 4px;
  padding: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
  padding-right: 11vw;
}
@media (min-width: 1281px) {
  .top-time-table {
    grid-template-columns: 1.1fr 4.8fr;
  }
}
@media (max-width: 1280px) {
  .top-time-table {
    padding-right: calc(50vw - 500px);
  }
}
@media (max-width: 1182px) {
  .top-time-table {
    padding-right: var(--spacing-gutter);
  }
}
.top-time-table dt {
  font-weight: 700;
  padding-right: 4px;
  border-right: 1px solid var(--navy);
}
.top-time-table dt span {
  display: block;
  padding-block: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
  border-bottom: 1px solid var(--navy);
  height: 100%;
  align-content: center;
}
.top-time-table dt:first-of-type span {
  border-top: 1px solid var(--navy);
}
.top-time-table dd {
  padding-left: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
  padding-block: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
  border-bottom: 1px solid var(--navy);
  align-content: center;
}
.top-time-table dd small {
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
}
.top-time-table dd:first-of-type {
  border-top: 1px solid var(--navy);
}

.top-access-section {
  padding: clamp(4rem, 3.47rem + 2.168vw, 5rem) 0;
  background-image: url(../img/common/cloud_beige_left.webp), url(../img/common/cloud_beige_right.webp);
  background-position: bottom left, top 46% right;
  background-repeat: no-repeat, no-repeat;
  background-size: clamp(20rem, 9.43rem + 43.36vw, 40rem), clamp(20rem, 9.43rem + 43.36vw, 40rem);
}

.top-access-subsection {
  margin-top: clamp(3rem, 2.74rem + 1.084vw, 3.5rem);
}
.top-access-subsection + .top-access-subsection {
  margin-top: clamp(3.5rem, 2.44rem + 4.336vw, 5.5rem);
}

.top-access-headline {
  margin-bottom: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.8em;
  font-size: clamp(1rem, 0.93rem + 0.271vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--black-opacity);
}
.top-access-headline::before {
  content: "";
  display: inline-block;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black);
}
.top-access-headline[data-train]::before {
  aspect-ratio: 36/44;
  width: 2em;
  -webkit-mask-image: var(--icon-train);
          mask-image: var(--icon-train);
}
.top-access-headline[data-plane]::before {
  aspect-ratio: 1/1;
  width: 2.5em;
  -webkit-mask-image: var(--icon-plane);
          mask-image: var(--icon-plane);
}

.top-access-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 979px) {
  .top-access-grid {
    grid-template-columns: 1fr;
  }
}

.top-access-grid__item {
  border: 1px solid var(--beige-light);
  background-color: var(--white);
  height: 100%;
  padding: clamp(2rem, 1.74rem + 1.084vw, 2.5rem) clamp(1.25rem, 0.26rem + 4.065vw, 3.125rem);
}
.top-access-grid__item h4 {
  padding-left: 0.8em;
  font-size: clamp(1.125rem, 0.99rem + 0.542vw, 1.375rem);
  font-weight: 700;
  border-left: 6px solid var(--blue-dark);
  margin-bottom: 0.8em;
}
.top-access-grid__item h5 {
  display: block;
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-weight: 700;
  color: var(--blue-dark);
  background-color: var(--blue-white);
  text-align: center;
  padding: 0.85em 1em;
  border-radius: var(--radius-sm);
  margin-bottom: 0.8em;
  margin-top: 1.8em;
}
.top-access-grid__item dl {
  display: grid;
  grid-template-columns: clamp(5rem, 3.68rem + 5.42vw, 7.5rem) auto;
}
.top-access-grid__item dt, .top-access-grid__item dd {
  font-weight: 500;
  padding-block: 0.9em;
  border-bottom: 1px solid var(--beige-light);
}
.top-access-grid__item dt {
  padding-right: 1em;
}
.top-access-grid__item p {
  text-align: center;
  margin-top: 1.8em;
  margin-bottom: 1.8em;
}
.top-access-grid__item .c-btn-border {
  margin-top: 1.5em;
  margin-inline: auto;
}

.top-access-notice {
  margin-top: clamp(1.5rem, 1.24rem + 1.084vw, 2rem);
}
.top-access-notice li {
  display: grid;
  grid-template-columns: max-content 1fr;
  color: #0A193E;
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  line-height: var(--line-height-normal);
}
.top-access-notice li + li {
  margin-top: 0.35em;
}
.top-access-notice li::before {
  content: "※";
  display: inline-block;
}

.top-access-grid__item[data-secondary] h4 {
  border-left: 6px solid var(--skyblue);
}
.top-access-grid__item[data-secondary] h5 {
  color: var(--skyblue);
  background-color: var(--skyblue-white);
}

.top-access-map {
  margin-top: clamp(3.5rem, 2.05rem + 5.962vw, 6.25rem);
}
.top-access-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1000/360;
}
@media (max-width: 1280px) {
  .top-access-map iframe {
    height: 360px;
  }
}
@media (max-width: 599px) {
  .top-access-map iframe {
    aspect-ratio: 1/1;
  }
}

.top-info-section {
  padding: clamp(4rem, 3.47rem + 2.168vw, 5rem) 0 clamp(5rem, 4.34rem + 2.71vw, 6.25rem);
  background-color: var(--black);
}

.top-info-lead {
  font-size: clamp(0.8125rem, 0.71rem + 0.407vw, 1rem);
  border-top: 1px solid var(--navy);
  padding-top: clamp(1.25rem, 0.85rem + 1.626vw, 2rem);
  margin-bottom: 32px;
  margin-left: auto;
  color: var(--white);
  max-width: 470px;
}
@media (max-width: 979px) {
  .top-info-lead {
    margin-left: 0;
    margin-top: 40px;
    padding-top: 0;
    border-top: none;
  }
}

.top-info-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 979px) {
  .top-info-link {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 599px) {
  .top-info-link {
    grid-template-columns: 1fr;
  }
}
.top-info-link a {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: 0.8em;
  height: 100%;
  font-family: var(--family-mincho);
  font-size: clamp(1.0625rem, 0.96rem + 0.407vw, 1.25rem);
  font-weight: 700;
  background-color: var(--white);
  padding: 1.5em 1.2em;
  padding-right: 1em;
}
.top-info-link a:focus-visible::after {
  translate: 0.2em 0;
}
@media (any-hover: hover) {
  .top-info-link a:hover::after {
    translate: 0.2em 0;
  }
}
.top-info-link a::after {
  content: "";
  display: inline-block;
  aspect-ratio: 7/12;
  width: 0.34em;
  -webkit-mask-image: var(--icon-chevron-right);
          mask-image: var(--icon-chevron-right);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black);
  transition: translate 0.2s ease-out;
}
.top-info-link span[lang=en] {
  display: block;
  font-family: var(--family-gothic);
  font-size: clamp(0.5625rem, 0.53rem + 0.136vw, 0.625rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 0.2em;
  padding-left: 0.4em;
}

.top-sponsor-section {
  padding: clamp(4rem, 3.47rem + 2.168vw, 5rem) 0 clamp(4rem, 2.81rem + 4.878vw, 6.25rem);
}

.top-sponsor-list {
  display: grid;
  gap: clamp(0.5rem, 0.1rem + 1.626vw, 1.25rem);
  margin-top: clamp(2.5rem, 1.71rem + 3.252vw, 4rem);
}
.top-sponsor-list + .top-sponsor-list {
  margin-top: clamp(0.5rem, 0.1rem + 1.626vw, 1.25rem);
}
.top-sponsor-list a {
  display: block;
  background-color: var(--white);
  border: 1px solid var(--beige-light);
  transition: opacity 0.2s ease-in-out;
}
.top-sponsor-list a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .top-sponsor-list a:hover {
    opacity: 0.7;
  }
}
.top-sponsor-list picture, .top-sponsor-list img {
  width: 100%;
}
.top-sponsor-list[data-cols="1"] {
  grid-template-columns: 1fr;
}
.top-sponsor-list[data-cols="1"] a {
  display: grid;
  place-content: center;
  height: clamp(9rem, 8.27rem + 2.981vw, 10.375rem);
}
.top-sponsor-list[data-cols="1"] img {
  width: 300px;
  max-width: 90%;
  margin-inline: auto;
}
.top-sponsor-list[data-cols="2"] {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 599px) {
  .top-sponsor-list[data-cols="2"] {
    grid-template-columns: 1fr;
  }
}
.top-sponsor-list[data-cols="3"] {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 599px) {
  .top-sponsor-list[data-cols="3"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
.top-sponsor-list[data-cols="4"] {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 599px) {
  .top-sponsor-list[data-cols="4"] {
    grid-template-columns: repeat(3, 1fr);
  }
}

.top-sponsor-cs {
  margin-top: clamp(2rem, 1.74rem + 1.084vw, 2.5rem);
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  text-align: center;
}

.top-prize-section {
  padding-bottom: clamp(5rem, 4.34rem + 2.71vw, 6.25rem);
}

.top-prize-wrapper {
  padding-top: clamp(4rem, 2.81rem + 4.878vw, 6.25rem);
  border-top: 1px solid var(--black-opacity);
}

.top-prize {
  display: grid;
  grid-template-columns: 2.8fr 4.2fr;
  align-items: center;
  gap: clamp(1.25rem, 0.85rem + 1.626vw, 2rem);
  padding: 16px clamp(1.25rem, 0.85rem + 1.626vw, 2rem);
  background-color: var(--black);
  border: 4px solid var(--gold);
  max-width: 824px;
  margin-inline: auto;
}
@media (min-width: 1281px) {
  .top-prize {
    max-width: 64.3vw;
    gap: 2.5vw;
  }
}
@media (max-width: 599px) {
  .top-prize {
    grid-template-columns: 1fr;
    padding-bottom: 32px;
  }
}

@media (max-width: 599px) {
  .top-prize__head {
    max-width: 300px;
    margin-inline: auto;
  }
}
.top-prize__head img {
  width: 100%;
}
@media (max-width: 599px) {
  .top-prize__head img {
    width: 80%;
    margin-inline: auto;
  }
}

.top-prize__body p {
  padding-top: 1.5em;
  border-top: 1px solid var(--navy);
  color: var(--white);
}
.top-prize__body .c-btn-border {
  margin-top: 1.5em;
}
@media (max-width: 599px) {
  .top-prize__body .c-btn-border {
    margin-inline: auto;
  }
}

.p-header {
  margin-bottom: clamp(3.5rem, 1.72rem + 7.317vw, 6.875rem);
}
.p-header .c-breadcrumb {
  margin-top: clamp(1rem, 0.54rem + 1.897vw, 1.875rem);
}

.p-header__main {
  align-content: center;
  background-color: #141D3A;
  background-image: url(../img/common/p_header_bg.webp);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: clamp(20rem, 9.43rem + 43.36vw, 40rem);
  height: clamp(12.5rem, 8.21rem + 17.615vw, 20.625rem);
}
.p-header__main hgroup {
  max-width: 1000px;
  margin-inline: auto;
}
.p-header__main h1 {
  font-family: var(--family-mincho);
  font-size: clamp(1.75rem, 1.16rem + 2.439vw, 2.875rem);
  font-weight: 500;
  color: var(--white);
  letter-spacing: 0.1em;
}
.p-header__main p {
  font-family: var(--family-mincho);
  font-size: clamp(0.625rem, 0.56rem + 0.271vw, 0.75rem);
  font-weight: 500;
  color: var(--blue-light);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-top: 0.8em;
}

.p-spacer {
  padding-bottom: clamp(5rem, 2.69rem + 9.485vw, 9.375rem);
}

.p-section {
  margin-top: clamp(4rem, 2.81rem + 4.878vw, 6.25rem);
}

.p-box {
  background-color: var(--white);
  padding: clamp(2rem, 1.41rem + 2.439vw, 3.125rem) clamp(1.25rem, -0.07rem + 5.42vw, 3.75rem);
}
.p-box + .p-box {
  margin-top: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
}

[data-mt-1em] {
  margin-top: 1em;
}

[data-mb-1em] {
  margin-bottom: 1em;
}

[data-mt-1p5em] {
  margin-top: 1.5em;
}

[data-mb-1p5em] {
  margin-bottom: 1.5em;
}

[data-mt-2em] {
  margin-top: 2em;
}

[data-mb-2em] {
  margin-bottom: 2em;
}

[data-mt-40] {
  margin-top: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}

[data-mb-40] {
  margin-bottom: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}

[data-mt-60] {
  margin-top: clamp(2rem, 1.08rem + 3.794vw, 3.75rem);
}

[data-mb-60] {
  margin-bottom: clamp(2rem, 1.08rem + 3.794vw, 3.75rem);
}

[data-mt-80] {
  margin-top: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
}

[data-mb-80] {
  margin-bottom: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
}

[data-lh-relaxed] {
  line-height: var(--line-height-relaxed);
}

.mem-sort ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(0.375rem, 0.24rem + 0.542vw, 0.625rem) clamp(0.25rem, 0.12rem + 0.542vw, 0.5rem);
}
.mem-sort button {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.6875rem, 0.52rem + 0.678vw, 1rem);
  font-weight: 500;
  text-align: center;
  border-radius: var(--radius-full);
  border: 1px solid var(--gray);
  color: var(--black);
  background-color: var(--white);
  padding: 0.6em 1.8em;
}
@media (max-width: 599px) {
  .mem-sort button {
    padding: 0.6em 1.2em;
  }
}
.mem-sort button[aria-pressed=true] {
  background-color: var(--black);
  border-color: var(--black);
  color: var(--white);
  font-weight: 700;
}

.mem-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid var(--gray);
  border-right: none;
}
.mem-table th, .mem-table td {
  padding: 1.2em 2.2em;
  font-size: clamp(0.8125rem, 0.71rem + 0.407vw, 1rem);
  text-align: left;
  border-right: 1px solid var(--gray);
  font-weight: 500;
}
.mem-table th {
  color: var(--white);
  background-color: #141D3A;
}
.mem-table tr {
  background-color: var(--white);
}
.mem-table tr:nth-child(even) {
  background-color: var(--gray-white);
}
.mem-table b {
  font-weight: 700;
}

.mem-table-overflow {
  margin-top: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}
@media (max-width: 979px) {
  .mem-table-overflow {
    width: calc(100% + var(--spacing-gutter) * 2);
    margin-inline: calc(var(--spacing-gutter) * -1);
    padding-inline: var(--spacing-gutter);
    padding-bottom: 4px;
    overflow: auto;
  }
}
@media (max-width: 979px) {
  .mem-table-overflow::before {
    content: "↔︎スクロールできます";
    position: sticky;
    left: 0;
    font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
    display: block;
    margin-bottom: 0.8em;
  }
}
@media (max-width: 979px) {
  .mem-table-overflow table {
    width: -moz-max-content;
    width: max-content;
  }
}

.join-nav ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 979px) {
  .join-nav ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 599px) {
  .join-nav ul {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.join-nav a {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: 0.8em;
  height: 100%;
  font-family: var(--family-mincho);
  font-size: clamp(0.9375rem, 0.77rem + 0.678vw, 1.25rem);
  font-weight: 700;
  background-color: var(--white);
  padding: 1.5em 1.2em;
  padding-right: 1em;
  border-radius: var(--radius-sm);
  transition: opacity 0.2s ease-in-out;
}
.join-nav a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .join-nav a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 599px) {
  .join-nav a {
    padding: 1.2em;
  }
}
.join-nav a::after {
  content: "";
  display: inline-block;
  aspect-ratio: 12/7;
  width: 0.75em;
  -webkit-mask-image: var(--icon-chevron-bottom);
          mask-image: var(--icon-chevron-bottom);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--black);
  transition: translate 0.2s ease-out;
}

.join-fee {
  display: grid;
  grid-template-columns: 3.7fr 5.85fr;
  gap: 24px 40px;
  margin-top: 40px;
}
@media (max-width: 979px) {
  .join-fee {
    grid-template-columns: 1fr;
  }
}

.join-fee__head h3 {
  margin-bottom: clamp(1rem, 0.54rem + 1.897vw, 1.875rem);
}

.join-fee__body {
  padding: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem) clamp(1.25rem, -0.07rem + 5.42vw, 3.75rem) clamp(2rem, 1.41rem + 2.439vw, 3.125rem);
  background-color: #FBFAF8;
  border: 1px solid var(--beige-light);
}
.join-fee__body dl {
  display: grid;
  grid-template-columns: clamp(6.25rem, 5.59rem + 2.71vw, 7.5rem) auto;
}
.join-fee__body dt, .join-fee__body dd {
  padding-block: 0.6em;
}
.join-fee__body dt:not(:last-of-type), .join-fee__body dd:not(:last-of-type) {
  border-bottom: 1px solid var(--gray);
}
.join-fee__body dt {
  font-weight: 700;
}
.join-fee__body p {
  text-align: center;
  background-color: var(--gold);
  color: var(--white);
  font-weight: 700;
  border-radius: var(--radius-sm);
  margin-top: clamp(1rem, 0.87rem + 0.542vw, 1.25rem);
  padding: 0.8em;
}

.join-exc {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  counter-reset: counter;
}
@media (max-width: 979px) {
  .join-exc {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 599px) {
  .join-exc {
    grid-template-columns: 1fr;
  }
}

.join-exc__item {
  counter-increment: counter;
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 2;
  background-color: var(--white);
  border: 1px solid var(--beige);
}
.join-exc__item h3 {
  display: grid;
  grid-template-columns: max-content auto;
  font-size: clamp(1.0625rem, 0.96rem + 0.407vw, 1.25rem);
  font-weight: 700;
  color: var(--white);
  background-color: var(--black);
}
.join-exc__item h3 span {
  display: block;
  align-content: center;
  padding: 0.7em 1em;
}
.join-exc__item h3::before {
  content: counter(counter);
  display: grid;
  place-content: center;
  font-size: clamp(1.0625rem, 0.9rem + 0.678vw, 1.375rem);
  font-weight: 700;
  color: var(--white);
  background-color: var(--gold);
  width: 2.64em;
  height: 100%;
}

.join-exc__content {
  padding: clamp(0.5rem, 0.24rem + 1.084vw, 1rem) clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem) clamp(2rem, 1.74rem + 1.084vw, 2.5rem);
}
.join-exc__content dt {
  padding-top: 0.7em;
  margin-bottom: 0.3em;
  font-weight: 700;
}
.join-exc__content dd {
  border-bottom: 1px solid var(--gray);
  padding-bottom: 0.9em;
}
.join-exc__content .c-btn-anchor {
  margin-inline: auto;
  margin-top: 1.8em;
}
.join-exc__content p {
  display: grid;
  place-content: center;
  height: 100%;
  padding-top: 1.2em;
}

.join-exc-section {
  margin-top: clamp(2.5rem, 1.71rem + 3.252vw, 4rem);
}
.join-exc-section + .join-exc-section {
  margin-top: clamp(3.5rem, 2.71rem + 3.252vw, 5rem);
}

.prize-ap-list li {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--gray);
}
.prize-ap-list li + li {
  margin-top: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
}
.prize-ap-list li > p {
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  margin-top: 0.8em;
}

.prize-results-grid {
  display: grid;
}
.prize-results-grid > div {
  background-color: #FBFAF8;
  border: 1px solid var(--beige-light);
}
.prize-results-grid[data-cols="2"] {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 20px;
}
@media (max-width: 599px) {
  .prize-results-grid[data-cols="2"] {
    grid-template-columns: 1fr;
  }
}
.prize-results-grid[data-cols="2"] > div {
  padding: clamp(2rem, 1.41rem + 2.439vw, 3.125rem) clamp(1.25rem, -0.07rem + 5.42vw, 3.75rem);
}
.prize-results-grid[data-cols="3"] {
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0.5rem, 0.24rem + 1.084vw, 1rem) 20px;
}
@media (max-width: 979px) {
  .prize-results-grid[data-cols="3"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 599px) {
  .prize-results-grid[data-cols="3"] {
    grid-template-columns: 1fr;
  }
}
.prize-results-grid[data-cols="3"] > div {
  padding: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
}
.prize-results-grid[data-cols="4"] {
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(0.5rem, 0.37rem + 0.542vw, 0.75rem);
}
@media (max-width: 979px) {
  .prize-results-grid[data-cols="4"] {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 599px) {
  .prize-results-grid[data-cols="4"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .prize-results-grid[data-cols="4"] {
    grid-template-columns: 1fr;
  }
}
.prize-results-grid[data-cols="4"] > div {
  padding: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
}

.prize-results-head dt {
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  font-weight: 500;
  border-radius: var(--radius-sm);
  background-color: var(--gold);
  color: var(--white);
  padding: 0.3em 1em;
  margin-bottom: 0.8em;
}

.prize-results-hgroup p {
  margin-top: 0.4em;
}
.prize-results-hgroup h3, .prize-results-hgroup h4 {
  font-size: clamp(1rem, 0.87rem + 0.542vw, 1.25rem);
  font-weight: 700;
}
.prize-results-hgroup[data-lg] h3, .prize-results-hgroup[data-lg] h4 {
  font-size: clamp(1.5rem, 1.3rem + 0.813vw, 1.875rem);
}

.archive-box {
  background-color: var(--white);
  padding: clamp(2rem, 1.41rem + 2.439vw, 3.125rem) clamp(1.25rem, -0.07rem + 5.42vw, 3.75rem);
}

.archive-list {
  margin-top: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
}

.archive-list__item {
  display: grid;
  grid-template-columns: 1fr 155px;
  gap: 12px 24px;
  padding-block: 24px;
  border-bottom: 1px solid var(--gray);
}
@media (max-width: 599px) {
  .archive-list__item {
    grid-template-columns: 1fr;
  }
}
.archive-list__item .c-btn-round {
  width: 155px;
  height: -moz-fit-content;
  height: fit-content;
}

.archive-list__meta {
  display: flex;
  gap: clamp(0.5rem, 0.24rem + 1.084vw, 1rem) clamp(0.625rem, 0.29rem + 1.355vw, 1.25rem);
  flex-wrap: wrap;
  line-height: var(--line-height-relaxed);
}

.archive-list__num {
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
}

.archive-list__cat {
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.625rem, 0.49rem + 0.542vw, 0.875rem);
  border: 1px solid var(--gray);
  border-radius: var(--radius-sm);
  padding: 0 1em;
  background-color: var(--white);
  height: -moz-fit-content;
  height: fit-content;
  translate: 0 0.2em;
}

.archive-list__title {
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-weight: 700;
}
@media (max-width: 979px) {
  .archive-list__title {
    width: 100%;
  }
}

.greeting-box {
  display: grid;
  grid-template-columns: 230px auto;
  gap: clamp(1.5rem, 0.64rem + 3.523vw, 3.125rem);
  background-color: var(--white);
  padding: clamp(1.25rem, 0.26rem + 4.065vw, 3.125rem) clamp(1.25rem, 0.26rem + 4.065vw, 3.125rem) clamp(1.875rem, 1.21rem + 2.71vw, 3.125rem);
  margin-top: clamp(2.5rem, 1.84rem + 2.71vw, 3.75rem);
}
@media (max-width: 979px) {
  .greeting-box {
    grid-template-columns: 1fr;
  }
}

.greeting-box__img {
  order: -1;
}
.greeting-box__img img {
  width: 100%;
  max-width: 230px;
  margin-inline: auto;
}

.greeting-box__text hgroup {
  border-bottom: 1px solid var(--gray);
  padding-bottom: clamp(1.5rem, 1.3rem + 0.813vw, 1.875rem);
  margin-bottom: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}
.greeting-box__text hgroup p {
  font-family: var(--family-mincho);
  font-weight: 700;
  margin-bottom: 0.5em;
}
.greeting-box__text h3 {
  font-family: var(--family-mincho);
  font-weight: 700;
  font-size: clamp(1.875rem, 1.54rem + 1.355vw, 2.5rem);
  position: relative;
  padding-left: 0.8em;
}
.greeting-box__text h3::before {
  content: "";
  display: block;
  width: 7px;
  height: 1em;
  position: absolute;
  top: 0.3em;
  left: 0;
  z-index: 1;
  background-color: var(--blue);
}
.greeting-box__text > p {
  font-size: clamp(0.8125rem, 0.71rem + 0.407vw, 1rem);
  line-height: var(--line-height-relaxed);
}
.greeting-box__text p + p {
  margin-top: 1.5em;
}

.error404 h2 {
  font-size: clamp(1.125rem, 0.93rem + 0.813vw, 1.5rem);
  font-weight: 700;
  margin-bottom: 1.5em;
  text-align: center;
}
.error404 p {
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  text-align: center;
}
@media (max-width: 599px) {
  .error404 p {
    text-align: left;
  }
}
.error404 a {
  margin-top: 2.5em;
  margin-inline: auto;
}

.comingsoon h2 {
  font-size: clamp(1.125rem, 0.93rem + 0.813vw, 1.5rem);
  font-weight: 700;
  margin-bottom: 1.5em;
  text-align: center;
}
.comingsoon p {
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  text-align: center;
}
.comingsoon a {
  margin-top: 2.5em;
  margin-inline: auto;
}/*# sourceMappingURL=style.css.map */
