@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
  font-size: 100%;
}

body {
  min-height: 100%;
  font-size: 1rem;
  line-height: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

:where(img, svg, video, canvas, audio, iframe) {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

:where(ul[class], ol[class]) {
  list-style: none;
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  font: inherit;
  color: inherit;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

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

:where(textarea) {
  resize: vertical;
  min-block-size: 3lh;
}

:where(a, button, label, summary, [tabindex]:not([tabindex*="-"])) {
  color: inherit;
  text-decoration: none;
}

:where(a, button, label:has(input), summary, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
}

:where(button, input, select, textarea)[disabled] {
  cursor: not-allowed;
}

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

:where(sub, sup) {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

:where(em, b, strong) {
  font-weight: bold;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(p) {
  text-wrap: pretty;
}

:where(table) {
  width: 100%;
  border-collapse: collapse;
}

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

:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
}

@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
:where([hidden]) {
  display: none;
}

summary::marker, summary::-webkit-details-marker {
  display: none;
}

:root {
  interpolate-size: allow-keywords;
}

body {
  color: #2e363b;
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1.5;
}

:where(a, button, input[type=submit], input[type=reset], input[type=button]) {
  transition: 0.3s ease;
}
@media (hover: hover) {
  :where(a, button, input[type=submit], input[type=reset], input[type=button]):hover {
    opacity: 0.7;
  }
}

:where(p) {
  line-height: 1.75;
}
:where(p) + :where(p) {
  margin-top: 1.5em;
}

.u-text-main {
  color: #C2285C;
}
.u-text-caution {
  color: #E60012;
}
.u-text-center {
  text-align: center;
}
.u-text-large {
  font-size: 1.125rem;
}
.u-bg-pink {
  background-color: #FDF5F3;
}
.u-bg-gray {
  background-color: #F8F8F8;
}
.u-round-m {
  border-radius: 12px;
}

.is-navOpen {
  overflow: hidden;
}
.is-hidden {
  display: none;
}
.is-scroll .l-header::after {
  opacity: 1;
}

[class*=icon-]::before {
  display: inline-block;
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  background-color: currentColor;
}

.icon-mail::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34.149" height="25.255" viewBox="0 0 34.149 25.255">  <path id="パス_4250" data-name="パス 4250" d="M378.8,7859.5a2.072,2.072,0,0,0-1.518-1.741,4.809,4.809,0,0,0-1.276-.1h-28.4c-.31,0-.619.005-.928.027a2.088,2.088,0,0,0-1.886,1.569,4.619,4.619,0,0,0-.095,1.178q0,9.872,0,19.742a7.267,7.267,0,0,0,.044.884,2.069,2.069,0,0,0,1.511,1.748,4.636,4.636,0,0,0,1.233.106h28.7a5.725,5.725,0,0,0,.868-.056,2.063,2.063,0,0,0,1.7-1.533,4.447,4.447,0,0,0,.1-1.121q0-9.914,0-19.828A6.674,6.674,0,0,0,378.8,7859.5Zm-31.771-.411c.2-.007.4-.007.6-.007h28.281a6.258,6.258,0,0,1,.942.04l-.974.926q-7,6.65-14,13.3c-.088.085-.131.087-.222,0q-6.2-5.9-12.412-11.8l-2.4-2.281c-.044-.042-.09-.083-.149-.137A1.119,1.119,0,0,1,347.028,7859.089Zm30.347,21.794a.639.639,0,0,1-.629.571,6.822,6.822,0,0,1-.685.025H347.606a7.655,7.655,0,0,1-.785-.023.672.672,0,0,1-.678-.7c-.014-.228-.019-.457-.02-.685q0-9.685,0-19.37v-.111c.062,0,.082.045.11.072l15.39,14.618c.171.163.123.163.294,0l13.534-12.859,1.844-1.75c.033-.031.068-.06.122-.107v.163q0,9.621,0,19.242A5.234,5.234,0,0,1,377.375,7880.883Z" transform="translate(-344.694 -7857.653)" fill="currentColor"/></svg>') center/contain no-repeat;
}
.icon-doc::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29.237" viewBox="0 0 29 29.237">  <g id="グループ_1278" data-name="グループ 1278" transform="translate(-717.475 -7855.662)">    <path id="パス_4246" data-name="パス 4246" d="M739.537,7861.249h-4.395a.6.6,0,0,1-.6-.6v-4.4h1.191v3.8h3.8Z" fill="currentColor"/>    <path id="パス_4247" data-name="パス 4247" d="M739.551,7884.9h-21.48a.6.6,0,0,1-.6-.6v-28.045a.6.6,0,0,1,.6-.6h17.42a.6.6,0,0,1,.421.174l4.059,4.046a.6.6,0,0,1,.175.422v5.5h-1.191v-5.256l-3.71-3.7H718.667v26.855h20.288v-8.033h1.191v8.628A.6.6,0,0,1,739.551,7884.9Z" fill="currentColor"/>    <rect id="長方形_1310" data-name="長方形 1310" width="12.39" height="1.192" transform="translate(721.413 7865.845)" fill="currentColor"/>    <rect id="長方形_1311" data-name="長方形 1311" width="8.207" height="1.192" transform="translate(721.413 7870.647)" fill="currentColor"/>    <rect id="長方形_1312" data-name="長方形 1312" width="6.098" height="1.192" transform="translate(721.413 7875.45)" fill="currentColor"/>    <g id="グループ_1277" data-name="グループ 1277">      <path id="パス_4248" data-name="パス 4248" d="M733.45,7879.707a.594.594,0,0,1-.421-.175l-2.547-2.546a.6.6,0,0,1,0-.843l11.9-11.9a2.4,2.4,0,0,1,3.389,3.389l-11.9,11.9A.6.6,0,0,1,733.45,7879.707Zm-1.7-3.143,1.7,1.705,11.483-11.483a1.205,1.205,0,0,0-1.7-1.7Z" fill="currentColor"/>      <path id="パス_4249" data-name="パス 4249" d="M729.758,7880.852a.6.6,0,0,1-.569-.772l1.145-3.692a.6.6,0,0,1,.99-.245l2.547,2.547a.6.6,0,0,1-.245.99l-3.691,1.145A.618.618,0,0,1,729.758,7880.852Zm1.422-3.168-.518,1.668,1.669-.518Z" fill="currentColor"/>    </g>  </g></svg>') center/contain no-repeat;
}
.icon-bulb::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="13.959" height="24.331" viewBox="0 0 13.959 24.331">  <g id="グループ_192" data-name="グループ 192" transform="translate(-8459.849 -1133.686)">    <path id="パス_547" data-name="パス 547" d="M8473.366,1144.188a6.538,6.538,0,1,0-9.436,5.855v2.246h5.795v-2.246A6.53,6.53,0,0,0,8473.366,1144.188Z" fill="none"/>    <path id="パス_548" data-name="パス 548" d="M8469.726,1152.73h-5.795a.441.441,0,0,1-.441-.441v-1.979a6.969,6.969,0,0,1-3.641-6.122,6.981,6.981,0,1,1,10.318,6.122v1.979A.442.442,0,0,1,8469.726,1152.73Zm-5.354-.882h4.912v-1.805a.439.439,0,0,1,.246-.4,6.088,6.088,0,0,0,3.395-5.46,6.1,6.1,0,1,0-11.251,3.254,6.131,6.131,0,0,0,2.453,2.206.44.44,0,0,1,.245.4Z" fill="currentColor"/>    <path id="パス_549" data-name="パス 549" d="M8468.749,1152l-.883-.02.092-4.056.213-.124a3.428,3.428,0,0,0,1.461-1.792,1.7,1.7,0,0,0,.019-.7,2.29,2.29,0,0,0-.345-.823,1.143,1.143,0,0,0-.748-.55,1.732,1.732,0,0,0-.91.114c.036.047.073.1.111.149a3.231,3.231,0,0,1,.558,1.287,1.711,1.711,0,0,1-.336,1.409,1.449,1.449,0,0,1-1.128.491,1.468,1.468,0,0,1-1.169-.53,1.651,1.651,0,0,1-.289-1.392,3.352,3.352,0,0,1,.682-1.3,1.358,1.358,0,0,0-1.688.345,1.74,1.74,0,0,0-.377,1.42,3.529,3.529,0,0,0,1.527,1.87l.211.125.006.244.086,3.81-.883.02-.08-3.578a4.128,4.128,0,0,1-1.73-2.309,2.6,2.6,0,0,1,.527-2.122,1.99,1.99,0,0,1,1.727-.843,4.073,4.073,0,0,1,1.342.321l.046.018a2.978,2.978,0,0,1,1.934-.414,2.012,2.012,0,0,1,1.324.938,2.769,2.769,0,0,1,.443,2.2,4.088,4.088,0,0,1-1.66,2.207Zm-1.841-7.453a2.854,2.854,0,0,0-.649,1.106.776.776,0,0,0,.112.653.593.593,0,0,0,.481.2.569.569,0,0,0,.455-.182.86.86,0,0,0,.137-.7A2.458,2.458,0,0,0,8466.908,1144.547Z" fill="currentColor"/>    <path id="パス_550" data-name="パス 550" d="M8469.593,1154.032h-5.529a.441.441,0,1,1,0-.882h5.529a.441.441,0,1,1,0,.882Z" fill="currentColor"/>    <path id="パス_551" data-name="パス 551" d="M8469.715,1155.1h-5.773a.44.44,0,1,1,0-.881h5.773a.44.44,0,1,1,0,.881Z" fill="currentColor"/>    <path id="パス_552" data-name="パス 552" d="M8469.533,1156.238h-5.409a.44.44,0,1,1,0-.881h5.409a.44.44,0,0,1,0,.881Z" fill="currentColor"/>    <path id="パス_553" data-name="パス 553" d="M8468.71,1156.563a1.945,1.945,0,0,1-3.764,0Z" fill="currentColor"/>    <g id="グループ_191" data-name="グループ 191">      <path id="パス_554" data-name="パス 554" d="M8466.828,1136.3a.441.441,0,0,1-.441-.441v-1.734a.441.441,0,0,1,.883,0v1.734A.441.441,0,0,1,8466.828,1136.3Z" fill="currentColor"/>      <path id="パス_555" data-name="パス 555" d="M8463.566,1136.873a.441.441,0,0,1-.407-.27l-.682-1.617a.441.441,0,0,1,.813-.342l.682,1.617a.439.439,0,0,1-.235.577A.435.435,0,0,1,8463.566,1136.873Z" fill="currentColor"/>      <path id="パス_556" data-name="パス 556" d="M8470.09,1136.873a.431.431,0,0,1-.171-.035.441.441,0,0,1-.236-.577l.683-1.617a.441.441,0,0,1,.813.342l-.682,1.617A.442.442,0,0,1,8470.09,1136.873Z" fill="currentColor"/>    </g>  </g></svg>') center/contain no-repeat;
}
.icon-subject::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="13.364" height="22.588" viewBox="0 0 13.364 22.588">  <g id="グループ_200" data-name="グループ 200" transform="translate(-8460.146 -1222.93)">    <path id="パス_586" data-name="パス 586" d="M8466.828,1224.983a1.027,1.027,0,1,1-1.028,1.027,1.027,1.027,0,0,1,1.028-1.027Zm2.57,5.647a1.562,1.562,0,0,0-1.467-1.026h-3.492l.847,1.466v5.207h3.084v-5.647Z" fill="currentColor" fill-rule="evenodd"/>    <path id="パス_587" data-name="パス 587" d="M8470.573,1245.518a1.028,1.028,0,0,1-.992-.761l-2-7.453h-1.268v7.187a1.028,1.028,0,0,1-2.057,0v-13.146l-.71-1.228v0l-3.263-5.645a1.028,1.028,0,0,1,1.781-1.027l2.967,5.134h2.9a2.6,2.6,0,0,1,2.4,1.608l.554.959.71-1.228a1.028,1.028,0,0,1,1.781,1.026l-1.6,2.768a1.028,1.028,0,0,1-1.78,0l-.594-1.026v3.458l2.169,8.083a1.028,1.028,0,0,1-.994,1.293Zm-4.259-10.267h1.027v-4.621h-1.127a1.023,1.023,0,0,1,.1.44Zm.514-7.187a2.053,2.053,0,1,1,2.056-2.054A2.058,2.058,0,0,1,8466.828,1228.064Zm0-2.054h0Z" fill="currentColor"/>  </g></svg>') center/contain no-repeat;
}
.icon-schedule::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="19.809" height="19.742" viewBox="0 0 19.809 19.742">  <g id="グループ_196" data-name="グループ 196" transform="translate(-8456.924 -1313.237)">    <path id="パス_579" data-name="パス 579" d="M8471.12,1332.018a9.937,9.937,0,0,1-14.133-7.8,9.907,9.907,0,1,1,14.133,7.8Zm.891-2.182a8.417,8.417,0,0,0,1.155-12.363,8.372,8.372,0,0,0-5.953-2.847,8.579,8.579,0,0,0-8.4,5.664,8.165,8.165,0,0,0-.019,5.608,8.607,8.607,0,0,0,5.188,5.2A8.462,8.462,0,0,0,8472.011,1329.836Z" fill="currentColor"/>    <path id="パス_580" data-name="パス 580" d="M8471.3,1326.558c.308.29.072.724-.166.878-.35.225-.62.043-.893-.213l-3.087-2.885a1.249,1.249,0,0,1-1.451-.707,1.169,1.169,0,0,1,.521-1.5l.011-3.6c0-.311.34-.493.582-.5a.568.568,0,0,1,.593.492l.01,3.629a1.186,1.186,0,0,1,.564,1.284Zm-4.556-3.7a.3.3,0,0,0-.163.437.346.346,0,0,0,.374.1.3.3,0,0,0,.139-.359A.322.322,0,0,0,8466.744,1322.859Z" fill="currentColor"/>    <path id="パス_581" data-name="パス 581" d="M8473.682,1322.475a.609.609,0,0,1,.722.457.6.6,0,0,1-.467.733.609.609,0,1,1-.255-1.19Z" fill="currentColor"/>    <path id="パス_582" data-name="パス 582" d="M8459.8,1323.673a.6.6,0,0,1-.559-.535.608.608,0,0,1,.45-.647.617.617,0,0,1,.781.5A.6.6,0,0,1,8459.8,1323.673Z" fill="currentColor"/>    <path id="パス_583" data-name="パス 583" d="M8466.6,1315.667a.609.609,0,1,1,.464,1.126.613.613,0,0,1-.773-.276A.62.62,0,0,1,8466.6,1315.667Z" fill="currentColor"/>    <path id="パス_584" data-name="パス 584" d="M8466.664,1329.433a.611.611,0,0,1,.355,1.17.607.607,0,0,1-.754-.351A.615.615,0,0,1,8466.664,1329.433Z" fill="currentColor"/>  </g></svg>') center/contain no-repeat;
}
.icon-map::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="13.935" height="20.875" viewBox="0 0 13.935 20.875">  <g id="グループ_198" data-name="グループ 198" transform="translate(-8459.861 -1402.134)">    <path id="パス_585" data-name="パス 585" d="M8466.828,1402.134a6.962,6.962,0,0,0-6.967,6.958c0,3.843,2.787,8.7,6.967,13.917,4.181-5.219,6.968-10.074,6.968-13.917A6.963,6.963,0,0,0,8466.828,1402.134Zm0,10.661a3.709,3.709,0,1,1,3.714-3.709A3.711,3.711,0,0,1,8466.828,1412.8Z" fill="currentColor"/>  </g></svg>') center/contain no-repeat;
}
.icon-coach::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="19.953" height="22.721" viewBox="0 0 19.953 22.721">  <g id="グループ_194" data-name="グループ 194" transform="translate(-8456.852 -1490.165)">    <path id="パス_557" data-name="パス 557" d="M8474.6,1511.222c-.135-.992-.642-4.785-.766-6.794a13.975,13.975,0,0,1-3.266.368h0a10.641,10.641,0,0,1-2.216-.212c-.1,1.322-.266,4.069-.249,6.638h1.777a25.507,25.507,0,0,1,1.048-5.762.207.207,0,0,1,.391.045c.339,1.728,1.362,5,1.591,5.717Z" fill="currentColor"/>    <path id="パス_558" data-name="パス 558" d="M8467.715,1499.4l-.579-.081a17.812,17.812,0,0,0-.42,2.605.238.238,0,0,1-.1.175.806.806,0,0,0,.466,1.465.8.8,0,0,0,.239-.04Z" fill="currentColor"/>    <path id="パス_559" data-name="パス 559" d="M8471.587,1496.848c-.009-.008-.019-.012-.027-.021l-.945-1.114-.792,1.064a.236.236,0,0,1-.09.07,1.393,1.393,0,1,0,1.854,0Z" fill="currentColor"/>    <path id="パス_560" data-name="パス 560" d="M8467.014,1498.824l.236.032.756.106a.243.243,0,0,1,.115.054.234.234,0,0,1,.089.2l-.072.757-.207,2.176-.049.51-.032.338-.049.514-.031.322-.008.085c.07.027.146.05.22.074s.133.042.2.061.135.036.2.051a10.069,10.069,0,0,0,2.18.213,13.141,13.141,0,0,0,3.243-.377c.074-.02.142-.041.2-.062l.05-.015c0-.056.008-.129.011-.213-.022-.022-.04-.049-.062-.074a1.261,1.261,0,0,1-.226-.389l-.122.023-.73.145a.19.19,0,0,1-.042,0,.213.213,0,0,1-.122-.038.217.217,0,0,1-.091-.14l-.011-.063-.036-.2-.036-.2-.431-2.455a.214.214,0,0,1,.171-.249l1.3-.258c-.02-.091-.04-.176-.06-.258l-.048.012a.253.253,0,0,1-.055.006.236.236,0,0,1-.133-.041.232.232,0,0,1-.1-.159,17.339,17.339,0,0,0-.764-2.546.238.238,0,0,1,.072-.265.22.22,0,0,1,.066-.041.237.237,0,0,1,.307.136c.017.045.277.732.5,1.478.093.308.181.626.239.913l.029-.007.115-.028.116-.027.117-.027.235-.055.507-.119.231-.055.119-.028-.042-.11c-.1-.27-.206-.543-.319-.812a4.758,4.758,0,0,0-1.715-2.235,4.491,4.491,0,0,0-.5-.292l0,.048a2.75,2.75,0,0,1-.043.31,2.969,2.969,0,0,1-.566,1.228,14.556,14.556,0,0,1-1.15,2.574h.7v1.238h-2.092v-1.238h.761a14.49,14.49,0,0,1-.81-2.746,5.629,5.629,0,0,1-.468-1.49,6.874,6.874,0,0,0-2.288,3.65l.174.025Z" fill="currentColor"/>    <path id="パス_561" data-name="パス 561" d="M8472.861,1511.633a2.8,2.8,0,0,0-.563,1.253h2.531l-.175-1.253Z" fill="currentColor"/>    <path id="パス_562" data-name="パス 562" d="M8467.182,1512.771h2.628l.023-1.138h-1.853A2.888,2.888,0,0,0,8467.182,1512.771Z" fill="currentColor"/>    <path id="パス_563" data-name="パス 563" d="M8476.366,1499.654l-.835.165a17.656,17.656,0,0,1,.288,1.964,1.289,1.289,0,0,1,.353.5l.633-.125Z" fill="currentColor"/>    <path id="パス_564" data-name="パス 564" d="M8473.73,1500.174l-1.1.218.407,2.316.032.185.585-.115.055-.011v-.009a1.262,1.262,0,0,1,.29-.809A15.852,15.852,0,0,0,8473.73,1500.174Z" fill="currentColor"/>    <path id="パス_565" data-name="パス 565" d="M8475.7,1502.374a.826.826,0,0,0-.242-.274.243.243,0,0,1-.1-.175,17.2,17.2,0,0,0-.29-2.014c-.016-.072-.029-.143-.045-.212s-.03-.141-.047-.21c-.023-.108-.048-.21-.07-.305l-.549.128-.236.056-.074.017c.021.087.043.178.065.275.015.067.029.138.046.211s.028.139.044.211l.017.085a15.655,15.655,0,0,1,.262,1.845.235.235,0,0,1-.066.184.84.84,0,0,0-.221.476.625.625,0,0,0-.01.086.738.738,0,0,0,.015.132.772.772,0,0,0,.063.207.9.9,0,0,0,.067.121.825.825,0,0,0,.232.221.8.8,0,0,0,1.236-.645c0-.012,0-.023,0-.036a.855.855,0,0,0-.021-.18A.846.846,0,0,0,8475.7,1502.374Z" fill="currentColor"/>    <path id="パス_566" data-name="パス 566" d="M8469.4,1495.328c.035.157.073.3.109.418.024.08.047.155.07.22.035.1.066.183.1.252l.5-.665A2.9,2.9,0,0,1,8469.4,1495.328Z" fill="currentColor"/>    <path id="パス_567" data-name="パス 567" d="M8471.79,1496.206a2.97,2.97,0,0,0,.148-.307c.012-.03.023-.058.035-.09a2.425,2.425,0,0,0,.134-.637,2.917,2.917,0,0,1-1.04.376l.654.771C8471.743,1496.285,8471.766,1496.246,8471.79,1496.206Z" fill="currentColor"/>    <path id="パス_568" data-name="パス 568" d="M8468.974,1494.5c.025.021.05.043.075.063.044.036.09.071.137.1l.087.057c.054.033.107.067.163.1a2.461,2.461,0,0,0,1.678.239c.065-.013.131-.03.193-.049a2.419,2.419,0,0,0,.391-.155l.021-.009c.074-.038.146-.079.215-.123l.056-.034c.033-.022.063-.047.095-.07s.042-.031.063-.048.039-.031.06-.049.053-.047.079-.072a2.327,2.327,0,0,0,.176-.18,2.477,2.477,0,1,0-3.487.229Z" fill="currentColor"/>    <path id="パス_569" data-name="パス 569" d="M8463.513,1505.452a9.688,9.688,0,0,1-1.976.186,12.666,12.666,0,0,1-2.921-.326c-.113,1.8-.56,5.142-.686,6.065h1.484c.214-.676,1.124-3.586,1.427-5.128a.2.2,0,0,1,.178-.165.209.209,0,0,1,.212.119,22.811,22.811,0,0,1,.942,5.174h1.562C8463.749,1509.088,8463.6,1506.648,8463.513,1505.452Z" fill="currentColor"/>    <path id="パス_570" data-name="パス 570" d="M8465.076,1503.207a.239.239,0,0,1-.1-.175,15.816,15.816,0,0,0-.374-2.32l-.476.066.35,3.675a.7.7,0,0,0,.194.03.7.7,0,0,0,.405-1.276Z" fill="currentColor"/>    <path id="パス_571" data-name="パス 571" d="M8462.266,1498.477a.25.25,0,0,1-.079-.066l-.7-.935-.833.981c-.006.007-.015.01-.021.016a13.081,13.081,0,0,0,.975,2.132A12.808,12.808,0,0,0,8462.266,1498.477Z" fill="currentColor"/>    <path id="パス_572" data-name="パス 572" d="M8457.874,1511.788l-.152,1.086h2.236a2.623,2.623,0,0,0-.5-1.086Z" fill="currentColor"/>    <path id="パス_573" data-name="パス 573" d="M8462.216,1511.788l.021.983h2.321a2.691,2.691,0,0,0-.7-.983Z" fill="currentColor"/>    <path id="パス_574" data-name="パス 574" d="M8458.152,1504.15a.7.7,0,0,0,0-.747.754.754,0,0,0-.091-.113.237.237,0,0,1-.065-.183,14.637,14.637,0,0,1,.288-1.916c.033-.155.065-.3.1-.429l-.041-.01-.236-.055-.449-.106a15.929,15.929,0,0,0-.4,2.441.236.236,0,0,1-.1.175.7.7,0,0,0,.405,1.276.691.691,0,0,0,.363-.1A.717.717,0,0,0,8458.152,1504.15Z" fill="currentColor"/>    <path id="パス_575" data-name="パス 575" d="M8457.768,1500.131l.409.1.234.055.084.02.149.035.082.02h0l.007-.028c.025-.121.057-.247.091-.375.041-.151.085-.3.131-.454.2-.649.42-1.235.434-1.274a.237.237,0,0,1,.308-.137.222.222,0,0,1,.065.041.236.236,0,0,1,.072.266,15.659,15.659,0,0,0-.685,2.286.241.241,0,0,1-.1.159.233.233,0,0,1-.132.041.244.244,0,0,1-.054-.006l-.021-.005a15.205,15.205,0,0,0-.367,2.173,1.168,1.168,0,0,1,.261.736v0a1.2,1.2,0,0,1-.023.224,1.169,1.169,0,0,1-.277.55.358.358,0,0,1-.03.037c0,.062,0,.122.008.166l.022.008c.063.02.131.04.2.06a11.867,11.867,0,0,0,2.9.335,8.9,8.9,0,0,0,1.939-.189c.07-.015.137-.033.2-.051s.138-.038.2-.059.105-.034.153-.052l0-.046-.032-.33-.112-1.174-.208-2.18-.046-.485a.238.238,0,0,1,.117-.227.231.231,0,0,1,.087-.03l.653-.091.236-.033.237-.034.108-.014a6.184,6.184,0,0,0-2.014-3.225,4.875,4.875,0,0,1-.426,1.334,12.983,12.983,0,0,1-.722,2.437h.668v1.115H8460.7v-1.115h.614a13.011,13.011,0,0,1-1.024-2.291,2.458,2.458,0,0,1-.326-.526,2.686,2.686,0,0,1-.186-.545,2.57,2.57,0,0,1-.051-.316l0-.03a4.041,4.041,0,0,0-.526.328,4.261,4.261,0,0,0-1.394,1.849c-.115.264-.217.534-.316.8l-.029.074.082.019Z" fill="currentColor"/>    <path id="パス_576" data-name="パス 576" d="M8462.413,1497.631c.015-.045.031-.1.047-.153.04-.131.081-.277.12-.455a2.617,2.617,0,0,1-.673.254l.425.572C8462.358,1497.787,8462.385,1497.715,8462.413,1497.631Z" fill="currentColor"/>    <path id="パス_577" data-name="パス 577" d="M8460.513,1497.233a2.609,2.609,0,0,1-.324-.125,2.181,2.181,0,0,0,.1.4c.012.034.024.064.038.1a2.444,2.444,0,0,0,.114.243c.021.037.039.072.06.1l.518-.609A2.694,2.694,0,0,1,8460.513,1497.233Z" fill="currentColor"/>    <path id="パス_578" data-name="パス 578" d="M8459.934,1496.391l.034.029c.016.011.028.024.043.036.05.036.1.066.155.1l.01.006.061.032a2.108,2.108,0,0,0,.2.11c.016.007.032.009.049.016a2.268,2.268,0,0,0,.36.112c.063.013.128.012.191.02a1.9,1.9,0,0,0,1.318-.258,2.476,2.476,0,0,0,.468-.338,2.207,2.207,0,1,0-3.059,0A2,2,0,0,0,8459.934,1496.391Z" fill="currentColor"/>  </g></svg>') center/contain no-repeat;
}
.icon-fee::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16.835" height="23.959" viewBox="0 0 16.835 23.959">  <path id="パス_588" data-name="パス 588" d="M8468.705,1589.42l-1.877,2.93-1.885-2.93h-2.285l2.335,3.757h-2.275v1.6h3.073v.737h-3.073v1.6h3.073v1.445h2.045v-1.445h3.093v-1.6h-3.093v-.737h3.093v-1.6h-2.344l2.4-3.757Zm4.075-1.494a8.4,8.4,0,0,0-4.93-2.4,10.99,10.99,0,0,0-.732-2.314c5.62,1.312,6.075-4.34,6.075-4.34-4.882-.673-6.406,1.335-6.88,2.758-.5-1.6-2.175-3.933-7.731-3.167,0,0,.556,6.876,7.637,4.63a11.568,11.568,0,0,1,0,2.4,8.4,8.4,0,1,0,6.565,2.432Zm-5.952,13.5a7.557,7.557,0,1,1,7.566-7.557A7.572,7.572,0,0,1,8466.828,1601.427Z" transform="translate(-8458.411 -1578.318)" fill="currentColor"/></svg>') center/contain no-repeat;
}
.icon-register::before {
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17.716" height="18.897" viewBox="0 0 17.716 18.897">  <g id="グループ_203" data-name="グループ 203" transform="translate(-8457.971 -1669.263)">    <path id="パス_589" data-name="パス 589" d="M8473.205,1686.18a.893.893,0,0,1-.633-.27l-.555-.566v1.276h-12.5V1670.8h12.5v9.19l1.542,1.576v-11.536a.77.77,0,0,0-.771-.77h-14.047a.771.771,0,0,0-.771.77v17.357a.771.771,0,0,0,.771.77h14.047a.77.77,0,0,0,.771-.77v-.918l-.286-.293Z" fill="currentColor"/>    <path id="パス_590" data-name="パス 590" d="M8475.613,1685.03l-.865-.885.039-.038a.256.256,0,0,0,0-.362l-6.85-7a5.76,5.76,0,0,0-2.806-1.65.533.533,0,0,0-.391.141.543.543,0,0,0-.151.4,5.8,5.8,0,0,0,1.588,2.829l6.852,7a.258.258,0,0,0,.18.077.278.278,0,0,0,.183-.073l.04-.039.866.884a.263.263,0,0,0,.182.077h0a.259.259,0,0,0,.18-.073l.944-.923A.257.257,0,0,0,8475.613,1685.03Z" fill="currentColor"/>    <rect id="長方形_284" data-name="長方形 284" width="9.49" height="1.027" transform="translate(8461.021 1672.787)" fill="currentColor"/>    <path id="パス_591" data-name="パス 591" d="M8470.511,1677.343v-1.027h-2.09l1,1.027Z" fill="currentColor"/>    <path id="パス_592" data-name="パス 592" d="M8461.021,1676.316v1.027h3.537a5.5,5.5,0,0,1-.475-1.027Z" fill="currentColor"/>    <path id="パス_593" data-name="パス 593" d="M8461.021,1679.845v1.027h6.622l-1-1.027Z" fill="currentColor"/>    <path id="パス_594" data-name="パス 594" d="M8461.021,1684.4h9.49v-.6l-.42-.429h-9.07Z" fill="currentColor"/>  </g></svg>') center/contain no-repeat;
}

.c-title {
  font-weight: 700;
  line-height: 1.45;
}
.c-title--pagetitle {
  color: #fff;
  font-size: 1.8125rem;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 900;
  text-align: center;
}
.c-title--skin01 {
  margin-bottom: 20px;
  font-size: 1.4375rem;
}
.c-title--skin02 {
  margin-bottom: 36px;
  color: #3c77cb;
  font-size: 1.875rem;
  text-align: center;
}
.c-title--skin03 {
  display: grid;
  margin-bottom: 28px;
  font-size: 1rem;
  text-align: center;
}
.c-title--skin03::after {
  display: block;
  content: "";
  width: 72px;
  height: 3px;
  margin-top: 16px;
  margin-inline: auto;
  background-color: #f3babf;
}
.c-title--skin04 {
  margin-bottom: 28px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.875rem;
  font-weight: 900;
}
.c-title__en {
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 900;
  font-size: 2.25rem;
}
.c-title__jp {
  color: #2f3c45;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
}
.c-button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  min-width: min(246px, 100%);
  padding: 16px 24px;
  border: 1px solid transparent;
  border-radius: 10em;
  background-color: #C2285C;
  color: #fff;
  font-size: 1rem;
  line-height: 1.3;
}
.c-button--square {
  border-radius: 8px;
}
.c-button--outline {
  border-color: #C2285C;
  background-color: #fff;
  color: #C2285C;
}
.c-button--green {
  background-color: #66CBB1;
}
.c-button--orange {
  background-color: #E9772B;
}
.c-button--blue {
  background-color: #224D80;
}
.c-button--arrow {
  padding-right: 68px;
  position: relative;
}
.c-button--arrow:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  border-radius: 50%;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30.091" height="30.091" viewBox="0 0 30.091 30.091">  <path id="前面オブジェクトで型抜き_1" data-name="前面オブジェクトで型抜き 1"         d="M14.545,29.091A14.545,14.545,0,0,1,4.26,4.26,14.545,14.545,0,1,1,24.83,24.83,14.451,14.451,0,0,1,14.545,29.091ZM9.788,13.938a.559.559,0,0,0-.409.174.6.6,0,0,0,0,.842.561.561,0,0,0,.409.173h6.192a.038.038,0,0,1,.037.025c.008.016.008.029,0,.037l-1.535,1.325a.485.485,0,0,0-.174.359.53.53,0,0,0,.124.384.514.514,0,0,0,.359.18.48.48,0,0,0,.05,0,.5.5,0,0,0,.333-.12l2.663-2.328a.6.6,0,0,0,0-.917l-2.663-2.328a.5.5,0,0,0-.33-.119l-.053,0a.51.51,0,0,0-.359.179.532.532,0,0,0-.124.384.485.485,0,0,0,.174.359l1.535,1.325a.043.043,0,0,1,0,.044.042.042,0,0,1-.037.018Z"         transform="translate(0.5 0.5)"         fill="currentColor" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/></svg>') center/contain no-repeat;
  background-color: currentColor;
}
.c-button--phone {
  flex-wrap: wrap;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  color: #C2285C;
}
.c-button--phone .num {
  display: block;
  width: 100%;
  font-size: 150%;
  font-weight: 700;
  text-align: center;
}
.c-button--large {
  padding-block: 20px;
  min-width: min(340px, 100%);
  font-size: 1.0625rem;
  justify-content: center;
}
.c-button-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}
.c-button--w100 {
  display: flex;
  flex-grow: 1;
}
.c-telLink {
  color: inherit;
}
.c-intro {
  padding-left: 28px;
  font-size: 0.875rem;
  font-weight: 700;
}
.c-lead {
  margin-bottom: 80px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.1875rem;
  font-weight: 500;
  text-align: center;
}
.c-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  background-color: #fff;
  color: #224D80;
}
.c-card__image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.c-card__body {
  padding: 16px;
  font-size: 0.875rem;
}
.c-card__date {
  font-size: 0.75rem;
}
.c-card__title {
  font-size: 0.875rem;
  font-weight: 700;
}
.c-card__info {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5em;
  align-items: start;
  margin-top: 20px;
}
.c-card__info-row {
  display: contents;
}
.c-card__label {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 10em;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
}
.c-card__label--orange {
  background: #FD7A58;
}
.c-card__label--green {
  background: #66CBB1;
}
.c-club-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 5px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  background: #fff;
}
.c-club-card-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 45px 18px;
}
.c-club-card__header {
  position: relative;
  background: #999;
}
.c-club-card__img {
  aspect-ratio: 16/9;
}
.c-club-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-club-card__badge {
  position: absolute;
  bottom: 12px;
  left: 15px;
  padding: 8px 20px;
  border-radius: 50px;
  border: 1px solid #C2285C;
  background: #fff;
  color: #C2285C;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
}
.c-club-card__badge--certified {
  border-color: #66CBB1;
  color: #66CBB1;
}
.c-club-card__badge--registration {
  border-color: #FD7A58;
  color: #FD7A58;
}
.c-club-card__body {
  padding: 20px;
}
.c-club-card__title {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 15px;
}
.c-club-card__btn-detail {
  display: inline-block;
  background: #888;
  color: #fff;
  padding: 5px 20px;
  border-radius: 50px;
  font-size: 12px;
  margin-bottom: 20px;
}
.c-club-card__info-list {
  list-style: none;
  padding: 0;
  text-align: left;
  font-size: 13px;
  line-height: 1.8;
}
.c-club-card__info-list li::before {
  content: "・";
}
.c-club-card__footer {
  padding: 0 20px 20px;
  margin-top: auto;
}
.c-club-card__tag-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 4px;
  list-style: none;
  padding: 0;
}
.c-club-card__tag {
  border: 2px solid #f06292;
  border-radius: 50px;
  padding: 5px;
  font-size: 11px;
  text-align: center;
  color: #d81b60;
  white-space: nowrap;
}
.c-table {
  width: 100%;
  font-size: 0.9375rem;
}
.c-table-container {
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.5);
}
.c-table thead tr:first-child th {
  border-top: 0;
}
.c-table thead tr:first-child th:first-child {
  border-left: 0;
}
.c-table thead tr:first-child th:last-child {
  border-right: 0;
}
.c-table :is(th, td) {
  padding: 10px 16px;
}
.c-table th {
  border: 1px solid rgba(255, 255, 255, 0.7);
  background-color: #C2285C;
  color: #fff;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  text-align: center;
}
.c-table td {
  border: 1px solid rgba(77, 77, 77, 0.7);
  background-color: #fff;
  font-weight: 500;
}
.c-tag {
  display: inline-block;
  padding: 2px 8px;
  border: 1px solid #2e363b;
  font-size: 0.75rem;
  line-height: 1.2;
}
.c-checkbox-label {
  display: flex;
  gap: 8px;
}
.c-filter {
  color: #C2285C;
}
.c-filter__title {
  position: relative;
  margin-bottom: 20px;
  padding-left: 20px;
  color: #E46C93;
  font-size: 1rem;
}
.c-filter__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-left: 8px solid #E46C93;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
.c-filter__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 28px 20px;
  list-style: none;
  padding: 0;
}
.c-filter__input {
  display: none;
}
.c-filter__group:nth-child(n+2) {
  margin-top: 60px;
  padding-top: 20px;
  border-top: 1px solid #9D9D9E;
}
.c-filter__label {
  display: block;
  border: 2px solid #E46C93;
  border-radius: 50px;
  padding: 10px 20px;
  text-align: center;
  cursor: pointer;
  background: #fff;
  font-weight: 500;
  transition: all 0.3s ease;
}
.c-filter__label:has(:checked) {
  background-color: #C2285C;
  border-color: #E46C93;
  color: #fff;
}
.c-filter__label {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-filter__label:hover {
    opacity: 0.7;
  }
}
.c-filter__footer {
  margin-top: 60px;
  padding-top: 20px;
  border-top: 1px solid #9D9D9E;
  text-align: right;
}
.c-filter__clear {
  background: none;
  border: none;
  color: #E46C93;
  font-size: 0.875rem;
}
.c-filter__empty {
  display: none;
}
.c-tab__header {
  display: flex;
  margin-bottom: 48px;
}
.c-tab__button {
  flex: 1;
  padding: 16px;
  border: 1px solid #2e363b;
  background: #fff;
  color: #2e363b;
  margin-left: -1px;
}
.c-tab__button:first-child {
  margin-left: 0;
}
.c-tab__button--active {
  background-color: #C2285C;
  color: #fff;
}
.c-tab__box:not(.c-tab__box--active) {
  display: none;
}
.c-carousel {
  position: relative;
  padding-inline: 30px;
}
.c-carousel .swiper-slide {
  padding: 5px 10px 20px;
}
.c-carousel .swiper-button {
  display: block;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  border-radius: 50%;
  background: #e46c93;
  border: 0;
  color: #fff;
}
.c-carousel .swiper-button::after {
  font-weight: 700;
  font-size: 28px;
}
.c-carousel .swiper-button-prev {
  left: 0px;
  padding-right: 2px;
}
.c-carousel .swiper-button-next {
  right: 0px;
  padding-left: 4px;
}

.l-container {
  overflow-x: clip;
}
.l-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 900;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  pointer-events: none;
}
.l-layer.is-show {
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-wrapper {
  max-width: min(92vw, 1080px);
  margin-inline: auto;
}
.l-wrapper--wide {
  max-width: min(92vw, 1260px);
  margin-inline: auto;
}
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-right: 36px;
}
.l-header::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  opacity: 0;
  z-index: -1;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px) saturate(180%);
  -webkit-backdrop-filter: blur(10px) saturate(180%);
  transition: all 0.3s ease;
}
.l-header__logo-link {
  display: inline-block;
  padding: 28px 32px 28px 28px;
  border-radius: 0 0 28px 0;
  background: #fff;
  box-shadow: 0.73px 1.46px 4.02px rgba(0, 0, 0, 0.51);
  transition: 0.3s ease;
}
@media (hover: hover) {
  .l-header__logo-link:hover {
    opacity: 1;
  }
  .l-header__logo-link:hover .l-header__logo-image {
    opacity: 0.7;
  }
}
.l-header__logo-image {
  transition: all 0.3s ease;
}
.l-gnav {
  display: flex;
  align-items: center;
  gap: 28px;
}
.l-gnav__btn {
  display: none;
}
.l-gnav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
}
.l-gnav__actions {
  flex: 1;
  display: flex;
  gap: 10px;
}
.l-gnav__button {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  min-width: 150px;
  padding: 12px 28px;
  border-radius: 10em;
  color: #fff;
  text-align: center;
}
.l-gnav__button--red {
  background-color: #ED3E40;
}
.l-main:has(.l-pagetitle) {
  padding-top: 100px;
}
.l-pagetitle {
  padding-block: 40px;
  background: url(../img/common/bg-texture.webp) repeat-y center top/max(1920px, 100%) auto;
}
.l-section {
  padding-block: 60px 100px;
}
.l-footer {
  margin-top: 60px;
  padding-inline: 60px;
}
.l-footer__inner {
  padding: 60px 0 20px;
  border-top: 1px solid #6F6E6F;
}
.l-footer__logos {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: 60px;
}
.l-footer__logo-image {
  height: 50px;
  width: auto;
  margin-bottom: 15px;
}
.l-footer__logo-caption {
  font-size: 0.75rem;
  font-weight: bold;
}

.hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-content: center;
  min-height: calc(100vh - 52px);
  margin-bottom: 72px;
  padding-top: 100px;
  background: url(../img/top/bg-mv.webp) no-repeat center bottom/cover;
}
@media (orientation: portrait) {
  .hero {
    min-height: 0;
  }
}
.hero__content {
  display: grid;
  width: clamp(100%, 77.5vw, 1488px);
  margin-inline: auto;
  max-height: calc(100vh - 180px);
}
.hero__title {
  max-height: calc(100vh - 150px);
}
.hero__title img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
}
.hero__button-group {
  margin-top: 52px;
  padding-left: 36px;
}
.hero__button {
  min-width: min(366px, 100%);
  box-shadow: 0.73px 4.37px 3.64px rgba(0, 0, 0, 0.3);
}

.circle-nav__list {
  display: flex;
  justify-content: center;
}
.circle-nav__item {
  padding: 0 32px;
  border-right: 1px solid #ddd;
}
.circle-nav__item:first-child {
  border-left: 1px solid #ddd;
}
.circle-nav__image {
  width: 150px;
  height: 150px;
  background-color: #eee;
  border-radius: 50%;
  border: 1px solid #333;
  margin-bottom: 15px;
}
.circle-nav__text {
  display: block;
  font-weight: 700;
  text-align: center;
}

.news {
  padding-block: 80px;
}
.news-ticker {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(50%);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 36px;
  max-width: 736px;
  margin-inline: auto;
  padding: 20px 60px;
  background-color: #fff;
  border-radius: 50em;
  box-shadow: -0.73px 3px 3.64px rgba(0, 0, 0, 0.26);
}
.news-ticker__label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #003C7A;
  font-weight: 700;
  white-space: nowrap;
}
.news-ticker__label::before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 20px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="19.682" height="19.682" viewBox="0 0 19.682 19.682">  <g id="グループ_327" data-name="グループ 327" transform="translate(-386.199 -829.475)">    <g id="グループ_325" data-name="グループ 325">      <path id="パス_1004" data-name="パス 1004" d="M405.881,839.316a9.841,9.841,0,1,1-9.841-9.841A9.827,9.827,0,0,1,405.881,839.316Zm-1.312,0a8.529,8.529,0,1,0-8.529,8.529A8.554,8.554,0,0,0,404.569,839.316Z" fill="%23da4127"/>    </g>    <g id="グループ_326" data-name="グループ 326">      <path id="パス_1005" data-name="パス 1005" d="M394.918,843.536a1.1,1.1,0,1,1,2.2,0,1.117,1.117,0,0,1-1.108,1.135A1.105,1.105,0,0,1,394.918,843.536Zm.485-2.285-.277-7.354h1.828l-.277,7.354Z" fill="%23da4127"/>    </g>  </g></svg>') no-repeat center center/contain;
}
.news-ticker__content {
  display: flex;
  gap: 12px;
}
.news-ticker__date {
  flex-shrink: 0;
}
.news-ticker__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news__header {
  margin-bottom: 20px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  text-align: center;
}
.news__title {
  font-size: 2.25rem;
  font-weight: 900;
}
.news-item {
  border-bottom: 1px solid #D8D8D8;
  max-width: 640px;
  margin: 0 auto;
}
.news-item:first-child {
  border-top: 1px solid #D8D8D8;
}
.news-item__link {
  display: block;
  padding: 18px 30px 18px 12px;
  text-decoration: none;
  color: #224D80;
  position: relative;
}
.news-item__link:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30.091" height="30.091" viewBox="0 0 30.091 30.091">  <path id="前面オブジェクトで型抜き_1" data-name="前面オブジェクトで型抜き 1" d="M14.545,29.091A14.545,14.545,0,0,1,4.26,4.26,14.545,14.545,0,1,1,24.83,24.83,14.451,14.451,0,0,1,14.545,29.091ZM9.788,13.938a.559.559,0,0,0-.409.174.6.6,0,0,0,0,.842.561.561,0,0,0,.409.173h6.192a.038.038,0,0,1,.037.025c.008.016.008.029,0,.037l-1.535,1.325a.485.485,0,0,0-.174.359.53.53,0,0,0,.124.384.514.514,0,0,0,.359.18.48.48,0,0,0,.05,0,.5.5,0,0,0,.333-.12l2.663-2.328a.6.6,0,0,0,0-.917l-2.663-2.328a.5.5,0,0,0-.33-.119l-.053,0a.51.51,0,0,0-.359.179.532.532,0,0,0-.124.384.485.485,0,0,0,.174.359l1.535,1.325a.043.043,0,0,1,0,.044.042.042,0,0,1-.037.018Z" transform="translate(0.5 0.5)" fill="%23fff" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/></svg>') no-repeat center center/contain, radial-gradient(ellipse, #C2285C 0%, #C2285C 60%, #fff 60%, #fff 100%);
}
.news-item__meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.news-item__tag {
  background: #f8bbd0;
  padding: 2px 8px 3px;
  border-radius: 10em;
  color: #fff;
  font-size: 0.625rem;
  list-style: none;
}
.news-item__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.news__button {
  min-width: min(100%, 500px);
}

.intro {
  padding: 80px 0;
}
.intro__column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.intro__title {
  margin-bottom: 30px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
}
.intro__text {
  font-size: 1.125rem;
  line-height: 1.8;
}
.intro__visual {
  text-align: center;
}

.about {
  border-radius: 36vw 36vw 0 0;
  padding-bottom: 120px;
  background-color: #E3EFEA;
  border-top: 1px solid transparent;
}
.about__header {
  background-color: #64c9ac;
  color: #fff;
  width: fit-content;
  margin: -80px auto 80px;
  padding: 16px 120px 60px;
  background: url(../img/top/bg-ribbon.svg) no-repeat center center/100% 100%;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  text-align: center;
}
.about__title {
  font-size: 3.75rem;
  font-weight: 900;
  line-height: 1;
}
.about__subtitle {
  font-size: 1.5rem;
}
.about__column {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px;
}
.about__item {
  display: flex;
  align-items: center;
  gap: 40px;
}
.about__item--reverse {
  flex-direction: row-reverse;
}
.about__item-title {
  margin-bottom: 20px;
  color: #66CBB1;
  font-size: 1.75rem;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
}
.about__item-text {
  font-size: 1.125rem;
  line-height: 1.8;
}
.about__visual {
  flex: 1;
}
.about__visual img {
  width: 100%;
}
.about__body {
  flex: 1;
}
.about__links {
  display: grid;
  gap: 16px;
  margin-top: 40px;
}
.about__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 68px 12px 10px;
  border-radius: 8px;
  box-shadow: 0.73px 0.73px 3.64px rgba(102, 198, 161, 0.75);
  background: #fff;
  font-size: 0.9375rem;
  position: relative;
}
.about__link:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  border-radius: 50%;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30.091" height="30.091" viewBox="0 0 30.091 30.091">  <path id="前面オブジェクトで型抜き_1" data-name="前面オブジェクトで型抜き 1"         d="M14.545,29.091A14.545,14.545,0,0,1,4.26,4.26,14.545,14.545,0,1,1,24.83,24.83,14.451,14.451,0,0,1,14.545,29.091ZM9.788,13.938a.559.559,0,0,0-.409.174.6.6,0,0,0,0,.842.561.561,0,0,0,.409.173h6.192a.038.038,0,0,1,.037.025c.008.016.008.029,0,.037l-1.535,1.325a.485.485,0,0,0-.174.359.53.53,0,0,0,.124.384.514.514,0,0,0,.359.18.48.48,0,0,0,.05,0,.5.5,0,0,0,.333-.12l2.663-2.328a.6.6,0,0,0,0-.917l-2.663-2.328a.5.5,0,0,0-.33-.119l-.053,0a.51.51,0,0,0-.359.179.532.532,0,0,0-.124.384.485.485,0,0,0,.174.359l1.535,1.325a.043.043,0,0,1,0,.044.042.042,0,0,1-.037.018Z"         transform="translate(0.5 0.5)"         fill="currentColor" stroke="rgba(0,0,0,0)" stroke-miterlimit="10" stroke-width="1"/></svg>') center/contain no-repeat;
  background-color: #66CBB1;
}
.about__link-icon {
  flex-shrink: 0;
  display: grid;
  place-content: center;
  width: 45px;
  aspect-ratio: 1/1;
  padding-bottom: 2px;
  border-radius: 50%;
  background-color: #66CBB1;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.1;
  text-align: center;
}
.about__link--registration {
  box-shadow: 0.73px 0.73px 3.64px rgba(229, 97, 145, 0.75);
}
.about__link--registration .about__link-icon {
  background-color: #ED3E40;
}
.about__link--registration::after {
  background-color: #ED3E40;
}
.about__card {
  position: relative;
  padding: 20px 40px;
  border-radius: 8px;
  box-shadow: 0.73px 0.73px 3.64px rgba(102, 198, 161, 0.75);
  background: #fff;
  font-size: 1.125rem;
}
.about__card-icon {
  position: absolute;
  top: -8px;
  left: -12px;
  display: grid;
  place-content: center;
  width: 52px;
  aspect-ratio: 1/1;
  padding-bottom: 2px;
  border-radius: 50%;
  background-color: #66CBB1;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.15;
  text-align: center;
}
.about__card--registration {
  box-shadow: 0.73px 0.73px 3.64px rgba(229, 97, 145, 0.75);
}
.about__card--registration .about__card-icon {
  background-color: #ED3E40;
  font-size: 0.525rem;
}
.about__card--registration::after {
  background-color: #ED3E40;
}
.about__card .u-text-caution {
  font-size: 0.9375rem;
}
.about__button-group {
  margin-top: 24px;
}

.club__column {
  display: flex;
  align-items: center;
  gap: 0 80px;
  margin-bottom: 32px;
}
.club__body {
  flex: 1;
  padding-top: 60px;
}
.club__title {
  margin-bottom: 28px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
}
.club__text {
  font-size: 1.125rem;
}
.club__visual {
  flex: 1;
  text-align: center;
  margin-top: -20px;
}
.club-selection {
  position: relative;
  padding-block: 80px 100px;
  background: url(../img/common/bg-texture.webp) repeat-y center top/max(1920px, 100%) auto;
}
.club-selection::before {
  position: absolute;
  content: "";
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  border-style: solid;
  border-color: #fff transparent transparent;
  border-width: 32px 36px 0;
}
.club-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 48px;
}
.club-list__item {
  display: grid;
  place-content: center;
  border-radius: 16px;
  border: 1px solid #2e363b;
  background: #EAEAE4;
  aspect-ratio: 220/150;
}
.club-event {
  margin-top: 80px;
}
.club-event__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
  color: #C2285C;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
}
.club-event__title::before, .club-event__title::after {
  flex: 1;
  display: block;
  content: "";
  height: 1px;
  background-color: #C2285C;
}
.club-event__column {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 52px;
}
.club-event__actions {
  max-width: min(92vw, 1080px);
  margin-inline: auto;
  margin-top: 80px;
}
.club-event__actions .c-button {
  flex: 1;
}
.club-tab__button-group {
  margin-top: 80px;
}
.clublist-tab__header {
  gap: 40px;
  max-width: 1080px;
  margin-inline: auto;
  margin-bottom: 60px;
}
.clublist-tab__button {
  padding-block: 40px;
  border-radius: 6px;
  border-color: transparent;
  box-shadow: 6px 6px 0 0 #C2285C;
  color: #C2285C;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.625rem;
  font-weight: 900;
}
.clublist-tab__button.c-tab__button--active {
  background-color: #FDEDE8;
}
.clublist-tab__box {
  padding: 40px;
  border-radius: 24px;
  background-color: #C2285C;
}
.clublist-table__time {
  display: grid;
  gap: 8px;
}
.clublist-table__time :is(dt, dd) {
  display: inline;
}
.clublist-table__time dt::after {
  content: "▶";
  margin-inline: 2px;
  color: #C2285C;
}
.clublist-table--direct th:nth-child(1) {
  width: 15%;
}
.clublist-table--direct th:nth-child(2) {
  width: 25%;
}
.clublist-table--direct th:nth-child(3) {
  width: 23%;
}
.clublist-table--direct th:nth-child(4) {
  width: 10%;
}
.clublist-table--direct th:nth-child(5) {
  width: 10%;
}
.clublist-table--region th:nth-child(1) {
  width: 12%;
}
.clublist-table--region th:nth-child(2) {
  width: 11%;
}
.clublist-table--region th:nth-child(3) {
  width: 20%;
}
.clublist-table--region th:nth-child(4) {
  width: 20%;
}
.clublist-table--region th:nth-child(5) {
  width: 9%;
}
.clublist-table--region th:nth-child(6) {
  width: 9.5%;
}
.club-info {
  display: grid;
  grid-template-columns: auto 53.85%;
  align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}
.club-info__tag {
  margin-bottom: 32px;
  color: #e46c93;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
}
.club-info__condition-list {
  display: grid;
  gap: 6px;
  padding: 20px;
  border-radius: 8px;
  background: #fff;
  font-size: 0.875rem;
}
.club-info__condition-list > li {
  padding-left: 1.8em;
  line-height: 1.5;
  position: relative;
}
.club-info__condition-list > li:before {
  position: absolute;
  display: block;
  content: "";
  top: 0.3em;
  left: 0;
  width: 14px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14.573" height="14.555" viewBox="0 0 14.573 14.555">  <g id="グループ_187" data-name="グループ 187" transform="translate(-8383.161 -505.325)">    <ellipse id="楕円形_37" data-name="楕円形 37" cx="7.287" cy="7.277" rx="7.287" ry="7.277" transform="translate(8383.161 505.325)" fill="%23c2285c"/>    <path id="パス_544" data-name="パス 544" d="M8387.42,512.448l2.053,2.05,4-3.792" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.453"/>  </g></svg>') no-repeat center center/contain;
}
.club-prcard {
  margin-bottom: 24px;
  padding: 20px;
  border-radius: 20px;
  background: #fff;
}
.club-prcard__title {
  margin-bottom: 16px;
  color: #e46c93;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.4;
}
.club-prcard__text {
  padding-left: 1em;
  font-size: 1.0625rem;
}
.club-detailcard {
  padding: 20px;
  border-radius: 20px;
  background: #fff;
}
.club-detailcard__list {
  display: grid;
  grid-template-columns: max-content 1fr;
  max-width: 930px;
  margin-inline: auto;
  font-size: 1.0625rem;
}
.club-detailcard__item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  gap: 0 40px;
  padding-block: 28px;
  border-bottom: 1px solid #595757;
}
.club-detailcard__item:last-child {
  border-bottom: 0;
}
.club-detailcard__item dt {
  font-weight: 500;
}
.club-detailcard__item [class*=icon-]::before {
  margin-right: 8px;
  color: #C2285C;
  transform: scale(1.1) translateY(2px);
}
.club-detailcard__item :is(.icon-fee, .icon-coach, .icon-subject, .icon-bulb)::before {
  transform: scale(1.3) translateY(2px);
}

.partnership {
  padding: 80px 0;
}
.partnership__inner {
  background: url(../img/top/bg-partnership.webp) no-repeat center bottom/contain;
}
.partnership__title {
  margin-bottom: 20px;
  color: #224D80;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.partnership__title-en {
  display: block;
  font-size: 3.75rem;
  font-weight: 900;
}
.partnership__title-jp {
  font-size: 1.5rem;
}
.partnership__lead {
  max-width: 720px;
  margin-inline: auto;
  font-size: 1.125rem;
  text-align: center;
}
.partnership__content {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 120px auto 0;
}
.partnership__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  width: 395px;
  height: 395px;
  padding: 186px 20px 40px;
  border-radius: 50%;
  color: #fff;
  font-size: 0.875rem;
  text-align: center;
}
.partnership__item--yellow {
  background-color: #FEBF22;
}
.partnership__item--blue {
  background-color: #12B4BE;
}
.partnership__item--blue .partnership__item-image {
  margin-top: -10px;
}
.partnership__item-title {
  margin-bottom: 12px;
  font-size: 1.75rem;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 900;
  line-height: 1.3;
}
.partnership__item-text {
  padding-bottom: 28px;
}
.partnership__item-image {
  position: absolute;
  left: 0;
  right: 0;
  top: 10px;
  margin-inline: auto;
  max-width: 340px;
}
.partnership__card-title {
  font-size: 1.5rem;
  margin-bottom: 15px;
  font-weight: bold;
}
.partnership__btn {
  margin-top: 20px;
  background: rgba(0, 0, 0, 0.2);
  padding: 10px 30px;
  border-radius: 30px;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
}
.partnership__btn-icon {
  background: #fff;
  color: #333;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

.banner-list {
  background-color: #DDE4ED;
  padding: 35px 0;
}
.banner-list__inner {
  max-width: min(92vw, 1200px);
  margin-inline: auto;
}
.banner-list__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px 15px;
}

.faq {
  padding-block: 80px 0;
}
.faq__title {
  margin-bottom: 30px;
  color: #224D80;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.faq__title-en {
  display: block;
  font-size: 3.75rem;
  font-weight: 900;
}
.faq__title-jp {
  font-size: 1.5rem;
}
.faq__header {
  display: flex;
  justify-content: center;
  align-items: end;
  text-align: center;
}
.faq__header-visual {
  width: fit-content;
  margin-right: -100px;
}
.faq__item {
  border-bottom: 1px dashed #ddd;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.faq__question {
  background-color: #ebf4ff;
  padding: 15px 25px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  font-weight: bold;
  color: #2c5a93;
  margin-bottom: 15px;
}
.faq__answer {
  padding: 10px 25px;
  display: flex;
  align-items: flex-start;
  color: #333;
}
.faq__icon {
  flex-shrink: 0;
  display: inline-grid;
  place-content: center;
  width: 38px;
  height: 38px;
  margin-right: 12px;
  padding: 0 0 1px 0px;
  border-radius: 50%;
  font-size: 1.125rem;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 600;
}
.faq__icon::before {
  content: none;
}
.faq__icon--q {
  background-color: #224D80;
  color: #fff;
}
.faq__icon--a {
  border: 1px solid #224D80;
  color: #224D80;
  background-color: #fff;
}

.contact {
  padding: 80px 0;
}
.contact__title {
  margin-bottom: 30px;
  color: #224D80;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.contact__title-en {
  display: block;
  font-size: 3.75rem;
  font-weight: 900;
}
.contact__title-jp {
  font-size: 1.5rem;
}
.contact__text {
  font-size: 1.125rem;
  text-align: center;
}
.contact__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-top: 60px;
}
.contact__nav-item {
  display: block;
  min-width: min(100%, 360px);
  text-align: center;
  padding-left: 60px;
}
.contact__nav [class*=icon-]::before {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: 34px;
}

.scroll-hint__icon {
  display: none;
}

@media screen and (max-width: 959.98px) {
  .l-gnav__list {
    gap: 12px 8px;
  }
  .circle-nav__item {
    padding: 0 20px;
  }
  .partnership__content {
    gap: 12px;
  }
  .partnership__item-title {
    font-size: 1.45rem;
  }
  .partnership__item {
    width: 350px;
    height: 350px;
    padding: 176px 20px 40px;
  }
}
/* ▼タブレット用デザインとして付け足すデザイン */
@media print, screen and (min-width: 768px) {
  .u-only-sp {
    display: none;
  }
  .c-telLink {
    pointer-events: none;
  }
  .c-filter__body {
    display: block !important;
  }
}
/* ▼モバイルのみ付け足すデザイン */
@media screen and (max-width: 767.98px) {
  .u-only-pc {
    display: none;
  }
  .c-title--pagetitle {
    font-size: 1.5rem;
  }
  .c-title--skin01 {
    margin-bottom: 12px;
    font-size: 1.25rem;
  }
  .c-title--skin02 {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }
  .c-title--skin03 {
    margin-bottom: 20px;
    font-size: 0.875rem;
  }
  .c-title--skin04 {
    margin-bottom: 8px;
    font-size: 1.375rem;
  }
  .c-title__en {
    font-size: 1.5rem;
  }
  .c-intro {
    padding-left: 0px;
  }
  .c-lead {
    margin-bottom: 20px;
    font-size: 1rem;
  }
  .c-club-card-container {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px 32px;
  }
  .c-table :is(th, td) {
    padding: 4px 10px;
  }
  .c-table th {
    font-size: 0.9375rem;
  }
  .c-table td {
    font-size: 0.875rem;
  }
  .c-tab__header {
    margin-bottom: 20px;
  }
  .c-tab__button {
    padding: 8px;
  }
  .c-filter__title {
    cursor: pointer;
    position: relative;
    padding: 0px 40px 0px 20px;
  }
  .c-filter__title::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #C2285C;
    border-right: 2px solid #C2285C;
    transform: translateY(-70%) rotate(135deg);
    transition: transform 0.3s;
  }
  .c-filter__title.is-open::after {
    transform: translateY(-30%) rotate(-45deg);
  }
  .c-filter__list {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
  }
  .c-filter__group:nth-child(n+2) {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #9D9D9E;
  }
  .c-filter__label {
    font-size: 0.875rem;
  }
  .c-filter__footer {
    margin-top: 12px;
    padding-top: 12px;
  }
  .c-filter__body {
    display: none;
    padding: 15px 0;
  }
  .c-carousel {
    padding-inline: 20px;
  }
  .c-carousel .swiper-button {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }
  .c-carousel .swiper-button::after {
    font-size: 20px;
  }
  .is-navOpen .l-header::after {
    background-color: rgba(255, 255, 255, 0.9);
  }
  .l-header {
    padding-right: 0;
  }
  .l-header__logo {
    position: relative;
    z-index: 10;
  }
  .l-header__logo-link {
    width: 120px;
    padding: 16px 12px 16px 8px;
  }
  .l-gnav {
    position: fixed;
    top: 61px;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    width: 80%;
    transform: translateX(100%);
    display: block;
    z-index: 9;
    background-color: rgba(255, 255, 255, 0.9);
    transition: all 0.3s ease;
  }
  .l-gnav.is-open {
    transform: translateX(0);
  }
  .l-gnav__btn {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    background-color: #fff;
    border: 0;
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(1) {
    top: 28px;
    transform: rotate(45deg);
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(2) {
    width: 0;
  }
  .l-gnav__btn.is-open .l-gnav__bar:nth-child(3) {
    top: 28px;
    transform: rotate(-45deg);
  }
  .l-gnav__bar {
    position: absolute;
    left: 15px;
    display: block;
    width: 30px;
    height: 3px;
    border-radius: 2px;
    background-color: #C2285C;
    transition: all 0.3s ease;
  }
  .l-gnav__bar:nth-child(1) {
    top: 18px;
  }
  .l-gnav__bar:nth-child(2) {
    top: 28px;
  }
  .l-gnav__bar:nth-child(3) {
    top: 38px;
  }
  .l-gnav__list {
    display: block;
    margin-top: 16px;
  }
  .l-gnav__link {
    display: block;
    padding: 12px 20px;
  }
  .l-gnav__actions {
    flex-direction: column;
    gap: 16px;
    padding: 20px 12px;
  }
  .l-main:has(.l-pagetitle) {
    padding-top: 60px;
  }
  .l-pagetitle {
    padding-block: 24px 20px;
  }
  .l-section {
    padding-block: 40px;
  }
  .l-footer {
    margin-top: 50px;
    padding-inline: 20px;
  }
  .l-footer__inner {
    padding: 30px 0 20px;
  }
  .l-footer__logos {
    gap: 20px;
    text-align: center;
  }
  .l-footer__logo-image {
    margin-bottom: 4px;
  }
  .hero {
    align-content: start;
    margin-bottom: 60px;
    padding-block: 120px 240px;
    background: url(../img/top/img-mv.webp) no-repeat center bottom/cover;
  }
  .hero__button-group {
    margin-top: 40px;
    padding-left: 0;
  }
  .hero__content {
    max-height: unset;
  }
  .hero__title {
    max-width: min(92vw, 1080px);
    max-height: unset;
    margin-inline: auto;
    transform: translateX(-5px);
  }
  .circle-nav__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 12px 0;
  }
  .circle-nav__item {
    padding: 0 12px;
  }
  .circle-nav__image {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  .news {
    padding-bottom: 40px;
  }
  .news-ticker {
    left: 4vw;
    right: 4vw;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 20px 32px;
  }
  .news-ticker__content {
    flex-direction: column;
    gap: 0;
  }
  .news-item__meta {
    align-items: start;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 4px;
  }
  .intro {
    padding-block: 40px;
  }
  .intro__column {
    grid-template-columns: minmax(0, 1fr);
  }
  .intro__title {
    margin-bottom: 16px;
  }
  .about {
    padding-bottom: 40px;
  }
  .about__header {
    margin: -20px auto 28px;
    padding: 12px 20px 52px;
  }
  .about__title {
    font-size: 2.5rem;
  }
  .about__subtitle {
    font-size: 1rem;
    line-height: 1.3;
  }
  .about__column {
    gap: 40px;
  }
  .about__item {
    flex-direction: column;
    gap: 32px;
  }
  .about__item-title {
    margin-bottom: 8px;
  }
  .about__item-text {
    font-size: 1rem;
  }
  .about__link {
    min-height: 40px;
  }
  .about__links {
    margin-top: 16px;
    font-size: 0.875rem;
  }
  .about__link::before {
    width: 20px;
    height: 20px;
  }
  .about__card {
    padding: 20px 20px 20px 40px;
    font-size: 0.9375rem;
  }
  .club {
    padding-block: 40px 0;
  }
  .club__column {
    flex-direction: column;
    margin-bottom: 32px;
  }
  .club__title {
    margin-bottom: 12px;
  }
  .club-list {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 16px;
  }
  .club-event {
    margin-top: 40px;
  }
  .club-event__title {
    gap: 8px;
    margin-bottom: 20px;
    text-align: center;
  }
  .club-event__title::before, .club-event__title::after {
    min-width: 20px;
  }
  .club-event__column {
    gap: 20px 32px;
  }
  .club-event__actions {
    position: static;
    transform: none;
    margin-top: 40px;
  }
  .club__visual {
    margin-top: 0;
  }
  .club-selection {
    padding-bottom: 40px;
  }
  .club-tab__button-group {
    margin-top: 40px;
  }
  .clublist-tab__header {
    gap: 16px;
    margin-bottom: 20px;
  }
  .clublist-tab__button {
    padding-block: 8px;
    border-radius: 4px;
    box-shadow: 4px 4px 0 0 #C2285C;
    font-size: 1rem;
  }
  .clublist-tab__box {
    padding: 8px;
    border-radius: 8px;
  }
  .club-info {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 20px;
  }
  .club-info__tag {
    margin-bottom: 12px;
  }
  .club-prcard {
    border-radius: 8px;
  }
  .club-prcard__title {
    margin-bottom: 8px;
  }
  .club-prcard__text {
    padding-left: 0;
    font-size: 1rem;
  }
  .club-detailcard {
    border-radius: 8px;
  }
  .club-detailcard__list {
    font-size: 0.875rem;
  }
  .club-detailcard__item {
    gap: 0 20px;
    padding-block: 12px;
  }
  .partnership {
    padding-block: 40px;
  }
  .partnership__title {
    margin-bottom: 12px;
  }
  .partnership__title-en {
    font-size: 2rem;
  }
  .partnership__title-jp {
    font-size: 1rem;
  }
  .partnership__lead {
    font-size: 1rem;
  }
  .partnership__content {
    flex-direction: column;
    gap: 90px 40px;
    width: fit-content;
    margin-top: 50px;
  }
  .partnership__item {
    width: 100%;
    max-width: 395px;
    height: auto;
    padding: 140px 20px 40px;
    border-radius: 16px;
  }
  .partnership__item-image {
    margin-top: -36px;
    max-width: min(336px, 100%);
  }
  .partnership__item--blue .partnership__item-image {
    margin-top: -48px;
  }
  .banner-list__grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
  }
  .faq {
    padding: 40px 0 0;
  }
  .faq__header-visual {
    width: 60px;
    margin-right: -40px;
  }
  .faq__title {
    margin-bottom: 12px;
  }
  .faq__title-en {
    font-size: 2rem;
  }
  .faq__title-jp {
    font-size: 1rem;
  }
  .contact {
    padding-block: 40px;
  }
  .contact__title {
    margin-bottom: 12px;
  }
  .contact__title-en {
    font-size: 2rem;
  }
  .contact__title-jp {
    font-size: 1rem;
  }
  .contact__text {
    font-size: 1rem;
  }
  .contact__nav {
    margin-top: 20px;
  }
  .scroll-hint {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .scroll-hint .c-table {
    width: 1080px;
  }
  .scroll-hint__container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .scroll-hint__icon {
    position: absolute;
    top: min(20%, 160px);
    right: 20px;
    pointer-events: none;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    padding: 20px 10px;
    border-radius: 8px;
  }
  .scroll-hint__icon.is-hidden {
    opacity: 0;
    display: block;
    pointer-events: none;
  }
  .scroll-hint__arrow {
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    animation: arrow-move 1.5s infinite;
    margin-top: 5px;
  }
  @keyframes arrow-move {
    0% {
      transform: translate(-5px, 0) rotate(45deg);
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      transform: translate(5px, 0) rotate(45deg);
      opacity: 0;
    }
  }
}
/* #Print Fixes */
@media print {
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  @page {
    margin: 1cm 1cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  body {
    width: auto;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}