@charset "UTF-8";
/**
 * フロント / index.php
 * コンパイル先: assets/css/style.css
 *
 * エントリはこのファイルのみ。_settings.scss / pages/*.scss 保存時も
 * npm run watch:css または Live Sass Watch で style.css が更新される。
 */
/**
 * 全年度共通（settings / layout / pages）
 * モジュール・ヘッダー・フッターは年度別
 */
/**
 * 変数・リセット・共通ユーティリティ
 */
/**
 * レスポンシブ mixin（2026 style.scss 用）
 *
 * tb … max-width: 1000px（タブレット以下）
 * sp … max-width: 768px（スマホ）
 * xs … max-width: 425px（小型スマホ）
 *
 * tb-only … 769px〜1000px（タブレットのみ。sp スタイルの影響を受けない）
 */
/* __00: 初期設定 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: フォント指定*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: リセットCSS と body要素の文字（色・書体）と背景色*/
:root {
  --white: #fff;
  --black: #000000;
  --gray: #c5c5c5;
  --light_gray: #e7e7e7;
  --red: #e73828;
  --yellow: #d1950b;
  --yellow_light: #fff9b1;
  --blue: #3271ae;
  --green: #d8e698;
  --dark-green: #b6d040;
  --pink: #f9d2dc;
  --dark-pink: #ec839e;
  --bg_color: rgba(200, 231, 233, 0.5);
  --bg_color02: rgba(255, 249, 177, 0.9);
  --font-family:
  	-apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans",
  	"Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic UI",
  	"Yu Gothic Medium", "Yu Gothic", "Meiryo UI", Meiryo, sans-serif;
}

/* Body要素の背景色 */
/* Body要素の文字色 */
/*index: コンテンツ幅 */
/* リセット用のプレイスフォルダ */
body,
html,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  font-family: inherit;
  font-feature-settings: "palt" on;
  font-weight: inherit;
  font-style: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  vertical-align: baseline;
}

body,
html {
  text-size-adjust: 100%;
}

body {
  line-height: 1;
  background-color: #ffffff;
  color: var(--black);
}

body a {
  color: var(--blue);
  transition: color 0.3s;
}

body a:hover {
  color: var(--red);
}

body a:active {
  color: var(--red);
}

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

body {
  font-family: var(--font-family);
  font-size: 62.5%;
  letter-spacing: 0;
  line-height: 1.8;
}

/* リセット処理関数 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: メディアクエリー*/
/* 切り替えポイントの設定 */
/* 処理 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: スクリーンリーダー*/
/* スクリーンリーダーテキスト の名称設定 */
/* 処理 */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
}

:focus {
  outline: 0;
}

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

ol,
ul {
  list-style: none;
}

table {
  width: 100%;
  margin: 1.5em 0;
  border-collapse: collapse;
  font-size: var(--font-size-x-small);
  line-height: 1.6;
  border-top: 1px solid var(--gray);
  border-bottom: 1px solid var(--gray);
  border-spacing: 0;
}
table th,
table td {
  padding: 0.65em 0.85em;
  border: 1px solid var(--gray);
  border-top: none;
  vertical-align: middle;
}
@media only screen and (max-width: 425px) {
  table th th,
  table th td,
  table td th,
  table td td {
    padding: 0.5em 0.65em;
  }
}
table th {
  font-weight: 600;
  background: var(--bg_color);
}
table td:first-child {
  font-weight: 600;
  background: var(--bg_color);
}
table tr:first-child td:first-child {
  border-top: none;
}
table tr:last-child td:last-child {
  border-bottom: none;
}

table,
tbody,
tr,
td,
th {
  height: auto !important;
}

@media only screen and (max-width: 425px) {
  /* テーブルの構造をすべてブロック要素（縦並び）に強制変換 */
  table,
  tbody,
  tr,
  th,
  td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  th {
    text-align: center !important;
    padding: 12px 10px !important;
  }
  td {
    text-align: center !important;
    padding: 12px 10px !important;
  }
}
caption,
th,
td {
  font-weight: normal;
  text-align: left;
}

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

blockquote,
q {
  quotes: "" "";
}

a img {
  border: 0;
}

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

/* __10: 共通設定 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
:root {
  --width: 2000;
  --font-size-xx-large: clamp(
  	32 * 0.05rem,
  	calc(32 / var(--width)) * 100vw,
  	32 * 0.1rem
  );
  --font-size-x-large: clamp(
  	30 * 0.05rem,
  	calc(30 / var(--width)) * 100vw,
  	30 * 0.1rem
  );
  --font-size-large: clamp(
  	28 * 0.05rem,
  	calc(28 / var(--width)) * 100vw,
  	28 * 0.1rem
  );
  --font-size-medium: clamp(
  	23 * 0.05rem,
  	calc(23 / var(--width)) * 100vw,
  	23 * 0.1rem
  );
  --font-size-small: clamp(
  	21 * 0.05rem,
  	calc(21 / var(--width)) * 100vw,
  	21 * 0.1rem
  );
  --font-size-x-small: clamp(
  	18 * 0.05rem,
  	calc(18 / var(--width)) * 100vw,
  	18 * 0.1rem
  );
  --font-size-xx-small: clamp(
  	14 * 0.05rem,
  	calc(14 / var(--width)) * 100vw,
  	14 * 0.1rem
  );
}

@media only screen and (max-width: 1000px) {
  :root {
    --width: 1000;
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --width: 750;
  }
}
@media only screen and (max-width: 425px) {
  :root {
    --width: 425;
  }
}
html {
  scroll-behavior: smooth;
  overscroll-behavior-y: contain;
  font-size: 62.5%;
  font-size: 0.5102040816vw;
}

html * {
  word-break: break-all;
  line-break: strict;
  box-sizing: border-box;
}

@media screen and (min-width: 1961px) {
  html {
    font-size: 10px;
  }
}
@media only screen and (max-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media only screen and (max-width: 425px) {
  html {
    font-size: 2.3529411765vw;
  }
}
::-webkit-scrollbar {
  display: none;
}

body {
  font-size: 1.6rem;
  background: #c8e7e9;
}

@media only screen and (max-width: 960px) {
  body {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}
body.open {
  overflow: hidden;
  touch-action: pinch-zoom;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  pointer-events: none;
}

figure {
  margin: 0;
}

#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  min-height: 100dvh;
  position: relative;
  z-index: 1;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  background: #fff;
  width: clamp(37.5rem, 750 / var(--width) * 100vw, 75rem);
  margin: auto;
}

@media only screen and (max-width: 768px) {
  #wrapper {
    min-height: 100vh;
    min-height: 100dvh;
  }
}
main {
  width: 100%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .nosp {
    display: none !important;
  }
}
.nopc {
  display: none;
}

@media only screen and (max-width: 768px) {
  .nopc {
    display: block;
  }
}
.xs {
  display: none;
}

@media only screen and (max-width: 425px) {
  .xs {
    display: block;
  }
}
.anchor {
  display: block;
  padding-top: 2rem;
  margin-top: -2rem;
  pointer-events: none;
}

@media only screen and (max-width: 768px) {
  .anchor {
    padding-top: 2rem;
    margin-top: -2rem;
  }
}
.nopost {
  font-weight: bold;
  text-align: center;
  width: 100%;
}

.nopost-wrapper {
  width: 100%;
  padding: 6rem 0;
}

@media only screen and (max-width: 768px) {
  .nopost-wrapper {
    padding: 3rem 0;
  }
}
.container {
  /* 上下の余白（660pxのとき220px / 最小80px 〜 最大230pxに変更） */
  --container-padding-y: clamp(5rem, 33.3333333333%, 14.375rem);
  /* 左右の余白（660pxのとき36px / 最小20px 〜 最大60px） */
  --container-padding-x: clamp(1.25rem, 5.4545454545%, 3.75rem);
  width: 100%;
  padding-top: var(--container-padding-y);
  padding-bottom: var(--container-padding-y);
  padding-left: var(--container-padding-x);
  padding-right: var(--container-padding-x);
}
@media only screen and (max-width: 425px) {
  .container {
    /* 最小 40px 〜 最大 160px */
    --container-padding-y: clamp(2.5rem, 28.2352941176%, 10rem);
    --container-padding-x: clamp(0.875rem, 5.4545454545%, 3.75rem);
  }
}

.image {
  overflow: hidden;
}

a svg {
  fill: #1a1311;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  a:hover svg {
    fill: var(--yellow);
  }
}
/**
 * 共通レイアウト（フッターは年度別ファイル）
 */
.button-wrapper {
  margin: clamp(2.5rem, 50 / var(--width) * 100vw, 5rem) 0;
  display: grid;
  place-content: center;
}

/**
 * 共通LPブロック（about / event ベース / method / sns 等）
 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: mv */
#site-mv-wrapper .container {
  padding-top: 4rem;
  padding-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #site-mv-wrapper .container {
    padding-top: 2rem;
  }
}
#site-mv-wrapper .site-mv {
  position: relative;
}
#site-mv-wrapper .site-mv .logo {
  position: absolute;
  top: clamp(5.25rem, 105 / var(--width) * 100vw, 10.5rem);
  left: clamp(2rem, 40 / var(--width) * 100vw, 4rem);
  width: clamp(4.4rem, 88 / var(--width) * 100vw, 8.8rem);
}
#site-mv-wrapper .site-mv .mv_copy {
  color: #40210f;
  font-size: var(--font-size-x-large);
  font-weight: 900;
  text-align: center;
  padding: var(--font-size-x-large) 0;
}
@media only screen and (max-width: 425px) {
  #site-mv-wrapper .site-mv .mv_copy {
    font-size: 2.1rem;
  }
}

.block {
  position: relative;
}
.block .container {
  position: relative;
}

.block .title {
  margin-bottom: var(--font-size-medium);
  width: 66.4%;
  margin: 0 auto 7rem;
}
@media only screen and (max-width: 425px) {
  .block .title {
    margin: 0 auto 5rem;
  }
}

.block .title img {
  width: 100%;
  display: block;
  margin: auto;
}

.block .title .label {
  display: block;
  background: #fff;
  color: #40210f;
  font-size: var(--font-size-xx-large);
  font-weight: 900;
  text-align: center;
}

@media only screen and (max-width: 425px) {
  .block .title .label {
    font-size: 2.4rem;
  }
}
/* 背景色*/
.bg-wrap {
  background: var(--yellow_light);
}
.bg-wrap.green {
  background: var(--green);
}

/* .deco、.img画像 */
.block .deco i {
  display: inline-block;
  position: absolute;
  width: calc(var(--img_width) / 660 * 100%) !important;
}
.block .img {
  width: calc(var(--img_width) / 660 * 100%) !important;
}

/* もっと見るボタン */
.more-link {
  text-align: end;
  position: relative;
  z-index: 2;
}
.more-link a {
  color: var(--black);
  font-size: var(--font-size-medium);
  font-weight: 600;
  transition: color 0.3s ease;
}
@media only screen and (max-width: 768px) {
  .more-link a {
    font-size: var(--font-size-small);
  }
}
.more-link a:hover {
  color: var(--blue);
}

/* 一覧ボタン */
.list-link {
  display: flex;
  justify-content: center;
  margin-top: clamp(2rem, 40 / var(--width) * 100vw, 4rem);
  position: relative;
  z-index: 2;
}
.list-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(11.5rem, 230 / var(--width) * 100vw, 23rem);
  min-height: clamp(3rem, 60 / var(--width) * 100vw, 6rem);
  border: 1px solid #231815;
  border-radius: 4px;
  background: var(--white);
  color: var(--black);
  font-size: var(--font-size-x-small);
  font-weight: 600;
  letter-spacing: 0.35em;
  text-indent: 0.35em;
  line-height: 1.4;
  text-decoration: none;
  transition: all 0.3s ease;
}
.list-link a:hover {
  background: #c8e7e9;
  color: #231815;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: about */
.block.--about {
  z-index: 2;
}
.block.--about .container {
  /* 最小 100px 〜 660pxのとき300px 〜 最大 310px（+10px） */
  padding-bottom: clamp(6.25rem, 45.4545454545%, 19.375rem);
}
@media only screen and (max-width: 425px) {
  .block.--about .container {
    /* 最小 100px 〜 425pxのとき180px 〜 最大 180px */
    padding-bottom: clamp(6.25rem, 180 / var(--width) * 100vw, 11.25rem);
  }
}

.block.--about .lead {
  text-align: center;
  font-size: var(--font-size-medium);
  font-weight: 600;
  line-height: 2.2608695652;
  width: 100%;
  margin: auto;
}

@media only screen and (max-width: 768px) {
  .block.--about .lead {
    font-size: var(--font-size-small);
    line-height: 1.8;
  }
}
.block.--about .lead b {
  color: var(--blue);
  font-weight: inherit;
}

.block.--about .deco i:nth-child(1) {
  top: 0;
  right: -5%;
}
@media only screen and (max-width: 768px) {
  .block.--about .deco i:nth-child(1) {
    right: 4%;
  }
}
.block.--about .deco i:nth-child(2) {
  bottom: -6.2%;
  left: -7%;
}
@media only screen and (max-width: 768px) {
  .block.--about .deco i:nth-child(2) {
    bottom: -45%;
    left: 0;
  }
}
@media only screen and (max-width: 425px) {
  .block.--about .deco i:nth-child(2) {
    bottom: -6%;
    left: 4%;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: event */
.block.--event .container {
  /* 最小 100px 〜 660pxのとき300px 〜 最大 310px（+10px） */
  padding-top: clamp(6.25rem, 45.4545454545%, 19.375rem);
  /* 最小 100px 〜 660pxのとき300px 〜 最大 310px（+10px） */
  padding-bottom: clamp(6.25rem, 45.4545454545%, 19.375rem);
}
@media only screen and (max-width: 425px) {
  .block.--event .container {
    /* 最小 80px 〜 425pxのとき100px 〜 最大 140px */
    padding-top: clamp(5rem, 100 / var(--width) * 100vw, 8.75rem);
    padding-bottom: clamp(5rem, 100 / var(--width) * 100vw, 8.75rem);
  }
}
.block.--event .deco i:nth-child(1) {
  top: 2%;
  right: 6%;
}
@media only screen and (max-width: 425px) {
  .block.--event .deco i:nth-child(1) {
    top: 1%;
    right: 4%;
  }
}

.block.--event .event_list {
  margin-inline: calc(-1 * var(--container-padding-x));
  width: calc(100% + 2 * var(--container-padding-x));
  margin-bottom: clamp(1.875rem, 10.6060606061%, 5rem);
}

.block.--event .list-link {
  margin-bottom: clamp(3.75rem, 25.7575757576%, 11.25rem);
}

.list__empty {
  text-align: center;
  font-size: var(--font-size-medium);
  margin-bottom: 10rem;
}
@media only screen and (max-width: 768px) {
  .list__empty {
    font-size: var(--font-size-small);
    margin-bottom: 5rem;
  }
}

#information + .block.--information .list__empty {
  width: 90%;
  margin-inline: auto;
}

.block.--event .event_list__slider {
  margin-top: clamp(2rem, 40 / var(--width) * 100vw, 4rem);
  overflow: hidden;
}
.block.--event .event_list__slider .slick-list {
  overflow: visible;
}
.block.--event .event_list__slider .slick-track {
  display: flex !important;
  align-items: stretch;
}
.block.--event .event_list__slider .slick-slide {
  height: auto;
  display: flex !important;
  float: none;
  align-self: stretch;
}
.block.--event .event_list__slider .slick-slide > div {
  flex: 1;
  display: flex;
  width: 100%;
  height: 100%;
}
.block.--event .event_list__slider .slick-slide > div,
.block.--event .event_list__slider .slick-slide > article {
  height: 100%;
}

.block.--event .event_list__slider .slick-prev,
.block.--event .event_list__slider .slick-next,
.block.--information .information_list__slider .slick-prev,
.block.--information .information_list__slider .slick-next {
  z-index: 1;
  filter: drop-shadow(0 0 0.8rem #555);
}
.block.--event .event_list__slider .slick-prev,
.block.--information .information_list__slider .slick-prev {
  left: 10px;
}
.block.--event .event_list__slider .slick-next,
.block.--information .information_list__slider .slick-next {
  right: 10px;
}

.block.--event .event_list .item {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: var(--white);
  border: 1px solid var(--light_gray);
  border-radius: clamp(1.5rem, 30 / var(--width) * 100vw, 2.5rem);
  overflow: hidden;
  height: 100%;
  margin: 0 clamp(0.5rem, 10 / var(--width) * 100vw, 1rem);
}

.block.--event .event_list .item__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
  padding: clamp(1.2rem, 24 / var(--width) * 100vw, 2rem);
}
.block.--event .event_list .item__link:hover .item__more-label {
  opacity: 0.85;
}

.block.--event .event_list .item__thumb {
  aspect-ratio: 2/3;
  overflow: hidden;
  background: var(--light_gray);
  margin-bottom: 15px;
}
.block.--event .event_list .item__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block.--event .event_list .item__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: clamp(0.5rem, 10 / var(--width) * 100vw, 1rem);
}

.block.--event .event_list .item__date {
  margin: 0;
  font-size: var(--font-size-x-small);
  line-height: 1.4;
}

.block.--event .event_list .item__title {
  margin: 0;
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.25;
  min-height: 2.5em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.block.--event .event_list .item__lead {
  margin: 0;
  font-size: var(--font-size-x-small);
  font-weight: 400;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .block.--event .event_list .item__lead {
    font-size: var(--font-size-xx-small);
  }
}

.block.--event .event_list .item__more {
  margin: auto 0 0;
}

.block.--event .event_list .item__more-label {
  display: inline-block;
  background: var(--black);
  color: var(--white);
  font-size: var(--font-size-xx-small);
  font-weight: 700;
  line-height: 1;
  padding: clamp(0.6rem, 12 / var(--width) * 100vw, 0.9rem) clamp(1.2rem, 24 / var(--width) * 100vw, 1.8rem);
}

/* 対象・参加資格 */
.block.--event .target {
  width: 100%;
  max-width: 550px;
  margin: 0 auto;
  position: relative;
  background: var(--white);
  border-radius: 30px;
  padding: clamp(3.2rem, 64 / var(--width) * 100vw, 5.5rem) clamp(1.6rem, 36 / var(--width) * 100vw, 3rem);
  font-size: var(--font-size-medium);
  text-align: center;
  font-weight: 500;
  color: #000;
}
@media only screen and (max-width: 768px) {
  .block.--event .target {
    font-size: var(--font-size-small);
    line-height: 1.6;
    padding: clamp(3.2rem, 64 / var(--width) * 100vw, 5.5rem) clamp(1.25rem, 25 / var(--width) * 100vw, 2.5rem);
  }
}
.block.--event .target .tag {
  border: 1px solid #000;
  display: inline-block;
  padding: 2px 10px;
  margin-bottom: 10px;
}
.block.--event .target .target_copy {
  font-size: var(--font-size-x-large);
  font-weight: 700;
  padding: var(--font-size-x-large) 0;
}
@media only screen and (max-width: 768px) {
  .block.--event .target .target_copy {
    font-size: var(--font-size-large);
  }
}
.block.--event .target .caption {
  font-size: var(--font-size-x-small);
  line-height: 1.5;
}
.block.--event .target .deco i:nth-child(1) {
  top: -30%;
  right: auto;
  left: -3%;
}
@media only screen and (max-width: 425px) {
  .block.--event .target .deco i:nth-child(1) {
    top: -12%;
  }
}
.block.--event .target .deco i:nth-child(2) {
  bottom: -35%;
  left: auto;
  right: -18%;
}
@media only screen and (max-width: 768px) {
  .block.--event .target .deco i:nth-child(2) {
    bottom: auto;
    right: -5%;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: movie */
.block.--movie {
  /* 最小 190px 〜 660pxのとき580px 〜 最大 590px（+10px） */
  padding-bottom: clamp(11.875rem, 87.8787878788%, 36.875rem);
}
@media only screen and (max-width: 768px) {
  .block.--movie {
    padding-bottom: clamp(7.5rem, 87.8787878788%, 36.875rem);
  }
}
@media only screen and (max-width: 425px) {
  .block.--movie {
    /* 最小 150px 〜 425pxのとき200px 〜 最大 300px */
    padding-bottom: clamp(9.375rem, 200 / var(--width) * 100vw, 18.75rem);
  }
}
.block.--movie .container {
  /* 最小 100px 〜 660pxのとき300px 〜 最大 310px（+10px） */
  padding-top: clamp(6.25rem, 45.4545454545%, 19.375rem);
  /* 最小 100px 〜 660pxのとき300px 〜 最大 310px（+10px） */
  padding-bottom: clamp(6.25rem, 45.4545454545%, 19.375rem);
}
@media only screen and (max-width: 768px) {
  .block.--movie .container {
    padding-bottom: clamp(3.75rem, 45.4545454545%, 19.375rem);
  }
}
@media only screen and (max-width: 425px) {
  .block.--movie .container {
    /* 最小 80px 〜 425pxのとき100px 〜 最大 140px */
    padding-top: clamp(5rem, 100 / var(--width) * 100vw, 8.75rem);
    padding-bottom: clamp(5rem, 100 / var(--width) * 100vw, 8.75rem);
  }
}
.block.--movie .deco i:nth-child(1) {
  top: -4%;
  left: 4%;
}
@media only screen and (max-width: 425px) {
  .block.--movie .deco i:nth-child(1) {
    top: -8%;
  }
}
.block.--movie .deco i:nth-child(2) {
  top: auto;
  bottom: 0;
  left: 4%;
}
.block.--movie .movie-item {
  /* 最小 32px 〜 660pxのとき60px 〜 最大 70px（+10px） */
  margin-bottom: clamp(2rem, 9.0909090909%, 4.375rem);
}
.block.--movie .img {
  position: absolute;
  z-index: 1;
  right: -1%;
  bottom: -1.6%;
  width: 50%;
  max-width: 406px;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: information */
.block.--information {
  position: relative;
  padding-bottom: clamp(12rem, 240 / var(--width) * 100vw, 24rem);
}
@media only screen and (max-width: 425px) {
  .block.--information {
    /* 最小 120px 〜 425pxのとき160px 〜 最大 220px */
    padding-bottom: clamp(7.5rem, 160 / var(--width) * 100vw, 13.75rem);
  }
}
.block.--information .container {
  position: relative;
  z-index: 2;
}
.block.--information .information_list {
  margin-inline: calc(-1 * var(--container-padding-x));
  width: calc(100% + 2 * var(--container-padding-x));
  margin-top: clamp(2rem, 40 / var(--width) * 100vw, 4rem);
}
.block.--information .information_list__slider {
  overflow: hidden;
}
.block.--information .information_list__slider .slick-list {
  overflow: visible;
}
.block.--information .information_list__slider .slick-track {
  display: flex;
  align-items: stretch;
}
.block.--information .information_list__slider .slick-slide {
  height: auto;
  margin: 0 10px;
}
.block.--information .information_list__slider .slick-slide > div {
  display: flex;
  width: 100%;
}
.block.--information .information_list__slider .slick-slide > div,
.block.--information .information_list__slider .slick-slide > article {
  height: 100%;
}
.block.--information .information_list .item {
  width: 100%;
  background: var(--white);
  overflow: hidden;
  height: 100%;
  margin: 0 clamp(0.5rem, 10 / var(--width) * 100vw, 1rem);
}
.block.--information .information_list .item__link {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 16 / var(--width) * 100vw, 1.6rem);
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.block.--information .information_list .item__link:hover .item__title {
  text-decoration: underline;
}
.block.--information .information_list .item__thumb {
  aspect-ratio: 1/1;
  overflow: hidden;
  border: 1px solid #231815;
  display: flex;
  justify-content: center;
  align-items: center;
}
.block.--information .information_list .item__thumb img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.block.--information .information_list .item__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: clamp(0.4rem, 8 / var(--width) * 100vw, 0.8rem);
}
.block.--information .information_list .item__date {
  margin: 0;
  font-size: var(--font-size-x-small);
  line-height: 1.4;
}
.block.--information .information_list .item__title {
  margin: 0;
  font-size: var(--font-size-small);
  font-weight: 900;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.block.--information .information_list .item__lead {
  margin: 0;
  font-size: var(--font-size-x-small);
  font-weight: 400;
  line-height: 1.5;
}
.block.--information .img {
  width: 90%;
  z-index: 1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: instagram */
.block.--instagram .container {
  /* 最小 240px 〜 660pxのとき740px 〜 最大 750px（+10px） */
  padding-bottom: clamp(15rem, 112.1212121212%, 46.875rem);
}
@media only screen and (max-width: 425px) {
  .block.--instagram .container {
    /* 最小 200px 〜 425pxのとき300px 〜 最大 400px */
    padding-bottom: clamp(12.5rem, 300 / var(--width) * 100vw, 25rem);
  }
}
.block.--instagram .img {
  z-index: 1;
  position: absolute;
  bottom: -2%;
  left: -7%;
}
@media only screen and (max-width: 768px) {
  .block.--instagram .img {
    left: -3%;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: method */
.block.--method {
  margin: clamp(1.75rem, 35 / var(--width) * 100vw, 3.5rem) 0 clamp(3.5rem, 70 / var(--width) * 100vw, 7rem);
}

.block.--method .bg {
  background: var(--white);
  border-radius: var(--font-size-x-large);
  padding: var(--font-size-x-large) clamp(2.5rem, 50 / var(--width) * 100vw, 5rem);
}

@media only screen and (max-width: 425px) {
  .block.--method .bg {
    padding: 3rem;
  }
}
.block.--method .title {
  font-size: var(--font-size-xx-large);
  font-weight: 500;
  text-align: center;
  margin-bottom: 0.5em;
}

@media only screen and (max-width: 425px) {
  .block.--method .title {
    font-size: 2.4rem;
  }
}
.block.--method .list dt {
  font-weight: bold;
}

.block.--method .list dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.1em;
  padding-left: 1em;
}

.block.--method .list dd .label {
  color: var(--green);
}

.block.--method .list dd .note {
  padding-left: 1em;
  text-indent: -1em;
  display: inline-block;
}

.block.--method .button {
  background: var(--pink);
  border-width: 2px;
  font-size: var(--font-size-large);
  font-weight: bold;
  padding: 0.2em;
  width: 100%;
  display: block;
}

.block.--method .button-wrapper {
  display: block;
  margin: var(--font-size-x-large) 0;
}

.block.--method .contact {
  font-weight: bold;
  line-height: 1.7;
  text-align: center;
}

.block.--method .contact b {
  color: var(--pink);
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: sns */
.block.--sns {
  background: var(--white);
  padding: clamp(2.5rem, 50 / var(--width) * 100vw, 5rem) 0;
}

.block.--sns .title {
  display: grid;
  place-content: center;
  place-items: center;
  font-size: var(--font-size-small);
  font-weight: bold;
  margin-bottom: clamp(2rem, 40 / var(--width) * 100vw, 4rem);
  position: relative;
}

.block.--sns .title span::after {
  content: "";
  display: block;
  background: #40210f;
  width: 100%;
  height: 1px;
}

.block.--sns .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--font-size-x-large);
}

.block.--sns .button {
  background: var(--pink);
  border-width: 2px;
  color: var(--black);
  font-size: var(--font-size-small);
  font-weight: bold;
  line-height: 1;
  padding: 1em 0.5em;
  width: clamp(14rem, 280 / var(--width) * 100vw, 28rem);
}

@media (hover: hover) and (pointer: fine) {
  .block.--sns .button:hover {
    color: var(--white);
  }
}
.block.--sns .atelu_widget__grid_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--font-size-x-large);
}

.block.--sns .atelu_widget__grid_list .atelu_widget__grid_item {
  width: 100%;
  padding: 0;
}

.block.--sns .atelu_widget__grid_list .atelu_widget__grid_item .atelu_widget__grid_item_image {
  width: 100%;
  aspect-ratio: 1/1;
  height: auto;
}

.block.--sns .atelu_widget__grid_list .atelu_widget__grid_item .atelu_widget__grid_item_image img {
  width: 100%;
  height: auto;
}

/**
 * EVENT / INFORMATION 一覧ページ
 */
.block.--event.--event-archive .event_list,
.block.--information.--information-archive .information_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 40 / var(--width) * 100vw, 4rem);
  margin-inline: 0;
  width: 100%;
  margin-bottom: clamp(3rem, 60 / var(--width) * 100vw, 6rem);
}
@media only screen and (max-width: 768px) {
  .block.--event.--event-archive .event_list,
  .block.--information.--information-archive .information_list {
    grid-template-columns: 1fr;
  }
}
.block.--event.--event-archive .event_list .item,
.block.--information.--information-archive .information_list .item {
  margin: 0;
}
.block.--event.--event-archive .event_list .list__empty,
.block.--information.--information-archive .information_list .list__empty {
  grid-column: 1/-1;
  width: 100%;
}

.block.--event.--event-archive .archive-title,
.block.--information.--information-archive .archive-title {
  margin: 0 0 clamp(3rem, 60 / var(--width) * 100vw, 6rem);
  padding: 0;
  border: 0;
  text-align: center;
}
.block.--event.--event-archive .archive-title::before,
.block.--information.--information-archive .archive-title::before {
  content: none;
}
.block.--event.--event-archive .archive-title img,
.block.--information.--information-archive .archive-title img {
  display: block;
  width: min(100%, 54.4rem);
  height: auto;
  margin-inline: auto;
}

.block.--event.--event-archive .navigation,
.block.--information.--information-archive .navigation {
  margin-top: clamp(2rem, 40 / var(--width) * 100vw, 4rem);
  text-align: center;
}
.block.--event.--event-archive .navigation .nav-links,
.block.--information.--information-archive .navigation .nav-links {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
}
.block.--event.--event-archive .navigation .page-numbers,
.block.--information.--information-archive .navigation .page-numbers {
  color: var(--black);
  font-size: var(--font-size-small);
}
.block.--event.--event-archive .navigation .page-numbers.current,
.block.--information.--information-archive .navigation .page-numbers.current {
  color: var(--blue);
  font-weight: 700;
}

.block.--event.--event-archive .event_list .item__thumb,
.block.--information.--information-archive .information_list .item__thumb {
  aspect-ratio: 1/1;
}

/**
 * 固定ページ
 */
.page-content {
  position: relative;
  z-index: 2;
  background: var(--white);
}

.page-content__title {
  margin: 0 0 clamp(2rem, 40 / var(--width) * 100vw, 4rem);
  padding: 0;
  border: 0;
  font-family: inherit;
  font-size: var(--font-size-xx-large);
  text-align: center;
  font-weight: 700;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .page-content__title {
    font-size: var(--font-size-x-large);
    line-height: 1.6;
  }
}
@media only screen and (max-width: 425px) {
  .page-content__title {
    font-size: var(--font-size-large);
  }
}
.page-content__title::before {
  content: none;
}

.page-content__body > *:first-child {
  margin-top: 0;
}
.page-content__body p {
  font-size: var(--font-size-medium);
  line-height: 1.8;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 768px) {
  .page-content__body p {
    font-size: var(--font-size-small);
    line-height: 1.6;
  }
}
@media only screen and (max-width: 425px) {
  .page-content__body p {
    font-size: var(--font-size-x-small);
  }
}
.page-content__body strong {
  font-weight: 700;
  line-height: 1.6;
}
.page-content__body h1 {
  font-size: var(--font-size-xx-large);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .page-content__body h1 {
    font-size: var(--font-size-x-large);
    line-height: 1.6;
  }
}
.page-content__body h2 {
  font-size: var(--font-size-x-large);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .page-content__body h2 {
    font-size: var(--font-size-large);
    line-height: 1.6;
  }
}
.page-content__body h3 {
  font-size: var(--font-size-large);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .page-content__body h3 {
    font-size: var(--font-size-medium);
    line-height: 1.6;
  }
}
.page-content__body h4 {
  font-size: var(--font-size-medium);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .page-content__body h4 {
    font-size: var(--font-size-small);
    line-height: 1.6;
  }
}
.page-content__body h5 {
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 768px) {
  .page-content__body h5 {
    font-size: var(--font-size-x-small);
    line-height: 1.4;
  }
}
.page-content__body h6 {
  font-size: var(--font-size-x-small);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 768px) {
  .page-content__body h6 {
    font-size: 14px;
    line-height: 1.4;
  }
}
.page-content__body ul {
  list-style-type: disc;
  margin-bottom: 1em;
  padding: 0.6em 0.6em 0.3em 0.6em;
}
.page-content__body ul li {
  list-style-position: inside;
  text-indent: -1.4em;
  padding-left: 1.4em;
}
@media only screen and (max-width: 425px) {
  .page-content__body ul li {
    text-indent: -1.2em;
    padding-left: 1.2em;
  }
}
.page-content__body ol {
  list-style-type: decimal;
  margin-bottom: 1em;
}
.page-content__body ol li {
  list-style-position: inside;
}

/**
 * イベント・インフォ詳細 共通（single-meetup_event / single-meetup_information）
 * style.css にコンパイル（_base.scss 経由）
 */
.single-meetup_event,
.single-meetup_information {
  /* header: タイトル画像（背景ぼかし + 手前クリア） */
}
.single-meetup_event .site-header__logo--ttl,
.single-meetup_information .site-header__logo--ttl {
  overflow: hidden;
  place-items: stretch;
}
.single-meetup_event .site-header__logo-visual,
.single-meetup_information .site-header__logo-visual {
  position: relative;
  width: 100%;
  height: 100%;
}
.single-meetup_event .site-header__logo-visual__bg,
.single-meetup_event .site-header__logo-visual__fg,
.single-meetup_information .site-header__logo-visual__bg,
.single-meetup_information .site-header__logo-visual__fg {
  position: absolute;
  inset: 0;
}
.single-meetup_event .site-header__logo-visual__bg img,
.single-meetup_information .site-header__logo-visual__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(12px);
  transform: scale(1.08);
}
.single-meetup_event .site-header__logo-visual__fg,
.single-meetup_information .site-header__logo-visual__fg {
  display: grid;
  place-items: center;
}
.single-meetup_event .site-header__logo-visual__fg img,
.single-meetup_information .site-header__logo-visual__fg img {
  display: block;
  width: 90%;
  max-width: 600px;
  height: auto;
}
.single-meetup_event .block.--detail,
.single-meetup_information .block.--detail {
  padding-bottom: 0;
}
.single-meetup_event .block.--detail .container,
.single-meetup_information .block.--detail .container {
  padding-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .single-meetup_event .block.--detail .container,
  .single-meetup_information .block.--detail .container {
    padding-top: 6rem;
  }
}

/* ヘッダーにタイトル画像があるとき、PCでは本文内 .ttl-img を非表示 */
@media only screen and (min-width: 769px) {
  .single-meetup_event:has(.site-header__logo--ttl) .block.--detail .ttl-img,
  .single-meetup_information:has(.site-header__logo--ttl) .block.--detail .ttl-img {
    display: none;
  }
}
.block.--detail .item .data-h3 h3 {
  text-align: center;
  font-size: var(--font-size-medium);
  margin-bottom: 4rem;
}
@media only screen and (max-width: 425px) {
  .block.--detail .item .data-h3 h3 {
    font-size: 15px;
    margin-bottom: 2rem;
  }
}
.block.--detail .item h2.ttl {
  font-size: var(--font-size-xx-large);
  font-weight: 700;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 425px) {
  .block.--detail .item h2.ttl {
    font-size: var(--font-size-large);
    margin-bottom: 2rem;
  }
}
.block.--detail .item .ttl-img {
  margin: 2rem auto;
  text-align: center;
}
.block.--detail .item .ttl-img img {
  display: block;
  width: min(100%, 290px);
  height: auto;
  margin-inline: auto;
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .ttl-img img {
    width: 100%;
  }
}
.block.--detail .item .lead {
  font-size: var(--font-size-medium);
  line-height: 1.8;
  /* 最小 60px 〜 660pxのとき180px 〜 最大 190px（+10px） */
  margin-bottom: clamp(3.75rem, 27.2727272727%, 11.875rem);
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .lead {
    font-size: var(--font-size-small);
    line-height: 1.6;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 425px) {
  .block.--detail .item .lead {
    font-size: var(--font-size-x-small);
  }
}
.block.--detail .item .lead p {
  margin-bottom: 0.5em;
}
.block.--detail .item .lead .lead__more-block {
  margin-top: 1.5em;
}
.block.--detail .item .lead .lead__more-summary {
  display: inline-block;
  cursor: pointer;
  color: var(--blue);
  font-weight: 700;
  line-height: 1.6;
}
.block.--detail .item .lead .lead__more-content {
  margin-top: 1em;
}
.block.--detail .item .lead strong {
  font-weight: 700;
  line-height: 1.6;
}
.block.--detail .item .lead h1 {
  font-size: var(--font-size-xx-large);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .lead h1 {
    font-size: var(--font-size-x-large);
    line-height: 1.6;
  }
}
.block.--detail .item .lead h2 {
  font-size: var(--font-size-x-large);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .lead h2 {
    font-size: var(--font-size-large);
    line-height: 1.6;
  }
}
.block.--detail .item .lead h3 {
  font-size: var(--font-size-large);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .lead h3 {
    font-size: var(--font-size-medium);
    line-height: 1.6;
  }
}
.block.--detail .item .lead h4 {
  font-size: var(--font-size-medium);
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .lead h4 {
    font-size: var(--font-size-small);
    line-height: 1.6;
  }
}
.block.--detail .item .lead h5 {
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .lead h5 {
    font-size: var(--font-size-x-small);
    line-height: 1.4;
  }
}
.block.--detail .item .lead h6 {
  font-size: var(--font-size-x-small);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.6em;
}
@media only screen and (max-width: 768px) {
  .block.--detail .item .lead h6 {
    font-size: 14px;
    line-height: 1.4;
  }
}
.block.--detail .item ul {
  list-style-type: disc;
  margin-bottom: 1em;
}
.block.--detail .item ul li {
  list-style-position: inside;
  text-indent: -1.4em;
  padding-left: 1.4em;
}
@media only screen and (max-width: 425px) {
  .block.--detail .item ul li {
    text-indent: -1.2em;
    padding-left: 1.2em;
  }
}
.block.--detail .item ol {
  list-style-type: decimal;
  margin-bottom: 1em;
}
.block.--detail .item ol li {
  list-style-position: inside;
}
.block.--detail .item .data {
  /* 最小 60px 〜 660pxのとき180px 〜 最大 190px（+10px） */
  margin-bottom: clamp(3.75rem, 27.2727272727%, 11.875rem);
}
.block.--detail .item .data dl {
  font-size: var(--font-size-x-small);
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: 0.5em 1em;
  align-items: start;
  padding: 0.75em 0;
  border-bottom: 1px solid #40210f;
}
.block.--detail .item .data dl:first-child {
  grid-template-columns: 1fr;
  margin-bottom: 3rem;
}
.block.--detail .item .data dl dt {
  font-weight: 600;
  line-height: 1.4;
}
.block.--detail .item .data dl dd {
  font-weight: 400;
  font-size: var(--font-size-x-small, 0.875rem);
  line-height: 1.6;
  margin: 0;
}
.block.--detail .item .data dl dd a {
  text-decoration: underline;
  transition: opacity 0.3s;
}
.block.--detail .item .data dl dd a:hover {
  opacity: 0.75;
}
.block.--detail .item .map__embed {
  position: relative;
  width: 100%;
  aspect-ratio: 55/98;
  overflow: hidden;
  background: #f0f0f0;
}
.block.--detail .item .map__embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/**
 * イベント詳細（single-meetup_event）専用
 * 共通スタイルは pages/detail-single を参照。
 */
/**
 * インフォメーション詳細（single-meetup_information）専用
 * 共通スタイルは pages/detail-single を参照。
 */
/**
 * アニメーション
 */
/* __00: 初期設定 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.hintBrowser {
  will-change: transform, opacity;
}

.fadein {
  will-change: opacity;
}

.fadein__train {
  will-change: opacity;
}

.parallaxImg {
  will-change: transform;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

.slide__left, .slide__up__train {
  will-change: transform;
}

.cover__create {
  position: relative;
}

.cover__create > span.cover {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  will-change: transform;
}

/* __10: ホバー */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.hover.--underline {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(var(--yellow))) 0 100%/0 2px no-repeat;
  background: -webkit-linear-gradient(transparent, var(--yellow)) 0 100%/0 2px no-repeat;
  background: linear-gradient(transparent, var(--yellow)) 0 100%/0 2px no-repeat;
  -webkit-transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
  transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
}

.hover.--underline::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  z-index: 1;
  background-color: var(--yellow);
  will-change: transform;
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

@media (hover: hover) and (pointer: fine) {
  .hover.--underline:hover {
    background-size: 100% 2px;
    color: var(--yellow);
  }
}
.hover.--underline-label .label {
  display: inline;
  position: relative;
  -webkit-transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
  transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
}

.hover.--underline-label .label::before {
  position: absolute;
  content: "";
  display: block;
  width: 0%;
  height: 40%;
  left: 0;
  bottom: 0;
  z-index: -1;
  background-color: var(--white);
  -webkit-transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
  transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
}

@media (hover: hover) and (pointer: fine) {
  .hover.--underline-label:hover .label::before {
    width: 100%;
  }
}
@media only screen and (hover: hover) and (pointer: fine) and (max-width: 960px) {
  .hover.--underline-label:hover .label::before {
    display: none;
  }
}
.hover.--underline-bg {
  display: inline;
  -webkit-transition: background-size 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
  transition: background-size 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
  background-repeat: no-repeat;
  background-position: right bottom 2px;
  background-size: 0% 1px;
}

.hover.--underline-bg:hover {
  background-position: left bottom 2px;
  background-size: 100% 1px;
}

/* __20: スプラッシュ */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#splash {
  position: fixed;
  z-index: 99999;
  left: 0;
  top: 0;
  background: var(--bg_color);
  width: 100%;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  min-height: 100svh;
  min-height: 100dvh;
  pointer-events: none;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

#splash img {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 183px;
  height: 113px;
}

#splash.active {
  -webkit-transition: -webkit-clip-path 3s cubic-bezier(0.23, 1, 0.32, 1) 2s;
  transition: -webkit-clip-path 3s cubic-bezier(0.23, 1, 0.32, 1) 2s;
  transition: clip-path 3s cubic-bezier(0.23, 1, 0.32, 1) 2s;
  transition: clip-path 3s cubic-bezier(0.23, 1, 0.32, 1) 2s, -webkit-clip-path 3s cubic-bezier(0.23, 1, 0.32, 1) 2s;
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}

#splash.visited {
  -webkit-transition: -webkit-clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: clip-path 1s cubic-bezier(0.23, 1, 0.32, 1), -webkit-clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}

#lower #splash.visited {
  -webkit-transition: -webkit-clip-path 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-clip-path 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  transition: clip-path 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  transition: clip-path 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-clip-path 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

#lower #splash {
  display: none;
}

#lower #splash img {
  display: none;
}

/* __30: マスク */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#mask {
  position: fixed;
  z-index: 99999;
  left: 0;
  top: 0;
  background: var(--white);
  width: 100%;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  min-height: 100lvh;
  min-height: 100dvh;
  pointer-events: none;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-transition: -webkit-clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: clip-path 1s cubic-bezier(0.23, 1, 0.32, 1), -webkit-clip-path 1s cubic-bezier(0.23, 1, 0.32, 1);
}

#lower #mask {
  display: none;
}

#mask.active {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

/**
 * ページトップボタン
 */
#totop {
  all: unset;
  display: none;
  display: block;
  position: fixed;
  position: absolute;
  right: 10px;
  bottom: 40px;
  width: 4.9vw;
  aspect-ratio: 1/1;
  cursor: pointer;
  z-index: 99;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media only screen and (max-width: 768px) {
  #totop {
    width: 13.0666666667vw;
    bottom: 3rem;
  }
}
@-webkit-keyframes sway {
  0%, 100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
}
@keyframes sway {
  0%, 100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
}
@-webkit-keyframes swayReverse {
  0%, 100% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  50% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}
@keyframes swayReverse {
  0%, 100% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  50% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}
/**
 * LP共通ボタン
 */
.block.--method .button,
.button {
  width: clamp(27.5rem, 550 / var(--width) * 100vw, 55rem);
  border: 1px solid #40210f;
  background: var(--green);
  color: var(--white);
  font-size: var(--font-size-x-small);
  text-align: center;
  padding: 0.5em;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  .block.--method .button:hover,
  .button:hover {
    color: var(--black);
  }
}
.block.--method .button .small,
.button .small {
  font-size: var(--font-size-xx-small);
}

/**
 * トップページ向けページシェル（黄背景・サイド背景）
 */
.body__bg {
  position: fixed;
  inset: 0;
  margin: auto;
  background-image: url(../images/2026/bg.svg);
  background-position: top center;
  background-size: 100%;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 768px) {
  .body__bg {
    display: none;
  }
}
.body__bg img {
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 768px) {
  #wrapper {
    width: 100%;
    -webkit-box-shadow: unset;
    box-shadow: unset;
  }
}
/**
 *ヘッダー・ドロワーナビ
 */
#header {
  z-index: 100;
  position: fixed;
}
@media only screen and (max-width: 768px) {
  #header {
    position: static;
  }
}

#site-logo {
  --site-logo-pref-width: clamp(10rem, 300 / var(--width) * 100vw, 30rem);
  --site-logo-home-width: calc(var(--site-logo-pref-width) * 0.396);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  padding: clamp(1rem, 20 / var(--width) * 100vw, 2rem);
  display: flex;
  align-items: flex-start;
  gap: clamp(0.75rem, 16 / var(--width) * 100vw, 2.5rem);
}
@media only screen and (max-width: 768px) {
  #site-logo {
    --site-logo-pref-width: clamp(13.2rem, 264 / var(--width) * 100vw, 24rem);
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: clamp(1.8rem, 36 / var(--width) * 100vw, 3.6rem);
    padding: clamp(1.5rem, 30 / var(--width) * 100vw, 3rem) clamp(1.8rem, 36 / var(--width) * 100vw, 3.6rem);
    background-color: #c8e7e9;
    overflow: hidden;
  }
}
@media only screen and (max-width: 425px) {
  #site-logo {
    /* xs（425px）：ロゴを大きめに（pref / home は変数連動） */
    --site-logo-pref-width: clamp(16.5rem, 318 / var(--width) * 100vw, 21rem);
    /* 県ロゴに対してhomeロゴだけ一段大きく（既定 0.396） */
    --site-logo-home-width: calc(var(--site-logo-pref-width) * 0.44);
    gap: clamp(1.2rem, 24 / var(--width) * 100vw, 2.4rem);
    padding: clamp(1.25rem, 25 / var(--width) * 100vw, 2.5rem) clamp(1.4rem, 28 / var(--width) * 100vw, 2.8rem);
  }
}
#site-logo a {
  display: block;
  line-height: 0;
  pointer-events: auto;
}
#site-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  pointer-events: auto;
}

.site-logo__pref {
  width: var(--site-logo-pref-width);
}

.site-logo__home {
  width: var(--site-logo-home-width);
}

.site-header {
  width: 100%;
  height: 100%;
  padding: clamp(2rem, 8vh, 8rem) 0 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow-y: auto;
}

.site-header::-webkit-scrollbar {
  display: none;
}

@media only screen and (max-width: 768px) {
  .site-header {
    background-color: var(--white);
    display: block;
    padding: 0;
  }
}
/* __10: ロゴ */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.site-header__logo {
  position: fixed;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: calc((100% - 37.5vw) / 2);
  height: 100vh;
  height: 100dvh;
}

@media screen and (min-width: 2001px) {
  .site-header__logo {
    width: calc((100vw - 750px) / 2);
  }
}
@media screen and (max-width: 1000px) {
  .site-header__logo {
    width: calc((100vw - 370px) / 2);
  }
}
@media only screen and (max-width: 768px) {
  .site-header__logo {
    display: none;
  }
}
.site-header__logo .sitelogo {
  width: 90%;
  max-width: 600px;
}

@media only screen and (max-width: 768px) {
  #site-h__logo {
    display: none;
  }
}
/* __30: 外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ドロワーナビゲーション */
.site-header__drawer-nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  min-height: calc(var(--vh, 1vh) * 100);
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
  z-index: 999;
  background: var(--bg_color02);
  pointer-events: none;
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
  -webkit-transition: -webkit-clip-path 0.3s cubic-bezier(0.4, 0, 1, 1) 0.3s;
  transition: -webkit-clip-path 0.3s cubic-bezier(0.4, 0, 1, 1) 0.3s;
  transition: clip-path 0.3s cubic-bezier(0.4, 0, 1, 1) 0.3s;
  transition: clip-path 0.3s cubic-bezier(0.4, 0, 1, 1) 0.3s, -webkit-clip-path 0.3s cubic-bezier(0.4, 0, 1, 1) 0.3s;
}

.site-header__drawer-nav .drawer-nav__inner {
  margin: 0 auto;
  position: relative;
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1) 0.3s;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1) 0.3s;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  padding: 0 5.3333333333vw;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.site-header__drawer-nav .drawer-nav__inner::-webkit-scrollbar {
  display: none;
}

@media only screen and (max-width: 768px) {
  .site-header__drawer-nav .drawer-nav__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem 5.3333333333vw clamp(7rem, 18vw, 9rem);
  }
  .site-header__drawer-nav .site-header__logo {
    position: absolute;
    top: clamp(4rem, 12vw, 7rem);
    left: 50%;
    transform: translateX(-50%);
  }
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: グローバルナビ */
.site-header__grobal-nav {
  position: fixed;
  right: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: calc((100% - 37.5vw) / 2);
  height: 100vh;
  height: 100dvh;
}

@media screen and (min-width: 2001px) {
  .site-header__grobal-nav {
    width: calc((100vw - 750px) / 2);
  }
}
@media screen and (max-width: 1000px) {
  .site-header__grobal-nav {
    width: calc((100vw - 375px) / 2);
  }
}
@media only screen and (max-width: 768px) {
  .site-header__grobal-nav {
    display: none;
  }
}
.grobal-nav {
  width: 90%;
  margin: 0 auto 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2%;
}
@media only screen and (max-width: 768px) {
  .grobal-nav {
    width: auto;
    max-width: 90%;
    margin: 0;
    padding-top: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(1.5rem, 4vw, 2.5rem);
  }
}

.grobal-nav > li {
  width: 48%;
  padding: 2rem 0;
}
@media only screen and (max-width: 768px) {
  .grobal-nav > li {
    width: auto;
    padding: 1rem 0;
    text-align: center;
  }
}

.grobal-nav a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--blue);
  font-size: clamp(12px, 1.1vw, 17px);
  font-weight: 500;
  line-height: 1;
  transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
}
@media only screen and (max-width: 768px) {
  .grobal-nav a {
    font-weight: 600;
    font-size: var(--font-size-small);
    font-size: clamp(1.65rem, 4.4vw, 3.3rem);
  }
}
@media only screen and (max-width: 425px) {
  .grobal-nav a {
    font-size: var(--font-size-small);
  }
}

@media only screen and (max-width: 768px) {
  .grobal-nav a:link, .grobal-nav a:visited, .grobal-nav a:active {
    color: var(--blue);
  }
  .grobal-nav a .label {
    display: inline;
    position: relative;
    transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
  }
  .grobal-nav a .label::before {
    position: absolute;
    content: "";
    display: block;
    width: 0%;
    height: 40%;
    left: 0;
    bottom: 0;
    z-index: -1;
    background-color: var(--white);
    transition: 0.3s cubic-bezier(0.4, 0, 1, 1) 0s;
  }
}
@media only screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
  .grobal-nav a:hover {
    color: var(--pink);
  }
  .grobal-nav a:hover .label::before,
  .hover.--underline-label:hover .label::before {
    display: block;
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .grobal-nav a:hover {
    color: #e74128;
  }
}
.grobal-nav a .nav-icon {
  background-color: #fff;
  border-radius: 50%;
  margin-bottom: 20px;
}

.nav-signboard {
  width: 82%;
  text-align: center;
  margin: 0 auto 100px;
}

/* 看板SVGの矢印上にラベル（リンク）を重ねる — viewBox 314×270 基準 */
.nav-signboard__figure {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 314px;
  margin: 0 auto;
  line-height: 0;
  container-type: inline-size;
  container-name: signboard;
}

.nav-signboard__bg {
  display: block;
  width: 100%;
  height: auto;
}

.nav-signboard__hit {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  text-decoration: none;
  transform-origin: center center;
}
.nav-signboard__hit--entry {
  /* ピンク矢印ポリゴンのおおよその中心 (signboard.svg 座標) */
  left: 18.4713375796%;
  top: 11.4814814815%;
}
.nav-signboard__hit--contact {
  /* 緑矢印ポリゴンのおおよその中心 */
  left: 29.2993630573%;
  top: 44.4444444444%;
}

.nav-signboard__hit .sign-label {
  display: block;
  line-height: 0;
  pointer-events: none;
}

/* ラベルSVGは看板幅に追従（実寸 146×32 / 174×26） */
.nav-signboard__hit .sign-label img {
  display: block;
  width: min(48cqi, 146px);
  max-width: 100%;
  height: auto;
}

.nav-signboard__hit--contact .sign-label img {
  width: min(55cqi, 174px);
}

@media (hover: hover) and (pointer: fine) {
  .nav-signboard__hit:hover .sign-label img {
    opacity: 0.88;
    transition: opacity 0.2s ease;
  }
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*snsナビ */
.site-header__grobal-nav .sns-nav {
  width: 75%;
  position: absolute;
  bottom: 3%;
  left: 7%;
  z-index: 2;
}
@media only screen and (max-width: 1000px) {
  .site-header__grobal-nav .sns-nav {
    left: 5%;
  }
}
.site-header__grobal-nav .sns-nav ul {
  width: 48%;
  display: flex;
  justify-content: space-between;
  gap: 2%;
}
.site-header__grobal-nav .sns-nav ul li {
  width: 37%;
}
.site-header__grobal-nav .sns-nav ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
.site-header__grobal-nav .deco {
  position: absolute;
  bottom: 1%;
  right: 5%;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 固定ナビ（参加申込み・お問い合わせ） */
.fix_nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 100;
  display: none;
  grid-template-columns: repeat(2, 1fr);
  width: clamp(37.5rem, 750 / var(--width) * 100vw, 75rem);
}

@media only screen and (max-width: 768px) {
  .fix_nav {
    display: grid;
    width: 100%;
  }
}
.fix_nav a {
  background: var(--green);
  color: var(--blue) !important;
  font-size: var(--font-size-medium);
  font-weight: 600;
  line-height: 2.8;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
}
.fix_nav a:hover {
  background: var(--dark-green);
  color: var(--white) !important;
}

.fix_nav a .label {
  font-size: inherit;
}

@media only screen and (max-width: 425px) {
  .fix_nav a {
    font-size: var(--font-size-small);
  }
}
.fix_nav a:first-child {
  background: var(--pink);
}
.fix_nav a:first-child:hover {
  background: var(--dark-pink);
  color: var(--white) !important;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: オープン時 */
body.open .site-header__drawer-nav {
  pointer-events: all;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-transition: -webkit-clip-path 0.3s cubic-bezier(0.4, 0, 1, 1);
  transition: -webkit-clip-path 0.3s cubic-bezier(0.4, 0, 1, 1);
  transition: clip-path 0.3s cubic-bezier(0.4, 0, 1, 1);
  transition: clip-path 0.3s cubic-bezier(0.4, 0, 1, 1), -webkit-clip-path 0.3s cubic-bezier(0.4, 0, 1, 1);
}

body.open .site-header__drawer-nav .drawer-nav__inner {
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1);
  transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1);
}

body.open .site-header__tool-nav .tool-nav li a {
  color: var(--white);
}

body.open .site-header__tool-nav .tool-nav li a .label::before {
  background-color: var(--white);
}

/**
 * フッター
 */
.site-footer {
  position: relative;
  background: var(--white);
  padding-bottom: clamp(4rem, 80 / var(--width) * 100vw, 8rem);
}
.site-footer .container {
  /* 上の余白（660pxのとき115px / 最小50px 〜 最大125px） */
  --container-padding-top: clamp(3.125rem, 17.4242424242%, 7.8125rem);
  /* 下の余白（660pxのとき70px / 最小36px 〜 最大80px） */
  --container-padding-bottom: clamp(2.25rem, 10.6060606061%, 5rem);
}
@media only screen and (max-width: 425px) {
  .site-footer .container {
    --container-padding-top: clamp(1.5rem, 14.1176470588%, 5.5rem);
    --container-padding-bottom: clamp(1.125rem, 8.4848484848%, 3.25rem);
  }
}
.site-footer .sitelogo {
  padding: var(--font-size-x-large);
  display: flex;
  align-items: flex-end;
  gap: 1em;
  font-size: var(--font-size-small);
}
.site-footer .sitelogo a {
  display: block;
}
.site-footer .privacy {
  font-size: var(--font-size-small);
  font-weight: 600;
  margin-bottom: 6rem;
}
.site-footer .privacy a {
  color: var(--black);
}
.site-footer .privacy a:hover {
  color: var(--blue);
}
@media only screen and (max-width: 768px) {
  .site-footer .privacy {
    font-size: var(--font-size-x-small);
    margin-bottom: 4rem;
  }
}
.site-footer .meta {
  font-weight: 400;
  font-size: var(--font-size-small);
}
@media only screen and (max-width: 768px) {
  .site-footer .meta {
    font-size: var(--font-size-x-small);
  }
}
.site-footer .meta dt {
  font-size: var(--font-size-large);
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .site-footer .meta dt {
    font-size: var(--font-size-medium);
  }
}
.site-footer .sns-nav {
  display: none;
}
@media only screen and (max-width: 768px) {
  .site-footer .sns-nav {
    display: block;
    margin-top: 2rem;
  }
  .site-footer .sns-nav ul {
    display: flex;
    gap: 4%;
  }
  .site-footer .sns-nav ul li a {
    display: block;
  }
}
.site-footer .copyright {
  font-size: var(--font-size-xx-small);
  font-weight: bold;
  letter-spacing: 0.126em;
  text-align: center;
  padding: clamp(0.5rem, 10 / var(--width) * 100vw, 1rem);
}
@media only screen and (max-width: 425px) {
  .site-footer .copyright {
    font-size: 1.1rem;
  }
}

#totop {
  right: clamp(1.25rem, 25 / var(--width) * 100vw, 2.5rem);
  bottom: clamp(12rem, 240 / var(--width) * 100vw, 24rem);
}

/**
 * ドロワーナビ用モジュール（2024 / 2026）
 */
/**
 * ドロワーボタン（2024 / 2026）
 */
.drawer-nav-btn {
  all: unset;
  position: fixed;
  left: 3%;
  bottom: 10%;
  z-index: 1000;
  display: none;
  transition: 0.5s cubic-bezier(0.4, 0, 1, 1);
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
}

@media only screen and (max-width: 768px) {
  .drawer-nav-btn {
    display: block;
  }
}
.drawer-nav-btn .d-btn__toggle_box {
  cursor: pointer;
  height: 70px;
  aspect-ratio: 1/1;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 10px 0;
  background: #ffef00;
  border-radius: 999px;
  text-align: center;
}

.drawer-nav-btn .d-btn__toggle_line {
  will-change: transform;
  transform: rotateZ(0);
  transition: 0.5s cubic-bezier(0.4, 0, 1, 1);
  width: 40px;
  height: 2px;
  background: var(--black);
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}

.drawer-nav-btn .d-btn__toggle_line:nth-child(1) {
  top: 22px;
}

.drawer-nav-btn .d-btn__toggle_line:nth-child(2) {
  top: 32px;
}

.drawer-nav-btn .d-btn__label {
  font-size: 1.4rem;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  display: block;
  position: relative;
  width: 100%;
  transform: scale(0.8);
}

.drawer-nav-btn .d-btn__label span {
  will-change: transform;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 1, 1);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
  margin: auto;
  width: 100%;
  display: block;
}

.drawer-nav-btn .d-btn__label .--close {
  opacity: 0;
}

/**
 * ハンバーガーボタン
 */
/* __10: ハンバーガーメニュー - open*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.drawer-nav-btn.open .d-btn__toggle_line {
  top: 27px;
}

.drawer-nav-btn.open .d-btn__toggle_line:nth-child(1) {
  -webkit-transform: rotateZ(18deg);
  transform: rotateZ(18deg);
}

.drawer-nav-btn.open .d-btn__toggle_line:nth-child(2) {
  -webkit-transform: rotateZ(-18deg);
  transform: rotateZ(-18deg);
}

.drawer-nav-btn.open .d-btn__label .--open {
  opacity: 0;
}

.drawer-nav-btn.open .d-btn__label .--close {
  opacity: 1;
}

/*# sourceMappingURL=style.css.map */
