@charset "UTF-8";
/* Fontfamily */
html, body {
  font-family: "Murecho", sans-serif;
}

@media screen and (min-width: 768px) {
  .l-header__link:not(span):not(p) {
    transition: opacity 0.2s ease-in-out;
    cursor: pointer;
  }
  .l-header__link:not(span):not(p):hover {
    opacity: 0.7;
  }
}

/* animation */
@keyframes infinity-scroll-wrap-left {
  from {
    transform: translateX(-33.3333%);
  }
  to {
    transform: translateX(-66.6666%);
  }
}
@keyframes infinity-scroll-wrap-right {
  from {
    transform: translateX(-66.6666%);
  }
  to {
    transform: translateX(-33.3333%);
  }
}
@keyframes arrowlong01 {
  0% {
    height: 0;
  }
  15% {
    height: 100%;
  }
  100% {
    height: 100%;
  }
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sassを使用しているので、cssファイルを直接編集しないでください。
先祖返りの原因となります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* foundation/_reset.scss
-------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font: inherit;
  color: inherit;
  line-height: inherit;
  vertical-align: baseline;
  background: initial;
  border: 0;
}

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

body {
  line-height: inherit;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

body *:not(table), body *:not(table)::before, body *:not(table)::after, body *:not(tbody), body *:not(tbody)::before, body *:not(tbody)::after, body *:not(thead), body *:not(thead)::before, body *:not(thead)::after, body *:not(tfoot), body *:not(tfoot)::before, body *:not(tfoot)::after, body *:not(tr), body *:not(tr)::before, body *:not(tr)::after, body *:not(th), body *:not(th)::before, body *:not(th)::after, body *:not(td), body *:not(td)::before, body *:not(td)::after {
  position: relative;
  box-sizing: border-box;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

/* foundation/_base.scss
-------------------------------------------------- */
html {
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: min(75px, 5.2083333333vw);
  }
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: min(142px, 18.2051282051vw);
  }
}
html {
  font-family: "FOT-筑紫ゴシック Pr5 R";
}

body {
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  color: #002440;
  font-weight: 500;
  background-color: #FFF;
  line-height: 1;
}
body.is-hidden {
  overflow: hidden;
}

img,
svg {
  vertical-align: bottom;
}

img {
  width: 100%;
  height: auto;
}

main figure {
  margin: 0;
}

svg {
  height: auto;
}

a {
  text-decoration: none;
}

a, div, button {
  -webkit-tap-highlight-color: transparent;
}

input, select, textarea, button {
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  overflow: auto;
  resize: none;
}

input::-ms-clear {
  visibility: hidden;
}

select::-ms-expand {
  display: none;
}

button, label {
  cursor: pointer;
}

.mouse {
  position: fixed;
  top: 0;
  left: 0;
  background: #002440;
  border-radius: 10px;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  transition: transform 0.3s;
  transition-timing-function: ease-out;
}
@media screen and (max-width: 767px) {
  .mouse {
    display: none;
  }
}

[data-hidden] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: transparent;
  opacity: 0;
  transform: scale(0);
}

@media screen and (min-width: 768px) {
  [data-device=sp] {
    display: none !important;
  }
  a[href^=tel] {
    pointer-events: none;
  }
  input[type^=text],
  textarea {
    padding: min(11.25px, 0.78125vw);
    border-width: min(1.5px, 0.1041666667vw);
    font-size: min(13.5px, 0.9375vw);
    border-radius: min(11.25px, 0.78125vw);
  }
}
@media screen and (max-width: 767px) {
  [data-device=pc] {
    display: none !important;
  }
  body {
    -webkit-overflow-scrolling: touch;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  input[type^=text],
  textarea {
    padding: min(15px, 1.9230769231vw);
    border-width: min(2px, 0.2564102564vw);
    font-size: min(18px, 2.3076923077vw);
    border-radius: min(15px, 1.9230769231vw);
  }
}
.l-header {
  position: fixed;
  z-index: 100;
  color: #FFF;
  transition: opacity 0.3s;
}
.l-header.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(22.5px, 1.5625vw);
}
.l-header__logo img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-header {
    width: 100%;
    mix-blend-mode: difference;
  }
  .l-header__inner {
    width: 100%;
    padding-top: min(45px, 3.125vw);
  }
  .l-header__logo {
    width: min(99px, 6.875vw);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .l-header__link {
    transition: opacity 0.1s linear;
  }
  .l-header__link:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .l-header__btn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    width: 100%;
    mix-blend-mode: difference;
  }
  .l-header.is-open {
    mix-blend-mode: normal;
  }
  .l-header__logo {
    position: fixed;
    top: min(50px, 6.4102564103vw);
    left: min(50px, 6.4102564103vw);
    width: min(150px, 19.2307692308vw);
    z-index: 200;
  }
  .l-header__btn {
    position: fixed;
    top: min(68px, 8.7179487179vw);
    right: min(60px, 7.6923076923vw);
    display: block;
    width: min(75px, 9.6153846154vw);
    height: min(28px, 3.5897435897vw);
    z-index: 100;
  }
  .l-header__btn::before, .l-header__btn::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 0.1em;
    background-color: #FFF;
    transition: transform 0.3s;
  }
  .l-header__btn::before {
    width: min(75px, 9.6153846154vw);
  }
  .l-header__btn::after {
    width: min(54px, 6.9230769231vw);
    transform: translateY(min(22px, 2.8205128205vw));
  }
  .l-header__btn.is-active::before, .l-header__btn.is-active::after {
    top: min(10px, 1.2820512821vw);
    right: min(10px, 1.2820512821vw);
  }
  .l-header__btn.is-active::before {
    width: min(34px, 4.358974359vw);
    transform: translateY(0) rotate(45deg);
  }
  .l-header__btn.is-active::after {
    width: min(34px, 4.358974359vw);
    transform: translateY(0) rotate(-45deg);
  }
}

.l-footer__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.l-footer__copy {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: 0.1em;
}
.l-footer__pagetop {
  aspect-ratio: 1;
}
@media screen and (min-width: 768px) {
  .l-footer {
    margin-bottom: min(41.25px, 2.8645833333vw);
  }
  .l-footer__inner {
    align-items: flex-end;
  }
  .l-footer__copy {
    font-size: min(22.5px, 1.5625vw);
  }
  .l-footer__pagetop {
    width: min(54.75px, 3.8020833333vw);
    margin-bottom: min(41.25px, 2.8645833333vw);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .l-footer__pagetop {
    transition: opacity 0.1s linear;
  }
  .l-footer__pagetop:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    margin-top: min(60px, 7.6923076923vw);
    margin-bottom: min(55px, 7.0512820513vw);
  }
  .l-footer__inner {
    align-items: center;
  }
  .l-footer__copy {
    font-size: min(20px, 2.5641025641vw);
  }
  .l-footer__pagetop {
    width: min(56px, 7.1794871795vw);
  }
}

.l-nav {
  font-family: "OptimaNovaLTPro-Regular";
}
.l-nav__list {
  display: flex;
}
.l-nav__item {
  position: relative;
}
.l-nav__item .c-toggle__label {
  color: #FFF;
}
.l-nav__item .c-toggle__label::before, .l-nav__item .c-toggle__label::after {
  background-color: #FFF;
}
.l-nav__item .c-toggle__content {
  color: #FFF;
  width: max-content;
}
@media screen and (min-width: 768px) {
  .l-nav__list {
    display: flex;
    align-items: center;
    gap: min(52.5px, 3.6458333333vw);
  }
  .l-nav__item .c-toggle__content-item {
    line-height: 1.3;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .l-nav__item a {
    transition: opacity 0.1s linear;
  }
  .l-nav__item a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .l-nav .c-toggle__content-item a {
    transition: opacity 0.1s linear;
  }
  .l-nav .c-toggle__content-item a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: min(280px, 35.8974358974vw);
    padding-left: min(63px, 8.0769230769vw);
    padding-right: min(30px, 3.8461538462vw);
    padding-bottom: min(30px, 3.8461538462vw);
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: 0.5s;
  }
  .l-nav::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 36, 64, 0.9);
    mix-blend-mode: multiply;
    z-index: 1;
    pointer-events: none;
  }
  .l-nav.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .l-nav__list {
    position: relative;
    z-index: 2;
    flex-direction: column;
    gap: min(55px, 7.0512820513vw);
  }
  .l-nav .c-sns {
    position: relative;
    z-index: 2;
  }
}

.l-container {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-container {
    max-width: min(1260px, 87.5vw);
  }
}
@media screen and (max-width: 767px) {
  .l-container {
    padding: 0 min(54px, 6.9230769231vw);
  }
}

.l-footer--gallary {
  color: #002e77;
}
.l-footer--gallary .l-footer__pagetop {
  mask-image: url("../../assets/img/common/pagetop.svg");
  background-color: #002e77;
}
@media screen and (max-width: 767px) {
  .l-footer--gallary.l-footer {
    margin-bottom: min(38px, 4.8717948718vw);
  }
}

.l-footer--gallery-top.l-footer--gallary {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.l-footer--gallery-top .l-footer__copy {
  color: #FFF;
  mix-blend-mode: difference;
}
@media screen and (min-width: 768px) {
  .l-footer--gallery-top.l-footer--gallary .c-sns__link {
    color: #002440;
  }
  .l-footer--gallery-top.l-footer--gallary .l-footer__pagetop {
    background-color: #002440;
  }
}
@media screen and (max-width: 767px) {
  .l-footer--gallery-top.l-footer--gallary {
    mix-blend-mode: difference;
  }
  .l-footer--gallery-top.l-footer--gallary .c-sns__link {
    color: #FFF;
  }
  .l-footer--gallery-top.l-footer--gallary .l-footer__pagetop {
    background-color: #fff;
  }
}

.l-header--gallery .l-header__link {
  display: block;
  width: 100%;
  height: 100%;
  mask-image: url("../../assets/img/common/logo-gallery.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
}
@media screen and (min-width: 768px) {
  .l-header--gallery {
    mix-blend-mode: normal;
  }
  .l-header--gallery .l-header__logo {
    width: min(128.25px, 8.90625vw);
    aspect-ratio: 171/163;
  }
  .l-header--gallery .l-header__logo a {
    background-color: #002e77;
  }
  .l-header--gallery .l-header__inner {
    align-items: flex-start;
  }
  .l-header--gallery .l-nav {
    margin-top: min(28.5px, 1.9791666667vw);
  }
  .l-header--gallery .l-nav__item .c-toggle__label {
    color: #002e77;
  }
  .l-header--gallery .l-nav__item .c-toggle__label::before, .l-header--gallery .l-nav__item .c-toggle__label::after {
    background-color: #002e77;
  }
  .l-header--gallery .l-nav__item .c-toggle__content {
    color: #002e77;
  }
}
@media screen and (max-width: 767px) {
  .l-header--gallery.l-header {
    mix-blend-mode: normal;
  }
  .l-header--gallery.l-header.is-open .l-header__logo,
  .l-header--gallery.l-header.is-open .l-header__btn {
    mix-blend-mode: difference;
  }
  .l-header--gallery.l-header.is-open .l-header__btn::before, .l-header--gallery.l-header.is-open .l-header__btn::after {
    background-color: #FFF;
  }
  .l-header--gallery.l-header.is-open .l-header__link {
    background-color: #FFF;
  }
  .l-header--gallery .l-header__logo {
    width: min(148px, 18.9743589744vw);
    aspect-ratio: 148/141;
    top: min(61px, 7.8205128205vw);
  }
  .l-header--gallery .l-header__btn::before, .l-header--gallery .l-header__btn::after {
    background-color: #002e77;
  }
  .l-header--gallery .l-header__link {
    background-color: #002e77;
  }
  .l-header--gallery .l-nav::after {
    background-color: rgba(0, 46, 119, 0.9);
  }
  .l-header--gallery .l-nav__list {
    mix-blend-mode: difference;
  }
  .l-header--gallery .c-toggle__label {
    font-size: min(32px, 4.1025641026vw);
  }
  .l-header--gallery .c-toggle__label::before, .l-header--gallery .c-toggle__label::after {
    top: max(-4px, -0.5128205128vw);
    width: 1px;
    height: min(18px, 2.3076923077vw);
  }
  .l-header--gallery .c-toggle__content-list {
    padding-top: min(5px, 0.641025641vw);
  }
  .l-header--gallery .c-toggle__content-item {
    font-size: min(24px, 3.0769230769vw);
    line-height: 2.0833333333em;
    letter-spacing: 0.1em;
  }
  .l-header--gallery .c-toggle__content-item + .c-toggle__content-item {
    margin-top: 0;
  }
}

.l-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 200;
  background-color: #FFF;
  overflow: hidden;
  transition: opacity 0.5s ease;
}
.l-loading.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.l-loading img {
  position: absolute;
  opacity: 0;
}
.l-loading__01 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-loading picture {
  display: block;
  width: 100%;
  height: 100%;
}
.l-loading__02 {
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform-origin: center center;
}
.l-loading__02 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.l-loading__01 {
  z-index: 2;
  animation: l-loading-01 3s ease-in-out forwards;
}
@media screen and (min-width: 768px) {
  .l-loading__01 {
    width: min(475.5px, 33.0208333333vw);
  }
}
@media screen and (max-width: 767px) {
  .l-loading__01 {
    width: min(600px, 76.9230769231vw);
  }
}
.l-loading__02 {
  animation: l-loading-02 3s ease-in-out forwards;
}

@keyframes l-loading-01 {
  0% {
    opacity: 0;
  }
  35.56% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes l-loading-02 {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  48.89% {
    opacity: 1;
  }
  54.44% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.03);
  }
}
.c-sns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.c-sns__link {
  letter-spacing: 0.1em;
}
@media (hover: hover) {
  .c-sns__link {
    transition: opacity 0.1s linear;
  }
  .c-sns__link:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .c-sns {
    gap: min(19.5px, 1.3541666667vw);
  }
  .c-sns__link {
    font-size: min(27px, 1.875vw);
    letter-spacing: 0.1em;
  }
  .c-sns--sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .c-sns {
    gap: min(52px, 6.6666666667vw);
  }
  .c-sns__link {
    font-size: min(36px, 4.6153846154vw);
  }
  .c-sns--sp {
    display: grid;
    gap: min(20px, 2.5641025641vw);
    width: max-content;
    margin-top: min(55px, 7.0512820513vw);
    color: #FFF;
  }
}

.js-slide-up-row {
  position: relative;
  display: block;
  opacity: 0;
  width: fit-content;
}

.js-slide-up-row.is-setup {
  opacity: 1;
}

.js-slide-up-row__base {
  opacity: 0;
}

.js-slide-up-row__line,
.js-slide-up-row__checker {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
}

.js-slide-up-row__text {
  display: block;
}

.u-visually-hidden {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.js-delay-05 {
  transition-delay: 0.5s;
  animation-delay: 0.5s;
}

.js-slide-up-line {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
.js-slide-up-line.is-active {
  opacity: 1;
  transform: translateY(0);
}
@media screen and (min-width: 768px) {
  .js-slide-up-line {
    transform: translateY(min(30px, 2.0833333333vw));
  }
}
@media screen and (max-width: 767px) {
  .js-slide-up-line {
    transform: translateY(min(40px, 5.1282051282vw));
  }
}

.c-toggle__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: #002440;
  line-height: 1.2;
  letter-spacing: 0.1em;
  white-space: nowrap;
  cursor: pointer;
}
.c-toggle__label::before, .c-toggle__label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  margin-left: auto;
  margin-top: auto;
  margin-bottom: auto;
  background-color: #002440;
  transition: all 0.3s ease;
}
.c-toggle__label::after {
  transform: rotate(90deg);
}
.c-toggle__label.is-active::before {
  transform: rotate(90deg);
}
.c-toggle__label--no-child::before, .c-toggle__label--no-child::after {
  content: none;
}
.c-toggle__content {
  max-height: 0;
  overflow: hidden;
  color: #002440;
  transition: max-height 0.3s ease;
  pointer-events: none;
}
.c-toggle__content.is-active {
  pointer-events: auto;
}
.c-toggle__content-item {
  width: max-content;
  letter-spacing: 0;
}
.c-toggle__content-item--more {
  position: relative;
}
.c-toggle__content-item--more::before, .c-toggle__content-item--more::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  margin-left: auto;
  margin-top: auto;
  margin-bottom: auto;
  background-color: #FFF;
  transition: all 0.3s ease;
}
.c-toggle__content-item--more::after {
  transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  .c-toggle__label {
    font-size: min(18.75px, 1.3020833333vw);
    cursor: pointer;
  }
  .c-toggle__label::before, .c-toggle__label::after {
    right: max(-10.5px, -0.7291666667vw);
    top: 0;
    width: min(0.75px, 0.0520833333vw);
    height: min(9px, 0.625vw);
  }
  .c-toggle__content {
    position: absolute;
    top: 0;
    left: min(24px, 1.6666666667vw);
    width: 100vw;
    padding-top: min(45px, 3.125vw);
  }
  .c-toggle__content-item {
    font-size: min(15px, 1.0416666667vw);
  }
  .c-toggle__content-item + .c-toggle__content-item {
    margin-top: min(22.5px, 1.5625vw);
  }
  .c-toggle__content-item--more::before, .c-toggle__content-item--more::after {
    right: max(-9px, -0.625vw);
    top: min(3px, 0.2083333333vw);
    width: min(1.5px, 0.1041666667vw);
    height: min(7.5px, 0.5208333333vw);
  }
}
@media screen and (max-width: 767px) {
  .c-toggle__label {
    width: max-content;
    font-size: min(38px, 4.8717948718vw);
  }
  .c-toggle__label::before, .c-toggle__label::after {
    right: max(-26px, -3.3333333333vw);
    top: max(-6px, -0.7692307692vw);
    width: 1px;
    height: min(20px, 2.5641025641vw);
  }
  .c-toggle__content-list {
    padding-top: min(47px, 6.0256410256vw);
    padding-left: min(37px, 4.7435897436vw);
  }
  .c-toggle__content-item {
    font-size: min(26px, 3.3333333333vw);
  }
  .c-toggle__content-item + .c-toggle__content-item {
    margin-top: min(42px, 5.3846153846vw);
  }
  .c-toggle__content-item--more::before, .c-toggle__content-item--more::after {
    right: max(-8px, -1.0256410256vw);
    top: min(2px, 0.2564102564vw);
    width: min(1px, 0.1282051282vw);
    height: min(8px, 1.0256410256vw);
  }
}

.js-more-item.is-hidden {
  display: none;
}

.c-fv__slider {
  width: 100%;
  height: 100%;
}
.c-fv__slider .swiper-slide {
  overflow: hidden;
}
.c-fv__slider img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.c-fv__slider .swiper-pagination {
  mix-blend-mode: difference;
}
.c-fv__slider .swiper-pagination-bullet {
  opacity: 0.5;
  background: #FFF;
}
.c-fv__slider .swiper-pagination-bullet-active {
  opacity: 1;
  background: #FFF;
}
@media screen and (min-width: 768px) {
  .c-fv .swiper-pagination {
    bottom: min(30px, 2.0833333333vw);
  }
  .c-fv .swiper-pagination-bullet {
    margin: 0 min(16.5px, 1.1458333333vw) !important;
    width: min(13.5px, 0.9375vw);
    height: min(13.5px, 0.9375vw);
  }
}
@media screen and (max-width: 767px) {
  .c-fv .swiper-pagination {
    bottom: min(48px, 6.1538461538vw) !important;
  }
  .c-fv .swiper-pagination-bullet {
    margin: 0 min(22px, 2.8205128205vw) !important;
    width: min(18px, 2.3076923077vw);
    height: min(18px, 2.3076923077vw);
  }
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.07);
  }
}
.swiper-slide-active img,
.swiper-slide-duplicate-active img,
.swiper-slide-prev img {
  animation: zoomUp 8s linear 0s normal both;
}

@media screen and (max-width: 767px) {
  .js-fv-slider-pc-only .swiper-wrapper {
    flex-direction: column;
    gap: min(30px, 3.8461538462vw);
  }
  .js-fv-slider-pc-only .swiper-slide:nth-child(n+9) {
    display: none;
  }
  .js-fv-slider-pc-only .swiper-pagination {
    display: none;
  }
}

.c-archives-content__list {
  display: grid;
}
.c-archives-content__item {
  position: relative;
  height: 100%;
  transform: translateZ(0);
}
@media (hover: hover) {
  .c-archives-content__item:hover .c-archives-content__bg {
    opacity: 1;
  }
  .c-archives-content__item:hover .c-archives-content__visited {
    opacity: 1;
  }
  .c-archives-content__item:hover .p-top-content__visited {
    opacity: 1;
  }
}
.c-archives-content__link {
  position: relative;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: auto;
  height: 100%;
}
.c-archives-content__mask {
  grid-area: 1/1;
  overflow: hidden;
  --mask-img: url(../../assets/img/common/mask.png);
  mask-image: var(--mask-img);
  mask-repeat: no-repeat;
  mask-size: 100% 400%;
  mask-position: 0 0;
  opacity: 0;
}
.c-archives-content__mask.is-anime {
  opacity: 1;
  animation: maskShow var(--mask-duration, 3s) var(--mask-easing, ease) forwards;
  animation-delay: var(--mask-delay, 0ms);
}
.c-archives-content__mask.is-anime-static {
  opacity: 1;
  animation: none !important;
  --mask-img: none;
}
.c-archives-content__mask img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.c-archives-content__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: rgba(0, 36, 64, 0.9);
  mix-blend-mode: multiply;
}
.c-archives-content__bg:has(+ .c-archives-content__visited.is-visited) {
  opacity: 1;
}
.c-archives-content__bg:has(+ .p-top-content__visited.is-visited) {
  opacity: 1;
}
.c-archives-content__visited {
  grid-area: 1/1;
  display: grid;
  place-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  backface-visibility: hidden;
  transition: opacity 0.4s;
}
.c-archives-content__visited.is-visited {
  opacity: 1;
  visibility: visible;
}
.c-archives-content__visited::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 36, 64, 0.9);
  mix-blend-mode: multiply;
  z-index: 1;
}
.c-archives-content__text {
  color: #FFF;
  font-family: "OptimaNovaLTPro-Regular";
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .c-archives-content--works {
    max-width: min(1260px, 87.5vw);
    width: 90%;
    margin: 0 auto;
    margin-top: min(22.5px, 1.5625vw);
  }
  .c-archives-content--projects {
    padding-top: min(142.5px, 9.8958333333vw);
  }
  .c-archives-content__list--works {
    grid-template-columns: repeat(3, 1fr);
    gap: min(45px, 3.125vw);
  }
  .c-archives-content__list--projects {
    width: min(1002px, 69.5833333333vw);
    grid-template-columns: repeat(2, 1fr);
    gap: min(45px, 3.125vw);
    margin: 0 auto;
  }
  .c-archives-content__link:hover .c-archives-content__mask {
    transform: scale(0.94);
  }
  .c-archives-content__link:hover .c-archives-content__mask img {
    transform: scale(1.02);
  }
  .c-archives-content__link:hover .c-archives-content__bg {
    transform: scale(0.94);
  }
  .c-archives-content__link:hover .c-archives-content__visited::before {
    transform: scale(0.94);
  }
  .c-archives-content__link:hover .p-top-content__mask {
    transform: scale(0.94);
  }
  .c-archives-content__link:hover .p-top-content__mask img {
    transform: scale(1.02);
  }
  .c-archives-content__link:hover .p-top-content__bg {
    transform: scale(0.94);
  }
  .c-archives-content__link:hover .p-top-content__visited::before {
    transform: scale(0.94);
  }
  .c-archives-content__mask {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .c-archives-content__mask img {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .c-archives-content__bg {
    transition: opacity 0.4s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .c-archives-content__visited::before {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .c-archives-content__text {
    font-size: min(15px, 1.0416666667vw);
  }
}
@media screen and (max-width: 767px) {
  .c-archives-content--works {
    width: 100%;
    max-width: inherit;
    margin-top: min(38px, 4.8717948718vw);
  }
  .c-archives-content--projects {
    padding-top: min(167px, 21.4102564103vw);
  }
  .c-archives-content__list {
    grid-template-columns: 1fr;
  }
  .c-archives-content__list--projects {
    row-gap: min(60px, 7.6923076923vw);
  }
  .c-archives-content__mask {
    mask-size: 100% 500%;
  }
  .c-archives-content__bg {
    transition: opacity 0.4s;
  }
  .c-archives-content__text {
    font-size: min(32px, 4.1025641026vw);
  }
}

@keyframes maskShow {
  from {
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
  }
  to {
    -webkit-mask-position: 0 100%;
    mask-position: 0 100%;
  }
}
.overflow-hidden {
  display: block;
  overflow: hidden;
}

.is-fadeIn {
  opacity: 0;
  --anime-duration: .8s;
  --anime-ease: ease-out;
  transition: opacity var(--anime-duration) var(--anime-ease);
}
.is-view .is-fadeIn {
  opacity: 1;
}

.is-fadeInSlide,
.is-titleSlideUp {
  --opacity: 0;
  --y: 100%;
  --anime-ease: ease-out;
  display: block;
  line-height: 1.2;
}
.is-fadeInSlide > span,
.is-titleSlideUp > span {
  display: block;
  opacity: var(--opacity);
  transform: translateY(var(--y));
  animation-duration: var(--anime-duration);
  animation-timing-function: var(--anime-ease);
  animation-fill-mode: forwards;
}

.is-titleSlideUp {
  --anime-duration: .8s;
  --insetBottom: calc(1em - (1lh * 2));
  clip-path: inset(100% 0 var(--insetBottom));
  transition: clip-path calc(var(--anime-duration) - 0.1s) var(--anime-ease);
}
.is-titleSlideUp > span {
  clip-path: inset(100% 0 var(--insetBottom));
  transition: clip-path calc(var(--anime-duration) - 0.2s) var(--anime-ease);
}
.is-view .is-titleSlideUp {
  clip-path: inset(0);
}
.is-view .is-titleSlideUp > span {
  clip-path: inset(0);
  animation-name: fadeInSlide;
}
.is-titleSlideUp:nth-of-type(2) {
  transition-delay: 0.18s;
}
.is-titleSlideUp:nth-of-type(2) > span {
  transition-delay: 0.18s;
  animation-delay: 0.18s;
}
.is-titleSlideUp:nth-of-type(3) {
  transition-delay: 0.36s;
}
.is-titleSlideUp:nth-of-type(3) > span {
  transition-delay: 0.36s;
  animation-delay: 0.36s;
}
.is-titleSlideUp:nth-of-type(4) {
  transition-delay: 0.54s;
}
.is-titleSlideUp:nth-of-type(4) > span {
  transition-delay: 0.54s;
  animation-delay: 0.54s;
}
.is-titleSlideUp:nth-of-type(5) {
  transition-delay: 0.72s;
}
.is-titleSlideUp:nth-of-type(5) > span {
  transition-delay: 0.72s;
  animation-delay: 0.72s;
}
.is-titleSlideUp:nth-of-type(6) {
  transition-delay: 0.9s;
}
.is-titleSlideUp:nth-of-type(6) > span {
  transition-delay: 0.9s;
  animation-delay: 0.9s;
}
.is-titleSlideUp:nth-of-type(7) {
  transition-delay: 1.08s;
}
.is-titleSlideUp:nth-of-type(7) > span {
  transition-delay: 1.08s;
  animation-delay: 1.08s;
}
.is-titleSlideUp:nth-of-type(8) {
  transition-delay: 1.26s;
}
.is-titleSlideUp:nth-of-type(8) > span {
  transition-delay: 1.26s;
  animation-delay: 1.26s;
}
.is-titleSlideUp:nth-of-type(9) {
  transition-delay: 1.44s;
}
.is-titleSlideUp:nth-of-type(9) > span {
  transition-delay: 1.44s;
  animation-delay: 1.44s;
}
.is-titleSlideUp:nth-of-type(10) {
  transition-delay: 1.62s;
}
.is-titleSlideUp:nth-of-type(10) > span {
  transition-delay: 1.62s;
  animation-delay: 1.62s;
}
.is-titleSlideUp:nth-of-type(11) {
  transition-delay: 1.8s;
}
.is-titleSlideUp:nth-of-type(11) > span {
  transition-delay: 1.8s;
  animation-delay: 1.8s;
}
.is-titleSlideUp:nth-of-type(12) {
  transition-delay: 1.98s;
}
.is-titleSlideUp:nth-of-type(12) > span {
  transition-delay: 1.98s;
  animation-delay: 1.98s;
}
.is-titleSlideUp:nth-of-type(13) {
  transition-delay: 2.16s;
}
.is-titleSlideUp:nth-of-type(13) > span {
  transition-delay: 2.16s;
  animation-delay: 2.16s;
}
.is-titleSlideUp:nth-of-type(14) {
  transition-delay: 2.34s;
}
.is-titleSlideUp:nth-of-type(14) > span {
  transition-delay: 2.34s;
  animation-delay: 2.34s;
}
.is-titleSlideUp:nth-of-type(15) {
  transition-delay: 2.52s;
}
.is-titleSlideUp:nth-of-type(15) > span {
  transition-delay: 2.52s;
  animation-delay: 2.52s;
}
.is-titleSlideUp:nth-of-type(16) {
  transition-delay: 2.7s;
}
.is-titleSlideUp:nth-of-type(16) > span {
  transition-delay: 2.7s;
  animation-delay: 2.7s;
}
.is-titleSlideUp:nth-of-type(17) {
  transition-delay: 2.88s;
}
.is-titleSlideUp:nth-of-type(17) > span {
  transition-delay: 2.88s;
  animation-delay: 2.88s;
}
.is-titleSlideUp:nth-of-type(18) {
  transition-delay: 3.06s;
}
.is-titleSlideUp:nth-of-type(18) > span {
  transition-delay: 3.06s;
  animation-delay: 3.06s;
}
.is-titleSlideUp:nth-of-type(19) {
  transition-delay: 3.24s;
}
.is-titleSlideUp:nth-of-type(19) > span {
  transition-delay: 3.24s;
  animation-delay: 3.24s;
}
.is-titleSlideUp:nth-of-type(20) {
  transition-delay: 3.42s;
}
.is-titleSlideUp:nth-of-type(20) > span {
  transition-delay: 3.42s;
  animation-delay: 3.42s;
}

.is-fadeInSlide {
  --anime-duration: .45s;
}
.is-view .is-fadeInSlide > span {
  animation-name: fadeInSlide;
}
.is-fadeInSlide:nth-of-type(1) > span {
  animation-delay: 0.39s;
}
.is-fadeInSlide:nth-of-type(2) > span {
  animation-delay: 0.53s;
}
.is-fadeInSlide:nth-of-type(3) > span {
  animation-delay: 0.67s;
}
.is-fadeInSlide:nth-of-type(4) > span {
  animation-delay: 0.81s;
}
.is-fadeInSlide:nth-of-type(5) > span {
  animation-delay: 0.95s;
}
.is-fadeInSlide:nth-of-type(6) > span {
  animation-delay: 1.09s;
}
.is-fadeInSlide:nth-of-type(7) > span {
  animation-delay: 1.23s;
}
.is-fadeInSlide:nth-of-type(8) > span {
  animation-delay: 1.37s;
}
.is-fadeInSlide:nth-of-type(9) > span {
  animation-delay: 1.51s;
}
.is-fadeInSlide:nth-of-type(10) > span {
  animation-delay: 1.65s;
}
.is-fadeInSlide:nth-of-type(11) > span {
  animation-delay: 1.79s;
}
.is-fadeInSlide:nth-of-type(12) > span {
  animation-delay: 1.93s;
}
.is-fadeInSlide:nth-of-type(13) > span {
  animation-delay: 2.07s;
}
.is-fadeInSlide:nth-of-type(14) > span {
  animation-delay: 2.21s;
}
.is-fadeInSlide:nth-of-type(15) > span {
  animation-delay: 2.35s;
}
.is-fadeInSlide:nth-of-type(16) > span {
  animation-delay: 2.49s;
}
.is-fadeInSlide:nth-of-type(17) > span {
  animation-delay: 2.63s;
}
.is-fadeInSlide:nth-of-type(18) > span {
  animation-delay: 2.77s;
}
.is-fadeInSlide:nth-of-type(19) > span {
  animation-delay: 2.91s;
}
.is-fadeInSlide:nth-of-type(20) > span {
  animation-delay: 3.05s;
}

.is-fadeInToLeft {
  --anime-duration: 2.5s;
  --anime-delay: -.5s;
  --anime-ease: ease-in-out;
  display: block;
  line-height: 1.2;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 300% 300%;
  background-image: linear-gradient(to left, #002440 30%, rgba(0, 36, 64, 0) 60%);
  background-position: right 100% center;
  transform: translate(20px, 0);
}
.is-view .is-fadeInToLeft {
  animation: fadeInToLeft var(--anime-duration) var(--anime-ease) var(--anime-delay) forwards;
}

.is-fadeInToRight {
  --anime-duration: 2.5s;
  --anime-delay: -.5s;
  --anime-ease: ease-in-out;
  display: block;
  line-height: 1.2;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 300% 300%;
  background-image: linear-gradient(to right, #002440 30%, rgba(0, 36, 64, 0) 60%);
  background-position: left 100% center;
  transform: translate(20px, 0);
}
.is-view .is-fadeInToRight {
  animation: fadeInToRight var(--anime-duration) var(--anime-ease) var(--anime-delay) forwards;
}

.is-slideUp {
  --y: 10px;
  --anime-duration: .4s;
  --anime-ease: linear;
  --anime-delay: 0s;
  display: block;
}
.is-slideUp > span {
  display: block;
  opacity: 0;
  transform: translateY(var(--y));
  animation-duration: var(--anime-duration);
  animation-timing-function: var(--anime-ease);
  animation-fill-mode: forwards;
  animation-delay: var(--anime-delay);
}
.is-view .is-slideUp > span {
  animation-name: slideUp;
}

.is-blurIn {
  --filter-blur: blur(30px);
  --anime-duration: 1.3s;
  --anime-ease: linear;
  --anime-delay: 0s;
  filter: var(--filter-blur);
}
.is-view .is-blurIn {
  animation: blurIn var(--anime-duration) var(--anime-ease) var(--anime-delay) forwards;
}

@keyframes fadeInSlide {
  0% {
    transform: translateY(var(--y));
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInToLeft {
  100% {
    background-position: right 0% center;
    transform: translate(0, 0);
  }
}
@keyframes fadeInToRight {
  100% {
    transform: translate(0, 0);
    background-position: left 0% center;
  }
}
@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(var(--y));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes blurIn {
  0% {
    filter: var(--filter-blur);
  }
  100% {
    filter: blur(0);
  }
}
@media (hover: hover) {
  .js-more-btn {
    transition: opacity 0.1s linear;
  }
  .js-more-btn:hover {
    opacity: 0.7;
  }
}

.c-back {
  text-align: center;
}
.c-back a {
  text-decoration: underline;
  text-align: center;
  letter-spacing: 0.06em;
  text-underline-offset: 2px;
  transition: text-decoration 0.1s;
}
@media screen and (min-width: 768px) {
  .c-back {
    margin-top: min(90px, 6.25vw);
    font-size: min(19.5px, 1.3541666667vw);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .c-back a {
    transition: opacity 0.1s linear;
  }
  .c-back a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .c-back {
    margin-top: min(80px, 10.2564102564vw);
    font-size: min(26px, 3.3333333333vw);
  }
}

.p-top-fv {
  position: relative;
  width: 100%;
  height: 100vh;
}
.p-top-fv::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 36, 64, 0.9);
  mix-blend-mode: multiply;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.p-top-fv.is-hovered::after {
  opacity: 1;
}
.p-top-fv.c-fv .swiper-pagination {
  bottom: min(30px, 2.0833333333vw);
}

.p-top-content__title {
  text-align: center;
  letter-spacing: 0.1em;
}
.p-top-content__mask {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  --mask-img: url(../../assets/img/common/mask.png);
  mask-image: var(--mask-img);
  mask-repeat: no-repeat;
  mask-size: 100% 400%;
  mask-position: 0 0;
  opacity: 0;
}
.p-top-content__mask.is-anime {
  opacity: 1;
  animation: maskShow var(--mask-duration, 3s) var(--mask-easing, ease) forwards;
  animation-delay: var(--mask-delay, 0ms);
}
.p-top-content__mask.is-anime-static {
  opacity: 1;
  animation: none !important;
  --mask-img: none;
}
.p-top-content__mask img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-top-content__visited {
  grid-area: 1/1;
  display: grid;
  place-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  backface-visibility: hidden;
  transition: opacity 0.4s;
}
.p-top-content__visited.is-visited {
  opacity: 1;
  visibility: visible;
}
.p-top-content__visited::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 36, 64, 0.9);
  mix-blend-mode: multiply;
  z-index: 1;
}
.p-top-content__more {
  display: block;
  margin: 0 auto;
}
.p-top-content__more.is-hidden {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-top-content {
    margin-top: min(84.75px, 5.8854166667vw);
  }
  .p-top-content__title {
    font-size: min(30px, 2.0833333333vw);
  }
  .p-top-content__mask {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .p-top-content__mask img {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .p-top-content__visited::before {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .p-top-content__more {
    margin-top: min(60px, 4.1666666667vw);
    font-size: min(37.5px, 2.6041666667vw);
  }
  .p-top-content .c-archives-content__list {
    margin-top: min(45px, 3.125vw);
  }
  .p-top-content .c-archives-content__item {
    aspect-ratio: 637/398;
  }
  .p-top-content .c-archives-content__text {
    width: min(372.75px, 25.8854166667vw);
  }
}
@media screen and (max-width: 767px) {
  .p-top-content {
    margin-top: min(87px, 11.1538461538vw);
  }
  .p-top-content__title {
    font-size: min(32px, 4.1025641026vw);
  }
  .p-top-content__mask {
    mask-size: 100% 500%;
  }
  .p-top-content__more {
    margin-top: min(98px, 12.5641025641vw);
    font-size: min(50px, 6.4102564103vw);
  }
  .p-top-content .c-archives-content__list {
    margin-top: min(58px, 7.4358974359vw);
  }
  .p-top-content .c-archives-content__item {
    aspect-ratio: 656/410;
  }
  .p-top-content .c-archives-content__text {
    width: min(511px, 65.5128205128vw);
  }
}

.p-top-news__item {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: underline;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-top-news {
    width: min(1002px, 69.5833333333vw);
    margin: min(54.75px, 3.8020833333vw) auto 0;
  }
  .p-top-news__item {
    font-size: min(17.0025px, 1.1807291667vw);
    transition: text-decoration 0.1s;
  }
  .p-top-news__item:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-news {
    margin-top: min(80px, 10.2564102564vw);
  }
  .p-top-news__item {
    font-size: min(20px, 2.5641025641vw);
  }
}

.p-statement-fv {
  display: grid;
}
.p-statement-fv__caption {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-statement-fv {
    grid-template-columns: min(504px, 35vw) auto;
    column-gap: min(64.5px, 4.4791666667vw);
    padding-top: min(225px, 15.625vw);
  }
  .p-statement-fv__caption {
    margin-top: min(22.5px, 1.5625vw);
    font-size: min(11.25px, 0.78125vw);
  }
}
@media screen and (max-width: 767px) {
  .p-statement-fv {
    padding-top: min(200px, 25.641025641vw);
  }
  .p-statement-fv__caption {
    margin-top: min(22px, 2.8205128205vw);
    font-size: min(18px, 2.3076923077vw);
  }
}

.p-statement-lead__title {
  --anime-delay: .2s;
}
@media screen and (min-width: 768px) {
  .p-statement-lead {
    text-box-trim: trim-start;
    text-box-edge: text;
  }
  .p-statement-lead__text {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.85em;
    letter-spacing: 0.1em;
  }
  .p-statement-lead__text + .p-statement-lead__text {
    margin-top: min(42.75px, 2.96875vw);
  }
  .p-statement-lead__text-small {
    font-size: min(13.5px, 0.9375vw);
    line-height: 2.8em;
    letter-spacing: 0.1em;
    margin-top: min(42.75px, 2.96875vw);
  }
  .p-statement-lead__title {
    margin-top: min(69px, 4.7916666667vw);
    font-size: min(30px, 2.0833333333vw);
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  .p-statement-lead {
    margin-top: min(107px, 13.7179487179vw);
  }
  .p-statement-lead__text {
    font-size: min(25px, 3.2051282051vw);
    line-height: 2.2em;
  }
  .p-statement-lead__text + .p-statement-lead__text {
    margin-top: calc(min(86px, 11.0256410256vw) - 0.6 * min(25px, 3.2051282051vw));
  }
  .p-statement-lead__text-small {
    margin-top: calc(min(86px, 11.0256410256vw) - 0.6 * min(25px, 3.2051282051vw));
    font-size: min(23px, 2.9487179487vw);
    line-height: 2.16em;
  }
  .p-statement-lead__title {
    margin-top: min(88px, 11.2820512821vw);
    font-size: min(45px, 5.7692307692vw);
  }
}

.p-statement-mvv__heading {
  display: flex;
  align-items: center;
}
.p-statement-mvv__heading .is-fadeInToLeft {
  --anime-duration: 1.2s;
  --anime-ease: linear;
}
.p-statement-mvv__heading .p-statement-mvv__lead .is-fadeInToLeft {
  --anime-delay: .05s;
}
.p-statement-mvv__content {
  display: grid;
  align-items: center;
  border-top: min(0.75px, 0.0520833333vw) solid #002440;
}
.p-statement-mvv__lead .is-slideUp, .p-statement-mvv__slogan .is-slideUp {
  --anime-delay: .8s;
}
.p-statement-mvv__lead-title {
  letter-spacing: 0.05em;
}
.p-statement-mvv__slogan-title span {
  line-height: inherit;
}
.p-statement-mvv__slogan-lead {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-statement-mvv {
    margin-top: min(151.5px, 10.5208333333vw);
    margin-bottom: min(163.5px, 11.3541666667vw);
  }
  .p-statement-mvv__heading {
    gap: min(33px, 2.2916666667vw);
    padding-left: min(33px, 2.2916666667vw);
  }
  .p-statement-mvv__lead {
    font-size: min(18.75px, 1.3020833333vw);
    letter-spacing: 0.05em;
  }
  .p-statement-mvv__title {
    font-size: min(33.75px, 2.34375vw);
    letter-spacing: 0.1em;
    line-height: 1.1666666667em;
  }
  .p-statement-mvv__content {
    grid-template-columns: 1.125fr 1fr;
    padding-top: min(66px, 4.5833333333vw);
    padding-left: min(33px, 2.2916666667vw);
  }
  .p-statement-mvv__content + .p-statement-mvv__content {
    margin-top: min(91.5px, 6.3541666667vw);
  }
  .p-statement-mvv__lead-title {
    font-size: min(30px, 2.0833333333vw);
  }
  .p-statement-mvv__lead-text {
    margin-top: min(27px, 1.875vw);
    font-size: min(15px, 1.0416666667vw);
    letter-spacing: 0.12em;
    line-height: 3em;
  }
  .p-statement-mvv__lead-text--nowrap {
    white-space: nowrap;
  }
  .p-statement-mvv__lead-text > span:nth-child(n+2) {
    margin-top: min(27px, 1.875vw);
  }
  .p-statement-mvv__slogan-title {
    font-size: min(33.75px, 2.34375vw);
    line-height: 1.3333333333em;
    letter-spacing: 0.1em;
  }
  .p-statement-mvv__slogan-lead {
    margin-top: min(33.75px, 2.34375vw);
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 2em;
    letter-spacing: 0.1em;
  }
  .p-statement-mvv__slogan-lead span + span {
    margin-top: min(22.5px, 1.5625vw);
  }
}
@media screen and (max-width: 767px) {
  .p-statement-mvv {
    margin-top: min(214px, 27.4358974359vw);
    margin-bottom: min(200px, 25.641025641vw);
  }
  .p-statement-mvv__heading {
    gap: min(40px, 5.1282051282vw);
  }
  .p-statement-mvv__lead {
    font-size: min(32px, 4.1025641026vw);
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .p-statement-mvv__title {
    font-size: min(61px, 7.8205128205vw);
    letter-spacing: 0.05em;
    line-height: 1.0166666667em;
    white-space: nowrap;
  }
  .p-statement-mvv__title span {
    margin-right: min(41px, 5.2564102564vw);
  }
  .p-statement-mvv__content {
    row-gap: min(80px, 10.2564102564vw);
    grid-template-columns: 1fr;
    padding-top: min(90px, 11.5384615385vw);
    padding-left: min(27px, 3.4615384615vw);
  }
  .p-statement-mvv__content + .p-statement-mvv__content {
    margin-top: min(70px, 8.9743589744vw);
  }
  .p-statement-mvv__lead-title {
    font-size: min(46px, 5.8974358974vw);
  }
  .p-statement-mvv__lead-text {
    margin-top: min(39px, 5vw);
    font-size: min(23px, 2.9487179487vw);
    letter-spacing: 0;
    line-height: 2.4347826087em;
  }
  .p-statement-mvv__lead-text > span:nth-child(n+2) {
    margin-top: min(39px, 5vw);
  }
  .p-statement-mvv__slogan-title {
    font-size: min(50px, 6.4102564103vw);
    line-height: 1.14em;
    letter-spacing: 0.05em;
  }
  .p-statement-mvv__slogan-lead {
    margin-top: min(33px, 4.2307692308vw);
    font-size: min(30px, 3.8461538462vw);
    line-height: 1.6785714286em;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .p-statement-mvv__slogan-lead span + span {
    margin-top: min(20px, 2.5641025641vw);
  }
}

.p-design-thinking__section {
  display: grid;
  column-gap: 1em;
}
.p-design-thinking__movie video {
  width: 100%;
}
.p-design-thinking__movie-note {
  text-align: center;
  line-height: 1.5;
}
.p-design-thinking__sub-title {
  line-height: 1.6;
}
.p-design-thinking__sub-title .is-slideUp {
  --anime-delay: 1.4s;
}
.p-design-thinking__lead-text {
  letter-spacing: 0.05em;
  --anime-delay: 1.6s;
}
.p-design-thinking__section + .p-design-thinking__section {
  border-top: 1px solid #002440;
}
.p-design-thinking__movie-note {
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  .p-design-thinking {
    margin-bottom: min(163.5px, 11.3541666667vw);
  }
  .p-design-thinking__content {
    padding-top: min(277.5px, 19.2708333333vw);
  }
  .p-design-thinking__section {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "h1 movie" "h2 movie" "lead movie";
    align-items: flex-start;
    row-gap: min(66px, 4.5833333333vw);
  }
  .p-design-thinking__section + .p-design-thinking__section {
    margin-top: min(150px, 10.4166666667vw);
    padding-top: min(120px, 8.3333333333vw);
  }
  .p-design-thinking__title {
    grid-area: h1;
    font-size: min(48.75px, 3.3854166667vw);
    letter-spacing: 0.05em;
  }
  .p-design-thinking__movie {
    grid-area: movie;
    position: sticky;
    top: min(75px, 5.2083333333vw);
  }
  .p-design-thinking__movie--value .js-lottie {
    aspect-ratio: 720/432;
  }
  .p-design-thinking__movie--dt {
    width: min(501px, 34.7916666667vw);
    margin: 0 auto;
  }
  .p-design-thinking__movie-note {
    margin-top: min(66px, 4.5833333333vw);
    font-size: min(10.5px, 0.7291666667vw);
    text-align: center;
    line-height: 2.1428571429em;
  }
  .p-design-thinking__sub-title {
    grid-area: h2;
    font-size: min(31.5px, 2.1875vw);
    letter-spacing: 0.08em;
  }
  .p-design-thinking__lead {
    grid-area: lead;
    white-space: nowrap;
  }
  .p-design-thinking__lead-text {
    font-size: min(18px, 1.25vw);
    line-height: 2.3333333333em;
  }
  .p-design-thinking__lead-text + .p-design-thinking__lead-text {
    margin-top: min(66px, 4.5833333333vw);
  }
}
@media screen and (max-width: 767px) {
  .p-design-thinking__content {
    padding-top: min(245px, 31.4102564103vw);
    margin-bottom: min(200px, 25.641025641vw);
  }
  .p-design-thinking__section + .p-design-thinking__section {
    margin-top: min(108px, 13.8461538462vw);
    padding-top: min(108px, 13.8461538462vw);
  }
  .p-design-thinking__title {
    font-size: min(45px, 5.7692307692vw);
    text-align: center;
    letter-spacing: 0.06em;
  }
  .p-design-thinking__movie--value {
    width: min(656px, 84.1025641026vw);
    margin: min(40px, 5.1282051282vw) auto 0;
  }
  .p-design-thinking__movie--dt {
    width: min(641px, 82.1794871795vw);
    margin: min(74px, 9.4871794872vw) auto 0;
  }
  .p-design-thinking__movie-note {
    margin-top: min(30px, 3.8461538462vw);
    font-size: min(18px, 2.3076923077vw);
    line-height: 1.5;
  }
  .p-design-thinking__sub-title {
    width: 100%;
    margin-top: min(93px, 11.9230769231vw);
    font-size: min(30px, 3.8461538462vw);
    text-align: left;
    letter-spacing: 0.12em;
  }
  .p-design-thinking__lead {
    margin-top: min(71px, 9.1025641026vw);
    text-align: center;
  }
  .p-design-thinking__lead-text {
    width: 100%;
    font-size: min(25px, 3.2051282051vw);
    line-height: 2.5em;
    text-align: left;
  }
  .p-design-thinking__lead-text + .p-design-thinking__lead-text {
    margin-top: min(73px, 9.358974359vw);
  }
}

.p-works-category {
  padding-top: min(151.5px, 10.5208333333vw);
}
.p-works-category .c-toggle__label {
  width: max-content;
}
.p-works-category .c-toggle__content {
  position: static;
  width: 100%;
  padding-top: 0;
}
.p-works-category .c-toggle__content-list {
  display: flex;
  font-family: "OptimaNovaLTPro-Regular";
}
.p-works-category .c-toggle__content-item {
  letter-spacing: 0.08em;
}
.p-works-category .c-toggle__content-item + .c-toggle__content-item {
  margin-top: 0;
}
.p-works-category .c-toggle__content-item a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.p-works-category .c-toggle__content-item a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  height: 1px;
  left: 0;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
  width: 100%;
  background-color: #002440;
}
.p-works-category .c-toggle__content-item.is-current a::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
@media screen and (min-width: 768px) {
  .p-works-category {
    padding-top: min(151.5px, 10.5208333333vw);
  }
  .p-works-category .c-toggle__label {
    font-size: min(15px, 1.0416666667vw);
  }
  .p-works-category .c-toggle__content {
    padding-bottom: min(7.5px, 0.5208333333vw);
  }
  .p-works-category .c-toggle__content.is-active {
    max-height: inherit;
  }
  .p-works-category .c-toggle__content-list {
    padding-top: min(30px, 2.0833333333vw);
    column-gap: min(37.5px, 2.6041666667vw);
  }
  .p-works-category .c-toggle__content-item {
    font-size: min(13.5px, 0.9375vw);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-works-category .c-toggle__content-item a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
@media screen and (max-width: 767px) {
  .p-works-category {
    padding-top: min(188px, 24.1025641026vw);
  }
  .p-works-category .c-toggle__label {
    font-size: min(28px, 3.5897435897vw);
  }
  .p-works-category .c-toggle__content-list {
    flex-wrap: wrap;
    column-gap: min(62px, 7.9487179487vw);
    row-gap: min(26px, 3.3333333333vw);
    padding-top: min(34px, 4.358974359vw);
    padding-left: 0;
  }
  .p-works-category .c-toggle__content-item {
    font-size: min(26px, 3.3333333333vw);
  }
}

.p-works-detail__container {
  margin: 0 auto;
}
.p-works-detail__title span {
  display: block;
  letter-spacing: 0.1em;
}
.p-works-detail__title-en {
  letter-spacing: 0.05em;
}
.p-works-detail__lead {
  line-height: 2.8260869565em;
}
.p-works-detail__info {
  display: grid;
  align-items: flex-start;
}
.p-works-detail__credit {
  letter-spacing: 0.12em;
}
.p-works-detail__credit em {
  font-family: "OptimaNovaLTPro-Regular", "FOT-筑紫ゴシック Pr5 R";
}
.p-works-detail__credit em a {
  text-decoration: underline;
}
.p-works-detail__tag {
  display: flex;
  flex-wrap: wrap;
}
.p-works-detail__tag a {
  display: block;
  font-family: "OptimaNovaLTPro-Regular";
  border-radius: 9999px;
  border: 1px solid #002440;
}
.p-works-detail__tag a::before {
  content: "#";
}
@media screen and (min-width: 768px) {
  .p-works-detail {
    padding-top: min(153px, 10.625vw);
  }
  .p-works-detail .c-fv {
    aspect-ratio: 1913/1195;
  }
  .p-works-detail .c-fv .swiper-pagination {
    bottom: min(52.5px, 3.6458333333vw);
  }
  .p-works-detail__container {
    margin-top: min(88.5px, 6.1458333333vw);
    margin-bottom: min(129.75px, 9.0104166667vw);
  }
  .p-works-detail__title-en {
    font-size: min(40.5px, 2.8125vw);
    line-height: 1.8518518519em;
  }
  .p-works-detail__title-jp {
    margin-top: min(35.25px, 2.4479166667vw);
    font-size: min(33px, 2.2916666667vw);
    line-height: 1.8181818182em;
    letter-spacing: 0.1em;
  }
  .p-works-detail__lead {
    margin-top: min(80.25px, 5.5729166667vw);
    font-size: min(17.25px, 1.1979166667vw);
    text-box-trim: trim-both;
    line-height: 3.8235294118em;
  }
  .p-works-detail__info {
    grid-template-columns: 1fr 1fr;
    margin-top: min(142.5px, 9.8958333333vw);
    justify-content: space-between;
    column-gap: min(56.25px, 3.90625vw);
  }
  .p-works-detail__credit {
    margin-top: calc(-0.5 * min(22.5px, 1.5625vw));
    font-size: min(22.5px, 1.5625vw);
    line-height: 2em;
  }
  .p-works-detail__credit em a:hover {
    text-decoration: none;
  }
  .p-works-detail__tag {
    gap: min(15px, 1.0416666667vw);
  }
  .p-works-detail__tag a {
    padding: min(3.75px, 0.2604166667vw) min(15px, 1.0416666667vw) min(2.25px, 0.15625vw);
    font-size: min(19.5px, 1.3541666667vw);
    transition: opacity 0.2s linear;
  }
  .p-works-detail__tag a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-works-detail {
    padding-top: min(160px, 20.5128205128vw);
  }
  .p-works-detail__container {
    margin-top: min(75px, 9.6153846154vw);
    margin-bottom: min(130px, 16.6666666667vw);
    padding: 0 min(60px, 7.6923076923vw);
  }
  .p-works-detail__title span {
    width: 100%;
  }
  .p-works-detail__title-en {
    font-size: min(40px, 5.1282051282vw);
    line-height: 1.375em;
  }
  .p-works-detail__title-jp {
    margin-top: min(28px, 3.5897435897vw);
    font-size: min(35px, 4.4871794872vw);
    line-height: 1.0285714286em;
    letter-spacing: 0.01em;
  }
  .p-works-detail__lead {
    margin-top: min(78px, 10vw);
    font-size: min(23px, 2.9487179487vw);
  }
  .p-works-detail__lead br {
    display: none;
  }
  .p-works-detail__info {
    grid-template-columns: 1fr;
    row-gap: min(89px, 11.4102564103vw);
    margin-top: min(109px, 13.9743589744vw);
  }
  .p-works-detail__credit {
    font-size: min(22px, 2.8205128205vw);
    line-height: 2.2727272727em;
  }
  .p-works-detail__tag {
    column-gap: min(20px, 2.5641025641vw);
    row-gap: min(20px, 2.5641025641vw);
  }
  .p-works-detail__tag a {
    padding: min(5px, 0.641025641vw) min(15px, 1.9230769231vw) min(2px, 0.2564102564vw);
    font-size: min(20px, 2.5641025641vw);
  }
}

.p-works-archives .c-archives-content__text {
  padding: 1em 2em;
}
.p-works-archives__text-en {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  letter-spacing: 0.05em;
  font-family: "OptimaNovaLTPro-Regular";
}
.p-works-archives__text-ja {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  letter-spacing: 0.1em;
}
.p-works-archives__lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-works-archives {
    margin-bottom: min(108px, 13.8461538462vw);
  }
  .p-works-archives .c-archives-content__item {
    aspect-ratio: 519/323;
  }
  .p-works-archives .c-archives-content__text {
    line-height: 1.5em;
  }
  .p-works-archives__text-en {
    font-size: min(18px, 1.25vw);
    line-height: 1.75em;
  }
  .p-works-archives__text-ja {
    font-size: min(15px, 1.0416666667vw);
    line-height: 1.8333333333em;
  }
  .p-works-archives__lead {
    margin-top: calc(min(35.25px, 2.4479166667vw) - 0.7222222222 * min(13.5px, 0.9375vw));
    font-size: min(10.5px, 0.7291666667vw);
    letter-spacing: 0.12em;
    line-height: 2.4444444444em;
  }
}
@media screen and (max-width: 767px) {
  .p-works-archives .c-archives-content__item {
    aspect-ratio: 780/487;
  }
  .p-works-archives .c-archives-content__text {
    line-height: 1.25em;
  }
  .p-works-archives__text-en {
    font-size: min(35px, 4.4871794872vw);
  }
  .p-works-archives__text-en + .p-projects-archives__text-ja {
    margin-top: min(20px, 2.5641025641vw);
  }
  .p-works-archives__text-ja {
    font-size: min(26px, 3.3333333333vw);
  }
  .p-works-archives__lead {
    margin-top: calc(min(55px, 7.0512820513vw) - 0.7 * min(20px, 2.5641025641vw));
    font-size: min(20px, 2.5641025641vw);
    letter-spacing: 0.1em;
    line-height: 2.4em;
  }
}

.p-projects-archives__text-en {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  letter-spacing: 0.05em;
  font-family: "OptimaNovaLTPro-Regular";
}
.p-projects-archives__text-ja {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  letter-spacing: 0.1em;
}
.p-projects-archives__lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-projects-archives {
    margin-bottom: min(81px, 5.625vw);
  }
  .p-projects-archives .c-archives-content__item {
    aspect-ratio: 637/398;
  }
  .p-projects-archives .c-archives-content__text {
    width: min(372.75px, 25.8854166667vw);
  }
  .p-projects-archives__text-en {
    font-size: min(22.5px, 1.5625vw);
    line-height: 1.75em;
  }
  .p-projects-archives__text-ja {
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 1.8333333333em;
  }
  .p-projects-archives__lead {
    margin-top: calc(min(35.25px, 2.4479166667vw) - 0.7222222222 * min(13.5px, 0.9375vw));
    font-size: min(13.5px, 0.9375vw);
    letter-spacing: 0.12em;
    line-height: 2.4444444444em;
  }
}
@media screen and (max-width: 767px) {
  .p-projects-archives .c-archives-content__item {
    aspect-ratio: 656/410;
  }
  .p-projects-archives .c-archives-content__text {
    width: min(511px, 65.5128205128vw);
  }
  .p-projects-archives__text-en {
    font-size: min(35px, 4.4871794872vw);
  }
  .p-projects-archives__text-en + .p-projects-archives__text-ja {
    margin-top: min(20px, 2.5641025641vw);
  }
  .p-projects-archives__text-ja {
    font-size: min(26px, 3.3333333333vw);
  }
  .p-projects-archives__lead {
    margin-top: calc(min(55px, 7.0512820513vw) - 0.7 * min(20px, 2.5641025641vw));
    font-size: min(20px, 2.5641025641vw);
    letter-spacing: 0.1em;
    line-height: 2.4em;
  }
}

.p-projects-detail__content h1 span {
  display: block;
}
.p-projects-detail__title-en {
  font-family: "OptimaNovaLTPro-Regular";
}
.p-projects-detail__block {
  display: flex;
  align-items: start;
}
.p-projects-detail__block + .p-projects-detail__block--text-only {
  row-gap: 0;
  column-gap: 0;
}
.p-projects-detail__text {
  grid-area: text;
  line-height: 2.8;
}
.p-projects-detail__image {
  grid-area: image;
}
@media screen and (min-width: 768px) {
  .p-projects-detail {
    padding-top: min(178.5px, 12.3958333333vw);
  }
  .p-projects-detail__title {
    max-width: min(1260px, 87.5vw);
    margin: 0 auto;
  }
  .p-projects-detail__content {
    margin-top: min(93.75px, 6.5104166667vw);
  }
  .p-projects-detail__content h1 span {
    line-height: 1.3888888889em;
  }
  .p-projects-detail__title-en {
    font-size: min(54px, 3.75vw);
    letter-spacing: 0.1em;
  }
  .p-projects-detail__title-en + .p-projects-detail__title-ja {
    margin-top: min(29.25px, 2.03125vw);
  }
  .p-projects-detail__title-ja {
    font-size: min(43.5px, 3.0208333333vw);
    letter-spacing: 0.1em;
  }
  .p-projects-detail__block {
    max-width: min(1440px, 100vw);
    margin: 0 auto;
    column-gap: min(58.5px, 4.0625vw);
  }
  .p-projects-detail__block p {
    width: min(579.75px, 40.2604166667vw);
  }
  .p-projects-detail__block div {
    width: min(621.75px, 43.1770833333vw);
  }
  .p-projects-detail__block + .p-projects-detail__block {
    margin-top: min(112.5px, 7.8125vw);
  }
  .p-projects-detail__block:first-of-type {
    margin-top: min(106.5px, 7.3958333333vw);
  }
  .p-projects-detail__block--text-right {
    flex-direction: row-reverse;
  }
  .p-projects-detail__block--image {
    width: 80%;
  }
  .p-projects-detail__block--image-left {
    margin-right: auto;
    margin-left: 0;
  }
  .p-projects-detail__block--image-right {
    margin-left: auto;
    margin-right: 0;
  }
  .p-projects-detail__text {
    font-size: min(17.25px, 1.1979166667vw);
    margin-top: calc(-0.9 * min(17.25px, 1.1979166667vw));
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  .p-projects-detail {
    padding-top: min(157px, 20.1282051282vw);
  }
  .p-projects-detail__content {
    margin-top: min(75px, 9.6153846154vw);
    padding: 0 min(60px, 7.6923076923vw);
  }
  .p-projects-detail__content h1 span {
    line-height: 1.15em;
  }
  .p-projects-detail__title-en {
    font-size: min(40px, 5.1282051282vw);
    letter-spacing: 0.05em;
  }
  .p-projects-detail__title-en + .p-projects-detail__title-ja {
    margin-top: min(26px, 3.3333333333vw);
  }
  .p-projects-detail__title-ja {
    font-size: min(35px, 4.4871794872vw);
    letter-spacing: 0.01em;
  }
  .p-projects-detail__block {
    flex-direction: column;
    row-gap: min(70px, 8.9743589744vw);
  }
  .p-projects-detail__block + .p-projects-detail__block {
    margin-top: min(90px, 11.5384615385vw);
  }
  .p-projects-detail__block:first-of-type {
    margin-top: min(63px, 8.0769230769vw);
  }
  .p-projects-detail__block--text-left, .p-projects-detail__block--text-right {
    grid-template-areas: "text" "image";
  }
  .p-projects-detail__text {
    font-size: min(23px, 2.9487179487vw);
    letter-spacing: 0.05em;
  }
}

.p-project-related__title {
  text-align: center;
  letter-spacing: 0.1em;
}
.p-project-related__item {
  aspect-ratio: 400/260;
}
.p-project-related__item img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (min-width: 768px) {
  .p-project-related {
    margin-top: min(111px, 7.7083333333vw);
    margin-bottom: min(50.25px, 3.4895833333vw);
  }
  .p-project-related__title {
    font-size: min(26.25px, 1.8229166667vw);
  }
  .p-project-related__slider {
    margin-top: min(38.25px, 2.65625vw);
  }
  .p-project-related__item a {
    transition: opacity 0.3s;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-project-related__item a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-project-related {
    margin-top: min(158px, 20.2564102564vw);
  }
  .p-project-related__title {
    font-size: min(30px, 3.8461538462vw);
  }
  .p-project-related__slider {
    margin-top: min(35px, 4.4871794872vw);
  }
}

.p-companyprof__content {
  display: grid;
}
.p-companyprof__about {
  line-height: 2;
}
.p-companyprof__link {
  position: relative;
  display: inline-block;
  text-decoration: underline;
}
.p-companyprof__map {
  display: block;
}
.p-companyprof__business-title {
  letter-spacing: 0.12em;
  border-bottom: 1px solid #002440;
}
.p-companyprof__business-text {
  line-height: 2;
}
.p-companyprof .p-gallery-price__info-txt {
  color: #002440;
}
@media screen and (min-width: 768px) {
  .p-companyprof__content {
    grid-template-columns: 1fr 1fr;
    column-gap: min(66.75px, 4.6354166667vw);
    justify-content: space-between;
    margin-top: min(137.25px, 9.53125vw);
    margin-bottom: min(82.5px, 5.7291666667vw);
  }
  .p-companyprof__lead + .p-companyprof__lead {
    margin-top: min(86.25px, 5.9895833333vw);
  }
  .p-companyprof__lead-title {
    font-size: min(22.5px, 1.5625vw);
    line-height: 2.2857142857em;
    letter-spacing: 0.12em;
  }
  .p-companyprof__lead-text {
    margin-top: min(15px, 1.0416666667vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.25em;
    letter-spacing: 0.12em;
  }
  .p-companyprof__about {
    margin-top: min(162.75px, 11.3020833333vw);
    font-size: min(15px, 1.0416666667vw);
    letter-spacing: 0.12em;
  }
  .p-companyprof__link {
    transition: text-decoration 0.1s;
  }
  .p-companyprof__link:first-of-type {
    margin-top: min(56.25px, 3.90625vw);
  }
  .p-companyprof__link--map {
    margin-top: min(13.5px, 0.9375vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.25em;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-companyprof__link:hover {
    text-decoration: none;
  }
}
@media screen and (min-width: 768px) {
  .p-companyprof__map {
    width: min(492px, 34.1666666667vw);
    margin-top: min(48.75px, 3.3854166667vw);
  }
  .p-companyprof__business + .p-companyprof__business {
    margin-top: min(52.5px, 3.6458333333vw);
  }
  .p-companyprof__business-title {
    padding-bottom: 0.5em;
    font-size: min(22.5px, 1.5625vw);
    text-underline-offset: min(7.5px, 0.5208333333vw);
  }
  .p-companyprof__business-text {
    margin-top: min(7.5px, 0.5208333333vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.25em;
  }
}
@media screen and (max-width: 767px) {
  .p-companyprof__content {
    margin-top: min(100px, 12.8205128205vw);
    margin-bottom: min(100px, 12.8205128205vw);
  }
  .p-companyprof__lead + .p-companyprof__lead {
    margin-top: min(102px, 13.0769230769vw);
  }
  .p-companyprof__lead-title {
    font-size: min(30px, 3.8461538462vw);
  }
  .p-companyprof__lead-text {
    margin-top: min(27px, 3.4615384615vw);
    font-size: min(18px, 2.3076923077vw);
    line-height: 2.5em;
  }
  .p-companyprof__about {
    margin-top: min(80px, 10.2564102564vw);
    font-size: min(20px, 2.5641025641vw);
  }
  .p-companyprof__link:first-of-type {
    margin-top: min(60px, 7.6923076923vw);
  }
  .p-companyprof__link--map {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.25em;
  }
  .p-companyprof__company {
    line-height: 2.4em;
  }
  .p-companyprof__map {
    width: min(453px, 58.0769230769vw);
    margin-top: min(62px, 7.9487179487vw);
  }
  .p-companyprof__info {
    margin-top: min(150px, 19.2307692308vw);
  }
  .p-companyprof__business + .p-companyprof__business {
    margin-top: min(70px, 8.9743589744vw);
  }
  .p-companyprof__business-title {
    padding-bottom: min(14px, 1.7948717949vw);
    font-size: min(30px, 3.8461538462vw);
  }
  .p-companyprof__business-text {
    margin-top: min(20px, 2.5641025641vw);
    font-size: min(20px, 2.5641025641vw);
  }
}

.p-team__title {
  letter-spacing: 0.05em;
}
.p-team__lead {
  letter-spacing: 0.12em;
}
.p-team__member-list {
  display: grid;
}
.p-team__member-item {
  display: grid;
  align-items: start;
}
.p-team__member-item:nth-child(1) .p-team__member-fadeitem {
  animation: teamFade 10s linear infinite;
}
.p-team__member-item:nth-child(1) .p-team__member-fadeitem:nth-child(2) {
  animation-delay: 5s;
}
.p-team__member-item:nth-child(2) .p-team__member-fadeitem {
  animation: teamFade 10s linear infinite;
}
.p-team__member-item:nth-child(2) .p-team__member-fadeitem:nth-child(1) {
  animation-delay: -1s;
}
.p-team__member-item:nth-child(2) .p-team__member-fadeitem:nth-child(2) {
  animation-delay: 4s;
}
.p-team__member-item:nth-child(3) .p-team__member-fadeitem {
  animation: teamFade 10s linear infinite;
}
.p-team__member-item:nth-child(3) .p-team__member-fadeitem:nth-child(1) {
  animation-delay: -3s;
}
.p-team__member-item:nth-child(3) .p-team__member-fadeitem:nth-child(2) {
  animation-delay: 2s;
}
.p-team__member-item:nth-child(4) .p-team__member-fadeitem {
  animation: teamFade 10s linear infinite;
}
.p-team__member-item:nth-child(4) .p-team__member-fadeitem:nth-child(1) {
  animation-delay: -2s;
}
.p-team__member-item:nth-child(4) .p-team__member-fadeitem:nth-child(2) {
  animation-delay: 3s;
}
.p-team__member-item:nth-child(5) .p-team__member-fadeitem {
  animation: teamFade 10s linear infinite;
}
.p-team__member-item:nth-child(5) .p-team__member-fadeitem:nth-child(1) {
  animation-delay: -4s;
}
.p-team__member-item:nth-child(5) .p-team__member-fadeitem:nth-child(2) {
  animation-delay: 1s;
}
.p-team__member-fade {
  position: relative;
}
.p-team__member-fadeitem {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  animation: teamFade 10s linear infinite;
}
.p-team__member-fadeitem:nth-child(1) {
  opacity: 1;
}
.p-team__member-fadeitem:nth-child(2) {
  animation-delay: 5s;
}
.p-team__member-position {
  letter-spacing: 0.12em;
}
.p-team__member-info {
  letter-spacing: 0.12em;
}
.p-team__member-name, .p-team__member-name-en {
  display: inline-block;
  letter-spacing: 0.12em;
}
.p-team__member-lead {
  line-height: 2em;
  letter-spacing: 0;
}
.p-team__partners-title {
  width: 100%;
  letter-spacing: 0.12em;
  border-bottom: 1px solid #002440;
}
.p-team__partners-list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-team {
    margin-bottom: min(82.5px, 5.7291666667vw);
    padding-top: min(229.5px, 15.9375vw);
  }
  .p-team__title {
    font-size: min(28.5px, 1.9791666667vw);
  }
  .p-team__lead {
    margin-top: min(40px, 5.1282051282vw);
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 2.4em;
  }
  .p-team__member-list {
    grid-template-columns: 1fr 1fr;
    column-gap: min(15px, 1.0416666667vw);
    row-gap: min(44.25px, 3.0729166667vw);
    margin-top: min(88.5px, 6.1458333333vw);
  }
  .p-team__member-item {
    grid-template-columns: min(203.25px, 14.1145833333vw) 1fr;
    gap: min(22.5px, 1.5625vw);
  }
  .p-team__member-position {
    font-size: min(15px, 1.0416666667vw);
  }
  .p-team__member-name {
    margin-top: min(15px, 1.0416666667vw);
    font-size: min(18px, 1.25vw);
  }
  .p-team__member-name-en {
    margin-left: min(22.5px, 1.5625vw);
    font-size: min(18px, 1.25vw);
  }
  .p-team__member-name-en--partners {
    margin-left: min(9.75px, 0.6770833333vw);
    font-size: min(18px, 1.25vw);
  }
  .p-team__member-lead {
    margin-top: min(33px, 2.2916666667vw);
    text-box-trim: trim-start;
    font-size: min(12px, 0.8333333333vw);
    line-height: 2.125em;
  }
  .p-team__partners {
    width: 80%;
    margin-top: min(141.75px, 9.84375vw);
  }
  .p-team__partners-title {
    padding-bottom: min(12px, 0.8333333333vw);
    font-size: min(27px, 1.875vw);
  }
  .p-team__partners-list {
    margin-top: min(63px, 4.375vw);
    grid-template-columns: repeat(3, 1fr);
    column-gap: min(75px, 5.2083333333vw);
    row-gap: min(57px, 3.9583333333vw);
  }
  .p-team__partners-name-wrapper {
    display: flex;
    align-items: baseline;
  }
}
@media screen and (max-width: 767px) {
  .p-team {
    margin-bottom: min(150px, 19.2307692308vw);
    padding-top: min(268px, 34.358974359vw);
  }
  .p-team__title {
    font-size: min(32px, 4.1025641026vw);
    line-height: 1.28em;
  }
  .p-team__lead {
    margin-top: min(74px, 9.4871794872vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.3em;
  }
  .p-team__member-list {
    margin-top: min(110px, 14.1025641026vw);
    row-gap: min(82px, 10.5128205128vw);
  }
  .p-team__member-item {
    grid-template-columns: 1fr;
    gap: min(44px, 5.641025641vw);
  }
  .p-team__member-fade {
    width: min(335px, 42.9487179487vw);
    height: min(416px, 53.3333333333vw);
  }
  .p-team__member-image {
    width: min(335px, 42.9487179487vw);
  }
  .p-team__member-position {
    font-size: min(22px, 2.8205128205vw);
  }
  .p-team__member-position--partners {
    font-size: min(22px, 2.8205128205vw);
  }
  .p-team__member-name {
    margin-top: min(15px, 1.9230769231vw);
    font-size: min(22px, 2.8205128205vw);
  }
  .p-team__member-name--partners {
    font-size: min(23px, 2.9487179487vw);
  }
  .p-team__member-name-en {
    margin-left: 0.5em;
    font-size: min(22px, 2.8205128205vw);
  }
  .p-team__member-name-en--partners {
    font-size: min(23px, 2.9487179487vw);
  }
  .p-team__member-lead {
    margin-top: min(30px, 3.8461538462vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.25em;
  }
  .p-team__member-info {
    font-size: min(18px, 2.3076923077vw);
  }
  .p-team__partners {
    margin-top: min(146px, 18.7179487179vw);
  }
  .p-team__partners-title {
    padding-bottom: min(5px, 0.641025641vw);
  }
  .p-team__partners-list {
    margin-top: min(71px, 9.1025641026vw);
    row-gap: min(68px, 8.7179487179vw);
  }
  .p-team__partners-position {
    font-size: min(22px, 2.8205128205vw);
  }
  .p-team__partners-name-wrapper {
    display: block;
  }
}

@keyframes teamFade {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  55% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.p-privacy {
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-privacy__lead {
  margin-top: 1em;
}
.p-privacy__list {
  display: grid;
}
.p-privacy__sub-list, .p-privacy__sub-lead {
  margin-top: 2em;
}
@media screen and (min-width: 768px) {
  .p-privacy {
    margin-bottom: min(82.5px, 5.7291666667vw);
    padding-top: min(210px, 14.5833333333vw);
    font-size: min(18.75px, 1.3020833333vw);
  }
  .p-privacy__list {
    margin-top: min(75px, 5.2083333333vw);
    row-gap: min(37.5px, 2.6041666667vw);
  }
  .p-privacy__lead {
    line-height: 2em;
  }
  .p-privacy__list-lead {
    line-height: 2.08em;
  }
  .p-privacy__sub-list, .p-privacy__sub-lead {
    line-height: 2.08em;
  }
  .p-privacy__title {
    font-size: min(26.25px, 1.8229166667vw);
  }
  .p-privacy__list-title {
    font-size: min(21px, 1.4583333333vw);
  }
  .p-privacy__company-info {
    margin-top: min(75px, 5.2083333333vw);
  }
}
@media screen and (max-width: 767px) {
  .p-privacy {
    margin-bottom: min(100px, 12.8205128205vw);
    padding-top: min(242px, 31.0256410256vw);
    font-size: min(20px, 2.5641025641vw);
  }
  .p-privacy__lead {
    line-height: 2em;
  }
  .p-privacy__list-lead {
    line-height: 2.6em;
  }
  .p-privacy__list {
    row-gap: calc(min(52px, 6.6666666667vw) + min(20px, 2.5641025641vw));
    margin-top: calc(min(40px, 5.1282051282vw) + min(20px, 2.5641025641vw));
  }
  .p-privacy__sub-list, .p-privacy__sub-lead {
    margin-top: calc(min(52px, 6.6666666667vw) + min(20px, 2.5641025641vw));
    line-height: 2.6em;
  }
  .p-privacy__title {
    font-size: min(30px, 3.8461538462vw);
  }
  .p-privacy__list-title {
    font-size: min(23px, 2.9487179487vw);
  }
  .p-privacy__company-info {
    margin-top: calc(min(40px, 5.1282051282vw) + min(20px, 2.5641025641vw));
  }
}

.p-contact {
  max-width: min(1260px, 87.5vw);
  width: 90%;
  margin: 0 auto;
}
.p-contact__lead {
  line-height: 2;
}
.p-contact__form-item {
  display: grid;
  border-top: 1px solid #002440;
}
.p-contact__form-item--no-border {
  border-top: none;
}
.p-contact__form-item--project {
  display: block;
}
.p-contact__form-item--privacy {
  display: flex;
  justify-content: center;
  align-items: end;
  border: none;
}
.p-contact__form-label {
  display: flex;
  align-items: center;
}
.p-contact__form-label-text {
  letter-spacing: 0.05em;
}
.p-contact__form-required {
  color: #FFF;
  background-color: #f24334;
  letter-spacing: 0.1emp-contact__form-label-text;
}
.p-contact__form-input {
  width: 100%;
  line-height: 2;
  border: none;
  border-radius: 0 !important;
  background-color: #efefef;
}
.p-contact__form-input::placeholder {
  color: #a8a9a9;
  font-family: "FOT-筑紫ゴシック Pr5 R";
  letter-spacing: 0.1em;
}
.p-contact__form-input--textarea {
  min-height: min(341.25px, 23.6979166667vw);
  resize: vertical;
}
.p-contact__form-note {
  letter-spacing: 0.1em;
}
.p-contact__form-item-project {
  display: grid;
}
.p-contact__form-checkboxes {
  display: grid;
}
.p-contact__form-checkbox-text {
  letter-spacing: -0.02em;
}
.p-contact__form-privacy-link {
  display: block;
  text-align: center;
  text-decoration: underline;
  letter-spacing: 0.12em;
}
.p-contact__form-input-privacy {
  position: relative;
}
.p-contact__form-input-privacy:checked::before, .p-contact__form-input-privacy:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  height: 1px;
  background-color: #002440;
}
.p-contact__form-input-privacy:checked::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-contact__form-input-privacy:checked::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-contact__form-submit {
  display: grid;
  place-items: center;
  margin: 0 auto;
  border: 1px solid #002440;
  background-color: #FFF;
  cursor: pointer;
  letter-spacing: 0.1em;
}
.p-contact__form-checkboxes label {
  display: grid;
  place-items: center;
  border: 1px solid #002440;
}
.p-contact__form-checkboxes label input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.p-contact__form-checkboxes label:has(input:checked) {
  color: #FFF;
  background-color: #002440;
}
.p-contact__form-input-privacy {
  border: 1px solid #002440;
  pointer-events: auto;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-contact {
    max-width: min(960px, 66.6666666667vw);
    padding-top: min(215.25px, 14.9479166667vw);
    margin-bottom: min(82.5px, 5.7291666667vw);
  }
  .p-contact__lead {
    font-size: min(19.5px, 1.3541666667vw);
  }
  .p-contact__form {
    margin-top: min(51px, 3.5416666667vw);
  }
  .p-contact__form-item {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    column-gap: min(28.5px, 1.9791666667vw);
    padding-top: min(27.75px, 1.9270833333vw);
    padding-bottom: min(30px, 2.0833333333vw);
  }
  .p-contact__form-item input {
    height: min(52.5px, 3.6458333333vw);
    padding: 0 min(9px, 0.625vw);
    font-size: min(18.75px, 1.3020833333vw);
  }
  .p-contact__form-item input.p-contact__form-input-privacy {
    height: min(20.25px, 1.40625vw);
  }
  .p-contact__form-item--inquiry {
    grid-template-columns: 2.5fr 7.5fr;
    align-items: start;
    padding-bottom: 0;
  }
  .p-contact__form-item--privacy {
    column-gap: min(7.5px, 0.5208333333vw);
    padding-top: min(44.25px, 3.0729166667vw);
    padding-bottom: min(50.25px, 3.4895833333vw);
  }
  .p-contact__form-item--privacy .p-contact__form-label-text {
    letter-spacing: 0.12em;
  }
  .p-contact__form-label {
    justify-content: space-between;
    gap: 1em;
  }
  .p-contact__form-label--project {
    flex-direction: column;
    justify-content: inherit;
    align-items: flex-start;
  }
  .p-contact__form-label-text {
    font-size: min(17.25px, 1.1979166667vw);
  }
  .p-contact__form-label-note {
    font-size: min(13.5px, 0.9375vw);
    line-height: 1.2;
  }
  .p-contact__form-required {
    display: inline-block;
    padding: min(6px, 0.4166666667vw);
    font-size: min(12.75px, 0.8854166667vw);
    border-radius: min(5.25px, 0.3645833333vw);
  }
  .p-contact__form-input {
    padding: min(15px, 1.0416666667vw) min(7.5px, 0.5208333333vw);
  }
  .p-contact__form-input::placeholder {
    font-size: min(18.75px, 1.3020833333vw);
  }
  .p-contact__form-input--textarea {
    font-size: min(18.75px, 1.3020833333vw);
    padding: min(11.25px, 0.78125vw) min(15px, 1.0416666667vw);
  }
  .p-contact__form-note {
    margin-top: min(12.75px, 0.8854166667vw);
    font-size: min(15px, 1.0416666667vw);
  }
  .p-contact__form-item-project {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: min(28.5px, 1.9791666667vw);
  }
  .p-contact__form-checkboxes {
    grid-template-columns: repeat(3, 1fr);
    column-gap: min(25.5px, 1.7708333333vw);
    row-gap: min(36px, 2.5vw);
  }
  .p-contact__form-checkboxes label {
    padding: min(9px, 0.625vw) 0;
    font-size: min(15px, 1.0416666667vw);
  }
  .p-contact__form-input-privacy {
    width: min(20.25px, 1.40625vw);
    height: min(20.25px, 1.40625vw);
  }
  .p-contact__form-input-privacy::before, .p-contact__form-input-privacy::after {
    width: calc(min(20.25px, 1.40625vw) * 1.3);
  }
  .p-contact__form-privacy-link {
    margin-top: min(95.25px, 6.6145833333vw);
    font-size: min(16.5px, 1.1458333333vw);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-contact__form-privacy-link:hover {
    text-decoration: none;
  }
}
@media screen and (min-width: 768px) {
  .p-contact__form-submit {
    width: min(222px, 15.4166666667vw);
    height: min(48px, 3.3333333333vw);
    font-size: min(18.75px, 1.3020833333vw);
  }
}
@media screen and (max-width: 767px) {
  .p-contact {
    margin-bottom: min(100px, 12.8205128205vw);
    padding-top: min(246px, 31.5384615385vw);
  }
  .p-contact__lead {
    font-size: min(20px, 2.5641025641vw);
    text-align: center;
  }
  .p-contact__form {
    margin-top: min(55px, 7.0512820513vw);
  }
  .p-contact__form-item {
    padding-top: min(45px, 5.7692307692vw);
    padding-bottom: min(45px, 5.7692307692vw);
  }
  .p-contact__form-item:first-of-type {
    border-top: 1px solid #002440;
  }
  .p-contact__form-item--project {
    padding-top: min(75px, 9.6153846154vw);
    padding-bottom: min(84px, 10.7692307692vw);
  }
  .p-contact__form-item--inquiry {
    padding-top: min(62px, 7.9487179487vw);
    padding-bottom: 0;
  }
  .p-contact__form-item--privacy {
    column-gap: min(8px, 1.0256410256vw);
    padding-top: min(35px, 4.4871794872vw);
    padding-bottom: min(48px, 6.1538461538vw);
  }
  .p-contact__form-item--privacy .p-contact__form-label-text {
    letter-spacing: 0.1em;
  }
  .p-contact__form-label {
    gap: min(15px, 1.9230769231vw);
    justify-content: center;
  }
  .p-contact__form-label--project {
    flex-direction: column;
  }
  .p-contact__form-label-text {
    font-size: min(23px, 2.9487179487vw);
  }
  .p-contact__form-label-note {
    font-size: min(20px, 2.5641025641vw);
  }
  .p-contact__form-required {
    padding: min(6px, 0.7692307692vw) min(6px, 0.7692307692vw) min(4px, 0.5128205128vw) min(6px, 0.7692307692vw);
    font-size: min(13px, 1.6666666667vw);
    border-radius: min(5px, 0.641025641vw);
  }
  .p-contact__form-input {
    width: 82%;
    margin: min(17px, 2.1794871795vw) auto 0;
    padding: min(10px, 1.2820512821vw) min(10px, 1.2820512821vw) !important;
    font-size: min(21px, 2.6923076923vw) !important;
  }
  .p-contact__form-input::placeholder {
    font-size: min(21px, 2.6923076923vw);
  }
  .p-contact__form-input--textarea {
    width: 100%;
    min-height: min(385px, 49.358974359vw);
    padding: min(20px, 2.5641025641vw) !important;
  }
  .p-contact__form-field {
    text-align: center;
  }
  .p-contact__form-note {
    width: 80%;
    margin: min(16px, 2.0512820513vw) auto 0;
    font-size: min(20px, 2.5641025641vw);
    text-align: left;
  }
  .p-contact__form-checkboxes {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(35px, 4.4871794872vw);
    row-gap: min(63px, 8.0769230769vw);
    margin-top: min(64px, 8.2051282051vw);
  }
  .p-contact__form-checkboxes label {
    min-height: min(40px, 5.1282051282vw);
    padding: min(10px, 1.2820512821vw) 0;
    font-size: min(18px, 2.3076923077vw);
  }
  .p-contact__form-privacy-link {
    margin-top: min(65px, 8.3333333333vw);
    font-size: min(20px, 2.5641025641vw);
  }
  .p-contact__form-input-privacy {
    width: min(22px, 2.8205128205vw);
    height: min(22px, 2.8205128205vw);
    margin-left: 0;
    margin-bottom: 0;
  }
  .p-contact__form-input-privacy::before, .p-contact__form-input-privacy::after {
    width: calc(min(21px, 2.6923076923vw) * 1.3);
  }
  .p-contact__form-submit {
    width: min(296px, 37.9487179487vw);
    height: min(64px, 8.2051282051vw);
    font-size: min(22px, 2.8205128205vw);
  }
}

.p-contact-thanks__ttl {
  text-align: center;
  font-family: "OptimaNovaLTPro-Regular";
  letter-spacing: 0.1em;
}
.p-contact-thanks__lead {
  text-align: center;
  letter-spacing: 0.05em;
}
.p-contact-thanks__link {
  display: block;
  width: fit-content;
  text-align: center;
  letter-spacing: 0.05em;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks {
    padding-top: min(189px, 13.125vw);
    margin-bottom: min(75px, 5.2083333333vw);
  }
  .p-contact-thanks__ttl {
    margin-bottom: min(46.5px, 3.2291666667vw);
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 1.28em;
  }
  .p-contact-thanks__lead {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.5em;
  }
  .p-contact-thanks__lead + .p-contact-thanks__lead {
    margin-top: min(37.5px, 2.6041666667vw);
  }
  .p-contact-thanks__link {
    margin: min(88.5px, 6.1458333333vw) auto 0;
    font-size: min(13.5px, 0.9375vw);
    line-height: 2.7777777778em;
  }
  .p-contact-thanks__link:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .p-contact-thanks {
    padding-top: min(239px, 30.641025641vw);
    margin-bottom: min(150px, 19.2307692308vw);
  }
  .p-contact-thanks__ttl {
    margin-bottom: min(62px, 7.9487179487vw);
    font-size: min(25px, 3.2051282051vw);
    line-height: 1.28em;
  }
  .p-contact-thanks__lead {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-contact-thanks__lead + .p-contact-thanks__lead {
    margin-top: min(50px, 6.4102564103vw);
  }
  .p-contact-thanks__link {
    margin: min(81px, 10.3846153846vw) auto 0;
    font-size: min(18px, 2.3076923077vw);
    line-height: 2.7777777778em;
  }
}

.p-contact .p-contact__form-input {
  display: block;
}

.p-contact__form-checkboxes .wpcf7-form-control-wrap,
.p-contact__form-checkboxes .wpcf7-checkbox {
  display: contents;
}
.p-contact__form-checkboxes .wpcf7-list-item {
  margin: 0;
}

.p-contact__form-item--privacy {
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-contact__form-item--privacy {
    max-width: min(450px, 31.25vw);
    margin: 0 auto;
  }
}
.p-contact__form-item--privacy .wpcf7-form-control-wrap,
.p-contact__form-item--privacy .wpcf7-checkbox,
.p-contact__form-item--privacy .wpcf7-list-item {
  display: contents;
}
.p-contact__form-item--privacy .wpcf7-list-item-label {
  display: none;
}
.p-contact__form-item--privacy .wpcf7-not-valid-tip {
  width: 100%;
}
.p-contact__form-item--privacy input {
  position: relative;
  border: 1px solid #002440;
  pointer-events: auto;
  cursor: pointer;
}
.p-contact__form-item--privacy input:checked::before, .p-contact__form-item--privacy input:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  height: 1px;
  background-color: #002440;
}
.p-contact__form-item--privacy input:checked::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-contact__form-item--privacy input:checked::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .p-contact__form-item--privacy input {
    width: min(20.25px, 1.40625vw);
    height: min(20.25px, 1.40625vw);
  }
  .p-contact__form-item--privacy input::before, .p-contact__form-item--privacy input::after {
    width: calc(min(20.25px, 1.40625vw) * 1.3);
  }
}
@media screen and (max-width: 767px) {
  .p-contact__form-item--privacy input {
    width: min(22px, 2.8205128205vw);
    height: min(22px, 2.8205128205vw);
    margin-top: min(12px, 1.5384615385vw);
    margin-left: 0;
    margin-bottom: 0;
  }
  .p-contact__form-item--privacy input::before, .p-contact__form-item--privacy input::after {
    width: calc(min(21px, 2.6923076923vw) * 1.3);
  }
}

.p-gallery-contact .p-gallery-contact__form-input {
  display: block;
}

.p-gallery-contact__form-checkboxes .wpcf7-form-control-wrap,
.p-gallery-contact__form-checkboxes .wpcf7-checkbox {
  display: contents;
}
.p-gallery-contact__form-checkboxes .wpcf7-list-item {
  margin: 0;
}

.p-gallery-contact__form-item--privacy {
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-gallery-contact__form-item--privacy {
    max-width: min(450px, 31.25vw);
    margin: 0 auto;
  }
}
.p-gallery-contact__form-item--privacy .wpcf7-form-control-wrap,
.p-gallery-contact__form-item--privacy .wpcf7-checkbox,
.p-gallery-contact__form-item--privacy .wpcf7-list-item {
  display: contents;
}
.p-gallery-contact__form-item--privacy .wpcf7-list-item-label {
  display: none;
}
.p-gallery-contact__form-item--privacy .wpcf7-not-valid-tip {
  width: 100%;
}
.p-gallery-contact__form-item--privacy input {
  position: relative;
  border: 1px solid #002440;
  pointer-events: auto;
  cursor: pointer;
}
.p-gallery-contact__form-item--privacy input:checked::before, .p-gallery-contact__form-item--privacy input:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  height: 1px;
  background-color: #002440;
}
.p-gallery-contact__form-item--privacy input:checked::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-gallery-contact__form-item--privacy input:checked::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .p-gallery-contact__form-item--privacy input {
    width: min(20.25px, 1.40625vw);
    height: min(20.25px, 1.40625vw) !important;
  }
  .p-gallery-contact__form-item--privacy input::before, .p-gallery-contact__form-item--privacy input::after {
    width: calc(min(20.25px, 1.40625vw) * 1.3);
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-contact__form-item--privacy input {
    width: min(22px, 2.8205128205vw);
    height: min(22px, 2.8205128205vw);
    margin-top: min(12px, 1.5384615385vw);
    margin-left: 0;
    margin-bottom: 0;
  }
  .p-gallery-contact__form-item--privacy input::before, .p-gallery-contact__form-item--privacy input::after {
    width: calc(min(21px, 2.6923076923vw) * 1.3);
  }
}

.wpcf7-not-valid-tip {
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  .wpcf7-not-valid-tip {
    font-size: min(17.25px, 1.1979166667vw) !important;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-not-valid-tip {
    font-size: min(23px, 2.9487179487vw) !important;
    text-align: center;
  }
}

.p-gallery-about__content {
  display: grid;
}
.p-gallery-about__text-title {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-gallery-about .p-gallery-title {
    width: min(151.5px, 10.5208333333vw);
  }
  .p-gallery-about__content {
    grid-template-columns: min(575.25px, 39.9479166667vw) 1fr;
    column-gap: min(96px, 6.6666666667vw);
    margin-top: min(81px, 5.625vw);
  }
  .p-gallery-about__text-title {
    font-size: min(26.25px, 1.8229166667vw);
    line-height: 1.7142857143em;
  }
  .p-gallery-about__text-lead {
    margin-top: min(43.5px, 3.0208333333vw);
  }
  .p-gallery-about__text-lead p {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.75em;
  }
  .p-gallery-about__text-lead p + p {
    margin-top: min(41.25px, 2.8645833333vw);
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-about .p-gallery-title {
    width: min(209px, 26.7948717949vw);
  }
  .p-gallery-about__content {
    grid-template-columns: 1fr;
    margin-top: min(60px, 7.6923076923vw);
  }
  .p-gallery-about__img {
    width: min(573px, 73.4615384615vw);
    margin: 0 auto;
  }
  .p-gallery-about__text {
    margin: min(101px, 12.9487179487vw) auto 0;
    width: min(489px, 62.6923076923vw);
  }
  .p-gallery-about__text-title {
    font-size: min(32px, 4.1025641026vw);
    line-height: 1.5625em;
  }
  .p-gallery-about__text-lead {
    margin-top: min(88px, 11.2820512821vw);
  }
  .p-gallery-about__text-lead p {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-gallery-about__text-lead p + p {
    margin-top: min(50px, 6.4102564103vw);
  }
}

.p-gallery-content {
  color: #002e77;
}
@media screen and (min-width: 768px) {
  .p-gallery-content {
    margin-bottom: min(221.25px, 15.3645833333vw);
    padding-top: min(217.5px, 15.1041666667vw);
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-content {
    padding-top: min(306px, 39.2307692308vw);
  }
}

.p-gallery-title {
  display: grid;
  place-items: center;
  width: max-content;
  margin: 0 auto;
  letter-spacing: 0.1em;
  border: 1px solid #002e77;
}
@media screen and (min-width: 768px) {
  .p-gallery-title {
    min-width: min(151.5px, 10.5208333333vw);
    height: min(36px, 2.5vw);
    padding: min(7.5px, 0.5208333333vw) min(18px, 1.25vw);
    font-size: min(22.5px, 1.5625vw);
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-title {
    min-width: min(209px, 26.7948717949vw);
    height: min(50px, 6.4102564103vw);
    padding: min(10px, 1.2820512821vw) min(29px, 3.7179487179vw) min(10px, 1.2820512821vw);
    font-size: min(32px, 4.1025641026vw);
  }
}

.p-gallery-exhibition__list {
  display: grid;
  letter-spacing: 0.1em;
}
.p-gallery-exhibition__content {
  display: grid;
  align-items: start;
}
.p-gallery-exhibition__thumbnail {
  grid-area: thumbnail;
}
.p-gallery-exhibition__text {
  grid-area: text;
}
.p-gallery-exhibition__image {
  grid-area: image;
}
@media screen and (min-width: 768px) {
  .p-gallery-exhibition {
    margin-bottom: min(163.5px, 11.3541666667vw);
  }
  .p-gallery-exhibition .p-gallery-title {
    width: min(151.5px, 10.5208333333vw);
  }
  .p-gallery-exhibition__list {
    grid-template-columns: repeat(4, 1fr);
    column-gap: min(58.5px, 4.0625vw);
    row-gap: min(140.25px, 9.7395833333vw);
    margin-top: min(106.5px, 7.3958333333vw);
  }
  .p-gallery-exhibition__list a {
    transition: opacity 0.2s linear;
  }
  .p-gallery-exhibition__list a:hover {
    opacity: 0.7;
  }
  .p-gallery-exhibition__list-item-title {
    margin-top: min(45.75px, 3.1770833333vw);
    font-size: min(18.75px, 1.3020833333vw);
  }
  .p-gallery-exhibition__list-item-name {
    margin-top: min(27.75px, 1.9270833333vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2em;
  }
  .p-gallery-exhibition__list-item-date {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2em;
  }
  .p-gallery-exhibition__content {
    margin-top: min(108.75px, 7.5520833333vw);
    grid-template-areas: "thumbnail text" "image text" "image text";
    column-gap: min(71.25px, 4.9479166667vw);
    row-gap: min(96.75px, 6.71875vw);
  }
  .p-gallery-exhibition__image img + img {
    margin-top: min(56.25px, 3.90625vw);
  }
  .p-gallery-exhibition__intro-title {
    font-size: min(26.25px, 1.8229166667vw);
    line-height: 1.7142857143em;
  }
  .p-gallery-exhibition__intro-name {
    margin-top: min(37.5px, 2.6041666667vw);
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 2.56em;
    letter-spacing: 0.1em;
  }
  .p-gallery-exhibition__intro-date {
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 2.56em;
    letter-spacing: 0.1em;
  }
  .p-gallery-exhibition__intro-lead {
    margin-top: min(20.25px, 1.40625vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.75em;
    letter-spacing: 0.05em;
  }
  .p-gallery-exhibition__intro-statement {
    margin-top: min(20.25px, 1.40625vw);
  }
  .p-gallery-exhibition__intro-statement-title, .p-gallery-exhibition__intro-statement-lead {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.75em;
    letter-spacing: 0.1em;
  }
  .p-gallery-exhibition__profile {
    margin-top: min(64.5px, 4.4791666667vw);
  }
  .p-gallery-exhibition__profile-title {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.5em;
    letter-spacing: 0.05em;
    text-decoration: underline;
  }
  .p-gallery-exhibition__profile-lead {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.5em;
    letter-spacing: 0.05em;
  }
  .p-gallery-exhibition__en {
    margin-top: min(63px, 4.375vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.5em;
    letter-spacing: 0.05em;
  }
  .p-gallery-exhibition__en-statement {
    margin-top: min(37.5px, 2.6041666667vw);
  }
  .p-gallery-exhibition__en-profile {
    margin-top: min(37.5px, 2.6041666667vw);
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-exhibition {
    margin-bottom: min(200px, 25.641025641vw);
  }
  .p-gallery-exhibition .p-gallery-title {
    min-width: min(209px, 26.7948717949vw);
  }
  .p-gallery-exhibition__intro {
    margin-top: min(207px, 26.5384615385vw);
  }
  .p-gallery-exhibition__intro-title {
    font-size: min(40px, 5.1282051282vw);
  }
  .p-gallery-exhibition__intro-name {
    margin-top: min(66px, 8.4615384615vw);
    font-size: min(24px, 3.0769230769vw);
    line-height: 2em;
  }
  .p-gallery-exhibition__intro-date {
    font-size: min(24px, 3.0769230769vw);
    line-height: 2em;
  }
  .p-gallery-exhibition__intro-lead {
    margin-top: min(60px, 7.6923076923vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-gallery-exhibition__intro-statement-title {
    text-decoration: underline;
  }
  .p-gallery-exhibition__intro-statement-lead {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-gallery-exhibition__intro-statement {
    margin-top: min(69px, 8.8461538462vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-gallery-exhibition__profile-title {
    margin-top: min(71px, 9.1025641026vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
    text-decoration: underline;
  }
  .p-gallery-exhibition__profile-lead {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-gallery-exhibition__en {
    margin-top: min(109px, 13.9743589744vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-gallery-exhibition__en-statement {
    margin-top: min(50px, 6.4102564103vw);
  }
  .p-gallery-exhibition__en-profile {
    margin-top: min(50px, 6.4102564103vw);
  }
  .p-gallery-exhibition__list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(71px, 9.1025641026vw);
    row-gap: min(144px, 18.4615384615vw);
    margin-top: min(127px, 16.2820512821vw);
  }
  .p-gallery-exhibition__list-item-title {
    margin-top: min(45px, 5.7692307692vw);
    font-size: min(23px, 2.9487179487vw);
  }
  .p-gallery-exhibition__list-item-name {
    margin-top: min(24px, 3.0769230769vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.1em;
  }
  .p-gallery-exhibition__list-item-date {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.1em;
  }
  .p-gallery-exhibition__content {
    margin-top: min(73px, 9.358974359vw);
    grid-template-columns: 1fr;
    grid-template-areas: "thumbnail" "text" "image";
  }
  .p-gallery-exhibition__image {
    margin-top: min(58px, 7.4358974359vw);
  }
  .p-gallery-exhibition__image img + img {
    margin-top: min(56px, 7.1794871795vw);
  }
}

.p-gallery-photos__list {
  display: grid;
}
.p-gallery-photos__item img {
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-gallery-photos__list {
    grid-template-columns: repeat(2, 1fr);
    gap: min(45px, 3.125vw);
    width: min(1002px, 69.5833333333vw);
    margin: min(102px, 7.0833333333vw) auto 0;
  }
  .p-gallery-photos__item {
    aspect-ratio: 637/398;
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-photos__list {
    grid-template-columns: 1fr;
    gap: min(51px, 6.5384615385vw);
    margin-top: min(79px, 10.1282051282vw);
  }
  .p-gallery-photos__item {
    aspect-ratio: 656/410;
  }
}

.p-gallery-price__ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #002e77;
}
.p-gallery-price__price {
  letter-spacing: 0.1em;
  color: #002e77;
}
.p-gallery-price__price span {
  text-decoration: underline;
}
.p-gallery-price__txt {
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #002e77;
}
.p-gallery-price__map {
  overflow: hidden;
}
.p-gallery-price__map img {
  width: 100%;
}
.p-gallery-price__link {
  display: inline-block;
  text-decoration: underline;
  color: #002e77;
}
.p-gallery-price__info-ttl {
  font-family: "OptimaNovaLTPro-Regular";
  color: #002e77;
  letter-spacing: 0.06em;
}
.p-gallery-price__info-txt {
  color: #002e77;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .p-gallery-price__content {
    margin-top: min(87.75px, 6.09375vw);
    margin-bottom: min(221.25px, 15.3645833333vw);
    display: flex;
    gap: 0 min(112.5px, 7.8125vw);
  }
  .p-gallery-price__main {
    flex: 1;
  }
  .p-gallery-price__ttl {
    font-size: min(26.25px, 1.8229166667vw);
    line-height: 1.7142857143em;
  }
  .p-gallery-price__price {
    margin-top: min(37.5px, 2.6041666667vw);
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 1.6em;
  }
  .p-gallery-price__price span {
    text-underline-offset: min(5.625px, 0.390625vw);
  }
  .p-gallery-price__txt {
    margin-top: min(48.75px, 3.3854166667vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.75em;
  }
  .p-gallery-price__sub {
    width: min(492.75px, 34.21875vw);
  }
  .p-gallery-price__map {
    border-radius: min(23.25px, 1.6145833333vw);
  }
  .p-gallery-price__link {
    margin-top: min(13.5px, 0.9375vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.25em;
  }
  .p-gallery-price__link:hover {
    text-decoration: none;
  }
  .p-gallery-price__info {
    margin-top: min(39.75px, 2.7604166667vw);
  }
  .p-gallery-price__info-ttl {
    font-size: min(22.5px, 1.5625vw);
    line-height: 2.3333333333em;
  }
  .p-gallery-price__info-txt {
    margin-top: max(-2.25px, -0.15625vw);
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-price__content {
    margin-top: min(61px, 7.8205128205vw);
  }
  .p-gallery-price__ttl {
    font-size: min(25px, 3.2051282051vw);
    line-height: 2em;
  }
  .p-gallery-price__price {
    margin-top: min(24px, 3.0769230769vw);
    font-size: min(30px, 3.8461538462vw);
    line-height: 1.8em;
  }
  .p-gallery-price__price + .p-gallery-price__price {
    margin-top: min(66px, 8.4615384615vw);
  }
  .p-gallery-price__price span {
    text-underline-offset: min(12px, 1.5384615385vw);
  }
  .p-gallery-price__price i {
    font-size: min(25px, 3.2051282051vw);
    line-height: 2em;
  }
  .p-gallery-price__txt {
    margin-top: min(10px, 1.2820512821vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.65em;
  }
  .p-gallery-price__sub {
    margin: min(200px, 25.641025641vw) auto 0;
    width: min(574px, 73.5897435897vw);
  }
  .p-gallery-price__map {
    margin-top: min(76px, 9.7435897436vw);
    width: 100%;
    border-radius: min(27px, 3.4615384615vw);
  }
  .p-gallery-price__link {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.25em;
  }
  .p-gallery-price__info {
    margin-top: min(62px, 7.9487179487vw);
  }
  .p-gallery-price__info-ttl {
    font-size: min(40px, 5.1282051282vw);
    line-height: 1.75em;
  }
  .p-gallery-price__info-txt {
    margin-top: min(2px, 0.2564102564vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
    white-space: nowrap;
  }
}

.p-gallery-rules__ttl {
  letter-spacing: 0.1em;
  color: #002e77;
}
.p-gallery-rules__dt, .p-gallery-rules__dd {
  letter-spacing: 0.05em;
  color: #002e77;
}
.p-gallery-rules__item::before {
  content: "・";
}
.p-gallery-rules__indent > i {
  display: table-cell;
  white-space: nowrap;
}
.p-gallery-rules__indent > span {
  display: table-cell;
}
.p-gallery-rules__note {
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (min-width: 768px) {
  .p-gallery-rules__content {
    margin-top: min(88.5px, 6.1458333333vw);
    margin-bottom: min(221.25px, 15.3645833333vw);
  }
  .p-gallery-rules__ttl {
    margin-bottom: min(30px, 2.0833333333vw);
    font-size: min(26.25px, 1.8229166667vw);
    line-height: 1.7142857143em;
  }
  .p-gallery-rules__dt, .p-gallery-rules__dd {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.75em;
  }
  .p-gallery-rules__dl + .p-gallery-rules__dl {
    margin-top: min(41.25px, 2.8645833333vw);
  }
  .p-gallery-rules__dd + .p-gallery-rules__dd {
    margin-top: min(41.25px, 2.8645833333vw);
  }
  .p-gallery-rules__flex {
    display: flex;
  }
  .p-gallery-rules__flex i {
    width: min(116.25px, 8.0729166667vw);
  }
  .p-gallery-rules__flex em {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-rules__content {
    margin-top: min(60px, 7.6923076923vw);
  }
  .p-gallery-rules__ttl {
    margin-bottom: min(45px, 5.7692307692vw);
    font-size: min(25px, 3.2051282051vw);
    line-height: 2em;
  }
  .p-gallery-rules__dt, .p-gallery-rules__dd {
    font-size: min(18px, 2.3076923077vw);
    line-height: 2.5em;
    letter-spacing: 0.06em;
  }
  .p-gallery-rules__dl + .p-gallery-rules__dl {
    margin-top: min(45px, 5.7692307692vw);
  }
  .p-gallery-rules__dd + .p-gallery-rules__dd {
    margin-top: min(45px, 5.7692307692vw);
  }
  .p-gallery-rules__flex {
    display: flex;
  }
  .p-gallery-rules__flex i {
    width: min(135px, 17.3076923077vw);
  }
  .p-gallery-rules__flex em {
    flex: 1;
  }
}

.p-gallery-contact {
  max-width: min(1260px, 87.5vw);
  width: 90%;
  margin: 0 auto;
}
.p-gallery-contact__lead {
  line-height: 2;
  color: #002e77;
}
.p-gallery-contact__form-item {
  display: grid;
  border-top: 1px solid #002e77;
}
.p-gallery-contact__form-item--no-border {
  border-top: none;
}
.p-gallery-contact__form-item--project {
  display: block;
}
.p-gallery-contact__form-item--privacy {
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}
.p-gallery-contact__form-label {
  display: flex;
  align-items: center;
}
.p-gallery-contact__form-label-text {
  letter-spacing: 0.05em;
  color: #002e77;
}
.p-gallery-contact__form-required {
  color: #FFF;
  background-color: #f24334;
  letter-spacing: 0.1em;
}
.p-gallery-contact__form-input {
  width: 100%;
  line-height: 2;
  border: none;
  border-radius: 0 !important;
  background-color: #efefef;
}
.p-gallery-contact__form-input::placeholder {
  color: #a8a9a9;
  font-family: "FOT-筑紫ゴシック Pr5 R";
  letter-spacing: 0.1em;
}
.p-gallery-contact__form-input--textarea {
  min-height: min(341.25px, 23.6979166667vw);
  resize: vertical;
}
.p-gallery-contact__form-note {
  letter-spacing: 0.1em;
  color: #002e77;
}
.p-gallery-contact__form-item-project {
  display: grid;
}
.p-gallery-contact__form-checkboxes {
  display: grid;
}
.p-gallery-contact__form-checkbox-text {
  letter-spacing: -0.02em;
}
.p-gallery-contact__form-privacy-link {
  display: block;
  text-align: center;
  text-decoration: underline;
  letter-spacing: 0.12em;
  color: #002e77;
}
.p-gallery-contact__form-input-privacy {
  position: relative;
  aspect-ratio: 1/1;
}
.p-gallery-contact__form-input-privacy:checked::before, .p-gallery-contact__form-input-privacy:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  height: 1px;
  background-color: #002e77;
}
.p-gallery-contact__form-input-privacy:checked::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-gallery-contact__form-input-privacy:checked::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-gallery-contact__form-submit {
  display: grid;
  place-items: center;
  margin: 0 auto;
  color: #002e77;
  border: 1px solid #002e77;
  background-color: #FFF;
  cursor: pointer;
  letter-spacing: 0.1em;
}
.p-gallery-contact__form-checkboxes label {
  display: grid;
  place-items: center;
  border: 1px solid #002440;
}
.p-gallery-contact__form-checkboxes label input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.p-gallery-contact__form-checkboxes label:has(input:checked) {
  color: #FFF;
  background-color: #002440;
}
.p-gallery-contact__form-input-privacy {
  border: 1px solid #002e77;
  pointer-events: auto;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-gallery-contact__content {
    margin-top: min(97.5px, 6.7708333333vw);
  }
  .p-gallery-contact__lead {
    font-size: min(19.5px, 1.3541666667vw);
  }
  .p-gallery-contact__form {
    margin-top: min(83.25px, 5.78125vw);
    margin-bottom: min(221.25px, 15.3645833333vw);
  }
  .p-gallery-contact__form-item {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    column-gap: min(28.5px, 1.9791666667vw);
    padding-top: min(27.75px, 1.9270833333vw);
    padding-bottom: min(30px, 2.0833333333vw);
  }
  .p-gallery-contact__form-item input {
    height: min(52.5px, 3.6458333333vw);
    padding: 0 min(9px, 0.625vw);
    font-size: min(18.75px, 1.3020833333vw);
  }
  .p-gallery-contact__form-item input.p-gallery-contact__form-input-privacy {
    height: min(20.25px, 1.40625vw);
  }
  .p-gallery-contact__form-item--inquiry {
    grid-template-columns: 3fr 7fr;
    align-items: start;
    padding-bottom: 0;
  }
  .p-gallery-contact__form-item--privacy {
    column-gap: min(7.5px, 0.5208333333vw);
    padding-top: min(44.25px, 3.0729166667vw);
    padding-bottom: min(50.25px, 3.4895833333vw);
  }
  .p-gallery-contact__form-item--privacy .p-gallery-contact__form-label-text {
    letter-spacing: 0.12em;
  }
  .p-gallery-contact__form-label {
    justify-content: space-between;
    gap: 1em;
  }
  .p-gallery-contact__form-label--project {
    flex-direction: column;
    justify-content: inherit;
    align-items: flex-start;
  }
  .p-gallery-contact__form-label-text {
    font-size: min(17.25px, 1.1979166667vw);
  }
  .p-gallery-contact__form-label-note {
    font-size: min(13.5px, 0.9375vw);
    line-height: 1.2;
  }
  .p-gallery-contact__form-required {
    display: inline-block;
    padding: min(6px, 0.4166666667vw);
    font-size: min(12.75px, 0.8854166667vw);
    border-radius: min(5.25px, 0.3645833333vw);
  }
  .p-gallery-contact__form-input {
    padding: min(15px, 1.0416666667vw) min(7.5px, 0.5208333333vw);
  }
  .p-gallery-contact__form-input::placeholder {
    font-size: min(18.75px, 1.3020833333vw);
  }
  .p-gallery-contact__form-input--textarea {
    font-size: min(18.75px, 1.3020833333vw);
    padding: min(11.25px, 0.78125vw) min(15px, 1.0416666667vw);
  }
  .p-gallery-contact__form-note {
    margin-top: min(12.75px, 0.8854166667vw);
    font-size: min(15px, 1.0416666667vw);
  }
  .p-gallery-contact__form-item-project {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: min(28.5px, 1.9791666667vw);
  }
  .p-gallery-contact__form-checkboxes {
    grid-template-columns: repeat(3, 1fr);
    column-gap: min(25.5px, 1.7708333333vw);
    row-gap: min(36px, 2.5vw);
  }
  .p-gallery-contact__form-checkboxes label {
    padding: min(9px, 0.625vw) 0;
    font-size: min(15px, 1.0416666667vw);
  }
  .p-gallery-contact__form-input-privacy {
    width: min(20.25px, 1.40625vw);
  }
  .p-gallery-contact__form-input-privacy::before, .p-gallery-contact__form-input-privacy::after {
    width: calc(min(20.25px, 1.40625vw) * 1.3);
  }
  .p-gallery-contact__form-privacy-link {
    margin-top: min(95.25px, 6.6145833333vw);
    font-size: min(16.5px, 1.1458333333vw);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-gallery-contact__form-privacy-link:hover {
    text-decoration: none;
  }
}
@media screen and (min-width: 768px) {
  .p-gallery-contact__form-submit {
    width: min(222px, 15.4166666667vw);
    height: min(48px, 3.3333333333vw);
    font-size: min(18.75px, 1.3020833333vw);
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-contact__content {
    margin-top: min(66px, 8.4615384615vw);
  }
  .p-gallery-contact__lead {
    font-size: min(20px, 2.5641025641vw);
    letter-spacing: 0.05em;
  }
  .p-gallery-contact__form {
    margin-top: min(81px, 10.3846153846vw);
    margin-bottom: min(150px, 19.2307692308vw);
  }
  .p-gallery-contact__form-item {
    padding-top: min(45px, 5.7692307692vw);
    padding-bottom: min(45px, 5.7692307692vw);
  }
  .p-gallery-contact__form-item:first-of-type {
    border-top: 1px solid #002e77;
  }
  .p-gallery-contact__form-item--project {
    padding-top: min(75px, 9.6153846154vw);
    padding-bottom: min(84px, 10.7692307692vw);
  }
  .p-gallery-contact__form-item--inquiry {
    padding-top: min(62px, 7.9487179487vw);
    padding-bottom: 0;
  }
  .p-gallery-contact__form-item--privacy {
    column-gap: min(8px, 1.0256410256vw);
    padding-top: min(35px, 4.4871794872vw);
    padding-bottom: min(48px, 6.1538461538vw);
  }
  .p-gallery-contact__form-item--privacy .p-gallery-contact__form-label-text {
    letter-spacing: 0.1em;
  }
  .p-gallery-contact__form-label {
    gap: min(15px, 1.9230769231vw);
    justify-content: center;
  }
  .p-gallery-contact__form-label--project {
    flex-direction: column;
  }
  .p-gallery-contact__form-label-text {
    font-size: min(23px, 2.9487179487vw);
  }
  .p-gallery-contact__form-label-note {
    font-size: min(20px, 2.5641025641vw);
  }
  .p-gallery-contact__form-required {
    padding: min(6px, 0.7692307692vw) min(6px, 0.7692307692vw) min(4px, 0.5128205128vw) min(6px, 0.7692307692vw);
    font-size: min(13px, 1.6666666667vw);
    border-radius: min(5px, 0.641025641vw);
  }
  .p-gallery-contact__form-input {
    width: 82%;
    margin: min(17px, 2.1794871795vw) auto 0;
    padding: min(10px, 1.2820512821vw) min(10px, 1.2820512821vw) !important;
    font-size: min(21px, 2.6923076923vw) !important;
  }
  .p-gallery-contact__form-input::placeholder {
    font-size: min(21px, 2.6923076923vw);
  }
  .p-gallery-contact__form-input--textarea {
    width: 100%;
    min-height: min(385px, 49.358974359vw);
    padding: min(20px, 2.5641025641vw) !important;
  }
  .p-gallery-contact__form-field {
    text-align: center;
  }
  .p-gallery-contact__form-note {
    width: 80%;
    margin: min(16px, 2.0512820513vw) auto 0;
    font-size: min(20px, 2.5641025641vw);
    text-align: left;
  }
  .p-gallery-contact__form-checkboxes {
    grid-template-columns: repeat(2, 1fr);
    column-gap: min(35px, 4.4871794872vw);
    row-gap: min(63px, 8.0769230769vw);
    margin-top: min(64px, 8.2051282051vw);
  }
  .p-gallery-contact__form-checkboxes label {
    min-height: min(40px, 5.1282051282vw);
    padding: min(10px, 1.2820512821vw) 0;
    font-size: min(18px, 2.3076923077vw);
  }
  .p-gallery-contact__form-privacy-link {
    margin-top: min(65px, 8.3333333333vw);
    font-size: min(20px, 2.5641025641vw);
  }
  .p-gallery-contact__form-input-privacy {
    width: min(22px, 2.8205128205vw);
    height: min(22px, 2.8205128205vw);
    margin-top: min(12px, 1.5384615385vw);
    margin-left: 0;
    margin-bottom: 0;
  }
  .p-gallery-contact__form-input-privacy::before, .p-gallery-contact__form-input-privacy::after {
    width: calc(min(21px, 2.6923076923vw) * 1.3);
  }
  .p-gallery-contact__form-submit {
    width: min(296px, 37.9487179487vw);
    height: min(64px, 8.2051282051vw);
    font-size: min(22px, 2.8205128205vw);
  }
}

.p-gallery-contact-thanks__ttl {
  text-align: center;
  font-family: "OptimaNovaLTPro-Regular";
  letter-spacing: 0.1em;
}
.p-gallery-contact-thanks__lead {
  text-align: center;
  letter-spacing: 0.05em;
}
.p-gallery-contact-thanks__link {
  display: block;
  width: fit-content;
  text-align: center;
  letter-spacing: 0.05em;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-gallery-contact-thanks {
    padding-top: min(243.75px, 16.9270833333vw);
    margin-bottom: min(75px, 5.2083333333vw);
  }
  .p-gallery-contact-thanks__ttl {
    margin-bottom: min(46.5px, 3.2291666667vw);
    font-size: min(18.75px, 1.3020833333vw);
    line-height: 1.28em;
  }
  .p-gallery-contact-thanks__lead {
    font-size: min(15px, 1.0416666667vw);
    line-height: 2.5em;
  }
  .p-gallery-contact-thanks__lead + .p-gallery-contact-thanks__lead {
    margin-top: min(37.5px, 2.6041666667vw);
  }
  .p-gallery-contact-thanks__link {
    margin: min(88.5px, 6.1458333333vw) auto 0;
    font-size: min(13.5px, 0.9375vw);
    line-height: 2.7777777778em;
  }
  .p-gallery-contact-thanks__link:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .p-gallery-contact-thanks {
    padding-top: min(300px, 38.4615384615vw);
    margin-bottom: min(150px, 19.2307692308vw);
  }
  .p-gallery-contact-thanks__ttl {
    margin-bottom: min(62px, 7.9487179487vw);
    font-size: min(25px, 3.2051282051vw);
    line-height: 1.28em;
  }
  .p-gallery-contact-thanks__lead {
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.5em;
  }
  .p-gallery-contact-thanks__lead + .p-gallery-contact-thanks__lead {
    margin-top: min(50px, 6.4102564103vw);
  }
  .p-gallery-contact-thanks__link {
    margin: min(81px, 10.3846153846vw) auto 0;
    font-size: min(18px, 2.3076923077vw);
    line-height: 2.7777777778em;
  }
}

.p-news__item {
  display: flex;
}
.p-news__item + .p-news__item {
  border-top: 1px solid #002440;
}
.p-news__item-lead {
  text-box-trim: trim-start;
}
@media screen and (min-width: 768px) {
  .p-news {
    max-width: min(984px, 68.3333333333vw);
    margin-bottom: min(112.5px, 7.8125vw);
    padding-top: min(205.5px, 14.2708333333vw);
  }
  .p-news__title {
    font-size: min(28.5px, 1.9791666667vw);
  }
  .p-news__list {
    margin-top: min(56.25px, 3.90625vw);
  }
  .p-news__item {
    gap: min(45.75px, 3.1770833333vw);
    margin-bottom: min(60.75px, 4.21875vw);
  }
  .p-news__item + .p-news__item {
    padding-top: min(60.75px, 4.21875vw);
  }
  .p-news__item-date {
    font-size: min(22.5px, 1.5625vw);
  }
  .p-news__item-title {
    margin-top: min(28.5px, 1.9791666667vw);
    font-size: min(23.0025px, 1.5973958333vw);
    line-height: 1.5714285714em;
  }
  .p-news__item-lead {
    margin-top: min(22.5px, 1.5625vw);
    font-size: min(17.0025px, 1.1807291667vw);
    line-height: 2.1666666667em;
  }
  .p-news__text {
    width: 100%;
  }
  .p-news__item-image {
    min-width: min(262.5px, 18.2291666667vw);
    width: 30%;
  }
}
@media screen and (max-width: 767px) {
  .p-news {
    padding-top: min(221px, 28.3333333333vw);
    margin-bottom: min(150px, 19.2307692308vw);
  }
  .p-news__title {
    font-size: min(32px, 4.1025641026vw);
  }
  .p-news__list {
    margin-top: min(65px, 8.3333333333vw);
  }
  .p-news__item {
    flex-direction: column-reverse;
    margin-bottom: min(56px, 7.1794871795vw);
    gap: min(37px, 4.7435897436vw);
  }
  .p-news__item + .p-news__item {
    padding-top: min(62px, 7.9487179487vw);
  }
  .p-news__item-date {
    font-size: min(20px, 2.5641025641vw);
  }
  .p-news__item-title {
    margin-top: min(32px, 4.1025641026vw);
    font-size: min(23px, 2.9487179487vw);
    line-height: 1.5652173913em;
  }
  .p-news__item-lead {
    margin-top: min(20px, 2.5641025641vw);
    font-size: min(20px, 2.5641025641vw);
    line-height: 2.3em;
  }
  .p-news__item-image {
    width: min(495px, 63.4615384615vw);
  }
}

.u-font-en {
  font-family: "OptimaNovaLTPro-Regular";
}

.u-font-ja {
  font-family: "FOT-筑紫ゴシック Pr5 R";
}

@media screen and (min-width: 768px) {
  .u-d-ib-pc {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .u-d-ib-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .u-d-ib-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-d-ib-sp {
    display: block;
  }
}