@charset "UTF-8";

/*
 * css
 * uaplus.css reset css
 * 1. root variables
 * 2. fonts
 * 3. global styles
    3-1. base styles
    3-2. utility styles
 * 4. layout styles
    4-1. wrapper, content, base, inner
    4-3. page-container, page-header, page-content
 * 5. component styles


 */
/*
 * root variables
 */
:root {
  --color-base: 255, 255, 255;
  /*#fff*/
  --color-base-2: 249, 247, 241;
  /*#F9F7F1*/
  --color-contrast: 33, 33, 33;
  /*#212121*/
  --color-primary: 15, 91, 79;
  /*#0f5b4f*/
  --color-secondary: 209, 148, 76;
  /*#D1944C*/
  --color-primary-light: 231, 241, 234;
  /*#E7F1EA*/
  --color-accent: 220, 95, 77;
  /*#DC5F4D*/
  --font-jp: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-serif: "Shippori Mincho B1", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  --font-en: "Montserrat", "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  /* size設定*/
  --base-size: 1rem;
  /* 基準サイズ・・・html 62.5%にはしない　=16px */
  --container-size: 1260px;
  /* コンテナ幅 */
  --container-size-narrow: 800px;
  /* コンテナの最小幅 */
  --container-size-wide: 1500px;
  /* コンテナの最大幅 */
  /* ビューポート/コンテナの制約 */
  --min-viewport: 320;
  --max-viewport: 1500;
  /* フォントウェイト */
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  /* 行間 */
  --leading-tight: 1.429;
  --leading-base: 1.625;
  --leading-loose: 1.8;
  /* 文字間 */
  --letter-base: 40;
  /* XD 文字間隔の数字 */
  --letter-calc: calc(var(--letter-base) / 1000);
  /* フォントサイズの適応設定 */
  --min-size: 12;
  /* 最小フォントサイズ(px) */
  --max-size: 16;
  /* 最大フォントサイズ(px) */
}

/* フォールバックの実装例 */
.adaptive-text {
  /* 基本サイズをフォールバックとして設定 */
  font-size: 16px;
  /* モダンブラウザ向けの実装 */
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}

.viewport-adaptive {
  /* ビューポート幅に基づく計算 */
  --font-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) *
      /* 100vwはビューポート幅全体を表す */
      (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}

/*
 * fonts
 */
/* noto-sans-jp-regular - japanese_latin */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/noto-sans-jp/noto-sans-jp-400-normal.woff2") format("woff2");
}

/* noto-sans-jp-500 - japanese_latin */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/noto-sans-jp/noto-sans-jp-500-normal.woff2") format("woff2");
}

/* noto-sans-jp-600 - japanese_latin */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/noto-sans-jp/noto-sans-jp-600-normal.woff2") format("woff2");
}

/* noto-sans-jp-700 - japanese_latin */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/noto-sans-jp/noto-sans-jp-700-normal.woff2") format("woff2");
}

/* shippori-mincho-b1-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Shippori Mincho B1";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/shippori-mincho-b1/shippori-mincho-b1-400-normal.woff2") format("woff2");
}

/* shippori-mincho-b1-500 - latin */
@font-face {
  font-display: swap;
  font-family: "Shippori Mincho B1";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/shippori-mincho-b1/shippori-mincho-b1-500-normal.woff2") format("woff2");
}

/* shippori-mincho-b1-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Shippori Mincho B1";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/shippori-mincho-b1/shippori-mincho-b1-600-normal.woff2") format("woff2");
}

/* shippori-mincho-b1-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Shippori Mincho B1";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/shippori-mincho-b1/shippori-mincho-b1-700-normal.woff2") format("woff2");
}

/* shippori-mincho-b1-800 - latin */
/* @font-face {
  font-display: swap;
  font-family: 'Shippori Mincho B1';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/shippori-mincho-b1-v24-latin-800.woff2') format('woff2');
} */
/* montserrat-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/montserrat/montserrat-400-normal.woff2") format("woff2");
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/montserrat/montserrat-500-normal.woff2") format("woff2");
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/montserrat/montserrat-600-normal.woff2") format("woff2");
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/montserrat/montserrat-700-normal.woff2") format("woff2");
}

/*
  * global styles
  */
* html body {
  background: url(null) fixed;
}

html {
  font-size: 100%;
  /** nav open **/
}

html.is-locked {
  height: 100vh;
  overflow: hidden;
}

body {
  width: 100%;
  margin: 0;
  padding: 0;
  color: rgb(var(--color-contrast));
  background-color: rgb(var(--color-base));
  font-size: var(--base-size);
  font-weight: var(--weight-normal);
  font-style: normal;
  font-family: var(--font-jp);
  line-height: var(--leading-base);
  overflow-wrap: anywhere;
  /*折り返し指定 永井英単語でのレイアウトの突き抜け防止*/
  word-break: normal;
  /* break-all は強制的に折り返すのて使用控える */
  text-autospace: normal;
  /*英数字と日本語の間に余白を入れる*/
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  line-break: strict;
  /* 禁則処理 子音や句読点、記号が行頭にこないようにする */
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: var(--letter-calc);
  overflow-x: hidden;
}

/*
  * 3-2. utility styles
  */
::-moz-selection {
  color: rgb(var(--color-contrast));
  background: rgba(var(--color-primary), 0.1);
  text-shadow: none;
}

::selection {
  color: rgb(var(--color-contrast));
  background: rgba(var(--color-primary), 0.1);
  text-shadow: none;
}

::-moz-selection {
  color: rgb(var(--color-contrast));
  background: rgba(var(--color-primary), 0.1);
  text-shadow: none;
}

@media screen and (min-width: 480px) {
  .sp-only {
    display: none;
  }
}

.sp {
  display: none;
}

@media screen and (min-width: 480px) {
  .sp {
    display: block;
  }
}

@media screen and (min-width: 1025px) {
  .sp {
    display: none;
  }
}

.tab {
  display: none;
}

@media screen and (min-width: 768px) {
  .tab {
    display: block;
  }
}

@media screen and (min-width: 1025px) {
  .tab {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .pc-hidden {
    display: none;
  }
}

.pc-only {
  display: none;
}

@media screen and (min-width: 1025px) {
  .pc-only {
    display: block;
  }
}

.font-jp {
  font-family: var(--font-jp);
}

.font-serif {
  font-family: var(--font-serif);
}

.font-en {
  font-family: var(--font-en);
}

.svgicon {
  width: 1em;
  height: 1em;
}

a {
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a:link,
a:visited,
a:active {
  /* color: currentColor; */
  text-decoration: none;
}

a:hover {
  opacity: 0.72;
  text-decoration: none;
}

.has-base-color {
  color: rgb(var(--color-base));
}

.has-base-2-color {
  color: rgb(var(--color-base-2));
}

.has-contrast-color {
  color: rgb(var(--color-contrast));
}

.has-gray-dark-color {
  color: rgb(var(--wp--preset--color--gray-dark));
}

.has-gray-color {
  color: rgb(var(--wp--preset--color--gray));
}

.has-gray-light-color {
  color: rgb(var(--wp--preset--color--gray-light));
}

.has-primary-color {
  color: rgb(var(--color-primary));
}

.has-primary-light-color {
  color: rgb(var(--color-primary-light));
}

.has-secondary-color {
  color: rgb(var(--color-secondary));
}

.has-accent-color {
  color: rgb(var(--color-accent));
}

.has-base-background-color {
  background-color: rgb(var(--color-base));
}

.has-base-2-background-color {
  background-color: rgb(var(--color-base-2));
}

.has-contrast-background-color {
  background-color: rgb(var(--color-contrast));
}

.has-primary-background-color {
  background-color: rgb(var(--color-primary));
}

.has-primary-light-background-color {
  background-color: rgb(var(--color-primary-light));
}

.has-secondary-background-color {
  background-color: rgb(var(--color-secondary));
}

.has-accent-background-color {
  background-color: rgb(var(--color-accent));
}

.aligncenter {
  text-align: center;
}

.alignright {
  text-align: right;
}

.alignleft {
  text-align: left;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  --gap: 1em;
  /* flex-itemが2つあるとき */
  /* flex-itemが3つあるとき */
  /* flex-itemが4つあるとき */
}

.flex.nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flex.dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: initial;
  flex-wrap: initial;
}

@media screen and (min-width: 480px) {
  .flex:has(> .flex-item:nth-child(2)) .flex-item {
    width: calc((100% - var(--gap)) / 2);
  }
}

@media screen and (min-width: 480px) {
  .flex:has(> .flex-item:nth-child(3)) .flex-item {
    width: calc((100% - var(--gap)) / 2);
  }
}

@media screen and (min-width: 960px) {
  .flex:has(> .flex-item:nth-child(3)) .flex-item {
    width: calc((100% - var(--gap) * 2) / 3);
  }
}

@media screen and (min-width: 480px) {
  .flex:has(> .flex-item:nth-child(4)) .flex-item {
    width: calc((100% - var(--gap)) / 2);
  }
}

@media screen and (min-width: 960px) {
  .flex:has(> .flex-item:nth-child(4)) .flex-item {
    width: calc((100% - var(--gap) * 3) / 4);
  }
}

.gnav .btn,
.fix-link a {
  font-family: var(--font-serif);
  text-align: center;
}

.btn {
  /*.is-style-outline*/
  /*.is-style-arrow-right*/
  /*.is-style-arrow-left*/
  /*.is-style-outline-arrow-right*/
  /*.is-style-outline-arrow-left*/
}

.btn a {
  display: inline-block;
  min-width: 12.5em;
  padding: 0.75em 1em;
  border-radius: 0.25rem;
  font-weight: var(--weight-bold);
  color: rgb(var(--color-base));
  background-color: rgb(var(--color-primary));
  border: 2px solid rgb(var(--color-primary));
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  position: relative;
  /* &[href$=".pdf"]::before,
  &[href$=".pdf"]::after {
    display: none !important;
  }

  &[href$=".pdf"] {
    background-image: url(../img/icon/icon-pdf.svg);
    background-repeat: no-repeat;
    background-position: center right 0.5em;
    background-size: 1.25em;
  }

  &[href$=".pdf"]::before,
  &[href$=".pdf"]::after {
    display: none !important;
  } */
  /* &[href$=".pdf"]::after {
    width: 1.25em;
    height: 1.25em;
  } */
  /*.has-secondary-background-color*/
}

.btn a:hover {
  opacity: 1;
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
}

.btn a.has-secondary-background-color {
  background-color: rgb(var(--color-secondary));
  border-color: rgb(var(--color-secondary));
}

.btn a.has-secondary-background-color:hover {
  background-color: rgb(var(--color-base-2)) !important;
  color: rgb(var(--color-secondary));
}

.btn.is-style-outline a {
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
}

.btn.is-style-outline a:hover {
  background-color: rgb(var(--color-primary));
  color: rgb(var(--color-base));
}

.btn.is-style-arrow-right a {
  padding-right: 2.5em;
}

.btn.is-style-arrow-right a::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  background-color: rgb(var(--color-base));
  border-radius: 50%;
  position: absolute;
  right: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

.btn.is-style-arrow-right a::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23D1944C' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 0.75em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
}

.btn.is-style-arrow-right a:hover::after {
  right: 0.6em;
}

.btn.is-style-arrow-left a {
  padding-left: 2.5em;
}

.btn.is-style-arrow-left a::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  background-color: rgb(var(--color-base));
  border-radius: 50%;
  position: absolute;
  left: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

.btn.is-style-arrow-left a::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23D1944C' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 0.75em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: left 0.3s;
  transition: left 0.3s;
}

.btn.is-style-arrow-left a:hover::after {
  left: 0.6em;
}

.btn.is-style-outline-arrow-right a {
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
  padding-right: 2.5em;
}

.btn.is-style-outline-arrow-right a::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  background-color: rgb(var(--color-primary));
  border-radius: 50%;
  position: absolute;
  right: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

.btn.is-style-outline-arrow-right a::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 0.75em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
}

.btn.is-style-outline-arrow-right a:hover {
  background-color: rgb(var(--color-primary));
  color: rgb(var(--color-base));
}

.btn.is-style-outline-arrow-right a:hover::after {
  right: 0.6em;
}

.btn.is-style-outline-arrow-left a {
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
  padding-left: 2.5em;
}

.btn.is-style-outline-arrow-left a::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  background-color: rgb(var(--color-primary));
  border-radius: 50%;
  position: absolute;
  left: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

.btn.is-style-outline-arrow-left a::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 0.75em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: left 0.3s;
  transition: left 0.3s;
}

.btn.is-style-outline-arrow-left a:hover {
  background-color: rgb(var(--color-primary));
  color: rgb(var(--color-base));
}

.btn.is-style-outline-arrow-left a:hover::after {
  left: 0.6em;
}

.btn a[target=_blank] {
  padding-right: 3em;
  padding-left: 1em;
  position: relative;
}

.btn a[target=_blank]::before {
  content: "";
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  border-radius: 50%;
  background-color: rgb(var(--color-base));
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
  left: auto;
  right: 0.5em;
}

.btn a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 0.875em;
  height: 0.875em;
  background-image: url(../img/icon/icon-blank.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.875em;
  position: absolute;
  top: 50%;
  left: auto;
  right: 0.7em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
}

.btn a[target=_blank]:hover::after {
  right: 0.7em;
}

.btn a[href$=".pdf"]::before {
  width: 1.65em;
  height: 1.65em;
}

.btn a[href$=".pdf"]::after {
  width: 1.15em;
  height: 1.15em;
  background-image: url(../img/icon/icon-pdf.svg);
  background-size: 1.15em;
  right: 0.8em;
}

.btns {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.125rem 1.5rem;
}

.page-parent .editor-area .btns {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.page-parent .editor-area .btns .btn {
  width: 100%;
}

@media screen and (min-width: 480px) {
  .page-parent .editor-area .btns .btn {
    width: calc((100% - 1.5rem) / 2);
  }
}

@media screen and (min-width: 768px) {
  .page-parent .editor-area .btns .btn {
    width: calc((100% - 3rem) / 3);
  }
}

.page-parent .editor-area .btns .btn a {
  width: 100%;
  font-size: 1.25rem;
  min-width: 100%;
}

/*
 * bnr-list
 */
.bnr-list {
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.bnr-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.bnr-list-item a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.75em 0.5em;
  color: rgb(var(--color-primary));
  font-size: 1.25em;
  font-weight: var(--weight-semibold);
  background-color: rgb(var(--color-base));
  border: 2px solid rgb(var(--color-primary));
  border-radius: 0.25rem;
}

@media screen and (min-width: 1025px) {
  .bnr-list-item a {
    font-size: 1.5em;
  }
}

.bnr-list-item a:has(img) {
  padding-block: 0.25em;
}

.bnr-list-item a span {
  display: inline-block;
  font-size: 1rem;
  margin: 0 0.5em 0 0;
}

.bnr-list-item a img {
  width: auto;
  height: auto;
  max-width: 80%;
  max-height: 80%;
  -o-object-fit: contain;
  object-fit: contain;
}

/*
 * layout styles
  * 4-1. wrapper, content, base, inner
 */
.wrapper {
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0 auto;
  overflow: hidden;
}

.content {
  width: 100%;
  height: auto;
  padding: 3.5rem 0 0;
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 1120px) {
  .content {
    padding: 0 0 0 6rem;
  }
}

/* .is-locked .content {
  z-index: 9;
  &:has(#js-sideNav.is-open) {
    z-index: 11;
  }
} */
.base {
  --min-size: 40;
  --max-size: 80;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  width: 100%;
  height: auto;
  padding-block: clamp(var(--min-size) * 1px, var(--clamp-size), var(--max-size) * 1px);
  padding-inline: 0;
  margin: 0 auto;
  clear: both;
  position: relative;
  z-index: 1;
}

.inner {
  --min-size: 16;
  --max-size: 80;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --padding-inline: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  width: 100%;
  max-width: calc(1120px + var(--padding-inline) * 2);
  height: auto;
  padding-block: 0;
  padding-inline: var(--padding-inline);
  margin: 0 auto;
  clear: both;
  position: relative;
}

.inner::after {
  content: "";
  clear: both;
  display: block;
}

.inner.narrow {
  max-width: calc(800px + var(--padding-inline) * 2);
}

.inner.wide {
  max-width: calc(1280px + var(--padding-inline) * 2);
}

.inner.fullwidth {
  width: 100vw;
  max-width: 100%;
  margin: 0 calc(50% - 50vw);
}

.main-logo {
  width: auto;
  height: auto;
  margin: 0;
}

.main-logo .yoko {
  display: block;
}

@media screen and (min-width: 1120px) {
  .main-logo .yoko {
    display: none;
  }
}

.main-logo .tate {
  display: none;
}

@media screen and (min-width: 1120px) {
  .main-logo .tate {
    display: block;
  }
}

.main-logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.main-logo a:hover img {
  -webkit-filter: invert(64%) sepia(66%) saturate(390%) hue-rotate(350deg) brightness(86%) contrast(89%);
  filter: invert(64%) sepia(66%) saturate(390%) hue-rotate(350deg) brightness(86%) contrast(89%);
}

.main-logo img {
  display: block;
  width: 100%;
  height: auto;
  /* transition: filter 0.3s; */
}

/*
 * layout styles
 * 4-2. main-header,gnav
 */
.main-header {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0 1rem 0 4rem;
  background-color: rgb(var(--color-base-2));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
}

@media screen and (min-width: 1120px) {
  .main-header {
    width: 6rem;
    height: 100vh;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 7.5rem 0 1.5rem;
  }
}

.main-header .nav-toggle {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.main-header .main-logo {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  width: 9rem;
  height: 3.5rem;
}

@media screen and (min-width: 1120px) {
  .main-header .main-logo {
    width: 3.5rem;
    height: auto;
  }
}

.main-header .main-logo a {
  padding: 0.5rem;
}

.main-header .lang-select {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}

.lang-select,
.gtranslate_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-en);
  font-weight: var(--weight-medium);
  font-size: 0.875rem;
  line-height: 1.5;
}

.lang-select a,
.gtranslate_wrapper a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: rgb(var(--color-secondary));
  position: relative;
}

.lang-select a.is-current,
.lang-select a.gt-current-lang,
.gtranslate_wrapper a.is-current,
.gtranslate_wrapper a.gt-current-lang {
  color: rgb(var(--color-accent));
}

.lang-select a:hover,
.gtranslate_wrapper a:hover {
  color: rgb(var(--color-primary));
  opacity: 1;
}

.lang-select a+a::after,
.gtranslate_wrapper a+a::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.875rem;
  background-color: rgb(var(--color-secondary));
  margin-left: 0.5rem;
}

.nav-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  cursor: pointer;
  width: 3.5rem;
  height: 3.5rem;
  border: none;
  outline: none;
  min-height: auto;
  padding: 0;
  margin: 0;
  background-color: rgb(var(--color-primary));
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
}

@media screen and (min-width: 1120px) {
  .nav-toggle {
    width: 6rem;
    height: 6rem;
  }
}

.nav-toggle-icon {
  width: 2.2rem;
  height: 1rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (min-width: 1120px) {
  .nav-toggle-icon {
    width: 2.625rem;
  }
}

.nav-toggle-icon span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: rgb(var(--color-secondary));
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}

.is-active .nav-toggle-icon span:first-of-type {
  -webkit-transform: translateY(8px) rotate(20deg);
  transform: translateY(8px) rotate(20deg);
}

.is-active .nav-toggle-icon span:nth-of-type(2) {
  opacity: 0;
}

.is-active .nav-toggle-icon span:last-of-type {
  -webkit-transform: translateY(-6px) rotate(-20deg);
  transform: translateY(-6px) rotate(-20deg);
}

.nav-toggle-text {
  font-size: 0.75rem;
  line-height: 1;
  display: block;
  height: auto;
  width: 100%;
  color: rgb(var(--color-secondary));
  font-family: var(--font-en);
  font-weight: var(--weight-semibold);
  text-transform: lowercase;
  text-align: center;
  margin-top: 0.5rem;
}

@media screen and (min-width: 1120px) {
  .nav-toggle-text {
    font-size: 0.875rem;
  }
}

.gnav {
  width: 100%;
  max-width: 20rem;
  /*24.375rem*/
  height: 100vh;
  padding: 5rem 1rem 2rem;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  z-index: 1000;
  background-color: rgb(var(--color-base-2));
  overflow-y: scroll;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.gnav.is-active {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  pointer-events: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 1120px) {
  .gnav {
    max-width: calc(840px + 6rem + 5rem);
    padding: 5rem 5rem 1.5rem 11rem;
  }
}

.nav-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  height: auto;
  opacity: 0;
  padding: 0;
  position: relative;
  -webkit-transition: opacity, 1.8s, 0.3s, cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity, 1.8s, 0.3s, cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 20;
}

.is-active .nav-inner {
  opacity: 1;
}

@media screen and (min-width: 1120px) {
  .nav-inner {
    height: 100%;
    opacity: 1;
    display: grid;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
  }
}

.overlay {
  position: fixed;
  width: 100vw;
  height: 100%;
  display: block;
  background: rgba(var(--color-contrast), 0.64);
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
}

.overlay.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 900;
}

.nav-list,
.nav-child,
.nav-submenu {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.nav-list .btn,
.nav-child .btn,
.nav-submenu .btn {
  width: 100%;
}

.nav-list .btn a,
.nav-child .btn a,
.nav-submenu .btn a {
  width: 100%;
}

.nav-list {
  gap: 1rem;
}

@media screen and (min-width: 1120px) {
  .nav-list {
    gap: 2.5rem;
  }

  .nav-list:first-of-type {
    grid-row: 1/2;
    grid-column: 1/4;
  }

  .nav-list:nth-of-type(2) {
    grid-row: 2/3;
    grid-column: 1/2;
  }

  .nav-list:nth-of-type(3) {
    grid-row: 3/4;
    grid-column: 1/2;
  }

  .nav-list:nth-of-type(4) {
    grid-row: 2/3;
    grid-column: 2/3;
  }

  .nav-list:nth-of-type(5) {
    grid-row: 2/3;
    grid-column: 3/4;
  }
}

.nav-list-item {
  width: 100%;
}

.nav-list-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  color: rgb(var(--color-primary));
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.nav-list-item a:hover {
  color: rgb(var(--color-secondary));
  opacity: 1;
}

@media screen and (min-width: 1120px) {
  .has-nav-child .nav-parent.js-dropdown-trigger {
    display: none;
  }
}

.has-nav-child .nav-parent:not(.js-dropdown-trigger) {
  display: none;
}

@media screen and (min-width: 1120px) {
  .has-nav-child .nav-parent:not(.js-dropdown-trigger) {
    display: block;
  }
}

.nav-parent {
  font-size: 1.125rem;
  font-family: var(--font-serif);
  font-weight: var(--weight-bold);
  color: rgb(var(--color-primary));
  padding: 0 0 0 1.75rem;
  position: relative;
}

.nav-parent.js-dropdown-trigger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
}

.nav-parent:hover {
  color: rgb(var(--color-secondary));
}

.nav-parent:hover::after {
  left: 0.4em;
}

.nav-parent::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: rgb(var(--color-primary));
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.nav-parent::after {
  content: "";
  display: block;
  width: 0.55em;
  height: 0.55em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 0.25em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: left 0.3s;
  transition: left 0.3s;
}

.js-dropdown-trigger::after {
  content: "＋";
  background: none;
  line-height: 1;
  letter-spacing: 0;
  color: rgb(var(--color-base));
  width: auto;
  height: auto;
  left: 0.07em;
  font-weight: 700;
  font-size: 0.875em;
}

.js-dropdown-trigger:hover::after {
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  left: 0.07em;
}

.nav-child {
  gap: 0.5rem;
  padding-left: 0;
}

.nav-child.is-open {
  margin-block: 0.75rem;
}

@media screen and (min-width: 1120px) {
  .nav-child {
    gap: 1rem;
    margin-top: 0.75rem;
  }
}

/* gnav dropdown animation */
.js-dropdown-container {
  overflow: hidden;
  height: 0;
  opacity: 0;
  -webkit-transition: height 0.35s ease, opacity 0.25s ease;
  transition: height 0.35s ease, opacity 0.25s ease;
}

@media screen and (min-width: 1120px) {
  .js-dropdown-container {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    opacity: 1;
    height: auto;
  }
}

.js-dropdown-container.is-open {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .js-dropdown-container {
    -webkit-transition: none;
    transition: none;
  }
}

.nav-child-item a {
  font-size: 1rem;
  font-family: var(--font-serif);
  font-weight: var(--weight-bold);
  padding: 0 0 0 1.75rem;
  position: relative;
}

.nav-child-item a:hover {
  color: rgb(var(--color-secondary));
}

.nav-child-item a:hover::after {
  left: 0.25em;
}

.nav-child-item a::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23D1944C' viewBox='0 0 40.922 40.922'%3E%3Cpath d='M26.436,26.436H-.064A2.436,2.436,0,0,1-2.5,24,2.436,2.436,0,0,1-.064,21.564H21.564V-.064A2.436,2.436,0,0,1,24-2.5,2.436,2.436,0,0,1,26.436-.064Z' transform='translate(3.536 20.461) rotate(-45)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: left 0.3s;
  transition: left 0.3s;
}

.sns-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}

.sns-link .svgicon {
  width: 2.5rem;
  height: 2.5rem;
}

.sns-link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: rgb(var(--color-primary));
}

.sns-link a:hover {
  color: rgb(var(--color-secondary));
  opacity: 1;
}

.nav-submenu {
  width: 100%;
  margin: 2.5rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

@media screen and (min-width: 1120px) {
  .nav-submenu {
    grid-column: 1/4;
    grid-row: 10;
    padding-top: 1rem;
    padding-bottom: 1.5rem;
    margin-top: auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-top: 1px solid rgb(var(--color-secondary));
  }
}

.nav-submenu-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.nav-submenu-item+.nav-submenu-item::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.875rem;
  background-color: rgb(var(--color-secondary));
  margin-right: 1rem;
}

.nav-submenu-item a {
  font-size: 0.75rem;
  color: rgb(var(--color-primary));
}

.nav-submenu-item a:hover {
  color: rgb(var(--color-secondary));
  opacity: 1;
}

@media screen and (min-width: 1120px) {
  .nav-submenu-item a {
    font-size: 0.875rem;
  }
}

/*
 * 4-3. main-footer
 */
.main-footer {
  background: rgb(var(--color-base-2));
  padding: 1rem 0 1rem;
}

@media screen and (min-width: 1025px) {
  .main-footer {
    padding-top: 5rem;
  }
}

@media screen and (min-width: 1120px) {
  .main-footer {
    padding-left: 6.5rem;
  }
}

.main-footer .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.5rem;
}

@media screen and (min-width: 1025px) {
  .main-footer .inner {
    display: grid;
    grid-template-columns: 300px auto;
  }
}

.main-footer .main-logo {
  width: 60%;
  max-width: 256px;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

@media screen and (min-width: 1025px) {
  .main-footer .main-logo {
    grid-column: 1/2;
    grid-row: 1/2;
    width: 100%;
  }
}

.top .main-footer {
  padding-bottom: 6rem;
}

.footer-nav {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 0 auto;
}

@media screen and (min-width: 1025px) {
  .footer-nav {
    grid-column: 2/3;
    grid-row: 1/4;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 100%;
  }
}

@media screen and (min-width: 1200px) {
  .footer-nav {
    gap: 2.5rem;
  }
}

.footer-nav .nav-list {
  width: auto;
  margin: 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 1025px) {
  .footer-nav .nav-list {
    /* width: calc((100% - 1rem * 3) / 4); */
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

@media screen and (min-width: 1200px) {
  .footer-nav .nav-list {
    /* width: calc((100% - 2.5rem * 3) / 4); */
  }
}

.footer-nav .nav-list:first-of-type {
  width: 100%;
}

.footer-nav .nav-list-item {
  width: auto;
}

@media screen and (min-width: 1025px) {
  .footer-nav .nav-list-item {
    width: 100%;
  }
}

.footer-nav .nav-child {
  display: none;
}

@media screen and (min-width: 1025px) {
  .footer-nav .nav-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 0.75rem;
    row-gap: 0.75rem;
  }
}

.footer-nav .btns {
  gap: 1.125rem;
  margin-block: 1.5rem;
  width: 100%;
}

@media screen and (min-width: 1025px) {
  .footer-nav .btns {
    margin-top: auto;
    margin-bottom: 0;
  }
}

.footer-nav .btn {
  width: calc((100% - 1.125rem) / 2);
}

@media screen and (min-width: 480px) {
  .footer-nav .btn {
    width: calc((100% - 2.25rem) / 3);
  }
}

.footer-nav .btn a {
  width: 100%;
  min-width: 100%;
}

.footer-nav .btn:last-of-type {
  width: 100%;
}

@media screen and (min-width: 480px) {
  .footer-nav .btn:last-of-type {
    width: calc((100% - 2.25rem) / 3);
  }
}

.footer-info {
  width: 100%;
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
}

@media screen and (min-width: 1025px) {
  .footer-info {
    grid-column: 1/2;
    grid-row: 2/4;
  }
}

.footer-info .sns-link {
  width: 100%;
  margin: 0;
}

.footer-info-add {
  font-size: 0.875rem;
  font-style: normal;
  color: rgb(var(--color-primary));
  margin: 0;
}

.footer-info-add:first-of-type {
  width: 100%;
}

.footer-info-add a {
  color: rgb(var(--color-primary));
}

.footer-info-add a:hover {
  opacity: 1;
  color: rgb(var(--color-secondary));
}

.footer-info-add span {
  display: block;
  font-size: 1.125em;
  font-weight: var(--weight-bold);
}

.footer-info-copyright {
  font-size: 0.75rem;
  color: rgb(var(--color-primary));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  margin: 0;
}

@media screen and (min-width: 1025px) {
  .footer-info-copyright {
    margin: 4em 0 0;
    line-height: 1.2;
  }
}

.footer-info-copyright a {
  margin-right: 1rem;
  color: rgb(var(--color-primary));
}

.footer-info-copyright a:hover {
  opacity: 1;
  color: rgb(var(--color-secondary));
}

.footer-info-copyright a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1px;
  height: 1em;
  background-color: rgb(var(--color-primary));
  margin-left: 1rem;
}

.copy {
  display: block;
}

.fix-link {
  position: fixed;
  bottom: 0;
  z-index: 900;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: rgb(var(--color-base-2));
  gap: 1px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (min-width: 1025px) {
  .fix-link {
    width: 11.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.5rem;
    background-color: rgb(var(--color-base-2), 0);
    bottom: auto;
    top: 28.45em;
    right: -0.5rem;
  }

  .fix-link.is-fixed {
    /* bottom: 2em; */
    top: calc(100% - 220px);
  }

  .fix-link.is-stop {
    /* bottom: calc(100% + 20px); */
    /* footerの直前 */
  }
}

.fix-link a {
  color: rgb(var(--color-base));
}

.fix-link a:hover {
  opacity: 1;
}

.sub .fix-link {
  display: none;
}

.fix-link-item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0.5rem;
  font-family: var(--font-serif);
  font-weight: var(--weight-bold);
}

@media screen and (min-width: 1025px) {
  .fix-link-item {
    padding: 0.75rem 0.5rem;
    border-radius: 0.5rem;
  }
}

.fix-link-item:not(.has-secondary-background-color) {
  background-color: rgb(var(--color-primary));
}

@media screen and (min-width: 1025px) {
  .fix-link-item:not(.has-secondary-background-color) {
    border: 2px solid rgb(var(--color-primary));
  }
}

.fix-link-item:hover {
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
  /* @media screen and (min-width: 1120px) {
    border-color: rgb(var(--color-primary));
  } */
}

.fix-link-item.has-secondary-background-color {
  border: 2px solid rgb(var(--color-secondary));
}

.fix-link-item.has-secondary-background-color:hover {
  background-color: rgb(var(--color-base-2)) !important;
  color: rgb(var(--color-secondary));
}

.fix-link-icon {
  display: grid;
  place-content: center;
  width: 1.75rem;
  height: 1.75rem;
  font-size: 1.75rem;
  margin: 0 auto 0.25rem;
}

@media screen and (min-width: 1025px) {
  .fix-link-icon {
    display: none;
  }
}

.fix-link-text {
  font-size: 0.75rem;
  text-align: center;
}

@media screen and (min-width: 1025px) {
  .fix-link-text {
    font-size: 1rem;
  }
}

/*
 * 4-4. page-container, page-header, page-content,breadcrumb,local-nav
 */
.page-container {
  margin: 0 auto;
}

.page-header {
  width: calc(100% - 2rem);
  height: auto;
  margin: 0 auto;
  padding: 1.5rem 1.5rem 3rem;
  border-radius: 0 0 2rem 2rem;
  overflow: hidden;
  background-color: rgb(var(--color-base-2));
  position: relative;
}

@media screen and (min-width: 768px) {
  .page-header {
    width: calc(100% - 4rem);
  }
}

@media screen and (min-width: 1025px) {
  .page-header {
    padding: 2.5rem 4rem 3.5rem;
    width: calc(100% - 5rem);
    max-width: calc(1120px + 8rem);
  }
}

.page-header::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(72deg, rgba(var(--color-base-2), 1) 30%, rgba(var(--color-base-2), 0.5) 60%, rgba(var(--color-base-2), 0) 90%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

@media screen and (min-width: 1025px) {
  .page-header::before {
    width: 50%;
    max-width: 760px;
    left: 30%;
  }
}

.page-header .page-title::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 1px;
  margin-top: 0.5rem;
  background-color: rgb(var(--color-secondary));
}

.page-title {
  --min-size: 28;
  --max-size: 40;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  letter-spacing: 0.05em;
  margin: 0;
  font-size: 2.5rem;
  font-size: clamp(var(--min-size) * 1px, var(--clamp-size), var(--max-size) * 1px);
  font-family: var(--font-serif);
  color: rgb(var(--color-primary));
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.page-header-img {
  width: 80%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}

@media screen and (min-width: 1025px) {
  .page-header-img {
    width: 60%;
  }
}

.page-header-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.page-content {
  width: 100%;
  max-width: 1324px;
  height: auto;
  margin: 0 auto;
}

/* breadcrumb */
.breadcrumb {
  width: 100%;
  margin: 0;
  padding: 1rem 0;
}

.breadcrumb-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
}

.breadcrumb-item {
  --min-size: 12;
  --max-size: 14;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  font-size: clamp(var(--min-size) * 1px, var(--clamp-size), var(--max-size) * 1px);
  color: rgba(var(--color-contrast), 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.breadcrumb-item+.breadcrumb-item::before {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  background-color: rgba(var(--color-secondary), 0.3);
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg);
  margin: 0 0.75rem;
}

.breadcrumb-item a {
  color: rgb(var(--color-primary));
  font-weight: var(--weight-medium);
}

.breadcrumb-item a:hover {
  color: rgb(var(--color-secondary));
}

/* side-nav */
@media screen and (min-width: 960px) {
  #js-sideNavfixArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /* flex-wrap: wrap; */
    position: relative;
  }
}

#js-sideNav {
  width: calc(100% - 4rem);
  max-width: calc(390px + 4rem);
  /* padding-left: 4rem; */
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  /*gnavが開いてる時はoverlayの下*/
}

#js-sideNav.is-open {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  /* z-index: 11; */
}

#js-sideNav.is-under-overlay {
  z-index: 10;
}

@media screen and (min-width: 960px) {
  #js-sideNav {
    width: 284px;
    height: auto;
    border-radius: 1rem;
    overflow: hidden;
    /* position: absolute;
    top: auto;
    right: 2.5rem; */
    padding: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    z-index: 10;
    /* &.is-fixed {
      position: fixed;
      top: 5rem;
    } */
  }
}

#js-sideNavfixAreaContent {
  /* border: 1px solid blue; */
}

@media screen and (min-width: 960px) {
  #js-sideNavfixAreaContent {
    padding-right: calc(284px + var(--padding-inline));
  }
}

/* sideNavがないとき */
.wrapper:not(:has(#js-sideNav)) {
  /* #js-sideNavfixArea {} */
}

@media screen and (min-width: 960px) {
  .wrapper:not(:has(#js-sideNav)) #js-sideNavfixAreaContent {
    padding-right: var(--padding-inline);
  }
}

/* .side-nav {} */
.side-toggle {
  width: 4rem;
  height: 4rem;
  font-size: 0.75rem;
  font-weight: var(--weight-medium);
  line-height: 1.5;
  letter-spacing: 0.5px;
  color: rgb(var(--color-contrast));
  background-color: rgb(var(--color-base-2));
  padding: 0.5rem 0.25rem 0.5rem 0.75rem;
  border: 2px solid rgb(var(--color-secondary));
  border-right: none;
  border-radius: 0.5rem 0 0 0.5rem;
  position: absolute;
  top: 5rem;
  left: -4rem;
  z-index: 9999;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

@media screen and (min-width: 960px) {
  .side-toggle {
    display: none;
  }
}

.side-toggle::before {
  content: "";
  border-top: 5px solid transparent;
  border-right: 5px solid rgb(var(--color-secondary));
  border-bottom: 5px solid transparent;
  position: absolute;
  left: 0.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.is-open .side-toggle::before {
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}

.side-toggle .off,
.is-open .side-toggle .on {
  display: block;
  height: auto;
  opacity: 1;
  visibility: visible;
}

.side-toggle .on,
.is-open .side-toggle .off {
  display: none;
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.side-inner {
  padding: 5rem 1em;
  background-color: rgb(var(--color-base-2));
  /* border: 1px solid red; */
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

@media screen and (min-width: 960px) {
  .side-inner {
    padding: 1.5rem;
    border-radius: 1rem;
    height: auto;
    /* overflow: hidden; */
    max-height: 560px;
    /* overflow-y: scroll; */
  }

  .side-inner:not(:has(.btns)) {
    padding-bottom: 2.25rem;
  }
}

.side-inner .btns {
  gap: 1rem;
  margin: 1.5rem 0 0.75rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
}

.side-inner .btns .btn a {
  width: 100%;
  font-size: 1.125rem;
  text-align: left;
  padding-block: 0.5em;
  padding-left: 1em;
}

.side-inner .nav-list {
  gap: 0.5rem;
}

.side-inner .nav-list-item a {
  font-size: 1.125rem;
  font-weight: var(--weight-semibold);
  padding: 0.5rem 0 1rem 1.75em;
  border-bottom: 1px solid rgba(var(--color-secondary), 0.3);
  position: relative;
}

.side-inner .nav-list-item a:hover {
  color: rgb(var(--color-secondary));
  opacity: 1;
}

.side-inner .nav-list-item a:hover::after {
  left: 0.1em;
}

.side-inner .nav-list-item a::before {
  content: "";
  display: block;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background-color: rgb(var(--color-primary));
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.side-inner .nav-list-item a::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 0.25em;
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
  -webkit-transition: left 0.3s;
  transition: left 0.3s;
}

.side-inner::-webkit-scrollbar {
  width: 6px;
}

.side-inner::-webkit-scrollbar-track {
  background-color: rgb(var(--color-base-2));
}

.side-inner::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-primary), 0.6);
  height: 20px;
}

/*
 * 5. component styles
 */
/*
 * post-list
 */
.postdate {
  font-size: 0.875rem;
  font-family: var(--font-en);
  font-weight: var(--weight-normal);
  font-style: normal;
  color: rgb(var(--color-primary));
  letter-spacing: 0.05em;
}

.tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* justify-content: center; */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: var(--font-jp);
}

@media screen and (min-width: 1120px) {
  .tags {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.tags a {
  min-width: 6rem;
  font-size: 1rem;
  padding: 0.157em 1em;
  line-height: 1;
  text-align: center;
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
  border-radius: 0.25em;
}

.tags a:hover {
  opacity: 1;
  color: rgb(var(--color-base));
  background-color: rgb(var(--color-primary));
}

.tags .tag.is-current a {
  color: rgb(var(--color-base));
  background-color: rgb(var(--color-primary));
}

.tags .tag.is-current a:hover {
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
}

.tags .tag:not(:has(> a)) {
  min-width: 4.5rem;
  font-size: 0.875rem;
  padding: 0.286em 0.5em;
  line-height: 1;
  text-align: center;
  color: rgb(var(--color-primary));
  border: 1px solid currentColor;
  border-radius: 0.25em;
  font-weight: var(--weight-medium);
}

.post-list {
  list-style: none;
  padding: 0;
}

.archive .post-list {
  margin: 2.5rem auto 0;
  padding: 1.5em 0 0;
  border-top: 1px solid rgba(var(--color-secondary), 0.3);
}

.post-list-item {
  width: 100%;
  margin: 0 0 1.5em;
  padding: 0 0 1.5em;
  border-bottom: 1px solid rgba(var(--color-secondary), 0.3);
}

.post-list-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: rgb(var(--color-contrast));
}

.post-list-item a:hover {
  color: rgb(var(--color-primary));
}

.post-list-item .tags {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 0.5rem;
}

.post-list-item .post-title {
  width: 100%;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (min-width: 768px) {
  .post-list-item .post-title {
    -webkit-line-clamp: 1;
  }
}

.single .post-title {
  --min-size: 26;
  --max-size: 28;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --font-size: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 1.25em;
}

.single .post-title span:not(.tags, .tag) {
  width: 100%;
  display: block;
}

.single .tags {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 0.5rem;
}

/*
 * feature-list
 */
.feature-list {
  list-style: none;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding: 0;
  margin: 0 auto;
}

.feature-list-item {
  width: 100%;
}

@media screen and (min-width: 480px) {
  .feature-list-item {
    width: calc((100% - 2.5rem) / 2);
  }

  .feature-list-item:last-of-type {
    margin-inline: auto;
  }
}

@media screen and (min-width: 960px) {
  .feature-list-item {
    width: calc((100% - 5rem) / 3);
  }

  .feature-list-item:last-of-type {
    margin-inline: 0;
  }
}

.feature-list-item:not(:has(> a)),
.feature-list-item>a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

.feature-list-item>a {
  width: 100%;
}

.feature-list-item .ttl {
  width: 100%;
  margin: 0.5rem auto 0;
  color: rgb(var(--color-primary));
  font-weight: var(--weight-bold);
  font-size: 1.5em;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.feature-list-item .desc {
  width: 100%;
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  margin: 0;
}

.feature-list-item .thumb {
  width: 100%;
  aspect-ratio: 346/240;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  margin: 0 auto;
  overflow: hidden;
}

.feature-list-item .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.feature-list-item .btns {
  gap: 1rem;
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
}

.feature-list-item .btns:has(> :nth-child(2)) .btn {
  width: calc((100% - 1rem) / 2);
  min-width: initial;
}

.feature-list-item .btns:has(> :nth-child(2)) .btn a {
  min-width: initial;
}

.feature-list-item .btns .btn {
  min-width: 12.5rem;
}

.feature-list-item .btns .btn a {
  width: 100%;
}

/*
 * pagination,pager
 */
.pagination {
  width: 100%;
  margin: 4rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.pagination a {
  text-decoration: none !important;
}

.pagination a:hover {
  opacity: 1;
}

.pagination .btn {
  width: 15rem;
}

.pagination .btn a {
  width: 100%;
  font-family: var(--font-jp);
}

.page-numbers {
  display: grid;
  place-content: center;
  /* margin: 0.75rem; */
  margin: 0;
  width: 2rem;
  height: 2rem;
  padding: 0.25rem;
  text-align: center;
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
  border-radius: 50%;
  font-size: 1.125rem;
  font-family: var(--font-en);
  font-weight: var(--weight-semibold);
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
  -webkit-transition: color 0.3s, backgroundColor 0.3s;
  transition: color 0.3s, backgroundColor 0.3s;
}

.page-numbers:hover {
  opacity: 1;
  color: rgb(var(--color-base));
  background-color: rgb(var(--color-primary));
}

.page-numbers.current,
.page-numbers.back {
  color: rgb(var(--color-base));
  background-color: rgb(var(--color-primary));
}

.page-numbers.current:hover,
.page-numbers.back:hover {
  opacity: 1;
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
}

.page-numbers.prev,
.page-numbers.next {
  background-color: rgb(var(--color-base));
}

.page-numbers.prev .svgicon,
.page-numbers.next .svgicon {
  width: 1.5em;
  height: 1.5em;
  color: rgb(var(--color-secondary));
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.page-numbers.prev:hover .svgicon,
.page-numbers.next:hover .svgicon {
  color: rgb(var(--color-primary));
}

.page-numbers.prev .svgicon {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.single .pagination .btn {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

@media screen and (min-width: 480px) {
  .single .pagination .btn {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}

.single .page-numbers.prev,
.single .page-numbers.next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  font-size: 1rem;
  width: auto;
  height: auto;
}

.single .page-numbers.prev:hover,
.single .page-numbers.next:hover {
  color: rgb(var(--color-secondary));
}

.single .page-numbers.prev {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

@media screen and (min-width: 480px) {
  .single .page-numbers.prev {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

.single .page-numbers.next {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}

/*
 * 6. block-editor styles
 */
.editor-area p {
  width: 100%;
  line-height: 2.2;
  margin-bottom: 1em;
}

.editor-area p:not(.has-background) {
  padding-top: 0.25em;
}

.editor-area p a {
  color: rgb(var(--color-primary));
  text-decoration: underline;
}

.editor-area p a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 0.25em;
  background: url(../img/icon/icon-blank.svg) no-repeat center center/contain;
  font-size: 0.875em;
  color: rgb(var(--color-secondary));
}

.editor-area p a[href$=".pdf"]::after {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin: 0 0.25em;
  background: url(../img/icon/icon-pdf.svg) no-repeat center center/contain;
  font-size: 0.875em;
  color: rgb(var(--color-secondary));
}

.editor-area p a:hover {
  color: rgb(var(--color-secondary));
  opacity: 1;
  text-decoration: none;
}

.editor-area sup,
.editor-area sub {
  font-size: 0.75em;
}

.editor-area iframe[src^="https://www.google.com/"] {
  width: 100%;
  height: 360px;
}

.editor-area>.wp-block-image {
  margin-block: 1em;
}

/* .has-background {

} */
.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

.has-text-align-center {
  text-align: center;
}

.has-serif-font-family {
  font-family: var(--font-serif);
}

.has-montserrat-font-family {
  font-family: var(--font-en);
}

.has-system-font-font-family {
  font-family: var(--font-jp);
}

.has-huge-font-size {
  /* @include clampSize(font-size, 33, 320, 1280, 38); */
  line-height: 1.55;
  --min-size: 28;
  --max-size: 40;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --font-size: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  font-size: var(--font-size);
}

.has-xxx-large-font-size {
  --min-size: 26;
  --max-size: 32;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --font-size: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  font-size: var(--font-size);
  /* &.post-ttl {
  } */
}

.has-xx-large-font-size {
  line-height: 1.65;
  --min-size: 24;
  --max-size: 28;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --font-size: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  font-size: var(--font-size);
}

.has-x-large-font-size {
  line-height: 1.65;
  --min-size: 22;
  --max-size: 24;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --font-size: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  font-size: var(--font-size);
}

.has-large-font-size {
  --min-size: 20;
  --max-size: 22;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --font-size: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  font-size: var(--font-size);
}

.has-medium-font-size {
  /* font-size: 1.125em; */
  --min-size: 18;
  --max-size: 20;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --font-size: clamp(var(--min-size) * 1px,
      var(--clamp-size),
      var(--max-size) * 1px);
  font-size: var(--font-size);
}

.has-small-font-size {
  font-size: 0.875em;
}

.has-x-small-font-size {
  font-size: 0.75em;
}

.has-xx-small-font-size {
  font-size: 10px;
}

.wp-block-heading {
  font-family: var(--font-jp);
  font-weight: var(--weight-bold);
  color: rgb(var(--color-primary));
}

.wp-block-heading.is-style-underline {
  padding-bottom: 0.25em;
  border-bottom: 1px solid rgb(var(--color-secondary));
}

.wp-block-heading.is-style-borderleft {
  padding-left: 0.75em;
  font-family: var(--font-jp);
  position: relative;
  /* border-left: 3px solid rgb(var(--color-secondary)); */
}

.wp-block-heading.is-style-borderleft::before {
  content: "";
  display: block;
  width: 3px;
  height: 1.125em;
  background-color: rgb(var(--color-secondary));
  position: absolute;
  top: 0.35em;
  left: 0;
}

h2.wp-block-heading {
  font-family: var(--font-serif);
}

sup,
sub {
  display: inline-block;
  vertical-align: middle;
}

hr,
.wp-block-separator {
  width: 100%;
  border: none;
  border-top: 1px solid;
  background-color: rgba(var(--color-contrast), 0.2);
  margin-top: 2.5em;
  margin-bottom: 2.5em;
  color: rgba(var(--color-contrast), 0.2);
}

hr.has-background,
.wp-block-separator.has-background {
  padding: 0;
}

.wp-block-list {
  padding-left: 1.5em;
}

.wp-block-list ul,
.wp-block-list ol {
  margin-top: 0.5em;
}

.wp-block-list li {
  line-height: 1.75;
  margin-bottom: 0.5em;
}

.wp-block-list li::marker {
  display: none;
}

.wp-block-list li .wp-block-list {
  margin-top: 1em;
  margin-bottom: 1.5em;
}

ul.wp-block-list {
  list-style: none;
}

ul.wp-block-list>li {
  position: relative;
}

ul.wp-block-list>li::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  /* margin-right: 0.5em; */
  background-color: rgb(var(--color-secondary));
  border-radius: 50%;
  /* vertical-align: middle; */
  position: absolute;
  left: -1.2em;
  top: 0.65em;
}

ul.wp-block-list>li li::marker {
  color: rgb(var(--color-primary));
}

ul.wp-block-list>li ul.wp-block-list li {
  position: relative;
}

ul.wp-block-list>li ul.wp-block-list li::before {
  width: 0.35em;
  height: 0.35em;
  top: 0.85em;
  background-color: rgb(var(--color-primary));
}

ol.wp-block-list li::marker {
  font-family: var(--font-en);
  font-size: 1.125em;
  font-weight: var(--weight-semibold);
  color: rgb(var(--color-secondary));
}

ol.wp-block-list li li::marker {
  color: rgb(var(--color-primary));
}

ol.wp-block-list li ul.wp-block-list li::before {
  width: 0.35em;
  height: 0.35em;
  top: 0.8em;
  background-color: rgb(var(--color-primary));
}

.alignleft:not(.post-ttl) {
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
}

.alignright:not(.post-ttl) {
  float: right;
  margin-left: 1em;
  margin-bottom: 1em;
}

.clearfloat {
  clear: both;
  margin: 1em 0;
}

.wp-block-image {
  width: 100%;
  height: auto;
  position: relative;
  margin: 0 auto 1em;
  overflow: hidden;
}

.wp-block-image figure,
.wp-block-image picture {
  margin: 0;
  width: 100%;
  display: block;
  position: relative;
}

.wp-block-image .wp-element-caption {
  margin-bottom: 1em;
  margin-top: 0.5em;
  font-size: 0.75rem;
  text-align: center;
  font-weight: var(--weight-medium);
  color: rgb(var(--color-contrast), 0.6);
}

.wp-block-image img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.wp-block-image.size-thumb {
  max-width: 240px;
}

.wp-block-image.size-thumb img {
  width: 100%;
}

.wp-block-image.size-large {
  max-width: 80%;
}

.wp-block-image.size-large img {
  width: 100%;
}

.wp-block-image.size-full {
  width: 100%;
}

.wp-block-image.size-full img {
  width: 100%;
}

.wp-block-image.size-medium,
.wp-block-image.alignleft,
.wp-block-image.alignright {
  max-width: 50%;
}

.wp-block-image.size-medium img,
.wp-block-image.alignleft img,
.wp-block-image.alignright img {
  width: 100%;
}

.wp-block-image.alignright {
  margin-top: 0;
  margin-left: 1em;
}

.wp-block-image.alignleft {
  margin-top: 0;
  margin-right: 1em;
}

.wp-block-embed.is-type-video {
  aspect-ratio: 16/9;
}

.wp-block-embed .wp-block-embed__wrapper {
  width: 100%;
  height: 100%;
}

.wp-block-embed iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-embed iframe[src^="https://www.google.com/"] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-embed {
  margin-bottom: 2em;
}

.wp-block-embed .wp-element-caption {
  margin-bottom: 1em;
  margin-top: 1em;
  font-size: 0.75rem;
  text-align: center;
  font-weight: 400;
  color: rgba(var(--color-contrast), 0.6);
}

.editor-area>section>iframe[src*="youtube.com/embed/"] {
  height: auto;
  aspect-ratio: 16/9;
}

.wp-block-table,
.wp-block-flexible-table-block-table {
  overflow-x: scroll;
  padding-top: 1.5em;
  position: relative;
  width: 100%;
  margin: 1.5em auto 2.5em;
  /* https://mimihokuro.com/blog/change-color-svg-in-css/ */
  /* ストライプ */
}

@media screen and (min-width: 768px) {

  .wp-block-table,
  .wp-block-flexible-table-block-table {
    padding-top: 0;
    overflow-x: hidden;
  }
}

.wp-block-table::before,
.wp-block-table::after,
.wp-block-flexible-table-block-table::before,
.wp-block-flexible-table-block-table::after {
  display: inline-block;
  font-size: 0.8em;
  color: rgba(var(--color-contrast), 0.6);
  position: absolute;
  top: 0;
}

@media screen and (min-width: 768px) {

  .wp-block-table::before,
  .wp-block-table::after,
  .wp-block-flexible-table-block-table::before,
  .wp-block-flexible-table-block-table::after {
    display: none !important;
  }
}

.wp-block-table::before,
.wp-block-flexible-table-block-table::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  aspect-ratio: 1;
  top: 0.25em;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%2344515dcc' viewBox='0 0 448 512'%3E%3Cpath d='M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40l0 148.2c8.5-7.6 19.7-12.2 32-12.2c20.6 0 38.2 13 45 31.2c8.8-9.3 21.2-15.2 35-15.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48l0 48 0 16 0 48c0 70.7-57.3 128-128 128l-16 0-64 0-.1 0-5.2 0c-5 0-9.9-.3-14.7-1c-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7L128 40zM240 304c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96zm48-16c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96z'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.wp-block-table::after,
.wp-block-flexible-table-block-table::after {
  content: "スクロールで全体をご覧いただけます";
  font-weight: var(--weight-medium);
  left: 1.75em;
}

.wp-block-table .element-caption,
.wp-block-flexible-table-block-table .element-caption {
  color: rgba(var(--color-contrast), 0.72);
  font-size: 0.875rem;
  margin-top: 0.5em;
  border: none;
}

.wp-block-table table,
.wp-block-flexible-table-block-table table {
  border-spacing: 0;
  width: 100%;
  min-width: 640px;
  border: none;
  /* border-right: 1px solid rgba(var(--color-contrast), 0.72);
  border-left: 1px solid rgba(var(--color-contrast), 0.72);
  border-bottom: 1px solid rgba(var(--color-contrast), 0.72); */
  background-color: rgb(var(--color-base));
  overflow: hidden;
}

.wp-block-table table.has-fixed-layout,
.wp-block-flexible-table-block-table table.has-fixed-layout {
  table-layout: fixed;
}

.wp-block-table table:not(.has-fixed-layout:not(:has(thead))) {
  border-radius: 0;
}

.wp-block-table table:not(.has-fixed-layout:not(:has(thead))) td:first-of-type {
  width: 33%;
}

.wp-block-table table:not(.has-fixed-layout:not(:has(thead))) th+td:first-of-type {
  width: auto;
}

@media screen and (min-width: 768px) {

  .wp-block-table table,
  .wp-block-flexible-table-block-table table {
    min-width: 100%;
  }
}

.wp-block-table table th,
.wp-block-table table td {
  border: none;
  padding: 1em 0.875em;
  background-color: rgb(var(--color-base-2));
}

.wp-block-table thead {
  background-color: rgb(var(--color-primary-light));
  border: none;
}

.wp-block-table thead tr {
  border-bottom: 4px solid rgb(var(--color-base));
}

.wp-block-table thead th,
.wp-block-table thead td {
  border-left: 4px solid rgb(var(--color-base));
  font-weight: var(--weight-semibold);
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
}

/* .wp-block-table thead th:first-of-type,
.wp-block-table thead td:first-of-type,
.wp-block-flexible-table-block-table thead th:first-of-type,
.wp-block-flexible-table-block-table thead td:first-of-type {
  border-left: none;
} */

.wp-block-table tfoot {
  border-top: 1px solid rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
}

.wp-block-table tfoot th,
.wp-block-table tfoot td {
  font-size: 0.875em;
  border-left: 4px solid rgb(var(--color-base));
  background-color: rgb(var(--color-primary-light));
}

/* .wp-block-table tfoot td:first-of-type,
.wp-block-flexible-table-block-table tfoot td:first-of-type {
  border-left: none;
} */



.wp-block-table tbody td,
.wp-block-table tbody th {
  border-left: 4px solid rgb(var(--color-base));
  border-bottom: 4px solid rgb(var(--color-base));
  background-color: rgb(var(--color-base-2));
}



.wp-block-table tbody td:first-of-type,
.wp-block-table tbody th:first-of-type {
  /* border-left: none; */
  min-width: 6em;
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
  font-weight: var(--weight-semibold);
}


/* .wp-block-table tbody:not(:has(thead)) th:first-of-type,
.wp-block-table tbody:not(:has(thead)) td:first-of-type,
.wp-block-flexible-table-block-table table:not(:has(thead)) tbody th:first-of-type,
.wp-block-flexible-table-block-table table:not(:has(thead)) tbody td:first-of-type {
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
  font-weight: var(--weight-semibold);
  min-width: 6em;
} */

/* .wp-block-flexible-table-block-table tbody td:first-of-type,
.wp-block-flexible-table-block-table tbody th:first-of-type {
  border-left: none;
  min-width: 6em;
} */

.wp-block-table table:not(:has(thead)) th+td:first-of-type {
  border-left: 4px solid rgb(var(--color-base));
}

.wp-block-table table:has(tfoot) tr:last-of-type td {
  border-bottom: none;
}


/* table.is-style-stripes */
.wp-block-table.is-style-stripes {
  border: none;
}

.wp-block-table.is-style-stripes table {
  background: none;
}

.wp-block-table.is-style-stripes thead {
  background: rgb(var(--color-primary-light));
}

.wp-block-table.is-style-stripes thead th,
.wp-block-table.is-style-stripes thead td {
  background: none !important;
}

.wp-block-table.is-style-stripes tfoot {
  border-top: 4px solid rgb(var(--color-base));
}

.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
  background: none !important;
  border: none;
}

.wp-block-table.is-style-stripes tbody tr {
  background-color: rgb(var(--color-base));
}

.wp-block-table.is-style-stripes tbody tr:nth-of-type(even) {
  background-color: rgb(var(--color-base-2));
}

.wp-block-table.is-style-stripes tbody tr:nth-of-type(odd) {
  background-color: rgb(var(--color-primary-light));
}

/* flexible-table-block */
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
  border: none;
  padding: 1em 0.875em;
  background-color: rgb(var(--color-base-2));
  border-left: 4px solid rgb(var(--color-base));
  border-bottom: 4px solid rgb(var(--color-base));
}

.wp-block-flexible-table-block-table thead {
  background-color: rgb(var(--color-primary-light));
  border: none;
}

.wp-block-flexible-table-block-table thead tr {
  border-bottom: 4px solid rgb(var(--color-base));
}

.wp-block-flexible-table-block-table table thead th,
.wp-block-flexible-table-block-table table thead td {
  border-left: 4px solid rgb(var(--color-base));
  font-weight: var(--weight-semibold);
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table thead th {
  background-color: rgb(var(--color-primary-light));
}

.wp-block-flexible-table-block-table>table tbody tr th,
.wp-block-flexible-table-block-table>table tbody tr td {
  border-left: 4px solid rgb(var(--color-base));
  border-bottom: 4px solid rgb(var(--color-base));
  background-color: rgb(var(--color-base-2));
}

.wp-block-flexible-table-block-table>table tbody td:first-of-type,
.wp-block-flexible-table-block-table>table tbody th:first-of-type {
  min-width: 6em;
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
  font-weight: var(--weight-semibold);
}

.wp-block-flexible-table-block-table>table tbody td:first-of-type,
.wp-block-flexible-table-block-table>table tbody th:first-of-type {
  min-width: 6em;
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
  font-weight: var(--weight-semibold);
}

.wp-block-flexible-table-block-table>table tbody tr:has(td[rowspan])+tr td:first-of-type,
.wp-block-flexible-table-block-table>table tbody tr:has(td[rowspan])+tr th:first-of-type {
  font-weight: var(--weight-normal);
  color: rgb(var(--color-contrast));
  background-color: rgb(var(--color-base-2));

}

.wp-block-flexible-table-block-table tfoot {
  border-top: 1px solid rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
}

.wp-block-flexible-table-block-table>table tfoot tr th,
.wp-block-flexible-table-block-table>table tfoot tr td {
  font-size: 0.875em;
  border-left: 4px solid rgb(var(--color-base));
  background-color: rgb(var(--color-primary-light));
}

.wp-block-flexible-table-block-table table:not(:has(thead)) th+td:first-of-type {
  border-left: 4px solid rgb(var(--color-base));
}

.wp-block-flexible-table-block-table table:has(tfoot) tr:last-of-type td {
  border-bottom: none;
}

/* flexible-table-block is-style-stripes */
.wp-block-flexible-table-block-table.is-style-stripes {
  border: none;
}

.wp-block-flexible-table-block-table.is-style-stripes table {
  background: none;
}

.wp-block-flexible-table-block-table.is-style-stripes thead {
  background: rgb(var(--color-primary-light));
}

.wp-block-flexible-table-block-table.is-style-stripes thead th,
.wp-block-flexible-table-block-table.is-style-stripes thead td {
  background: none !important;
}


.wp-block-flexible-table-block-table.is-style-stripes tfoot {
  border-top: 4px solid rgb(var(--color-base));
}

.wp-block-flexible-table-block-table.is-style-stripes td,
.wp-block-flexible-table-block-table.is-style-stripes th {
  background: none !important;
  border: none;
}

.wp-block-flexible-table-block-table.is-style-stripes>table tr th,
.wp-block-flexible-table-block-table.is-style-stripes>table tr td {
  border: none;
}

.wp-block-flexible-table-block-table.is-style-stripes tbody tr {
  background-color: rgb(var(--color-base));
}

.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-of-type(even) {
  background-color: rgb(var(--color-base-2));
}

.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-of-type(odd) {
  background-color: rgb(var(--color-primary-light));
}


.wp-block-buttons {
  width: 100%;
  margin: 1.5em auto;
}

.wp-block-buttons+.wp-block-buttons {
  margin-top: 0;
}

.wp-block-buttons>.wp-block-button {
  /* font-weight: var(--weight-semibold); */
  width: 100%;
}

@media screen and (min-width: 480px) {
  .wp-block-buttons>.wp-block-button {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: calc(50% - 0.75rem);
  }
}

@media screen and (min-width: 960px) {
  .wp-block-buttons>.wp-block-button {
    max-width: calc(40% - 0.75rem);
  }
}

.wp-block-buttons:has(:nth-child(1))>.wp-block-button {
  width: auto;
}

@media screen and (min-width: 480px) {
  .wp-block-buttons:has(:nth-child(1))>.wp-block-button {
    max-width: initial;
    -webkit-box-flex: initial;
    -ms-flex: initial;
    flex: initial;
  }
}

@media screen and (min-width: 960px) {
  .wp-block-buttons:has(:nth-child(1))>.wp-block-button {
    max-width: initial;
  }
}

@media screen and (min-width: 960px) {
  .wp-block-buttons:has(:nth-child(2))>.wp-block-button {
    max-width: calc(50% - 0.75rem);
  }
}

.wp-block-buttons>.wp-block-button.wp-block-button__width-100 {
  width: 100%;
  max-width: 100%;
}

.wp-block-button {
  /* 矢印右共通 */
  /* 矢印左共通 */
  /* 矢印右 */
  /* 矢印左 */
  /* 輪郭・矢印右 */
  /* 輪郭・矢印左 */
}

.wp-block-button.is-style-arrow-right .wp-block-button__link::before,
.wp-block-button.is-style-outline-arrow-right .wp-block-button__link::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link::after,
.wp-block-button.is-style-outline-arrow-right .wp-block-button__link::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23D1944C' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link:hover,
.wp-block-button.is-style-outline-arrow-right .wp-block-button__link:hover {
  opacity: 1;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link:hover::after,
.wp-block-button.is-style-outline-arrow-right .wp-block-button__link:hover::after {
  right: 0.6em;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link.has-background:hover,
.wp-block-button.is-style-arrow-right .wp-block-button__link.has-text-color:hover,
.wp-block-button.is-style-outline-arrow-right .wp-block-button__link.has-background:hover,
.wp-block-button.is-style-outline-arrow-right .wp-block-button__link.has-text-color:hover {
  opacity: 0.72;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link::before,
.wp-block-button.is-style-outline-arrow-left .wp-block-button__link::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link::after,
.wp-block-button.is-style-outline-arrow-left .wp-block-button__link::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23D1944C' viewBox='0 0 24.658 22.833'%3E%3Cpath d='M180.56-1360.984a1.5,1.5,0,0,1,0-2.121l7.356-7.356H170.5a1.5,1.5,0,0,1-1.5-1.5,1.5,1.5,0,0,1,1.5-1.5h17.417l-7.357-7.357a1.5,1.5,0,0,1,0-2.121,1.5,1.5,0,0,1,2.121,0l10.977,10.977-1.043,1.043-.036.036-9.9,9.9a1.5,1.5,0,0,1-1.061.439A1.493,1.493,0,0,1,180.56-1360.984Z' transform='translate(-169 1383.379)'/%3E%3C/svg%3E") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
  -webkit-transition: left 0.3s;
  transition: left 0.3s;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link:hover,
.wp-block-button.is-style-outline-arrow-left .wp-block-button__link:hover {
  opacity: 1;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link:hover::after,
.wp-block-button.is-style-outline-arrow-left .wp-block-button__link:hover::after {
  left: 0.6em;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link.has-background:hover,
.wp-block-button.is-style-arrow-left .wp-block-button__link.has-text-color:hover,
.wp-block-button.is-style-outline-arrow-left .wp-block-button__link.has-background:hover,
.wp-block-button.is-style-outline-arrow-left .wp-block-button__link.has-text-color:hover {
  opacity: 0.72;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link {
  padding-right: 3em;
  border-color: rgb(var(--color-primary));
}

.wp-block-button.is-style-arrow-right .wp-block-button__link::before {
  background-color: rgb(var(--color-base));
  right: 0.5em;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link::after {
  right: 0.75em;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link:hover {
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
}

.wp-block-button.is-style-arrow-right .wp-block-button__link.has-background:hover {
  color: rgb(var(--color-base));
}

.wp-block-button.is-style-arrow-left .wp-block-button__link {
  padding-left: 3em;
  border-color: rgb(var(--color-primary));
}

.wp-block-button.is-style-arrow-left .wp-block-button__link::before {
  background-color: rgb(var(--color-base));
  left: 0.5em;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link::after {
  left: 0.75em;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link:hover {
  background-color: rgb(var(--color-primary-light));
  color: rgb(var(--color-primary));
}

.wp-block-button.is-style-arrow-left .wp-block-button__link.has-background:hover {
  color: rgb(var(--color-base));
}

.wp-block-button.is-style-outline-arrow-right .wp-block-button__link {
  background-color: rgb(var(--color-primary-light));
  border-color: rgb(var(--color-primary));
  color: rgb(var(--color-primary));
  padding-right: 3em;
}

.wp-block-button.is-style-outline-arrow-right .wp-block-button__link::before {
  background-color: rgb(var(--color-base));
  right: 0.5em;
}

.wp-block-button.is-style-outline-arrow-right .wp-block-button__link::after {
  right: 0.75em;
}

.wp-block-button.is-style-outline-arrow-right .wp-block-button__link:hover {
  background-color: rgb(var(--color-primary));
  color: rgb(var(--color-base));
}

.wp-block-button.is-style-outline-arrow-left .wp-block-button__link {
  background-color: rgb(var(--color-primary-light));
  border-color: rgb(var(--color-primary));
  color: rgb(var(--color-primary));
  padding-left: 3em;
}

.wp-block-button.is-style-outline-arrow-left .wp-block-button__link::before {
  background-color: rgb(var(--color-base));
  left: 0.5em;
}

.wp-block-button.is-style-outline-arrow-left .wp-block-button__link::after {
  left: 0.75em;
}

.wp-block-button.is-style-outline-arrow-left .wp-block-button__link:hover {
  background-color: rgb(var(--color-primary));
  color: rgb(var(--color-base));
}

.wp-block-button__link {
  padding: calc(0.667em + 2px) 1em;
  min-width: 12.5em;
  text-align: initial;
  position: relative;
}

.wp-block-button__link.has-text-align-center {
  text-align: center;
}

.wp-block-button__link.has-text-align-left {
  text-align: left;
}

.wp-block-button__link.has-text-align-right {
  text-align: right;
}

.wp-block-buttons .wp-block-button__link[target=_blank] {
  padding-right: 3em;
  padding-left: 1em;
  position: relative;
}

.wp-block-buttons .wp-block-button__link[target=_blank]::before {
  content: "";
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  border-radius: 50%;
  background-color: rgb(var(--color-base));
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
  left: auto;
  right: 0.5em;
}

.wp-block-buttons .wp-block-button__link[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 0.875em;
  height: 0.875em;
  background-image: url(../img/icon/icon-blank.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.875em;
  position: absolute;
  top: 50%;
  left: auto;
  right: 0.7em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: right 0.3s;
  transition: right 0.3s;
}

.wp-block-buttons .wp-block-button__link[target=_blank]:hover {
  opacity: 0.72;
}

.wp-block-buttons .wp-block-button__link[target=_blank]:hover::after {
  left: auto;
  right: 0.7em;
}

.wp-block-buttons .wp-block-button__link[target=_blank][href$=".pdf"]::before {
  width: 1.65em;
  height: 1.65em;
}

.wp-block-buttons .wp-block-button__link[target=_blank][href$=".pdf"]::after {
  width: 1.15em;
  height: 1.15em;
  background-image: url(../img/icon/icon-pdf.svg);
  /* background-repeat: no-repeat; */
  /* background-position: center right 0.5em; */
  background-size: 1.15em;
  right: 0.8em;
}

.wp-block-accordion-heading {
  font-family: var(--font-jp);
  font-weight: var(--weight-semibold);
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-base-2));
  border-top: 1px solid rgb(var(--color-primary));
}

.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:hover {
  /* padding-left: 1rem;
  padding-right: 1rem; */
  position: relative;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}

.wp-block-accordion-heading__toggle-icon {
  /* font-weight: var(--weight-medium); */
  text-indent: -9999px;
  position: relative;
}

.wp-block-accordion-heading__toggle-icon::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 2px;
  aspect-ratio: 1;
  background-color: rgb(var(--color-primary));
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.wp-block-accordion-heading__toggle-icon::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 1em;
  aspect-ratio: 1;
  background-color: rgb(var(--color-primary));
  position: absolute;
  top: 50%;
  right: 0.8rem;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

/* .wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(0deg);
}
.wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon::after {
	opacity: 0;
} */
.wp-block-accordion-panel {
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
}

.wp-block-accordion-panel[aria-hidden=true],
.wp-block-accordion-panel[inert] {
  display: block;
  height: 0;
  opacity: 0;
}

.wp-block-accordion-panel[aria-hidden=false],
.wp-block-accordion-panel {
  height: auto;
  opacity: 1;
}

.wp-block-post-template {
  list-style: none;
  padding: 0;
}

.wp-block-post {
  width: 100%;
  margin: 0 0 1.5em;
  padding: 0 0 1.5em;
  border-bottom: 1px solid rgba(var(--color-secondary), 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: rgb(var(--color-contrast));
}

.wp-block-post .wp-block-post-date {
  font-size: 0.875rem;
  font-family: var(--font-en);
  font-weight: var(--weight-normal);
  font-style: normal;
  color: rgb(var(--color-primary)) !important;
  letter-spacing: 0.05em;
}

.wp-block-post .wp-block-post-terms {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: var(--font-jp);
}

.wp-block-post .wp-block-post-terms a {
  min-width: 4.5rem;
  font-size: 0.875rem;
  padding: 0.286em 0.5em;
  line-height: 1;
  text-align: center;
  color: rgb(var(--color-primary));
  border: 1px solid currentColor;
  border-radius: 0.25em;
  font-weight: var(--weight-medium);
}

.wp-block-post .wp-block-post-terms a:hover {
  opacity: 1;
  color: rgb(var(--color-primary));
  background-color: rgb(var(--color-primary-light));
}

.wp-block-post .wp-block-post-terms .wp-block-post-terms__separator {
  display: none;
}

.wp-block-post .wp-block-post-title {
  width: 100%;
  font-size: 1em;
  font-family: var(--font-jp);
  font-weight: var(--weight-normal);
  background: none;
  margin: 0.5em 0 0;
  padding: 0;
  border: none;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (min-width: 768px) {
  .wp-block-post .wp-block-post-title {
    -webkit-line-clamp: 1;
  }
}

/*
 * 7. page
 * top
 */
.top {
  background-color: rgb(var(--color-base-2));
}

.top .page-title {
  --min-size: 28;
  --max-size: 32;
  margin-bottom: 1.25em;
}

.mainvisual {
  width: 100%;
  height: 30rem;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .mainvisual {
    height: 42.5rem;
  }
}

@media screen and (min-width: 1025px) {
  .mainvisual {
    height: 42.5rem;
  }
}

.mainvisual .mv-ttl-container {
  color: rgb(var(--color-base));
  font-weight: var(--weight-bold);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-height: 22.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  margin: 0;
  position: absolute;
  bottom: 1.5em;
  left: 1.5em;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .mainvisual .mv-ttl-container {
    font-size: 1rem;
    bottom: 2em;
    left: 2em;
  }
}

.mainvisual .mv-ttl-container>span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mainvisual .mv-caps {
  font-weight: var(--weight-semibold);
  font-size: 1.5em;
}

.mainvisual .mv-caps.is-style-border {
  border: 1px solid currentColor;
  border-radius: 0.25rem;
  padding: 0.75em 0.25em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto 0.5em;
}

.mainvisual .mv-ttl {
  font-size: 2.5em;
  font-family: var(--font-serif);
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.mainvisual .mv-ttl>span {
  display: block;
  margin: auto 0 0;
}

.mainvisual .mv-ttl .size-m {
  font-size: 1em;
}

.mainvisual .mv-ttl .size-l {
  font-size: 2em;
  line-height: 1.2;
}

.mainvisual .mv-ttl .size-l .size-m {
  font-size: 0.75em;
}

.mainSlider {
  width: 100%;
  height: 100%;
  position: relative;
}

.mainSlider .swiper-slide a {
  width: 100%;
  height: 100%;
  color: rgb(var(--color-base));
  display: block;
  position: relative;
}

.mainSlider .slide-img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.mainSlider .slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.mainSlider .slide-img::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(56deg, rgba(var(--color-contrast), 0.4) 30%, rgba(var(--color-contrast), 0) 70%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .mainSlider .slide-img::after {
    background: linear-gradient(56deg, rgba(var(--color-contrast), 0.4) 20%, rgba(var(--color-contrast), 0) 50%);
  }
}

.pickup-container {
  width: calc(100% - 2em);
  margin: 4em auto 4em;
  border: 3px solid rgb(var(--color-secondary));
  background-color: rgb(var(--color-base-2));
  border-radius: 1rem;
  padding: 1em 1.5em;
  position: relative;
  z-index: 10;
}

@media screen and (min-width: 1025px) {
  .pickup-container {
    padding: 1em 8em 1em 2.5em;
    max-width: 50em;
    /* margin: -5em -2em 2em auto; */
    position: absolute;
    top: 36rem;
    right: -2em;
  }
}

.pickup-container .tag {
  background-color: rgb(var(--color-accent));
  border-color: rgb(var(--color-accent));
  color: rgb(var(--color-base)) !important;
  font-family: var(--font-en);
}

.top .news::before {
  content: "";
  display: block;
  --min-size: 16;
  --max-size: 80;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --padding-inline: clamp(var(--min-size) * 1px, var(--clamp-size), var(--max-size) * 1px);
  width: 100%;
  height: 100%;
  background: rgb(var(--color-base));
  max-width: calc(100% - (100% - (1280px + var(--padding-inline) * 2)) / 2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@media screen and (min-width: 1120px) {
  .top .news::before {
    /* left: calc(var(--padding-inline) * -1); */
    border-radius: 0 2.5rem 2.5rem 0;
  }
}

@media screen and (min-width: 1400px) {
  .top .news::before {
    left: -4rem;
  }
}

@media screen and (min-width: 1025px) {
  .top .news {
    border-radius: 2.5rem;
    /* padding-top: 10em; */
  }

  .top .news .page-title+.tags {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: 20em;
    margin-bottom: 3em;
  }
}

.top .news .inner {
  max-width: calc(1040px + var(--padding-inline) * 2);
}

.top .news .btn {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 2.5rem 0 0 auto;
}

.top .principal::before {
  content: "";
  display: block;
  --min-size: 16;
  --max-size: 80;
  --clamp-size: calc(var(--min-size) * 1px + (var(--max-size) - var(--min-size)) * (100vw - var(--min-viewport) * 1px) / (var(--max-viewport) - var(--min-viewport)));
  --padding-inline: clamp(var(--min-size) * 1px, var(--clamp-size), var(--max-size) * 1px);
  width: 100%;
  height: 100%;
  background: rgb(var(--color-base));
  max-width: calc(100% - (100% - (1280px + var(--padding-inline) * 2)) / 2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@media screen and (min-width: 1120px) {
  .top .principal::before {
    /* left: calc(var(--padding-inline) * -1); */
    border-radius: 0 2.5rem 2.5rem 0;
  }
}

@media screen and (min-width: 1500px) {
  .top .principal::before {
    left: -4rem;
  }
}

@media screen and (min-width: 1025px) {
  .top .principal {
    border-radius: 2.5rem;
  }
}

.top .principal .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  --gap: 2.5em;
}

@media screen and (min-width: 1120px) {
  .top .principal .flex {
    --gap: 5em;
  }
}

@media screen and (min-width: 1025px) {
  .top .principal .flex .flex-item {
    width: 55%;
  }

  .top .principal .flex .flex-item+.flex-item {
    width: calc(45% - var(--gap));
  }

  .top .principal .flex .flex-item:first-of-type {
    display: grid;
    grid-template-columns: 55% 45%;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
  }
}

.top .principal .flex .page-title {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 1025px) {
  .top .principal .flex .page-title {
    grid-column: 2;
    grid-row: 1/2;
    align-self: end;
  }
}

.top .principal .flex .btns {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  margin-bottom: 2.5rem;
}

@media screen and (min-width: 1025px) {
  .top .principal .flex .btns {
    grid-column: 2;
    grid-row: 2/3;
    margin: 0;
    align-self: start;
  }
}

.top .principal .flex .btns .btn {
  margin-block: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (min-width: 1025px) {
  .top .principal .flex .btns .btn {
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
  }
}

.top .principal .flex .btns .btn a {
  min-width: 100%;
}

@media screen and (min-width: 1025px) {
  .top .principal .flex .btns .btn a {
    /* min-width: fit-content; */
    min-width: 12.5em;
  }
}

.top .principal .flex .img {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  width: 100%;
  aspect-ratio: 347/260;
  margin: 0;
  overflow: hidden;
}

@media screen and (min-width: 1025px) {
  .top .principal .flex .img {
    grid-column: 1;
    grid-row: 1/3;
  }
}

.top .principal .flex .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.top .principal .flex .bnr-list {
  margin: 2em auto;
}

.top .principal .flex .bnr-list-item {
  width: 100%;
}

/**
 * about
 */
.enkaku .wp-block-table table.has-fixed-layout {
  table-layout: initial;
}

.enkaku .wp-block-table table.has-fixed-layout:has(thead) td:first-of-type {
  width: 4.5em;
  min-width: initial;
}

.koka .wp-block-table table,
.course .wp-block-table table {
  /* table-layout: initial; */
}

.koka .wp-block-table table tbody td:first-of-type,
.course .wp-block-table table tbody td:first-of-type {
  width: 4.5em;
  min-width: initial;
}

.message .principal_name p {
  width: auto;
}

@media screen and (min-width: 480px) {
  /* ------------------------------------- */
  /* contents */
  /* ------------------------------------- */
}

@media screen and (min-width: 768px) {
  /* ------------------------------------- */
  /* contents */
  /* ------------------------------------- */
}

@media screen and (min-width: 1025px) {
  /* ------------------------------------- */
  /* contents */
  /* ------------------------------------- */
}

@media (orientation: landscape) and (max-width: 767px) {
  /* デバイスが横向き、画面の横幅が 767px 以下の場合の記述 */
}

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