@charset "UTF-8";
/* stylelint-disable-next-line scss/dollar-variable-pattern */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* もちろん、より直感的なbox-sizingに設定 */
  padding: 0; /* パディングも常に0に */
  margin: 0; /* マージンは0に */
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important; /* hiddenは非表示を意味します */
}

:where(html) {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */
  color-scheme: dark light; /* ユーザーがダークテーマを好む場合、自動的にダークテーマになる */
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
:where(body) { /* サファリ以外のブラウザのフォールバック */
  block-size: 100dvb; /* 1dvbは動的ビューポートの長さの1%、100dvbで高さいっぱいに */
  font-family: system-ui, sans-serif; /* timeの代わりにシステムフォントを使用 */
  line-height: 1.5; /* アクセシブルな行の高さ */
  -webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */
}

:where(input, button, textarea, select) {
  font: inherit; /* フォーム コントロールは親フォントを継承 */
  color: inherit; /* カラーも継承 */
}

:where(textarea) { /* テキストエリアの水平リサイズを無効に */
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer; /* インタラクティブなものにカーソルを合わせる */
}

:where(:disabled) {
  cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed; /* ラベルにもカーソルを許可しない */
}

:where(button) {
  border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */
}

:where(a) {
  text-underline-offset: 0.2em; /* 下線の上にスペースを追加する */
}

:where(ul, ol) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block; /* 置換された要素をより予測可能にする */
}

:where(p, h1, h2, h3, h4, h5, h6) {
  font-size: 1em;
  overflow-wrap: break-word; /* 長い単語は改行 */
}

:where(hr) { /* より一貫性のある、スタイリッシュなhr */
  block-size: 0;
  overflow: visible;
  color: inherit;
  border: none;
  -webkit-border-before: #cbcbcb 1px solid;
          border-block-start: #cbcbcb 1px solid;
}

:where(:focus-visible) { /* より一貫性のある、カスタマイズ可能なフォーカスのアウトライン */
  outline: 2px solid var(--color-primary, #5387EB);
  outline-offset: 2px;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes up-motion {
  0% {
    opacity: 0;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes up-motion {
  0% {
    opacity: 0;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes image {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0;
    -webkit-transform: scale(1.1) translateY(0.5rem);
            transform: scale(1.1) translateY(0.5rem);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}
@keyframes image {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0;
    -webkit-transform: scale(1.1) translateY(0.5rem);
            transform: scale(1.1) translateY(0.5rem);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}
* {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; /* animation時のにじみ防止 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-smoothing: antialiased; /* animation時の文字にじみ防止 */
  -moz-osx-font-smoothing: grayscale; /* animation時の文字にじみ防止 */
}

:root {
  --font-size: 62.5;
  --color-base-bg: #fff;
  --color-base-text: #000;
  --color-primary: #094;
  --color-secondary: #f2faf5;
  --color-red: #F00;
  --color-link: #000;
  --color-link-hover: #094;
  --font-serif:Noto Serif, serif;
  --font-jp:Noto Sans JP, sans-serif;
  --font-size1014:clamp(1rem, 0.818rem + 0.78vw, 1.4rem);
  --font-size1113:clamp(1.1rem, 1.009rem + 0.39vw, 1.3rem);
  --font-size1213:clamp(1.2rem, 1.155rem + 0.19vw, 1.3rem);
  --font-size1214:clamp(1.2rem, 1.109rem + 0.39vw, 1.4rem);
  --font-size1215:clamp(1.2rem, 1.091rem + 0.55vw, 1.5rem);
  --font-size1416:clamp(1.4rem, 1.309rem + 0.39vw, 1.6rem);
  --font-size1418:clamp(1.4rem, 1.218rem + 0.78vw, 1.8rem);
  --font-size1517:clamp(1.5rem, 1.409rem + 0.39vw, 1.7rem);
  --font-size1618:clamp(1.6rem, 1.509rem + 0.39vw, 1.8rem);
  --font-size1820:clamp(1.8rem, 1.709rem + 0.39vw, 2rem);
  --font-size2022:clamp(2rem, 1.909rem + 0.39vw, 2.2rem);
  --font-size2024:clamp(2rem, 1.818rem + 0.78vw, 2.4rem);
  -webkit-font-variant-ligatures: none;
          font-variant-ligatures: none; /* CJK言語（中国語、日本語、韓国語）での句読点の間隔を変更。 */
}

html {
  height: -webkit-fill-available;
  height: -moz-available;
  height: fill-available;
  font-size: calc(var(--font-size) * 0.9%);
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  scroll-padding-top: 0;
  background: #fff;
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: rgba(12, 106, 238, 0.2);
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html,
body {
  width: 100%;
  min-height: -webkit-fill-available;
  min-height: -moz-available;
  min-height: fill-available;
  padding: 0;
  margin: 0;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  -webkit-font-smoothing: antialiased;
}

body {
  position: relative;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.3rem, 1.164rem + 0.58vw, 1.6rem);
  font-weight: 400;
  font-optical-sizing: auto;
  line-height: 1;
  color: var(--color-base-text);
  overflow-wrap: anywhere;
  background: #fff;
  -webkit-animation: fadein ease-out 0.3s both 0.1s;
          animation: fadein ease-out 0.3s both 0.1s;
}
body.is-gnav-open {
  height: 100%;
  overflow: hidden;
}

:where(section),
:where(article) {
  position: relative;
  text-align: left;
  letter-spacing: 0.02em;
}

:where(p, dl, dt, dd, ol, ul, li) {
  padding: 0;
  margin: 0;
}

:where(img) {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

:where(strong) {
  font-weight: 700;
}

:where(sup) {
  font-size: 70%;
  vertical-align: super;
}

:where(sub) {
  font-size: 70%;
  vertical-align: sub;
}

.l-main a[href^="tel:"] {
  font-weight: 700;
}
:where(.l-main a:not([class])) {
  font-weight: 500;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

:where(hr) {
  position: relative;
  width: 100%;
  height: 100px;
  clear: both;
  border: none;
  outline: none;
}
:where(hr)::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #999;
}

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

img.is-loaded {
  -webkit-animation: fadein 0.7s ease-out 0.1s both;
          animation: fadein 0.7s ease-out 0.1s both;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.l-container {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100dvh;
  padding: 0;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

main,
.l-main,
article,
section {
  position: relative;
  display: block;
}

.l-main {
  z-index: 3;
  padding-bottom: clamp(7.5rem, 12.5vw, 15rem);
  line-height: 2;
  text-align: center;
  background-color: #fff;
}

.l-footer {
  position: relative;
  z-index: 1;
  padding: clamp(4rem, 6.666vw, 10rem) 0 clamp(3.6rem, 5.333vw, 10rem);
  overflow: hidden;
  color: #fff;
  text-align: center;
  background-color: #094;
}
.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3.5rem;
  margin-right: auto;
  margin-left: auto;
}
.l-footer__sns a {
  width: 4rem;
  height: 4rem;
  text-decoration: none;
}
.l-footer__sns a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 1rem;
}
.l-footer__sns i {
  width: 90%;
  height: 90%;
}
.l-footer__copyright {
  position: relative;
  display: block;
  margin-top: clamp(3.5rem, 3.333vw, 5rem);
  font-size: clamp(0.9rem, 1.3vw, 1.3rem);
  line-height: 1.25;
  color: #fff;
  text-align: center;
  letter-spacing: 0;
}

@-webkit-keyframes pagetop-anime {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-0.4rem);
            transform: translateY(-0.4rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes pagetop-anime {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-0.4rem);
            transform: translateY(-0.4rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 888888;
  width: 100%;
  height: 10.8rem;
  pointer-events: none;
  visibility: hidden;
  background: rgba(0, 153, 68, 0.9);
  backdrop-filter: blur(5px);
  -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.16);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.l-header.is-scroll {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}
.l-header__inner {
  position: relative;
  width: min(90%, 116rem);
  height: 100%;
  margin: 0 auto;
}
.l-header__logo {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  display: block;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header__logo svg {
  position: relative;
  width: 12.9rem;
  height: 4.6rem;
  -o-object-position: 0 0;
     object-position: 0 0;
}
.l-header__logo:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 1rem;
}

.p-globalnav-triger {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 888889;
  display: block;
  width: 5rem;
  height: 5rem;
  padding: 0;
  color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  border: none;
  outline: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-globalnav-triger:focus-visible {
  outline: 2px solid #000;
}
.p-globalnav-triger__ic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.p-globalnav-triger__ic i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.5rem;
  height: 1px;
  background: transparent;
  background: #fff;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.p-globalnav-triger__ic i::before, .p-globalnav-triger__ic i::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  height: 1px;
  content: "";
  background: #fff;
  border-radius: 0.15rem;
}
.p-globalnav-triger__ic i::before {
  width: 3.5rem;
  margin-top: -1rem;
  -webkit-transition: 0.3s ease-out 0s;
  transition: 0.3s ease-out 0s;
}
.p-globalnav-triger__ic i::after {
  width: 3.5rem;
  margin-top: 0.9rem;
  -webkit-transition: 0.3s ease-out 0s;
  transition: 0.3s ease-out 0s;
}
.p-globalnav-triger.is-open i {
  top: 40%;
  background-color: transparent;
}
.p-globalnav-triger.is-open i::before {
  margin-top: 0.5rem;
  -webkit-transform: rotate(145deg);
          transform: rotate(145deg);
}
.p-globalnav-triger.is-open i::after {
  width: 3.5rem;
  margin-top: 0.5rem;
  -webkit-transform: rotate(-145deg);
          transform: rotate(-145deg);
}
.p-globalnav-triger:focus-visible {
  outline-offset: -2px;
}

.p-globalnav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 888887;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  visibility: hidden;
  background: rgb(0, 153, 68);
  opacity: 0;
  -webkit-transition: 0.5s ease 0s;
  transition: 0.5s ease 0s;
  -webkit-transform: translateY(-10em);
          transform: translateY(-10em);
}
.p-globalnav.is-open {
  display: block !important;
  pointer-events: all;
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-globalnav__inner {
  position: relative;
  display: none;
  height: 100%;
  padding: clamp(5rem, 10vh, 10rem) 5.3vw 5rem;
  overflow-y: scroll;
  text-align: center;
}
.is-open .p-globalnav__inner {
  display: block;
}
.p-globalnav__menu {
  position: relative;
  display: -ms-grid;
  display: grid;
  gap: clamp(1rem, 3vh, 3rem) 0;
  width: 90%;
  margin: 0 auto;
  text-align: left;
}
.p-globalnav__menu > li {
  position: relative;
  z-index: 2;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
.p-globalnav__menu a {
  position: relative;
  z-index: 2;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 1em;
  padding-bottom: 0.5em;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  pointer-events: all;
}
.p-globalnav__menu a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #fff;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
  transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
  transition: opacity 0.2s ease-out, transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.p-globalnav__menu a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 1rem;
}
.p-globalnav__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(5rem, 10vh, 10rem);
  margin-right: auto;
  margin-left: auto;
}
.p-globalnav__sns a {
  width: 4rem;
  height: 4rem;
  text-decoration: none;
}
.p-globalnav__sns a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 1rem;
}
.p-globalnav__sns i {
  width: 90%;
  height: 90%;
}

.p-news-lists {
  position: relative;
  padding: 2rem 0 0;
  border-top: 1px solid #e0e0e0;
}
.p-news-lists li {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 0.5em auto;
      grid-template-areas: "date category" "text text";
  -ms-grid-columns: auto 1em 1fr;
  grid-template-columns: auto 1fr;
  gap: 0.5em 1em;
  padding: 2rem 0;
  font-size: 1.3rem;
  line-height: 1.846;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}
.p-news-lists > time {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: date;
  font-size: 1rem;
}
.p-news-lists__category {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: category;
  -ms-grid-row-align: start;
      align-self: start;
}
.p-news-lists__date {
  -ms-flex-item-align: start;
      -ms-grid-row-align: start;
      align-self: start;
  font-size: 1.2rem;
  color: #6B6B6B;
  white-space: nowrap;
}
.p-news-lists__category span {
  display: inline-block;
  min-width: 6em;
  padding: 0.3em min(4vw, 2rem);
  font-size: 1rem;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #62a580;
  border-radius: 1.5em;
}
.p-news-lists__text {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: text;
  -ms-grid-row-align: start;
      align-self: start;
  font-size: clamp(1.3rem, 1.164rem + 0.58vw, 1.6rem);
  line-height: 2;
}

:where(.c-button01) {
  width: min(84.5vw, 29rem);
  min-height: 4.5rem;
}

:where(.c-button01) > span {
  font-size: clamp(1.3rem, 1.255rem + 0.19vw, 1.4rem);
}

.c-button01 {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 3em;
  padding-left: 1em;
  overflow: hidden;
  color: #fff;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  background-color: #094;
  border: none;
  border-radius: 3rem;
  outline: none;
}
.c-button01 > span {
  position: relative;
  z-index: 2;
  padding: 0.25em 0;
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.25;
  text-align: center;
  text-indent: 0.015em;
  letter-spacing: 0.015em;
}
.c-button01.is-disabled, .c-button01:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.c-button01 > i {
  position: absolute;
  top: 50%;
  z-index: 2;
  font-size: 1em;
}
.c-button01 > i:first-child {
  left: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.c-button01 > i:last-child {
  right: min(2vw, 1.5rem);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-button01 .u-ic-arrow-w {
  width: 2rem;
  height: 2rem;
}
.c-button01 .u-ic-dl-w {
  width: 1.5em;
  height: 1.5em;
}
.c-button01__dl span {
  padding-right: 1.5em;
}
.c-button01:focus-visible {
  background-color: rgb(0, 119, 54);
  outline: 2px solid #094;
  outline-offset: 1px;
}

:where(.c-button02) {
  width: min(84.5vw, 30rem);
  min-height: 6rem;
}

:where(.c-button02) > span {
  font-size: clamp(1.3rem, 1.164rem + 0.58vw, 1.6rem);
}

.c-button02 {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 1em;
  padding-left: 1em;
  overflow: hidden;
  color: #fff;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  border: 1px solid #fff;
  border-radius: 4rem;
  outline: none;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}
.c-button02 > span {
  position: relative;
  z-index: 2;
  padding: 0.25em 0;
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.25;
  text-align: center;
  text-indent: 0.015em;
  letter-spacing: 0.015em;
}
.c-button02 > i {
  position: absolute;
  top: 50%;
  z-index: 2;
  font-size: 1em;
}
.c-button02 > i:first-child {
  left: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.c-button02 > i:last-child {
  right: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-button02 .u-ic-arrow-w {
  width: 1.4rem;
  height: 1.4rem;
}
.c-button02 span .u-ic-arrow-w {
  margin-left: 1rem;
}
.c-button02--more .u-ic-arrow-w {
  -webkit-transform: translate(-50%, -50%) rotate(90deg) !important;
          transform: translate(-50%, -50%) rotate(90deg) !important;
}
.c-button02:focus-visible {
  color: #094;
  background-color: #fff;
  outline: 2px solid #094;
  outline-offset: 1px;
}

:where(.c-button03) {
  width: min(84.5vw, 30rem);
  min-height: 6rem;
}

:where(.c-button03) > span {
  font-size: clamp(1.3rem, 1.164rem + 0.58vw, 1.6rem);
}

.c-button03 {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 1em;
  padding-left: 1em;
  overflow: hidden;
  color: #094;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  border: 1px solid #094;
  border-radius: 4rem;
  outline: none;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}
.c-button03 > span {
  position: relative;
  z-index: 2;
  padding: 0.25em 0;
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.25;
  text-align: center;
  text-indent: 0.015em;
  letter-spacing: 0.015em;
}
.c-button03 > i {
  position: absolute;
  top: 50%;
  z-index: 2;
  font-size: 1em;
}
.c-button03 > i:first-child {
  left: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.c-button03 > i:last-child {
  right: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-button03 .u-ic-arrow-link {
  width: 1.4rem;
  height: 1.4rem;
}
.c-button03 span .u-ic-arrow-link {
  margin-left: 1rem;
}
.c-button03--more {
  width: 15rem;
  min-height: 4.5rem;
}
.c-button03--more span .u-ic-arrow-link {
  -webkit-transform: rotate(90deg) !important;
          transform: rotate(90deg) !important;
}
.c-button03:focus-visible {
  color: #fff;
  background-color: #094;
  outline: 2px solid #094;
  outline-offset: 1px;
}

:where(.c-title01 + *) {
  margin-top: 3.6rem;
}

:where(.c-title01 + p) {
  margin-top: 1.5em;
}

.c-title01 {
  position: relative;
  z-index: 1;
  font-family: "Noto Serif", serif;
  font-size: clamp(2.3rem, 1.709rem + 2.52vw, 3.6rem);
  font-weight: 400;
  text-align: left;
  letter-spacing: 0.015em;
}

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

:where(.c-table01) {
  font-size: clamp(1.2rem, 1.109rem + 0.39vw, 1.4rem);
}

:where(table:not(:first-child)) {
  margin-top: 3em;
}

table:not([class]),
.c-table01 {
  line-height: 1.5;
  border-collapse: separate;
  background-color: #fff;
}
table:not([class]) caption,
.c-table01 caption {
  padding: 0.5em;
  font-weight: 700;
}
table:not([class]) th,
table:not([class]) td,
.c-table01 th,
.c-table01 td {
  line-height: 1.5;
  letter-spacing: 0;
  word-break: break-all;
  vertical-align: middle;
  border-bottom: #000 solid 1px;
}
table:not([class]) tbody th, table:not([class]) tbody td,
.c-table01 tbody th,
.c-table01 tbody td {
  padding: 1.5em 1em;
}

.c-table01:has(thead) {
  border-top: none;
}

:where(.c-inner01) {
  width: min(84%, 120rem);
  margin-right: auto;
  margin-left: auto;
}

/* u-font */
.u-font-wn {
  font-weight: 400;
}
.u-font-wm {
  font-weight: 500;
}
.u-font-wb {
  font-weight: 700;
}
.u-font-size-xs {
  font-size: 80%;
}
.u-font-size-s {
  font-size: 90%;
}
.u-font-size-l {
  font-size: 110%;
}
.u-font-size-xl {
  font-size: 120%;
}

.u-visible-sp {
  display: inline-block;
}

.u-visible-pc {
  display: none;
}

.u-visible-s,
.u-visible-sm,
.u-visible-md,
.u-visible-lg,
.u-visible-xl,
.u-visible-xxl {
  display: none;
}

[class^=u-ic-] {
  display: inline-block;
  width: 1.3em;
  height: 1em;
  line-height: 1.25;
  vertical-align: -0.15em;
}

.u-ic-arrow-link {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23094%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-arrow-w {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank-link {
  vertical-align: -0.25em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20width%3D%2215%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h15v15h-15z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22%23094%22%3E%3Cpath%20d%3D%22m14.427%206.1a.573.573%200%200%200%20-.572.572v3.885h-9.409v-9.413h4.026a.572.572%200%201%200%200-1.144h-4.6a.571.571%200%200%200%20-.572.572v2.728h-2.728a.573.573%200%200%200%20-.572.573v10.555a.573.573%200%200%200%20.572.572h10.553a.573.573%200%200%200%20.572-.572v-2.728h2.729a.571.571%200%200%200%20.574-.575v-4.457a.572.572%200%200%200%20-.572-.572m-3.874%207.76h-9.409v-9.41h2.155v6.679a.571.571%200%200%200%20.572.572h6.679z%22%2F%3E%3Cpath%20d%3D%22m56.048.572v3.359a.572.572%200%200%201%20-1.144%200v-1.978l-4.668%204.669a.579.579%200%200%201%20-.4.168.573.573%200%200%201%20-.4-.978l4.667-4.667h-1.984a.572.572%200%200%201%200-1.144h3.357a.7.7%200%200%201%20.109.01.681.681%200%200%201%20.107.033l.05.023a.562.562%200%200%201%20.139.1.569.569%200%200%201%20.158.3.56.56%200%200%201%20.008.057s0%200%200%200a.4.4%200%200%201%200%20.048%22%20transform%3D%22translate(-41.049)%22%2F%3E%3Cpath%20d%3D%22m89.983%203.195v.055a.624.624%200%200%200%200-.1.394.394%200%200%201%200%20.048%22%20transform%3D%22translate(-74.984%20-2.622)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank-w {
  vertical-align: -0.25em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20width%3D%2215%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h15v15h-15z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22m14.427%206.1a.573.573%200%200%200%20-.572.572v3.885h-9.409v-9.413h4.026a.572.572%200%201%200%200-1.144h-4.6a.571.571%200%200%200%20-.572.572v2.728h-2.728a.573.573%200%200%200%20-.572.573v10.555a.573.573%200%200%200%20.572.572h10.553a.573.573%200%200%200%20.572-.572v-2.728h2.729a.571.571%200%200%200%20.574-.575v-4.457a.572.572%200%200%200%20-.572-.572m-3.874%207.76h-9.409v-9.41h2.155v6.679a.571.571%200%200%200%20.572.572h6.679z%22%2F%3E%3Cpath%20d%3D%22m56.048.572v3.359a.572.572%200%200%201%20-1.144%200v-1.978l-4.668%204.669a.579.579%200%200%201%20-.4.168.573.573%200%200%201%20-.4-.978l4.667-4.667h-1.984a.572.572%200%200%201%200-1.144h3.357a.7.7%200%200%201%20.109.01.681.681%200%200%201%20.107.033l.05.023a.562.562%200%200%201%20.139.1.569.569%200%200%201%20.158.3.56.56%200%200%201%20.008.057s0%200%200%200a.4.4%200%200%201%200%20.048%22%20transform%3D%22translate(-41.049)%22%2F%3E%3Cpath%20d%3D%22m89.983%203.195v.055a.624.624%200%200%200%200-.1.394.394%200%200%201%200%20.048%22%20transform%3D%22translate(-74.984%20-2.622)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-dl-w {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2012%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22m6.5%206.543v-4.793c0-.276-.224-.5-.5-.5s-.5.224-.5.5v4.793l-1.646-1.646c-.195-.195-.512-.195-.707%200s-.195.512%200%20.707l2.854%202.854%202.854-2.854c.195-.195.195-.512%200-.707s-.512-.195-.707%200l-1.646%201.646z%22%2F%3E%3Cpath%20d%3D%22m2%207.75c.276%200%20.5.224.5.5v.8c0%20.387.313.7.7.7h5.6c.387%200%20.7-.313.7-.7v-.8c0-.276.224-.5.5-.5s.5.224.5.5v.8c0%20.939-.761%201.7-1.7%201.7h-5.6c-.939%200-1.7-.761-1.7-1.7v-.8c0-.276.224-.5.5-.5z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-x {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m12.054%206%205.047%207.335%206.318-7.335h1.728l-7.267%208.468%207.903%2011.499v.033h-5.821l-5.324-7.759-6.677%207.759h-1.745v-.016l7.645-8.872-7.645-11.096v-.016zm11.365%2018.745-12.189-17.441h-2.65l12.205%2017.441z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-instagram {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m11.651%205.573c-1.117.053-1.88.232-2.547.493-.69.269-1.275.63-1.857%201.214-.583.585-.941%201.171-1.208%201.862-.259.669-.434%201.432-.483%202.55-.049%201.12-.06%201.477-.055%204.328s.018%203.209.071%204.329c.053%201.117.232%201.88.493%202.547.269.69.63%201.275%201.214%201.858.584.582%201.171.94%201.862%201.207.668.258%201.432.434%202.549.483%201.12.049%201.477.06%204.328.055%202.852-.005%203.209-.018%204.329-.071%201.117-.053%201.88-.232%202.547-.493.69-.27%201.275-.63%201.857-1.215.582-.584.94-1.171%201.207-1.862.259-.668.434-1.432.483-2.548.049-1.121.061-1.479.055-4.329-.005-2.851-.018-3.208-.071-4.328-.053-1.118-.232-1.88-.493-2.548-.27-.69-.63-1.275-1.214-1.858-.584-.582-1.171-.941-1.862-1.207-.668-.259-1.432-.435-2.549-.483-1.12-.05-1.477-.061-4.329-.055-2.851.005-3.208.018-4.328.071m.124%2018.981c-1.024-.045-1.58-.215-1.95-.357-.491-.19-.841-.417-1.209-.783-.368-.367-.596-.716-.788-1.206-.144-.37-.317-.926-.365-1.949-.052-1.107-.064-1.439-.069-4.242s.005-3.135.053-4.243c.044-1.023.215-1.58.357-1.95.19-.491.417-.841.783-1.209.367-.368.716-.596%201.206-.788.37-.145.925-.316%201.949-.365%201.107-.052%201.439-.064%204.242-.069%202.804-.005%203.136.004%204.243.053%201.023.045%201.58.214%201.949.357.491.19.841.416%201.209.783s.596.715.788%201.206c.145.369.316.925.365%201.948.053%201.107.065%201.439.07%204.242.005%202.804-.005%203.136-.053%204.243-.045%201.024-.214%201.58-.357%201.951-.19.49-.417.84-.783%201.209-.367.367-.716.596-1.206.788-.369.144-.925.316-1.948.365-1.107.052-1.439.064-4.243.069-2.803.005-3.135-.005-4.242-.053m8.559-14.167c0%20.695.567%201.258%201.262%201.257.696-.001%201.259-.566%201.258-1.262%200-.695-.567-1.259-1.262-1.257s-1.259.567-1.257%201.262m-9.726%205.623c.006%202.978%202.424%205.386%205.401%205.381%202.977-.006%205.387-2.424%205.382-5.401-.006-2.977-2.425-5.387-5.402-5.381s-5.386%202.425-5.381%205.402m1.891-.005c-.003-1.933%201.561-3.503%203.493-3.506%201.933-.004%203.503%201.56%203.507%203.493s-1.56%203.503-3.494%203.506c-1.932.004-3.503-1.56-3.506-3.493%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-tiktok {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m22.116%2010.009c-1.077-.702-1.855-1.826-2.097-3.136-.052-.283-.081-.574-.081-.872h-3.438l-.006%2013.78c-.058%201.543-1.328%202.782-2.885%202.782-.484%200-.94-.121-1.341-.332-.92-.484-1.55-1.448-1.55-2.558%200-1.594%201.297-2.89%202.89-2.89.298%200%20.583.049.853.134v-3.51c-.279-.038-.563-.062-.853-.062-3.49%200-6.329%202.839-6.329%206.329%200%202.141%201.07%204.036%202.702%205.182%201.028.722%202.278%201.147%203.627%201.147%203.49%200%206.329-2.839%206.329-6.329v-6.988c1.349.968%203.001%201.538%204.784%201.538v-3.438c-.96%200-1.855-.286-2.605-.775z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-youtube {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m28.32%209.811c-.296-1.106-1.167-1.978-2.273-2.273-2.005-.537-10.046-.537-10.046-.537s-8.041%200-10.046.537c-1.106.296-1.978%201.167-2.273%202.273-.537%202.005-.537%206.189-.537%206.189s0%204.184.537%206.189c.296%201.106%201.167%201.978%202.273%202.273%202.005.537%2010.046.537%2010.046.537s8.041%200%2010.046-.537c1.106-.296%201.978-1.167%202.273-2.273.537-2.005.537-6.189.537-6.189s0-4.184-.537-6.189zm-14.891%2010.046v-7.714l6.68%203.857z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

/* text */
.u-text-al {
  text-align: left;
}
.u-text-ac {
  text-align: center;
}
.u-text-ar {
  text-align: right;
}
.u-text-aj {
  text-align: justify;
}
.u-text-du {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.u-text-dl {
  text-decoration: line-through;
}
.u-text-serif {
  font-family: "Noto Serif", serif;
}

.u-pt0 {
  padding-top: 0rem;
}

.u-pt5 {
  padding-top: 0.5rem;
}

.u-pt10 {
  padding-top: 1rem;
}

.u-pt15 {
  padding-top: 1.5rem;
}

.u-pt20 {
  padding-top: 2rem;
}

.u-pt25 {
  padding-top: 2.5rem;
}

.u-pt30 {
  padding-top: 3rem;
}

.u-pt35 {
  padding-top: 3.5rem;
}

.u-pt40 {
  padding-top: 4rem;
}

.u-pt45 {
  padding-top: 4.5rem;
}

.u-pt50 {
  padding-top: 5rem;
}

.u-pt55 {
  padding-top: 5.5rem;
}

.u-pt60 {
  padding-top: 6rem;
}

.u-pt65 {
  padding-top: 6.5rem;
}

.u-pt70 {
  padding-top: 7rem;
}

.u-pt75 {
  padding-top: 7.5rem;
}

.u-pt80 {
  padding-top: 8rem;
}

.u-pt85 {
  padding-top: 8.5rem;
}

.u-pt90 {
  padding-top: 9rem;
}

.u-pt95 {
  padding-top: 9.5rem;
}

.u-pt100 {
  padding-top: 10rem;
}

.u-pb0 {
  padding-bottom: 0rem;
}

.u-pb5 {
  padding-bottom: 0.5rem;
}

.u-pb10 {
  padding-bottom: 1rem;
}

.u-pb15 {
  padding-bottom: 1.5rem;
}

.u-pb20 {
  padding-bottom: 2rem;
}

.u-pb25 {
  padding-bottom: 2.5rem;
}

.u-pb30 {
  padding-bottom: 3rem;
}

.u-pb35 {
  padding-bottom: 3.5rem;
}

.u-pb40 {
  padding-bottom: 4rem;
}

.u-pb45 {
  padding-bottom: 4.5rem;
}

.u-pb50 {
  padding-bottom: 5rem;
}

.u-pb55 {
  padding-bottom: 5.5rem;
}

.u-pb60 {
  padding-bottom: 6rem;
}

.u-pb65 {
  padding-bottom: 6.5rem;
}

.u-pb70 {
  padding-bottom: 7rem;
}

.u-pb75 {
  padding-bottom: 7.5rem;
}

.u-pb80 {
  padding-bottom: 8rem;
}

.u-pb85 {
  padding-bottom: 8.5rem;
}

.u-pb90 {
  padding-bottom: 9rem;
}

.u-pb95 {
  padding-bottom: 9.5rem;
}

.u-pb100 {
  padding-bottom: 10rem;
}

.u-pl0 {
  padding-left: 0rem;
}

.u-pl5 {
  padding-left: 0.5rem;
}

.u-pl10 {
  padding-left: 1rem;
}

.u-pl15 {
  padding-left: 1.5rem;
}

.u-pl20 {
  padding-left: 2rem;
}

.u-pl25 {
  padding-left: 2.5rem;
}

.u-pl30 {
  padding-left: 3rem;
}

.u-pl35 {
  padding-left: 3.5rem;
}

.u-pl40 {
  padding-left: 4rem;
}

.u-pl45 {
  padding-left: 4.5rem;
}

.u-pl50 {
  padding-left: 5rem;
}

.u-pl55 {
  padding-left: 5.5rem;
}

.u-pl60 {
  padding-left: 6rem;
}

.u-pl65 {
  padding-left: 6.5rem;
}

.u-pl70 {
  padding-left: 7rem;
}

.u-pl75 {
  padding-left: 7.5rem;
}

.u-pl80 {
  padding-left: 8rem;
}

.u-pl85 {
  padding-left: 8.5rem;
}

.u-pl90 {
  padding-left: 9rem;
}

.u-pl95 {
  padding-left: 9.5rem;
}

.u-pl100 {
  padding-left: 10rem;
}

.u-pr0 {
  padding-right: 0rem;
}

.u-pr5 {
  padding-right: 0.5rem;
}

.u-pr10 {
  padding-right: 1rem;
}

.u-pr15 {
  padding-right: 1.5rem;
}

.u-pr20 {
  padding-right: 2rem;
}

.u-pr25 {
  padding-right: 2.5rem;
}

.u-pr30 {
  padding-right: 3rem;
}

.u-pr35 {
  padding-right: 3.5rem;
}

.u-pr40 {
  padding-right: 4rem;
}

.u-pr45 {
  padding-right: 4.5rem;
}

.u-pr50 {
  padding-right: 5rem;
}

.u-pr55 {
  padding-right: 5.5rem;
}

.u-pr60 {
  padding-right: 6rem;
}

.u-pr65 {
  padding-right: 6.5rem;
}

.u-pr70 {
  padding-right: 7rem;
}

.u-pr75 {
  padding-right: 7.5rem;
}

.u-pr80 {
  padding-right: 8rem;
}

.u-pr85 {
  padding-right: 8.5rem;
}

.u-pr90 {
  padding-right: 9rem;
}

.u-pr95 {
  padding-right: 9.5rem;
}

.u-pr100 {
  padding-right: 10rem;
}

.u-mt0 {
  margin-top: 0rem;
}

.u-mt5 {
  margin-top: 0.5rem;
}

.u-mt10 {
  margin-top: 1rem;
}

.u-mt15 {
  margin-top: 1.5rem;
}

.u-mt20 {
  margin-top: 2rem;
}

.u-mt25 {
  margin-top: 2.5rem;
}

.u-mt30 {
  margin-top: 3rem;
}

.u-mt35 {
  margin-top: 3.5rem;
}

.u-mt40 {
  margin-top: 4rem;
}

.u-mt45 {
  margin-top: 4.5rem;
}

.u-mt50 {
  margin-top: 5rem;
}

.u-mt55 {
  margin-top: 5.5rem;
}

.u-mt60 {
  margin-top: 6rem;
}

.u-mt65 {
  margin-top: 6.5rem;
}

.u-mt70 {
  margin-top: 7rem;
}

.u-mt75 {
  margin-top: 7.5rem;
}

.u-mt80 {
  margin-top: 8rem;
}

.u-mt85 {
  margin-top: 8.5rem;
}

.u-mt90 {
  margin-top: 9rem;
}

.u-mt95 {
  margin-top: 9.5rem;
}

.u-mt100 {
  margin-top: 10rem;
}

.u-mb0 {
  margin-bottom: 0rem;
}

.u-mb5 {
  margin-bottom: 0.5rem;
}

.u-mb10 {
  margin-bottom: 1rem;
}

.u-mb15 {
  margin-bottom: 1.5rem;
}

.u-mb20 {
  margin-bottom: 2rem;
}

.u-mb25 {
  margin-bottom: 2.5rem;
}

.u-mb30 {
  margin-bottom: 3rem;
}

.u-mb35 {
  margin-bottom: 3.5rem;
}

.u-mb40 {
  margin-bottom: 4rem;
}

.u-mb45 {
  margin-bottom: 4.5rem;
}

.u-mb50 {
  margin-bottom: 5rem;
}

.u-mb55 {
  margin-bottom: 5.5rem;
}

.u-mb60 {
  margin-bottom: 6rem;
}

.u-mb65 {
  margin-bottom: 6.5rem;
}

.u-mb70 {
  margin-bottom: 7rem;
}

.u-mb75 {
  margin-bottom: 7.5rem;
}

.u-mb80 {
  margin-bottom: 8rem;
}

.u-mb85 {
  margin-bottom: 8.5rem;
}

.u-mb90 {
  margin-bottom: 9rem;
}

.u-mb95 {
  margin-bottom: 9.5rem;
}

.u-mb100 {
  margin-bottom: 10rem;
}

.u-ml0 {
  margin-left: 0rem;
}

.u-ml5 {
  margin-left: 0.5rem;
}

.u-ml10 {
  margin-left: 1rem;
}

.u-ml15 {
  margin-left: 1.5rem;
}

.u-ml20 {
  margin-left: 2rem;
}

.u-ml25 {
  margin-left: 2.5rem;
}

.u-ml30 {
  margin-left: 3rem;
}

.u-ml35 {
  margin-left: 3.5rem;
}

.u-ml40 {
  margin-left: 4rem;
}

.u-ml45 {
  margin-left: 4.5rem;
}

.u-ml50 {
  margin-left: 5rem;
}

.u-ml55 {
  margin-left: 5.5rem;
}

.u-ml60 {
  margin-left: 6rem;
}

.u-ml65 {
  margin-left: 6.5rem;
}

.u-ml70 {
  margin-left: 7rem;
}

.u-ml75 {
  margin-left: 7.5rem;
}

.u-ml80 {
  margin-left: 8rem;
}

.u-ml85 {
  margin-left: 8.5rem;
}

.u-ml90 {
  margin-left: 9rem;
}

.u-ml95 {
  margin-left: 9.5rem;
}

.u-ml100 {
  margin-left: 10rem;
}

.u-mr0 {
  margin-right: 0rem;
}

.u-mr5 {
  margin-right: 0.5rem;
}

.u-mr10 {
  margin-right: 1rem;
}

.u-mr15 {
  margin-right: 1.5rem;
}

.u-mr20 {
  margin-right: 2rem;
}

.u-mr25 {
  margin-right: 2.5rem;
}

.u-mr30 {
  margin-right: 3rem;
}

.u-mr35 {
  margin-right: 3.5rem;
}

.u-mr40 {
  margin-right: 4rem;
}

.u-mr45 {
  margin-right: 4.5rem;
}

.u-mr50 {
  margin-right: 5rem;
}

.u-mr55 {
  margin-right: 5.5rem;
}

.u-mr60 {
  margin-right: 6rem;
}

.u-mr65 {
  margin-right: 6.5rem;
}

.u-mr70 {
  margin-right: 7rem;
}

.u-mr75 {
  margin-right: 7.5rem;
}

.u-mr80 {
  margin-right: 8rem;
}

.u-mr85 {
  margin-right: 8.5rem;
}

.u-mr90 {
  margin-right: 9rem;
}

.u-mr95 {
  margin-right: 9.5rem;
}

.u-mr100 {
  margin-right: 10rem;
}

.l-main {
  padding-bottom: 0;
}

.p-home-visual {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 36vw auto;
  grid-template-columns: 36vw auto;
}
.p-home-visual__title-area {
  display: -ms-grid;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  padding: 0 1rem;
  background-color: #094;
}
.p-home-visual__title-area img {
  width: clamp(11.1rem, 18vw, 21.6rem);
  height: auto;
  -webkit-animation: fadein 0.7s ease-in-out 0.1s forwards;
          animation: fadein 0.7s ease-in-out 0.1s forwards;
}
.p-home-visual__photo-area {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 0;
}
.p-home-visual__photo-area picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-home-visual__photo-area picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-home-visual__catch {
  position: absolute;
  right: 15%;
  bottom: 5%;
  z-index: 2;
  opacity: 0;
  -webkit-animation: fadein 0.7s ease-in-out 0.3s forwards;
          animation: fadein 0.7s ease-in-out 0.3s forwards;
}
.p-home-visual__catch img {
  width: clamp(1.2rem, 3.5vw, 5rem);
  height: auto;
  -webkit-filter: drop-shadow(0 1px 8px rgba(0, 0, 0, 0.4));
          filter: drop-shadow(0 1px 8px rgba(0, 0, 0, 0.4));
}

.p-home-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 min(3vw, 5rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: clamp(4rem, 5.33vw, 8rem) auto 0;
}
.p-home-sns img {
  width: clamp(4.2rem, 4vw, 6rem);
  height: auto;
}

.p-home-lead {
  margin-top: 2em;
  font-family: "Noto Serif", serif;
  font-size: clamp(2.2rem, 1rem + 3.64vw, 4.2rem);
  line-height: 1.73;
  color: #094;
  text-align: center;
  letter-spacing: 0.03em;
}

.p-home-greeting {
  position: relative;
  padding-top: clamp(4rem, 6.666vw, 10rem);
  text-align: center;
}
.p-home-greeting__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 3rem;
}
.p-home-greeting__photo-area {
  position: relative;
  z-index: 1;
}
.p-home-greeting__photo-area img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-home-greeting__text-area {
  position: relative;
  z-index: 1;
  text-align: justify;
}

.p-home-career {
  position: relative;
  padding-top: clamp(4rem, 6.666vw, 10rem);
  text-align: center;
}
.p-home-career__title {
  text-align: left;
}
.p-home-career__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 3rem;
}
.p-home-career__text-area {
  position: relative;
  z-index: 1;
  text-align: justify;
}
.p-home-career__photo-area {
  position: relative;
  z-index: 1;
}
.p-home-career__photo-area-inner {
  position: relative;
  display: -ms-grid;
  display: grid;
  gap: 2.5rem;
  width: min(100%, 28rem);
  margin: 0 auto;
}
.p-home-career__photo {
  width: min(100%, 28rem);
  height: auto;
}
.p-home-career__group {
  position: relative;
  z-index: 1;
  padding: 2rem 3rem;
  font-size: clamp(1rem, 1rem + 0.3vw, 1.4rem);
  background-color: #f2faf5;
  border-radius: 0 2rem;
}
.p-home-career__group h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.p-home-career__group h3 span:first-child {
  font-size: clamp(1.5rem, 1.5rem + 0.3vw, 2.2rem);
}
.p-home-career__group p {
  margin-top: 1em;
  line-height: 1.857;
}
.p-home-career__group + * {
  margin-top: 1.5em;
}
.p-home-career__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-home-career__sns a {
  width: 3.6rem;
  height: 3.6rem;
  text-decoration: none;
}
.p-home-career__table {
  width: 100%;
  margin-top: clamp(3rem, 5vw, 6rem);
}
.p-home-career__table tbody th,
.p-home-career__table tbody td {
  text-align: left;
  vertical-align: top;
}
.p-home-career__table tbody th {
  width: 4em;
  padding-left: 0;
  font-weight: 400;
  white-space: nowrap;
}
.p-home-career__table tbody td {
  text-align: justify;
}
.p-home-career__book {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
}
.p-home-career__book img {
  width: clamp(12.5rem, 12.5vw, 15rem);
  height: auto;
}

.p-home-media {
  position: relative;
  padding-top: clamp(6rem, 10vw, 12rem);
  text-align: center;
}
.p-home-media__button-area {
  margin-top: 3em;
  text-align: center;
}

.p-home-friends {
  position: relative;
  padding-top: clamp(6rem, 10vw, 12rem);
  text-align: center;
}
.p-home-friends__title span {
  position: relative;
  display: inline-block;
  padding-right: clamp(8rem, 11vw, 11rem);
}
.p-home-friends__title span img {
  position: absolute;
  right: 0;
  bottom: 0%;
  width: clamp(5.5rem, 7vw, 8rem);
  height: auto;
  -webkit-transform: translate(0%, -20%);
          transform: translate(0%, -20%);
}
.p-home-friends__lists {
  display: -ms-grid;
  display: grid;
  gap: 3rem;
}
.p-home-friends__lists-item {
  position: relative;
  z-index: 1;
  padding: 3rem;
  background-color: #f2faf5;
  border-radius: 0 clamp(2rem, 4vw, 4rem);
}
.p-home-friends__photo-name-area {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 11rem 2rem auto;
  grid-template-columns: 11rem auto;
  gap: 2rem;
}
.p-home-friends__photo {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.p-home-friends__photo img {
  width: 100%;
  height: auto;
}
.p-home-friends__name {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  text-align: left;
}
.p-home-friends__name-text {
  font-size: clamp(1.7rem, 1.5rem + 0.3vw, 2.2rem);
  line-height: 1.545;
}
.p-home-friends__name-subtext {
  margin-top: 0.1em;
  font-size: clamp(1.2rem, 1.109rem + 0.39vw, 1.4rem);
  line-height: 1.545;
}
.p-home-friends__text01 {
  margin-top: 1.5em;
  font-family: "Noto Serif", serif;
  font-size: clamp(1.6rem, 1.4rem + 0.3vw, 2rem);
  line-height: 1.58;
  text-align: left;
}
.p-home-friends__text02 {
  margin-top: 1.5em;
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  line-height: 1.769;
  text-align: left;
}
.p-home-friends__text02 p {
  text-indent: 1em;
}
.p-home-friends__movie {
  margin-top: 3rem;
}
.p-home-friends__movie img {
  width: 100%;
  height: auto;
}
.p-home-friends__movie a {
  position: relative;
  display: inline-block;
}

.p-home-youtube {
  position: relative;
  padding: clamp(3.6rem, 4vw, 6rem) 0;
  margin-top: clamp(7.5rem, 12.5vw, 15rem);
  text-align: center;
  background-color: #f4f7f8;
  border-radius: 0 clamp(5rem, 8.33vw, 10rem);
}
.p-home-youtube__inner {
  width: min(84%, 80rem);
  margin: 0 auto;
  text-align: left;
}
.p-home-youtube__video {
  aspect-ratio: 800/450;
  margin: clamp(3rem, 3vw, 4rem) auto 0;
}
.p-home-youtube__video iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.p-home-banner {
  position: relative;
  width: min(78.6%, 75rem);
  padding: clamp(6rem, 14.6vw, 8rem) 0 clamp(9rem, 24vw, 10rem);
  margin: 0 auto;
}
.p-home-banner__title {
  padding-bottom: 0.5em;
  text-align: center;
  border-bottom: #C8C8C8 1px solid;
}

.p-home-banner__lists {
  position: relative;
  display: -ms-grid;
  display: grid;
  gap: 2.5rem 2rem;
  padding: 4rem 0 0;
  margin: 0 auto;
  text-align: center;
}
.p-home-banner__lists a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}
.p-home-banner__lists > a:nth-child(1),
.p-home-banner__lists > a:nth-child(2),
.p-home-banner__lists > a:nth-child(3),
.p-home-banner__lists > a:nth-child(4) {
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
}
.p-home-banner__lists img {
  max-width: 100%;
}
@media screen and (width >= 375px){
  html {
    font-size: calc(var(--font-size) * 1%);
  }
}
@media screen and (width >= 768px){
  html,
  body {
    min-width: 768px;
  }
  body.is-gnav-open {
    height: auto;
    overflow: visible;
  }
  .l-footer {
    padding: 10rem 0 8rem;
  }
  .p-globalnav__menu a {
    padding-top: 0.5em;
  }
  .p-news-lists li {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "date category text";
    -ms-grid-columns: auto 1em auto 1em 1fr;
    grid-template-columns: auto auto 1fr;
    gap: 0.5em 1em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: min(1.333vw, 1.6rem);
  }
  .p-news-lists > time {
    font-size: min(1.4vw, 1.4rem);
  }
  .p-news-lists__category span {
    font-size: min(1.4vw, 1.4rem);
  }
  :where(.c-button01) {
    min-height: 5.4rem;
  }
  .c-button01 > i:first-child {
    left: min(0.2vw, 0.5rem);
  }
  .c-button02 > i:first-child {
    left: min(0.2vw, 0.5rem);
  }
  .c-button02 > i:last-child {
    right: min(0.2vw, 0.5rem);
  }
  .c-button02 .u-ic-arrow-w {
    vertical-align: -0.25em;
  }
  .c-button03 > i:first-child {
    left: min(0.2vw, 0.5rem);
  }
  .c-button03 > i:last-child {
    right: min(0.2vw, 0.5rem);
  }
  .c-button03 .u-ic-arrow-link {
    vertical-align: -0.25em;
  }
  :where(.c-title01 + *) {
    margin-top: min(4.16vw, 5rem);
  }
  .c-title01 {
    text-align: center;
    letter-spacing: 0.03em;
  }
  table:not([class]) th,
  table:not([class]) td,
  .c-table01 th,
  .c-table01 td {
    line-height: 1.714;
  }
  .u-visible-sp {
    display: none;
  }
  .u-visible-pc {
    display: inline-block;
  }
  .p-home-visual {
    -ms-grid-columns: 23.2vw auto;
    grid-template-columns: 23.2vw auto;
    height: min(46.666vw, 80rem);
  }
  .p-home-visual__catch img {
    width: min(2vw, 6rem);
  }
  .p-home-lead {
    letter-spacing: 0.06em;
  }
  .p-home-greeting__grid {
    -ms-grid-columns: min(45.8%, 55rem) 5rem auto;
    grid-template-columns: min(45.8%, 55rem) auto;
    gap: 5rem;
  }
  .p-home-greeting__text-area {
    padding-top: 2em;
  }
  .p-home-career__grid {
    -ms-grid-columns: min(53.3%, 56rem) 5rem auto;
    grid-template-columns: min(53.3%, 56rem) auto;
    gap: 5rem;
  }
  .p-home-career__photo-area-inner {
    gap: 3rem;
    margin: 0;
  }
  .p-home-career__group h3 {
    letter-spacing: 0.06em;
  }
  .p-home-career__group + * {
    margin-top: 3em;
  }
  .p-home-career__table {
    width: min(53.6%, 56rem);
  }
  .p-home-career__book {
        grid-template-areas: "book text";
    -ms-grid-columns: min(12.5vw, 15rem) 2rem auto;
    grid-template-columns: min(12.5vw, 15rem) auto;
    gap: 2rem;
  }
  .p-home-career__book > .p-news-lists__text {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: text;
  }
  .p-home-career__book > div:nth-child(2) {
    grid-area: book;
  }
  .p-news-lists > time {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-news-lists__category {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-news-lists__text {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-home-career__book > div:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-home-friends__lists {
    -ms-grid-columns: 1fr min(5vw, 6rem) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: min(5vw, 6rem);
  }
  .p-home-friends__photo-name-area {
    -ms-grid-columns: min(30%, 16rem) auto;
    grid-template-columns: min(30%, 16rem) auto;
  }
  .p-home-friends__name-text {
    line-height: 1.857;
  }
  .p-home-friends__name-subtext {
    line-height: 1.857;
  }
  .p-home-friends__text01 {
    margin-top: 2em;
    line-height: 1.8;
  }
  .p-home-friends__text02 {
    margin-top: 2em;
    line-height: 2.125;
  }
  .p-home-banner__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: clamp(3rem, 3.5vw, 4rem) clamp(4rem, 5vw, 5rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    padding: 4rem 0 0;
  }
  .p-home-banner__lists a {
    margin: 0;
  }
  .p-home-banner__lists > a:nth-child(1) img {
    width: auto;
    height: 45px;
  }
  .p-home-banner__lists > a:nth-child(2) img,
  .p-home-banner__lists > a:nth-child(3) img,
  .p-home-banner__lists > a:nth-child(4) img,
  .p-home-banner__lists > a:nth-child(5) img,
  .p-home-banner__lists > a:nth-child(6) img {
    width: auto;
    height: 35px;
  }
}
@media screen and (width >= 992px){
  .l-footer__sns a {
    width: 3rem;
    height: 3rem;
  }
  .l-header {
    height: 12.3rem;
  }
  .l-header__logo svg {
    width: min(13vw, 15.4rem);
    height: auto;
  }
  .p-globalnav-triger {
    display: none;
  }
  .p-globalnav {
    position: absolute;
    top: 50%;
    right: 0;
    left: auto;
    display: block !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    pointer-events: all;
    visibility: visible !important;
    background-color: transparent;
    opacity: 1 !important;
    -webkit-transition: none;
    transition: none;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-globalnav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 min(3vw, 5rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    height: auto;
    padding: 0;
    overflow-y: visible;
  }
  .is-open .p-globalnav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-globalnav__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0 min(3vw, 3rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    height: clamp(5rem, 12vh, 6rem);
    padding: 0;
    margin: 0 auto;
  }
  .p-globalnav__menu > li {
    font-size: min(1.25vw, 1.4rem);
  }
  .p-globalnav__sns {
    margin: 0;
  }
  .p-globalnav__sns a {
    width: 3rem;
    height: 3rem;
  }
  .p-news-lists__date {
    font-size: 1.4rem;
  }
  .p-home-career__sns a {
    width: 4.6rem;
    height: 4.6rem;
  }
}
@media (hover: hover) and (pointer: fine){
  :where(.l-main a:not([class])) {
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
  }
  :where(.l-main a:not([class])):hover {
    color: #094;
  }
  .l-footer__sns a i {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .l-footer__sns a:hover i {
    opacity: 0.8;
  }
  .p-globalnav__menu a:hover::after {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .p-globalnav__sns a i {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-globalnav__sns a:hover i {
    opacity: 0.8;
  }
  .c-button01 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button01:hover {
    background-color: rgb(0, 119, 54);
  }
  .c-button02 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button02:hover {
    color: #094;
    background-color: #fff;
  }
  .c-button02:hover .u-ic-arrow-link {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .c-button02:hover .u-ic-arrow-w {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23094%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .c-button03 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button03:hover {
    color: #fff;
    background-color: #094;
  }
  .c-button03:hover .u-ic-arrow-link {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .p-home-career__sns a img {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-home-career__sns a:hover img {
    opacity: 0.8;
  }
  .p-home-friends__movie a {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-home-friends__movie a:hover {
    opacity: 0.8;
  }
}
@media (pointer: fine), (hover: hover){
  .l-main a[href^="tel:"] {
    color: #000;
    text-decoration: none;
    pointer-events: none;
  }
}
@media (prefers-reduced-motion: no-preference){
  :where(html:focus-within) {
    scroll-behavior: smooth; /* 何かにフォーカスがある場合のみスムーズスクロール */
  }
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
  :where(.l-main a:not([class])) {
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
  }
  :where(.l-main a:not([class])):hover {
    color: #094;
  }
  .l-footer__sns a i {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .l-footer__sns a:hover i {
    opacity: 0.8;
  }
  .p-globalnav__menu a:hover::after {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .p-globalnav__sns a i {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-globalnav__sns a:hover i {
    opacity: 0.8;
  }
  .c-button01 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button01:hover {
    background-color: rgb(0, 119, 54);
  }
  .c-button02 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button02:hover {
    color: #094;
    background-color: #fff;
  }
  .c-button02:hover .u-ic-arrow-link {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .c-button02:hover .u-ic-arrow-w {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23094%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .c-button03 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button03:hover {
    color: #fff;
    background-color: #094;
  }
  .c-button03:hover .u-ic-arrow-link {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .p-home-career__sns a img {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-home-career__sns a:hover img {
    opacity: 0.8;
  }
  .p-home-friends__movie a {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-home-friends__movie a:hover {
    opacity: 0.8;
  }
}
@media print{
  html {
    font-size: calc(var(--font-size) * 1%);
  }
  html,
  body {
    min-width: 768px;
  }
  body.is-gnav-open {
    height: auto;
    overflow: visible;
  }
  :where(.l-main a:not([class])) {
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
  }
  :where(.l-main a:not([class])):hover {
    color: #094;
  }
  .l-footer {
    padding: 10rem 0 8rem;
  }
  .l-footer__sns a {
    width: 3rem;
    height: 3rem;
  }
  .l-footer__sns a i {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .l-footer__sns a:hover i {
    opacity: 0.8;
  }
  .l-header {
    height: 12.3rem;
  }
  .l-header__logo svg {
    width: min(13vw, 15.4rem);
    height: auto;
  }
  .p-globalnav-triger {
    display: none;
  }
  .p-globalnav {
    position: absolute;
    top: 50%;
    right: 0;
    left: auto;
    display: block !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    pointer-events: all;
    visibility: visible !important;
    background-color: transparent;
    opacity: 1 !important;
    -webkit-transition: none;
    transition: none;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-globalnav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 min(3vw, 5rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    height: auto;
    padding: 0;
    overflow-y: visible;
  }
  .is-open .p-globalnav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-globalnav__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0 min(3vw, 3rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    height: clamp(5rem, 12vh, 6rem);
    padding: 0;
    margin: 0 auto;
  }
  .p-globalnav__menu > li {
    font-size: min(1.25vw, 1.4rem);
  }
  .p-globalnav__menu a {
    padding-top: 0.5em;
  }
  .p-globalnav__menu a:hover::after {
    opacity: 1;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .p-globalnav__sns {
    margin: 0;
  }
  .p-globalnav__sns a {
    width: 3rem;
    height: 3rem;
  }
  .p-globalnav__sns a i {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-globalnav__sns a:hover i {
    opacity: 0.8;
  }
  .p-news-lists li {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "date category text";
    -ms-grid-columns: auto 1em auto 1em 1fr;
    grid-template-columns: auto auto 1fr;
    gap: 0.5em 1em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: min(1.333vw, 1.6rem);
  }
  .p-news-lists > time {
    font-size: min(1.4vw, 1.4rem);
  }
  .p-news-lists__date {
    font-size: 1.4rem;
  }
  .p-news-lists__category span {
    font-size: min(1.4vw, 1.4rem);
  }
  :where(.c-button01) {
    min-height: 5.4rem;
  }
  .c-button01 > i:first-child {
    left: min(0.2vw, 0.5rem);
  }
  .c-button01 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button01:hover {
    background-color: rgb(0, 119, 54);
  }
  .c-button02 > i:first-child {
    left: min(0.2vw, 0.5rem);
  }
  .c-button02 > i:last-child {
    right: min(0.2vw, 0.5rem);
  }
  .c-button02 .u-ic-arrow-w {
    vertical-align: -0.25em;
  }
  .c-button02 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button02:hover {
    color: #094;
    background-color: #fff;
  }
  .c-button02:hover .u-ic-arrow-link {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .c-button02:hover .u-ic-arrow-w {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23094%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  .c-button03 > i:first-child {
    left: min(0.2vw, 0.5rem);
  }
  .c-button03 > i:last-child {
    right: min(0.2vw, 0.5rem);
  }
  .c-button03 .u-ic-arrow-link {
    vertical-align: -0.25em;
  }
  .c-button03 {
    -webkit-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
  }
  .c-button03:hover {
    color: #fff;
    background-color: #094;
  }
  .c-button03:hover .u-ic-arrow-link {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3Cpath%20d%3D%22m3.772%2016.5%209.456-8-9.456-8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
  }
  :where(.c-title01 + *) {
    margin-top: min(4.16vw, 5rem);
  }
  .c-title01 {
    text-align: center;
    letter-spacing: 0.03em;
  }
  table:not([class]) th,
  table:not([class]) td,
  .c-table01 th,
  .c-table01 td {
    line-height: 1.714;
  }
  .u-visible-sp {
    display: none;
  }
  .u-visible-pc {
    display: inline-block;
  }
  .p-home-visual {
    -ms-grid-columns: 23.2vw auto;
    grid-template-columns: 23.2vw auto;
    height: min(46.666vw, 80rem);
  }
  .p-home-visual__catch img {
    width: min(2vw, 6rem);
  }
  .p-home-lead {
    letter-spacing: 0.06em;
  }
  .p-home-greeting__grid {
    -ms-grid-columns: min(45.8%, 55rem) 5rem auto;
    grid-template-columns: min(45.8%, 55rem) auto;
    gap: 5rem;
  }
  .p-home-greeting__text-area {
    padding-top: 2em;
  }
  .p-home-career__grid {
    -ms-grid-columns: min(53.3%, 56rem) 5rem auto;
    grid-template-columns: min(53.3%, 56rem) auto;
    gap: 5rem;
  }
  .p-home-career__photo-area-inner {
    gap: 3rem;
    margin: 0;
  }
  .p-home-career__group h3 {
    letter-spacing: 0.06em;
  }
  .p-home-career__group + * {
    margin-top: 3em;
  }
  .p-home-career__sns a {
    width: 4.6rem;
    height: 4.6rem;
  }
  .p-home-career__sns a img {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-home-career__sns a:hover img {
    opacity: 0.8;
  }
  .p-home-career__table {
    width: min(53.6%, 56rem);
  }
  .p-home-career__book {
        grid-template-areas: "book text";
    -ms-grid-columns: min(12.5vw, 15rem) 2rem auto;
    grid-template-columns: min(12.5vw, 15rem) auto;
    gap: 2rem;
  }
  .p-home-career__book > .p-news-lists__text {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: text;
  }
  .p-home-career__book > div:nth-child(2) {
    grid-area: book;
  }
  .p-news-lists > time {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-news-lists__category {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-news-lists__text {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:first-child {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-home-career__book > div:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-home-career__book > div:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-home-friends__lists {
    -ms-grid-columns: 1fr min(5vw, 6rem) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: min(5vw, 6rem);
  }
  .p-home-friends__photo-name-area {
    -ms-grid-columns: min(30%, 16rem) auto;
    grid-template-columns: min(30%, 16rem) auto;
  }
  .p-home-friends__name-text {
    line-height: 1.857;
  }
  .p-home-friends__name-subtext {
    line-height: 1.857;
  }
  .p-home-friends__text01 {
    margin-top: 2em;
    line-height: 1.8;
  }
  .p-home-friends__text02 {
    margin-top: 2em;
    line-height: 2.125;
  }
  .p-home-friends__movie a {
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
  }
  .p-home-friends__movie a:hover {
    opacity: 0.8;
  }
  .p-home-banner__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: clamp(3rem, 3.5vw, 4rem) clamp(4rem, 5vw, 5rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    padding: 4rem 0 0;
  }
  .p-home-banner__lists a {
    margin: 0;
  }
  .p-home-banner__lists > a:nth-child(1) img {
    width: auto;
    height: 45px;
  }
  .p-home-banner__lists > a:nth-child(2) img,
  .p-home-banner__lists > a:nth-child(3) img,
  .p-home-banner__lists > a:nth-child(4) img,
  .p-home-banner__lists > a:nth-child(5) img,
  .p-home-banner__lists > a:nth-child(6) img {
    width: auto;
    height: 35px;
  }
}
@media print, screen and (width <= 575px){
  .u-visible-s {
    display: inline-block;
  }
}
@media print, screen and (width >= 1200px) and (width <= 1365px){
  .u-visible-xl {
    display: inline-block;
  }
}
@media print, screen and (width >= 1366px){
  .u-visible-xxl {
    display: inline-block;
  }
}
@media print, screen and (width >= 576px) and (width <= 767.98px){
  .u-visible-sm {
    display: inline-block;
  }
}
@media print, screen and (width >= 768px) and (width <= 991px){
  .u-visible-md {
    display: inline-block;
  }
}
@media print, screen and (width >= 992px) and (width <= 1199px){
  .u-visible-lg {
    display: inline-block;
  }
}