@charset "UTF-8";
/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

RESET CSS

html5doctor.com Reset Stylesheet

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
  width: 100%;
}

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

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
} /* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
} /* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

button {
  padding: 0;
}

/* ------------------------- 使い方 ----------------------------------------------------------

    @include sizing(width, wide, 365px, sp, 276px);
    ==> width: clamp(276px, 7.46vw + 248px, 365px);
    （ビューポートがwide(1568px)のとき365px, sp(375px)のとき276pxになる自動補完値を上限下限をつけて設定）

    @include sizing(width, wide, 365px, sp, 276px, noClamp);
    ==> width: calc(7.46vw + 248px);
    （ビューポートがwide(1568px)のとき365px, sp(375px)のとき276pxになる自動補完値を設定）

    @include sizingRem(font-size, wide, 14px, sp, 12px);
    ==> font-size: clamp(0.75rem, 0.17vw + 0.70625rem, 0.875rem;
    （ビューポートがwide(1568px)のとき14px, sp(375px)のとき12pxになる自動補完値をremに変換して設定）
　　
    ※使いたいsassファイル上で@useしてください。
    ※scssファイル上での読みやすさ重視のため、mixinの引数に単位[px]が必要な仕様にしてあります。

// ---------------------------------------------------------------------------------------- */
/*
  Base
-----------------------------------------------------*/
*,
:before,
:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  scroll-behavior: smooth;
  scroll-padding-top: 2rem;
}

body {
  color: #0E3E8F;
  background-color: #B3DBEA;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-family: "Zen Maru Gothic", sans-serif, sans-serif;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-weight: 600;
}
body.is-fixed {
  overflow: hidden;
}

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

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
}

video {
  max-width: 100%;
  height: auto;
}

a,
a:link,
a:visited {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a:active,
a:hover {
  color: inherit;
  text-decoration: none;
}

ul,
ol,
li {
  list-style-type: none;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

img {
  border: 0;
  line-height: 0;
  vertical-align: bottom;
}

svg {
  vertical-align: bottom;
}

hr {
  display: none;
}

table {
  margin: 0;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
  margin: 0;
}

td {
  margin: 0;
}

em {
  font-weight: bold;
  font-style: normal;
}

form {
  margin: 0;
  padding: 0;
}

label {
  margin: 0;
  padding: 0;
}

input.btn {
  margin: 0 0.5em;
  padding: 0 1em;
}

button {
  border: none;
  font: inherit;
  line-height: inherit;
  background: none;
  margin: 0;
}

/* キーボード操作"以外"でフォーカスされた際はoutlineを消す */
.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}

/*
header
-----------------------------------------------------*/
.l-header {
  padding: 6vw 6vw 0 6vw;
  position: relative;
}
.l-header__logo {
  width: 47%;
  max-width: 180px;
}
.l-header__logo img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    width: 14rem;
    max-width: initial;
  }
}
@media screen and (min-width: 960px) {
  .l-header {
    padding: initial;
  }
}

/*
footer
-----------------------------------------------------*/
.l-footer__link-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "futura-pt-bold", sans-serif;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.8rem;
     -moz-column-gap: 0.8rem;
          column-gap: 0.8rem;
  background-color: #0E3E8F;
  padding: 1rem 0;
  position: relative;
}
.l-footer__link-wrapper .deco {
  position: absolute;
  width: 80px;
  top: -4rem;
  right: -3vw;
}
.l-footer__link-wrapper .copy-right {
  font-size: clamp(0.75rem, 0.13vw + 0.7125rem, 0.875rem);
  opacity: 0.6;
  letter-spacing: 0.04em;
  color: #fff;
}
.l-footer__link-wrapper .privacy-policy {
  font-size: clamp(0.625rem, 0.13vw + 0.5875rem, 0.75rem);
  letter-spacing: 0.04em;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .l-footer__link-wrapper {
    padding: 1.5rem 0;
  }
}
@media screen and (min-width: 960px) {
  .l-footer__link-wrapper {
    padding: 2rem 0;
  }
  .l-footer__link-wrapper .deco {
    right: 0;
    width: 120px;
    top: -6rem;
  }
}
/*
 container
-----------------------------------------------------*/
.l-container {
  width: 87vw;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .l-container {
    width: 91vw;
  }
}

.l-container-col2 {
  width: 87vw;
  margin-inline: auto;
  position: relative;
}
.l-container-col2.--small {
  width: 72vw;
}
.l-container-col2.--s-to-l {
  width: 72vw;
}
.l-container-col2.--l-to-s {
  width: 87vw;
}
.l-container-col2.--full {
  width: 100vw;
}
.l-container-col2.--full-to-l {
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .l-container-col2.--s-to-l {
    width: 62vw;
  }
  .l-container-col2.--full-to-l {
    width: 95vw;
  }
}
@media screen and (min-width: 960px) {
  .l-container-col2 {
    width: 91vw;
    padding-left: 23vw;
  }
  .l-container-col2.--s-to-l {
    width: 91vw;
    padding-left: 23vw;
  }
  .l-container-col2.--l-to-s {
    width: 87vw;
    padding-left: 26vw;
    padding-right: 6vw;
  }
  .l-container-col2.--full {
    width: 91vw;
    padding-left: 23vw;
  }
  .l-container-col2.--full-to-l {
    width: 91vw;
    padding-left: 23vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-container-col2 {
    width: 91vw;
    padding-left: 20vw;
  }
  .l-container-col2.--s-to-l {
    width: 91vw;
    padding-left: 20vw;
  }
  .l-container-col2.--l-to-s {
    width: 87vw;
    padding-left: 26vw;
    padding-right: 6vw;
  }
  .l-container-col2.--full {
    width: 91vw;
    padding-left: 20vw;
  }
  .l-container-col2.--full-to-l {
    width: 91vw;
    padding-left: 20vw;
  }
}

/*
spacer
-----------------------------------------------------*/
/*
l-spacer --medium
l-spacer --large
*/
.l-spacer--top.--medium {
  margin-top: clamp(1.5rem, 1vw + 1.25rem, 2.5rem);
}
.l-spacer--top.--large {
  margin-top: clamp(2rem, 1.75vw + 1.5625rem, 3.75rem);
}

.l-footer-spacer {
  margin-top: 150px;
}
@media screen and (min-width: 960px) {
  .l-footer-spacer {
    margin-top: 220px;
  }
}

/*
 contents
-----------------------------------------------------*/
/*
 section
-----------------------------------------------------*/
.l-section--top.--medium {
  padding-top: 17vw;
}
.l-section--top.--large {
  padding-top: 40vw;
}
@media screen and (min-width: 768px) {
  .l-section--top.--medium {
    padding-top: 14vw;
  }
  .l-section--top.--large {
    padding-top: 36vw;
  }
}
@media screen and (min-width: 960px) {
  .l-section--top.--medium {
    padding-top: 10vw;
  }
  .l-section--top.--large {
    padding-top: 25vw;
  }
}
.l-section--bottom.--medium {
  padding-top: 17vw;
}
.l-section--both.--medium {
  padding: 17vw 0;
}
@media screen and (min-width: 960px) {
  .l-section--both.--medium {
    padding: 10vw 0;
  }
}

/*
 fixed-item
-----------------------------------------------------*/
.l-fix-nav {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 960px) {
  .l-fix-nav__nav-container {
    background-color: #fff;
    position: fixed;
    padding: 2rem 1.2rem;
    left: 4vw;
    width: 14rem;
    border-radius: 1.3rem;
    top: 3vw;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: 0% 0%;
            transform-origin: 0% 0%;
  }
  .l-fix-nav__nav-container .nav-list {
    font-size: 20px;
  }
  .l-fix-nav__nav-container .nav-list .nav-item {
    font-family: "futura-pt-bold", sans-serif;
    font-weight: 700;
    line-height: 1;
    padding-left: 1.5rem;
    position: relative;
    cursor: pointer;
  }
  .l-fix-nav__nav-container .nav-list .nav-item .external-link {
    display: inline-block;
    position: relative;
  }
  .l-fix-nav__nav-container .nav-list .nav-item .external-link svg {
    width: 0.6em;
    fill: #0E3E8F;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -1em;
  }
  .l-fix-nav__nav-container .nav-list .nav-item.--top {
    margin-bottom: 1.8rem;
  }
  .l-fix-nav__nav-container .nav-list .nav-item.--top img {
    height: 1.2em;
  }
  .l-fix-nav__nav-container .nav-list .nav-item.--top:after {
    width: 0.5rem;
    height: 0.5rem;
  }
  .l-fix-nav__nav-container .nav-list .nav-item:not(:first-of-type) {
    margin-top: 0.8em;
  }
  .l-fix-nav__nav-container .nav-list .nav-item.is-current:after {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    background-color: #0E3E8F;
    border-radius: 15vw;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .l-fix-nav__link-wrapper {
    position: fixed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    right: 4vw;
    top: 3vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-fix-nav__nav-container {
    -webkit-transform: initial;
            transform: initial;
  }
}

/*
 page
-----------------------------------------------------*/
.l-page__container {
  padding-top: 40vw;
}
.l-page__title-wrapper p {
  font-size: clamp(0.9375rem, 0.75vw + 0.75rem, 1.6875rem);
}

@media screen and (min-width: 768px) {
  .l-page__container {
    padding-top: 26vw;
  }
}
@media screen and (min-width: 960px) {
  .l-page__container {
    padding-top: 12vw;
  }
  .l-page__title-wrapper {
    text-align: end;
  }
  .l-page__title-wrapper p {
    margin-top: 0.5rem;
  }
  .l-page__title-wrapper.--type2 {
    text-align: center;
  }
}
/*
title
-----------------------------------------------------*/
.c-title {
  font-weight: 700;
}
.c-title.--h1 {
  font-size: clamp(1.1875rem, 0.25vw + 1.125rem, 1.4375rem);
  line-height: 1.8;
}
.c-title.--h2 {
  font-size: clamp(1rem, 0.38vw + 0.9rem, 1.375rem);
  line-height: 1.8;
}
.c-title.--h3 {
  font-size: clamp(0.9375rem, 0.31vw + 0.8625rem, 1.25rem);
  line-height: 1.8;
}

.c-section-title {
  font-size: clamp(2.8125rem, 2.19vw + 2.2625rem, 5rem);
  line-height: 1;
  color: #B3DBEA;
  font-weight: 700;
  font-family: "futura-pt-bold", sans-serif;
  white-space: nowrap;
}
.c-section-title.--inverse {
  color: #0E3E8F;
}

.c-title--pagemain {
  font-size: clamp(2.8125rem, 4.69vw + 1.6375rem, 7.5rem);
  color: #0E3E8F;
  font-family: "futura-pt-bold", sans-serif;
  line-height: 1;
}
.c-title--pagemain.--small {
  font-size: clamp(1.875rem, 3.13vw + 1.0875rem, 5rem);
}

/*button
-----------------------------------------------------*/
.c-sns-lang-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.4em;
     -moz-column-gap: 0.4em;
          column-gap: 0.4em;
}
.c-sns-lang-wrapper.--drawer .item {
  border: 1px solid;
  border-color: rgba(255, 255, 255, 0.4);
}
.c-sns-lang-wrapper.--drawer .c-sns-lang-wrapper__lang-btn {
  color: #fff;
}
.c-sns-lang-wrapper.--drawer .c-sns-lang-wrapper__sns-link svg {
  fill: #fff;
}
.c-sns-lang-wrapper.--pc .item {
  background-color: #fff;
}
.c-sns-lang-wrapper.--pc .c-sns-lang-wrapper__lang-btn {
  color: #0E3E8F;
}
.c-sns-lang-wrapper.--pc .c-sns-lang-wrapper__sns-link svg {
  fill: #0E3E8F;
}
.c-sns-lang-wrapper__lang-toggle {
  border-radius: 15vw;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  padding: 0.7rem 1rem;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
}
.c-sns-lang-wrapper__sns-link {
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 15vw;
}
.c-sns-lang-wrapper__sns-link.--insta svg {
  width: 18px;
}
.c-sns-lang-wrapper__sns-link.--x svg {
  width: 14px;
}
.c-sns-lang-wrapper__lang-btn {
  opacity: 0.4;
}
.c-sns-lang-wrapper__lang-btn.is-selected {
  opacity: 1;
}

.c-btn-wrapper {
  margin-top: clamp(1.75rem, 3.25vw + 0.9375rem, 5rem);
}
.c-btn-wrapper.--center {
  text-align: center;
}
.c-btn-wrapper.--right {
  text-align: end;
}
@media screen and (min-width: 960px) {
  .c-btn-wrapper.--lp-left {
    text-align: left;
  }
}

.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-btn .text {
  font-size: clamp(1rem, 0.25vw + 0.9375rem, 1.25rem);
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
}
.c-btn .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #0E3E8F;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50vw;
  position: relative;
}
.c-btn .arrow:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: inherit;
  position: absolute;
  border-radius: 50vw;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.c-btn .arrow .arrow-box {
  overflow: hidden;
  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;
  position: relative;
}
.c-btn .arrow svg {
  width: 0.9rem;
  fill: #fff;
}
.c-btn .arrow svg.is-clone {
  position: absolute;
  -webkit-transform: translateX(-140%);
          transform: translateX(-140%);
}
.c-btn.--contact {
  color: #fff;
}
.c-btn.--contact .arrow {
  background-color: initial;
  border: 1px solid #fff;
}
.c-btn.--contact .arrow svg {
  fill: #fff;
}
.c-btn.--inverse .text {
  color: #fff;
}
.c-btn.--inverse .arrow {
  background-color: #fff;
}
.c-btn.--inverse .arrow svg {
  fill: #0E3E8F;
}
.c-btn__switch {
  position: relative;
  display: block;
  line-height: 1;
  overflow: hidden;
  line-height: 1;
}
.c-btn__switch span {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  display: inline-block;
}
.c-btn__switch span.dup {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  position: absolute;
  inset: 0;
}

/*------------------------------------------------------------------
スライダー操作ボタン
------------------------------------------------------------------*/
.c-slider-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.8rem;
     -moz-column-gap: 0.8rem;
          column-gap: 0.8rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 15rem;
  height: 2.5rem;
}
.c-slider-button .swiper-button-next svg, .c-slider-button .swiper-button-prev svg {
  fill: #fff;
  width: 0.6em;
}
.c-slider-button .swiper-button-next:after, .c-slider-button .swiper-button-prev:after {
  display: none;
}
.c-slider-button .swiper-button-next, .c-slider-button .swiper-button-prev {
  background-color: #0E3E8F;
  aspect-ratio: 1/1;
  color: #fff;
  border-radius: 50vw;
  position: initial;
  width: initial;
  height: 100%;
}
.c-slider-button .exhibition-count {
  background-color: #0E3E8F;
  width: 7rem;
  color: #fff;
  text-align: center;
  border-radius: 50vw;
  padding: 0.5rem;
  font-family: "futura-pt-bold", sans-serif;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}
.c-slider-button .exhibition-count span {
  width: 1em;
}
.c-slider-button .exhibition-count .total {
  color: rgba(255, 255, 255, 0.6);
}
.c-slider-button .exhibition-count:before {
  content: "";
  width: 1px;
  height: 33%;
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  right: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*button
-----------------------------------------------------*/
.c-drawer-toggle {
  padding: 0.5em 2.3em 0.5em 0.9em;
  background-color: #fff;
  line-height: 1;
  font-weight: 700;
  position: fixed;
  top: 6vw;
  right: 6vw;
  border-radius: 15vw;
  z-index: 4;
}
.c-drawer-toggle__text {
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #0E3E8F;
  position: relative;
  overflow: hidden;
  height: 1em;
}
.c-drawer-toggle__text span {
  display: block;
  -webkit-transition: margin 0.2s ease;
  transition: margin 0.2s ease;
}
.c-drawer-toggle__marker {
  width: 0.6em;
  height: 0.6em;
  background-color: #0E3E8F;
  border-radius: 15vw;
  position: absolute;
  right: 0.78em;
  top: 50%;
  translate: 0 -50%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.c-drawer {
  position: fixed;
  z-index: 3;
  inset: 0;
  pointer-events: none;
}
.c-drawer__bg {
  position: absolute;
  inset: 0;
  background-color: rgba(2, 10, 23, 0.6);
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.c-drawer .c-sns-lang-wrapper {
  margin-top: 2.8rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-drawer__logo {
  width: 47%;
  max-width: 180px;
}
.c-drawer__logo img {
  width: 100%;
}
.c-drawer__inner {
  background-color: #0E3E8F;
  z-index: 3;
  position: relative;
  color: #fff;
  padding: 10vw 6vw 6vw 6vw;
  margin-top: -4vw;
  border-radius: 0 0 8vw 8vw;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.c-drawer__nav-wrapper {
  background: #214D98;
  padding: 6vw;
  border-radius: 5vw;
  margin-top: 1.1rem;
}
.c-drawer__nav-wrapper .nav-list {
  position: relative;
}
.c-drawer__nav-wrapper .nav-item {
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  padding-left: 1.5rem;
  font-size: 20px;
  line-height: 1;
  position: relative;
}
.c-drawer__nav-wrapper .nav-item a {
  display: block;
}
.c-drawer__nav-wrapper .nav-item.is-current:before {
  content: "";
  width: 0.4em;
  height: 0.4em;
  background-color: #fff;
  border-radius: 15vw;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.c-drawer__nav-wrapper .nav-item:not(:first-of-type) {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .c-drawer__logo {
    width: 14rem;
    max-width: initial;
  }
}

.c-drawer-toggle.is-open .c-drawer-toggle__text span.menu {
  margin-top: -1em;
}
.c-drawer-toggle.is-open .c-drawer-toggle__marker {
  scale: 1.4;
}

.c-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}
.c-drawer.is-open .c-drawer__bg {
  opacity: 1;
}
.c-drawer.is-open .c-drawer__inner {
  -webkit-animation: drawer-toggle transform 0.3s ease-in-out;
          animation: drawer-toggle transform 0.3s ease-in-out;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

/*
title
-----------------------------------------------------*/
.c-scroll-indicator {
  position: absolute;
  bottom: 0;
  left: 4vw;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
.c-scroll-indicator .text {
  font-size: clamp(0.6875rem, 0.31vw + 0.6125rem, 1rem);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.c-scroll-indicator .text:before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  background-color: #0E3E8F;
  border-radius: 15vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-bottom: 0.5em;
}
.c-scroll-indicator .border {
  -webkit-animation: scroll-indicate 4s infinite;
          animation: scroll-indicate 4s infinite;
  width: 2px;
  display: block;
  height: 4rem;
  background-color: #0E3E8F;
}

/*
Bg
-----------------------------------------------------*/
.c-bg__blue {
  background-color: #0E3E8F;
}
.c-bg__light-blue {
  background-color: #B3DBEA;
}

/*list
-----------------------------------------------------*/
.c-round-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.7rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.7rem;
}
.c-round-list .item {
  border: 1px solid;
  border-color: rgba(255, 255, 255, 0.4);
  border-radius: 50vw;
  color: #fff;
}
.c-round-list .item .u-en {
  font-size: clamp(0.875rem, 0.38vw + 0.775rem, 1.25rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}
.c-round-list .item p {
  font-size: clamp(0.625rem, 0.19vw + 0.575rem, 0.8125rem);
  letter-spacing: 0.04em;
  line-height: 1;
}
.c-round-list .item .link {
  position: relative;
  padding: 0.4rem 1.1rem 0.8rem;
  display: block;
}
.c-round-list .item .arrow-box {
  width: 0.6rem;
  height: 0.6rem;
  position: absolute;
  right: 1.1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  overflow: hidden;
}
.c-round-list .item .arrow-box svg {
  fill: #fff;
  width: 100%;
  right: 0;
  position: absolute;
}
.c-round-list .item .arrow-box svg.is-clone {
  -webkit-transform: translate(-140%, 140%);
          transform: translate(-140%, 140%);
}

@media screen and (min-width: 960px) {
  .c-round-list .item .link {
    padding: 0.8rem 1.5rem 1.2rem;
  }
  .c-round-list .item .link .arrow-box {
    right: 1.5rem;
  }
}
.c-news-list__item {
  position: relative;
}
.c-news-list__item:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: rgba(14, 62, 144, 0.4);
  position: absolute;
  bottom: 0;
}
.c-news-list__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(1.5625rem, 1.56vw + 1.175rem, 3.125rem);
     -moz-column-gap: clamp(1.5625rem, 1.56vw + 1.175rem, 3.125rem);
          column-gap: clamp(1.5625rem, 1.56vw + 1.175rem, 3.125rem);
  padding: 1.5rem 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-news-list__link .img-area {
  width: clamp(5rem, 2.5vw + 4.375rem, 7.5rem);
  border-radius: 50vw;
  overflow: hidden;
  aspect-ratio: 1/1;
}
.c-news-list__link .img-area .c-hover__scale-target, .c-news-list__link .img-area .c-hover__news-target {
  height: 100%;
}
.c-news-list__link .img-area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-news-list__link .text-area {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-news-list__link .text-area .sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-size: clamp(0.75rem, 0.25vw + 0.6875rem, 1rem);
}
.c-news-list__link .text-area .sub .year {
  padding-right: 0.6em;
  margin-right: 0.6em;
  position: relative;
}
.c-news-list__link .text-area .sub .year:after {
  content: "";
  position: absolute;
  right: 0;
  width: 1px;
  height: 0.7em;
  background-color: #0E3E8F;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-news-list__link .text-area .main {
  font-size: clamp(0.9375rem, 0.31vw + 0.8625rem, 1.25rem);
  line-height: 1.8;
  margin-top: 0.5rem;
}

/*contact
-----------------------------------------------------*/
.c-contact__parent {
  position: relative;
  height: 100vh;
  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: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.c-contact__child {
  position: absolute;
  right: 50%;
  top: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  text-align: center;
}
.c-contact__child .c-contact-animation {
  width: 73vw;
  max-width: 20rem;
  margin: 0 auto;
}
.c-contact__child .c-section-title {
  margin-bottom: clamp(1.25rem, 1.25vw + 0.9375rem, 2.5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-contact__child .c-section-title .arrow {
  display: none;
  width: 0.8em;
  height: 0.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 0.2em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (min-width: 960px) {
  .c-contact__child .c-section-title .arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-contact__child .c-section-title .arrow:before {
  content: "";
  border: 1px solid #fff;
  border-radius: 50vw;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  position: absolute;
  width: 100%;
  height: 100%;
}
.c-contact__child .c-section-title .arrow svg {
  fill: #fff;
}
.c-contact__child .c-contact-button {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.5rem;
}

@media screen and (min-width: 960px) {
  .c-contact__bg {
    pointer-events: auto;
  }
  .c-contact__child {
    top: 45%;
  }
}
/*article
-----------------------------------------------------*/
.c-article > :first-child {
  margin-top: 0;
}
.c-article > :last-child {
  margin-bottom: 0;
}
.c-article h1, .c-article h2, .c-article h3, .c-article h4, .c-article h5, .c-article h6 {
  margin-top: 2em;
  margin-bottom: 0.5em;
}
.c-article h2 {
  font-size: clamp(1.0625rem, 0.44vw + 0.95rem, 1.5rem);
  line-height: 1.8;
}
.c-article h3 {
  font-size: clamp(1rem, 0.31vw + 0.925rem, 1.3125rem);
  line-height: 1.8;
}
.c-article > .wp-block-image {
  margin: 2em 0;
}
.c-article .wp-block-columns {
  gap: 0.5rem;
}
.c-article .wp-block-columns img {
  margin: initial;
  width: 100%;
}
.c-article .wp-block-image + .wp-block-image {
  margin-top: -1.5em;
}
.c-article .wp-block-image + .wp-block-columns {
  margin-top: -1.5em;
}
.c-article .wp-block-columns + .wp-block-columns {
  margin-top: 0.5em;
}
.c-article table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.c-article table tr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.c-article table td:first-of-type {
  width: 24%;
}
@media screen and (min-width: 960px) {
  .c-article table td:first-of-type {
    width: 15%;
  }
}
.c-article table td {
  padding: 1rem 0;
  vertical-align: top;
  border: initial;
}
.c-article table td {
  color: inherit;
  word-break: break-word;
}
.c-article table a {
  text-decoration: underline;
}
.c-article .wp-block-buttons .wp-block-button {
  margin-top: 1.5em;
}
.c-article .wp-block-buttons .wp-block-button__link {
  padding: 0.5em 1.5em;
  padding-right: 3rem;
  line-height: 1.5;
  background-color: #fff;
  width: 100%;
  position: relative;
  color: #0E3E8F;
}
.c-article .wp-block-buttons .wp-block-button__link:before {
  content: "";
  background: url(../img/common/icon-external.svg) no-repeat center/contain;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 0.9em;
  height: 0.9em;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  right: 1.2em;
  position: absolute;
}
.c-article .wp-block-embed__wrapper {
  aspect-ratio: 16/9;
  position: relative;
  margin-top: 3rem;
}
.c-article .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
  inset: 0;
  position: absolute;
}
.c-article ul {
  margin-top: 1rem;
}
.c-article ul li {
  padding-left: 1em;
  position: relative;
}
.c-article ul li:not(:first-of-type) {
  margin-top: 0.2em;
}
.c-article ul li:before {
  content: "";
  width: 0.4em;
  height: 0.4em;
  background-color: #0E3E8F;
  border-radius: 50vw;
  position: absolute;
  left: 0;
  top: 0.8em;
}

/*pagenation
-----------------------------------------------------*/
.c-pagenation {
  position: relative;
}
.c-pagenation .center-area {
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 0;
  position: relative;
}
.c-pagenation .c-btn {
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, 0.25vw + 0.9375rem, 1.25rem);
}
.c-pagenation .c-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
}
.c-pagenation .c-btn.--next {
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  z-index: 1;
}
.c-pagenation .c-btn.--prev {
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  z-index: 1;
}
.c-pagenation .nextpostslink {
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-pagenation .nextpostslink:after {
  background: url(../img/common/arrow.svg) no-repeat center/contain;
}
.c-pagenation .previouspostslink {
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-pagenation .previouspostslink:before {
  background: url(../img/common/arrow-left.svg) no-repeat center/contain;
}
.c-pagenation .nextpostslink, .c-pagenation .previouspostslink {
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, 0.25vw + 0.9375rem, 1.25rem);
  position: absolute;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
.c-pagenation .nextpostslink:after, .c-pagenation .previouspostslink:before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #0E3E8F;
  background-size: 35%;
  border-radius: 50vw;
}

/*
animation
-----------------------------------------------------*/
/*------------------------------------------------------------------
スクロールアニメーション
------------------------------------------------------------------*/
.c-ani__slide-row .char {
  position: relative;
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 1em;
  line-height: 1;
  -webkit-transition-delay: calc(var(--i) * 0.04s);
          transition-delay: calc(var(--i) * 0.04s);
}
.c-ani__slide-row .char:before, .c-ani__slide-row .char:after {
  content: attr(data-ch);
  display: inline-block;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  will-change: transform, opacity;
}
.c-ani__slide-row.is-fire .char:before {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-delay: calc(var(--i) * var(--stagger, 0.04s));
          transition-delay: calc(var(--i) * var(--stagger, 0.04s));
}
.c-ani__slide-row.is-fire .char:after {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-delay: calc(var(--i) * var(--stagger, 0.04s) + 0.04s);
          transition-delay: calc(var(--i) * var(--stagger, 0.04s) + 0.04s);
}
.c-ani__swing.is-fire {
  -webkit-animation: swing 0.4s ease-in-out;
          animation: swing 0.4s ease-in-out;
}

.c-appear__slideup {
  overflow: hidden;
}
.c-appear__slideup .c-appear__slideup-target {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  display: block;
}
.c-appear__slideup.is-fire .c-appear__slideup-target {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

/*------------------------------------------------------------------
ホバーアニメーション
------------------------------------------------------------------*/
@media (hover: hover) and (pointer: fine) {
  .c-round-list .item:hover {
    border-color: #fff;
  }
  .c-round-list .item:hover .arrow-box svg {
    -webkit-transform: translate(100%, -100%);
            transform: translate(100%, -100%);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-round-list .item:hover .arrow-box svg.is-clone {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-btn:hover .arrow:before {
    scale: 1.2;
  }
  .c-btn:hover svg {
    -webkit-transform: translateX(100%) !important;
            transform: translateX(100%) !important;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-btn:hover svg.is-clone {
    -webkit-transform: translateX(0%) !important;
            transform: translateX(0%) !important;
  }
  .c-btn.--prev svg {
    -webkit-transform: translateX(0%) !important;
            transform: translateX(0%) !important;
  }
  .c-btn.--prev svg.is-clone {
    -webkit-transform: translateX(100%) !important;
            transform: translateX(100%) !important;
  }
  .c-btn.--prev:hover svg {
    -webkit-transform: translateX(-100%) !important;
            transform: translateX(-100%) !important;
  }
  .c-btn.--prev:hover svg.is-clone {
    -webkit-transform: translateX(0%) !important;
            transform: translateX(0%) !important;
  }
  /*------------------------------------------------------------------
  展示一覧
  -------------------------------------------------------------------*/
  .p-exhibition-item {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    overflow: hidden;
    position: relative;
  }
  .p-exhibition-item .p-exhibition-item__toggle {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .p-exhibition-item .p-exhibition-item__toggle .state {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .p-exhibition-item .p-exhibition-item__toggle .state:before {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .p-exhibition-item:hover {
    border-bottom: 1px solid transparent;
    border-top: 1px solid transparent;
  }
  .p-exhibition-item:hover:after {
    opacity: 0;
  }
  .p-exhibition-item:hover .p-exhibition-item__inner {
    background-color: #0E3E8F;
  }
  .p-exhibition-item:hover + .p-exhibition-item {
    border-top: 1px solid transparent;
  }
  .p-exhibition-item:hover .p-exhibition-item__title-wrapper .main {
    color: #b3dbea;
  }
  .p-exhibition-item:hover .p-exhibition-item__title-wrapper .sub {
    color: #fff;
  }
  .p-exhibition-item:hover .p-exhibition-item__title-wrapper .sub .year:after {
    background-color: #fff;
  }
  .p-exhibition-item:hover .p-exhibition-item__title-wrapper .p-exhibition-item__toggle {
    border: 1px solid #fff;
  }
  .p-exhibition-item:hover .p-exhibition-item__title-wrapper .p-exhibition-item__toggle .state {
    background-color: #fff;
  }
  /*------------------------------------------------------------------
  汎用アニメーション
  ------------------------------------------------------------------*/
  .c-hover__news .c-hover__news-target {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    height: 100%;
  }
  .c-hover__news:hover .c-hover__news-target {
    scale: 1.2;
  }
  .c-hover__icon {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .c-hover__icon:hover {
    scale: 1.2;
  }
  .c-hover__arrow-box-wrapper .arrow-box {
    position: relative;
    overflow: hidden;
    width: 1rem;
    height: 1rem;
  }
  .c-hover__arrow-box-wrapper .arrow-box svg {
    position: absolute;
    inset: 0;
    top: 50%;
    width: 100%;
  }
  .c-hover__arrow-box-wrapper .arrow-box svg:first-of-type {
    -webkit-transform: translate(-140%, -50%);
            transform: translate(-140%, -50%);
  }
  .c-hover__arrow-box-wrapper .arrow-box svg:last-of-type {
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
  .c-hover__arrow-box-wrapper:hover .arrow:before {
    scale: 1.2;
  }
  .c-hover__arrow-box-wrapper:hover .c-hover_arrow-box-parent-target svg:first-of-type {
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .c-hover__arrow-box-wrapper:hover .c-hover_arrow-box-parent-target svg:last-of-type {
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
  .c-hover__switch:hover span {
    -webkit-transition: -webkit-transform 0.25s;
    transition: -webkit-transform 0.25s;
    transition: transform 0.25s;
    transition: transform 0.25s, -webkit-transform 0.25s;
  }
  .c-hover__switch:hover span:first-child {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  .c-hover__switch:hover span.dup {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .l-fix-nav .nav-item:before {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    background-color: #0E3E8F;
    border-radius: 15vw;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    opacity: 0;
    scale: 0.8;
  }
  .l-fix-nav .nav-item.--top:before {
    width: 0.6rem;
    height: 0.6rem;
  }
  .l-fix-nav .nav-item:hover:before {
    opacity: 1;
    scale: 1;
  }
}
/*------------------------------------------------------------------
コンポーネント
------------------------------------------------------------------*/
.c-anker-link {
  position: fixed;
  bottom: 5vw;
  right: 5vw;
  z-index: 3;
  width: clamp(3.75rem, 3.13vw + 2.9625rem, 6.875rem);
  opacity: 0;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 960px) {
  .c-anker-link {
    bottom: 2vw;
    right: 2vw;
  }
}
.c-anker-link.is-active {
  opacity: 1;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  -webkit-animation: float 2s ease-in-out infinite;
          animation: float 2s ease-in-out infinite;
}

.c-loading {
  position: fixed;
  pointer-events: auto;
  inset: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  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;
}
.c-loading.is-loaded {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.c-loading.op-skip {
  display: none !important;
}
.c-loading__bg {
  position: absolute;
  inset: 0;
  background: #0E3E8F;
  z-index: -1;
}
.c-loading__cont {
  display: block;
  text-align: center;
}
.c-loading__cont .text-area {
  font-size: clamp(1.25rem, 0.75vw + 1.0625rem, 2rem);
  font-family: "futura-pt-bold", sans-serif;
  color: #B3DBEA;
  margin-bottom: 1em;
  font-weight: 700;
  line-height: 1;
}
.c-loading__cont .text-area .char {
  -webkit-animation: waveY 1.8s ease-in-out infinite;
          animation: waveY 1.8s ease-in-out infinite;
  display: inline-block;
  -webkit-animation-delay: calc(var(--i) * 0.1s);
          animation-delay: calc(var(--i) * 0.1s);
}
.c-loading__cont .img-area {
  width: clamp(6.25rem, 4.38vw + 5.15rem, 10.625rem);
}
.c-loading__cont .img-area img {
  width: 100%;
}

#page-wipe {
  position: fixed;
  inset: 0;
  height: 100vh;
  background: #0E3E8F;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  pointer-events: none;
  z-index: 9999;
}

/* クリック後：画面を覆う（下→上へ上がる） */
html.is-leaving #page-wipe {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* 次ページ初期：覆った状態から */
html.wipe-cover #page-wipe {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

/* 次ページで：上へ抜けて消える（下→上へ去る） */
html.is-entering #page-wipe {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/*
-----------------------------------------------------*/
/*
  Responsive
-----------------------------------------------------*/
.u-tab-visible {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .u-tab-visible {
    display: block !important;
  }
}

@media screen and (min-width: 768px) {
  .u-tab-hidden {
    display: none !important;
  }
}

.u-lap-visible {
  display: none !important;
}
@media screen and (min-width: 960px) {
  .u-lap-visible {
    display: block !important;
  }
}

@media screen and (min-width: 960px) {
  .u-lap-hidden {
    display: none !important;
  }
}

/*
  Screen Reader Text
-----------------------------------------------------*/
.screen-reader-text {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
}

/*
  Z-index
-----------------------------------------------------*/
/*
使用例

.modal {
  z-index: z('modal');
}

*/
/*
  Utility
-----------------------------------------------------*/
.u-mt-1e {
  margin-top: 1em !important;
}

.u-mt-1rem {
  margin-top: 1rem !important;
}

.u-mt-2rem {
  margin-top: 2rem !important;
}

.u-mt-3rem {
  margin-top: 3rem !important;
}

.u-en {
  font-family: "futura-pt-bold", sans-serif;
}

.u-ta-center {
  text-align: center !important;
}

.u-ta-right {
  text-align: right !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-uppercase {
  text-transform: uppercase !important;
}

.u-ls-small {
  letter-spacing: 0.04em !important;
}

.u-ls-large {
  letter-spacing: 0.2em !important;
}

.u-border {
  text-decoration: underline !important;
}

.u-external-link {
  display: inline-block;
  position: relative;
}
.u-external-link svg {
  width: 0.6em;
  fill: #ffffff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -1em;
}

/*
  Animation
-----------------------------------------------------*/
/*-----------------------------------------------------
主要コンポーネント
-----------------------------------------------------*/
@-webkit-keyframes drawer-toggle {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  70% {
    -webkit-transform: translateY(5%);
            transform: translateY(5%);
  }
  85% {
    -webkit-transform: translateY(5%);
            transform: translateY(5%);
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
@keyframes drawer-toggle {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  70% {
    -webkit-transform: translateY(5%);
            transform: translateY(5%);
  }
  85% {
    -webkit-transform: translateY(5%);
            transform: translateY(5%);
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
/*-----------------------------------------------------
共有コンポーネント
-----------------------------------------------------*/
@-webkit-keyframes scroll-indicate {
  0% {
    clip-path: inset(0% 0% 100% 0%);
  }
  25% {
    clip-path: inset(0% 0% 0% 0);
  }
  85% {
    clip-path: inset(0% 0 0% 0%);
  }
  100% {
    clip-path: inset(100% 0% 0% 0%);
  }
}
@keyframes scroll-indicate {
  0% {
    clip-path: inset(0% 0% 100% 0%);
  }
  25% {
    clip-path: inset(0% 0% 0% 0);
  }
  85% {
    clip-path: inset(0% 0 0% 0%);
  }
  100% {
    clip-path: inset(100% 0% 0% 0%);
  }
}
@-webkit-keyframes bounce {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  25% {
    -webkit-transform: scaleY(0.8);
            transform: scaleY(0.8);
  }
  50% {
    -webkit-transform: scaleY(0.8);
            transform: scaleY(0.8);
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
}
@keyframes bounce {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  25% {
    -webkit-transform: scaleY(0.8);
            transform: scaleY(0.8);
  }
  50% {
    -webkit-transform: scaleY(0.8);
            transform: scaleY(0.8);
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
}
@-webkit-keyframes swing {
  0% {
    rotate: 4deg;
  }
  25% {
    rotate: -4deg;
  }
  50% {
    rotate: 4deg;
  }
  75% {
    rotate: -4deg;
  }
  100% {
    rotate: 4deg;
  }
}
@keyframes swing {
  0% {
    rotate: 4deg;
  }
  25% {
    rotate: -4deg;
  }
  50% {
    rotate: 4deg;
  }
  75% {
    rotate: -4deg;
  }
  100% {
    rotate: 4deg;
  }
}
@-webkit-keyframes float {
  0% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
  50% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
}
@keyframes float {
  0% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
  50% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
}
@-webkit-keyframes waveY {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  30% {
    -webkit-transform: translateY(-0.4em);
            transform: translateY(-0.4em);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes waveY {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  30% {
    -webkit-transform: translateY(-0.4em);
            transform: translateY(-0.4em);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/*home
-----------------------------------------------------*/
.p-top-hero {
  height: calc(100svh - 50px);
  position: relative;
}
.p-top-hero__img-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 68vw;
  max-width: 28.5rem;
}
.p-top-hero__img-wrapper .p-top-hero__img-item {
  display: none;
}
.p-top-hero__img-wrapper .p-top-hero__img-item.is-active {
  display: block;
}
.p-top-hero__event-wrapper {
  position: absolute;
  bottom: 6vw;
  right: 6vw;
  width: 75vw;
  max-width: 18rem;
}
.p-top-hero__event-wrapper .c-title {
  font-size: clamp(1.5rem, 0.63vw + 1.3375rem, 2.125rem);
}
.p-top-hero__event-wrapper .c-date-range {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 0.2em);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top-hero__event-wrapper .c-date-range__item {
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
}
.p-top-hero__event-wrapper .c-date-range__item.--start {
  margin-right: 0.7rem;
}
.p-top-hero__event-wrapper .c-date-range__item.--end {
  margin-left: 0.7rem;
}
.p-top-hero__event-wrapper .c-date-range__item .month {
  font-size: clamp(1rem, 0.25vw + 0.9375rem, 1.25rem);
}
.p-top-hero__event-wrapper .c-date-range__item .week {
  font-size: clamp(0.8125rem, 0.25vw + 0.75rem, 1.0625rem);
}
.p-top-hero__event-wrapper .c-date-range .progress-bar {
  height: 2px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
.p-top-hero__event-wrapper .c-date-range .progress-bar__parent {
  background-color: #0E3E8F;
  opacity: 0.2;
  display: block;
  height: 100%;
}
.p-top-hero__event-wrapper .c-date-range .progress-bar__child {
  position: absolute;
  height: 100%;
  background-color: #0E3E8F;
  top: 0;
}
.p-top-hero__event-wrapper .event-link {
  background-color: #0E3E8F;
  padding: 0.4em 1em;
  border-radius: 15vw;
  color: #fff;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.4rem;
  font-size: clamp(0.875rem, 0.19vw + 0.825rem, 1.0625rem);
  position: relative;
}
.p-top-hero__event-wrapper .event-link span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 0.5rem;
  margin-right: 1.8rem;
  position: relative;
  width: 100%;
}
.p-top-hero__event-wrapper .event-link span:after {
  position: absolute;
  content: "";
  width: 1px;
  height: 1em;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.4);
}
.p-top-hero__event-wrapper .event-link svg {
  width: 0.9em;
  fill: #fff;
  position: absolute;
  right: 1.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .p-top-hero {
    height: calc(100svh - 90px);
  }
  .p-top-hero__event-wrapper {
    bottom: 4vw;
  }
  .p-top-hero__img-wrapper {
    top: calc(50% - 3rem);
  }
}

@media screen and (min-width: 960px) {
  .p-top-hero {
    height: 100svh;
  }
  .p-top-hero__event-wrapper {
    bottom: 2.5rem;
    right: 4vw;
  }
  .p-top-hero__nav-container {
    background-color: #fff;
    position: fixed;
    padding: 2rem 1rem;
    left: 4vw;
    width: 14rem;
    border-radius: 8%;
  }
  .p-top-hero__img-wrapper {
    top: 50%;
  }
}

.p-top-gallery__wrapper {
  position: relative;
}
.p-top-gallery__wrapper .title-area {
  position: absolute;
  z-index: 2;
  top: -1.5rem;
  padding: 0.5em 1.5em 0.5em 0;
  background-color: #0e3e8f;
  border-radius: 0 15vw 15vw 0;
}
.p-top-gallery__wrapper .title-area .section-title {
  color: #B3DBEA;
  font-size: clamp(1.125rem, 1.13vw + 0.8375rem, 2.25rem);
  display: inline-block;
  font-weight: 600;
  font-family: "futura-pt-bold", sans-serif;
}
.p-top-gallery__wrapper .title-area .sub-title {
  color: #fff;
  font-size: clamp(0.9375rem, 0.31vw + 0.8625rem, 1.25rem);
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-top-gallery__wrapper .title-area {
    top: -4rem;
    padding: 1.7em 4em 1.7em 0;
  }
}
.p-top-gallery__wrapper .gallery-area .swiper {
  width: 100%;
  height: 100%;
}
.p-top-gallery__wrapper .gallery-area .swiper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-gallery .c-slider-button-wrapper {
  z-index: 1;
  margin-top: -21px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top-gallery .c-slider-button-wrapper .sub-title {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 0.7rem;
  -webkit-column-gap: 0.4rem;
     -moz-column-gap: 0.4rem;
          column-gap: 0.4rem;
}
@media screen and (min-width: 768px) {
  .p-top-gallery .c-slider-button-wrapper {
    position: absolute;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    bottom: 1.3rem;
  }
  .p-top-gallery .c-slider-button-wrapper .sub-title {
    display: none;
  }
}
.p-top-gallery .c-slider-button .exhibition-count, .p-top-gallery .c-slider-button .swiper-button-next, .p-top-gallery .c-slider-button .swiper-button-prev {
  border: 1px solid rgba(255, 255, 255, 0.2);
}
@media screen and (min-width: 768px) {
  .p-top-gallery .c-slider-button {
    bottom: 1.1rem;
  }
  .p-top-gallery .c-slider-button .exhibition-count, .p-top-gallery .c-slider-button .swiper-button-next, .p-top-gallery .c-slider-button .swiper-button-prev {
    border: initial;
  }
}
.p-top-gallery .deco-illustration {
  width: 110px;
  position: absolute;
  bottom: -1.5rem;
  z-index: 1;
  right: 1rem;
}

.p-top-profile {
  text-align: center;
}
.p-top-profile__icon {
  width: clamp(6.875rem, 4.38vw + 5.775rem, 11.25rem);
  margin: 0 auto;
}
.p-top-profile__body .head {
  font-size: clamp(1.375rem, 0.63vw + 1.2125rem, 2rem);
  line-height: 1;
  color: #fff;
  font-weight: 700;
}
.p-top-profile__desc {
  text-align: left;
  color: #fff;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-top-profile__desc {
    text-align: center;
  }
}

/*------------------------------------------------------------------
制作実績
------------------------------------------------------------------*/
.p-top-works .c-section-title {
  text-align: center;
}
.p-top-works .flex-wrapper .img-area {
  border-radius: 50vw;
  overflow: hidden;
}
.p-top-works .flex-wrapper .img-area .img-item img {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-top-works .flex-wrapper .categories-area .list {
  font-size: clamp(1.0625rem, 0.44vw + 0.95rem, 1.5rem);
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.8em;
     -moz-column-gap: 0.8em;
          column-gap: 0.8em;
  overflow: scroll;
  margin-top: 2rem;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.p-top-works .flex-wrapper .categories-area .list .item {
  color: #B3DBEA;
  opacity: 0.4;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  scroll-snap-align: center;
  white-space: nowrap;
}
.p-top-works .flex-wrapper .categories-area .list .item.is-active {
  opacity: 1;
}
.p-top-works .flex-wrapper .categories-area .c-btn {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 960px) {
  .p-top-works .c-section-title {
    text-align: left;
  }
  .p-top-works .scroll-container {
    position: relative;
  }
  .p-top-works .flex-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 8%;
       -moz-column-gap: 8%;
            column-gap: 8%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-top-works .flex-wrapper .img-area {
    width: 54%;
  }
  .p-top-works .flex-wrapper .img-area img {
    width: 100%;
  }
  .p-top-works .flex-wrapper .categories-area {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-top-works .flex-wrapper .categories-area .list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: initial;
  }
  .p-top-works .flex-wrapper .categories-area .c-btn {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

/*------------------------------------------------------------------
展示
------------------------------------------------------------------*/
.p-top-exhibition {
  position: relative;
  overflow: hidden;
}
.p-top-exhibition__title .c-section-title {
  text-align: center;
}
.p-top-exhibition__swiper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-top-exhibition__swiper .swiper-container {
  width: 175vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  overflow: visible;
  padding-bottom: 3.5rem;
}
.p-top-exhibition__swiper .swiper {
  aspect-ratio: 1/1;
  width: 47vw;
  position: relative;
}
.p-top-exhibition__swiper .swiper:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(2, 10, 23, 0.6);
  z-index: 2;
}
.p-top-exhibition__swiper .swiper:nth-of-type(1) {
  display: none;
}
.p-top-exhibition__swiper .swiper.is-active {
  width: 73vw;
}
.p-top-exhibition__swiper .swiper.is-active:before {
  opacity: 0;
}
.p-top-exhibition__swiper .swiper .swiper-slide {
  position: absolute;
  top: 0;
}
.p-top-exhibition__swiper .swiper .swiper-slide .img {
  aspect-ratio: 1/1;
}
.p-top-exhibition__swiper .swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-exhibition:after {
  content: "";
  width: 100%;
  position: absolute;
  height: 180px;
  background-color: #B3DBEA;
  bottom: 0;
  z-index: 0;
}
.p-top-exhibition .c-btn-wrapper .c-btn {
  z-index: 2;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-top-exhibition .pagination-wrapper {
  z-index: 2;
  position: relative;
  margin: -1.5rem auto 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: -75px;
}
.p-top-exhibition .exhibition-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 0.6rem;
}

@media screen and (min-width: 768px) {
  .p-top-exhibition__swiper .swiper.is-active {
    width: 62vw;
  }
  .p-top-exhibition__swiper .swiper:nth-of-type(1) {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .p-top-exhibition__title {
    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;
  }
  .p-top-exhibition__swiper .swiper-container {
    width: 117vw;
    margin-right: -16vw;
    -webkit-column-gap: clamp(0.5rem, 1vw + 0.25rem, 1.5rem);
       -moz-column-gap: clamp(0.5rem, 1vw + 0.25rem, 1.5rem);
            column-gap: clamp(0.5rem, 1vw + 0.25rem, 1.5rem);
  }
  .p-top-exhibition__swiper .swiper {
    width: 26vw;
  }
  .p-top-exhibition__swiper .swiper.is-active {
    width: 34vw;
  }
  .p-top-exhibition__swiper .swiper:nth-of-type(1) {
    display: block;
  }
}
/*------------------------------------------------------------------
オンラインショップ
------------------------------------------------------------------*/
.p-top-shop {
  position: relative;
  overflow: hidden;
}
.p-top-shop__container {
  padding: 0 6vw;
  margin: 10vw 0;
  background-color: #0E3E8F;
  position: relative;
}
.p-top-shop .c-section-title .link {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-top-shop .c-section-title .link svg {
  width: 0.7rem;
  margin-left: 0.7rem;
  fill: #fff;
  margin-top: 0.5rem;
}
.p-top-shop .p-top-shop-deco {
  width: 53vw;
  aspect-ratio: 1/1;
  background-color: #0E3E8F;
  border-radius: 50vw;
  position: absolute;
  z-index: -1;
}
.p-top-shop .p-top-shop-deco.--above {
  top: -10vw;
}
.p-top-shop .p-top-shop-deco.--below {
  bottom: -10vw;
}
.p-top-shop .p-top-shop-deco.--01 {
  left: -7vw;
}
.p-top-shop .p-top-shop-deco.--02 {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-top-shop .p-top-shop-deco.--03 {
  right: -7vw;
}
.p-top-shop__content-wrapper .img-area {
  width: 62%;
  margin: -7% 0 7% auto;
  max-width: 17rem;
}

@media screen and (min-width: 768px) {
  .p-top-shop__container {
    padding: 4vw 6vw;
  }
  .p-top-shop__content-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-align: end;
        -ms-flex-align: end;
            align-items: end;
    padding-top: 7%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p-top-shop__content-wrapper .img-area {
    width: 35%;
    margin: initial;
    max-width: initial;
  }
  .p-top-shop__content-wrapper .categories-area {
    width: 58%;
  }
}
@media screen and (min-width: 960px) {
  .p-top-shop__container {
    margin: 6vw 10vw 6vw 34vw;
    padding: 2vw 0 0 0;
  }
  .p-top-shop .c-section-title .link svg {
    margin-top: 0.8rem;
    width: 0.8rem;
    margin-left: 0.9rem;
  }
  .p-top-shop__content-wrapper {
    padding-top: 9%;
  }
  .p-top-shop__content-wrapper .img-area {
    margin: 0 -2vw 0w 0;
    width: 36%;
  }
  .p-top-shop .p-top-shop-deco {
    width: 35vw;
  }
  .p-top-shop .p-top-shop-deco.--above {
    top: -6vw;
  }
  .p-top-shop .p-top-shop-deco.--below {
    bottom: -6vw;
  }
  .p-top-shop .p-top-shop-deco.--01 {
    left: -6vw;
  }
  .p-top-shop .p-top-shop-deco.--03 {
    right: -6vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-top-shop__container {
    margin: 6vw 10vw 6vw 30vw;
  }
  .p-top-shop .p-top-shop-deco {
    width: 31vw;
  }
}
/*------------------------------------------------------------------
お知らせ
------------------------------------------------------------------*/
.p-top-news__deco {
  position: absolute;
  width: 37%;
  right: 0;
  top: -20vw;
  max-width: 13rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__deco {
    width: 27%;
  }
}
@media screen and (min-width: 960px) {
  .p-top-news__deco {
    max-width: 12rem;
    top: -13vw;
  }
}
.p-top-news__head .category-list {
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-size: clamp(0.8125rem, 0.25vw + 0.75rem, 1.0625rem);
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
.p-top-news__head .category-list .item {
  opacity: 0.4;
}
.p-top-news__head .category-list .item.is-active {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .p-top-news__head .category-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: initial;
  }
}
@media screen and (min-width: 960px) {
  .p-top-news__head .category-list {
    margin-top: 2.7rem;
  }
}
.p-top-news__body {
  margin-top: 2rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 768px) {
  .p-top-news__body {
    margin-top: 3.5rem;
  }
}
@media screen and (min-width: 960px) {
  .p-top-news__body {
    margin-top: 6.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-news__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 10%;
       -moz-column-gap: 10%;
            column-gap: 10%;
  }
}
@media screen and (min-width: 960px) {
  .p-top-news__wrapper {
    padding-left: 6vw;
  }
}

/*exhibition
-----------------------------------------------------*/
.p-exhibition__loading-button {
  width: clamp(12.5rem, 13.13vw + 9.2125rem, 25.625rem);
  background-color: #fff;
  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: 1rem;
  border-radius: 50vw;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  margin: auto;
  color: #0E3E8F;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
}
.p-exhibition__loading-button svg {
  fill: #0E3E8F;
  width: 0.8em;
}
.p-exhibition__modal-wrapper {
  position: fixed;
  inset: 0;
  background-color: rgba(2, 10, 23, 0.6);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
}
.p-exhibition__modal-wrapper.is-open {
  opacity: 1;
  pointer-events: auto;
}
.p-exhibition__modal-wrapper .inner {
  margin: 0.5rem;
  overflow: auto;
  height: calc(100vh - 2rem);
}
.p-exhibition__modal-wrapper .inner .modal-close {
  width: clamp(3.5rem, 4vw + 2.5rem, 7.5rem);
  aspect-ratio: 1/1;
  border-radius: 50vw;
  background-color: #0E3E8F;
  position: fixed;
  right: 1.5rem;
  top: 1.5rem;
  cursor: pointer;
}
.p-exhibition__modal-wrapper .inner .modal-close:before, .p-exhibition__modal-wrapper .inner .modal-close:after {
  content: "";
  width: 32%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}
.p-exhibition__modal-wrapper .inner .modal-close:before {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.p-exhibition__modal-wrapper .inner .modal-close:after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.p-exhibition__modal-wrapper .inner .modal-item img {
  width: 100%;
  height: 10%;
}
@media screen and (min-width: 960px) {
  .p-exhibition__modal-wrapper .inner {
    margin: 1rem;
  }
  .p-exhibition__modal-wrapper .inner .modal-close {
    right: 2rem;
    top: 2rem;
  }
}

.p-exhibition-item {
  border-top: 1px solid rgba(14, 62, 144, 0.4);
  position: relative;
}
.p-exhibition-item .p-exhibition-item__inner {
  border-radius: clamp(1.375rem, 1.13vw + 1.0875rem, 2.5rem);
}
.p-exhibition-item:last-of-type:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: rgba(14, 62, 144, 0.4);
  position: absolute;
  bottom: 0;
}
.p-exhibition-item__toggle {
  position: absolute;
  right: 6vw;
  top: 5vw;
  border-radius: 50vw;
  border: 1px solid #0E3E8F;
  width: clamp(3.5rem, 4vw + 2.5rem, 7.5rem);
  aspect-ratio: 1/1;
}
.p-exhibition-item__toggle .state {
  width: 32%;
  height: 1px;
  background-color: #0E3E8F;
  position: absolute;
  right: 50%;
  top: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.p-exhibition-item__toggle .state:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: inherit;
  rotate: 90deg;
  display: block;
}
.p-exhibition-item__toggle-wrapper {
  padding: 0 6vw 6vw;
  display: none;
  overflow: hidden;
}
.p-exhibition-item__title-wrapper {
  padding: 5vw 20vw 6vw 6vw;
  width: 100%;
  text-align: left;
  position: relative;
}
.p-exhibition-item__title-wrapper .main {
  font-size: clamp(1.4375rem, 1.19vw + 1.1375rem, 2.625rem);
  color: #0E3E8F;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-exhibition-item__title-wrapper .sub {
  color: #0E3E8F;
  font-size: clamp(0.6875rem, 0.31vw + 0.6125rem, 1rem);
  margin-top: 0.1rem;
}
.p-exhibition-item__title-wrapper .sub .year {
  padding-right: 0.5em;
  margin-right: 0.4em;
  position: relative;
}
.p-exhibition-item__title-wrapper .sub .year:after {
  content: "";
  position: absolute;
  right: 0;
  width: 1px;
  height: 0.8em;
  background-color: inherit;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #0E3E8F;
}
.p-exhibition-item__gallery-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3px;
}
.p-exhibition-item__gallery-wrapper .main-area {
  aspect-ratio: 6/4;
  position: relative;
  cursor: pointer;
}
.p-exhibition-item__gallery-wrapper .main-area img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-exhibition-item__gallery-wrapper .main-area .scale-icon {
  width: clamp(3rem, 2vw + 2.5rem, 5rem);
  position: absolute;
  right: 0;
  bottom: 0;
}
.p-exhibition-item__gallery-wrapper .sub-area .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3px 1fr 3px 1fr 3px 1fr 3px 1fr;
  grid-template-columns: repeat(5, 1fr);
  gap: 3px;
}
.p-exhibition-item__gallery-wrapper .sub-area .list .item {
  aspect-ratio: 1/1;
  position: relative;
  cursor: pointer;
}
.p-exhibition-item__gallery-wrapper .sub-area .list .item.is-active:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #0E3E8F;
  opacity: 0.6;
}
.p-exhibition-item__gallery-wrapper .sub-area .list .item img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.p-exhibition-item__info-area {
  margin-top: 1.2rem;
  color: #fff;
  color: #fff;
}
.p-exhibition-item__info-area .inner {
  background-color: rgba(255, 255, 255, 0.0784313725);
  padding: 1rem;
  border-radius: 0.7rem;
}
.p-exhibition-item__info-area .head {
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-weight: 700;
}
.p-exhibition-item__info-area .body {
  margin-top: 0.8rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.p-exhibition-item__info-area .body .list .item:not(:first-of-type) {
  margin-top: 0.5rem;
}
.p-exhibition-item__info-area .body .list .item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-exhibition-item__info-area .body .list .item-wrapper .term {
  width: 28%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  opacity: 0.6;
  font-family: "futura-pt-bold", sans-serif;
  font-size: clamp(0.75rem, 0.19vw + 0.7rem, 0.9375rem);
  max-width: 8rem;
  letter-spacing: 0.04em;
}
.p-exhibition-item__info-area .body .list .item-wrapper .term img {
  margin-right: 0.4rem;
  width: 0.8em;
}
.p-exhibition-item__info-area .body .list .item-wrapper .desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.5;
}
.p-exhibition-item__info-area .body .list .item-wrapper .desc a {
  text-decoration: underline;
}
.p-exhibition-item__info-area .body .list .item-wrapper .desc a + a {
  margin-right: 0.8rem;
}

@media screen and (min-width: 768px) {
  .p-exhibition-item__gallery-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .p-exhibition-item__gallery-wrapper .sub-area {
    width: 21%;
  }
  .p-exhibition-item__gallery-wrapper .sub-area .list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .p-exhibition-item__gallery-wrapper .main-area {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-exhibition-item__info-area .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-exhibition-item__info-area .head {
    width: 33%;
  }
  .p-exhibition-item__info-area .body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: initial;
    padding-top: initial;
    border-top: initial;
  }
}
@media screen and (min-width: 960px) {
  .p-exhibition-item__title-wrapper {
    padding: 3vw 12vw 3vw 3vw;
  }
  .p-exhibition-item__toggle-wrapper {
    padding: 0 3vw 3vw;
  }
  .p-exhibition-item__toggle {
    right: 3vw;
    top: 2.3vw;
  }
  .p-exhibition-item__gallery-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3px;
  }
  .p-exhibition-item__gallery-wrapper .sub-area {
    width: 21%;
  }
  .p-exhibition-item__gallery-wrapper .sub-area .list {
    -ms-grid-columns: 1fr 3px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
  }
  .p-exhibition-item__gallery-wrapper .main-area {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-exhibition-item__info-area {
    margin-top: 1.2rem;
    color: #fff;
  }
  .p-exhibition-item__info-area .inner {
    padding: 1.7rem;
    border-radius: 1.1rem;
  }
  .p-exhibition-item__info-area .body .list .item:not(:first-of-type) {
    margin-top: 1rem;
  }
  .p-exhibition-item__info-area .body .list .item-wrapper .term {
    width: 28%;
  }
}
.p-exhibition-item.is-active {
  border-top: 1px solid #B3DBEA;
}
.p-exhibition-item.is-active + .p-exhibition-item {
  border-top: 1px solid #B3DBEA;
}
.p-exhibition-item.is-active .p-exhibition-item__inner {
  background-color: #0E3E8F;
}
.p-exhibition-item.is-active:last-of-type {
  border-bottom: 1px solid #B3DBEA;
}
.p-exhibition-item.is-active .p-exhibition-item__toggle {
  border: 1px solid rgba(255, 255, 255, 0.3019607843);
}
.p-exhibition-item.is-active .p-exhibition-item__toggle .state {
  background-color: #fff;
}
.p-exhibition-item.is-active .p-exhibition-item__toggle .state:before {
  rotate: 0deg;
}
.p-exhibition-item.is-active .p-exhibition-item__title-wrapper .main {
  color: #B3DBEA;
}
.p-exhibition-item.is-active .p-exhibition-item__title-wrapper .sub {
  color: #fff;
}
.p-exhibition-item.is-active .p-exhibition-item__title-wrapper .sub .year:after {
  background-color: #fff;
}
.p-exhibition-item.is-active .p-exhibition-item__toggle-wrapper {
  display: block;
}
@media screen and (min-width: 960px) {
  .p-exhibition-item.is-active {
    border-radius: 2.5vw;
  }
}

/*news
-----------------------------------------------------*/
.p-news__head .category-list {
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-size: clamp(0.8125rem, 0.25vw + 0.75rem, 1.0625rem);
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
.p-news__head .category-list .item {
  opacity: 0.4;
}
.p-news__head .category-list .item.is-active {
  opacity: 1;
}

@media screen and (min-width: 960px) {
  .p-news__head .category-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-news-single .head-wrapper .outline-area .detail {
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-size: clamp(0.75rem, 0.25vw + 0.6875rem, 1rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-news-single .head-wrapper .outline-area .detail .time {
  padding-right: 0.6em;
  margin-right: 0.6em;
  position: relative;
}
.p-news-single .head-wrapper .outline-area .detail .time:after {
  content: "";
  position: absolute;
  right: 0;
  width: 1px;
  height: 0.7em;
  background-color: #0E3E8F;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-news-single .head-wrapper .outline-area .title {
  font-size: clamp(1.0625rem, 0.69vw + 0.8875rem, 1.75rem);
  line-height: 1.8;
  margin-top: 0.5rem;
}
.p-news-single .head-wrapper .thumbnail-area {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-top: 1.3rem;
  aspect-ratio: 16/9;
}
.p-news-single .head-wrapper .thumbnail-area img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.p-news-single .head-wrapper .thumbnail-area + .border-area {
  display: none;
}
.p-news-single .head-wrapper .border-area {
  margin-top: 2rem;
  border: 1px solid rgba(14, 62, 144, 0.4);
}
.p-news-single .body-wrapper {
  margin-top: clamp(2rem, 2vw + 1.5rem, 4rem);
}

@media screen and (min-width: 960px) {
  .p-news-single .head-wrapper .thumbnail-area {
    margin: initial;
    width: initial;
    margin-top: 1.3rem;
  }
}
/*contact
-----------------------------------------------------*/
.grecaptcha-badge {
  visibility: hidden;
}

.recapture-message {
  font-size: 0.8rem;
  line-height: 1.4;
}

.p-contact__form {
  background-color: #fff;
  border-radius: clamp(1.375rem, 1.13vw + 1.0875rem, 2.5rem);
  padding: 0 6vw;
  padding-top: clamp(2.5rem, 2.5vw + 1.875rem, 5rem);
  padding-bottom: clamp(2.5rem, 2.5vw + 1.875rem, 5rem);
}
.p-contact__form .intro-wrapper {
  padding-bottom: clamp(2rem, 2vw + 1.5rem, 4rem);
  border-bottom: 1px solid rgba(14, 62, 144, 0.4);
}
.p-contact__form .intro-wrapper p {
  line-height: 1.8;
}
.p-contact__form .body-wrapper {
  padding-top: clamp(2.5rem, 2.5vw + 1.875rem, 5rem);
  padding-bottom: clamp(2.5rem, 2.5vw + 1.875rem, 5rem);
}
.p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) {
  margin-top: clamp(1.5rem, 1.5vw + 1.125rem, 3rem);
}
.p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc input, .p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc textarea {
  width: 100%;
  padding: 0.4rem 0.6rem;
  line-height: 2;
  border: 2px solid #0E3E8F;
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-family: "Zen Maru Gothic", sans-serif;
}
.p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc input::-webkit-input-placeholder, .p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc textarea::-webkit-input-placeholder {
  color: rgba(14, 62, 144, 0.4);
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-family: "Zen Maru Gothic", sans-serif;
}
.p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc input::-moz-placeholder, .p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc textarea::-moz-placeholder {
  color: rgba(14, 62, 144, 0.4);
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-family: "Zen Maru Gothic", sans-serif;
}
.p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc input:-ms-input-placeholder, .p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc textarea:-ms-input-placeholder {
  color: rgba(14, 62, 144, 0.4);
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-family: "Zen Maru Gothic", sans-serif;
}
.p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc input::-ms-input-placeholder, .p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc textarea::-ms-input-placeholder {
  color: rgba(14, 62, 144, 0.4);
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-family: "Zen Maru Gothic", sans-serif;
}
.p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc input::placeholder, .p-contact__form .body-wrapper .p-contact-list .item:not(:first-of-type) .desc textarea::placeholder {
  color: rgba(14, 62, 144, 0.4);
  font-size: clamp(0.875rem, 0.25vw + 0.8125rem, 1.125rem);
  font-family: "Zen Maru Gothic", sans-serif;
}
.p-contact__form .body-wrapper .p-contact-list .wpcf7-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2rem;
}
.p-contact__form .body-wrapper .p-contact-list .wpcf7-list-item {
  margin: initial;
}
.p-contact__form .body-wrapper .p-contact-list .term {
  font-size: clamp(0.9375rem, 0.25vw + 0.875rem, 1.1875rem);
}
.p-contact__form .body-wrapper .p-contact-list .desc {
  margin-top: 0.3rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-contact__form .send-wrapper {
  border-top: 1px solid rgba(14, 62, 144, 0.4);
  padding-top: clamp(2.5rem, 2.5vw + 1.875rem, 5rem);
  text-align: center;
}
.p-contact__form .send-wrapper .wpcf7-submit {
  width: clamp(16.875rem, 8.75vw + 14.6875rem, 25.625rem);
  background-color: #0E3E8F;
  font-size: clamp(0.9375rem, 0.31vw + 0.8625rem, 1.25rem);
  color: #fff;
  text-align: center;
  padding: clamp(1.0625rem, 0.81vw + 0.8625rem, 1.875rem);
  line-height: 1;
  border-radius: 50vw;
  margin: 1rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Zen Maru Gothic", sans-serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-contact__form .send-wrapper .privacy-area a {
  text-decoration: underline;
}
.p-contact__form .send-wrapper .wpcf7-spinner {
  position: absolute;
}
.p-contact__form .wpcf7-list-item {
  margin: initial;
}
.p-contact input[type=checkbox i] {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.p-contact .wpcf7-list-item label {
  position: relative;
  padding-left: 1.4em;
}
.p-contact .wpcf7-list-item label:before, .p-contact .wpcf7-list-item label:after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
}
.p-contact .wpcf7-list-item label::before {
  border: 2px solid #0E3E8F;
  width: 1em;
  height: 1em;
  left: 0;
  border-radius: 4px;
}
.p-contact .wpcf7-list-item label::after {
  background-image: url(../img/common/check.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  opacity: 0;
  width: 0.6em;
  aspect-ratio: 9/7;
  left: 0.2em;
}
.p-contact .wpcf7-list-item label:has(input:checked)::before {
  background-color: #0E3E8F;
}
.p-contact .wpcf7-list-item label:has(input:checked)::after {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .p-contact__form .body-wrapper .p-contact-list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-contact__form .body-wrapper .p-contact-list .term {
    width: 40%;
  }
}
/*404
-----------------------------------------------------*/
.p-404__head {
  width: 13rem;
  margin: auto;
}
.p-404__head img {
  width: 100%;
}
.p-404__body {
  background-color: #fff;
  padding: 8rem 7vw 3rem;
  border-radius: 50vw;
  margin: -5rem auto 0;
}
.p-404__body .text-wrapper {
  max-width: 32rem;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .p-404__head {
    width: 16rem;
  }
  .p-404__body {
    padding: 9rem 7vw 3rem;
    margin: -6rem auto 0;
  }
}
@media screen and (min-width: 960px) {
  .p-404__head {
    width: 38%;
  }
  .p-404__body {
    padding: 22% 7vw 3rem;
    margin: -15% auto 0;
  }
}
/*works
-----------------------------------------------------*/
.p-works__modal-container {
  z-index: 1000;
  pointer-events: none;
  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;
  opacity: 0;
  inset: 0;
  position: fixed;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-works__modal-container .modal-bg {
  position: fixed;
  inset: 0;
  background-color: rgba(2, 10, 23, 0.6);
}
.p-works__modal-container .modal-wrapper {
  width: 90%;
  z-index: 1;
}
.p-works__modal-container .modal-wrapper .modal-item img {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .p-works__modal-container .modal-wrapper {
    width: 50%;
  }
}
.p-works__modal-container .modal-button {
  width: clamp(3.5rem, 4vw + 2.5rem, 7.5rem);
  aspect-ratio: 1/1;
  border-radius: 50vw;
  background-color: #0E3E8F;
  position: fixed;
  right: 1.5rem;
  top: 1.5rem;
  cursor: pointer;
}
.p-works__modal-container .modal-button:before, .p-works__modal-container .modal-button:after {
  content: "";
  width: 32%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}
.p-works__modal-container .modal-button:before {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.p-works__modal-container .modal-button:after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.p-works__modal-container.is-active {
  opacity: 1;
  pointer-events: auto;
}
.p-works .p-works-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[1];
  grid-template-columns: repeat(1, 1fr);
}
.p-works .p-works-list__item {
  border-top: 1px solid rgba(14, 62, 144, 0.4);
  padding: clamp(1.5rem, 0.5vw + 1.375rem, 2rem) 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
.p-works .p-works-list__item:first-of-type {
  padding-top: initial;
  border-top: initial;
}
.p-works .p-works-list__item .img img {
  width: 100%;
}
.p-works .p-works-list__item .text-area {
  margin-top: clamp(1.25rem, 1.13vw + 0.9625rem, 2.375rem);
}
.p-works .p-works-list__item .text-area .cat {
  font-size: clamp(0.875rem, 0.06vw + 0.8625rem, 0.9375rem);
  font-family: "futura-pt-bold", sans-serif;
  font-weight: bold;
}
.p-works .p-works-list__item .text-area .cat:before {
  content: "";
  width: 0.7em;
  height: 0.7em;
  border-radius: 50vw;
  background-color: #0E3E8F;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-right: 0.2em;
}
.p-works .p-works-list__item .text-area .title {
  font-size: clamp(1.0625rem, 0.31vw + 0.9875rem, 1.375rem);
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-works .p-works-list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .p-works .p-works-list__item {
    padding: clamp(1.5rem, 0.5vw + 1.375rem, 2rem);
  }
  .p-works .p-works-list__item:nth-child(-n+2) {
    padding-top: initial;
    border-top: initial;
  }
  .p-works .p-works-list__item:nth-child(2n+1) {
    padding-left: initial;
    border-right: 1px solid rgba(14, 62, 144, 0.4);
  }
  .p-works .p-works-list__item:nth-child(2n) {
    padding-right: initial;
  }
  .p-works .p-works-list__item:nth-last-child(-n+2) {
    padding-bottom: initial;
  }
}
@media screen and (min-width: 960px) {
  .p-works .p-works-list {
    -ms-grid-columns: 1fr 1.08fr 1fr;
    grid-template-columns: 1fr 1.08fr 1fr;
    -ms-grid-columns: 1fr 1.08fr 1fr;
    grid-template-columns: 1fr 1.08fr 1fr;
  }
  .p-works .p-works-list__item:nth-child(-n+3) {
    padding-top: initial;
    border-top: initial;
  }
  .p-works .p-works-list__item:nth-child(3n+1) {
    padding-left: initial;
    border-right: 1px solid rgba(14, 62, 144, 0.4);
    padding-right: clamp(1.5rem, 0.5vw + 1.375rem, 2rem);
  }
  .p-works .p-works-list__item:nth-child(3n-1) {
    border-right: 1px solid rgba(14, 62, 144, 0.4);
    padding-right: clamp(1.5rem, 0.5vw + 1.375rem, 2rem);
    padding-left: clamp(1.5rem, 0.5vw + 1.375rem, 2rem);
  }
  .p-works .p-works-list__item:nth-child(3n) {
    padding-right: initial;
    border-right: initial;
    padding-left: clamp(1.5rem, 0.5vw + 1.375rem, 2rem);
  }
  .p-works .p-works-list__item:nth-last-child(-n+3) {
    padding-bottom: initial;
  }
}

/*template
-----------------------------------------------------*/
/*# sourceMappingURL=common.css.map */