@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Reddit+Sans:wght@200..900&display=swap");
:root {
  --slate_50: #f8fafc;
  --slate_100: #f1f5f9;
  --slate_200: #e2e8f0;
  --slate_300: #cbd5e1;
  --slate_400: #94a3b8;
  --slate_500: #64748b;
  --slate_600: #475569;
  --slate_700: #334155;
  --slate_800: #1e293b;
  --slate_900: #0f172a;
  --slate_950: #020617;
  --color_whitesmoke: var(--slate_100);
  --color_lightgray: var(--slate_200);
  --color_gray: var(--slate_500);
  --color_black: var(--slate_950);
  --color_red: #F44034;
  --color_yellow: #fff000;
  --color_1: #7EBF41;
  --color_1_darken: #6DAB37;
  --color_1_darken_2: #538828;
  --color_1_lighten: #ABD87E;
  --color_2: #fff000;
  --color_text_1: var(--color_black);
  --color_link_1: #2563EB;
  --color_bg_1: var(--color_whitesmoke);
  --color_border_1: var(--slate_300);
  --font_jp_1: 'Reddit Sans', 'Noto Sans JP', "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font_en_1: 'Tanker-Regular', "Helvetica Neue", Arial, 'Noto Sans JP', "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --body_spacing_sm: calc( 16 / 376 * 100vw );
  --body_spacing: calc( 24 / 376 * 100vw );
  --body_spacing_lg: calc( 32 / 376 * 100vw );
  --global_header_height: 64px;
  --content_width_xs: 704px;
  --content_width_sm: 960px;
  --content_width_md: 1216px;
  --content_width_lg: 1344px;
  --content_width_xl: 1728px;
  --item_spacing_xs_min: 20;
  --item_spacing_xs_max: 20;
  --item_spacing_sm_min: 20;
  --item_spacing_sm_max: 24;
  --item_spacing_md_min: 20;
  --item_spacing_md_max: 32;
  --item_spacing_lg_min: 20;
  --item_spacing_lg_max: 40;
  --item_spacing_xl_min: 20;
  --item_spacing_xl_max: 48;
  --item_spacing_xs:
  clamp(
    var(--item_spacing_xs_min) * 1px,
    (var(--item_spacing_xs_max) / 1400) * 100vw,
    var(--item_spacing_xs_max) * 1px
  )
  clamp(
    (var(--item_spacing_xs_min) * 1px) * 1.4,
    ((var(--item_spacing_xs_max) / 1400) * 100vw) * 1.4,
    (var(--item_spacing_xs_max) * 1px) * 1.4
  );
  --item_spacing_sm:
  clamp(
    var(--item_spacing_sm_min) * 1px,
    (var(--item_spacing_sm_max) / 1400) * 100vw,
    var(--item_spacing_sm_max) * 1px
  )
  clamp(
    (var(--item_spacing_sm_min) * 1px) * 1.4,
    ((var(--item_spacing_sm_max) / 1400) * 100vw) * 1.4,
    (var(--item_spacing_sm_max) * 1px) * 1.4
  );
  --item_spacing_md:
  clamp(
    var(--item_spacing_md_min) * 1px,
    (var(--item_spacing_md_max) / 1400) * 100vw,
    var(--item_spacing_md_max) * 1px
  )
  clamp(
    (var(--item_spacing_md_min) * 1px) * 1.4,
    ((var(--item_spacing_md_max) / 1400) * 100vw) * 1.4,
    (var(--item_spacing_md_max) * 1px) * 1.4
  );
  --item_spacing_lg:
  clamp(
    var(--item_spacing_lg_min) * 1px,
    (var(--item_spacing_lg_max) / 1400) * 100vw,
    var(--item_spacing_lg_max) * 1px
  )
  clamp(
    (var(--item_spacing_lg_min) * 1px) * 1.4,
    ((var(--item_spacing_lg_max) / 1400) * 100vw) * 1.4,
    (var(--item_spacing_lg_max) * 1px) * 1.4
  );
  --item_spacing_xl:
  clamp(
    var(--item_spacing_xl_min) * 1px,
    (var(--item_spacing_xl_max) / 1400) * 100vw,
    var(--item_spacing_xl_max) * 1px
  )
  clamp(
    (var(--item_spacing_xl_min) * 1px) * 1.4,
    ((var(--item_spacing_xl_max) / 1400) * 100vw) * 1.4,
    (var(--item_spacing_xl_max) * 1px) * 1.4
  );
  --item_v_spacing: clamp(24px, (32 / 1400) * 100vw, 32px);
  --radius: 6px;
  --radius_lg: 8px;
  --shadow: 1px 1px 8px 0px rgba(#ccc, 0.1);
  --z-index_sub-menu: 400;
  --z-index_global-header: 300;
  --z-index_modal-menu: 200;
  --z-index_fixed-banner: 100;
  --z-index_page-top: 10;
  --sns_facebook: #0866FF;
  --sns_x: #000;
  --sns_instagram: #000;
  --sns_line: #06C755;
  --sns_hatena: #00A4DE;
  --sns_youtube: #ff0000;
  --sns_google: #ff0000;
  --sns_note: #000; }
  @media (width >= 1024px) {
    :root {
      --global_header_height: 112px;
      --global_header_height_fixed: 96px;
      --radius: 8px;
      --radius_lg: 16px; } }

@keyframes text-border {
  0% {
    background-position: right bottom;
    background-size: 0 1px; }
  1% {
    background-position: left bottom;
    background-size: 0 1px; }
  99% {
    background-position: left bottom;
    background-size: 100% 1px; }
  100% {
    background-position: right bottom;
    background-size: 100% 1px; } }
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
*/
html, body, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, nav, main, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline; }

article, aside, details, figcaption, figure,
footer, header, nav, main, section {
  display: block; }

blockquote, q {
  quotes: none; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: var(--color_text_1);
  text-decoration: none; }

mark {
  background: none;
  color: var(--color_text_1); }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input, select {
  vertical-align: middle; }

/* original */
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

:target {
  scroll-margin-top: calc(var(--global_header_height, 80px) + 20px); }

body {
  background: #fff;
  color: var(--color_text_1);
  font-family: var(--font_jp_1);
  font-size: clamp(calc(14 / 16 * 1rem), calc(15 / 1400 * 100vw), calc(15 / 16 * 1rem));
  line-height: 2;
  letter-spacing: 0.02em;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere; }
  @media print {
    body {
      width: 1100px; } }

ul {
  list-style: none; }

caption {
  font-weight: bold;
  text-align: left; }

input, textarea, select {
  font-family: inherit;
  font-size: calc(16 / 16 * 1rem); }

button {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent; }

select {
  max-width: 100%;
  color: var(--color_text_1); }

input:focus, textarea:focus, select:focus {
  outline: 0; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  color: var(--color_link_1);
  text-decoration: none;
  text-underline-offset: 0.2em; }

.global-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index_global-header);
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
  height: var(--global_header_height);
  padding-inline-start: 24px;
  transition: .2s; }
  @media (width >= 768px) {
    .global-header {
      padding-inline-start: 32px; } }
  @media (width >= 1024px) {
    .global-header {
      gap: 2vw;
      padding-inline: 48px; } }
  @media (width >= 1024px) {
    .global-header.fixed {
      height: var(--global_header_height_fixed); } }
  @media (width >= 1024px) {
    .global-header.fixed .site-title__name {
      width: 220px; } }
  @media print {
    .global-header {
      position: relative;
      padding: 0; } }

.global-header__btn {
  height: 100%; }

.site-title {
  margin-right: auto; }
  .site-title .site-title__name {
    width: clamp(calc(180 * 1px), calc(240 / 1400 * 100vw), calc(240 * 1px));
    transition: .2s; }
    .site-title .site-title__name img {
      display: block; }

.global-nav {
  display: none; }
  @media (width >= 1024px) {
    .global-nav {
      display: block; } }
  @media print {
    .global-nav {
      display: none; } }

.global-nav-menu {
  display: flex;
  align-items: center; }
  .global-nav-menu a {
    color: inherit;
    transition: .2s; }
  .global-nav-menu > li:not(:last-child)::after {
    display: inline-block;
    content: "";
    width: 2px;
    height: 16px;
    background: var(--color_text_1);
    border-radius: 100%;
    transform: rotate(20deg);
    margin-inline: 1.4vw; }
  .global-nav-menu > li > a {
    position: relative;
    font-size: clamp(calc(18 / 16 * 1rem), calc(22 / 1400 * 100vw), calc(22 / 16 * 1rem));
    font-family: var(--font_en_1);
    letter-spacing: 0.03em; }

/* sub-menu */
.global-nav-menu li {
  position: relative; }
  .global-nav-menu li:hover > .sub-menu {
    visibility: visible;
    opacity: 1; }
  .global-nav-menu li.global-nav-menu-right .sub-menu {
    left: auto;
    right: 0; }
    .global-nav-menu li.global-nav-menu-right .sub-menu .sub-menu {
      right: 100%; }
.global-nav-menu > li {
  padding-block: 16px; }
.global-nav-menu .sub-menu {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 280px;
  padding: 24px 32px;
  background: #fff;
  border-radius: 8px;
  opacity: 0;
  font-size: calc(13 / 16 * 1rem);
  transition: .2s;
  z-index: var(--z-index_sub-menu);
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1); }
  .global-nav-menu .sub-menu a {
    position: relative;
    padding-bottom: 0px !important;
    background: linear-gradient(currentColor, currentColor) 0 100%/0 1px no-repeat;
    background-size: 0 1px;
    background-position: right bottom;
    text-decoration: none; }
    @media (hover: hover) {
      .global-nav-menu .sub-menu a:hover {
        background-size: 100% 1px;
        animation: text-border .2s linear 0s; } }
  .global-nav-menu .sub-menu .sub-menu {
    top: 0;
    left: calc(100% + 16px); }

/* ---------------------------------------------------------
   modal-btn
----------------------------------------------------------*/
.modal-btn {
  --btn_border_height: 2px;
  --btn_border_padding: 8px;
  --btn_border_color: var(--color_text_1);
  --btn_border_close_color: var(--color_text_1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 72px;
  height: 100%;
  padding: 0 20px;
  background: none;
  border: none;
  color: inherit; }
  .modal-btn.is-open .modal-btn__icon {
    background: none; }
    .modal-btn.is-open .modal-btn__icon::before, .modal-btn.is-open .modal-btn__icon::after {
      background: var(--btn_border_close_color);
      translate: 0; }
    .modal-btn.is-open .modal-btn__icon::before {
      rotate: -45deg; }
    .modal-btn.is-open .modal-btn__icon::after {
      rotate: -135deg; }
  .modal-btn .modal-btn__icon {
    display: grid;
    width: 100%;
    height: var(--btn_border_height);
    background: var(--btn_border_color); }
    .modal-btn .modal-btn__icon::before, .modal-btn .modal-btn__icon::after {
      content: "";
      grid-column: 1;
      grid-row: 1;
      height: var(--btn_border_height);
      background: var(--btn_border_color);
      transition: .2s; }
    .modal-btn .modal-btn__icon::before {
      translate: 0 calc(-1 * var(--btn_border_padding)); }
    .modal-btn .modal-btn__icon::after {
      translate: 0 var(--btn_border_padding); }
  .modal-btn .modal-btn__text {
    font-size: calc(10 / 16 * 1rem);
    line-height: 1;
    text-transform: uppercase;
    translate: 0 calc(var(--btn_border_padding) + 6px); }

/* ---------------------------------------------------------
   modal
----------------------------------------------------------*/
.modal-menu {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index_modal-menu);
  width: 100%;
  height: 100%;
  padding-top: clamp(calc(120 * 1px), calc(240 / 1400 * 100vw), calc(240 * 1px));
  padding-bottom: clamp(calc(80 * 1px), calc(160 / 1400 * 100vw), calc(160 * 1px));
  background: var(--slate_400);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  transition: opacity .4s;
  scrollbar-width: none;
  -ms-overflow-style: none; }
  .modal-menu::after {
    content: '';
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100%;
    height: calc(100% + 1px);
    pointer-events: none; }
  .modal-menu.is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible; }

.modal-menu::-webkit-scrollbar {
  display: none; }

.widget-wrapper {
  display: flex;
  flex-direction: column;
  gap: clamp(calc(40 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }

.widget-title {
  margin-bottom: 0.3em;
  font-family: var(--font_en_1);
  font-size: clamp(calc(36 / 16 * 1rem), calc(64 / 1400 * 100vw), calc(64 / 16 * 1rem));
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.02em; }
  .widget-title::before {
    display: inline-block;
    content: "";
    width: clamp(calc(24 * 1px), calc(40 / 1400 * 100vw), calc(40 * 1px));
    aspect-ratio: 1;
    vertical-align: top;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background: #fff;
    mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2233%22%20height%3D%2253%22%20viewBox%3D%220%200%2033%2053%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M18.109%2052.0322C16.6789%2052.0322%2015.9732%2051.0851%2015.9732%2049.785C15.9732%2048.8378%2017.3476%2040.8332%2017.3476%2040.8332C17.4033%2040.016%2017.4776%2039.7003%2017.4776%2039.4031C17.4776%2038.6602%2016.9204%2038.0288%2016.1589%2038.0288H13.0202C12.3888%2038.0288%2011.7759%2038.4745%2011.5716%2039.2731L9.93722%2050.2307C9.7515%2051.4194%208.8786%2052.0508%207.74569%2052.0508H4.86699C3.41836%2052.0508%202.73118%2051.1036%202.73118%2049.6179C2.73118%2048.745%204.04981%2040.8517%204.04981%2040.8517C4.17982%2039.5331%204.17982%2039.4217%204.17982%2039.1617C4.17982%2038.4188%203.62265%2037.9173%202.86119%2037.9173H2.30402C1.48684%2037.9173%200.483939%2037.2859%200.428223%2036.0972C0.428223%2035.5958%200.799668%2033.2185%200.799668%2033.2185C1.1154%2031.287%202.30402%2031.027%203.43693%2031.027H4.30982C4.94128%2031.027%205.62845%2030.5813%205.75846%2029.5227L6.50135%2024.3224C6.63136%2023.3195%206.63136%2022.8738%206.63136%2022.6324C6.63136%2021.8895%206.07419%2021.388%205.31273%2021.388H4.75556C3.93838%2021.388%202.93548%2020.7566%202.93548%2019.5679C2.93548%2019.0665%203.30692%2016.6892%203.30692%2016.6892C3.54836%2014.7577%204.75556%2014.4977%205.86989%2014.4977H6.74279C7.37425%2014.4977%208.06142%2014.052%208.24714%2012.9934L9.80721%202.22145C9.93722%201.47856%2010.5501%200.401367%2011.943%200.401367H14.9517C16.5118%200.401367%2017.0133%201.34855%2017.0133%202.33288C17.0133%203.46579%2015.6389%2011.9719%2015.6389%2011.9719C15.5832%2012.4176%2015.4532%2013.0305%2015.4532%2013.1605C15.4532%2013.9034%2015.6389%2014.4791%2016.8275%2014.4791H19.9662C20.5977%2014.4791%2021.2849%2014.0334%2021.4149%2013.2348L22.9749%202.46289C23.1607%201.27426%2023.9778%200.401367%2025.1665%200.401367H27.9895C29.4381%200.401367%2030.1253%201.34855%2030.1253%202.83433C30.1253%203.70723%2028.8066%2011.6004%2028.8066%2011.6004C28.6766%2012.9191%2028.6766%2013.0491%2028.6766%2013.2905C28.6766%2014.0334%2029.2338%2014.5349%2029.9953%2014.5349H30.5524C31.3696%2014.5349%2032.3725%2015.1663%2032.4282%2016.3549C32.4282%2016.8564%2032.0568%2019.2336%2032.0568%2019.2336C31.7411%2021.1652%2030.5524%2021.4252%2029.4195%2021.4252H28.5466C27.9152%2021.4252%2027.228%2021.8709%2027.1166%2022.9295L26.3737%2028.1297C26.2437%2028.8726%2026.2437%2029.5784%2026.2437%2029.8198C26.2437%2030.5627%2026.8008%2031.0642%2027.5623%2031.0642H28.1195C28.9366%2031.0642%2029.9395%2031.6956%2029.9395%2032.8842C29.9395%2033.3857%2029.5681%2035.7629%2029.5681%2035.7629C29.3267%2037.6945%2028.1195%2037.9545%2027.0051%2037.9545H26.1322C25.5008%2037.9545%2024.8136%2038.4002%2024.6279%2039.4588L23.0678%2050.2307C22.9378%2050.9736%2022.3249%2052.0508%2020.932%2052.0508H18.109V52.0322ZM13.1502%2028.4826C13.0202%2029.3555%2013.0202%2029.4855%2013.0202%2029.6155C13.0759%2030.3584%2013.6517%2030.9899%2014.3946%2030.9899H17.5333C18.1647%2030.9899%2018.7776%2030.5441%2018.9076%2029.7455L19.7805%2023.9324C19.9105%2022.9852%2019.9105%2022.8738%2019.9105%2022.7438C19.8548%2022.0009%2019.2791%2021.3694%2018.5362%2021.3694H15.3975C14.766%2021.3694%2014.1531%2021.8152%2014.0231%2022.6138L13.1502%2028.5012V28.4826Z%22%20fill%3D%22%2392EB40%22%2F%3E%0A%3C%2Fsvg%3E"); }
  .global-footer .widget-title, .modal-menu .widget-title {
    color: #fff; }

.widget-pager-list li a {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding-block: clamp(calc(12 * 1px), calc(20 / 1400 * 100vw), calc(20 * 1px));
  padding-inline: clamp(calc(16 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px));
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 3 / 2;
  color: #fff; }
  @media (width >= 768px) {
    .widget-pager-list li a {
      aspect-ratio: 2 / 1; } }
  .widget-pager-list li a::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3); }
  .widget-pager-list li a > * {
    position: relative; }
  .widget-pager-list li a h4 {
    display: flex;
    flex-direction: column; }
    .widget-pager-list li a h4 .widget-pager-list__title-jp {
      font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
    .widget-pager-list li a h4 .widget-pager-list__title-en {
      font-family: var(--font_en_1);
      font-size: clamp(calc(20 / 16 * 1rem), calc(32 / 1400 * 100vw), calc(32 / 16 * 1rem));
      font-weight: normal;
      letter-spacing: 0.02em;
      line-height: 1; }

.global-footer {
  position: relative;
  padding-block: clamp(calc(48 * 1px), calc(96 / 1400 * 100vw), calc(96 * 1px)) clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  background: var(--slate_400) url("../img/illust_group_02.svg");
  background-position: right 20px bottom;
  background-size: clamp(calc(160 * 1px), calc(556 / 1400 * 100vw), calc(556 * 1px));
  background-repeat: no-repeat; }
  @media (width >= 1024px) {
    .global-footer {
      background-position: right 80px bottom; } }
  @media print {
    .global-footer {
      display: none; } }

.global-footer-content {
  display: flex;
  flex-direction: column;
  margin-top: clamp(calc(48 * 1px), calc(96 / 1400 * 100vw), calc(96 * 1px));
  margin-bottom: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
  padding-right: 40%; }

.global-footer-logo {
  width: clamp(calc(200 * 1px), calc(320 / 1400 * 100vw), calc(320 * 1px)); }

.copyright {
  font-size: calc(10 / 16 * 1rem); }

/* ---------------------------------------------------------
   .page-top
----------------------------------------------------------*/
.page-top {
  display: none;
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: var(--z-index_page-top);
  cursor: pointer; }
  .page-top a {
    display: block;
    font-size: calc(12 / 16 * 1rem);
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    color: inherit; }
    @media (width >= 1024px) {
      .page-top a:hover::before {
        margin-bottom: 0.6em; } }
    .page-top a::before {
      content: "";
      display: inline-block;
      width: 0.75em;
      height: 0.75em;
      border-top: 1px solid currentColor;
      border-right: 1px solid currentColor;
      rotate: -45deg;
      display: block;
      margin: 0 auto;
      transition: .2s; }

/* ---------------------------------------------------------
   .fixed-banner
----------------------------------------------------------*/
.fixed-banner {
  position: fixed;
  bottom: 0;
  right: 0;
  width: clamp(calc(300 * 1px), calc(400 / 1400 * 100vw), calc(400 * 1px));
  z-index: var(--z-index_fixed-banner);
  display: flex;
  flex-direction: column;
  gap: clamp(calc(4 * 1px), calc(8 / 1400 * 100vw), calc(8 * 1px)); }

.fixed-item {
  display: none;
  position: relative;
  box-shadow: -2px -2px 4px 0px rgba(0, 0, 0, 0.04); }
  .fixed-item .fixed-item__button {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-30%, -30%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    padding: 10px;
    background: var(--color_text_1);
    border: none;
    border-radius: 100%; }
  .fixed-item > a {
    display: flex;
    color: inherit;
    background: var(--color_2); }
  .fixed-item .fixed-item__img {
    width: 35%;
    padding: clamp(calc(12 * 1px), calc(14 / 1400 * 100vw), calc(14 * 1px));
    padding-right: 0; }
    .fixed-item .fixed-item__img img {
      aspect-ratio: 3 / 2;
      object-fit: cover; }
  .fixed-item .fixed-item__content {
    flex: 1;
    padding-block: clamp(calc(14 * 1px), calc(16 / 1400 * 100vw), calc(16 * 1px));
    padding-inline: clamp(calc(20 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px)); }
  .fixed-item .fixed-item__meta {
    display: flex;
    align-items: center;
    gap: 8px; }
    .fixed-item .fixed-item__meta .post-date {
      font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
  .fixed-item .fixed-item__title {
    font-size: clamp(calc(12 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* 行数を指定 */
    -webkit-box-orient: vertical;
    overflow: hidden; }

body.blog,
body.category,
body.archive,
body.single-post,
body.single-event,
body.post-type-archive-event {
  background: var(--color_lightgray); }

body.post-type-archive-interview,
body.single-interview {
  background: var(--color_1); }

/* ---------------------------------------------------------
   index-main
----------------------------------------------------------*/
.index-main {
  overflow: hidden;
  display: grid;
  grid-template-columns: 0 1fr 0;
  padding-top: calc( 40px + var(--global_header_height));
  background: var(--color_1); }
  @media (width >= 1024px) {
    .index-main {
      grid-template-columns: 5vw minmax(0, 1fr) 5vw;
      align-items: center;
      padding-top: calc(80px + var(--global_header_height)); } }

.index-main__slide .index-main__slide-item {
  aspect-ratio: 4 / 5; }
  @media (width >= 768px) {
    .index-main__slide .index-main__slide-item {
      aspect-ratio: 16 / 10; } }
  .index-main__slide .index-main__slide-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.index-main__left,
.index-main__right {
  visibility: hidden; }
  @media (width >= 768px) {
    .index-main__left,
    .index-main__right {
      visibility: visible; } }
  .index-main__left .index-main__slide,
  .index-main__right .index-main__slide {
    width: 40vw; }

@media (width >= 768px) {
  .index-main__left {
    display: grid;
    justify-content: flex-end; } }

.index-main__center .container {
  position: relative; }
.index-main__center .swiper-slide {
  width: 100% !important; }

.index-main_wrapper {
  position: relative;
  padding-bottom: clamp(calc(40 * 1px), calc(96 / 1400 * 100vw), calc(96 * 1px)); }
  .index-main_wrapper .index-main__illust {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 100;
    width: clamp(calc(140 * 1px), calc(348 / 1400 * 100vw), calc(348 * 1px)); }

.index-main_content {
  position: relative;
  padding-top: clamp(calc(20 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
  padding-inline: clamp(calc(24 * 1px), calc(80 / 1400 * 100vw), calc(80 * 1px)); }
  .index-main_content .index-main_content__logo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: clamp(calc(180 * 1px), calc(440 / 1400 * 100vw), calc(440 * 1px)); }
  .index-main_content .index-main_content__text {
    position: absolute;
    top: 0;
    right: clamp(calc(0 * 1px), calc(20 / 1400 * 100vw), calc(20 * 1px));
    width: clamp(calc(60 * 1px), calc(138 / 1400 * 100vw), calc(138 * 1px)); }
  .index-main_content .index-main_content__tag {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 0.3em;
    padding: 0.7em 1em;
    background: var(--color_1);
    font-size: clamp(calc(10 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    font-weight: bold;
    line-height: 1.5; }
    .index-main_content .index-main_content__tag li::before {
      content: "#";
      margin-right: 0.2em;
      font-family: 'Noto Sans JP', "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }

/* ---------------------------------------------------------
   index-aboutus
----------------------------------------------------------*/
.index-aboutus-img {
  height: clamp(calc(300 * 1px), calc(660 / 1400 * 100vw), calc(660 * 1px)); }
  .index-aboutus-img img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

/* ---------------------------------------------------------
   event
----------------------------------------------------------*/
.index-event-content {
  display: grid; }
  @media (width >= 1024px) {
    .index-event-content {
      grid-template-columns: 20% 1fr;
      gap: 8%; } }
  .index-event-content .section-header {
    position: relative;
    margin-bottom: 24px;
    padding-bottom: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
    padding-right: 80px;
    border-bottom: 1px solid var(--color_text_1); }
    @media (width >= 1024px) {
      .index-event-content .section-header {
        padding: 0;
        margin: 0;
        border: none; } }
    .index-event-content .section-header::after {
      display: block;
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      width: 60px;
      aspect-ratio: 162 / 249;
      background: url("../img/illust_mam_01.svg") center bottom;
      background-size: contain;
      background-repeat: no-repeat;
      transform: scaleX(-1); }
      @media (width >= 1024px) {
        .index-event-content .section-header::after {
          width: 162px;
          right: auto;
          left: 50%;
          transform: translateX(-50%); } }

.event-list > li {
  margin-bottom: clamp(calc(20 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  padding-bottom: clamp(calc(20 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  border-bottom: 1px solid var(--color_text_1); }
.event-list .event-item {
  display: grid;
  column-gap: 24px;
  grid-template-columns: 4fr 7fr;
  grid-template-areas: "img date" "img title" "content content";
  color: inherit; }
  @media (width >= 768px) {
    .event-list .event-item {
      grid-template-columns: 160px 180px 1fr;
      column-gap: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
      grid-template-areas: "img date title" "img date content"; } }
  @media (hover: hover) {
    .event-list .event-item:hover .event-item__img img {
      transform: scale(1.1); }
    .event-list .event-item:hover .event-item__title {
      color: var(--color_1); } }
  .event-list .event-item .event-item__img {
    grid-area: img;
    overflow: hidden; }
    .event-list .event-item .event-item__img img {
      transition: transform 0.2s ease-in-out; }
  .event-list .event-item .event-item__date {
    grid-area: date;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
    padding-bottom: 8px; }
    @media (width < 768px) {
      .event-list .event-item .event-item__date {
        align-self: flex-end; } }
    @media (width >= 768px) {
      .event-list .event-item .event-item__date {
        padding-bottom: 0;
        padding-right: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
        border-right: 1px dotted var(--color_border_1); } }
    .event-list .event-item .event-item__date .date-yeaer {
      font-size: clamp(calc(16 / 16 * 1rem), calc(20 / 1400 * 100vw), calc(20 / 16 * 1rem));
      font-weight: 700; }
    .event-list .event-item .event-item__date .date-day {
      font-size: clamp(calc(44 / 16 * 1rem), calc(64 / 1400 * 100vw), calc(64 / 16 * 1rem));
      font-family: var(--font_en_1);
      color: var(--color_1); }
    .event-list .event-item .event-item__date .date-dayweek {
      font-size: clamp(calc(12 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
      font-weight: bold;
      text-transform: uppercase; }
    .event-list .event-item .event-item__date .event-item__date--text {
      font-size: clamp(calc(16 / 16 * 1rem), calc(22 / 1400 * 100vw), calc(22 / 16 * 1rem));
      font-weight: bold;
      color: var(--color_1); }
  .event-list .event-item .event-item__title {
    grid-area: title;
    font-size: clamp(calc(20 / 16 * 1rem), calc(28 / 1400 * 100vw), calc(28 / 16 * 1rem));
    line-height: 1.5;
    transition: .2s; }
    @media (width < 768px) {
      .event-list .event-item .event-item__title {
        margin-inline: auto;
        max-inline-size: max-content; } }
    @media (width >= 768px) {
      .event-list .event-item .event-item__title {
        align-self: flex-end; } }
  .event-list .event-item .event-item__content {
    grid-area: content;
    position: relative;
    grid-area: content;
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding-top: 20px;
    padding-right: 20px; }
    @media (width >= 768px) {
      .event-list .event-item .event-item__content {
        padding-top: 16px;
        align-self: flex-start;
        justify-content: center; } }
    .event-list .event-item .event-item__content::after {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      border-top: 2px solid var(--color_1_darken);
      border-right: 2px solid var(--color_1_darken);
      rotate: 45deg; }
  .event-list .event-item .event-item__meta {
    gap: 16px;
    font-size: clamp(calc(12 / 16 * 1rem), calc(13 / 1400 * 100vw), calc(13 / 16 * 1rem));
    color: var(--color_gray); }
    .event-list .event-item .event-item__meta > div {
      display: flex;
      gap: 0.4em; }
    .event-list .event-item .event-item__meta dt img {
      vertical-align: middle; }
  .event-list .event-item .event-item__text {
    font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* 行数を指定 */
    -webkit-box-orient: vertical;
    overflow: hidden; }

.table-event th {
  width: clamp(calc(90 * 1px), calc(180 / 1400 * 100vw), calc(180 * 1px)); }

/* ---------------------------------------------------------
   blog
----------------------------------------------------------*/
.index-blog-header {
  display: grid;
  gap: 24px;
  margin-bottom: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }
  @media (width >= 768px) {
    .index-blog-header {
      grid-template-columns: repeat(2, 1fr);
      align-items: flex-end; } }
  .index-blog-header .section-title {
    margin-bottom: 0; }
  @media (width >= 768px) {
    .index-blog-header .filters {
      justify-content: flex-end; } }

/* ---------------------------------------------------------
   interview
----------------------------------------------------------*/
.index-interview {
  position: relative; }
  .index-interview::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 10vw;
    transform: translateY(-20%);
    aspect-ratio: 274 / 250;
    width: clamp(calc(80 * 1px), calc(274 / 1400 * 100vw), calc(274 * 1px));
    background: url("../img/illust_man_02.svg") no-repeat;
    background-size: cover; }

.interview-list {
  display: grid;
  column-gap: clamp(calc(48 * 1px), calc(80 / 1400 * 100vw), calc(80 * 1px)); }
  @media (width >= 768px) {
    .interview-list {
      grid-template-columns: repeat(2, 1fr); } }
  @media (width >= 1024px) {
    .interview-list {
      grid-template-columns: repeat(3, 1fr); } }
  @media (width >= 1024px) {
    .interview-list.interview-list--irregular {
      grid-template-columns: repeat(6, 1fr); }
      .interview-list.interview-list--irregular > li:nth-child(8n+1),
      .interview-list.interview-list--irregular > li:nth-child(8n+2) {
        grid-column: span 3; }
        .interview-list.interview-list--irregular > li:nth-child(8n+1) .interview-item .interview-item__title,
        .interview-list.interview-list--irregular > li:nth-child(8n+2) .interview-item .interview-item__title {
          font-size: clamp(calc(16 / 16 * 1rem), calc(26 / 1400 * 100vw), calc(26 / 16 * 1rem)); }
      .interview-list.interview-list--irregular > li:nth-child(8n+3),
      .interview-list.interview-list--irregular > li:nth-child(8n+4),
      .interview-list.interview-list--irregular > li:nth-child(8n+5) {
        grid-column: span 2; } }

@media (width < 768px) {
  .interview-list--top > li:nth-of-type(n + 4) {
    display: none; } }
@media (width < 1024px) {
  .interview-list--top > li:nth-of-type(n + 5) {
    display: none; } }

.interview-item {
  display: block;
  position: relative;
  margin-bottom: clamp(calc(48 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
  color: inherit; }
  @media (hover: hover) {
    .interview-item:hover .interview-item__img img {
      transform: scale(1.1); } }
  .interview-item .interview-item__header {
    position: absolute;
    top: 0;
    left: 0;
    padding-right: 20%;
    z-index: 1; }
  .interview-item .interview-item__title {
    display: block;
    padding: 0.3em 0.5em;
    background: #fff;
    font-size: clamp(calc(16 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem));
    line-height: 1.5; }
  .interview-item .interview-item__interviewee {
    display: inline-block;
    padding: 0.4em 0.8em;
    background: var(--color_lightgray);
    font-size: clamp(calc(14 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem));
    line-height: 1.5;
    color: var(--color_gray); }
    .interview-item .interview-item__interviewee .interview-item__interviewee-potition {
      margin: 0;
      font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
  .interview-item .interview-item__img {
    padding-top: 32px;
    margin-inline: 32px;
    overflow: hidden; }
    .interview-item .interview-item__img img {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      transition: transform 0.2s ease-in-out; }
  .interview-item .interview-item__tag {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
    align-items: flex-end; }
  .interview-item .interview-item__date {
    position: absolute;
    top: 32px;
    right: 0;
    writing-mode: vertical-rl;
    font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
    color: var(--color_gray); }

.tag-list {
  display: flex;
  flex-direction: column; }
  .tag-list li {
    display: inline-block;
    padding: 0.4em 0.8em;
    background: var(--color_1); }
    .tag-list li::before {
      content: "#"; }

.interview-wrapper {
  overflow: hidden; }

.interview-header {
  position: relative;
  margin-bottom: clamp(calc(48 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }
  .interview-header .interview-header__header {
    position: absolute;
    top: 0;
    left: 0;
    padding-right: 20%;
    z-index: 1; }
  .interview-header .interview-header__title {
    display: block;
    padding: 0.3em 0.5em;
    background: #fff;
    font-size: clamp(calc(20 / 16 * 1rem), calc(34 / 1400 * 100vw), calc(34 / 16 * 1rem));
    line-height: 1.4; }
  .interview-header .interview-header__interviewee {
    display: inline-block;
    padding: 0.4em 0.8em;
    background: var(--color_lightgray);
    font-size: clamp(calc(16 / 16 * 1rem), calc(24 / 1400 * 100vw), calc(24 / 16 * 1rem));
    line-height: 1.5;
    color: var(--color_gray); }
    .interview-header .interview-header__interviewee .interview-header__interviewee-potition {
      margin: 0;
      font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
  .interview-header .interview-header__img {
    position: relative;
    padding-top: clamp(calc(64 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
    margin-inline: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }
    .interview-header .interview-header__img figure {
      aspect-ratio: 4 / 5; }
      @media (width >= 1024px) {
        .interview-header .interview-header__img figure {
          aspect-ratio: 4 / 3; } }
    .interview-header .interview-header__img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .interview-header .interview-header__img::before {
      display: block;
      position: absolute;
      top: 32%;
      left: 50%;
      z-index: -1;
      transform: translateX(-50%);
      content: 'interviewinterviewinterview';
      padding-bottom: 60px;
      white-space: pre;
      font-family: var(--font_en_1);
      font-size: clamp(calc(40 / 16 * 1rem), calc(320 / 1400 * 100vw), calc(320 / 16 * 1rem));
      line-height: 1;
      color: var(--color_1_darken); }
  .interview-header .interview-header__tag {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: clamp(calc(11 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    align-items: flex-end; }

@media (width < 768px) {
  .interview-content {
    margin-left: calc( var(--body_spacing) * -1 );
    margin-right: calc( var(--body_spacing) * -1 ); } }
.interview-content .post-content {
  background: #fff;
  padding-block: clamp(calc(40 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
  padding-inline: clamp(calc(28 * 1px), calc(80 / 1400 * 100vw), calc(80 * 1px)); }
  .interview-content .post-content > *:last-child {
    margin-bottom: 0; }

.interview-profile {
  padding-block: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  padding-inline: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  background: var(--color_whitesmoke); }
  .interview-profile p {
    font-size: clamp(calc(12 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem)); }

.interview-graph {
  padding-block: clamp(calc(20 * 1px), calc(40 / 1400 * 100vw), calc(40 * 1px));
  padding-inline: clamp(calc(24 * 1px), calc(80 / 1400 * 100vw), calc(80 * 1px));
  background: var(--color_lightgray); }
  .interview-graph .interview-graph__title {
    margin-bottom: 1em;
    font-size: clamp(calc(24 / 16 * 1rem), calc(32 / 1400 * 100vw), calc(32 / 16 * 1rem));
    text-align: center;
    color: var(--color_gray); }
  .interview-graph .interview-graph__img {
    margin-bottom: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }

/* ---------------------------------------------------------
   member
----------------------------------------------------------*/
.member-item {
  position: relative;
  margin-bottom: clamp(calc(40 * 1px), calc(48 / 1400 * 100vw), calc(48 * 1px)); }
  @media (hover: hover) {
    .member-item:hover .member-item__name-en {
      color: var(--color_1_darken); }
    .member-item:hover .member-item__img img {
      transform: scale(1.1); } }
  .member-item .member-item__img {
    position: relative;
    padding-top: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
    padding-bottom: clamp(calc(24 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px)); }
    .member-item .member-item__img figure {
      margin-inline: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
      overflow: hidden; }
    .member-item .member-item__img img {
      aspect-ratio: 4 / 3;
      width: 100%;
      object-fit: cover;
      transition: transform 0.2s ease-in-out; }
  .member-item .member-item__name-en {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10;
    padding-right: 5rem;
    font-size: clamp(calc(40 / 16 * 1rem), calc(40 / 1400 * 100vw), calc(40 / 16 * 1rem));
    font-family: var(--font_en_1);
    font-weight: normal;
    line-height: 1;
    transition: 0.2s; }
    .member-item .member-item__name-en span {
      display: block; }
  .member-item .member-item__content {
    margin-top: clamp(calc(8 * 1px), calc(16 / 1400 * 100vw), calc(16 * 1px));
    display: flex; }
    .member-item .member-item__content > * {
      flex: 1; }
  .member-item .member-item__name-jp {
    font-size: clamp(calc(14 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    font-weight: bold;
    line-height: 1.5;
    color: var(--color_gray); }
  .member-item .member-item__sns {
    justify-content: flex-end;
    position: relative;
    z-index: 10; }
  .member-item .member-item__footer {
    display: flex;
    gap: 24px;
    align-items: center;
    margin-top: clamp(calc(12 * 1px), calc(16 / 1400 * 100vw), calc(16 * 1px)); }
  .member-item .member-item__text {
    flex: 1;
    font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    line-height: 1.8;
    color: var(--color_gray);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    /* 任意の行数を指定 */ }
  .member-item .member-item__btn {
    text-align: right; }
    .member-item .member-item__btn a {
      display: inline-grid;
      grid-template-columns: max-content auto;
      gap: 6px;
      align-items: center;
      padding: 0.5em 1em;
      background: var(--color_1);
      border-radius: 300px;
      text-decoration: none;
      text-align: center;
      font-weight: 500;
      line-height: 1;
      text-transform: uppercase;
      font-size: clamp(calc(11 / 16 * 1rem), calc(13 / 1400 * 100vw), calc(13 / 16 * 1rem));
      color: #fff; }
      .member-item .member-item__btn a::after {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .member-item .member-item__btn a::before {
        display: block;
        content: "";
        width: clamp(calc(12 * 1px), calc(14 / 1400 * 100vw), calc(14 * 1px));
        aspect-ratio: 1;
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
        background: #fff;
        mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M12.6142%2011.369L9.62974%208.38453C10.3357%207.52253%2010.7607%206.42153%2010.7607%205.22253C10.7607%202.46553%208.51774%200.222534%205.76074%200.222534C3.00374%200.222534%200.760742%202.46553%200.760742%205.22253C0.760742%207.97953%203.00374%2010.2225%205.76074%2010.2225C6.95974%2010.2225%208.06074%209.79753%208.92274%209.09153L11.9072%2012.076C12.1027%2012.2715%2012.4187%2012.2715%2012.6142%2012.076C12.8097%2011.8805%2012.8097%2011.5645%2012.6142%2011.369ZM1.76074%205.22253C1.76074%203.01703%203.55524%201.22253%205.76074%201.22253C7.96624%201.22253%209.76074%203.01703%209.76074%205.22253C9.76074%207.42803%207.96624%209.22253%205.76074%209.22253C3.55524%209.22253%201.76074%207.42803%201.76074%205.22253Z%22%20fill%3D%22black%22%2F%3E%0A%3Cpath%20d%3D%22M8.26074%205.22253C8.26074%205.49853%208.03674%205.72253%207.76074%205.72253H6.26074V7.22253C6.26074%207.49853%206.03674%207.72253%205.76074%207.72253C5.48474%207.72253%205.26074%207.49853%205.26074%207.22253V5.72253H3.76074C3.48474%205.72253%203.26074%205.49853%203.26074%205.22253C3.26074%204.94653%203.48474%204.72253%203.76074%204.72253H5.26074V3.22253C5.26074%202.94653%205.48474%202.72253%205.76074%202.72253C6.03674%202.72253%206.26074%202.94653%206.26074%203.22253V4.72253H7.76074C8.03674%204.72253%208.26074%204.94653%208.26074%205.22253Z%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E"); }
  .member-item .member-item__tag {
    position: absolute;
    bottom: 0;
    right: 0;
    align-items: flex-end; }
    .member-item .member-item__tag.tag-list li {
      background: #fff;
      font-size: clamp(calc(11 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }

.member-sns-list {
  column-gap: clamp(calc(6 * 1px), calc(8 / 1400 * 100vw), calc(8 * 1px)) !important; }
  .member-sns-list li a::before {
    width: clamp(calc(16 * 1px), calc(20 / 1400 * 100vw), calc(20 * 1px)) !important;
    background: var(--color_text_1) !important; }

.member-modal {
  width: 100%;
  max-width: 1216px !important;
  padding: 0px !important;
  background: #fff; }
  .member-modal .member-modal__content {
    display: grid; }
    @media (width >= 768px) {
      .member-modal .member-modal__content {
        grid-template-columns: 360fr 640fr; } }
  .member-modal .member-modal__header, .member-modal .member-modal__body {
    padding-block: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
    padding-inline: clamp(calc(40 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }
  .member-modal .member-modal__header {
    display: flex;
    flex-direction: column;
    gap: clamp(calc(12 * 1px), calc(18 / 1400 * 100vw), calc(18 * 1px));
    padding-block: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
    padding-inline: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
    background: var(--color_1); }
  .member-modal .member-modal__body {
    display: flex;
    flex-direction: column;
    gap: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
  .member-modal .member-modal__img {
    position: relative;
    margin-bottom: 8px;
    text-align: center; }
    .member-modal .member-modal__img img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover; }
    .member-modal .member-modal__img .member-modal__tag {
      position: absolute;
      bottom: 0;
      right: 0;
      align-items: flex-end; }
      .member-modal .member-modal__img .member-modal__tag.tag-list li {
        font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
  .member-modal .member-modal__name-en {
    font-size: clamp(calc(48 / 16 * 1rem), calc(48 / 1400 * 100vw), calc(48 / 16 * 1rem));
    font-family: var(--font_en_1);
    font-weight: normal;
    line-height: 0.9;
    transition: 0.2s; }
    .member-modal .member-modal__name-en span {
      display: block; }
  .member-modal .member-modal__name-jp {
    font-size: clamp(calc(13 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
    font-weight: bold;
    line-height: 1.5; }
  .member-modal .member-modal__profile p {
    font-size: clamp(calc(12 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    margin-top: 0.5em; }
  .member-modal .member-modal__box {
    padding-top: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
    border-top: 1px solid var(--color_border_1); }
    .member-modal .member-modal__box dt {
      margin-bottom: 0.5em;
      color: var(--color_1_darken);
      font-weight: bold; }
    .member-modal .member-modal__box dd {
      font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
      line-height: 1.8; }

/*==========================================================
 
   page
 
==========================================================*/
.page-header {
  padding-top: clamp(calc(40px + var(--global_header_height)), calc(5.7vw + var(--global_header_height)), calc(80px + var(--global_header_height)));
  padding-bottom: clamp(calc(40 * 1px), calc(80 / 1400 * 100vw), calc(80 * 1px));
  text-align: center; }
  .page-header.page-header--has-img {
    background: var(--color_1); }
    .page-header.page-header--has-img + .post-content > *:first-child {
      margin-top: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }
  .page-header.page-header--sm {
    margin-bottom: clamp(calc(40 * 1px), calc(80 / 1400 * 100vw), calc(80 * 1px));
    padding: 0; }
    .page-header.page-header--sm .page-header__content {
      padding-block: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
      border-bottom: 1px solid var(--color_border_1); }
    .page-header.page-header--sm .page-header__page-title {
      font-size: clamp(calc(16 / 16 * 1rem), calc(24 / 1400 * 100vw), calc(24 / 16 * 1rem)); }
      .page-header.page-header--sm .page-header__page-title::after {
        display: none; }
  .page-header .page-header__page-title {
    position: relative; }
    .page-header .page-header__page-title .page-header__page-title-jp {
      display: block;
      font-size: clamp(calc(14 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem));
      font-weight: bold;
      line-height: 1.5; }
    .page-header .page-header__page-title .page-header__page-title-en {
      display: block;
      font-family: var(--font_en_1);
      font-size: clamp(calc(48 / 16 * 1rem), calc(80 / 1400 * 100vw), calc(80 / 16 * 1rem));
      font-weight: normal;
      line-height: 1.1; }
  .page-header .page-header__page-thumb {
    height: clamp(calc(200 * 1px), calc(600 / 1400 * 100vw), calc(600 * 1px));
    margin-top: -30px; }
    @media (width >= 1024px) {
      .page-header .page-header__page-thumb {
        margin-top: -50px; } }
    .page-header .page-header__page-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .page-header .page-header__page-thumb.page-header__page-thumb--resize-none {
      height: auto;
      margin-top: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }

@media (width >= 1024px) {
  .index-page-list {
    padding-left: 25%; } }

.page-list .page-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-block: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  background: #fff;
  border-radius: var(--radius);
  color: inherit; }
  @media (hover: hover) {
    .page-list .page-item:hover .page-item__thumb img {
      transform: scale(1.1); } }
  .page-list .page-item .page-item__title {
    border-left: 4px solid var(--color_1);
    padding-inline: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
    .page-list .page-item .page-item__title .page-item__title-jp {
      display: block;
      font-size: clamp(calc(11 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
      color: var(--color_gray);
      line-height: 1.5; }
    .page-list .page-item .page-item__title .page-item__title-en {
      display: block;
      margin-bottom: 0.2em;
      font-family: var(--font_en_1);
      font-size: clamp(calc(30 / 16 * 1rem), calc(36 / 1400 * 100vw), calc(36 / 16 * 1rem));
      font-weight: normal;
      line-height: 1.1; }
  .page-list .page-item .page-item__content {
    display: flex;
    flex-direction: row;
    column-gap: 24px;
    height: 100%;
    padding-top: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
    padding-inline: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
    @media (width >= 768px) {
      .page-list .page-item .page-item__content {
        flex-direction: column;
        row-gap: 16px; } }
  .page-list .page-item .page-item__thumb {
    overflow: hidden;
    width: 40%; }
    @media (width >= 768px) {
      .page-list .page-item .page-item__thumb {
        width: auto; } }
    .page-list .page-item .page-item__thumb img {
      width: 100%;
      aspect-ratio: 3 / 2;
      object-fit: cover;
      transition: transform 0.2s ease-in-out; }
      @media (width >= 768px) {
        .page-list .page-item .page-item__thumb img {
          aspect-ratio: 2 / 1; } }
  .page-list .page-item .page-item__excerpt {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1em;
    font-size: clamp(calc(12 / 16 * 1rem), calc(13 / 1400 * 100vw), calc(13 / 16 * 1rem));
    line-height: 1.6; }
  .page-list .page-item .page-item__btn {
    align-self: flex-end; }
    @media (width >= 768px) {
      .page-list .page-item .page-item__btn {
        margin-top: auto; } }

/*==========================================================
 
	 filters
 
==========================================================*/
.filter-box {
  padding-block: clamp(calc(14 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px));
  padding-inline: clamp(calc(18 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  background: var(--color_whitesmoke);
  display: grid;
  row-gap: 12px;
  column-gap: 6%; }
  @media (width >= 768px) {
    .filter-box {
      grid-template-columns: max-content 1fr; } }
  .filter-box .filter-box__title {
    font-size: clamp(calc(14 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem)); }

.filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(calc(4 * 1px), calc(8 / 1400 * 100vw), calc(8 * 1px)); }

.filters--single button {
  position: relative;
  padding: 0.5em 1em;
  cursor: pointer;
  border: none;
  border-radius: 100px;
  background-color: var(--color_whitesmoke);
  text-transform: uppercase;
  font-size: clamp(calc(13 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
  transition: all 0.2s; }
  .filters--single button.active {
    background-color: var(--color_1);
    transition: 0; }

.filters--multi li {
  font-size: 0; }
.filters--multi button {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  min-height: 2.5em;
  padding: 0.2em 1em;
  cursor: pointer;
  border: none;
  background-color: #fff;
  border-radius: 100px;
  font-size: clamp(calc(11 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
  line-height: 1;
  transition: all 0.2s; }
  .filters--multi button:hover {
    background-color: #fff; }
  .filters--multi button.active {
    background: var(--color_1);
    color: #fff; }
    .filters--multi button.active .icon {
      display: flex; }
  .filters--multi button .icon {
    display: none;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    width: 18px;
    margin-right: -4px;
    aspect-ratio: 1;
    background: #fff; }
    .filters--multi button .icon::before {
      display: inline-block;
      content: "";
      aspect-ratio: 1;
      width: 18px;
      background: var(--color_gray);
      mask-size: 32%;
      mask-repeat: no-repeat;
      mask-position: center;
      mask-image: url("data:image/svg+xml,%3Csvg%20id%3D%22fi_2976286%22%20enable-background%3D%22new%200%200%20320.591%20320.591%22%20height%3D%22512%22%20viewBox%3D%220%200%20320.591%20320.591%22%20width%3D%22512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%3E%3Cg%20id%3D%22close_1_%22%3E%3Cpath%20d%3D%22m30.391%20318.583c-7.86.457-15.59-2.156-21.56-7.288-11.774-11.844-11.774-30.973%200-42.817l257.812-257.813c12.246-11.459%2031.462-10.822%2042.921%201.424%2010.362%2011.074%2010.966%2028.095%201.414%2039.875l-259.331%20259.331c-5.893%205.058-13.499%207.666-21.256%207.288z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22m287.9%20318.583c-7.966-.034-15.601-3.196-21.257-8.806l-257.813-257.814c-10.908-12.738-9.425-31.908%203.313-42.817%2011.369-9.736%2028.136-9.736%2039.504%200l259.331%20257.813c12.243%2011.462%2012.876%2030.679%201.414%2042.922-.456.487-.927.958-1.414%201.414-6.35%205.522-14.707%208.161-23.078%207.288z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }
.filters--multi #reset-filters {
  background: var(--color_gray);
  color: white;
  font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }

.filter-items--news {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px; }
  @media (width >= 768px) {
    .filter-items--news {
      margin-left: -6%; } }
  .filter-items--news .filter-item {
    width: calc((100% - 32px * 2) / 2);
    margin-left: 32px; }
    @media (width >= 768px) {
      .filter-items--news .filter-item {
        width: calc((100% - 6% * 3) / 3);
        margin-left: 6%; } }

.filter-items--interview {
  display: flex;
  flex-wrap: wrap; }
  @media (width >= 768px) {
    .filter-items--interview {
      margin-left: -4%; } }
  .filter-items--interview .filter-item {
    width: 100%; }
    @media (width >= 768px) {
      .filter-items--interview .filter-item {
        width: calc((100% - 4% * 2) / 2);
        margin-left: 4%; } }
    @media (width >= 1024px) {
      .filter-items--interview .filter-item {
        width: calc((100% - 4% * 3) / 3); } }

.filter-items--member {
  display: flex;
  flex-wrap: wrap; }
  @media (width >= 768px) {
    .filter-items--member {
      margin-left: -6%; } }
  .filter-items--member .filter-item {
    width: 100%; }
    @media (width >= 768px) {
      .filter-items--member .filter-item {
        width: calc((100% - 6% * 2) / 2);
        margin-left: 6%; } }
    @media (width >= 1024px) {
      .filter-items--member .filter-item {
        width: calc((100% - 6% * 3) / 3); } }

@media (width < 768px) {
  .scroll-xs-down {
    margin-left: calc(-1 * var(--body_spacing));
    margin-right: calc(-1 * var(--body_spacing));
    overflow-x: scroll; }
    .scroll-xs-down .scroll-xs-down__content {
      position: relative;
      padding-left: var(--body_spacing); }
      .scroll-xs-down .scroll-xs-down__content::after {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 100%;
        width: var(--body_spacing);
        height: 1px; }
    .scroll-xs-down.scroll-xs-down--sm .scroll-xs-down__content {
      width: var(--content_width_xs); }
    .scroll-xs-down.scroll-xs-down--md .scroll-xs-down__content {
      width: var(--content_width_sm); }
    .scroll-xs-down.scroll-xs-down--lg .scroll-xs-down__content {
      width: var(--content_width_md); }
    .scroll-xs-down.scroll-xs-down--xl .scroll-xs-down__content {
      width: var(--content_width_lg); } }

.post-date {
  color: var(--color_gray); }

.post-category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em; }
  .post-category a {
    padding: 0.2em 1em;
    background: var(--color_gray);
    color: #fff;
    border-radius: 100px;
    font-size: calc(11 / 16 * 1rem);
    line-height: 1.4;
    transition: all 0.2s;
    text-decoration: none;
    text-transform: uppercase; }
    @media (hover: hover) {
      .post-category a:hover {
        background: var(--color_1); } }

.post-label span {
  display: inline-block;
  padding: 0.2em 0.6em;
  border: 1px solid;
  color: var(--color_red);
  font-size: 70%; }

.tagcloud {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.4em;
  column-gap: 1em;
  font-size: clamp(calc(11 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
  line-height: 1.5; }
  .tagcloud a {
    text-decoration: none;
    color: var(--color_gray);
    transition: all 0.2s;
    padding-bottom: 0px !important;
    background: linear-gradient(currentColor, currentColor) 0 100%/0 1px no-repeat;
    background-size: 0 1px;
    background-position: right bottom;
    text-decoration: none; }
    @media (hover: hover) {
      .tagcloud a:hover {
        background-size: 100% 1px;
        animation: text-border .2s linear 0s; } }
    .tagcloud a::before {
      content: "#";
      margin-right: 0.2em; }
    @media (hover: hover) {
      .tagcloud a:hover {
        color: var(--color_1); } }

/*==========================================================
 
   single
 
==========================================================*/
.post-header {
  margin-bottom: clamp(calc(40 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }
  .post-header .post-header__content {
    display: flex;
    flex-direction: column;
    gap: clamp(calc(12 * 1px), calc(20 / 1400 * 100vw), calc(20 * 1px));
    padding-bottom: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
    border-bottom: 1px solid var(--color_border_1); }
  .post-header .post-header__post-title {
    font-size: clamp(calc(24 / 16 * 1rem), calc(36 / 1400 * 100vw), calc(36 / 16 * 1rem));
    line-height: 1.4;
    font-feature-settings: "palt";
    margin-inline: auto;
    max-inline-size: max-content; }
  .post-header .post-header__post-metas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px; }
    .post-header .post-header__post-metas .post-date {
      font-size: calc(12 / 16 * 1rem); }
  .post-header .post-header__flag {
    text-align: center;
    font-size: clamp(calc(12 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem)); }
    .post-header .post-header__flag span {
      padding: 0.4em 1em;
      background: var(--color_gray);
      color: #fff;
      font-size: clamp(calc(11 / 16 * 1rem), calc(13 / 1400 * 100vw), calc(13 / 16 * 1rem)); }
  .post-header .tagcloud {
    justify-content: center; }
  .post-header .post-header__post-thumb {
    text-align: center;
    margin-top: clamp(calc(32 * 1px), calc(40 / 1400 * 100vw), calc(40 * 1px)); }
    .post-header .post-header__post-thumb img {
      max-height: 450px;
      width: auto; }
      @media (width >= 1024px) {
        .post-header .post-header__post-thumb img {
          max-height: 800px; } }

/* ---------------------------------------------------------
   share
----------------------------------------------------------*/
.post-share {
  padding: var(--item_spacing_md);
  background: var(--color_whitesmoke); }
  .post-share .post-share__title {
    margin-bottom: 1.5em;
    font-size: clamp(calc(14 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
    font-weight: 500;
    text-align: center; }
  @media print {
    .post-share {
      display: none; } }

.share-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px; }
  @media (width >= 768px) {
    .share-list {
      grid-template-columns: repeat(4, 1fr); } }
  .share-list li {
    position: relative; }
    .share-list li a, .share-list li button {
      display: grid;
      width: 100%;
      grid-template-columns: max-content 1fr auto;
      align-items: center;
      gap: 8px;
      padding: 0.6em 1em;
      background: #fff;
      border: 1px solid var(--color_border_1);
      border-radius: 100px;
      font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
      line-height: 1;
      color: inherit;
      text-align: center;
      text-decoration: none;
      transition: all 0.2s; }
      @media (hover: hover) {
        .share-list li a:hover, .share-list li button:hover {
          color: var(--color_gray); } }
      .share-list li a::before, .share-list li button::before {
        display: block;
        content: "";
        width: 24px;
        aspect-ratio: 1 / 1;
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center; }
      .share-list li a[href*="facebook.com"]::before, .share-list li button[href*="facebook.com"]::before {
        background: var(--sns_facebook);
        mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20500%20500%22%3E%3Cpath%20d%3D%22M500%20250C500%20111.9%20388.1%200%20250%200S0%20111.9%200%20250s80.7%20215.6%20189.6%20242.6V326.4H138V250h51.6v-32.9c0-85.1%2038.5-124.5%20122-124.5s43.2%203.1%2054.3%206.2v69.3c-5.9-.6-16.1-.9-28.9-.9-41%200-56.8%2015.5-56.8%2055.9v27h81.7l-14%2076.4h-67.6v171.8C404.1%20483.3%20500%20377.9%20500%20250.1Z%22%20style%3D%22fill%3A%230866ff%22%2F%3E%3C%2Fsvg%3E"); }
      .share-list li a[href*="twitter.com"]::before, .share-list li a[href*="x.com"]::before, .share-list li button[href*="twitter.com"]::before, .share-list li button[href*="x.com"]::before {
        background: var(--sns_x);
        mask-size: 70%;
        mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%201227%22%3E%3Cpath%20d%3D%22M714.2%20519.3%201160.9%200H1055L667.1%20450.9%20357.3%200H0l468.5%20681.8L0%201226.4h105.9l409.6-476.2%20327.2%20476.2H1200L714.1%20519.3Zm-145%20168.5-47.5-67.9L144%2079.7h162.6l304.8%20436%2047.5%2067.9%20396.2%20566.7H892.5L569.2%20687.9Z%22%2F%3E%3C%2Fsvg%3E"); }
      .share-list li a[href*="line.me"]::before, .share-list li button[href*="line.me"]::before {
        background: var(--sns_line);
        mask-size: 90%;
        mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22LINE_LOGO%22%20data-name%3D%22LINE%20LOGO%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22320%22%20viewBox%3D%220%200%20320%20320%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%2306c755%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M189.842%2C121.855h-7.566c-1.125%2C0-2.037.912-2.037%2C2.037v27.655l-21.303-28.769c-.049-.074-.105-.143-.164-.211-.004-.005-.009-.01-.013-.015-.039-.044-.08-.086-.123-.127-.013-.012-.026-.023-.038-.035-.036-.032-.073-.064-.111-.093-.018-.014-.037-.027-.055-.041-.035-.026-.071-.05-.108-.074-.021-.013-.042-.026-.062-.038-.037-.022-.074-.043-.112-.062-.021-.011-.043-.021-.065-.031-.039-.018-.079-.035-.119-.051-.022-.008-.044-.016-.066-.024-.041-.014-.082-.028-.124-.04-.024-.007-.048-.013-.072-.018-.04-.01-.08-.019-.121-.026-.029-.005-.058-.009-.087-.013-.037-.005-.073-.01-.11-.013-.036-.003-.072-.004-.109-.005-.023%2C0-.046-.004-.07-.004h-7.525c-1.125%2C0-2.037.912-2.037%2C2.037v46.562c0%2C1.125.912%2C2.037%2C2.037%2C2.037h7.566c1.125%2C0%2C2.037-.912%2C2.037-2.037v-27.646l21.33%2C28.806c.147.208.326.378.525.513.008.006.016.011.024.016.042.028.084.053.128.078.019.011.039.022.059.033.032.017.065.033.099.048.033.015.066.029.1.043.021.008.043.016.065.024.046.016.093.032.141.045.01.003.019.005.029.008.17.045.348.071.532.071h7.525c1.125%2C0%2C2.037-.912%2C2.037-2.037v-46.562c0-1.125-.912-2.037-2.037-2.037ZM120.289%2C160.85h-20.371v-36.958c0-1.12-.917-2.037-2.037-2.037h-7.566c-1.125%2C0-2.037.912-2.037%2C2.037v46.561c0%2C1.125.912%2C2.037%2C2.037%2C2.037h29.974c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037ZM138.333%2C121.855h-7.566c-1.125%2C0-2.037.912-2.037%2C2.037v46.562c0%2C1.125.912%2C2.037%2C2.037%2C2.037h7.566c1.125%2C0%2C2.037-.912%2C2.037-2.037v-46.562c0-1.125-.912-2.037-2.037-2.037ZM247.86%2C0H72.14C32.298%2C0%2C0%2C32.298%2C0%2C72.14v175.719c0%2C39.842%2C32.298%2C72.14%2C72.14%2C72.14h175.72c39.842%2C0%2C72.14-32.298%2C72.14-72.14V72.14C320%2C32.298%2C287.702%2C0%2C247.86%2C0ZM243.787%2C198.194h.005c-22.384%2C25.762-72.437%2C57.143-83.824%2C61.941-11.386%2C4.797-9.707-3.056-9.241-5.752.271-1.605%2C1.523-9.133%2C1.523-9.133.359-2.724.73-6.951-.345-9.647-1.195-2.97-5.926-4.511-9.399-5.261-51.27-6.776-89.225-42.619-89.225-85.418%2C0-47.739%2C47.864-86.579%2C106.688-86.579s106.689%2C38.84%2C106.689%2C86.579c0%2C19.106-7.408%2C36.313-22.869%2C53.27ZM231.163%2C121.855h-29.974c-1.125%2C0-2.037.912-2.037%2C2.037v46.561c0%2C1.125.912%2C2.037%2C2.037%2C2.037h29.974c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037h-20.37v-7.857h20.37c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037h-20.37v-7.857h20.37c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037Z%22%2F%3E%0A%3C%2Fsvg%3E"); }
      .share-list li a[class*="copy-url-btn"]::before, .share-list li button[class*="copy-url-btn"]::before {
        background: var(--color_text_1);
        mask-size: 70%;
        mask-image: url("data:image/svg+xml,%3Csvg%20id%3D%22fi_3462381%22%20enable-background%3D%22new%200%200%20512.001%20512.001%22%20height%3D%22512%22%20viewBox%3D%220%200%20512.001%20512.001%22%20width%3D%22512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m124.216%20512.001c-32.708.001-63.596-12.96-87.427-36.79-24.953-24.954-37.987-57.649-36.703-92.064%201.327-35.543%2017.384-69.686%2046.436-98.738l52.308-52.521c7.794-7.827%2020.457-7.853%2028.284-.058%207.826%207.794%207.853%2020.458.058%2028.284l-52.336%2052.551c-42.411%2042.411-46.413%2097.61-9.761%20134.262%2036.653%2036.655%2091.852%2032.652%20134.232-9.732l71.887-71.887c21.789-21.788%2033.805-46.667%2034.748-71.945.865-23.17-8.019-45.291-25.015-62.287-5.695-5.694-11.996-10.526-18.729-14.361-9.598-5.467-12.947-17.68-7.48-27.277%205.468-9.598%2017.681-12.946%2027.277-7.48%209.838%205.604%2018.995%2012.614%2027.217%2020.835%2024.953%2024.953%2037.987%2057.648%2036.703%2092.063-1.327%2035.543-17.384%2069.687-46.436%2098.738l-71.887%2071.887c-29.053%2029.052-63.195%2045.108-98.738%2046.436-1.548.055-3.097.084-4.638.084zm133.068-189.436c5.467-9.598%202.117-21.811-7.48-27.277-6.733-3.835-13.035-8.667-18.729-14.36-36.652-36.653-32.65-91.852%209.732-134.234l71.887-71.886c42.383-42.381%2097.581-46.384%20134.232-9.732%2036.652%2036.652%2032.65%2091.851-9.761%20134.262l-52.336%2052.551c-7.795%207.826-7.769%2020.49.058%2028.284%207.826%207.795%2020.489%207.767%2028.284-.058l52.308-52.522c29.052-29.052%2045.108-63.195%2046.436-98.737%201.284-34.415-11.75-67.111-36.703-92.064-24.954-24.954-57.666-37.986-92.064-36.704-35.543%201.327-69.686%2017.384-98.737%2046.436l-71.888%2071.886c-29.052%2029.052-45.108%2063.195-46.436%2098.737-1.284%2034.415%2011.75%2067.111%2036.703%2092.065%208.221%208.22%2017.378%2015.229%2027.217%2020.834%203.124%201.779%206.524%202.625%209.88%202.625%206.953-.001%2013.709-3.633%2017.397-10.106z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }

/* ---------------------------------------------------------
   tag
----------------------------------------------------------*/
.post-tag {
  padding: var(--item_spacing_md);
  background: var(--color_whitesmoke);
  border-radius: var(--radius); }
  .post-tag .post-tag__title {
    margin-bottom: 1.5em;
    font-size: clamp(calc(14 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
    font-weight: 500;
    text-align: center; }

/*==========================================================
 
   archive
 
==========================================================*/
.archive-title {
  margin-bottom: 1.6em;
  font-size: clamp(calc(18 / 16 * 1rem), calc(24 / 1400 * 100vw), calc(24 / 16 * 1rem)); }

.category-description {
  margin-bottom: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }

.archive-nav {
  margin-bottom: clamp(calc(32 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px)); }

.archive-nav-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8em; }
  .archive-nav-menu li.current-cat a {
    background: var(--color_gray);
    color: #fff; }
  .archive-nav-menu li a {
    display: inline-block;
    padding: 0.4em 1.2em;
    border-radius: 10rem;
    background: #fff;
    font-size: clamp(calc(14 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem));
    line-height: 1.5;
    text-decoration: none;
    text-transform: uppercase;
    color: inherit;
    transition: .2s; }
    @media (hover: hover) {
      .archive-nav-menu li a:hover {
        background: var(--color_gray);
        color: #fff; } }
  .archive-nav-menu li ul {
    display: none; }

@media (width < 768px) {
  .post-scroll-xs-down {
    margin-left: calc(-1 * var(--body_spacing));
    margin-right: calc(-1 * var(--body_spacing));
    scroll-snap-type: x mandatory;
    overflow-x: scroll; }
    .post-scroll-xs-down .post-list {
      grid-template-columns: none;
      grid-auto-flow: column;
      grid-auto-columns: 80vw;
      padding-left: var(--body_spacing);
      margin-bottom: 24px; }
      .post-scroll-xs-down .post-list > li {
        scroll-snap-align: center; }
      .post-scroll-xs-down .post-list::after {
        display: block;
        content: "";
        width: 10px;
        height: 1px; } }

.post-list .post-item {
  position: relative;
  container-type: inline-size;
  margin-bottom: clamp(calc(20 * 1px), calc(40 / 1400 * 100vw), calc(40 * 1px));
  padding-bottom: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  border-bottom: 1px solid var(--color_border_1); }
  @media (hover: hover) {
    .post-list .post-item:has(.post-item__title a:hover) .post-item__thumb img {
      transform: scale(1.1); } }
.post-list .post-item__thumb {
  margin-bottom: clamp(calc(16 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px));
  overflow: hidden; }
  .post-list .post-item__thumb img {
    transition: transform 0.2s ease-in-out; }
.post-list .post-item__content {
  display: flex;
  flex-direction: column;
  gap: 10px; }
.post-list .post-item_icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  transform: translate(20%, -20%);
  transform-origin: right top;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color_2);
  border-radius: 100%;
  font-size: clamp(calc(10 / 16 * 1rem), calc(11 / 1400 * 100vw), calc(11 / 16 * 1rem));
  font-weight: bold; }
.post-list .post-item_meta {
  display: flex;
  gap: 16px; }
.post-list .post-item__title {
  font-size: clamp(calc(13 / 16 * 1rem), calc(18 / 300 * 100cqi), calc(18 / 16 * 1rem));
  font-weight: 500;
  line-height: 1.6; }
  .post-list .post-item__title a {
    color: inherit;
    text-decoration: none; }
    .post-list .post-item__title a::before {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    @media (hover: hover) {
      .post-list .post-item__title a {
        transition: .2s; }
        .post-list .post-item__title a:hover {
          color: var(--color_1_darken); } }
.post-list .post-item__date {
  font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
.post-list .post-item__category, .post-list .post-item__tag {
  position: relative;
  z-index: 1; }
.post-list .post-item__excerpt {
  margin-bottom: 0.5em;
  color: var(--color_gray);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
  line-height: 1.8; }

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--content_width_md);
  margin-left: auto !important;
  margin-right: auto !important; }
  .single-post .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--content_width_sm); }
  .single-event .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--content_width_sm); }
.is-layout-constrained .alignwide {
  max-width: var(--content_width_lg); }
.is-layout-constrained .aligncenter {
  margin-inline: auto !important; }
.is-layout-constrained .alignleft {
  float: left;
  margin-inline-end: 3em; }
.is-layout-constrained .alignright {
  float: right;
  margin-inline-start: 3em; }
.is-layout-constrained > iframe {
  display: block;
  width: 100%; }

:root :where(.is-layout-constrained) > * {
  margin-block-start: var(--item_v_spacing); }

.has-inline-padding {
  padding-inline: var(--body_spacing); }
  .has-inline-padding > .alignfull {
    margin-right: calc(var(--body_spacing)* -1);
    margin-left: calc(var(--body_spacing)* -1); }

.post-content > *:first-child {
  margin-top: 0; }
.post-content > *:last-child {
  margin-bottom: clamp(calc(48 * 1px), calc(96 / 1400 * 100vw), calc(96 * 1px)); }
.post-content :where(a:not([class])) {
  text-decoration: underline; }
.post-content :where(p:not(.has-background)):has(+ :where(p)) {
  margin-bottom: 0.8em; }
.post-content :where(p:not(.has-background)) + :where(p:not(.has-background)) {
  margin-top: 0.8em; }
.post-content :where([style*=border-width]) {
  border-style: solid; }
.post-content :where([style*=border-radius]) {
  overflow: hidden; }

/* ---------------------------------------------------------
   for wp Admin Bar covers Fixed contents
----------------------------------------------------------*/
:root {
  --wp_adminbar_height: 32px; }
  @media screen and (max-width: 782px) {
    :root {
      --wp_adminbar_height: 46px; } }

.admin-bar .global-header, .admin-bar .modal-menu {
  top: var(--wp_adminbar_height); }

#wpadminbar {
  position: fixed; }

/*==========================================================
 
	 コアブロック
 
==========================================================*/
h1.wp-block-heading, h1:not([class]) {
  --min_font_size: 22;
  --max_font_size: 28; }

h2.wp-block-heading, h2:not([class]) {
  --min_font_size: 20;
  --max_font_size: 24; }

h3.wp-block-heading, h3:not([class]) {
  --min_font_size: 18;
  --max_font_size: 20; }

h4.wp-block-heading, h4:not([class]) {
  --min_font_size: 16;
  --max_font_size: 16; }

h5.wp-block-heading, h5:not([class]) {
  --min_font_size: 14;
  --max_font_size: 14; }

h6.wp-block-heading, h6:not([class]) {
  --min_font_size: 12;
  --max_font_size: 12; }

.wp-block-heading, h1:not([class]), h2:not([class]), h3:not([class]), h4:not([class]), h5:not([class]), h6:not([class]) {
  margin-block-start: 3em;
  margin-block-end: 1em;
  font-size: clamp(calc(var(--min_font_size) / 16 * 1rem), calc(var(--max_font_size) / 1400 * 100vw), calc(var(--max_font_size) / 16 * 1rem));
  line-height: clamp(calc(1.2 - (var(--min_font_size) - 16) * 0.01), calc(1.7 - (var(--min_font_size) - 16) * 0.01), calc(1.7 - (var(--max_font_size) - 16) * 0.01)); }
  .wp-block-heading + *, h1:not([class]) + *, h2:not([class]) + *, h3:not([class]) + *, h4:not([class]) + *, h5:not([class]) + *, h6:not([class]) + * {
    margin-block-start: 0.5em; }

.wp-block-button__link {
  font-size: inherit; }

.wp-block-footnotes {
  padding: 2em 0 0 0;
  border-top: 1px solid var(--color_border_1);
  font-size: 80%;
  line-height: 1.6; }

sup.fn {
  margin-right: 0.4em;
  font-size: 80%;
  vertical-align: super; }
  sup.fn::before {
    content: "["; }
  sup.fn::after {
    content: "]"; }

.wp-block-image figcaption {
  margin-top: 1em;
  color: var(--color_text_1); }

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  font-size: clamp(calc(11 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }

.blocks-gallery-caption {
  color: var(--color_text_1); }

.wp-block-table th, .wp-block-table td {
  padding: 0.6em 1em; }
.wp-block-table figcaption {
  margin: 1em 0;
  color: var(--color_text_1); }

.wp-block-quote {
  padding-left: 2em;
  border-color: var(--color_lightgray);
  color: var(--color_gray); }

.wp-block-pullquote {
  font-size: inherit; }

.wp-block-media-text.has-background > .wp-block-media-text__content {
  padding-block: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
  .wp-block-media-text.has-background > .wp-block-media-text__content > *:first-child {
    margin-top: 0; }
  .wp-block-media-text.has-background > .wp-block-media-text__content > *:last-child {
    margin-bottom: 0; }

.wp-block-separator {
  border-width: 0 0 1px 0; }

.wp-block-spacer {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.wp-block-file .wp-block-file__button {
  padding: 0.5em 1.5em; }
  .wp-block-file .wp-block-file__button::after {
    content: none; }

/* style.min.cssには、ウィジェットの「aligncenter」のスタイルだけが書かれていないため */
.wp-block-categories.aligncenter,
.wp-block-latest-posts.aligncenter,
.wp-block-archives.aligncenter,
.wp-block-tag-cloud.aligncenter,
.wp-block-latest-comments.aligncenter,
.wp-block-rss.aligncenter {
  text-align: center; }

.is-position-sticky {
  top: calc(var(--global_header_height) + 60px) !important; }

/*==========================================================
 
	 ブロックスタイル（functions.phpで定義する）
 
==========================================================*/
/* paragraph */
@media (min-width: 782px) {
  .is-style-text-center-br-on-tablet {
    text-align: center; } }
@media (max-width: 781px) {
  .is-style-text-center-br-on-tablet br {
    display: none; } }

@media (max-width: 781px) {
  .is-style-text-center-on-mobile {
    text-align: center; } }

/* heading */
.is-style-heading--vertical {
  writing-mode: vertical-rl;
  white-space: nowrap; }

@media (min-width: 782px) {
  .is-style-heading--vertical-on-tablet {
    writing-mode: vertical-rl;
    white-space: nowrap; } }

/* list */
/* image */
.is-style-potision-right {
  text-align: right; }

/* table */
.is-style-table table thead, .is-style-table table tfoot {
  border: none; }

.is-style-table-bordered table thead, .is-style-table-bordered table tfoot {
  border: none; }
.is-style-table-bordered table th, .is-style-table-bordered table td {
  border-top: none;
  border-left: none;
  border-right: none; }

/* button */
.is-style-link .wp-block-button__link {
  background: none;
  padding: 0; }

/* cover */
.is-style-cover-spacing-md {
  padding-block: clamp(calc(64 * 1px), calc(96 / 1400 * 100vw), calc(96 * 1px));
  padding-inline: var(--body_spacing); }

/* details */
/* columns */
@media (max-width: 781px) {
  .is-style-reverse-on-mobile {
    flex-direction: column-reverse; } }

@media (min-width: 782px) {
  .wp-block-columns.is-style-stacked-on-tablet {
    flex-wrap: wrap !important; }
    .wp-block-columns.is-style-stacked-on-tablet > .wp-block-column {
      flex-basis: 100% !important; } }

/* columns・column・group */
/* group */
.is-style-section-spacing-sm {
  padding-block: clamp(calc(48 * 1px), calc(64 / 1400 * 100vw), calc(64 * 1px));
  padding-inline: var(--body_spacing); }

.is-style-section-spacing-md {
  padding-block: clamp(calc(64 * 1px), calc(96 / 1400 * 100vw), calc(96 * 1px));
  padding-inline: var(--body_spacing); }

.is-style-section-spacing-lg {
  padding-block: clamp(calc(80 * 1px), calc(128 / 1400 * 100vw), calc(128 * 1px));
  padding-inline: var(--body_spacing); }

/*==========================================================
 
	 その他（高度な設定にCSSを追加する）
 
==========================================================*/
/* SPとPCの向きが変わる矢印  */
.wp-block-image-arrow-b-to-r figure {
  font-size: 0; }
@media (max-width: 781px) {
  .wp-block-image-arrow-b-to-r img {
    transform: rotate(90deg); } }

.post-content blockquote:not([class]) {
  padding-left: 1em;
  border-left: 4px solid var(--color_lightgray);
  color: var(--color_gray); }
.post-content .wp-block-pullquote blockquote {
  padding: 0;
  border: none;
  color: inherit; }

.wp-caption.aligncenter, [class*="wp-image-"].aligncenter {
  display: block; }

.wp-caption {
  text-align: center;
  max-width: 100%;
  height: auto;
  margin-bottom: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
  .wp-caption .wp-caption-text {
    margin: 0;
    padding: 1em 0 0;
    font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }

.gallery {
  display: grid;
  gap: clamp(calc(8 * 1px), calc(16 / 1400 * 100vw), calc(16 * 1px)); }
  .gallery.gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr); }
  .gallery.gallery-columns-3 {
    grid-template-columns: repeat(2, 1fr); }
  .gallery.gallery-columns-4 {
    grid-template-columns: repeat(2, 1fr); }
  .gallery.gallery-columns-5 {
    grid-template-columns: repeat(2, 1fr); }
  .gallery.gallery-columns-6 {
    grid-template-columns: repeat(2, 1fr); }
  .gallery.gallery-columns-7 {
    grid-template-columns: repeat(2, 1fr); }
  .gallery.gallery-columns-8 {
    grid-template-columns: repeat(2, 1fr); }
  .gallery.gallery-columns-9 {
    grid-template-columns: repeat(2, 1fr); }
  @media (width >= 768px) {
    .gallery.gallery-columns-3 {
      grid-template-columns: repeat(3, 1fr); }
    .gallery.gallery-columns-4 {
      grid-template-columns: repeat(3, 1fr); }
    .gallery.gallery-columns-5 {
      grid-template-columns: repeat(3, 1fr); }
    .gallery.gallery-columns-6 {
      grid-template-columns: repeat(3, 1fr); } }
  @media (width >= 1024px) {
    .gallery.gallery-columns-4 {
      grid-template-columns: repeat(4, 1fr); }
    .gallery.gallery-columns-5 {
      grid-template-columns: repeat(5, 1fr); }
    .gallery.gallery-columns-6 {
      grid-template-columns: repeat(6, 1fr); }
    .gallery.gallery-columns-7 {
      grid-template-columns: repeat(7, 1fr); }
    .gallery.gallery-columns-8 {
      grid-template-columns: repeat(8, 1fr); }
    .gallery.gallery-columns-9 {
      grid-template-columns: repeat(9, 1fr); } }

.gallery-caption {
  padding: 10px 0 0;
  font-size: clamp(calc(11 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }

.container, .container-xs, .container-sm, .container-lg, .container-fluid {
  margin-inline: auto;
  padding-inline: var(--body_spacing); }

.container {
  max-width: calc( var(--content_width_md) + var(--body_spacing) * 2 ); }

.container-xs {
  max-width: calc( var(--content_width_xs) + var(--body_spacing) * 2 ); }

.container-sm {
  max-width: calc( var(--content_width_sm) + var(--body_spacing) * 2 ); }

.container-lg {
  max-width: calc( var(--content_width_lg) + var(--body_spacing) * 2 ); }

.has-inline-padding-sm {
  padding-inline: var(--body_spacing_sm); }

.has-inline-padding-lg {
  padding-inline: var(--body_spacing_lg); }

.grid {
  display: grid; }

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)); }

.col-span-1 {
  grid-column: span 1/span 1; }

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.col-span-2 {
  grid-column: span 2/span 2; }

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.col-span-3 {
  grid-column: span 3/span 3; }

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)); }

.col-span-4 {
  grid-column: span 4/span 4; }

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr)); }

.col-span-5 {
  grid-column: span 5/span 5; }

.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr)); }

.col-span-6 {
  grid-column: span 6/span 6; }

@media (width >= 768px) {
  .sm\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }

  .sm\:col-span-1 {
    grid-column: span 1/span 1; }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .sm\:col-span-2 {
    grid-column: span 2/span 2; }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .sm\:col-span-3 {
    grid-column: span 3/span 3; }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .sm\:col-span-4 {
    grid-column: span 4/span 4; }

  .sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }

  .sm\:col-span-5 {
    grid-column: span 5/span 5; }

  .sm\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }

  .sm\:col-span-6 {
    grid-column: span 6/span 6; } }
@media (width >= 1024px) {
  .md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }

  .md\:col-span-1 {
    grid-column: span 1/span 1; }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .md\:col-span-2 {
    grid-column: span 2/span 2; }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .md\:col-span-3 {
    grid-column: span 3/span 3; }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .md\:col-span-4 {
    grid-column: span 4/span 4; }

  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }

  .md\:col-span-5 {
    grid-column: span 5/span 5; }

  .md\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }

  .md\:col-span-6 {
    grid-column: span 6/span 6; } }
@media (width >= 1440px) {
  .lg\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }

  .lg\:col-span-1 {
    grid-column: span 1/span 1; }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .lg\:col-span-2 {
    grid-column: span 2/span 2; }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .lg\:col-span-3 {
    grid-column: span 3/span 3; }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }

  .lg\:col-span-4 {
    grid-column: span 4/span 4; }

  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }

  .lg\:col-span-5 {
    grid-column: span 5/span 5; }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }

  .lg\:col-span-6 {
    grid-column: span 6/span 6; } }
/* ---------------------------------------------------------
   gap
----------------------------------------------------------*/
.gap-none {
  gap: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px); }

.gap-xs {
  gap: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px); }

.gap-sm {
  gap: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px); }

.gap-md {
  gap: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px); }

.gap-lg {
  gap: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

.gap-xl {
  gap: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px); }

.gap-2xl {
  gap: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.row-gap-none {
  row-gap: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px); }

.row-gap-xs {
  row-gap: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px); }

.row-gap-sm {
  row-gap: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px); }

.row-gap-md {
  row-gap: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px); }

.row-gap-lg {
  row-gap: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

.row-gap-xl {
  row-gap: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px); }

.row-gap-2xl {
  row-gap: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.column-gap-none {
  column-gap: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px); }

.column-gap-xs {
  column-gap: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px); }

.column-gap-sm {
  column-gap: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px); }

.column-gap-md {
  column-gap: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px); }

.column-gap-lg {
  column-gap: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

.column-gap-xl {
  column-gap: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px); }

.column-gap-2xl {
  column-gap: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

/* section-spacing */
.section-spacing-xs {
  padding-block: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px); }

.section-spacing-xs-top {
  padding-block-start: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px); }

.section-spacing-xs-bottom {
  padding-block-end: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px); }

.section-spacing-sm {
  padding-block: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

.section-spacing-sm-top {
  padding-block-start: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

.section-spacing-sm-bottom {
  padding-block-end: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

.section-spacing-md {
  padding-block: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.section-spacing-md-top {
  padding-block-start: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.section-spacing-md-bottom {
  padding-block-end: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.section-spacing-lg {
  padding-block: clamp(calc(128px / 2), calc(128 / 1400 * 100vw), 128px); }

.section-spacing-lg-top {
  padding-block-start: clamp(calc(128px / 2), calc(128 / 1400 * 100vw), 128px); }

.section-spacing-lg-bottom {
  padding-block-end: clamp(calc(128px / 2), calc(128 / 1400 * 100vw), 128px); }

.section-spacing-xl {
  padding-block: clamp(calc(160px / 2), calc(160 / 1400 * 100vw), 160px); }

.section-spacing-xl-top {
  padding-block-start: clamp(calc(160px / 2), calc(160 / 1400 * 100vw), 160px); }

.section-spacing-xl-bottom {
  padding-block-end: clamp(calc(160px / 2), calc(160 / 1400 * 100vw), 160px); }

.section-spacing-2xl {
  padding-block: clamp(calc(192px / 2), calc(192 / 1400 * 100vw), 192px); }

.section-spacing-2xl-top {
  padding-block-start: clamp(calc(192px / 2), calc(192 / 1400 * 100vw), 192px); }

.section-spacing-2xl-bottom {
  padding-block-end: clamp(calc(192px / 2), calc(192 / 1400 * 100vw), 192px); }

.section-spacing {
  padding-block: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.section-spacing-top {
  padding-block-start: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.section-spacing-bottom {
  padding-block-end: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

/* section-header */
.section-header-sm {
  margin-bottom: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px); }

.section-header-md {
  margin-bottom: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

.section-header-lg {
  margin-bottom: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px); }

.section-header {
  margin-bottom: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px); }

/* section-title */
.section-title {
  margin-bottom: 16px; }
  .section-title .section-title__main, .section-title .section-title__sub {
    display: block; }
  .section-title .section-title__main {
    font-family: var(--font_en_1);
    font-size: clamp(calc(40 / 16 * 1rem), calc(96 / 1400 * 100vw), calc(96 / 16 * 1rem));
    font-weight: normal;
    line-height: 1.1; }
  .section-title .section-title__sub {
    font-size: clamp(calc(14 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
    line-height: 1.5; }

.section-title-02 {
  margin-bottom: 16px; }
  .section-title-02 .section-title__main, .section-title-02 .section-title__sub {
    display: block; }
  .section-title-02 .section-title__main {
    font-size: clamp(calc(24 / 16 * 1rem), calc(36 / 1400 * 100vw), calc(36 / 16 * 1rem));
    line-height: 1.2; }
  .section-title-02 .section-title__sub {
    margin-top: 0.5em;
    font-size: clamp(calc(14 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
    line-height: 1.5;
    color: var(--color_gray); }

.section-lead {
  font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem)); }
  .section-lead *:last-child {
    margin-bottom: 0; }

.cover {
  position: relative;
  padding-block: clamp(calc(64 * 1px), calc(128 / 1400 * 100vw), calc(128 * 1px));
  padding-inline: var(--body_spacing);
  background: center center / cover no-repeat;
  color: #fff; }
  .cover:before {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2); }
  .cover > * {
    position: relative; }

.heading-6xl {
  --min_font_size: 32;
  --max_font_size: 48; }

.heading-5xl {
  --min_font_size: 30;
  --max_font_size: 44; }

.heading-4xl {
  --min_font_size: 28;
  --max_font_size: 40; }

.heading-3xl {
  --min_font_size: 26;
  --max_font_size: 36; }

.heading-2xl {
  --min_font_size: 24;
  --max_font_size: 32; }

.heading-xl {
  --min_font_size: 22;
  --max_font_size: 28; }

.heading-lg {
  --min_font_size: 20;
  --max_font_size: 24; }

.heading-md {
  --min_font_size: 18;
  --max_font_size: 20; }

.heading-sm {
  --min_font_size: 16;
  --max_font_size: 16; }

.heading-xs {
  --min_font_size: 14;
  --max_font_size: 14; }

.heading-2xs {
  --min_font_size: 12;
  --max_font_size: 12; }

.heading-6xl,
.heading-5xl,
.heading-4xl,
.heading-3xl,
.heading-2xl,
.heading-xl,
.heading-lg,
.heading-md,
.heading-sm,
.heading-xs,
.heading-2xs {
  font-size: clamp(calc(var(--min_font_size) / 16 * 1rem), calc(var(--max_font_size) / 1400 * 100vw), calc(var(--max_font_size) / 16 * 1rem));
  line-height: clamp(calc(1.2 - (var(--min_font_size) - 16) * 0.01), calc(1.7 - (var(--min_font_size) - 16) * 0.01), calc(1.7 - (var(--max_font_size) - 16) * 0.01));
  margin-block-end: 1em; }

.heading--line-center {
  display: flex;
  align-items: center;
  text-align: center; }
  .heading--line-center::before, .heading--line-center::after {
    display: block;
    content: "";
    flex: 1 0 24px;
    border-top: 1px solid var(--color_border_1); }
  .heading--line-center::before {
    margin-right: 24px; }
  .heading--line-center::after {
    margin-left: 24px; }

.heading--line {
  padding-block: 0.8em;
  border-top: 1px solid var(--color_border_1);
  border-bottom: 1px solid var(--color_border_1); }

.heading--line-top, .is-style-heading--line-top {
  padding-top: 1.2em;
  border-top: 1px solid var(--color_border_1); }

.heading--line-bottom, .is-style-heading--line-bottom {
  padding-bottom: 0.8em;
  border-bottom: 1px solid var(--color_border_1); }

.heading--underline, .is-style-heading--underline {
  padding-bottom: 2px;
  line-height: 2.2 !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.6em; }

.heading--bar::after, .is-style-heading--bar::after {
  content: "";
  display: block;
  width: 40px;
  padding-bottom: 0.8em;
  border-bottom: 2px solid var(--color_1); }
.heading--bar.text-center::after, .text-center.is-style-heading--bar::after, .heading--bar.has-text-align-center::after, .has-text-align-center.is-style-heading--bar::after {
  margin: 0 auto; }
.heading--bar.text-right::after, .text-right.is-style-heading--bar::after, .heading--bar.has-text-align-right::after, .has-text-align-right.is-style-heading--bar::after {
  margin-left: auto; }

.heading--box, .is-style-heading--box {
  padding: 0.6em 1.2em;
  background: var(--color_whitesmoke);
  border-radius: 4px; }

.heading--oblique {
  display: flex;
  align-items: flex-end;
  text-align: center; }
  .heading--oblique::before, .heading--oblique::after {
    content: "";
    width: 2px;
    height: 0.8em;
    margin-bottom: 0.1em;
    background: currentColor; }
  .heading--oblique::before {
    rotate: -45deg;
    margin-right: 0.6em; }
  .heading--oblique::after {
    rotate: 45deg;
    margin-left: 0.6em; }
  .heading--oblique.text-center {
    justify-content: center; }
  .heading--oblique.text-right {
    justify-content: flex-end; }

.heading--balloon {
  position: relative;
  padding: 0.4em 1em 0.5em;
  border-radius: 100px;
  background: var(--color_1);
  color: #fff;
  text-align: center; }
  .heading--balloon::after {
    position: absolute;
    top: 100%;
    left: 50%;
    translate: -50%;
    margin-top: -1px;
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px calc(12px / 2) 0 calc(12px / 2);
    border-color: var(--color_1) transparent transparent transparent; }
  @media (width < 768px) {
    .heading--balloon.heading--balloon--radius-xs-down {
      border-radius: 5px; } }

.heading--circle {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.8em; }
  .heading--circle::before {
    align-self: top;
    display: block;
    content: "";
    width: 0.6em;
    height: 0.6em;
    margin-top: 0.5em;
    background: var(--color_1);
    border-radius: 100%; }

.color-blue {
  color: var(--color_1); }

.color-orange {
  color: var(--color_2); }

.color-red {
  color: var(--color_red); }

.color-white {
  color: #fff; }

.color-lightgray {
  color: var(--color_lightgray); }

.color-gray {
  color: var(--color_gray); }

.color-black {
  color: var(--color_text_1); }

.marker-red {
  background: linear-gradient(transparent 60%, rgba(244, 64, 52, 0.1) 60%); }

.marker-yellow {
  background: linear-gradient(transparent 60%, rgba(255, 240, 0, 0.4) 60%); }

.highlight {
  display: inline-block;
  padding: 0.2em 0.4em;
  background: var(--color_1);
  color: #fff;
  line-height: 1; }

.text-dot {
  display: inline-block;
  margin: 0.2em 0 0; }
  .text-dot span {
    position: relative; }
    .text-dot span::before {
      position: absolute;
      top: -0.9em;
      left: 50%;
      transform: translate(-50%, 0);
      color: currentColor;
      font-size: 0.8em;
      content: "・"; }

.font-2xs {
  font-size: 60% !important; }

.font-xs {
  font-size: 80% !important; }

.font-sm {
  font-size: 90% !important; }

.font-default {
  font-size: 100% !important; }

.font-lg {
  font-size: 120% !important; }

.font-xl {
  font-size: 140% !important; }

.font-2xl {
  font-size: 160% !important; }

.font-3xl {
  font-size: 180% !important; }

.font-light {
  font-weight: 300; }

.font-normal {
  font-weight: 400; }

.font-bold {
  font-weight: 700; }

.font-black {
  font-weight: 900; }

.font-italic {
  font-style: italic; }

.font-en {
  font-family: var(--font_en_1); }

.text-uppercase {
  text-transform: uppercase; }

.text-nowrap {
  white-space: nowrap; }

.text-center {
  text-align: center; }

@media (width >= 768px) {
  .text-center-sm-up {
    text-align: center; } }
@media (width >= 1024px) {
  .text-center-md-up {
    text-align: center; } }
@media (width >= 1440px) {
  .text-center-lg-up {
    text-align: center; } }
@media (width < 768px) {
  .text-center-xs-down {
    text-align: center; } }
@media (width < 1024px) {
  .text-center-sm-down {
    text-align: center; } }
@media (width < 1440px) {
  .text-center-md-down {
    text-align: center; } }
.text-right {
  text-align: right; }

@media (width >= 768px) {
  .text-right-sm-up {
    text-align: right; } }
@media (width >= 1024px) {
  .text-right-md-up {
    text-align: right; } }
@media (width >= 1440px) {
  .text-right-lg-up {
    text-align: right; } }
@media (width < 768px) {
  .text-right-xs-down {
    text-align: right; } }
@media (width < 1024px) {
  .text-right-sm-down {
    text-align: right; } }
@media (width < 1440px) {
  .text-right-md-down {
    text-align: right; } }
.text-left {
  text-align: left; }

@media (width >= 768px) {
  .text-left-sm-up {
    text-align: left; } }
@media (width >= 1024px) {
  .text-left-md-up {
    text-align: left; } }
@media (width >= 1440px) {
  .text-left-lg-up {
    text-align: left; } }
@media (width < 768px) {
  .text-left-xs-down {
    text-align: left; } }
@media (width < 1024px) {
  .text-left-sm-down {
    text-align: left; } }
@media (width < 1440px) {
  .text-left-md-down {
    text-align: left; } }
.br-sm-up br, .br-md-up br, .br-lg-up br, .br-xs-down br, .br-sm-down br, .br-md-down br, br.br-sm-up, br.br-md-up, br.br-lg-up, br.br-xs-down, br.br-sm-down, br.br-md-down {
  display: none; }

@media (width >= 768px) {
  .br-sm-up br, br.br-sm-up {
    display: block; } }
@media (width >= 1024px) {
  .br-md-up br, br.br-md-up {
    display: block; } }
@media (width >= 1440px) {
  .br-lg-up br, br.br-lg-up {
    display: block; } }
@media (width < 768px) {
  .br-xs-down br, br.br-xs-down {
    display: block; } }
@media (width < 1024px) {
  .br-sm-down br, br.br-sm-down {
    display: block; } }
@media (width < 1440px) {
  .br-md-down br, br.br-md-down {
    display: block; } }
.blockquote {
  position: relative;
  padding: var(--item_spacing_md);
  padding-top: 40px;
  background: var(--color_bg_1);
  border-radius: var(--radius); }
  .blockquote::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 30px;
    width: 40px;
    aspect-ratio: 1 / 1;
    background: var(--color_gray);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg%20id%3D%22fi_7350737%22%20enable-background%3D%22new%200%200%2024%2024%22%20height%3D%22512%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%22512%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m4.7%2017.7c-1-1.1-1.6-2.3-1.6-4.3%200-3.5%202.5-6.6%206-8.2l.9%201.3c-3.3%201.8-4%204.1-4.2%205.6.5-.3%201.2-.4%201.9-.3%201.8.2%203.2%201.6%203.2%203.5%200%20.9-.4%201.8-1%202.5-.7.7-1.5%201-2.5%201-1.1%200-2.1-.5-2.7-1.1zm10%200c-1-1.1-1.6-2.3-1.6-4.3%200-3.5%202.5-6.6%206-8.2l.9%201.3c-3.3%201.8-4%204.1-4.2%205.6.5-.3%201.2-.4%201.9-.3%201.8.2%203.2%201.6%203.2%203.5%200%20.9-.4%201.8-1%202.5s-1.5%201-2.5%201c-1.1%200-2.1-.5-2.7-1.1z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
  .blockquote > *:last-child {
    margin-bottom: 0; }
  .blockquote cite {
    text-align: right; }

.q {
  margin: 0 0.4em;
  color: var(--color_gray); }

p.text-indent, .text-indent li {
  padding-left: 1em;
  text-indent: -1em; }

.ul, ul.wp-block-list:not([class*="is-style-"]), .wp-block-categories-list, .wp-block-page-list, .post-content ul:not([class]), .ul ul, .ol, ol.wp-block-list:not([class*="is-style-"]), .wp-block-footnotes, .post-content ol:not([class]), .ol ol, .list-disc, .list-check, .is-style-list-check, .ol-circled, .is-style-ol-circled {
  display: grid;
  gap: .5em; }
  .ul ul, ul.wp-block-list:not([class*="is-style-"]) ul, .wp-block-categories-list ul, .wp-block-page-list ul, .post-content ul:not([class]) ul, .ol ul, ol.wp-block-list:not([class*="is-style-"]) ul, .wp-block-footnotes ul, .post-content ol:not([class]) ul, .list-disc ul, .list-check ul, .is-style-list-check ul, .ol-circled ul, .is-style-ol-circled ul, .ul ol, ul.wp-block-list:not([class*="is-style-"]) ol, .wp-block-categories-list ol, .wp-block-page-list ol, .post-content ul:not([class]) ol, .ol ol, ol.wp-block-list:not([class*="is-style-"]) ol, .wp-block-footnotes ol, .post-content ol:not([class]) ol, .list-disc ol, .list-check ol, .is-style-list-check ol, .ol-circled ol, .is-style-ol-circled ol {
    margin-top: .5em; }

.ul, ul.wp-block-list:not([class*="is-style-"]), .wp-block-categories-list, .wp-block-page-list, .post-content ul:not([class]), .ul ul {
  list-style-type: disc; }
  .ul li, ul.wp-block-list:not([class*="is-style-"]) li, .wp-block-categories-list li, .wp-block-page-list li, .post-content ul:not([class]) li {
    margin-left: 1.5em; }
  .ul ul, ul.wp-block-list:not([class*="is-style-"]) ul, .wp-block-categories-list ul, .wp-block-page-list ul, .post-content ul:not([class]) ul {
    list-style-type: circle; }

.ol li, ol.wp-block-list:not([class*="is-style-"]) li, .wp-block-footnotes li, .post-content ol:not([class]) li {
  margin-left: 1.5em; }

.list-disc {
  list-style-type: none; }
  .list-disc li {
    position: relative;
    padding-left: 2em; }
    .list-disc li::before {
      display: block;
      content: "・";
      position: absolute;
      top: 0;
      left: 0;
      font-size: 2em;
      line-height: 1;
      color: var(--color_1); }

.list-check, .is-style-list-check {
  list-style-type: none; }
  .list-check li, .is-style-list-check li {
    position: relative;
    padding-left: 1.8em; }
    .list-check li::before, .is-style-list-check li::before {
      position: absolute;
      top: 0.3em;
      left: 0;
      display: inline-block;
      content: '';
      width: 0.4em;
      height: 0.8em;
      border-style: solid;
      border-width: 0 2px 2px 0;
      border-color: var(--color_1);
      rotate: 45deg;
      transform-origin: bottom; }

.list-label, .is-style-list-label {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 !important; }
  .list-label li, .is-style-list-label li {
    padding: 0.4em 0.8em 0.3em;
    margin: 0 !important;
    background: var(--color_whitesmoke);
    border-radius: 4px;
    font-weight: 500;
    line-height: 1.4; }

.list-borderd {
  overflow: hidden;
  gap: 0; }
  .list-borderd > li::after {
    content: "";
    display: block;
    height: 1px;
    background-color: var(--color_border_1);
    margin: 1em -3em; }

.ol-circled, .is-style-ol-circled {
  list-style-type: none;
  counter-reset: ol; }
  .ol-circled li, .is-style-ol-circled li {
    counter-increment: ol;
    position: relative;
    padding-left: 1.8em; }
    .ol-circled li::before, .is-style-ol-circled li::before {
      display: flex;
      justify-content: center;
      align-items: center;
      content: counters(ol,"");
      position: absolute;
      top: 0.3em;
      left: 0;
      width: 1.7em;
      height: 1.7em;
      border-radius: 50%;
      background: var(--color_1);
      color: #fff;
      font-size: .8em;
      text-align: center; }

.btn, .is-style-btn .wp-block-button__link {
  display: inline-grid;
  grid-template-columns: auto max-content;
  align-items: center;
  padding: 0.6em 1em 0.6em 1.6em;
  background: var(--color_1);
  border-radius: 300px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight: 500; }
  @media (width < 768px) {
    .btn, .is-style-btn .wp-block-button__link {
      font-size: 80%; } }
  .btn:not([href$=".pdf"]), .is-style-btn .wp-block-button__link:not([href$=".pdf"]) {
    gap: 0.5em; }
    @media (hover: hover) {
      .btn:not([href$=".pdf"]):hover::before, .is-style-btn .wp-block-button__link:not([href$=".pdf"]):hover::before {
        scale: 1; }
      .btn:not([href$=".pdf"]):hover::after, .is-style-btn .wp-block-button__link:not([href$=".pdf"]):hover::after {
        content: "";
        display: inline-block;
        width: 6px;
        height: 6px;
        border-top: 2px solid var(--color_text_1);
        border-right: 2px solid var(--color_text_1);
        rotate: 45deg; } }
    .btn:not([href$=".pdf"])::before, .is-style-btn .wp-block-button__link:not([href$=".pdf"])::before, .btn:not([href$=".pdf"])::after, .is-style-btn .wp-block-button__link:not([href$=".pdf"])::after {
      grid-column: 2;
      grid-row: 1;
      align-self: center;
      content: "";
      transition: .2s; }
    .btn:not([href$=".pdf"])::before, .is-style-btn .wp-block-button__link:not([href$=".pdf"])::before {
      width: 1.6em;
      aspect-ratio: 1;
      background: #fff;
      border-radius: 100%;
      scale: 0; }
    .btn:not([href$=".pdf"])::after, .is-style-btn .wp-block-button__link:not([href$=".pdf"])::after {
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      border-top: 2px solid currentColor;
      border-right: 2px solid currentColor;
      rotate: 45deg;
      left: -1px;
      margin: auto;
      margin: auto; }

.btn--full {
  display: grid; }

.btn--sm {
  padding-block: 0.4em; }

.btn--lg {
  padding-block: 0.8em; }

.btn--down::after {
  rotate: 135deg !important; }

.btn--white {
  background: #fff;
  color: inherit; }
  .btn--white::before {
    background: var(--color_whitesmoke) !important; }
  .btn--white::after {
    border-color: var(--color_1); }

.btn--border {
  border: 1px solid;
  background: none; }

.btn--min-sm {
  min-width: min(340px, 100%); }

.btn--min-md {
  min-width: min(540px, 100%); }

.btn--min-lg {
  min-width: min(740px, 100%); }

.btn-arrow {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  padding: 20px 20px 20px 40px;
  border-radius: 100px;
  background: var(--color_1);
  color: #fff;
  transition: .4s; }
  .btn-arrow .btn-arrow__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    position: relative; }
    .btn-arrow .btn-arrow__icon::before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      inset: 0 auto auto 0;
      background: #fff;
      border-radius: 50%;
      transition: scale 0.6s cubic-bezier(0.79, 0.14, 0.15, 0.86); }
    .btn-arrow .btn-arrow__icon svg {
      position: relative;
      width: 12px;
      height: 12px;
      fill: #000; }
  @media (hover: hover) {
    .btn-arrow:hover {
      filter: brightness(110%); }
      .btn-arrow:hover .btn-arrow__icon::before {
        scale: 1.25;
        transition: scale 0.2s cubic-bezier(0.79, 0.14, 0.15, 0.86); } }

.table, .is-style-table table, .post-content table:not([class]), .table-bordered, .is-style-table-bordered table {
  --table_th_bg_color: var(--color_bg_1);
  --table_border_color: var(--color_border_1);
  --table_item_spacing_sm_min: 12;
  --table_item_spacing_sm_max: 16;
  --table_item_spacing_md_min: 16;
  --table_item_spacing_md_max: 24;
  --table_item_spacing_lg_min: 20;
  --table_item_spacing_lg_max: 32;
  width: 100%; }
  .table caption, .is-style-table table caption, .post-content table:not([class]) caption, .table-bordered caption, .is-style-table-bordered table caption {
    padding-bottom: 1.2em; }
  .table th, .is-style-table table th, .post-content table:not([class]) th, .table-bordered th, .is-style-table-bordered table th {
    text-align: left;
    font-weight: 500; }
  .table thead th, .is-style-table table thead th, .post-content table:not([class]) thead th, .table-bordered thead th, .is-style-table-bordered table thead th {
    text-align: center; }
  .table th, .is-style-table table th, .post-content table:not([class]) th, .table-bordered th, .is-style-table-bordered table th, .table td, .is-style-table table td, .post-content table:not([class]) td, .table-bordered td, .is-style-table-bordered table td {
    font-size: 96%;
    padding-block: clamp(calc(var(--table_item_spacing_md_min) * 1px), calc((var(--table_item_spacing_md_max) / 1400) * 100vw), calc(var(--table_item_spacing_md_max) * 1px));
    padding-inline: clamp(calc((var(--table_item_spacing_md_min) * 1px) * 1.4), calc(((var(--table_item_spacing_md_max) / 1400) * 100vw) * 1.4), calc((var(--table_item_spacing_md_max) * 1px) * 1.4));
    vertical-align: top; }
  .table td > *, .is-style-table table td > *, .post-content table:not([class]) td > *, .table-bordered td > *, .is-style-table-bordered table td > * {
    margin-block-start: calc( var(--item_v_spacing) * 0.5 ); }
  .table td > *:first-child, .is-style-table table td > *:first-child, .post-content table:not([class]) td > *:first-child, .table-bordered td > *:first-child, .is-style-table-bordered table td > *:first-child {
    margin-top: 0; }
  .table td > *:last-child, .is-style-table table td > *:last-child, .post-content table:not([class]) td > *:last-child, .table-bordered td > *:last-child, .is-style-table-bordered table td > *:last-child {
    margin-bottom: 0; }

.table--sm th, .post-content table:not([class]) th, .table--sm td, .post-content table:not([class]) td {
  padding-block: clamp(calc(var(--table_item_spacing_sm_min) * 1px), calc((var(--table_item_spacing_sm_max) / 1400) * 100vw), calc(var(--table_item_spacing_sm_max) * 1px));
  padding-inline: clamp(calc((var(--table_item_spacing_sm_min) * 1px) * 1.4), calc(((var(--table_item_spacing_sm_max) / 1400) * 100vw) * 1.4), calc((var(--table_item_spacing_sm_max) * 1px) * 1.4)); }

.table--lg th, .table--lg td {
  padding-block: clamp(calc(var(--table_item_spacing_lg_min) * 1px), calc((var(--table_item_spacing_lg_max) / 1400) * 100vw), calc(var(--table_item_spacing_lg_max) * 1px));
  padding-inline: clamp(calc((var(--table_item_spacing_lg_min) * 1px) * 1.4), calc(((var(--table_item_spacing_lg_max) / 1400) * 100vw) * 1.4), calc((var(--table_item_spacing_lg_max) * 1px) * 1.4)); }

.table th, .is-style-table table th, .post-content table:not([class]) th, .table td, .is-style-table table td, .post-content table:not([class]) td {
  border: 1px solid var(--table_border_color); }
.table th, .is-style-table table th, .post-content table:not([class]) th {
  background: var(--table_th_bg_color); }
.table td, .is-style-table table td, .post-content table:not([class]) td {
  background: #fff; }

.table-bordered, .is-style-table-bordered table {
  border-top: 1px solid var(--table_border_color); }
  .table-bordered thead th, .is-style-table-bordered table thead th {
    border-bottom: 2px solid var(--table_border_color); }
  .table-bordered th, .is-style-table-bordered table th, .table-bordered td, .is-style-table-bordered table td {
    border-bottom: 1px solid var(--table_border_color); }
  .table-bordered th, .is-style-table-bordered table th {
    padding-left: 0; }
  .table-bordered td, .is-style-table-bordered table td {
    padding-inline: 0; }

.table--th-minimum th {
  width: 1%;
  white-space: nowrap; }

.table--th-md th {
  width: 24%; }
  @media (width >= 768px) {
    .table--th-md th {
      width: 180px; } }

.table--th-sticky th {
  position: sticky;
  left: 0;
  background-clip: padding-box; }

@media (width < 768px) {
  .table--vertical-xs-down th, .table--vertical-xs-down td {
    display: block; }
  .table--vertical-xs-down th {
    width: 100% !important; }
  .table--vertical-xs-down.table th, .is-style-table table.table--vertical-xs-down th, .post-content table.table--vertical-xs-down:not([class]) th, .table--vertical-xs-down.table td, .is-style-table table.table--vertical-xs-down td, .post-content table.table--vertical-xs-down:not([class]) td {
    margin-top: -1px; }
  .table--vertical-xs-down.table-bordered th, .is-style-table-bordered table.table--vertical-xs-down th {
    border: none;
    padding-bottom: 0.5em; }
  .table--vertical-xs-down.table-bordered td, .is-style-table-bordered table.table--vertical-xs-down td {
    padding-top: 0; }
  .table--vertical-xs-down.table-bordered th, .is-style-table-bordered table.table--vertical-xs-down th, .table--vertical-xs-down.table-bordered td, .is-style-table-bordered table.table--vertical-xs-down td {
    padding-right: 0; } }

@media (width < 768px) {
  .table--vertical-xs-down-2 {
    border-top: 1px solid var(--table_border_color); }
    .table--vertical-xs-down-2 thead {
      display: none; }
    .table--vertical-xs-down-2 td {
      display: block;
      border-top: none; }
      .table--vertical-xs-down-2 td::before {
        display: block;
        content: attr(data-label);
        font-weight: bold;
        color: var(--color_1); } }

@media (width < 768px) {
  .table--vertical-xs-down-3 thead {
    display: none; }
  .table--vertical-xs-down-3 tbody tr:first-child th {
    margin-top: 0; }
  .table--vertical-xs-down-3 tbody th {
    display: block;
    text-align: center;
    margin-top: 15px;
    background: var(--table_th_bg_color); }
  .table--vertical-xs-down-3 tbody td {
    display: table;
    border-collapse: separate;
    width: 100%;
    padding-block: clamp(calc(var(--table_item_spacing_md_min) * 1px), calc((var(--table_item_spacing_md_max) / 1400) * 100vw), calc(var(--table_item_spacing_md_max) * 1px));
    padding-inline: clamp(calc((var(--table_item_spacing_md_min) * 1px) * 1.4), calc(((var(--table_item_spacing_md_max) / 1400) * 100vw) * 1.4), calc((var(--table_item_spacing_md_max) * 1px) * 1.4));
    border-top: none; }
    .table--vertical-xs-down-3 tbody td::before {
      display: table-cell;
      content: attr(data-label);
      width: 40%;
      color: var(--color_1);
      font-weight: bold; } }

@media (width < 768px) {
  .table-wrapper-scroll-xs-down {
    width: 100%;
    overflow-x: auto; }
    .table-wrapper-scroll-xs-down > table {
      width: 800px;
      margin-bottom: 0; } }

.box {
  padding: var(--item_spacing_md);
  background: var(--color_bg_1); }
  .box > *:first-child {
    margin-top: 0 !important; }
  .box > *:last-child {
    margin-bottom: 0 !important; }
  .box.box--sm {
    padding: var(--item_spacing_sm); }
  .box.box--lg {
    padding: var(--item_spacing_lg); }

.box--border {
  border: 1px solid var(--color_border_1);
  background: none; }

.box--scroll {
  height: 300px;
  overflow: auto;
  border-radius: 0; }

a[href$=".pdf"]::after {
  content: "PDF";
  display: inline-block;
  padding: 0.4em .6em;
  margin: 0 .8em;
  background: #cf473d;
  border-radius: 3px;
  font-size: calc(8 / 16 * 1rem);
  line-height: 1;
  color: #fff;
  vertical-align: 0.3em; }

.link-tel {
  text-decoration: underline; }
  @media (width >= 768px) {
    .link-tel {
      text-decoration: none;
      pointer-events: none;
      color: var(--color_text_1); } }
  @media (width < 768px) {
    .link-tel.link-tel--btn {
      padding: 0.5em 1em;
      border-radius: 100px;
      background: var(--color_1);
      color: #fff;
      text-decoration: none; } }

.link, .link-down {
  display: inline-flex;
  align-items: center;
  padding-bottom: 0px !important;
  background: linear-gradient(currentColor, currentColor) 0 100%/0 1px no-repeat;
  background-size: 0 1px;
  background-position: right bottom;
  text-decoration: none; }
  @media (hover: hover) {
    .link:hover, .link-down:hover {
      background-size: 100% 1px;
      animation: text-border .2s linear 0s; } }
  .link::before, .link-down::before {
    content: "";
    display: inline-block;
    width: 0.4em;
    height: 0.4em;
    border-top: 2px solid var(--color_1);
    border-right: 2px solid var(--color_1);
    rotate: 45deg;
    margin-right: 0.6em;
    flex: none; }

.link-down::before {
  content: "";
  display: inline-block;
  width: 0.4em;
  height: 0.4em;
  border-top: 2px solid var(--color_1);
  border-right: 2px solid var(--color_1);
  rotate: 135deg; }

.link-circle, .is-style-link .wp-block-button__link {
  --size_min: 32;
  --size_max: 32;
  display: inline-grid;
  grid-template-columns: auto max-content;
  gap: 0.6em;
  align-items: center;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5em;
  color: inherit; }
  @media (hover: hover) {
    .link-circle:hover::before, .is-style-link .wp-block-button__link:hover::before {
      scale: 1.1; } }
  .link-circle::before, .is-style-link .wp-block-button__link::before, .link-circle::after, .is-style-link .wp-block-button__link::after {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    content: ""; }
  .link-circle::before, .is-style-link .wp-block-button__link::before {
    width: clamp(calc(var(--size_min) * 1px), calc(var(--size_max) / 1400 * 100vw), calc(var(--size_max) * 1px));
    aspect-ratio: 1 / 1;
    background: var(--color_1);
    border-radius: 100%;
    transition: .2s; }
  .link-circle::after, .is-style-link .wp-block-button__link::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    rotate: 45deg;
    position: relative;
    left: -1px;
    margin: auto; }
  .link-circle.link-circle--sm, .is-style-link .link-circle--sm.wp-block-button__link {
    --size_min: 24;
    --size_max: 24; }
  .link-circle.link-circle--lg, .is-style-link .link-circle--lg.wp-block-button__link {
    --size_min: 40;
    --size_max: 40; }
  .link-circle.link-circle--white, .is-style-link .link-circle--white.wp-block-button__link {
    color: #fff; }
    .link-circle.link-circle--white::before, .is-style-link .link-circle--white.wp-block-button__link::before {
      background: #fff; }
    .link-circle.link-circle--white::after, .is-style-link .link-circle--white.wp-block-button__link::after {
      border-color: var(--color_1); }

.figure figcaption, .figure-circle figcaption {
  margin-bottom: 1em;
  font-size: 80%;
  line-height: 1.6;
  text-align: center; }

.figure img + figcaption {
  margin-top: 1em;
  margin-bottom: 0; }

.figure-circle .figure-circle__img {
  position: relative;
  padding-bottom: 100%;
  border-radius: 100%;
  border: 1px solid var(--color_border_1);
  overflow: hidden; }
  .figure-circle .figure-circle__img img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .figure-circle .figure-circle__img + figcaption {
    margin-top: 1em;
    margin-bottom: 0; }

.img-sharp {
  image-rendering: -webkit-optimize-contrast; }

.bg-green {
  background: var(--color_1) !important; }

.bg-lightgreen {
  background: var(--color_1_lighten) !important; }

.bg-darkgreen {
  background: var(--color_1_darken) !important; }

.bg-orange {
  background: var(--color_2) !important; }

.bg-red {
  background: var(--color_red) !important; }

.bg-white {
  background: #fff !important; }

.bg-whitesmoke {
  background: var(--color_whitesmoke) !important; }

.bg-lightgray {
  background: var(--color_lightgray) !important; }

.bg-gray {
  background: var(--color_gray) !important; }

.bg-black {
  background: var(--color_black) !important; }

.radius, .is-style-radius-sm img {
  border-radius: var(--radius); }

.radius-lg, .is-style-radius-lg img {
  border-radius: var(--radius_lg); }

.shadow {
  box-shadow: var(--shadow); }

.block {
  display: block; }

.inline-block {
  display: inline-block; }

.flex {
  display: flex; }

.d-none {
  display: none; }

@media (width < 768px) {
  .block-xs-down {
    display: block; } }
.overflow-hidden {
  overflow: hidden; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.hidden-xs-up, .hidden-lg-down {
  display: none !important; }

@media (width < 768px) {
  .hidden-xs-down {
    display: none !important; } }
@media (width >= 768px) {
  .hidden-sm-up {
    display: none !important; } }
@media (width < 1024px) {
  .hidden-sm-down {
    display: none !important; } }
@media (width >= 1024px) {
  .hidden-md-up {
    display: none !important; } }
@media (width < 1440px) {
  .hidden-md-down {
    display: none !important; } }
@media (width >= 1440px) {
  .hidden-lg-up {
    display: none !important; } }
@media (width < 768px) {
  .alignfull-xs-down {
    margin-left: calc( var(--body_spacing) * -1 );
    margin-right: calc( var(--body_spacing) * -1 ); } }

.embed-movie {
  aspect-ratio: 16 / 9; }
  .embed-movie iframe {
    width: 100%;
    height: 100%; }

/* width utility  */
.w-10 {
  display: block;
  width: 10% !important;
  margin-left: auto;
  margin-right: auto; }

.w-20 {
  display: block;
  width: 20% !important;
  margin-left: auto;
  margin-right: auto; }

.w-30 {
  display: block;
  width: 30% !important;
  margin-left: auto;
  margin-right: auto; }

.w-40 {
  display: block;
  width: 40% !important;
  margin-left: auto;
  margin-right: auto; }

.w-50 {
  display: block;
  width: 50% !important;
  margin-left: auto;
  margin-right: auto; }

.w-60 {
  display: block;
  width: 60% !important;
  margin-left: auto;
  margin-right: auto; }

.w-70 {
  display: block;
  width: 70% !important;
  margin-left: auto;
  margin-right: auto; }

.w-80 {
  display: block;
  width: 80% !important;
  margin-left: auto;
  margin-right: auto; }

.w-90 {
  display: block;
  width: 90% !important;
  margin-left: auto;
  margin-right: auto; }

@media (width >= 768px) {
  .w-10-sm-up {
    display: block;
    width: 10% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-20-sm-up {
    display: block;
    width: 20% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-30-sm-up {
    display: block;
    width: 30% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-40-sm-up {
    display: block;
    width: 40% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-50-sm-up {
    display: block;
    width: 50% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-60-sm-up {
    display: block;
    width: 60% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-70-sm-up {
    display: block;
    width: 70% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-80-sm-up {
    display: block;
    width: 80% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 768px) {
  .w-90-sm-up {
    display: block;
    width: 90% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-10-md-up {
    display: block;
    width: 10% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-20-md-up {
    display: block;
    width: 20% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-30-md-up {
    display: block;
    width: 30% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-40-md-up {
    display: block;
    width: 40% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-50-md-up {
    display: block;
    width: 50% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-60-md-up {
    display: block;
    width: 60% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-70-md-up {
    display: block;
    width: 70% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-80-md-up {
    display: block;
    width: 80% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1024px) {
  .w-90-md-up {
    display: block;
    width: 90% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-10-lg-up {
    display: block;
    width: 10% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-20-lg-up {
    display: block;
    width: 20% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-30-lg-up {
    display: block;
    width: 30% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-40-lg-up {
    display: block;
    width: 40% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-50-lg-up {
    display: block;
    width: 50% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-60-lg-up {
    display: block;
    width: 60% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-70-lg-up {
    display: block;
    width: 70% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-80-lg-up {
    display: block;
    width: 80% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width >= 1440px) {
  .w-90-lg-up {
    display: block;
    width: 90% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-10-xs-down {
    display: block;
    width: 10% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-20-xs-down {
    display: block;
    width: 20% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-30-xs-down {
    display: block;
    width: 30% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-40-xs-down {
    display: block;
    width: 40% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-50-xs-down {
    display: block;
    width: 50% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-60-xs-down {
    display: block;
    width: 60% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-70-xs-down {
    display: block;
    width: 70% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-80-xs-down {
    display: block;
    width: 80% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 768px) {
  .w-90-xs-down {
    display: block;
    width: 90% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-10-sm-down {
    display: block;
    width: 10% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-20-sm-down {
    display: block;
    width: 20% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-30-sm-down {
    display: block;
    width: 30% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-40-sm-down {
    display: block;
    width: 40% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-50-sm-down {
    display: block;
    width: 50% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-60-sm-down {
    display: block;
    width: 60% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-70-sm-down {
    display: block;
    width: 70% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-80-sm-down {
    display: block;
    width: 80% !important;
    margin-left: auto;
    margin-right: auto; } }

@media (width < 1024px) {
  .w-90-sm-down {
    display: block;
    width: 90% !important;
    margin-left: auto;
    margin-right: auto; } }

/* margin・padding utility  */
.padding-none {
  padding: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px) !important; }

.paddingt-none {
  padding-top: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px) !important; }

.paddingb-none {
  padding-bottom: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px) !important; }

.padding-xs {
  padding: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px) !important; }

.paddingt-xs {
  padding-top: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px) !important; }

.paddingb-xs {
  padding-bottom: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px) !important; }

.padding-sm {
  padding: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px) !important; }

.paddingt-sm {
  padding-top: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px) !important; }

.paddingb-sm {
  padding-bottom: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px) !important; }

.padding-md {
  padding: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px) !important; }

.paddingt-md {
  padding-top: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px) !important; }

.paddingb-md {
  padding-bottom: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px) !important; }

.padding-lg {
  padding: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px) !important; }

.paddingt-lg {
  padding-top: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px) !important; }

.paddingb-lg {
  padding-bottom: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px) !important; }

.padding-xl {
  padding: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px) !important; }

.paddingt-xl {
  padding-top: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px) !important; }

.paddingb-xl {
  padding-bottom: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px) !important; }

.padding-2xl {
  padding: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px) !important; }

.paddingt-2xl {
  padding-top: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px) !important; }

.paddingb-2xl {
  padding-bottom: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px) !important; }

.margin-none {
  margin: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px) !important; }

.margint-none {
  margin-top: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px) !important; }

.marginb-none {
  margin-bottom: clamp(calc(0px / 2), calc(0 / 1400 * 100vw), 0px) !important; }

.margin-xs {
  margin: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px) !important; }

.margint-xs {
  margin-top: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px) !important; }

.marginb-xs {
  margin-bottom: clamp(calc(16px / 2), calc(16 / 1400 * 100vw), 16px) !important; }

.margin-sm {
  margin: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px) !important; }

.margint-sm {
  margin-top: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px) !important; }

.marginb-sm {
  margin-bottom: clamp(calc(32px / 2), calc(32 / 1400 * 100vw), 32px) !important; }

.margin-md {
  margin: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px) !important; }

.margint-md {
  margin-top: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px) !important; }

.marginb-md {
  margin-bottom: clamp(calc(48px / 2), calc(48 / 1400 * 100vw), 48px) !important; }

.margin-lg {
  margin: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px) !important; }

.margint-lg {
  margin-top: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px) !important; }

.marginb-lg {
  margin-bottom: clamp(calc(64px / 2), calc(64 / 1400 * 100vw), 64px) !important; }

.margin-xl {
  margin: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px) !important; }

.margint-xl {
  margin-top: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px) !important; }

.marginb-xl {
  margin-bottom: clamp(calc(80px / 2), calc(80 / 1400 * 100vw), 80px) !important; }

.margin-2xl {
  margin: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px) !important; }

.margint-2xl {
  margin-top: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px) !important; }

.marginb-2xl {
  margin-bottom: clamp(calc(96px / 2), calc(96 / 1400 * 100vw), 96px) !important; }

/* item padding utility  */
.item-spacing-xs {
  padding: var(--item_spacing_xs); }

.item-spacing-sm, .is-style-item-spacing-sm {
  padding: var(--item_spacing_sm); }

.item-spacing-md, .is-style-item-spacing-md {
  padding: var(--item_spacing_md); }

.item-spacing-lg {
  padding: var(--item_spacing_lg); }

.item-spacing-xl, .is-style-item-spacing-xl {
  padding: var(--item_spacing_xl); }

.sns-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: clamp(calc(12 * 1px), calc(16 / 1400 * 100vw), calc(16 * 1px)); }
  .sns-list li {
    font-size: 0; }
    .sns-list li a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-decoration: none; }
      .sns-list li a::before {
        display: block;
        content: "";
        width: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
        aspect-ratio: 1;
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center; }
      .sns-list li a[href*="facebook.com"]::before {
        background: var(--sns_facebook);
        mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20500%20500%22%3E%3Cpath%20d%3D%22M500%20250C500%20111.9%20388.1%200%20250%200S0%20111.9%200%20250s80.7%20215.6%20189.6%20242.6V326.4H138V250h51.6v-32.9c0-85.1%2038.5-124.5%20122-124.5s43.2%203.1%2054.3%206.2v69.3c-5.9-.6-16.1-.9-28.9-.9-41%200-56.8%2015.5-56.8%2055.9v27h81.7l-14%2076.4h-67.6v171.8C404.1%20483.3%20500%20377.9%20500%20250.1Z%22%20style%3D%22fill%3A%230866ff%22%2F%3E%3C%2Fsvg%3E"); }
      .sns-list li a[href*="twitter.com"]::before, .sns-list li a[href*="x.com"]::before {
        background: var(--sns_x);
        mask-size: 70%;
        mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%201227%22%3E%3Cpath%20d%3D%22M714.2%20519.3%201160.9%200H1055L667.1%20450.9%20357.3%200H0l468.5%20681.8L0%201226.4h105.9l409.6-476.2%20327.2%20476.2H1200L714.1%20519.3Zm-145%20168.5-47.5-67.9L144%2079.7h162.6l304.8%20436%2047.5%2067.9%20396.2%20566.7H892.5L569.2%20687.9Z%22%2F%3E%3C%2Fsvg%3E"); }
      .sns-list li a[href*="instagram.com"]::before {
        background: var(--sns_instagram);
        mask-size: 80%;
        mask-image: url("data:image/svg+xml,%3Csvg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M295.42%2C6c-53.2%2C2.51-89.53%2C11-121.29%2C23.48-32.87%2C12.81-60.73%2C30-88.45%2C57.82S40.89%2C143%2C28.17%2C175.92c-12.31%2C31.83-20.65%2C68.19-23%2C121.42S2.3%2C367.68%2C2.56%2C503.46%2C3.42%2C656.26%2C6%2C709.6c2.54%2C53.19%2C11%2C89.51%2C23.48%2C121.28%2C12.83%2C32.87%2C30%2C60.72%2C57.83%2C88.45S143%2C964.09%2C176%2C976.83c31.8%2C12.29%2C68.17%2C20.67%2C121.39%2C23s70.35%2C2.87%2C206.09%2C2.61%2C152.83-.86%2C206.16-3.39S799.1%2C988%2C830.88%2C975.58c32.87-12.86%2C60.74-30%2C88.45-57.84S964.1%2C862%2C976.81%2C829.06c12.32-31.8%2C20.69-68.17%2C23-121.35%2C2.33-53.37%2C2.88-70.41%2C2.62-206.17s-.87-152.78-3.4-206.1-11-89.53-23.47-121.32c-12.85-32.87-30-60.7-57.82-88.45S862%2C40.87%2C829.07%2C28.19c-31.82-12.31-68.17-20.7-121.39-23S637.33%2C2.3%2C501.54%2C2.56%2C348.75%2C3.4%2C295.42%2C6m5.84%2C903.88c-48.75-2.12-75.22-10.22-92.86-17-23.36-9-40-19.88-57.58-37.29s-28.38-34.11-37.5-57.42c-6.85-17.64-15.1-44.08-17.38-92.83-2.48-52.69-3-68.51-3.29-202s.22-149.29%2C2.53-202c2.08-48.71%2C10.23-75.21%2C17-92.84%2C9-23.39%2C19.84-40%2C37.29-57.57s34.1-28.39%2C57.43-37.51c17.62-6.88%2C44.06-15.06%2C92.79-17.38%2C52.73-2.5%2C68.53-3%2C202-3.29s149.31.21%2C202.06%2C2.53c48.71%2C2.12%2C75.22%2C10.19%2C92.83%2C17%2C23.37%2C9%2C40%2C19.81%2C57.57%2C37.29s28.4%2C34.07%2C37.52%2C57.45c6.89%2C17.57%2C15.07%2C44%2C17.37%2C92.76%2C2.51%2C52.73%2C3.08%2C68.54%2C3.32%2C202s-.23%2C149.31-2.54%2C202c-2.13%2C48.75-10.21%2C75.23-17%2C92.89-9%2C23.35-19.85%2C40-37.31%2C57.56s-34.09%2C28.38-57.43%2C37.5c-17.6%2C6.87-44.07%2C15.07-92.76%2C17.39-52.73%2C2.48-68.53%2C3-202.05%2C3.29s-149.27-.25-202-2.53m407.6-674.61a60%2C60%2C0%2C1%2C0%2C59.88-60.1%2C60%2C60%2C0%2C0%2C0-59.88%2C60.1M245.77%2C503c.28%2C141.8%2C115.44%2C256.49%2C257.21%2C256.22S759.52%2C643.8%2C759.25%2C502%2C643.79%2C245.48%2C502%2C245.76%2C245.5%2C361.22%2C245.77%2C503m90.06-.18a166.67%2C166.67%2C0%2C1%2C1%2C167%2C166.34%2C166.65%2C166.65%2C0%2C0%2C1-167-166.34%22%20transform%3D%22translate(-2.5%20-2.5)%22%2F%3E%3C%2Fsvg%3E"); }
      .sns-list li a[href*="line.me"]::before {
        background: var(--sns_line);
        mask-size: 90%;
        mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22LINE_LOGO%22%20data-name%3D%22LINE%20LOGO%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22320%22%20viewBox%3D%220%200%20320%20320%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%2306c755%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M189.842%2C121.855h-7.566c-1.125%2C0-2.037.912-2.037%2C2.037v27.655l-21.303-28.769c-.049-.074-.105-.143-.164-.211-.004-.005-.009-.01-.013-.015-.039-.044-.08-.086-.123-.127-.013-.012-.026-.023-.038-.035-.036-.032-.073-.064-.111-.093-.018-.014-.037-.027-.055-.041-.035-.026-.071-.05-.108-.074-.021-.013-.042-.026-.062-.038-.037-.022-.074-.043-.112-.062-.021-.011-.043-.021-.065-.031-.039-.018-.079-.035-.119-.051-.022-.008-.044-.016-.066-.024-.041-.014-.082-.028-.124-.04-.024-.007-.048-.013-.072-.018-.04-.01-.08-.019-.121-.026-.029-.005-.058-.009-.087-.013-.037-.005-.073-.01-.11-.013-.036-.003-.072-.004-.109-.005-.023%2C0-.046-.004-.07-.004h-7.525c-1.125%2C0-2.037.912-2.037%2C2.037v46.562c0%2C1.125.912%2C2.037%2C2.037%2C2.037h7.566c1.125%2C0%2C2.037-.912%2C2.037-2.037v-27.646l21.33%2C28.806c.147.208.326.378.525.513.008.006.016.011.024.016.042.028.084.053.128.078.019.011.039.022.059.033.032.017.065.033.099.048.033.015.066.029.1.043.021.008.043.016.065.024.046.016.093.032.141.045.01.003.019.005.029.008.17.045.348.071.532.071h7.525c1.125%2C0%2C2.037-.912%2C2.037-2.037v-46.562c0-1.125-.912-2.037-2.037-2.037ZM120.289%2C160.85h-20.371v-36.958c0-1.12-.917-2.037-2.037-2.037h-7.566c-1.125%2C0-2.037.912-2.037%2C2.037v46.561c0%2C1.125.912%2C2.037%2C2.037%2C2.037h29.974c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037ZM138.333%2C121.855h-7.566c-1.125%2C0-2.037.912-2.037%2C2.037v46.562c0%2C1.125.912%2C2.037%2C2.037%2C2.037h7.566c1.125%2C0%2C2.037-.912%2C2.037-2.037v-46.562c0-1.125-.912-2.037-2.037-2.037ZM247.86%2C0H72.14C32.298%2C0%2C0%2C32.298%2C0%2C72.14v175.719c0%2C39.842%2C32.298%2C72.14%2C72.14%2C72.14h175.72c39.842%2C0%2C72.14-32.298%2C72.14-72.14V72.14C320%2C32.298%2C287.702%2C0%2C247.86%2C0ZM243.787%2C198.194h.005c-22.384%2C25.762-72.437%2C57.143-83.824%2C61.941-11.386%2C4.797-9.707-3.056-9.241-5.752.271-1.605%2C1.523-9.133%2C1.523-9.133.359-2.724.73-6.951-.345-9.647-1.195-2.97-5.926-4.511-9.399-5.261-51.27-6.776-89.225-42.619-89.225-85.418%2C0-47.739%2C47.864-86.579%2C106.688-86.579s106.689%2C38.84%2C106.689%2C86.579c0%2C19.106-7.408%2C36.313-22.869%2C53.27ZM231.163%2C121.855h-29.974c-1.125%2C0-2.037.912-2.037%2C2.037v46.561c0%2C1.125.912%2C2.037%2C2.037%2C2.037h29.974c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037h-20.37v-7.857h20.37c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037h-20.37v-7.857h20.37c1.125%2C0%2C2.037-.912%2C2.037-2.037v-7.566c0-1.12-.917-2.037-2.037-2.037Z%22%2F%3E%0A%3C%2Fsvg%3E"); }
      .sns-list li a[href*="youtube.com"]::before {
        background: var(--sns_youtube);
        mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22121.485%22%20height%3D%2285.039%22%20viewBox%3D%220%200%20121.485%2085.039%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20red%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M118.946%2C13.279c-1.397-5.227-5.514-9.343-10.74-10.74C98.732%2C0%2C60.742%2C0%2C60.742%2C0c0%2C0-37.989%2C0-47.463%2C2.539C8.052%2C3.936%2C3.936%2C8.052%2C2.539%2C13.279%2C0%2C22.753%2C0%2C42.52%2C0%2C42.52c0%2C0%2C0%2C19.767%2C2.539%2C29.241%2C1.397%2C5.227%2C5.514%2C9.343%2C10.74%2C10.74%2C9.474%2C2.539%2C47.463%2C2.539%2C47.463%2C2.539%2C0%2C0%2C37.989%2C0%2C47.463-2.539%2C5.227-1.397%2C9.343-5.514%2C10.74-10.74%2C2.539-9.474%2C2.539-29.241%2C2.539-29.241%2C0%2C0%2C0-19.767-2.539-29.241ZM48.594%2C60.742V24.297l31.561%2C18.223-31.561%2C18.222Z%22%2F%3E%0A%3C%2Fsvg%3E"); }
      .sns-list li a[href*="note.com"]::before {
        background: var(--sns_note);
        mask-size: 80%;
        mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20493%20493%22%3E%0A%20%20%3C!--%20Generator%3A%20Adobe%20Illustrator%2029.3.1%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%202.1.0%20Build%20151)%20%20--%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.st0%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%23040000%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpath%20class%3D%22st0%22%20d%3D%22M-.7%2C5C94.4%2C5%2C224.6.2%2C318%2C2.7c125.3%2C3.2%2C172.6%2C57.9%2C174.2%2C192.7%2C1.6%2C76.4%2C0%2C294.7%2C0%2C294.7h-135.7c0-191.1.7-222.7%2C0-283-1.6-53.1-16.6-78.2-57.5-83.1-43.2-4.8-164.1-.7-164.1-.7v367H-.7V5Z%22%2F%3E%0A%3C%2Fsvg%3E"); }

.card-list {
  counter-reset: number; }
  .card-list li {
    counter-increment: number; }
  .card-list .card-item {
    display: flex;
    flex-direction: column;
    height: 100%; }
    .card-list .card-item .card-item__img {
      position: relative;
      margin-bottom: 1.5em;
      padding-bottom: calc( 10 / 16 * 100%); }
      .card-list .card-item .card-item__img img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .card-list .card-item .card-item__content {
      display: flex;
      flex-direction: column;
      height: 100%; }
      .card-list .card-item .card-item__content > *:first-child {
        margin-top: 0 !important; }
      .card-list .card-item .card-item__content > *:last-child {
        margin-bottom: 0 !important; }
    .card-list .card-item .card-item__title {
      margin-bottom: 0.6em;
      line-height: 1.5;
      text-align: center;
      font-size: clamp(calc(16 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem)); }
      .card-list .card-item .card-item__title::before {
        content: counters(number,"");
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30px;
        height: 30px;
        margin: 0 auto 1em;
        background: var(--color_1);
        color: #fff;
        border-radius: 50%;
        font-size: calc(14 / 16 * 1rem);
        font-weight: bold;
        text-align: center; }
    .card-list .card-item .card-item__sub-title {
      margin-bottom: 1em;
      text-align: center;
      font-size: clamp(calc(10 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem));
      color: var(--color_1); }
    .card-list .card-item .card-item__text {
      margin-bottom: 1.5em;
      font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
      line-height: 1.8; }
    .card-list .card-item .card-item__link {
      margin-top: auto;
      text-align: right;
      font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
      line-height: 1.8; }
  .card-list.card-list--has-bg .card-item {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden; }
    .card-list.card-list--has-bg .card-item .card-item__img {
      margin: 0; }
    .card-list.card-list--has-bg .card-item .card-item__content {
      padding: clamp(calc(20 * 1px), calc(33 / 1400 * 100vw), calc(33 * 1px)); }

.panel {
  border: 1px solid var(--color_lightgray);
  border-radius: var(--radius);
  overflow: hidden; }
  .panel.panel--blue {
    border: 1px solid var(--color_1); }
    .panel.panel--blue .panel__header {
      background: var(--color_1);
      color: #fff; }
  .panel.panel--gray {
    border: 1px solid var(--color_gray); }
    .panel.panel--gray .panel__header {
      background: var(--color_gray);
      color: #fff; }
  .panel.panel--border-none {
    border: none; }
    .panel.panel--border-none .panel__body {
      border: none; }
  .panel .panel__header {
    padding: 16px 24px;
    background-color: var(--color_whitesmoke); }
    .panel .panel__header + * {
      border-top: 1px solid var(--color_lightgray); }
  .panel .panel__body {
    padding: var(--item_spacing_md);
    background: #fff; }

.accordion .panel__header {
  padding: 0; }
.accordion .accordion__title button {
  display: grid;
  grid-template-columns: auto max-content;
  gap: 2em;
  align-items: center;
  width: 100%;
  padding: 16px 24px;
  border: none;
  background: none;
  text-align: left;
  color: inherit;
  font-weight: bold;
  transition: .2s; }
  .accordion .accordion__title button::after {
    content: "";
    content: "";
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    rotate: 135deg;
    transition: .2s; }
  .accordion .accordion__title button.active::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    rotate: -45deg; }
.accordion .accordion__close {
  padding: 16px 24px;
  border: none;
  border-radius: 5px;
  background: var(--color_1);
  color: #fff; }

.breadcrumb {
  padding-block: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
  .breadcrumb ul li {
    display: inline;
    font-size: clamp(calc(11 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
    .breadcrumb ul li:not(:last-child)::after {
      margin-inline: 0.8em 0.5em;
      content: "/";
      color: var(--color_gray); }
  .breadcrumb ul a {
    text-decoration: underline;
    color: inherit; }
  .breadcrumb ul br {
    display: none; }
  @media print {
    .breadcrumb {
      display: none; } }

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block: clamp(calc(40 * 1px), calc(80 / 1400 * 100vw), calc(80 * 1px));
  gap: 0.5em; }
  .pagination .page-numbers {
    display: grid;
    place-content: center;
    width: clamp(calc(40 * 1px), calc(48 / 1400 * 100vw), calc(48 * 1px));
    aspect-ratio: 1 / 1;
    background: var(--color_bg_1);
    border-radius: 100%;
    font-size: clamp(calc(15 / 16 * 1rem), calc(20 / 1400 * 100vw), calc(20 / 16 * 1rem));
    transition: .2s; }
    .pagination .page-numbers.dots {
      background: none; }
    .pagination .page-numbers.prev::before {
      margin: auto;
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      border-top: 2px solid var(--color_1);
      border-right: 2px solid var(--color_1);
      rotate: -135deg; }
    .pagination .page-numbers.next::before {
      margin: auto;
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      border-top: 2px solid var(--color_1);
      border-right: 2px solid var(--color_1);
      rotate: 45deg; }
  .pagination a {
    color: inherit; }
    @media (hover: hover) {
      .pagination a:hover {
        background: var(--color_1);
        color: #fff; }
        .pagination a:hover.next::before, .pagination a:hover.prev::before {
          border-color: #fff; } }
  .pagination .current {
    background: var(--color_1);
    color: #fff; }
  @media print {
    .pagination {
      display: none; } }

.pager {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
  .pager li {
    flex: 1; }
    .pager li a {
      display: flex;
      align-items: center;
      gap: clamp(calc(8 * 1px), calc(16 / 1400 * 100vw), calc(16 * 1px));
      font-size: clamp(calc(12 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
      color: inherit;
      text-decoration: none;
      transition: .2s; }
      @media (hover: hover) {
        .pager li a:hover {
          color: var(--color_gray); } }
      .pager li a::before, .pager li a::after {
        flex-shrink: 0; }
  .pager .pager__previous a::before {
    content: "";
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid var(--color_1);
    border-right: 2px solid var(--color_1);
    rotate: -135deg; }
  .pager .pager__next a {
    justify-content: flex-end;
    text-align: right; }
    .pager .pager__next a::after {
      content: "";
      display: inline-block;
      width: 0.5em;
      height: 0.5em;
      border-top: 2px solid var(--color_1);
      border-right: 2px solid var(--color_1);
      rotate: 45deg; }
  @media print {
    .pager {
      display: none; } }

.faq-list {
  border-bottom: 1px solid var(--color_border_1); }
  .faq-list .faq-item {
    border-top: 1px solid var(--color_border_1); }
  .faq-list dd {
    padding-bottom: clamp(calc(16 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px)); }
  .faq-list .faq-item__title,
  .faq-list .faq-item__content {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: clamp(calc(16 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px)); }
    .faq-list .faq-item__title::before,
    .faq-list .faq-item__content::before {
      align-self: flex-start;
      display: grid;
      place-content: center;
      width: clamp(calc(32 * 1px), calc(40 / 1400 * 100vw), calc(40 * 1px));
      aspect-ratio: 1;
      font-size: clamp(calc(14 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
      border-radius: 100%;
      font-weight: bold; }
  .faq-list .faq-item__title {
    padding-block: clamp(calc(16 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px));
    font-size: clamp(calc(15 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
    font-weight: 500;
    line-height: 1.6; }
    .faq-list .faq-item__title::before {
      content: "Q";
      background: var(--color_1);
      color: #fff; }
  .faq-list .faq-item__content::before {
    content: "A";
    background: var(--color_whitesmoke);
    color: var(--color_1); }
  .faq-list .faq-item__content .faq-item__content-text > * {
    margin-block-start: calc( var(--item_v_spacing) * 0.5 ); }
  .faq-list .faq-item__content .faq-item__content-text > *:first-child {
    margin-top: 0; }
  .faq-list .faq-item__content .faq-item__content-text > *:last-child {
    margin-bottom: 0; }

.faq-list--accordion dt button {
  display: grid;
  grid-template-columns: auto max-content;
  gap: 2em;
  align-items: center;
  width: 100%;
  padding: 0;
  appearance: none;
  border: none;
  background: none;
  text-align: left;
  transition: .2s; }
  @media (hover: hover) {
    .faq-list--accordion dt button:hover {
      color: var(--color_1); } }
  .faq-list--accordion dt button::before, .faq-list--accordion dt button::after {
    content: "";
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    width: 16px;
    height: 2px;
    background: var(--color_1);
    transition: .2s; }
  .faq-list--accordion dt button::after {
    rotate: 90deg; }
  .faq-list--accordion dt button.active::before {
    display: none; }
  .faq-list--accordion dt button.active::after {
    rotate: 180deg; }

.faq-btn {
  text-align: right; }
  .faq-btn.open .faq-btn--open {
    display: none; }
  .faq-btn.open .faq-btn--close {
    display: inline-block; }
  .faq-btn .faq-btn--close {
    display: none; }
  .faq-btn button {
    appearance: none;
    margin: 0;
    padding: clamp(calc(8 * 1px), calc(12 / 1400 * 100vw), calc(12 * 1px)) clamp(calc(16 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px));
    background: var(--color_1);
    border: none;
    border-radius: 100px;
    color: #fff;
    cursor: pointer; }

.balloon-item {
  --balloon_position: 32px;
  --balloon_arrow_size: 8px;
  --bg_color: var(--color_whitesmoke);
  --border_color: var(--color_lightgray);
  --border_width: 1px;
  position: relative;
  padding-block: clamp(calc(20 * 1px), calc(24 / 1400 * 100vw), calc(24 * 1px));
  padding-inline: clamp(calc(24 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px));
  background: var(--bg_color);
  border-radius: var(--radius); }
  .balloon-item > * {
    margin-block-start: calc( var(--item_v_spacing) * 0.5 ); }
  .balloon-item > *:first-child {
    margin-top: 0; }
  .balloon-item > *:last-child {
    margin-bottom: 0; }
  .balloon-item::after {
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    border: solid transparent;
    border-width: var(--balloon_arrow_size); }
  .balloon-item.balloon-item--bottom, .speech-item.speech-item--bottom .balloon-item {
    margin-bottom: var(--balloon_arrow_size); }
    .balloon-item.balloon-item--bottom::after, .speech-item.speech-item--bottom .balloon-item::after {
      top: 100%;
      left: 50%;
      border-top-color: var(--bg_color);
      transform: translateX(-50%); }
  .balloon-item.balloon-item--top {
    margin-top: var(--balloon_arrow_size); }
    .balloon-item.balloon-item--top::after {
      bottom: 100%;
      left: 50%;
      border-bottom-color: var(--bg_color);
      transform: translateX(-50%); }
  .balloon-item.balloon-item--left::after, .speech-item.speech-item--left .balloon-item::after {
    top: var(--balloon_position);
    right: 100%;
    border-right-color: var(--bg_color); }
  .balloon-item.balloon-item--right::after, .speech-item.speech-item--right .balloon-item::after {
    top: var(--balloon_position);
    left: 100%;
    border-left-color: var(--bg_color); }
  @media (width < 768px) {
    .balloon-item.balloon-item--bottom-xs-down, .speech-item.speech-item--bottom-xs-down .balloon-item {
      margin-bottom: var(--balloon_arrow_size); }
      .balloon-item.balloon-item--bottom-xs-down:after, .speech-item.speech-item--bottom-xs-down .balloon-item:after {
        margin-bottom: 20px;
        top: 100% !important;
        left: 50% !important;
        bottom: auto !important;
        right: auto;
        border-right-color: transparent !important;
        border-left-color: transparent !important;
        border-top-color: var(--bg_color);
        transform: translateX(-50%); } }
  .balloon-item.balloon-item--border {
    border: var(--border_width) solid var(--border_color); }
    .balloon-item.balloon-item--border::before {
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      border: solid transparent;
      border-width: var(--balloon_arrow_size); }
    .balloon-item.balloon-item--border.balloon-item--bottom, .speech-item.speech-item--bottom .balloon-item.balloon-item--border {
      margin-bottom: var(--balloon_arrow_size); }
      .balloon-item.balloon-item--border.balloon-item--bottom::before, .speech-item.speech-item--bottom .balloon-item.balloon-item--border::before {
        top: calc(100% + var(--border_width));
        left: 50%;
        border-top-color: var(--border_color);
        transform: translateX(-50%); }
    .balloon-item.balloon-item--border.balloon-item--top {
      margin-top: var(--balloon_arrow_size); }
      .balloon-item.balloon-item--border.balloon-item--top::before {
        bottom: calc(100% + var(--border_width));
        left: 50%;
        border-bottom-color: var(--border_color);
        transform: translateX(-50%); }
    .balloon-item.balloon-item--border.balloon-item--left::before, .speech-item.speech-item--left .balloon-item.balloon-item--border::before {
      top: var(--balloon_position);
      right: calc(100% + var(--border_width));
      border-right-color: var(--border_color); }
    .balloon-item.balloon-item--border.balloon-item--right::before, .speech-item.speech-item--right .balloon-item.balloon-item--border::before {
      top: var(--balloon_position);
      left: calc(100% + var(--border_width));
      border-left-color: var(--border_color); }
    @media (width < 768px) {
      .balloon-item.balloon-item--border.balloon-item--bottom-xs-down::before, .speech-item.speech-item--bottom-xs-down .balloon-item.balloon-item--border::before {
        top: calc(100% + var(--border_width));
        bottom: auto;
        left: 50%;
        right: auto;
        border-right-color: transparent !important;
        border-left-color: transparent !important;
        border-top-color: var(--border_color);
        transform: translateX(-50%); } }

/* ---------------------------------------------------------
   color_1
----------------------------------------------------------*/
.balloon-item--blue {
  --bg_color: var(--color_1);
  background: var(--bg_color);
  color: #fff; }
  .balloon-item--blue.balloon-item--bottom::after, .speech-item.speech-item--bottom .balloon-item--blue.balloon-item::after {
    border-top-color: var(--bg_color); }
  .balloon-item--blue.balloon-item--top::after {
    border-bottom-color: var(--bg_color); }
  .balloon-item--blue.balloon-item--left::after, .speech-item.speech-item--left .balloon-item--blue.balloon-item::after {
    border-right-color: var(--bg_color); }
  .balloon-item--blue.balloon-item--right::after, .speech-item.speech-item--right .balloon-item--blue.balloon-item::after {
    border-left-color: var(--bg_color); }
  .balloon-item--blue .balloon-item__title {
    color: #fff !important; }
  @media (width < 768px) {
    .balloon-item--blue.balloon-item--bottom-xs-down:after, .speech-item.speech-item--bottom-xs-down .balloon-item--blue.balloon-item:after {
      border-top-color: var(--bg_color); } }

/* ---------------------------------------------------------
   white
----------------------------------------------------------*/
.balloon-item--white {
  background: #fff; }
  .balloon-item--white.balloon-item--bottom::after, .speech-item.speech-item--bottom .balloon-item--white.balloon-item::after {
    border-top-color: #fff; }
  .balloon-item--white.balloon-item--top::after {
    border-bottom-color: #fff; }
  .balloon-item--white.balloon-item--left::after, .speech-item.speech-item--left .balloon-item--white.balloon-item::after {
    border-right-color: #fff; }
  .balloon-item--white.balloon-item--right::after, .speech-item.speech-item--right .balloon-item--white.balloon-item::after {
    border-left-color: #fff; }
  @media (width < 768px) {
    .balloon-item--white.balloon-item--bottom-xs-down:after, .speech-item.speech-item--bottom-xs-down .balloon-item--white.balloon-item:after {
      border-top-color: #fff; } }

/*==========================================================
 
	 speech
 
==========================================================*/
.speech-item {
  display: flex;
  gap: 20px; }
  @media (width >= 1024px) {
    .speech-item {
      gap: 20px 30px; } }
  .speech-item .speech-item__figure {
    width: 80px;
    margin: 0 auto; }
    @media (width >= 1024px) {
      .speech-item .speech-item__figure {
        width: 120px; } }
  .speech-item .speech-item__content {
    flex: 1; }
  .speech-item.speech-item--left {
    flex-direction: row-reverse; }
  .speech-item.speech-item--bottom {
    flex-direction: column; }
  @media (width < 768px) {
    .speech-item.speech-item--bottom-xs-down {
      flex-direction: column; } }
  .speech-item.speech-item--align-end {
    align-items: flex-end; }
    .speech-item.speech-item--align-end.speech-item--right .balloon-item::after, .speech-item.speech-item--align-end.speech-item--left .balloon-item::after {
      top: auto;
      bottom: var(--balloon_position); }
  .speech-item .speech-item__figure > *:last-child {
    margin-bottom: 0; }
  .speech-item .speech-item__content .speech-item__text {
    font-size: clamp(calc(13 / 16 * 1rem), calc(15 / 1400 * 100vw), calc(15 / 16 * 1rem)); }
    .speech-item .speech-item__content .speech-item__text > *:first-child {
      margin-top: 0; }
    .speech-item .speech-item__content .speech-item__text > *:last-child {
      margin-bottom: 0; }
  .speech-item .speech-item__content .speech-item__text-sub {
    margin-top: 0.5em;
    font-size: 80%;
    text-align: right; }

.flow-column {
  list-style: none; }
  .flow-column > li:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px calc(20px / 2) 0 calc(20px / 2);
    border-color: var(--color_1_darken) transparent transparent transparent;
    display: block;
    margin: 16px auto; }
  .flow-column .flow-item {
    display: flex;
    flex-wrap: wrap;
    padding: var(--item_spacing_md);
    border-radius: var(--radius_sm);
    background: var(--color_bg_1); }
  .flow-column .flow-item__title {
    width: 100%;
    margin: 0 0 1em;
    font-size: clamp(calc(16 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem));
    line-height: 1.5;
    color: var(--color_1); }
  .flow-column .flow-item__text {
    font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    flex: 1; }
    .flow-column .flow-item__text > *:last-child {
      margin-bottom: 0; }
  .flow-column .flow-item__img {
    margin-top: 24px; }
    @media (width >= 768px) {
      .flow-column .flow-item__img {
        width: 30%;
        margin-top: 0;
        margin-left: 4%; } }

.flow-line {
  --number_size: 2.4em;
  list-style-type: none;
  counter-reset: ol; }
  .flow-line > li {
    counter-increment: ol;
    position: relative;
    padding-top: calc( var(--number_size) * 0.15 );
    padding-left: calc( var(--number_size) + 25px );
    padding-bottom: clamp(calc(16 * 1px), calc(32 / 1400 * 100vw), calc(32 * 1px)); }
    .flow-line > li:not(:last-child):before {
      content: "";
      display: block;
      width: 2px;
      height: 100%;
      position: absolute;
      top: 0;
      left: calc( var(--number_size) / 2 );
      background: var(--color_border_1);
      transform: translateX(-50%); }
    .flow-line > li:after {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 0;
      left: 0;
      content: counters(ol,"");
      font-size: clamp(calc(14 / 16 * 1rem), calc(16 / 1400 * 100vw), calc(16 / 16 * 1rem));
      color: var(--color_2);
      width: var(--number_size);
      height: var(--number_size);
      text-align: center;
      border-radius: 100%;
      background: var(--color_1);
      color: #fff; }
  .flow-line .flow-item {
    display: flex;
    flex-wrap: wrap; }
  .flow-line .flow-item__title {
    width: 100%;
    margin: 0 0 0.5em;
    font-size: clamp(calc(16 / 16 * 1rem), calc(18 / 1400 * 100vw), calc(18 / 16 * 1rem));
    line-height: 1.5;
    color: var(--color_1); }
  .flow-line .flow-item__text {
    font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    flex: 1; }
    .flow-line .flow-item__text > *:last-child {
      margin-bottom: 0; }
  .flow-line .flow-item__img {
    margin-top: 24px; }
    @media (width >= 768px) {
      .flow-line .flow-item__img {
        width: 30%;
        margin-top: 0;
        margin-left: 4%; } }

.flow-row {
  list-style: none;
  column-gap: 40px;
  row-gap: 30px; }
  .flow-row li {
    display: flex;
    position: relative; }
    .flow-row li:not(:last-child)::after {
      position: absolute; }
      @media (width < 768px) {
        .flow-row li:not(:last-child)::after {
          bottom: -15px;
          left: 50%;
          transform: translate(-50%, 50%);
          content: "";
          display: inline-block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 10px calc(20px / 2) 0 calc(20px / 2);
          border-color: var(--color_1) transparent transparent transparent; } }
      @media (width >= 768px) {
        .flow-row li:not(:last-child)::after {
          top: 50%;
          right: -25px;
          transform: translate(0, -50%);
          content: "";
          display: inline-block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: calc(15px / 2) 0 calc(15px / 2) 10px;
          border-color: transparent transparent transparent var(--color_1); } }
  .flow-row .flow-item {
    width: 100%;
    height: 100%;
    padding: var(--item_spacing_sm);
    border-radius: 4px;
    background: var(--color_1);
    font-size: clamp(calc(13 / 16 * 1rem), calc(14 / 1400 * 100vw), calc(14 / 16 * 1rem));
    color: #fff;
    text-align: center; }
    @media (width >= 768px) {
      .flow-row .flow-item {
        display: flex;
        align-items: center;
        justify-content: center; } }

.tabs .tab-menu {
  display: flex;
  gap: 0 5px; }
  .tabs .tab-menu .tab-menu__item {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    bottom: -1px;
    margin: 0;
    padding: 10px 20px;
    border-radius: 4px 4px 0 0;
    border: 1px solid var(--color_lightgray);
    background: var(--color_whitesmoke); }
    .tabs .tab-menu .tab-menu__item[aria-selected="true"] {
      background: #fff;
      border-bottom: 1px solid #fff; }
.tabs .tab-panel {
  display: none;
  padding: var(--item_spacing_md);
  border: 1px solid var(--color_lightgray);
  background: #fff; }
  .tabs .tab-panel[aria-hidden="false"] {
    display: block; }
  .tabs .tab-panel > *:first-child {
    margin-top: 0; }
  .tabs .tab-panel > *:last-child {
    margin-bottom: 0; }

.details-arrow, .is-style-details-arrow {
  padding: var(--item_spacing_sm);
  background: var(--color_bg_1);
  border-radius: var(--radius); }
  .details-arrow[open] summary::after, [open].is-style-details-arrow summary::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--color_1);
    border-right: 2px solid var(--color_1);
    rotate: -45deg; }
  .details-arrow summary, .is-style-details-arrow summary {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1em;
    font-weight: 500; }
    .details-arrow summary::after, .is-style-details-arrow summary::after {
      content: "";
      flex-shrink: 0;
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      border-top: 2px solid var(--color_1);
      border-right: 2px solid var(--color_1);
      rotate: 135deg;
      transition: .2s; }
    .details-arrow summary + *, .is-style-details-arrow summary + * {
      margin-top: 1.5em; }
  .details-arrow summary::-webkit-details-marker, .is-style-details-arrow summary::-webkit-details-marker {
    display: none; }

.swiper-container {
  position: relative; }
  .swiper-container .swiper-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 16px; }
  .swiper-container .swiper-button-prev,
  .swiper-container .swiper-button-next {
    position: relative;
    top: inherit;
    left: inherit;
    right: inherit;
    margin-top: inherit;
    width: 40px;
    height: 40px;
    background: var(--color_1);
    color: #fff;
    border-radius: 100%;
    transition: all 0.2s; }
    .swiper-container .swiper-button-prev::after,
    .swiper-container .swiper-button-next::after {
      font-size: clamp(calc(8 / 16 * 1rem), calc(12 / 1400 * 100vw), calc(12 / 16 * 1rem)); }
    .swiper-container .swiper-button-prev.swiper-button-disabled,
    .swiper-container .swiper-button-next.swiper-button-disabled {
      opacity: 1;
      background: var(--color_lightgray); }
  .swiper-container .swiper-pagination {
    position: relative;
    margin-top: 40px; }
    .swiper-container .swiper-pagination .swiper-pagination-bullet {
      width: 12px;
      height: 12px; }
    .swiper-container .swiper-pagination .swiper-pagination-bullet-active {
      background: var(--color_1); }
  .swiper-container .swiper-scrollbar {
    margin-top: 40px;
    position: relative !important;
    z-index: auto !important; }
    .swiper-container .swiper-scrollbar .swiper-scrollbar-drag {
      background: var(--color_1); }

/* PCでスライダーを解除する場合 */
.swiper:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem; }

.swiper:not(.swiper-initialized) ~ .swiper-button-prev,
.swiper:not(.swiper-initialized) ~ .swiper-button-next,
.swiper:not(.swiper-initialized) ~ .swiper-pagination,
.swiper:not(.swiper-initialized) ~ .swiper-scrollbar {
  display: none; }

@media (width < 768px) {
  #swiper-1 .swiper {
    margin-left: calc(-1 * var(--body_spacing));
    margin-right: calc(-1 * var(--body_spacing));
    padding-left: var(--body_spacing);
    padding-right: var(--body_spacing); } }

/* ループスライダー */
.swiper-loop .swiper-wrapper {
  transition-timing-function: linear; }

.swiper-loop .swiper-slide {
  aspect-ratio: 3 / 2; }
  .swiper-loop .swiper-slide img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%; }
