@charset "UTF-8";
/* accessibility */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* リキッドレイアウト対応 */
html {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  line-height: 1.5;
}

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

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

html {
  font-size: 16px;
}
@media (max-width: 767px) {
  html {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4285714286vw;
  }
}
@media (min-width: 1120px) {
  html {
    font-size: 16px;
  }
}

body {
  min-width: 0;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

@media screen and (max-width: 767px) {
  .home,
  .page-id-15 {
    -webkit-font-smoothing: antialiased;
  }
}

img {
  display: block;
  max-width: 100%;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  a[href^="tel:"] {
    pointer-events: unset;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

button {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  a:hover,
  button:hover {
    opacity: 0.7;
  }
}
@font-face {
  font-family: "Shippori Mincho B1 palt";
  src: url("../fonts/shippori-mincho-b1-palt-medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Shippori Mincho B1 palt";
  src: url("../fonts/shippori-mincho-b1-palt-semibold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default type */
ul,
ol {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

/* Remove default margin padding */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* Make images easier to work with */
img {
  display: block;
  width: 100%;
  height: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

button {
  padding: 0;
}

/* l-cards */
.l-cards {
  display: grid;
  grid-template-columns: repeat(3, 21.25rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  gap: 50px;
  gap: 3.125rem;
}

@media screen and (max-width: 767px) {
  .l-cards--carousel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.5rem;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
}

.l-content {
  width: 960px;
  width: 60rem;
  max-width: 100%;
  padding: 80px;
  padding: 5rem;
  margin-right: auto;
  margin-left: auto;
  border-radius: 0 10rem 0 10.625rem;
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(2px);
  backdrop-filter: blur(0.125rem);
}

.l-inner {
  width: 100%;
  max-width: 1170px;
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.l-page {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 280px;
  padding-bottom: 17.5rem;
}

/* archive-filter */
.archive-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 24px;
  gap: 1.5rem;
}

.archive-filter__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 12px 20px;
  padding: 0.75rem 1.25rem;
  background: #fff;
  color: #16264a;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.archive-filter__item.is-current {
  background: #16264a;
  color: #fff;
}

.archive-filter--compact .archive-filter__item {
  padding: 10px 16px;
  padding: 0.625rem 1rem;
  font-size: 16px;
  font-size: 1rem;
}

/* book */
.book {
  position: relative;
  min-height: 0;
  margin-top: 160px;
  margin-top: 10rem;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#efeee9), to(#fff));
  background: linear-gradient(180deg, #efeee9, #fff);
}
.book::before {
  position: absolute;
  top: -160px;
  top: -10rem;
  left: 0;
  width: 100%;
  height: 160px;
  height: 10rem;
  content: "";
  background: url(../img/common/section-curve.svg) center/100% 100% no-repeat;
}
.book::after {
  position: absolute;
  top: -40px;
  top: -2.5rem;
  right: 0;
  width: 278px;
  width: 17.375rem;
  height: 239px;
  height: 14.9375rem;
  content: "";
  background: url(../img/common/book-decoration-pc.png) center/contain no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .book {
    min-height: 0;
    margin-top: 4rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .book::before {
    top: -4rem;
    height: 4rem;
  }
  .book::after {
    top: -2rem;
    right: 0;
    width: 11.25rem;
    height: 7.625rem;
    content: "";
    background-image: url(../img/common/book-decoration-sp.png);
  }
}

.book--flat {
  margin-top: 0;
}
.book--flat::before {
  content: none;
}
.book--flat::after {
  content: none;
}

.book__shooting-star {
  position: absolute;
  z-index: 1;
  top: -40px;
  top: -2.5rem;
  right: 0;
  width: 278px;
  width: 17.375rem;
  height: 239px;
  height: 14.9375rem;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .book__shooting-star {
    top: -2rem;
    width: 11.25rem;
    height: 7.625rem;
  }
}

.book__shooting-star-shape {
  position: absolute;
  top: 205.87px;
  top: 12.866875rem;
  left: 0;
  display: block;
  width: 32px;
  width: 2rem;
  height: 32.5px;
  height: 2.03125rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .book__shooting-star-shape {
    top: 6.265625rem;
    left: 2.5rem;
    width: 1rem;
    height: 1.015625rem;
  }
}

.book__shooting-star-small {
  position: absolute;
  display: none;
}
@media screen and (max-width: 767px) {
  .book__shooting-star-small {
    top: 2.59375rem;
    left: 0.0625rem;
    display: block;
    width: 0.5rem;
    height: 0.525rem;
    background: url(../img/common/page-hero-star-small.svg) center/contain no-repeat;
  }
}

.book__shooting-line {
  position: absolute;
  top: -0.12px;
  top: -0.0075rem;
  left: -42.54px;
  left: -2.65875rem;
  display: block;
  width: 320px;
  width: 20rem;
  height: 1px;
  height: 0.0625rem;
  background: rgba(166, 149, 128, .64);
  pointer-events: none;
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  -webkit-transform-origin: right center;
          transform-origin: right center;
}
@media screen and (max-width: 767px) {
  .book__shooting-line {
    top: -0.040625rem;
    left: 0.585rem;
    width: 10.6875rem;
    background: rgba(255, 255, 255, .84);
    -webkit-transform: rotate(-39.3deg);
            transform: rotate(-39.3deg);
  }
}

.book--profile::before {
  background-color: #efeee9;
}
.book--profile::after {
  content: none;
}
@media screen and (max-width: 767px) {
  .book--profile {
    min-height: 0;
    margin-top: 0;
    padding-top: 6.5rem;
  }
  .book--profile::before {
    top: 0;
    height: 4rem;
  }
  .book--profile::after {
    top: 2.5rem;
  }
  .book--profile .book__shooting-star {
    top: 2.5rem;
  }
}

.book__title {
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 128px;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .book .book__title {
    font-size: 3.5rem;
  }
}

.book__header {
  position: relative;
}
.book__header::before, .book__header::after {
  position: absolute;
  content: "";
  pointer-events: none;
}
.book__header::before {
  top: 11px;
  top: 0.6875rem;
  right: 174px;
  right: 10.875rem;
  width: 20px;
  width: 1.25rem;
  height: 21px;
  height: 1.3125rem;
  background: url(../img/common/page-hero-star-small.svg) center/contain no-repeat;
}
.book__header::after {
  top: 88px;
  top: 5.5rem;
  right: -154px;
  right: -9.625rem;
  width: 280px;
  width: 17.5rem;
  height: 32px;
  height: 2rem;
  border-top: 1px solid rgba(166, 149, 128, .56);
  border-top: 0.0625rem solid rgba(166, 149, 128, .56);
  background-image: url(../img/common/page-hero-star-small.svg);
  background-position: left -10px;
  background-position: left -0.625rem;
  background-repeat: no-repeat;
  background-size: 2rem 2.0625rem;
  content: none;
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
@media screen and (max-width: 767px) {
  .book .book__header::before {
    content: none;
  }
  .book .book__header::after {
    content: none;
  }
}

.book__subtitle {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .book .book__subtitle {
    font-size: 0.875rem;
  }
}

.book__items {
  display: grid;
  grid-template-columns: 33.75rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 64px;
  margin-top: 4rem;
  gap: 40px;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .book .book__items {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 2.5rem;
    gap: 1.5rem;
  }
}

.book__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 540px;
  width: 33.75rem;
  min-height: 239px;
  min-height: 14.9375rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .book .book__item {
    width: 21.875rem;
    min-height: 11.25rem;
  }
}

.book__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-height: 175px;
  min-height: 10.9375rem;
  color: inherit;
  gap: 32px;
  gap: 2rem;
  padding: 32px;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .book .book__card-link {
    padding: 1.25rem;
  }
}

.book__img {
  width: 120px;
  width: 7.5rem;
  height: 175px;
  height: 10.9375rem;
  overflow: hidden;
}
.book__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .book .book__img {
    width: 6rem;
    height: 8.75rem;
  }
}

.book__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 175px;
  min-height: 10.9375rem;
}
@media screen and (max-width: 767px) {
  .book .book__content {
    min-height: 8.75rem;
  }
}

@media screen and (max-width: 767px) {
  .book .book__card-link {
    min-height: 8.75rem;
    gap: 1rem;
  }
}
.book__point {
  color: #667d9f;
  font-family: "Shippori Mincho B1", serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .book .book__point {
    font-size: 0.625rem;
  }
}

.book__name {
  margin-top: 12px;
  margin-top: 0.75rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .book .book__name {
    margin-top: 0.375rem;
    font-size: 0.875rem;
  }
}

.book__author {
  margin-top: 12px;
  margin-top: 0.75rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .book .book__author {
    margin-top: 0.375rem;
    font-size: 0.625rem;
  }
}

.book__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 200px;
  width: 12.5rem;
  max-width: 100%;
  padding: 6px 8px;
  padding: 0.375rem 0.5rem;
  border-bottom: 1px solid #16264a;
  border-bottom: 0.0625rem solid #16264a;
  color: #16264a;
  font-family: "Prata", serif;
  font-size: 16px;
  font-size: 1rem;
  gap: 8px;
  gap: 0.5rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .book__link {
    width: 10rem;
  }
}
.book--profile .book__link {
  gap: 24px;
  gap: 1.5rem;
}
.book__link::after {
  width: 25px;
  width: 1.5625rem;
  height: 5px;
  height: 0.3125rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: auto;
  content: "";
  background: url(../img/common/button-arrow-blue.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .book .book__link {
    padding: 0.5rem 0.25rem;
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .book,
  :is(.home, .page-id-15) .book__item,
  :is(.home, .page-id-15) .book__card-link {
    min-height: 0;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .book__content {
    min-height: 0;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .book__subtitle,
  :is(.home, .page-id-15) .book__author {
    font-family: "Shippori Mincho B1 palt", serif;
    font-weight: 500;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .book__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.25rem;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .book__subtitle {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .book__point,
  :is(.home, .page-id-15) .book__name {
    font-weight: 700;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .book__link {
    padding: 0.75rem 0.5rem;
    line-height: 1;
    gap: 1.5rem;
  }
}

/* breadcrumb */
.breadcrumb {
  color: #fff;
}

.breadcrumb__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 16px;
  gap: 1rem;
}

.breadcrumb__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  white-space: nowrap;
}

.breadcrumb__item + .breadcrumb__item::before {
  content: "";
  display: block;
  width: 16px;
  width: 1rem;
  height: 1px;
  height: 0.0625rem;
  margin-right: 16px;
  margin-right: 1rem;
  background: #fff;
}

.breadcrumb__item a {
  display: block;
}

.breadcrumb--post .breadcrumb__items {
  gap: 8px;
  gap: 0.5rem;
}
.breadcrumb--post .breadcrumb__item {
  font-size: 12px;
  font-size: 0.75rem;
}
.breadcrumb--post .breadcrumb__item + .breadcrumb__item::before {
  width: 12px;
  width: 0.75rem;
  margin-right: 8px;
  margin-right: 0.5rem;
}

/* btn */
.btn {
  display: block;
  max-width: 100%;
}

/* card */
.card {
  min-width: 0;
}

.card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  gap: 16px;
  gap: 1rem;
}

.card__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  aspect-ratio: 920/511;
  overflow: hidden;
  background: #9cb2ca;
}

.card__img--thumbnail > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card__img > img,
.card__placeholder-picture > img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .card__link:hover {
    opacity: 1;
  }
  .card__link:hover .card__img > img,
  .card__link:hover .card__placeholder-picture > img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@media (prefers-reduced-motion: reduce) {
  .card__img > img,
  .card__placeholder-picture > img {
    -webkit-transition: none;
    transition: none;
  }
}
.card--top-news .card__img--thumbnail > img {
  -o-object-fit: contain;
     object-fit: contain;
}

.card__img--placeholder > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card--event .card__img {
  background: #fff;
}

.card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  min-width: 0;
  width: 100%;
  gap: 10px;
  gap: 0.625rem;
}

.card__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  gap: 8px;
  gap: 0.5rem;
}

.card__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  min-width: 0;
  max-width: 100%;
  gap: 8px;
  gap: 0.5rem;
}

.card__tag {
  max-width: 100%;
  padding: 4px 8px;
  padding: 0.25rem 0.5rem;
  background: #16264a;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.08em;
  word-wrap: anywhere;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.card--event .card__tag {
  background: #a69580;
}

.card__title {
  min-width: 0;
  width: 100%;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  word-wrap: anywhere;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.card__date {
  color: #9cb2ca;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.card--top-news {
  color: #fff;
}

.card--top-news .card__tag {
  background: #fff;
  color: #16264a;
}

.card--top-news .card__date {
  color: #fff;
}

.card--top-carousel {
  width: 340px;
  width: 21.25rem;
}
@media screen and (max-width: 767px) {
  .card--top-carousel {
    width: 17.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.card--stagger-2 {
  padding-top: 40px;
  padding-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .card--stagger-2 {
    padding-top: 0;
  }
}

.card--stagger-3 {
  padding-top: 80px;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .card--stagger-3 {
    padding-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .card--top-event .card__title {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .card--top-event .card__tag {
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .card--top-event .card__meta-row {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .card--top-event .card__img--placeholder > img,
  .card--top-news .card__img--placeholder > img {
    width: 21.25rem;
    max-width: none;
    height: 11.8125rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .card--top-news .card__title {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .card--top-news .card__tag,
  .card--top-news .card__date {
    font-size: 0.75rem;
  }
}

.card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  width: 100%;
  gap: 6px;
  gap: 0.375rem;
}

.card__meta-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 0;
  width: 100%;
  -webkit-column-gap: 0.875rem;
     -moz-column-gap: 0.875rem;
          column-gap: 0.875rem;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.card__meta-icon {
  display: block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  background: center/contain no-repeat;
}

.card__meta-icon--time {
  background-image: url(../img/common/event-time.svg);
}

.card__meta-icon--place {
  background-image: url(../img/common/event-place.svg);
}

.card__meta-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  gap: 0.125rem;
  color: #a69580;
  white-space: nowrap;
}

.card__meta-value {
  min-width: 0;
  color: #333;
  word-wrap: anywhere;
}

@media screen and (prefers-reduced-motion: no-preference) {
  .is-cv-reveal-prepared .cv__title[data-animation-prepaint] {
    visibility: hidden;
  }
}
/* cv */
.cv {
  position: relative;
  padding-top: 120px;
  padding-top: 7.5rem;
  padding-bottom: 119px;
  padding-bottom: 7.4375rem;
  overflow: visible;
  background: #031427;
  color: #fff;
}
.cv::before {
  position: absolute;
  top: -160px;
  top: -10rem;
  left: 0;
  width: 100%;
  height: 160px;
  height: 10rem;
  content: "";
  background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .cv {
    min-height: 31.375rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .cv::before {
    top: -3.9375rem;
    height: 4rem;
    content: "";
  }
}

.cv--profile {
  padding-bottom: 119px;
  padding-bottom: 7.4375rem;
}
.cv--profile::before {
  content: none;
}
@media screen and (max-width: 767px) {
  .cv--profile {
    padding-bottom: 4rem;
  }
}

.cv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .cv .cv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
  }
}

.cv__decoration {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .cv .cv__decoration {
    display: block;
  }
}

.cv__star {
  position: absolute;
  width: 20px;
  width: 1.25rem;
  height: 21px;
  height: 1.3125rem;
}
.cv__star img {
  width: 100%;
  height: 100%;
}

.cv__star--top {
  top: 155px;
  top: 9.6875rem;
  left: calc(50% + 2.25rem);
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .cv .cv__star--top {
    top: 4.25rem;
    left: 19.1875rem;
    width: 1rem;
    height: 1.0625rem;
  }
}

.cv__star--bottom {
  top: 364px;
  top: 22.75rem;
  left: calc(50% - 31rem);
}
@media screen and (max-width: 767px) {
  .cv .cv__star--bottom {
    top: 10.25rem;
    left: 4.125rem;
    width: 0.75rem;
    height: 0.8125rem;
  }
}

.cv__line {
  position: absolute;
  top: 155px;
  top: 9.6875rem;
  left: calc(50% + 4.25rem);
  width: 240px;
  width: 15rem;
  height: 1px;
  height: 0.0625rem;
  background: rgba(166, 149, 128, .64);
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
@media screen and (max-width: 767px) {
  .cv .cv__line {
    top: 4.6875rem;
    left: 19.9375rem;
    width: 6.5rem;
  }
}

.cv__title {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Prata", serif;
  font-size: 180px;
  font-size: 11.25rem;
  font-weight: 400;
  line-height: 0.88;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .cv .cv__title {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 21.875rem;
    font-size: 5rem;
  }
}

@media screen and (max-width: 767px) {
  .cv .cv__title-line--top {
    margin-left: 1.25rem;
  }
}

.cv__title-line--bottom {
  margin-left: 172px;
  margin-left: 10.75rem;
}
@media screen and (max-width: 767px) {
  .cv .cv__title-line--bottom {
    margin-left: 5.9375rem;
  }
}

.cv__content {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 339px;
  width: 21.1875rem;
  padding-top: 45px;
  padding-top: 2.8125rem;
  -ms-flex-item-align: start;
      align-self: flex-start;
  gap: 40px;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .cv .cv__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    width: 21.875rem;
    padding-top: 0;
    gap: 1.5rem;
  }
}

.cv__text {
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .cv .cv__text {
    font-size: 0.875rem;
    text-align: center;
    white-space: normal;
  }
}

.cv__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 58px;
  height: 3.625rem;
  padding: 20px 50px 18px;
  padding: 1.25rem 3.125rem 1.125rem;
  background: #a69580;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.cv__button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .cv .cv__button {
    width: 20rem;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv {
    min-height: 0;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv__inner {
    gap: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv__title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv__title-line--top {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv__title-line--bottom {
    margin-left: 5rem;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv__content {
    gap: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv__text {
    font-family: "Shippori Mincho B1 palt", serif;
    letter-spacing: 0.12em;
  }
}

@media screen and (max-width: 767px) {
  :is(.page-id-15, .post-type-archive-school, .post-type-archive-session, .postid-294, .postid-295, .postid-296, .post-type-archive-voice, .single-voice, .post-type-archive-instructor, .tax-instructor-category, .single-instructor, .post-type-archive-event, .tax-event-tag, .single-event, .post-type-archive-news, .tax-news-category, .single-news, .page-contact, .page-company, .page-law, .page-privacy) .cv__content {
    width: 20rem;
    -ms-flex-item-align: center;
        align-self: center;
  }
}

/* drawer */
.drawer {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  text-align: center;
  background: #fff;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s;
  width: 100%;
  height: 100%;
}
.drawer.active {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}

.drawer__item a {
  padding: 15px 0;
  padding: 0.9375rem 0;
  display: block;
}

/* entitle */
/* fnav */
.fnav__items {
  display: grid;
  grid-template-columns: repeat(2, -webkit-max-content);
  grid-template-columns: repeat(2, max-content);
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  row-gap: 16px;
  row-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .footer .fnav__items {
    width: 20rem;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: column;
    grid-template-rows: repeat(4, auto);
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    row-gap: 0.5rem;
  }
}

.fnav__item {
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .footer .fnav__item {
    font-size: 0.875rem;
  }
}

.fnav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
  padding: 8px;
  padding: 0.5rem;
}
.fnav__link::before {
  width: 6px;
  width: 0.375rem;
  height: 13px;
  height: 0.8125rem;
  content: "";
  background: url(../img/common/nav-arrow.svg) no-repeat center/contain;
}
.fnav__link:focus-visible {
  outline: 2px solid currentcolor;
  outline: 0.125rem solid currentcolor;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}

/* footer */
.footer {
  position: relative;
  min-height: 525px;
  min-height: 32.8125rem;
  padding: 64px 80px;
  padding: 4rem 5rem;
  background: #060817;
  color: #fff;
}
.footer::before {
  position: absolute;
  top: -160px;
  top: -10rem;
  left: 0;
  width: 100%;
  height: 160px;
  height: 10rem;
  content: "";
  background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}
@media screen and (max-width: 767px) {
  .footer {
    min-height: 45.5625rem;
    padding: 2.5rem 1.25rem;
  }
  .footer::before {
    content: none;
  }
}

.footer--straight::before {
  content: none;
}

:is(.page-contact, .page-privacy, .page-law) .footer::before {
  content: none;
}

.footer__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1280px;
  max-width: 80rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .footer .footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem;
  }
}

.footer__brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .footer .footer__brand {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
  }
}

.footer__logo {
  display: block;
  width: 120px;
  width: 7.5rem;
  height: 142px;
  height: 8.875rem;
}
.footer__logo > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .footer .footer__logo {
    width: 5.25rem;
    height: 6.25rem;
  }
}

.footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
}

.footer__sns-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}
.footer__sns-link > img {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.footer__sns-link:focus-visible {
  outline: 2px solid #fff;
  outline: 0.125rem solid #fff;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .footer .footer__sns-link {
    width: 2rem;
    height: 2rem;
  }
}

.footer__sns-item--youtube img {
  width: 32px;
  width: 2rem;
  height: 27px;
  height: 1.6875rem;
}

.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 80px;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .footer .footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
  }
}

.footer__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  gap: 1rem;
  width: 280px;
  width: 17.5rem;
  padding-top: 8px;
  padding-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .footer .footer__buttons {
    width: 20rem;
    padding-top: 0;
  }
}

.footer__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 58px;
  height: 3.625rem;
  padding: 0 40px;
  padding: 0 2.5rem;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.footer__button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: no-repeat center/contain;
}
.footer__button:focus-visible {
  outline: 2px solid currentcolor;
  outline: 0.125rem solid currentcolor;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}

.footer__button--contact {
  background: #a69580;
  color: #fff;
}
.footer__button--contact::after {
  background-image: url(../img/common/button-arrow-white.svg);
}

.footer__button--shop {
  background: #fff;
  color: #a69580;
}
.footer__button--shop::after {
  background-image: url(../img/common/button-arrow-gold.svg);
}

.footer__bottom {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1280px;
  max-width: 80rem;
  margin-top: 64px;
  margin-top: 4rem;
  margin-right: auto;
  margin-left: auto;
  padding-top: 64px;
  padding-top: 4rem;
  border-top: 1px solid #d9d9d9;
  border-top: 0.0625rem solid #d9d9d9;
  color: #a7a7a7;
}
@media screen and (max-width: 767px) {
  .footer .footer__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    gap: 1.5rem;
  }
}

.footer__copyright {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .footer .footer__copyright {
    font-size: 0.625rem;
  }
}

.footer__sub-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer .footer__sub-links {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 20rem;
    gap: 1.5rem;
  }
}

.footer__sub-link {
  display: block;
  padding: 8px;
  padding: 0.5rem;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.footer__sub-link:focus-visible {
  outline: 2px solid currentcolor;
  outline: 0.125rem solid currentcolor;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .footer .footer__sub-link {
    font-size: 0.75rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
  }
}

/* form */
.form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 48px;
  gap: 3rem;
}
@media screen and (max-width: 1024px) {
  .form {
    gap: 2rem;
  }
}

.form__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 20px;
  gap: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .form__items {
    gap: 1.5rem;
  }
}

.form__item {
  display: grid;
  grid-template-columns: 20rem 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 8px;
  gap: 0.5rem;
}
@media screen and (max-width: 1024px) {
  .form__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}

.form__item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
  padding-top: 12px;
  padding-top: 0.75rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .form__item-label {
    padding-top: 0;
  }
}

.form__requirement {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 48px;
  min-width: 3rem;
  padding: 0 12px;
  padding: 0 0.75rem;
  border: 1px solid #a69580;
  border: 0.0625rem solid #a69580;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.form__requirement--required {
  background: #a69580;
  color: #fff;
}

.form__requirement--optional {
  background: #fff;
  color: #bcbcbc;
}

.form__item-input .wpcf7-form-control-wrap {
  display: block;
}
.form__item-input input[type=text],
.form__item-input input[type=tel],
.form__item-input input[type=email] {
  height: 53px;
  height: 3.3125rem;
}
.form__item-input input[type=text],
.form__item-input input[type=tel],
.form__item-input input[type=email],
.form__item-input textarea {
  display: block;
  width: 100%;
  padding: 12px 16px;
  padding: 0.75rem 1rem;
  border: 1px solid #bcbcbc;
  border: 0.0625rem solid #bcbcbc;
  background: #f9f9f9;
  color: #333;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.form__item-input input[type=text]::-webkit-input-placeholder,
.form__item-input input[type=tel]::-webkit-input-placeholder,
.form__item-input input[type=email]::-webkit-input-placeholder,
.form__item-input textarea::-webkit-input-placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.form__item-input input[type=text]::-moz-placeholder,
.form__item-input input[type=tel]::-moz-placeholder,
.form__item-input input[type=email]::-moz-placeholder,
.form__item-input textarea::-moz-placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.form__item-input input[type=text]::-ms-input-placeholder,
.form__item-input input[type=tel]::-ms-input-placeholder,
.form__item-input input[type=email]::-ms-input-placeholder,
.form__item-input textarea::-ms-input-placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.form__item-input input[type=text]::placeholder,
.form__item-input input[type=tel]::placeholder,
.form__item-input input[type=email]::placeholder,
.form__item-input textarea::placeholder {
  color: #bcbcbc;
  opacity: 1;
}
.form__item-input input[type=text]:focus-visible,
.form__item-input input[type=tel]:focus-visible,
.form__item-input input[type=email]:focus-visible,
.form__item-input textarea:focus-visible {
  border-color: #16264a;
  -webkit-box-shadow: 0 0 0 0.125rem rgba(22, 38, 74, .2);
          box-shadow: 0 0 0 0.125rem rgba(22, 38, 74, .2);
}
.form__item-input textarea {
  height: 240px;
  height: 15rem;
  resize: none;
}

.form__agreement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .form__agreement {
    font-size: 0.875rem;
  }
}

.form__agreement-text a {
  color: #a69580;
  text-decoration: underline;
  text-underline-position: under;
}

.form__agreement-check .wpcf7-form-control-wrap,
.form__agreement-check .wpcf7-acceptance,
.form__agreement-check .wpcf7-list-item,
.form__agreement-check label {
  display: block;
  margin: 0;
}
.form__agreement-check .wpcf7-list-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
}
.form__agreement-check .wpcf7-list-item-label::before {
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  content: "";
  border: 1px solid #bcbcbc;
  border: 0.0625rem solid #bcbcbc;
  border-radius: 0.125rem;
  background: #fff;
}
.form__agreement-check input:checked + .wpcf7-list-item-label::before {
  border-color: #16264a;
  background: #16264a url(../img/common/contact-check.svg) center/14px 14px no-repeat;
  background: #16264a url(../img/common/contact-check.svg) center/0.875rem 0.875rem no-repeat;
}
.form__agreement-check input:focus-visible + .wpcf7-list-item-label::before {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 2px;
  outline-offset: 0.125rem;
}

.form__submit {
  position: relative;
  width: 263px;
  width: 16.4375rem;
}
@media screen and (max-width: 1024px) {
  .form__submit {
    width: 100%;
  }
}
.form__submit::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
.form__submit input[type=submit] {
  display: block;
  width: 100%;
  padding: 18px 50px 16px;
  padding: 1.125rem 3.125rem 1rem;
  background: linear-gradient(103deg, #16264a 4%, #9cb2ca 100%);
  color: #fff;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
}

.form .wpcf7-spinner {
  position: absolute;
  right: -40px;
  right: -2.5rem;
  bottom: 16px;
  bottom: 1rem;
  margin: 0;
}

.form .wpcf7-not-valid-tip {
  margin-top: 4px;
  margin-top: 0.25rem;
  color: #b42318;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: left;
}

.contact .wpcf7-response-output {
  width: 100%;
  margin: 0;
  padding: 12px 16px;
  padding: 0.75rem 1rem;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.6;
}

/* gnav */
@media screen and (max-width: 1024px) {
  .header .gnav {
    display: none;
  }
}

.gnav__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  gap: 0.75rem;
}

.gnav__item {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  white-space: nowrap;
}

.gnav__link {
  display: block;
  padding: 8px;
  padding: 0.5rem;
}
.gnav__link:focus-visible {
  outline: 2px solid currentcolor;
  outline: 0.125rem solid currentcolor;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}

.gnav__item--external .gnav__link {
  position: relative;
  padding-right: 26px;
  padding-right: 1.625rem;
}
.gnav__item--external .gnav__link::after {
  position: absolute;
  top: 50%;
  right: 8px;
  right: 0.5rem;
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
  content: "";
  background: currentcolor;
  -webkit-mask: url(../img/common/external-link.svg) center/contain no-repeat;
  mask: url(../img/common/external-link.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-color 0.35s ease;
  transition: background-color 0.35s ease;
}

/* hamburger */
.hamburger {
  display: block;
  position: absolute;
  z-index: 30;
  right: 20px;
  right: 1.25rem;
  top: 25px;
  top: 1.5625rem;
  width: 30px;
  width: 1.875rem;
  height: 30px;
  height: 1.875rem;
  cursor: pointer;
  text-align: center;
}
.hamburger.active .hamburger__border {
  top: 8px;
  top: 0.5rem;
}
.hamburger.active .hamburger__border:nth-child(1) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.hamburger.active .hamburger__border:nth-child(2), .hamburger.active .hamburger__border:nth-child(3) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.hamburger__border {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  height: 0.125rem;
  left: 0;
  background: #000;
  -webkit-transition: top 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.hamburger__border:nth-child(1) {
  top: 0;
}
.hamburger__border:nth-child(2) {
  top: 10px;
  top: 0.625rem;
}
.hamburger__border:nth-child(3) {
  top: 20px;
  top: 1.25rem;
}

/* header */
.header {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 114px;
  height: 7.125rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .header {
    height: 5rem;
  }
}

.header--on-light {
  color: #16264a;
}

.header--on-dark {
  color: #fff;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1440px;
  max-width: 90rem;
  height: 100%;
  padding: 32px 50px;
  padding: 2rem 3.125rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 1024px) {
  .header .header__inner {
    width: 100%;
    max-width: none;
    padding: 1.25rem;
  }
}

.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Prata", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 0.8;
  letter-spacing: -0.08em;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s color 0.3s ease;
  transition: opacity 0.3s color 0.3s ease;
}
.header__logo em {
  font-style: italic;
}
@media screen and (max-width: 1024px) {
  .header .header__logo {
    font-family: "Didot", serif;
    font-size: 1.5rem;
  }
}

.header__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  gap: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .header .header__navigation {
    gap: 1rem;
  }
}

.header__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120px;
  width: 7.5rem;
  height: 50px;
  height: 3.125rem;
  border-radius: 50%;
  background: #a69580;
  color: #fff;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.08em;
  text-shadow: 0 0 4px rgba(0, 0, 0, .25);
  text-shadow: 0 0 0.25rem rgba(0, 0, 0, .25);
}
@media screen and (max-width: 1024px) {
  .header .header__contact {
    font-family: "Didot", serif;
    width: 4.8125rem;
    height: 2rem;
    font-size: 0.875rem;
  }
}

.header__menu-button {
  position: relative;
  display: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  color: inherit;
}
@media screen and (max-width: 1024px) {
  .header .header__menu-button {
    display: block;
  }
}
.header__menu-button::after {
  position: absolute;
  top: 9px;
  top: 0.5625rem;
  right: 2px;
  right: 0.125rem;
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  content: "";
  background: currentcolor;
  -webkit-mask: url(../img/top/top-star-sp.svg) center/contain no-repeat;
  mask: url(../img/top/top-star-sp.svg) center/contain no-repeat;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.header__menu-line {
  position: absolute;
  left: 0;
  height: 1px;
  height: 0.0625rem;
  background: currentcolor;
  -webkit-transition: background-color 0.3s ease, top 0.3s ease, width 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, top 0.3s ease, width 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, top 0.3s ease, transform 0.3s ease, width 0.3s ease;
  transition: background-color 0.3s ease, top 0.3s ease, transform 0.3s ease, width 0.3s ease, -webkit-transform 0.3s ease;
}
.header__menu-line:first-child {
  top: 15px;
  top: 0.9375rem;
  width: 32px;
  width: 2rem;
}
.header__menu-line:last-child {
  top: 22px;
  top: 1.375rem;
  width: 20px;
  width: 1.25rem;
}

.is-menu-open {
  overflow: hidden;
}
.is-menu-open .header {
  position: fixed;
  z-index: 30;
  color: #16264a;
}
.is-menu-open .header .header__menu-button::after {
  content: none;
}
.is-menu-open .header .header__menu-line {
  top: 20px;
  top: 1.25rem;
  right: 6px;
  right: 0.375rem;
  width: 31px;
  width: 1.9375rem;
  background: #000;
}
.is-menu-open .header .header__menu-line:first-child {
  -webkit-transform: rotate(16deg);
          transform: rotate(16deg);
}
.is-menu-open .header .header__menu-line:last-child {
  -webkit-transform: rotate(-16deg);
          transform: rotate(-16deg);
}

/* instructor-card */
.instructor-card {
  min-width: 0;
  width: 240px;
  width: 15rem;
}

.instructor-card--top {
  width: 280px;
  width: 17.5rem;
}
@media screen and (max-width: 767px) {
  .instructor-card--top {
    width: 15rem;
  }
}

.instructor-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 0;
  gap: 14px;
  gap: 0.875rem;
}

.instructor-card__img {
  position: relative;
  width: 240px;
  width: 15rem;
  height: 320px;
  height: 20rem;
  overflow: visible;
}

.instructor-card--top .instructor-card__img {
  width: 280px;
  width: 17.5rem;
  height: 373px;
  height: 23.3125rem;
}
@media screen and (max-width: 767px) {
  .instructor-card--top .instructor-card__img {
    width: 15rem;
    height: 20rem;
  }
}

.instructor-card__photo {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 62.5rem 62.5rem 0 0;
}
.instructor-card__photo img {
  position: absolute;
  top: 0;
  left: -6%;
  display: block;
  width: 105%;
  max-width: none;
  height: 119%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .instructor-card__link:hover {
    opacity: 1;
  }
  .instructor-card__link:hover .instructor-card__photo img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .instructor-card__photo img {
    -webkit-transition: none;
    transition: none;
  }
}
.instructor-card__photo--placeholder {
  background: #9cb2ca;
}

.instructor-card__category {
  position: absolute;
  right: -16px;
  right: -1rem;
  bottom: 16px;
  bottom: 1rem;
  padding: 8px 12px;
  padding: 0.5rem 0.75rem;
  background: #fff;
  color: #16264a;
  font-size: 16px;
  font-size: 1rem;
  max-width: calc(100% + 2rem);
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
  word-wrap: anywhere;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.instructor-card__star {
  position: absolute;
  top: 20px;
  top: 1.25rem;
  left: 20px;
  left: 1.25rem;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  background: url(../img/instructor/instructor-card-star.svg) center/contain no-repeat;
}

.instructor-card__title {
  min-width: 0;
  width: 100%;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-align: center;
  word-wrap: anywhere;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.instructor-card--top .instructor-card__star {
  background-image: url(../img/instructor/instructor-card-star-white.svg);
}

.instructor-card--top .instructor-card__title {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .instructor-card--top .instructor-card__title {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-card--top .instructor-card__link {
    gap: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-card--top .instructor-card__category {
    font-size: 0.875rem;
  }
}

/* line */
.line {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.line--top::before, .line--top::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}
.line--top::before {
  top: 108px;
  top: 6.75rem;
  left: -353px;
  left: -22.0625rem;
  width: 561px;
  width: 35.0625rem;
  height: 561px;
  height: 35.0625rem;
  background: url(../img/top/top-line-decoration-left-pc.svg) center/contain no-repeat;
}
.line--top::after {
  top: -94px;
  top: -5.875rem;
  right: -250px;
  right: -15.625rem;
  width: 321px;
  width: 20.0625rem;
  height: 321px;
  height: 20.0625rem;
  background: url(../img/top/top-line-decoration-right-pc.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .line--top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: url(../img/top/top-line-star-sp.svg) right 2.5625rem top/0.75rem 0.75rem no-repeat;
    gap: 1.5rem;
  }
  .line--top::before {
    top: 10.8125rem;
    left: -16.4375rem;
    width: 20rem;
    height: 20rem;
    background-image: url(../img/top/top-line-decoration-left-sp.svg);
  }
  .line--top::after {
    top: -4.5rem;
    right: -11.3125rem;
    width: 15rem;
    height: 15rem;
    background-image: url(../img/top/top-line-decoration-right-sp.svg);
  }
}

.line__img {
  position: relative;
  z-index: 1;
  width: 640px;
  width: 40rem;
  height: 355px;
  height: 22.1875rem;
}
.line__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .line--top .line__img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 20rem;
    height: 11.0625rem;
  }
}

.line__content {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 400px;
  width: 25rem;
  gap: 40px;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .line--top .line__content {
    display: contents;
  }
}

.line__title {
  color: #9cb2ca;
  font-family: "Prata", serif;
  font-size: 64px;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
}
.line--top .line__title {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .line--top .line__title {
    font-size: 3.5rem;
    text-align: center;
  }
}

.line__subtitle {
  margin-top: 12px;
  margin-top: 0.75rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .line--top .line__subtitle {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    text-align: center;
  }
}

.line__text {
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .line--top .line__text {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 21.875rem;
    font-size: 1rem;
    text-align: center;
  }
}

.line__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: start;
      align-self: flex-start;
  padding: 8px 24px 8px 32px;
  padding: 0.5rem 1.5rem 0.5rem 2rem;
  background: #05c756;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  gap: 8px;
  gap: 0.5rem;
}
.line__button:focus-visible {
  outline: 2px solid #fff;
  outline: 0.125rem solid #fff;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .line--top .line__button {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    letter-spacing: 0.1em;
    -ms-flex-item-align: center;
        align-self: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 20rem;
    height: 3.5rem;
    padding: 0.5rem 1.5625rem 0.5rem 1.875rem;
    font-size: 1.125rem;
  }
}

.line__button-icon {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
}
.line__button-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .line__subtitle {
    margin-top: 0.25rem;
    font-family: "Shippori Mincho B1 palt", serif;
    font-weight: 500;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .line__text {
    font-family: "Shippori Mincho B1 palt", serif;
    font-weight: 500;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .line__content > div:first-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  :is(.home, .page-id-15) .line__subtitle {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}

/* list */
.list__items {
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 1024px) {
  .list__items {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}

.list__label,
.list__value {
  padding: 32px 24px;
  padding: 2rem 1.5rem;
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
  text-align: left;
  min-width: 0;
  word-wrap: anywhere;
}
@media screen and (max-width: 1024px) {
  .list__label,
  .list__value {
    width: 100%;
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}

.list__row {
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
}
@media screen and (max-width: 1024px) {
  .list__row {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.625rem;
  }
  .list__row::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 7.5rem;
    height: 0.0625rem;
    content: "";
    background: #16264a;
  }
}
.list__row:first-child .list__label,
.list__row:first-child .list__value {
  padding-top: 0;
}

.list__label {
  border-color: #16264a;
  color: #16264a;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .list__label {
    padding-top: 1.5rem;
    padding-bottom: 0;
    border-bottom: 0;
    font-weight: 500;
  }
}

.list__value {
  border-color: #9cb2ca;
  color: #333;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .list__value {
    padding-top: 0;
    padding-bottom: 1.5rem;
  }
}

.list--company .list__items {
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

@media screen and (max-width: 767px) {
  .list--law .list__items {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}

@media screen and (max-width: 767px) {
  .list--law .list__value {
    line-break: strict;
  }
}

/* main */
.main {
  overflow: clip;
}

/* menu */
.menu {
  display: none;
}
.menu[hidden] {
  display: none;
}
@media screen and (max-width: 1024px) {
  .menu {
    position: fixed;
    z-index: 20;
    inset: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 100svh;
    padding: 5.625rem 1.25rem 2.5rem;
    overflow-y: auto;
    background: url(../img/top/top-menu-bg.svg) center top/100% auto no-repeat, -webkit-gradient(linear, left top, left bottom, from(#efeee9), to(#c4bfb5));
    background: url(../img/top/top-menu-bg.svg) center top/100% auto no-repeat, linear-gradient(180deg, #efeee9 0%, #c4bfb5 100%);
  }
}

.menu__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  gap: 2rem;
}

.menu__items {
  width: 320px;
  width: 20rem;
}

.menu__item {
  border-bottom: 1px solid #a69580;
  border-bottom: 0.0625rem solid #a69580;
  font-family: "Shippori Mincho B1", serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.menu__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
  padding: 18px 16px 17px;
  padding: 1.125rem 1rem 1.0625rem;
}
.menu__link::before {
  width: 5px;
  width: 0.3125rem;
  height: 12px;
  height: 0.75rem;
  content: "";
  background: url(../img/top/top-menu-arrow.svg) center/contain no-repeat;
}

.menu__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 320px;
  width: 20rem;
  gap: 16px;
  gap: 1rem;
}

.menu__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 58px;
  height: 3.625rem;
  padding-top: 2px;
  padding-top: 0.125rem;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.menu__button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.menu__button--contact {
  background: #a69580;
  color: #fff;
}
.menu__button--contact::after {
  background-image: url(../img/common/button-arrow-white.svg);
}

.menu__button--shop {
  background: #fff;
  color: #a69580;
}
.menu__button--shop::after {
  background-image: url(../img/common/button-arrow-gold.svg);
}

.header__menu-button:focus-visible,
.menu__link:focus-visible,
.menu__button:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}

@media screen and (prefers-reduced-motion: no-preference) {
  .is-animation-pending {
    opacity: 0;
  }
  .js-animation-decoration.is-animation-pending {
    opacity: 1;
  }
  .js-animation-title.is-animation-pending:not(.is-animation-fade) {
    opacity: 1;
    -webkit-clip-path: inset(-1rem 100% -1rem -1rem);
            clip-path: inset(-1rem 100% -1rem -1rem);
  }
  @supports ((-webkit-mask-image: linear-gradient(#000, transparent)) or (mask-image: linear-gradient(#000, transparent))) {
    .js-animation-title.is-animation-pending:not(.is-animation-fade) {
      -webkit-clip-path: none;
              clip-path: none;
      -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
      -webkit-mask-image: linear-gradient(transparent, transparent);
              mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
              mask-image: linear-gradient(transparent, transparent);
    }
  }
  .js-animation-title.is-animation-running,
  .js-animation-content.is-animation-running,
  .js-animation-image.is-animation-running,
  .js-animation-card.is-animation-running {
    -webkit-animation: reveal-content 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0ms both;
            animation: reveal-content 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0ms both;
  }
  .js-animation-title.is-animation-running:not(.is-animation-fade) {
    -webkit-animation-name: reveal-title;
            animation-name: reveal-title;
    -webkit-animation-duration: 1.35s;
            animation-duration: 1.35s;
    -webkit-animation-timing-function: cubic-bezier(0.37, 0, 0.63, 1);
            animation-timing-function: cubic-bezier(0.37, 0, 0.63, 1);
  }
  @supports ((-webkit-mask-image: linear-gradient(#000, transparent)) or (mask-image: linear-gradient(#000, transparent))) {
    .js-animation-title.is-animation-running:not(.is-animation-fade) {
      -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(0, #000), color-stop(42%, rgba(0, 0, 0, .9)), color-stop(50%, rgba(0, 0, 0, .55)), color-stop(58%, rgba(0, 0, 0, .18)), color-stop(66%, transparent));
      -webkit-mask-image: linear-gradient(to right, #000 0 34%, rgba(0, 0, 0, .9) 42%, rgba(0, 0, 0, .55) 50%, rgba(0, 0, 0, .18) 58%, transparent 66%);
              mask-image: -webkit-gradient(linear, left top, right top, color-stop(0, #000), color-stop(42%, rgba(0, 0, 0, .9)), color-stop(50%, rgba(0, 0, 0, .55)), color-stop(58%, rgba(0, 0, 0, .18)), color-stop(66%, transparent));
              mask-image: linear-gradient(to right, #000 0 34%, rgba(0, 0, 0, .9) 42%, rgba(0, 0, 0, .55) 50%, rgba(0, 0, 0, .18) 58%, transparent 66%);
      -webkit-mask-size: 300% 100%;
              mask-size: 300% 100%;
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-animation-name: reveal-title-soft;
              animation-name: reveal-title-soft;
    }
  }
  .js-animation-image.is-animation-running {
    -webkit-animation-name: reveal-image;
            animation-name: reveal-image;
    -webkit-animation-duration: 1.08s;
            animation-duration: 1.08s;
  }
  .js-animation-card.is-animation-running {
    -webkit-animation-name: reveal-card;
            animation-name: reveal-card;
    -webkit-animation-duration: 0.76s;
            animation-duration: 0.76s;
  }
  .is-animation-fade.is-animation-running {
    -webkit-animation-name: reveal-fade;
            animation-name: reveal-fade;
  }
  .js-animation-decoration.is-animation-running {
    -webkit-animation: reveal-decoration-shell 2.4s linear both;
            animation: reveal-decoration-shell 2.4s linear both;
  }
  @-webkit-keyframes reveal-title-soft {
    from {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="6" /></filter></svg>#filter');
      -webkit-filter: blur(0.375rem);
              filter: blur(0.375rem);
      -webkit-mask-position: 100% 0;
              mask-position: 100% 0;
    }
    48% {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3.5" /></filter></svg>#filter');
      -webkit-filter: blur(0.21875rem);
              filter: blur(0.21875rem);
    }
    78% {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="1.25" /></filter></svg>#filter');
      -webkit-filter: blur(0.078125rem);
              filter: blur(0.078125rem);
    }
    to {
      -webkit-filter: none;
              filter: none;
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @keyframes reveal-title-soft {
    from {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="6" /></filter></svg>#filter');
      -webkit-filter: blur(0.375rem);
              filter: blur(0.375rem);
      -webkit-mask-position: 100% 0;
              mask-position: 100% 0;
    }
    48% {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="3.5" /></filter></svg>#filter');
      -webkit-filter: blur(0.21875rem);
              filter: blur(0.21875rem);
    }
    78% {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="1.25" /></filter></svg>#filter');
      -webkit-filter: blur(0.078125rem);
              filter: blur(0.078125rem);
    }
    to {
      -webkit-filter: none;
              filter: none;
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @-webkit-keyframes reveal-title {
    from {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="5" /></filter></svg>#filter');
      -webkit-filter: blur(0.3125rem);
              filter: blur(0.3125rem);
      -webkit-clip-path: inset(-1rem 100% -1rem -1rem);
              clip-path: inset(-1rem 100% -1rem -1rem);
    }
    68% {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="1.5" /></filter></svg>#filter');
      -webkit-filter: blur(0.09375rem);
              filter: blur(0.09375rem);
    }
    to {
      -webkit-filter: none;
              filter: none;
      -webkit-clip-path: inset(-1rem);
              clip-path: inset(-1rem);
    }
  }
  @keyframes reveal-title {
    from {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="5" /></filter></svg>#filter');
      -webkit-filter: blur(0.3125rem);
              filter: blur(0.3125rem);
      -webkit-clip-path: inset(-1rem 100% -1rem -1rem);
              clip-path: inset(-1rem 100% -1rem -1rem);
    }
    68% {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="1.5" /></filter></svg>#filter');
      -webkit-filter: blur(0.09375rem);
              filter: blur(0.09375rem);
    }
    to {
      -webkit-filter: none;
              filter: none;
      -webkit-clip-path: inset(-1rem);
              clip-path: inset(-1rem);
    }
  }
  @-webkit-keyframes reveal-content {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
      -webkit-filter: blur(0.125rem);
              filter: blur(0.125rem);
      translate: 0 1rem;
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
      translate: none;
    }
  }
  @keyframes reveal-content {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
      -webkit-filter: blur(0.125rem);
              filter: blur(0.125rem);
      translate: 0 1rem;
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
      translate: none;
    }
  }
  @-webkit-keyframes reveal-image {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="5" /></filter></svg>#filter');
      -webkit-filter: blur(0.3125rem);
              filter: blur(0.3125rem);
      translate: 0 1.25rem;
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
      translate: none;
    }
  }
  @keyframes reveal-image {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="5" /></filter></svg>#filter');
      -webkit-filter: blur(0.3125rem);
              filter: blur(0.3125rem);
      translate: 0 1.25rem;
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
      translate: none;
    }
  }
  @-webkit-keyframes reveal-card {
    from {
      opacity: 0;
      translate: 0 0.75rem;
    }
    to {
      opacity: 1;
      translate: none;
    }
  }
  @keyframes reveal-card {
    from {
      opacity: 0;
      translate: 0 0.75rem;
    }
    to {
      opacity: 1;
      translate: none;
    }
  }
  @-webkit-keyframes reveal-fade {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes reveal-fade {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @-webkit-keyframes reveal-decoration-shell {
    from, to {
      opacity: 1;
    }
  }
  @keyframes reveal-decoration-shell {
    from, to {
      opacity: 1;
    }
  }
  @-webkit-keyframes reveal-static-decoration-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes reveal-static-decoration-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @-webkit-keyframes hide-temporary-decoration {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @keyframes hide-temporary-decoration {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @-webkit-keyframes reveal-shooting-line {
    from {
      opacity: 0;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    to {
      opacity: 1;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @keyframes reveal-shooting-line {
    from {
      opacity: 0;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    to {
      opacity: 1;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @-webkit-keyframes reveal-shooting-star-in-place {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
      -webkit-filter: blur(0.125rem);
              filter: blur(0.125rem);
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
    }
  }
  @keyframes reveal-shooting-star-in-place {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
      -webkit-filter: blur(0.125rem);
              filter: blur(0.125rem);
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
    }
  }
  .top-mv__circles.is-animation-pending .top-mv__circles-picture {
    opacity: 0;
  }
  .top-mv__circles.is-animation-pending .top-mv__shooting-star {
    display: block;
  }
  .top-mv__circles.is-animation-pending .top-mv__shooting-line {
    opacity: 0;
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  .top-mv__circles.is-animation-pending .top-mv__shooting-star-shape {
    opacity: 0;
  }
  .top-mv__circles.is-animation-running .top-mv__circles-picture {
    -webkit-animation: reveal-hero-decoration 0.18s ease 2.64s backwards;
            animation: reveal-hero-decoration 0.18s ease 2.64s backwards;
  }
  .top-mv__circles.is-animation-running .top-mv__shooting-star {
    display: block;
    -webkit-animation: reveal-hero-shooting-overlay 0.18s ease 2.64s both;
            animation: reveal-hero-shooting-overlay 0.18s ease 2.64s both;
  }
  .top-mv__circles.is-animation-running .top-mv__shooting-star--left .top-mv__shooting-line {
    -webkit-animation: reveal-hero-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
            animation: reveal-hero-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
  }
  .top-mv__circles.is-animation-running .top-mv__shooting-star--left .top-mv__shooting-star-shape {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
            animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
  }
  .top-mv__circles.is-animation-running .top-mv__shooting-star--right .top-mv__shooting-line {
    -webkit-animation: reveal-hero-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 1.42s both;
            animation: reveal-hero-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 1.42s both;
  }
  .top-mv__circles.is-animation-running .top-mv__shooting-star--right .top-mv__shooting-star-shape {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 2.24s both;
            animation: reveal-shooting-star-in-place 0.4s ease 2.24s both;
  }
  @-webkit-keyframes reveal-hero-decoration {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
      -webkit-filter: blur(0.125rem);
              filter: blur(0.125rem);
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
    }
  }
  @keyframes reveal-hero-decoration {
    from {
      opacity: 0;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
      -webkit-filter: blur(0.125rem);
              filter: blur(0.125rem);
    }
    to {
      opacity: 1;
      -webkit-filter: none;
              filter: none;
    }
  }
  @-webkit-keyframes reveal-hero-shooting-line {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 0 100%);
              clip-path: inset(0 0 0 100%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
  @keyframes reveal-hero-shooting-line {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 0 100%);
              clip-path: inset(0 0 0 100%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
  @-webkit-keyframes reveal-hero-shooting-overlay {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @keyframes reveal-hero-shooting-overlay {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  .mv__decoration.is-animation-pending .mv__shooting-line {
    opacity: 0;
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  .mv__decoration.is-animation-pending .mv__star {
    opacity: 0;
  }
  .mv__decoration.is-animation-running .mv__shooting-line {
    -webkit-animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
            animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
  }
  .mv__decoration.is-animation-running .mv__star--large {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
            animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
  }
  .mv__decoration.is-animation-running .mv__star--small {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
            animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
  }
  @-webkit-keyframes reveal-mv-shooting-line {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 0 100%);
              clip-path: inset(0 0 0 100%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
  @keyframes reveal-mv-shooting-line {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 0 100%);
              clip-path: inset(0 0 0 100%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
}
@media screen and (prefers-reduced-motion: no-preference) and (max-width: 767px) {
  :is(.post__decoration, .instructor-hero__decoration).is-animation-pending .post__line,
  :is(.post__decoration, .instructor-hero__decoration).is-animation-pending .instructor-hero__line {
    opacity: 0;
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  :is(.post__decoration, .instructor-hero__decoration).is-animation-pending .post__star,
  :is(.post__decoration, .instructor-hero__decoration).is-animation-pending .instructor-hero__star {
    opacity: 0;
  }
  :is(.post__decoration, .instructor-hero__decoration).is-animation-pending::before {
    opacity: 0;
  }
  :is(.single-event, .single-news) .post__decoration.is-animation-running .post__line {
    -webkit-animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
            animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
  }
  :is(.single-event, .single-news) .post__decoration.is-animation-running .post__star {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
            animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
  }
  :is(.single-event, .single-news) .post__decoration.is-animation-running::before {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
            animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
  }
  .voice-detail .post__decoration.is-animation-running .post__line {
    -webkit-animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
            animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
  }
  .voice-detail .post__decoration.is-animation-running::before {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
            animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
  }
  .voice-detail .post__decoration.is-animation-running .post__star {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
            animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
  }
  .instructor-hero__decoration.is-animation-running .instructor-hero__line {
    -webkit-animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
            animation: reveal-mv-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
  }
  .instructor-hero__decoration.is-animation-running .instructor-hero__star--large {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
            animation: reveal-shooting-star-in-place 0.4s ease 0.92s both;
  }
  .instructor-hero__decoration.is-animation-running .instructor-hero__star--small {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
            animation: reveal-shooting-star-in-place 0.4s ease 1.16s both;
  }
}
@media screen and (prefers-reduced-motion: no-preference) {
  .top-mv__portrait.is-animation-running,
  .profile__portrait.is-animation-running {
    -webkit-animation-name: reveal-sphere;
            animation-name: reveal-sphere;
    -webkit-animation-duration: 1.65s;
            animation-duration: 1.65s;
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
  @-webkit-keyframes reveal-sphere {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes reveal-sphere {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .top-mv__concept.is-animation-pending .top-mv__concept-item {
    opacity: 0;
  }
  .top-mv__concept:is(.is-animation-pending, .is-animation-running)::before {
    content: none;
  }
  .top-mv__concept:is(.is-animation-pending, .is-animation-running) .top-mv__concept-decoration {
    display: block;
  }
  .top-mv__concept.is-animation-running {
    -webkit-animation-duration: 1.2s;
            animation-duration: 1.2s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-item {
    -webkit-animation: reveal-content 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
            animation: reveal-content 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-item:nth-child(2) {
    -webkit-animation-delay: 0.12s;
            animation-delay: 0.12s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-item:nth-child(3) {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-item:nth-child(4) {
    -webkit-animation-delay: 0.28s;
            animation-delay: 0.28s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-item:nth-child(5) {
    -webkit-animation-delay: 0.36s;
            animation-delay: 0.36s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-item:nth-child(6) {
    -webkit-animation-delay: 0.44s;
            animation-delay: 0.44s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-item:nth-child(7) {
    -webkit-animation-delay: 0.52s;
            animation-delay: 0.52s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-decoration-line {
    -webkit-animation: reveal-diagonal-decoration 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
            animation: reveal-diagonal-decoration 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-decoration-line--1 {
    -webkit-animation-delay: 0.08s;
            animation-delay: 0.08s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-decoration-line--2 {
    -webkit-animation-delay: 0.28s;
            animation-delay: 0.28s;
  }
  .top-mv__concept.is-animation-running .top-mv__concept-decoration-line--3 {
    -webkit-animation-delay: 0.48s;
            animation-delay: 0.48s;
  }
  .top-mv__concept.is-animation-pending .top-mv__concept-decoration-line {
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
            clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
  }
  @-webkit-keyframes reveal-diagonal-decoration {
    from {
      opacity: 0;
      -webkit-clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
              clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
    }
    to {
      opacity: 1;
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
              clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
  }
  @keyframes reveal-diagonal-decoration {
    from {
      opacity: 0;
      -webkit-clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
              clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
    }
    to {
      opacity: 1;
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
              clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
  }
  .top-event__rays.is-animation-pending path {
    opacity: 0;
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  .top-event__rays.is-animation-running path {
    -webkit-animation: reveal-event-ray 1.18s cubic-bezier(0.16, 1, 0.3, 1) both;
            animation: reveal-event-ray 1.18s cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  .top-event__rays.is-animation-running path:nth-child(1) {
    -webkit-animation-delay: 0.06s;
            animation-delay: 0.06s;
  }
  .top-event__rays.is-animation-running path:nth-child(2) {
    -webkit-animation-delay: 0.074s;
            animation-delay: 0.074s;
  }
  .top-event__rays.is-animation-running path:nth-child(3) {
    -webkit-animation-delay: 0.088s;
            animation-delay: 0.088s;
  }
  .top-event__rays.is-animation-running path:nth-child(4) {
    -webkit-animation-delay: 0.102s;
            animation-delay: 0.102s;
  }
  .top-event__rays.is-animation-running path:nth-child(5) {
    -webkit-animation-delay: 0.116s;
            animation-delay: 0.116s;
  }
  .top-event__rays.is-animation-running path:nth-child(6) {
    -webkit-animation-delay: 0.13s;
            animation-delay: 0.13s;
  }
  .top-event__rays.is-animation-running path:nth-child(7) {
    -webkit-animation-delay: 0.144s;
            animation-delay: 0.144s;
  }
  .top-event__rays.is-animation-running path:nth-child(8) {
    -webkit-animation-delay: 0.158s;
            animation-delay: 0.158s;
  }
  .top-event__rays.is-animation-running path:nth-child(9) {
    -webkit-animation-delay: 0.172s;
            animation-delay: 0.172s;
  }
  .top-event__rays.is-animation-running path:nth-child(10) {
    -webkit-animation-delay: 0.186s;
            animation-delay: 0.186s;
  }
  .top-event__rays.is-animation-running path:nth-child(11) {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  .top-event__rays.is-animation-running path:nth-child(12) {
    -webkit-animation-delay: 0.214s;
            animation-delay: 0.214s;
  }
  .top-event__rays.is-animation-running path:nth-child(13) {
    -webkit-animation-delay: 0.228s;
            animation-delay: 0.228s;
  }
  .top-event__rays.is-animation-running path:nth-child(14) {
    -webkit-animation-delay: 0.242s;
            animation-delay: 0.242s;
  }
  .top-event__rays.is-animation-running path:nth-child(15) {
    -webkit-animation-delay: 0.256s;
            animation-delay: 0.256s;
  }
  .top-event__rays.is-animation-running path:nth-child(16) {
    -webkit-animation-delay: 0.27s;
            animation-delay: 0.27s;
  }
  .top-event__rays.is-animation-running path:nth-child(17) {
    -webkit-animation-delay: 0.284s;
            animation-delay: 0.284s;
  }
  .top-event__rays.is-animation-running path:nth-child(18) {
    -webkit-animation-delay: 0.298s;
            animation-delay: 0.298s;
  }
  .top-event__rays.is-animation-running path:nth-child(19) {
    -webkit-animation-delay: 0.312s;
            animation-delay: 0.312s;
  }
  .top-event__rays.is-animation-running path:nth-child(20) {
    -webkit-animation-delay: 0.326s;
            animation-delay: 0.326s;
  }
  .top-event__rays.is-animation-running path:nth-child(21) {
    -webkit-animation-delay: 0.34s;
            animation-delay: 0.34s;
  }
  .top-event__rays.is-animation-running path:nth-child(22) {
    -webkit-animation-delay: 0.354s;
            animation-delay: 0.354s;
  }
  .top-event__rays.is-animation-running path:nth-child(23) {
    -webkit-animation-delay: 0.368s;
            animation-delay: 0.368s;
  }
  .top-event__rays.is-animation-running path:nth-child(24) {
    -webkit-animation-delay: 0.382s;
            animation-delay: 0.382s;
  }
  .top-event__rays.is-animation-running path:nth-child(25) {
    -webkit-animation-delay: 0.396s;
            animation-delay: 0.396s;
  }
  .top-event__rays.is-animation-running path:nth-child(26) {
    -webkit-animation-delay: 0.41s;
            animation-delay: 0.41s;
  }
  .top-event__rays.is-animation-running path:nth-child(27) {
    -webkit-animation-delay: 0.424s;
            animation-delay: 0.424s;
  }
  .top-event__rays.is-animation-running path:nth-child(28) {
    -webkit-animation-delay: 0.438s;
            animation-delay: 0.438s;
  }
  .top-event__rays.is-animation-running path:nth-child(29) {
    -webkit-animation-delay: 0.452s;
            animation-delay: 0.452s;
  }
  .top-event__rays.is-animation-running path:nth-child(30) {
    -webkit-animation-delay: 0.466s;
            animation-delay: 0.466s;
  }
  .top-event__rays.is-animation-running path:nth-child(31) {
    -webkit-animation-delay: 0.48s;
            animation-delay: 0.48s;
  }
  .top-event__rays.is-animation-running path:nth-child(32) {
    -webkit-animation-delay: 0.494s;
            animation-delay: 0.494s;
  }
  .top-event__rays.is-animation-running path:nth-child(33) {
    -webkit-animation-delay: 0.508s;
            animation-delay: 0.508s;
  }
  .top-event__rays.is-animation-running path:nth-child(34) {
    -webkit-animation-delay: 0.522s;
            animation-delay: 0.522s;
  }
  .top-event__rays.is-animation-running path:nth-child(35) {
    -webkit-animation-delay: 0.536s;
            animation-delay: 0.536s;
  }
  .top-event__rays.is-animation-running path:nth-child(36) {
    -webkit-animation-delay: 0.55s;
            animation-delay: 0.55s;
  }
  .top-event__rays.is-animation-running path:nth-child(37) {
    -webkit-animation-delay: 0.564s;
            animation-delay: 0.564s;
  }
  .top-event__rays.is-animation-running path:nth-child(38) {
    -webkit-animation-delay: 0.578s;
            animation-delay: 0.578s;
  }
  .top-event__rays.is-animation-running path:nth-child(39) {
    -webkit-animation-delay: 0.592s;
            animation-delay: 0.592s;
  }
  .top-event__rays.is-animation-running path:nth-child(40) {
    -webkit-animation-delay: 0.606s;
            animation-delay: 0.606s;
  }
  .top-event__rays.is-animation-running path:nth-child(41) {
    -webkit-animation-delay: 0.62s;
            animation-delay: 0.62s;
  }
  .top-event__rays.is-animation-running path:nth-child(42) {
    -webkit-animation-delay: 0.634s;
            animation-delay: 0.634s;
  }
  .top-event__rays.is-animation-running path:nth-child(43) {
    -webkit-animation-delay: 0.648s;
            animation-delay: 0.648s;
  }
  .top-event__rays.is-animation-running path:nth-child(44) {
    -webkit-animation-delay: 0.662s;
            animation-delay: 0.662s;
  }
  .top-event__rays.is-animation-running path:nth-child(45) {
    -webkit-animation-delay: 0.676s;
            animation-delay: 0.676s;
  }
  .top-event__rays.is-animation-running path:nth-child(46) {
    -webkit-animation-delay: 0.69s;
            animation-delay: 0.69s;
  }
  .top-event__rays.is-animation-running path:nth-child(47) {
    -webkit-animation-delay: 0.704s;
            animation-delay: 0.704s;
  }
  .top-event__rays.is-animation-running path:nth-child(48) {
    -webkit-animation-delay: 0.718s;
            animation-delay: 0.718s;
  }
  .top-event__rays.is-animation-running path:nth-child(49) {
    -webkit-animation-delay: 0.732s;
            animation-delay: 0.732s;
  }
  .top-event__rays.is-animation-running path:nth-child(50) {
    -webkit-animation-delay: 0.746s;
            animation-delay: 0.746s;
  }
  .top-event__rays.is-animation-running path:nth-child(51) {
    -webkit-animation-delay: 0.76s;
            animation-delay: 0.76s;
  }
  .top-event__rays.is-animation-running path:nth-child(52) {
    -webkit-animation-delay: 0.774s;
            animation-delay: 0.774s;
  }
  .top-event__rays.is-animation-running path:nth-child(53) {
    -webkit-animation-delay: 0.788s;
            animation-delay: 0.788s;
  }
  .top-event__rays.is-animation-running path:nth-child(54) {
    -webkit-animation-delay: 0.802s;
            animation-delay: 0.802s;
  }
  .top-event__rays.is-animation-running path:nth-child(55) {
    -webkit-animation-delay: 0.816s;
            animation-delay: 0.816s;
  }
  .top-event__rays.is-animation-running path:nth-child(56) {
    -webkit-animation-delay: 0.83s;
            animation-delay: 0.83s;
  }
  .top-event__rays.is-animation-running path:nth-child(57) {
    -webkit-animation-delay: 0.844s;
            animation-delay: 0.844s;
  }
  .top-event__rays.is-animation-running path:nth-child(58) {
    -webkit-animation-delay: 0.858s;
            animation-delay: 0.858s;
  }
  .top-event__rays.is-animation-running path:nth-child(59) {
    -webkit-animation-delay: 0.872s;
            animation-delay: 0.872s;
  }
  .top-event__rays.is-animation-running path:nth-child(60) {
    -webkit-animation-delay: 0.886s;
            animation-delay: 0.886s;
  }
  @-webkit-keyframes reveal-event-ray {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 100% 0);
              clip-path: inset(0 0 100% 0);
    }
    12% {
      opacity: 1;
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
  @keyframes reveal-event-ray {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 100% 0);
              clip-path: inset(0 0 100% 0);
    }
    12% {
      opacity: 1;
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
  .book__shooting-star.is-animation-pending .book__shooting-line {
    opacity: 0;
  }
  .book__shooting-star.is-animation-pending .book__shooting-star-small,
  .book__shooting-star.is-animation-pending .book__shooting-star-shape {
    opacity: 0;
  }
  .book__shooting-star.is-animation-running .book__shooting-line {
    -webkit-animation: reveal-book-line-pc 0.7s linear 0.3s both;
            animation: reveal-book-line-pc 0.7s linear 0.3s both;
  }
  .book__shooting-star.is-animation-running .book__shooting-line::after {
    position: absolute;
    top: 0;
    right: 100%;
    width: 9.960625rem;
    height: 100%;
    background-color: inherit;
    content: "";
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-animation: reveal-book-line-extension-pc 0.7s linear 0.3s both;
            animation: reveal-book-line-extension-pc 0.7s linear 0.3s both;
  }
  .book__shooting-star.is-animation-running .book__shooting-star-shape {
    -webkit-animation: reveal-book-shooting-star-pc 0.7s linear 0.3s both;
            animation: reveal-book-shooting-star-pc 0.7s linear 0.3s both;
  }
  .book__shooting-star.is-animation-running .book__shooting-star-small {
    -webkit-animation: reveal-shooting-star-in-place 0.32s ease 1.24s both;
            animation: reveal-shooting-star-in-place 0.32s ease 1.24s both;
  }
  @-webkit-keyframes reveal-book-line-pc {
    0% {
      opacity: 0;
      -webkit-transform: rotate(-40deg) scaleX(0);
              transform: rotate(-40deg) scaleX(0);
    }
    8% {
      opacity: 1;
    }
    23.8%, 100% {
      opacity: 1;
      -webkit-transform: rotate(-40deg) scaleX(1);
              transform: rotate(-40deg) scaleX(1);
    }
  }
  @keyframes reveal-book-line-pc {
    0% {
      opacity: 0;
      -webkit-transform: rotate(-40deg) scaleX(0);
              transform: rotate(-40deg) scaleX(0);
    }
    8% {
      opacity: 1;
    }
    23.8%, 100% {
      opacity: 1;
      -webkit-transform: rotate(-40deg) scaleX(1);
              transform: rotate(-40deg) scaleX(1);
    }
  }
  @-webkit-keyframes reveal-book-line-extension-pc {
    0%, 23.8% {
      opacity: 0;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    23.9% {
      opacity: 1;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    35.7% {
      opacity: 1;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
    44.4%, 100% {
      opacity: 0;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @keyframes reveal-book-line-extension-pc {
    0%, 23.8% {
      opacity: 0;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    23.9% {
      opacity: 1;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    35.7% {
      opacity: 1;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
    44.4%, 100% {
      opacity: 0;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @-webkit-keyframes reveal-book-shooting-star-pc {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(15.8125rem, -13.3125rem, 0);
              transform: translate3d(15.8125rem, -13.3125rem, 0);
      -webkit-animation-timing-function: linear;
              animation-timing-function: linear;
    }
    8% {
      opacity: 1;
    }
    35.7% {
      opacity: 1;
      -webkit-transform: translate3d(-7.63rem, 6.4025rem, 0);
              transform: translate3d(-7.63rem, 6.4025rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
              animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
    }
    76.1% {
      opacity: 1;
      -webkit-transform: translate3d(0.956875rem, -0.804375rem, 0);
              transform: translate3d(0.956875rem, -0.804375rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
              animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
  }
  @keyframes reveal-book-shooting-star-pc {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(15.8125rem, -13.3125rem, 0);
              transform: translate3d(15.8125rem, -13.3125rem, 0);
      -webkit-animation-timing-function: linear;
              animation-timing-function: linear;
    }
    8% {
      opacity: 1;
    }
    35.7% {
      opacity: 1;
      -webkit-transform: translate3d(-7.63rem, 6.4025rem, 0);
              transform: translate3d(-7.63rem, 6.4025rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
              animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
    }
    76.1% {
      opacity: 1;
      -webkit-transform: translate3d(0.956875rem, -0.804375rem, 0);
              transform: translate3d(0.956875rem, -0.804375rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
              animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
  }
}
@media screen and (prefers-reduced-motion: no-preference) and (max-width: 767px) {
  .book__shooting-star.is-animation-running .book__shooting-line {
    -webkit-animation-duration: 0.56s;
            animation-duration: 0.56s;
    -webkit-animation-name: reveal-book-line-sp;
            animation-name: reveal-book-line-sp;
  }
  .book__shooting-star.is-animation-running .book__shooting-line::after {
    width: 9.5025rem;
    -webkit-animation-duration: 0.56s;
            animation-duration: 0.56s;
    -webkit-animation-name: reveal-book-line-extension-sp;
            animation-name: reveal-book-line-extension-sp;
  }
  .book__shooting-star.is-animation-running .book__shooting-star-shape {
    -webkit-animation-duration: 0.56s;
            animation-duration: 0.56s;
    -webkit-animation-name: reveal-book-shooting-star-sp;
            animation-name: reveal-book-shooting-star-sp;
  }
  .book__shooting-star.is-animation-running .book__shooting-star-small {
    display: block;
    -webkit-animation-delay: 1.1s;
            animation-delay: 1.1s;
  }
  @-webkit-keyframes reveal-book-line-sp {
    0% {
      opacity: 0;
      -webkit-transform: rotate(-39.3deg) scaleX(0);
              transform: rotate(-39.3deg) scaleX(0);
    }
    8% {
      opacity: 1;
    }
    17%, 100% {
      opacity: 1;
      -webkit-transform: rotate(-39.3deg) scaleX(1);
              transform: rotate(-39.3deg) scaleX(1);
    }
  }
  @keyframes reveal-book-line-sp {
    0% {
      opacity: 0;
      -webkit-transform: rotate(-39.3deg) scaleX(0);
              transform: rotate(-39.3deg) scaleX(0);
    }
    8% {
      opacity: 1;
    }
    17%, 100% {
      opacity: 1;
      -webkit-transform: rotate(-39.3deg) scaleX(1);
              transform: rotate(-39.3deg) scaleX(1);
    }
  }
  @-webkit-keyframes reveal-book-line-extension-sp {
    0%, 17% {
      opacity: 0;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    17.1% {
      opacity: 1;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    32.1% {
      opacity: 1;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
    40.9%, 100% {
      opacity: 0;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @keyframes reveal-book-line-extension-sp {
    0%, 17% {
      opacity: 0;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    17.1% {
      opacity: 1;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
    }
    32.1% {
      opacity: 1;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
    40.9%, 100% {
      opacity: 0;
      -webkit-transform: scaleX(1);
              transform: scaleX(1);
    }
  }
  @-webkit-keyframes reveal-book-shooting-star-sp {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(8.25rem, -6.8125rem, 0);
              transform: translate3d(8.25rem, -6.8125rem, 0);
      -webkit-animation-timing-function: linear;
              animation-timing-function: linear;
    }
    8% {
      opacity: 1;
    }
    32.1% {
      opacity: 1;
      -webkit-transform: translate3d(-7.353125rem, 6.01875rem, 0);
              transform: translate3d(-7.353125rem, 6.01875rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
              animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
    }
    75.8% {
      opacity: 1;
      -webkit-transform: translate3d(0.675625rem, -0.555625rem, 0);
              transform: translate3d(0.675625rem, -0.555625rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
              animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
  }
  @keyframes reveal-book-shooting-star-sp {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(8.25rem, -6.8125rem, 0);
              transform: translate3d(8.25rem, -6.8125rem, 0);
      -webkit-animation-timing-function: linear;
              animation-timing-function: linear;
    }
    8% {
      opacity: 1;
    }
    32.1% {
      opacity: 1;
      -webkit-transform: translate3d(-7.353125rem, 6.01875rem, 0);
              transform: translate3d(-7.353125rem, 6.01875rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
              animation-timing-function: cubic-bezier(0.12, 0.72, 0.2, 1);
    }
    75.8% {
      opacity: 1;
      -webkit-transform: translate3d(0.675625rem, -0.555625rem, 0);
              transform: translate3d(0.675625rem, -0.555625rem, 0);
      -webkit-animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
              animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
    }
    100% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
  }
}
@media screen and (prefers-reduced-motion: no-preference) {
  .top-voice__decorations.is-animation-pending::after {
    opacity: 0;
  }
  .top-voice__decorations.is-animation-pending .top-voice__shooting-star,
  .top-voice__decorations.is-animation-pending .top-voice__diagonal-lines {
    display: block;
  }
  .top-voice__decorations.is-animation-pending .top-voice__shooting-line {
    opacity: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  .top-voice__decorations.is-animation-pending .top-voice__shooting-star-shape,
  .top-voice__decorations.is-animation-pending .top-voice__diagonal-line {
    opacity: 0;
  }
  .top-voice__decorations.is-animation-running::after {
    -webkit-animation: reveal-static-decoration-in 0.18s ease 1.92s backwards;
            animation: reveal-static-decoration-in 0.18s ease 1.92s backwards;
  }
  .top-voice__decorations.is-animation-running .top-voice__shooting-star,
  .top-voice__decorations.is-animation-running .top-voice__diagonal-lines {
    display: block;
  }
  .top-voice__decorations.is-animation-running .top-voice__shooting-line {
    -webkit-transform-origin: right center;
            transform-origin: right center;
    -webkit-animation: reveal-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
            animation: reveal-shooting-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
  }
  .top-voice__decorations.is-animation-running .top-voice__shooting-star-shape {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 1.12s both;
            animation: reveal-shooting-star-in-place 0.4s ease 1.12s both;
  }
  .top-voice__decorations.is-animation-running .top-voice__diagonal-line--1 {
    -webkit-animation: reveal-voice-line-1 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.52s both, hide-temporary-decoration 0.18s ease 1.92s forwards;
            animation: reveal-voice-line-1 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.52s both, hide-temporary-decoration 0.18s ease 1.92s forwards;
  }
  .top-voice__decorations.is-animation-running .top-voice__diagonal-line--2 {
    -webkit-animation: reveal-voice-line-2 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.76s both, hide-temporary-decoration 0.18s ease 1.92s forwards;
            animation: reveal-voice-line-2 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.76s both, hide-temporary-decoration 0.18s ease 1.92s forwards;
  }
  @-webkit-keyframes reveal-voice-line-1 {
    from {
      opacity: 0;
      -webkit-clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
              clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
    }
    to {
      opacity: 1;
      -webkit-clip-path: polygon(34% 73%, 36% 78%, 100% 2%, 100% 0);
              clip-path: polygon(34% 73%, 36% 78%, 100% 2%, 100% 0);
    }
  }
  @keyframes reveal-voice-line-1 {
    from {
      opacity: 0;
      -webkit-clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
              clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
    }
    to {
      opacity: 1;
      -webkit-clip-path: polygon(34% 73%, 36% 78%, 100% 2%, 100% 0);
              clip-path: polygon(34% 73%, 36% 78%, 100% 2%, 100% 0);
    }
  }
  @-webkit-keyframes reveal-voice-line-2 {
    from {
      opacity: 0;
      -webkit-clip-path: polygon(71% 16%, 71% 16%, 71% 16%, 71% 16%);
              clip-path: polygon(71% 16%, 71% 16%, 71% 16%, 71% 16%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: polygon(0 98%, 0 100%, 73% 17%, 70% 15%);
              clip-path: polygon(0 98%, 0 100%, 73% 17%, 70% 15%);
    }
  }
  @keyframes reveal-voice-line-2 {
    from {
      opacity: 0;
      -webkit-clip-path: polygon(71% 16%, 71% 16%, 71% 16%, 71% 16%);
              clip-path: polygon(71% 16%, 71% 16%, 71% 16%, 71% 16%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: polygon(0 98%, 0 100%, 73% 17%, 70% 15%);
              clip-path: polygon(0 98%, 0 100%, 73% 17%, 70% 15%);
    }
  }
  .cv__decoration.is-animation-pending .cv__line {
    opacity: 0;
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  .cv__decoration.is-animation-pending .cv__star {
    opacity: 0;
  }
  .cv__decoration.is-animation-running .cv__line {
    -webkit-animation: reveal-cv-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.3s backwards;
            animation: reveal-cv-line 0.72s cubic-bezier(0.16, 1, 0.3, 1) 0.3s backwards;
  }
  .cv__decoration.is-animation-running .cv__star--top {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 1.12s backwards;
            animation: reveal-shooting-star-in-place 0.4s ease 1.12s backwards;
  }
  .cv__decoration.is-animation-running .cv__star--bottom {
    -webkit-animation: reveal-shooting-star-in-place 0.4s ease 1.4s backwards;
            animation: reveal-shooting-star-in-place 0.4s ease 1.4s backwards;
  }
  @-webkit-keyframes reveal-cv-line {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 0 100%);
              clip-path: inset(0 0 0 100%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
  @keyframes reveal-cv-line {
    from {
      opacity: 0;
      -webkit-clip-path: inset(0 0 0 100%);
              clip-path: inset(0 0 0 100%);
    }
    to {
      opacity: 1;
      -webkit-clip-path: inset(0);
              clip-path: inset(0);
    }
  }
  .top-carousel--event.is-animation-pending .js-carousel-item,
  .top-carousel--news.is-animation-pending .js-carousel-item,
  .top-voice__carousel.is-animation-pending .js-carousel-item,
  .top-instructor__carousel.is-animation-pending .js-carousel-item {
    opacity: 0;
  }
  .top-carousel--event.is-animation-running,
  .top-carousel--news.is-animation-running,
  .top-voice__carousel.is-animation-running,
  .top-instructor__carousel.is-animation-running {
    -webkit-animation-duration: 1.1s;
            animation-duration: 1.1s;
  }
  .top-carousel--event.is-animation-running .js-carousel-item,
  .top-carousel--news.is-animation-running .js-carousel-item,
  .top-voice__carousel.is-animation-running .js-carousel-item,
  .top-instructor__carousel.is-animation-running .js-carousel-item {
    -webkit-animation: reveal-card 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
            animation: reveal-card 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .top-carousel--event.is-animation-running .js-carousel-item:nth-child(3n+1),
  .top-carousel--news.is-animation-running .js-carousel-item:nth-child(3n+1) {
    -webkit-animation-delay: 0.18s;
            animation-delay: 0.18s;
  }
  .top-carousel--event.is-animation-running .js-carousel-item:nth-child(3n+2),
  .top-carousel--news.is-animation-running .js-carousel-item:nth-child(3n+2) {
    -webkit-animation-delay: 0.26s;
            animation-delay: 0.26s;
  }
  .top-carousel--event.is-animation-running .js-carousel-item:nth-child(3n+3),
  .top-carousel--news.is-animation-running .js-carousel-item:nth-child(3n+3) {
    -webkit-animation-delay: 0.34s;
            animation-delay: 0.34s;
  }
  .top-voice__carousel.is-animation-running .js-carousel-item:nth-child(5n+1) {
    -webkit-animation-delay: 0.18s;
            animation-delay: 0.18s;
  }
  .top-voice__carousel.is-animation-running .js-carousel-item:nth-child(5n+2) {
    -webkit-animation-delay: 0.26s;
            animation-delay: 0.26s;
  }
  .top-voice__carousel.is-animation-running .js-carousel-item:nth-child(5n+3) {
    -webkit-animation-delay: 0.34s;
            animation-delay: 0.34s;
  }
  .top-voice__carousel.is-animation-running .js-carousel-item:nth-child(5n+4) {
    -webkit-animation-delay: 0.42s;
            animation-delay: 0.42s;
  }
  .top-voice__carousel.is-animation-running .js-carousel-item:nth-child(5n) {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
  }
  .top-instructor__carousel.is-animation-running .js-carousel-item:nth-child(3n+2) {
    -webkit-animation-delay: 0.18s;
            animation-delay: 0.18s;
  }
  .top-instructor__carousel.is-animation-running .js-carousel-item:nth-child(3n+1) {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
  }
  .top-instructor__carousel.is-animation-running .js-carousel-item:nth-child(3n) {
    -webkit-animation-delay: 0.42s;
            animation-delay: 0.42s;
  }
  .js-animation-title.is-animation-pending:focus-within, .js-animation-title.is-animation-running:focus-within,
  .js-animation-content.is-animation-pending:focus-within,
  .js-animation-content.is-animation-running:focus-within,
  .js-animation-image.is-animation-pending:focus-within,
  .js-animation-image.is-animation-running:focus-within,
  .js-animation-card.is-animation-pending:focus-within,
  .js-animation-card.is-animation-running:focus-within {
    opacity: 1;
    -webkit-animation: none;
            animation: none;
    -webkit-mask-image: none;
            mask-image: none;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
/* interactive states */
@media (hover: hover) and (pointer: fine) {
  .header__contact,
  .top-button,
  .post__back,
  .cv__button,
  .footer__button,
  .menu__button,
  .service__button,
  .book__button,
  .session-list__button,
  .school__button,
  .session-flow__button {
    overflow: hidden;
    -webkit-transition: background-color 0.4s ease, background-position 0.55s ease, color 0.4s ease, text-shadow 0.4s ease;
    transition: background-color 0.4s ease, background-position 0.55s ease, color 0.4s ease, text-shadow 0.4s ease;
  }
  .form__submit input[type=submit] {
    background-image: linear-gradient(105deg, #16264a 0%, #9cb2ca 50%, #fff 100%);
    background-position: 0 0;
    background-size: 200% 100%;
    -webkit-transition: background-position 0.55s ease, color 0.4s ease;
    transition: background-position 0.55s ease, color 0.4s ease;
  }
  .top-button:not(.top-button--light),
  .post__back,
  .service__button,
  .book__button,
  .session-list__button,
  .school__button {
    background-image: linear-gradient(105deg, #16264a 0%, #9cb2ca 50%, #fff 100%);
    background-position: 0 0;
    background-size: 200% 100%;
  }
  .top-button::after,
  .post__back::after,
  .cv__button::after,
  .footer__button::after,
  .menu__button::after,
  .service__button::after,
  .book__button::after,
  .session-list__button::after,
  .school__button::after,
  .session-flow__button::after,
  .form__submit::after {
    -webkit-transition: translate 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    transition: translate 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .top-button:hover,
  .post__back:hover,
  .service__button:hover,
  .book__button:hover,
  .session-list__button:hover,
  .school__button:hover {
    background-position: 100% 0;
    color: #16264a;
    opacity: 1;
  }
  .top-button--light:hover {
    background: #9cb2ca;
  }
  .top-button:hover::after,
  .service__button:hover::after,
  .book__button:hover::after,
  .session-list__button:hover::after,
  .school__button:hover::after {
    background-image: url(../img/common/button-arrow-navy.svg);
  }
  .post__back:hover::after {
    background-color: #a69580;
  }
  .form__submit:hover input[type=submit] {
    background-position: 100% 0;
    color: #16264a;
  }
  .form__submit:hover::after {
    background-image: url(../img/common/button-arrow-navy.svg);
    -webkit-animation: arrow-pass 0.55s ease;
            animation: arrow-pass 0.55s ease;
  }
  .cv__button:hover,
  .footer__button--contact:hover,
  .menu__button--contact:hover,
  .session-flow__button:hover,
  .header__contact:hover {
    background: #fff;
    color: #a69580;
    opacity: 1;
    text-shadow: none;
  }
  .cv__button:hover::after,
  .footer__button--contact:hover::after,
  .menu__button--contact:hover::after,
  .session-flow__button:hover::after {
    background-image: url(../img/common/button-arrow-gold.svg);
  }
  .footer__button--shop:hover,
  .menu__button--shop:hover {
    background-color: #16264a;
    color: #fff;
    opacity: 1;
  }
  .footer__button--shop:hover::after,
  .menu__button--shop:hover::after {
    background-image: url(../img/common/button-arrow-white.svg);
  }
  .top-button:hover::after,
  .cv__button:hover::after,
  .footer__button:hover::after,
  .menu__button:hover::after,
  .service__button:hover::after,
  .book__button:hover::after,
  .session-list__button:hover::after,
  .school__button:hover::after,
  .session-flow__button:hover::after {
    -webkit-animation: arrow-pass 0.55s ease;
            animation: arrow-pass 0.55s ease;
  }
  .post__back:hover::after {
    -webkit-animation: arrow-pass-back 0.55s ease;
            animation: arrow-pass-back 0.55s ease;
  }
  .line__button:hover {
    opacity: 0.7;
  }
  .service__menu-link {
    -webkit-transition: color 0.4s ease;
    transition: color 0.4s ease;
  }
  .service__menu-link:hover {
    opacity: 1;
  }
  .service__menu-link:hover .service__menu-title {
    color: #a69580;
  }
  .service__menu-link:hover .service__arrow {
    background-color: #16264a;
  }
  .service__arrow::after,
  .book__link::after,
  .social-links__icon {
    -webkit-transition: translate 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    transition: translate 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .service__menu-link:hover .service__arrow::after {
    -webkit-animation: service-arrow-pass 0.55s ease;
            animation: service-arrow-pass 0.55s ease;
  }
  .book__card-link:hover .book__link::after,
  .social-links__link:hover .social-links__icon {
    -webkit-animation: arrow-pass 0.55s ease;
            animation: arrow-pass 0.55s ease;
  }
  .gnav__link {
    position: relative;
    -webkit-transition: color 0.35s ease;
    transition: color 0.35s ease;
  }
  .gnav__link::before {
    position: absolute;
    top: -0.5rem;
    left: 50%;
    width: 0.5rem;
    height: 0.5rem;
    content: "";
    background: url(../img/common/page-hero-star-small.svg) center/contain no-repeat;
    opacity: 0;
    -webkit-transform: translate(-50%, 0.3125rem) scale(0.6);
            transform: translate(-50%, 0.3125rem) scale(0.6);
    -webkit-transition: opacity 0.35s ease, -webkit-transform 0.35s ease;
    transition: opacity 0.35s ease, -webkit-transform 0.35s ease;
    transition: opacity 0.35s ease, transform 0.35s ease;
    transition: opacity 0.35s ease, transform 0.35s ease, -webkit-transform 0.35s ease;
  }
  .gnav__link:hover {
    color: #a69580;
    opacity: 1;
  }
  .gnav__link:hover::before {
    opacity: 1;
    -webkit-transform: translate(-50%, 0) scale(1);
            transform: translate(-50%, 0) scale(1);
  }
  .fnav__link {
    -webkit-transition: color 0.35s ease;
    transition: color 0.35s ease;
  }
  .fnav__link:hover {
    color: #a69580;
    opacity: 1;
  }
  .card__title,
  .instructor-card__title,
  .book__point,
  .book__name,
  .book__author,
  .book__link,
  .service__menu-title,
  .card--top-news .card__date,
  .footer__sub-link {
    -webkit-transition: color 0.4s ease;
    transition: color 0.4s ease;
  }
  .card--top-news .card__tag {
    -webkit-transition: background-color 0.4s ease, color 0.4s ease;
    transition: background-color 0.4s ease, color 0.4s ease;
  }
  .card--event .card__link:hover .card__title,
  .card--top-event .card__link:hover .card__title {
    color: #a69580;
  }
  .card--top-news .card__link:hover .card__title,
  .card--top-news .card__link:hover .card__date,
  :is(.page-news-list, .post-type-archive-news, .tax-news-category) .card__link:hover .card__title {
    color: #9cb2ca;
  }
  .card--top-news .card__link:hover .card__tag {
    background-color: #9cb2ca;
  }
  .book__item {
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
  }
  .book__link {
    -webkit-transition: border-color 0.4s ease, color 0.4s ease;
    transition: border-color 0.4s ease, color 0.4s ease;
  }
  .book__item:hover {
    background-color: #efeee9;
  }
  .book__card-link:hover {
    opacity: 1;
  }
  .book__item:hover :is(.book__point, .book__name, .book__author, .book__link) {
    color: #a69580;
  }
  .book__item:hover .book__link {
    border-color: #a69580;
  }
  .book__item:hover .book__link::after {
    background-image: url(../img/common/button-arrow-gold.svg);
  }
  .instructor-card__link:hover .instructor-card__star {
    -webkit-animation: ornament-twinkle 0.65s ease;
            animation: ornament-twinkle 0.65s ease;
  }
  .footer__sub-link:hover {
    color: #fff;
    opacity: 1;
  }
  .footer__sns-link:hover {
    opacity: 0.7;
  }
  .social-links__item {
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
  }
  .social-links__link:hover {
    opacity: 1;
  }
  .social-links__item:hover {
    background-color: rgba(255, 255, 255, .32);
  }
  .social-links__label::before {
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .social-links__item:hover .social-links__label::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
@-webkit-keyframes arrow-pass {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0.75rem 0;
  }
}
@keyframes arrow-pass {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0.75rem 0;
  }
}
@-webkit-keyframes service-arrow-pass {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0.5rem 0;
  }
}
@keyframes service-arrow-pass {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0.5rem 0;
  }
}
@-webkit-keyframes arrow-pass-back {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: -0.75rem 0;
  }
}
@keyframes arrow-pass-back {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: -0.75rem 0;
  }
}
@-webkit-keyframes ornament-twinkle {
  0%, 100% {
    scale: 1;
  }
  50% {
    scale: 1.16;
  }
}
@keyframes ornament-twinkle {
  0%, 100% {
    scale: 1;
  }
  50% {
    scale: 1.16;
  }
}
@media (prefers-reduced-motion: reduce) {
  .top-button::after,
  .post__back::after,
  .cv__button::after,
  .footer__button::after,
  .menu__button::after,
  .service__button::after,
  .book__button::after,
  .session-list__button::after,
  .school__button::after,
  .session-flow__button::after,
  .form__submit::after,
  .service__arrow::after,
  .book__link::after,
  .social-links__icon,
  .instructor-card__star,
  .social-links__label::before {
    -webkit-animation: none;
            animation: none;
    -webkit-transition: none;
    transition: none;
  }
}
/* mv */
.mv {
  position: relative;
  width: 100%;
  height: 522px;
  height: 32.625rem;
  padding-top: 234px;
  padding-top: 14.625rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  overflow: hidden;
  background: linear-gradient(192deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg) center 34%/cover no-repeat;
}
.mv::after {
  position: absolute;
  z-index: 0;
  top: 119px;
  top: 7.4375rem;
  left: -362px;
  left: -22.625rem;
  width: 2375px;
  width: 148.4375rem;
  height: 565px;
  height: 35.3125rem;
  content: "";
  background: url(../img/common/page-hero-wave.svg) center/contain no-repeat;
  pointer-events: none;
}
@media screen and (min-width: 1441px) {
  .mv::after {
    left: 50%;
    width: calc(100vw + 58.4375rem);
    height: auto;
    aspect-ratio: 2375/565;
    -webkit-transform: translateX(calc(-50% + 6.5625rem));
            transform: translateX(calc(-50% + 6.5625rem));
  }
}

.mv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.mv__title,
.breadcrumb {
  position: relative;
  z-index: 1;
}

.mv__decoration {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}

.mv__star {
  position: absolute;
}
.mv__star img {
  display: block;
  width: 100%;
  height: 100%;
}

.mv__star--small {
  top: 154px;
  top: 9.625rem;
  left: 966px;
  left: 60.375rem;
  width: 20px;
  width: 1.25rem;
  height: 21px;
  height: 1.3125rem;
}

.mv__star--large {
  top: 235px;
  top: 14.6875rem;
  left: 1040px;
  left: 65rem;
  width: 38px;
  width: 2.375rem;
  height: 39px;
  height: 2.4375rem;
}

.mv__shooting-line {
  position: absolute;
  top: 116px;
  top: 7.25rem;
  left: 1040px;
  left: 65rem;
  width: 362px;
  width: 22.625rem;
  height: 1px;
  height: 0.0625rem;
  background: rgba(255, 255, 255, .4);
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
}

.mv__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  gap: 1rem;
  color: #fff;
}

.mv__main-title {
  font-family: "Prata", serif;
  font-size: 64px;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
}

.mv__main-title--privacy {
  font-size: 128px;
  font-size: 8rem;
}

.mv__main-title--contact {
  font-size: 128px;
  font-size: 8rem;
}

.mv__main-title--company {
  font-size: 128px;
  font-size: 8rem;
}

.mv__main-title--news {
  font-size: 128px;
  font-size: 8rem;
}

.mv__main-title--event {
  font-size: 128px;
  font-size: 8rem;
}

.mv__main-title--profile {
  font-size: 128px;
  font-size: 8rem;
}

.mv__main-title--instructor {
  font-size: 128px;
  font-size: 8rem;
}

.mv__main-title--session {
  font-size: 128px;
  font-size: 8rem;
}

@media screen and (max-width: 767px) {
  .mv {
    height: 25rem;
    padding: 11.25rem 0 4rem;
    background: linear-gradient(210deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg) center/cover no-repeat;
  }
  .mv::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 9rem;
    background-image: url(../img/common/page-hero-wave-sp.svg);
    background-size: 100% 100%;
    -webkit-transform: none;
            transform: none;
  }
  .mv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.5rem;
  }
  .mv__title {
    gap: 0.5rem;
  }
  .mv__main-title,
  .mv__main-title--privacy,
  .mv__main-title--contact,
  .mv__main-title--company,
  .mv__main-title--news,
  .mv__main-title--event,
  .mv__main-title--profile,
  .mv__main-title--instructor,
  .mv__main-title--session,
  .mv__main-title--school,
  .mv__main-title--voice {
    font-size: 3.125rem;
    line-height: 1;
  }
  .mv__star--small {
    top: 5.75rem;
    left: 15.1875rem;
    width: 0.75rem;
    height: 0.8125rem;
  }
  .mv__star--large {
    display: none;
  }
  .mv__shooting-line {
    top: 5.25rem;
    left: 17.625rem;
    width: 8rem;
  }
}
@media screen and (max-width: 1024px) {
  .mv--under {
    height: auto;
    padding: 11.25rem 0 4rem;
    background: linear-gradient(210deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg) center/cover no-repeat;
  }
  .mv--under::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 9rem;
    background-image: url(../img/common/page-hero-wave-sp.svg);
    background-size: 100% 100%;
    -webkit-transform: none;
            transform: none;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .mv__star--small {
    top: 5.75rem;
    left: calc(100% - 9.1875rem);
    width: 0.75rem;
    height: 0.8125rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .mv__star--large {
    top: 7.4375rem;
    left: calc(100% - 6.125rem);
    display: block;
    width: 0.9375rem;
    height: 0.9375rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .mv__shooting-line {
    top: 5.25rem;
    left: calc(100% - 6.75rem);
    width: 8rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .mv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .mv__title {
    gap: 0.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--law .mv__main-title {
    font-size: 2rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 1024px) {
  .mv--privacy .mv__main-title {
    font-size: min(3.125rem, 13vw);
    line-height: 1;
  }
}

@media screen and (max-width: 1024px) {
  .mv--company .mv__main-title {
    font-size: 3.125rem;
    line-height: 1;
  }
}

@media screen and (max-width: 1024px) {
  .mv--contact .mv__main-title {
    font-size: 3.125rem;
    line-height: 1;
  }
}

@media screen and (max-width: 1024px) {
  .mv--archive .mv__main-title {
    font-size: 3.125rem;
    line-height: 1;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .subtitle {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .breadcrumb {
    width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .breadcrumb__items {
    gap: 0.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--under .breadcrumb__item {
    font-size: 0.625rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--law .breadcrumb__item + .breadcrumb__item::before,
  .mv--privacy .breadcrumb__item + .breadcrumb__item::before,
  .mv--company .breadcrumb__item + .breadcrumb__item::before,
  .mv--contact .breadcrumb__item + .breadcrumb__item::before {
    width: 0.75rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--privacy .mv__star--small,
  .mv--company .mv__star--small {
    top: 6.6875rem;
    left: calc(50% + 2.8125rem);
    width: 0.5rem;
    height: 0.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--privacy .mv__star--large,
  .mv--company .mv__star--large {
    top: 8.625rem;
    left: calc(50% + 4.5625rem);
    width: 0.9375rem;
    height: 0.9375rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--privacy .mv__shooting-line,
  .mv--company .mv__shooting-line {
    top: 5.8125rem;
    left: calc(50% + 4.1875rem);
    width: 10rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--law .mv__star--small,
  .mv--contact .mv__star--small {
    top: 6.6875rem;
    left: calc(100% - 9.375rem);
    width: 0.5rem;
    height: 0.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--law .mv__star--large,
  .mv--contact .mv__star--large {
    top: 8.625rem;
    left: calc(100% - 7.625rem);
    width: 0.9375rem;
    height: 0.9375rem;
  }
}

@media screen and (max-width: 1024px) {
  .mv--law .mv__shooting-line,
  .mv--contact .mv__shooting-line {
    top: 5.8125rem;
    left: calc(100% - 7.9375rem);
    width: 9rem;
  }
}

/* pagination */
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  gap: 0.5rem;
}

.pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  padding-top: 3px;
  padding-top: 0.1875rem;
  color: #333;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.pagination .page-numbers.current {
  border-radius: 50%;
  background: #16264a;
  color: #fff;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
  padding: 0;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.pagination .page-numbers.prev {
  margin-right: 8px;
  margin-right: 0.5rem;
  background-image: url(../img/common/pagination-prev.svg);
}
.pagination .page-numbers.next {
  margin-left: 8px;
  margin-left: 0.5rem;
  background-image: url(../img/common/pagination-next.svg);
}

/* post */
.post {
  color: #333;
}

.post__header {
  position: relative;
  padding-top: 194px;
  padding-top: 12.125rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
  overflow: hidden;
  background: linear-gradient(190deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg) center 34%/cover no-repeat;
}
.post__header::after {
  position: absolute;
  z-index: 0;
  bottom: -163px;
  bottom: -10.1875rem;
  left: -362px;
  left: -22.625rem;
  width: 2375px;
  width: 148.4375rem;
  height: 565px;
  height: 35.3125rem;
  content: "";
  background: url(../img/common/page-hero-wave.svg) center/100% 100% no-repeat;
  pointer-events: none;
}

.post__decoration {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}

.post__star {
  position: absolute;
  top: 163px;
  top: 10.1875rem;
  left: 1156px;
  left: 72.25rem;
  width: 37px;
  width: 2.3125rem;
  height: 38px;
  height: 2.375rem;
}
.post__star img {
  display: block;
  width: 100%;
  height: 100%;
}

.post__line {
  position: absolute;
  top: 150px;
  top: 9.375rem;
  left: 1197px;
  left: 74.8125rem;
  width: 233px;
  width: 14.5625rem;
  height: 1px;
  height: 0.0625rem;
  background: rgba(255, 255, 255, .4);
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.post__header-inner {
  position: relative;
  z-index: 1;
  width: 800px;
  width: 50rem;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.post__title {
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.post__meta-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 48px;
  margin-top: 3rem;
}

.post__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  gap: 1.5rem;
}

.post__date {
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.08em;
}

.post__category {
  padding: 6px 12px;
  padding: 0.375rem 0.75rem;
  background: #16264a;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.08em;
}

.post__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
}

.post__tag {
  padding: 6px 12px;
  padding: 0.375rem 0.75rem;
  background: #a69580;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.08em;
}

.post__body {
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
}

.post__body--voice {
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(50%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 50%, #efeee9 100%);
}

.post__inner {
  width: 800px;
  width: 50rem;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.post__thumbnail {
  width: 800px;
  width: 50rem;
  max-width: 100%;
  height: 427px;
  height: 26.6875rem;
  overflow: hidden;
}
.post__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.post__content {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.12em;
}
.post__content > p {
  padding-top: 24px;
  padding-top: 1.5rem;
}
.post__content > h2 {
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
  padding-top: 64px;
  padding-top: 4rem;
  border-bottom: 1px solid #a69580;
  border-bottom: 0.0625rem solid #a69580;
  color: #a69580;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0;
}
.post__content > h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 48px;
  padding-top: 3rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.08em;
  gap: 20px;
  gap: 1.25rem;
}
.post__content > h3::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  content: "";
  background: url(../img/common/page-hero-star-small.svg) center/contain no-repeat;
}
.post__content > h4 {
  padding-top: 40px;
  padding-top: 2.5rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.post__content > ul,
.post__content > ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 24px;
  padding-top: 1.5rem;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  gap: 8px;
  gap: 0.5rem;
}
.post__content > ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  gap: 0.75rem;
}
.post__content > ul li::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  content: "";
  background: url(../img/common/post-check.svg) center/contain no-repeat;
}
.post__content > ol {
  counter-reset: post-list;
}
.post__content > ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  counter-increment: post-list;
  gap: 12px;
  gap: 0.75rem;
}
.post__content > ol li::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20px;
          flex: 0 0 20px;
  -ms-flex: 0 0 1.25rem;
      flex: 0 0 1.25rem;
  content: counter(post-list, decimal-leading-zero);
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.post__content > figure:not(.wp-block-table) {
  width: 100%;
  padding-top: 64px;
  padding-top: 4rem;
  margin-right: auto;
  margin-left: auto;
}
.post__content > figure:not(.wp-block-table) img {
  display: block;
  width: 100%;
  height: 427px;
  height: 26.6875rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.post__content .wp-block-image:not(.alignwide):not(.alignfull) > img,
.post__content .wp-block-image:not(.alignwide):not(.alignfull) > a > img,
.post__content .wp-block-image:not(.alignwide):not(.alignfull) > figure:not(.alignwide):not(.alignfull) > img,
.post__content .wp-block-image:not(.alignwide):not(.alignfull) > figure:not(.alignwide):not(.alignfull) > a > img {
  width: auto;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.post__content .wp-block-image:is(.alignwide, .alignfull) > img,
.post__content .wp-block-image:is(.alignwide, .alignfull) > a > img,
.post__content .wp-block-image:is(.alignwide, .alignfull) > figure > img,
.post__content .wp-block-image:is(.alignwide, .alignfull) > figure > a > img {
  height: auto;
}
.post__content .wp-block-image > figure:is(.alignwide, .alignfull) > img,
.post__content .wp-block-image > figure:is(.alignwide, .alignfull) > a > img {
  width: 100%;
  height: auto;
}
.post__content:not(.session-detail__body) img,
.post__content:not(.session-detail__body) figure img {
  width: auto;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.post__content:not(.session-detail__body) :is(.alignwide, .alignfull) img,
.post__content:not(.session-detail__body) > img:is(.alignwide, .alignfull) {
  width: 100%;
}
.post__content:not(.session-detail__body) p img:not(.alignleft):not(.aligncenter):not(.alignright):not(.alignwide):not(.alignfull) {
  display: inline-block;
  vertical-align: middle;
}
.post__content a {
  color: #a69580;
  text-decoration: underline;
  text-underline-position: from-font;
}
.post__content > table,
.post__content > .wp-block-table table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.post__content > table,
.post__content > .wp-block-table {
  margin-top: 24px;
  margin-top: 1.5rem;
}
.post__content > .wp-block-table {
  width: 100%;
}
.post__content > table th,
.post__content > table td,
.post__content > .wp-block-table table th,
.post__content > .wp-block-table table td {
  padding: 24px 32px;
  padding: 1.5rem 2rem;
  border-right: 1px solid #bcbcbc;
  border-right: 0.0625rem solid #bcbcbc;
  border-bottom: 1px solid #bcbcbc;
  border-bottom: 0.0625rem solid #bcbcbc;
  vertical-align: middle;
  background: #fff;
}
.post__content > table th,
.post__content > .wp-block-table table th {
  width: 160px;
  width: 10rem;
  padding-right: 26px;
  padding-right: 1.625rem;
  padding-left: 26px;
  padding-left: 1.625rem;
  border-left: 1px solid #bcbcbc;
  border-left: 0.0625rem solid #bcbcbc;
  background: #ececec;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-align: center;
}
.post__content > table tr:first-child th,
.post__content > table tr:first-child td,
.post__content > .wp-block-table table tr:first-child th,
.post__content > .wp-block-table table tr:first-child td {
  border-top: 1px solid #bcbcbc;
  border-top: 0.0625rem solid #bcbcbc;
}

.post__content--instructor {
  width: 100%;
}
.post__content--instructor > p {
  text-align: justify;
}
.post__content--instructor > figure:not(.wp-block-table) {
  padding-top: 24px;
  padding-top: 1.5rem;
}
.post__content--instructor > h3 + p {
  color: #a69580;
  font-family: "Shippori Mincho B1", serif;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.post__content--instructor > h3 + p a {
  color: inherit;
  text-decoration: none;
}

.post__back {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 263px;
  width: 16.4375rem;
  padding: 18px 40px 16px;
  padding: 1.125rem 2.5rem 1rem;
  margin: 64px auto 0;
  margin: 4rem auto 0;
  background: linear-gradient(103deg, #16264a 4%, #9cb2ca 100%);
  color: #fff;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.post__back::after {
  position: absolute;
  top: 50%;
  left: 16px;
  left: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background-color: #fff;
  -webkit-mask: url(../img/common/post-back-arrow.svg) center/contain no-repeat;
  mask: url(../img/common/post-back-arrow.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 1024px) {
  body.page-news-detail,
  body.page-event-detail {
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .post .post__header {
    padding-top: 8.75rem;
    padding-bottom: 4rem;
  }
  .post .post__header::after {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 9rem;
    background-image: url(../img/common/page-hero-wave-sp.svg);
    background-size: 100% 100%;
  }
  .post .post__star {
    top: 5.6875rem;
    left: 2.625rem;
    width: 1.25rem;
    height: 1.3125rem;
  }
  .post .post__line {
    top: 5.3125rem;
    left: 3.4375rem;
    width: 6.5rem;
  }
  .post .post__header-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem;
  }
  .post .post__title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    font-size: 1.5rem;
  }
  .post .post__meta-row,
  .post .post__meta {
    display: contents;
  }
  .post .post__date {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 0.875rem;
  }
  .post .post__category {
    justify-self: flex-start;
    -ms-flex-item-align: start;
        align-self: flex-start;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    font-size: 0.875rem;
  }
  .post .breadcrumb--post {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-top: 1.25rem;
  }
  .post .post__body {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 8rem;
  }
  .post .post__body::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4rem;
    content: "";
    background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
  .post .post__inner {
    width: 100%;
  }
  .post .post__thumbnail {
    width: 100%;
    height: 11.625rem;
  }
  .post .post__content {
    font-size: 0.875rem;
  }
  .post .post__content > p {
    padding-top: 1.5rem;
  }
  .post .post__content > h2 {
    padding-top: 2.5rem;
    padding-bottom: 1rem;
    font-size: 1.25rem;
  }
  .post .post__content > h3 {
    padding-top: 2rem;
    font-size: 1.125rem;
    gap: 0.75rem;
  }
  .post .post__content > h3::before {
    width: 0.875rem;
    height: 1rem;
  }
  .post .post__content > h4 {
    padding-top: 1.5rem;
    font-size: 1rem;
  }
  .post .post__content > ul,
  .post .post__content > ol {
    font-size: 0.875rem;
  }
  .post .post__content > figure:not(.wp-block-table) {
    padding-top: 2.5rem;
  }
  .post .post__content > figure:not(.wp-block-table) img {
    height: 11.625rem;
  }
  .post .post__back {
    width: 100%;
    height: 3.375rem;
    padding-top: 1.125rem;
    padding-bottom: 1rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  :is(.single-event, .single-news) {
    -webkit-font-smoothing: antialiased;
  }
  :is(.single-event, .single-news) .post__header {
    background: linear-gradient(210deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg) center 34%/cover no-repeat;
  }
  :is(.single-event, .single-news) .post__title {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.single-event, .single-news) .post__tags {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  :is(.single-event, .single-news) .post__tag {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.single-event, .single-news) .post__decoration {
    inset: auto;
    top: 3rem;
    left: 15rem;
    width: 9.3125rem;
    height: 6.5rem;
  }
  :is(.single-event, .single-news) .post__decoration::before {
    position: absolute;
    top: 3.625rem;
    left: 0;
    width: 0.4375rem;
    height: 0.4375rem;
    content: "";
    background: url(../img/common/page-hero-star-small.svg) center/contain no-repeat;
  }
  :is(.single-event, .single-news) .post__star {
    top: 5.5625rem;
    left: 1.75rem;
    width: 0.875rem;
    height: 0.875rem;
  }
  :is(.single-event, .single-news) .post__line {
    top: 5.5625rem;
    left: 2.75rem;
    width: 8.5625rem;
    background-color: rgba(255, 255, 255, .17);
  }
  :is(.single-event, .single-news) .breadcrumb--post .breadcrumb__item {
    font-size: 0.625rem;
  }
  :is(.single-event, .single-news) .breadcrumb__items {
    gap: 0.5rem;
  }
  :is(.single-event, .single-news) .post__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.0625rem;
  }
  :is(.single-event, .single-news) .post__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.0625rem;
  }
  :is(.single-event, .single-news) .post__content > p {
    text-align: justify;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.single-event, .single-news) .post__content > h2 {
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem #a69580;
            box-shadow: inset 0 -0.0625rem #a69580;
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.single-event, .single-news) .post__content > h3 {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.single-event, .single-news) .post__content > h4 {
    font-weight: 700;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.single-event, .single-news) .post__content > ul,
  :is(.single-event, .single-news) .post__content > ol {
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
  :is(.single-event, .single-news) .post__thumbnail {
    height: auto;
  }
  :is(.single-event, .single-news) .post__thumbnail img,
  :is(.single-event, .single-news) .post__content > figure:not(.wp-block-table) img {
    width: auto;
    max-width: 100%;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  :is(.single-event, .single-news) .post__design-picture {
    display: block;
    width: 100%;
  }
  :is(.single-event, .single-news) .post__content > .wp-block-table table {
    font-size: 0.875rem;
  }
  :is(.single-event, .single-news) .post__content > .wp-block-table th,
  :is(.single-event, .single-news) .post__content > .wp-block-table td {
    padding: 1rem 1.25rem 1.125rem;
    border: 0;
    vertical-align: top;
    -webkit-box-shadow: inset -0.0625rem -0.0625rem #bcbcbc;
            box-shadow: inset -0.0625rem -0.0625rem #bcbcbc;
  }
  :is(.single-event, .single-news) .post__content > .wp-block-table th {
    width: 5.625rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    font-size: 0.875rem;
    -webkit-box-shadow: inset 0.0625rem 0 #bcbcbc, inset -0.0625rem -0.0625rem #bcbcbc;
            box-shadow: inset 0.0625rem 0 #bcbcbc, inset -0.0625rem -0.0625rem #bcbcbc;
  }
  :is(.single-event, .single-news) .post__content > .wp-block-table tr:first-child th,
  :is(.single-event, .single-news) .post__content > .wp-block-table tr:first-child td {
    border: 0;
  }
  :is(.single-event, .single-news) .post__content > .wp-block-table table {
    border-top: 0.0625rem solid #bcbcbc;
  }
  :is(.single-event, .single-news) .post__body::after {
    background-image: url(../img/common/law-curve-sp.svg);
  }
  :is(.single-event, .single-news) .post__back {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  :is(.single-event, .single-news) .post__content > ul li {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: justify;
  }
  :is(.single-event, .single-news) .post__content > ol li {
    text-align: justify;
  }
  :is(.single-event, .single-news) .post__content > ol li::before {
    height: 1.25rem;
  }
  :is(.single-event, .single-news) .post__content > .wp-block-table {
    margin-top: 0;
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-news .post__category {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}
/* service */
.service {
  position: relative;
  padding-top: 120px;
  padding-top: 7.5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#efeee9), to(#c4bfb5));
  background: linear-gradient(180deg, #efeee9, #c4bfb5);
  color: #333;
}
@media screen and (max-width: 767px) {
  .service {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.service__background {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
}

.service__background-image {
  position: sticky;
  top: 0;
  display: block;
  width: 100%;
  height: 1072px;
  height: 67rem;
  margin-top: 120px;
  margin-top: 7.5rem;
  background: url(../img/common/service-bg.svg) calc(50% - 11.1875rem) top/auto 68.8125rem no-repeat;
}
@media screen and (max-width: 767px) {
  .service__background-image {
    position: static;
    height: 43.75rem;
    margin-top: 0;
    background-image: url(../img/common/service-bg-sp.svg);
    background-position: center top;
    background-size: 24.375rem 43.75rem;
  }
}

.service__header {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .service .service__header {
    gap: 1rem;
    text-align: center;
  }
}

.service__title {
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 128px;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .service .service__title {
    font-size: 3.5rem;
  }
}

.service__lead {
  font-family: "Shippori Mincho B1 palt", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .service .service__lead {
    width: 20rem;
    font-size: 0.875rem;
  }
}

.service__session,
.service__school,
.service__shop {
  position: relative;
  width: 100%;
  padding: 80px;
  padding: 5rem;
  background: rgba(255, 255, 255, .64);
}

.service__session {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.027fr);
  grid-template-rows: auto;
  margin-top: 100px;
  margin-top: 6.25rem;
  min-height: 0;
  border-radius: 0 0 0 10rem;
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
}
@media screen and (max-width: 767px) {
  .service .service__session {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
    margin-top: 2.5rem;
    padding: 2.5rem 1.25rem;
    border-radius: 0 0 0 4rem;
    gap: 1.5rem;
  }
}

.service__session-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-column: 1;
  grid-row: 1;
}
.service__session-intro .service__text {
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .service .service__session-intro {
    display: contents;
    text-align: left;
  }
  .service .service__session-intro .service__text {
    letter-spacing: 0;
  }
}

@media screen and (max-width: 767px) {
  .service .service__session-heading {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.service__heading {
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 64px;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .service .service__heading {
    font-size: 2.25rem;
    text-align: left;
  }
}

.service__subtitle {
  margin-top: 11px;
  margin-top: 0.6875rem;
  color: #a69580;
  font-family: "Shippori Mincho B1 palt", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 1.2;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .service .service__subtitle {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    text-align: left;
  }
}

.service__text {
  font-family: "Shippori Mincho B1 palt", serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .service .service__text {
    font-size: 0.8125rem;
    line-height: 2;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .service .service__session-description {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 0;
  }
}

.service__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 54px;
  height: 3.375rem;
  background: linear-gradient(105deg, #16264a, #9cb2ca);
  color: #fff;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
}
.service__button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 25px;
  width: 1.5625rem;
  height: 5px;
  height: 0.3125rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .service .service__button {
    width: 19.375rem;
    max-width: 100%;
    margin-top: 1.5rem;
  }
}

.service__menu-item {
  background: #fff;
}

.service__menu-link {
  display: grid;
  grid-template-columns: 6.875rem minmax(0, 1fr) 3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 110px;
  min-height: 6.875rem;
  padding: 0 20px;
  padding: 0 1.25rem;
  color: inherit;
  gap: 16px;
  gap: 1rem;
}
.service__menu-link:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 2px;
  outline-offset: 0.125rem;
}
.service__menu-link:focus-visible .service__menu-title {
  color: #a69580;
}
.service__menu-link:focus-visible .service__arrow {
  background-color: #16264a;
}
@media screen and (max-width: 767px) {
  .service .service__menu-link {
    grid-template-columns: 5rem minmax(0, 1fr) 2.5rem;
    min-height: 5rem;
    padding: 0 1rem 0 0;
    gap: 0;
  }
}

.service__icon {
  width: 110px;
  width: 6.875rem;
  height: 110px;
  height: 6.875rem;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}
.service__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 767px) {
  .service .service__icon {
    width: 5rem;
    height: 5rem;
  }
}

.service__menu-title {
  font-family: "Shippori Mincho B1 palt", serif;
  font-size: 20px;
  font-size: 1.25rem;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.08em;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
@media screen and (max-width: 767px) {
  .service .service__menu-title {
    font-size: 0.875rem;
  }
}

.service__arrow {
  position: relative;
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
  border-radius: 50%;
  background: #a69580;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
.service__arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  width: 1.25rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .service .service__arrow {
    width: 2.5rem;
    height: 2.5rem;
  }
  .service .service__arrow::after {
    width: 1.0625rem;
  }
}

.service__button--session {
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .service .service__button--session {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-top: 0;
  }
}

.service__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-column: 2;
  grid-row: 1;
  gap: 16px;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .service .service__menu {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 100%;
    gap: 0.75rem;
  }
}

.service__school {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 100px;
  margin-top: 6.25rem;
  min-height: 0;
  border-radius: 0 10rem 10rem 0;
  gap: 48px;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .service .service__school {
    min-height: 0;
    margin-top: 2.5rem;
    padding: 2.5rem 1.25rem;
    border-radius: 0 3rem 3rem 0;
    gap: 1.5rem;
  }
}

.service__school-heading {
  width: 100%;
}

.service__school-text {
  width: 100%;
}

.service__courses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  gap: 48px 60px;
  gap: 3rem 3.75rem;
}
@media screen and (max-width: 767px) {
  .service .service__courses {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.service__course-img {
  width: 100%;
  aspect-ratio: 9/5;
  overflow: hidden;
}
.service__course-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .service .service__course-img {
    width: 100%;
  }
}

.service__course--kigaku .service__course-img:not(.service__course-img--design) img,
.service__course--channeling .service__course-img:not(.service__course-img--design) img {
  max-width: none;
}

.service__course--kigaku .service__course-img:not(.service__course-img--design) img {
  width: 149%;
  height: 101%;
  -webkit-transform: translate(-16%, 0);
          transform: translate(-16%, 0);
}

.service__course--channeling .service__course-img:not(.service__course-img--design) img {
  width: 139%;
  height: 108%;
  -webkit-transform: translate(-15%, -8%);
          transform: translate(-15%, -8%);
}

.service__course-link {
  display: block;
  color: inherit;
}

.service__course-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 16px;
  margin-top: 1rem;
  font-family: "Shippori Mincho B1 palt", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 1.2;
  letter-spacing: 0.08em;
  padding-bottom: 3px;
  padding-bottom: 0.1875rem;
  gap: 8px;
  gap: 0.5rem;
}
.service__course-name::before {
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "";
  background: url(../img/common/service-course-star.png) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .service .service__course-name {
    margin-top: 0.75rem;
    font-size: 0.9375rem;
  }
  .service .service__course-name::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .service .service__course--kigaku .service__course-img img,
  .service .service__course--channeling .service__course-img img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    -webkit-transform: none;
            transform: none;
  }
}
.service__button--small {
  width: 263px;
  width: 16.4375rem;
}
@media screen and (max-width: 767px) {
  .service .service__button--small {
    margin-top: 0;
  }
}

.service__shop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 0;
  margin-top: 100px;
  margin-top: 6.25rem;
  border-radius: 0 10rem 0 10rem;
}
@media screen and (max-width: 767px) {
  .service .service__shop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 0;
    margin-top: 2.5rem;
    padding: 2.5rem 1.25rem;
    border-radius: 0 3rem 0 3rem;
    gap: 1.5rem;
  }
}

.service__shop-copy {
  width: 400px;
  width: 25rem;
}
.service__shop-copy .service__text {
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .service .service__shop-copy {
    width: 100%;
  }
  .service .service__shop-copy .service__text {
    margin-top: 1.5rem;
  }
}

.service__shop-description {
  letter-spacing: 0.12em;
}

.service__shop-img {
  display: block;
  width: 720px;
  width: 45rem;
  height: 491px;
  height: 30.6875rem;
  margin-left: -160px;
  margin-left: -10rem;
}
@media screen and (max-width: 767px) {
  .service .service__shop-img {
    width: 19.375rem;
    height: 25.875rem;
    margin-top: 0;
    margin-left: 0;
  }
}

.service__button--shop {
  position: absolute;
  right: 80px;
  right: 5rem;
  bottom: 80px;
  bottom: 5rem;
  width: 263px;
  width: 16.4375rem;
}
@media screen and (max-width: 767px) {
  .service .service__button--shop {
    position: relative;
    right: auto;
    bottom: auto;
    width: 19.375rem;
    margin-top: 0;
  }
}

.service--top .service__shop {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.service--top .service__shop-img {
  height: auto;
}

.service--top .service__lead {
  width: 100%;
  text-align: center;
}

.service--top .service__menu-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 768px) and (max-width: 1169px) {
  .service__session {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3rem;
  }
  .service__menu {
    grid-column: 1;
    grid-row: 2;
  }
  .service__shop,
  .service--top .service__shop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
  }
  .service__shop-copy {
    width: 100%;
  }
  .service__shop-img {
    width: 100%;
    height: auto;
    margin-left: 0;
  }
  .service__shop-img img {
    width: 100%;
    height: auto;
  }
  .service__button--shop {
    position: relative;
    right: auto;
    bottom: auto;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}
.service--top .service__button {
  padding-top: 18px;
  padding-top: 1.125rem;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  :is(.service--top, .service--profile) .service__session-intro .service__text {
    letter-spacing: 0.12em;
  }
  :is(.service--top, .service--profile) .service__session-heading,
  :is(.service--top, .service--profile) .service__school-heading {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  :is(.service--top, .service--profile) .service__menu-title--advisory {
    line-height: 1.5;
  }
  :is(.service--top, .service--profile) .service__course-name::before {
    width: 0.875rem;
    height: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .service--profile .service__lead {
    width: 100%;
    text-align: center;
  }
  .service--profile .service__menu-title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .service--profile .service__shop-img {
    height: auto;
  }
  .service--profile .service__course .service__course-img--design {
    height: auto;
    overflow: visible;
  }
  .service--profile .service__course .service__course-img--design img {
    width: auto;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  .service--profile .service__button {
    padding-top: 1.125rem;
    padding-bottom: 1rem;
    line-height: 1;
  }
}
/* social-links */
.social-links {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 160px;
  margin-top: 10rem;
  gap: 16px;
  gap: 1rem;
}

@media screen and (max-width: 767px) {
  .social-links--top {
    grid-template-columns: 1fr;
    margin-top: 7.5rem;
    gap: 1rem;
  }
}

.social-links__item {
  background: rgba(255, 255, 255, .1);
  backdrop-filter: blur(8px);
  backdrop-filter: blur(0.5rem);
}

.social-links__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 24px;
  padding: 1.5rem;
  min-height: 96px;
  min-height: 6rem;
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
}
.social-links--profile .social-links__link {
  font-weight: 500;
}
.social-links__link:focus-visible {
  outline: 2px solid #fff;
  outline: 0.125rem solid #fff;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .social-links--top .social-links__link {
    min-height: 5.5rem;
    padding: 1.25rem;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .social-links--top .social-links__item:last-child .social-links__link {
    min-height: 6rem;
  }
}

.social-links__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
}
.social-links__label::before {
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "";
  background: url(../img/common/social-star.png) center/contain no-repeat;
}

.social-links__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.social-links__icon img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

/* subtitle */
.subtitle {
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

/* title */
/* voice-card */
.voice-card {
  position: relative;
  min-height: 288px;
  min-height: 18rem;
  background: #fff;
}

.voice-card__icon {
  overflow: hidden;
}

/* company */
.company {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(67%, rgba(170, 184, 195, 0))), -webkit-gradient(linear, left top, left bottom, from(rgba(22, 38, 76, .72)), to(rgba(22, 38, 76, .72))), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
  background: linear-gradient(180deg, #aab8c3 0%, rgba(170, 184, 195, 0) 67%), linear-gradient(rgba(22, 38, 76, .72), rgba(22, 38, 76, .72)), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
}
@media screen and (max-width: 1024px) {
  .company {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding-top: 4rem;
    overflow: hidden;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #aab8c3), to(rgba(170, 184, 195, 0))), #16264c;
    background: linear-gradient(180deg, #aab8c3 32%, rgba(170, 184, 195, 0) 100%), #16264c;
  }
  .company::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    background: url(../img/common/page-bg.jpg) center top/auto 100% no-repeat;
    mix-blend-mode: lighten;
    opacity: 0.32;
    pointer-events: none;
  }
  .company::after {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    content: "";
    background: url(../img/common/law-curve-sp.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}

@media screen and (max-width: 1024px) {
  .page-company {
    min-width: 0;
  }
}

@media screen and (max-width: 1024px) {
  .company__page {
    position: relative;
    z-index: 1;
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 1024px) {
  .company__content {
    width: 100%;
    max-width: 50rem;
    padding: 2.5rem 1.25rem;
    border-radius: 0 4rem 0 4rem;
    backdrop-filter: blur(0.5rem);
  }
}

.company__businesses {
  list-style: decimal;
  padding-left: 22px;
  padding-left: 1.375rem;
}
@media screen and (max-width: 1024px) {
  .company__businesses {
    padding-left: 1.375rem;
  }
}

.company__business {
  list-style-type: decimal;
}

@media screen and (max-width: 767px) {
  .page-company {
    -webkit-font-smoothing: antialiased;
  }
  .mv--company .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .company {
    padding-top: 0;
    background: url(../img/company/company-background-sp.png) center/100% 100% no-repeat;
  }
  .company::before {
    content: none;
  }
}
/* contact */
.contact {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(67%, rgba(170, 184, 195, 0))), -webkit-gradient(linear, left top, left bottom, from(rgba(22, 38, 76, .72)), to(rgba(22, 38, 76, .72))), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
  background: linear-gradient(180deg, #aab8c3 0%, rgba(170, 184, 195, 0) 67%), linear-gradient(rgba(22, 38, 76, .72), rgba(22, 38, 76, .72)), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
}
@media screen and (max-width: 1024px) {
  .contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding-top: 4rem;
    overflow: hidden;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #aab8c3), to(rgba(170, 184, 195, 0))), #16264c;
    background: linear-gradient(180deg, #aab8c3 32%, rgba(170, 184, 195, 0) 100%), #16264c;
  }
  .contact::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    background: url(../img/common/page-bg.jpg) center top/auto 100% no-repeat;
    mix-blend-mode: lighten;
    opacity: 0.32;
    pointer-events: none;
  }
  .contact::after {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    content: "";
    background: url(../img/common/law-curve-sp.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}

@media screen and (max-width: 1024px) {
  .page-contact {
    min-width: 0;
  }
}

@media screen and (max-width: 1024px) {
  .contact .l-page {
    position: relative;
    z-index: 1;
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 1024px) {
  .contact .l-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}

.contact__intro {
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
  text-align: center;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1024px) {
  .contact__intro {
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0;
  }
}

.contact__notice {
  width: 960px;
  width: 60rem;
  max-width: 100%;
  margin: 48px auto;
  margin: 3rem auto;
  padding-bottom: 32px;
  padding-bottom: 2rem;
  border-bottom: 1px solid #fff;
  border-bottom: 0.0625rem solid #fff;
}
@media screen and (max-width: 1024px) {
  .contact__notice {
    width: 100%;
    margin: 0;
    padding-bottom: 2rem;
  }
}

.contact__notice-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  gap: 2rem;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
}
.contact__notice-title::before, .contact__notice-title::after {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  height: 0.0625rem;
  content: "";
  background: #fff;
}

.contact__notice-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 8px;
  gap: 0.5rem;
  margin: 24px auto 0;
  margin: 1.5rem auto 0;
}
@media screen and (max-width: 1024px) {
  .contact__notice-items {
    width: 100%;
  }
}

.contact__notice-item {
  position: relative;
  padding-left: 28px;
  padding-left: 1.75rem;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1024px) {
  .contact__notice-item {
    font-size: 0.875rem;
  }
}
.contact__notice-item::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  content: "";
  background: url(../img/common/contact-check.svg) center/contain no-repeat;
}

@media screen and (max-width: 1024px) {
  .contact .contact__content {
    width: 100%;
    max-width: 50rem;
    padding: 2.5rem 1.25rem;
    border-radius: 0 4rem 0 4rem;
    backdrop-filter: blur(0.5rem);
  }
}

.mv__contact-prefix {
  display: none;
}

@media screen and (max-width: 767px) {
  .page-contact {
    -webkit-font-smoothing: antialiased;
  }
  .mv__contact-prefix {
    display: inline;
  }
  .mv--contact .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .contact {
    padding-top: 0;
    background: url(../img/contact/contact-background-sp.png) center/100% 100% no-repeat;
  }
  .contact::before {
    content: none;
  }
  .contact__intro {
    font-family: "Shippori Mincho B1 palt", serif;
    letter-spacing: 0.12em;
  }
  .contact .form__item-label,
  .contact .form__agreement {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
  .contact .form__requirement {
    min-width: 0;
    border: 0;
    -webkit-box-shadow: inset 0 0 0 0.0625rem #a69580;
            box-shadow: inset 0 0 0 0.0625rem #a69580;
  }
  .contact .form__requirement--optional {
    -webkit-box-shadow: inset 0 0 0 0.0625rem #bcbcbc;
            box-shadow: inset 0 0 0 0.0625rem #bcbcbc;
  }
  .contact .form__agreement-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 0.125rem;
       -moz-column-gap: 0.125rem;
            column-gap: 0.125rem;
  }
  .contact .form__agreement-text > * {
    white-space: nowrap;
  }
}
/* event-archive */
.event-archive {
  padding: 80px 0 280px;
  padding: 5rem 0 17.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
}

.event-archive__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 64px;
  gap: 4rem;
}

.event-archive__empty {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

@media screen and (max-width: 1024px) {
  .page-event-list {
    min-width: 0;
  }
}

@media screen and (max-width: 767px) {
  .event-archive {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 4rem;
    padding-bottom: 0;
  }
  .event-archive::after {
    width: 100%;
    height: 4rem;
    margin-top: 4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    content: "";
    background: url(../img/common/law-curve-sp.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}

@media screen and (max-width: 767px) {
  .event-archive__content {
    gap: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .event-archive .archive-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 0.75rem 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .event-archive .archive-filter__item {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .event-archive .l-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }
  .event-archive .l-cards > .card:nth-child(n+7) {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .event-archive .pagination {
    width: 20.9375rem;
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .event-archive .pagination .page-numbers {
    width: 2rem;
    height: 2rem;
    padding-top: 0.125rem;
    font-size: 1rem;
  }
  .event-archive .pagination .page-numbers.prev, .event-archive .pagination .page-numbers.next {
    width: 2rem;
    height: 2rem;
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  .event-archive .card__body {
    gap: 0.75rem;
  }
  .event-archive .card__title {
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .event-archive .card__meta {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
  .event-archive .card__meta-row {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    font-weight: 500;
    line-height: 1;
  }
  .event-archive .card__meta-label {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .event-archive .card__img--placeholder {
    aspect-ratio: auto;
  }
  .event-archive .card__placeholder-picture {
    display: block;
    width: 100%;
  }
  .event-archive .card__placeholder-picture img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  :is(.post-type-archive-event, .tax-event-tag) .mv .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}
@media screen and (max-width: 767px) {
  :is(.post-type-archive-event, .tax-event-tag) {
    -webkit-font-smoothing: antialiased;
  }
}
/* instructor-archive */
.instructor-archive {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
}

.instructor-archive__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 64px;
  gap: 4rem;
}

.instructor-archive__cards {
  display: grid;
  grid-template-columns: repeat(4, 15rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  -webkit-column-gap: 3.125rem;
     -moz-column-gap: 3.125rem;
          column-gap: 3.125rem;
  row-gap: 50px;
  row-gap: 3.125rem;
}

.instructor-archive__empty {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

.instructor-archive__curve {
  height: 160px;
  height: 10rem;
  background: #efeee9;
}

@media screen and (max-width: 1024px) {
  .page-instructor-list {
    min-width: 0;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive {
    padding-top: 4rem;
    padding-bottom: 4rem;
    -webkit-font-smoothing: antialiased;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive__content {
    gap: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .archive-filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    max-width: 100%;
    gap: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .archive-filter__item {
    width: auto;
    max-width: 100%;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    line-height: 1;
    word-wrap: anywhere;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive__cards {
    grid-template-columns: repeat(2, minmax(0, 10.3125rem));
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 3.125rem;
  }
  .instructor-archive__cards > .instructor-card:nth-child(n+13) {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card {
    width: 10.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card__img {
    width: 10.3125rem;
    height: 13.75rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card__category {
    right: -0.5rem;
    bottom: 1rem;
    padding: 0.375rem 0.5rem;
    font-size: 0.8125rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card__star {
    top: 0.5rem;
    left: 0.5rem;
    width: 2rem;
    height: 1.9375rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card__title {
    font-size: 1rem;
    font-family: "Shippori Mincho B1 palt", serif;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card__link {
    gap: 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card__photo--design-sp {
    height: auto;
    border-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .instructor-card__photo--design-sp img {
    position: static;
    width: auto;
    max-width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  :is(.post-type-archive-instructor, .tax-instructor-category) .mv .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .pagination {
    width: 20.9375rem;
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive .pagination .page-numbers {
    width: 2rem;
    height: 2rem;
    padding-top: 0.125rem;
    font-size: 1rem;
  }
  .instructor-archive .pagination .page-numbers.prev, .instructor-archive .pagination .page-numbers.next {
    width: 2rem;
    height: 2rem;
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  .instructor-archive__curve {
    height: 4rem;
  }
}

/* instructor-hero */
.instructor-hero {
  position: relative;
  min-height: 421px;
  min-height: 26.3125rem;
  padding-top: 194px;
  padding-top: 12.125rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
  overflow: hidden;
  background: linear-gradient(189deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg) center/cover no-repeat;
}
.instructor-hero::after {
  position: absolute;
  z-index: 0;
  bottom: -163px;
  bottom: -10.1875rem;
  left: -363px;
  left: -22.6875rem;
  width: 2375px;
  width: 148.4375rem;
  height: 565px;
  height: 35.3125rem;
  content: "";
  background: url(../img/common/page-hero-wave.svg) center/100% 100% no-repeat;
  pointer-events: none;
}

.instructor-hero__content {
  position: relative;
  z-index: 1;
  width: 800px;
  width: 50rem;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.instructor-hero__decoration {
  display: none;
}

.instructor-hero__title {
  width: 800px;
  width: 50rem;
  max-width: 100%;
  min-height: 102px;
  min-height: 6.375rem;
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.instructor-hero .breadcrumb {
  margin-top: 48px;
  margin-top: 3rem;
}

/* instructor */
.instructor {
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(50%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 50%, #efeee9 100%);
  color: #333;
}

.instructor__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 800px;
  width: 50rem;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.instructor__profile {
  display: grid;
  grid-template-columns: 19rem 19rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 800px;
  width: 50rem;
  max-width: 100%;
  min-height: 507px;
  min-height: 31.6875rem;
  padding: 40px 64px;
  padding: 2.5rem 4rem;
  border-radius: 0 4rem 0 4rem;
  background: #fff;
  gap: 64px;
  gap: 4rem;
}

.instructor__img {
  width: 304px;
  width: 19rem;
  height: 405px;
  height: 25.3125rem;
  overflow: hidden;
}
.instructor__img img {
  position: relative;
  top: 0;
  left: -6%;
  width: 105%;
  max-width: none;
  height: 119%;
}

.instructor__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 318px;
  min-height: 19.875rem;
}

.instructor__label {
  color: #16264a;
  font-family: "Prata", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.04em;
}

.instructor__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  gap: 2rem;
}

.instructor__kana {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.2;
  letter-spacing: 0.32em;
}

.instructor__name {
  font-family: "Shippori Mincho B1", serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.instructor__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #9cb2ca;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
  gap: 8px;
  gap: 0.5rem;
}

.instructor__socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  gap: 0.375rem;
}

.instructor__social-link,
.instructor__social-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
}

.instructor__social-img img {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.instructor__social-img--youtube img {
  width: 32px;
  width: 2rem;
  height: 27px;
  height: 1.6875rem;
}

.instructor__social-img--x img,
.instructor__social-img--tiktok img {
  width: 18px;
  width: 1.125rem;
  height: 18px;
  height: 1.125rem;
}

.instructor__curve {
  height: 160px;
  height: 10rem;
  background: #efeee9;
}

@media screen and (max-width: 1024px) {
  body.single-instructor {
    min-width: 0;
  }
}

@media screen and (max-width: 767px) {
  .single-instructor {
    -webkit-font-smoothing: antialiased;
  }
  .instructor-hero {
    min-height: 0;
    padding-top: 11.25rem;
    padding-bottom: 4rem;
    background-image: linear-gradient(210deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg);
  }
  .instructor-hero::after {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 9rem;
    background-image: url(../img/common/page-hero-wave-sp.svg);
    background-size: 100% 100%;
  }
  .instructor-hero__content {
    width: 100%;
  }
  .instructor-hero__title {
    width: 100%;
    min-height: 0;
    font-size: 1.5rem;
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .instructor-hero .breadcrumb {
    margin-top: 2.5rem;
  }
  .instructor-hero .breadcrumb__items {
    gap: 0.5rem;
  }
  .instructor-hero .breadcrumb__item {
    font-size: 0.625rem;
  }
  .instructor-hero .breadcrumb__item + .breadcrumb__item::before {
    width: 0.75rem;
    margin-right: 0.5rem;
  }
  .instructor-hero__decoration {
    position: absolute;
    z-index: 1;
    top: 3rem;
    left: 15rem;
    display: block;
    width: 9.3125rem;
    height: 6.5rem;
    pointer-events: none;
  }
  .instructor-hero__star {
    position: absolute;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .instructor-hero__star--small {
    top: 3.625rem;
    left: 0;
    width: 0.4375rem;
    height: 0.4375rem;
    background-image: url(../img/common/page-hero-star-small.svg);
  }
  .instructor-hero__star--large {
    top: 5.5625rem;
    left: 1.75rem;
    width: 0.875rem;
    height: 0.875rem;
    background-image: url(../img/common/page-hero-star-large.png);
  }
  .instructor-hero__line {
    position: absolute;
    top: 5.5625rem;
    left: 2.75rem;
    width: 8.5625rem;
    height: 0.0625rem;
    background: rgba(255, 255, 255, .17);
    -webkit-transform: rotate(-40deg);
            transform: rotate(-40deg);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  .instructor {
    padding-top: 0;
    padding-bottom: 4rem;
  }
  .instructor__content,
  .instructor__profile {
    width: 100%;
  }
  .instructor__profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 2rem;
    border-radius: 0 4rem 0 4rem;
    gap: 1.5rem;
  }
  .instructor__img {
    width: 100%;
    height: auto;
    aspect-ratio: 3/4;
  }
  .instructor__img--design-sp {
    aspect-ratio: auto;
  }
  .instructor__img--design-sp img {
    position: static;
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .instructor__info {
    display: contents;
    width: 100%;
    min-height: 0;
    gap: 2rem;
  }
  .instructor__details {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    gap: 1rem;
  }
  .instructor__label {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .instructor__name-wrap {
    max-width: 100%;
  }
  .instructor__kana {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .instructor__name {
    font-size: 1.5rem;
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .instructor__titles {
    max-width: 100%;
    font-size: 0.875rem;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .instructor__socials {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
  }
  .instructor__social-img--tiktok {
    width: 1.25rem;
    height: 1.25rem;
  }
  .instructor__social-img--tiktok img {
    width: auto;
    height: auto;
  }
  .post__content--instructor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0.0625rem;
    font-size: 0.875rem;
  }
  .post__content--instructor > * + * {
    margin-top: 0.0625rem;
  }
  .post__content--instructor > p {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .post__content--instructor > h2 {
    padding-top: 2.5rem;
    padding-bottom: 1rem;
    border-bottom: 0;
    font-family: "Shippori Mincho B1 palt", serif;
    font-size: 1.25rem;
    -webkit-box-shadow: inset 0 -0.0625rem #a69580;
            box-shadow: inset 0 -0.0625rem #a69580;
  }
  .post__content--instructor > h3 {
    gap: 0.75rem;
    padding-top: 2rem;
    font-family: "Shippori Mincho B1 palt", serif;
    font-size: 1.125rem;
  }
  .post__content--instructor > h3::before {
    width: 0.875rem;
    height: 1rem;
  }
  .post__content--instructor > h3 + p {
    font-family: inherit;
    line-height: 2;
    letter-spacing: 0.12em;
  }
  .post__content--instructor > figure:not(.wp-block-table) img {
    width: auto;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  .instructor .post__back {
    width: 100%;
  }
  .instructor__curve {
    position: relative;
    height: 4rem;
  }
  .instructor__curve::before {
    position: absolute;
    inset: 0;
    content: "";
    background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}
/* law */
.law {
  position: relative;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(67%, rgba(170, 184, 195, 0))), -webkit-gradient(linear, left top, left bottom, from(rgba(22, 38, 76, .72)), to(rgba(22, 38, 76, .72))), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
  background: linear-gradient(180deg, #aab8c3 0%, rgba(170, 184, 195, 0) 67%), linear-gradient(rgba(22, 38, 76, .72), rgba(22, 38, 76, .72)), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
}
@media screen and (max-width: 767px) {
  .law {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding-top: 4rem;
  }
  .law::after {
    position: relative;
    width: 100%;
    height: 4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    content: "";
    background: url(../img/common/law-curve-sp.svg) center/100% 100% no-repeat;
  }
}

@media screen and (max-width: 767px) {
  .page-law {
    min-width: 0;
  }
}

@media screen and (max-width: 767px) {
  .law__page {
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 1024px) {
  .law__content {
    width: 100%;
    max-width: 50rem;
    padding: 2.5rem 1.25rem;
    border-radius: 0 4rem 0 4rem;
    backdrop-filter: blur(0.5rem);
  }
}

@media screen and (max-width: 767px) {
  .page-law {
    -webkit-font-smoothing: antialiased;
  }
  .mv--law .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .law {
    padding-top: 0;
    background: url(../img/law/law-background-sp.png) center/100% 100% no-repeat;
  }
  .law::before {
    content: none;
  }
  .law::after {
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}
/* news-archive */
.news-archive {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
}

.news-archive__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 64px;
  gap: 4rem;
}

.news-archive__empty {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

@media screen and (max-width: 1024px) {
  .page-news-list {
    min-width: 0;
  }
}

@media screen and (max-width: 767px) {
  .news-archive {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 4rem;
    padding-bottom: 0;
  }
  .news-archive::after {
    width: 100%;
    height: 4rem;
    margin-top: 4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    content: "";
    background: url(../img/common/law-curve-sp.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}

@media screen and (max-width: 767px) {
  .news-archive__content {
    gap: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .news-archive .archive-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 0.75rem 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .news-archive .archive-filter__item {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .news-archive .l-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }
  .news-archive .l-cards > .card:nth-child(n+7) {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .news-archive .pagination {
    width: 20.9375rem;
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .news-archive .pagination .page-numbers {
    width: 2rem;
    height: 2rem;
    padding-top: 0.125rem;
    font-size: 1rem;
  }
  .news-archive .pagination .page-numbers.prev, .news-archive .pagination .page-numbers.next {
    width: 2rem;
    height: 2rem;
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  :is(.post-type-archive-news, .tax-news-category) {
    -webkit-font-smoothing: antialiased;
  }
  :is(.post-type-archive-news, .tax-news-category) .mv .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .news-archive .card__title {
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .news-archive .card__body {
    gap: 0.75rem;
  }
  .news-archive .card__tags {
    gap: 1rem;
  }
  .news-archive .card__img--placeholder {
    aspect-ratio: auto;
  }
  .news-archive .card__placeholder-picture {
    display: block;
    width: 100%;
  }
  .news-archive .card__placeholder-picture img {
    width: auto;
    max-width: 100%;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
}
/* news-single */
/* notfound */
.notfound {
  padding: 200px 0;
  padding: 12.5rem 0;
}

/* privacy */
.privacy {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(67%, rgba(170, 184, 195, 0))), -webkit-gradient(linear, left top, left bottom, from(rgba(22, 38, 76, .72)), to(rgba(22, 38, 76, .72))), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
  background: linear-gradient(180deg, #aab8c3 0%, rgba(170, 184, 195, 0) 67%), linear-gradient(rgba(22, 38, 76, .72), rgba(22, 38, 76, .72)), url(../img/common/page-bg.jpg) center/cover no-repeat, #16264c;
}
@media screen and (max-width: 1024px) {
  .privacy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding-top: 4rem;
    overflow: hidden;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #aab8c3), to(rgba(170, 184, 195, 0))), #16264c;
    background: linear-gradient(180deg, #aab8c3 32%, rgba(170, 184, 195, 0) 100%), #16264c;
  }
  .privacy::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    background: url(../img/common/page-bg.jpg) center top/auto 100% no-repeat;
    mix-blend-mode: lighten;
    opacity: 0.32;
    pointer-events: none;
  }
  .privacy::after {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 4rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    content: "";
    background: url(../img/common/law-curve-sp.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}

@media screen and (max-width: 1024px) {
  .page-privacy {
    min-width: 0;
  }
}

@media screen and (max-width: 1024px) {
  .privacy__page {
    position: relative;
    z-index: 1;
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 1024px) {
  .privacy__content {
    width: 100%;
    max-width: 50rem;
    padding: 2.5rem 1.25rem;
    border-radius: 0 4rem 0 4rem;
    backdrop-filter: blur(0.5rem);
  }
}

.privacy__text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.12em;
  text-align: justify;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1024px) {
  .privacy__text {
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.12em;
  }
}
.privacy__text a {
  text-decoration: underline;
}

.privacy__title {
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
  margin-top: 64px;
  margin-top: 4rem;
  border-bottom: 1px solid #16264a;
  border-bottom: 0.0625rem solid #16264a;
  color: #16264a;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 1024px) {
  .privacy__title {
    padding-bottom: 1rem;
    margin-top: 2.5rem;
    font-size: 1.25rem;
  }
}

.privacy__body {
  padding-top: 24px;
  padding-top: 1.5rem;
}

.privacy__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  gap: 0.5rem;
  padding-top: 24px;
  padding-top: 1.5rem;
}

.privacy__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
  gap: 0.75rem;
}

.privacy__number {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  width: 1.25rem;
  color: #16264a;
  font-family: "Prata", serif;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .privacy__number {
    height: 1.25rem;
  }
}

.privacy__item-text {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: justify;
}
@media screen and (max-width: 1024px) {
  .privacy__item-text {
    font-size: 0.875rem;
  }
}

.privacy__sub-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  gap: 1.25rem;
  padding-top: 48px;
  padding-top: 3rem;
  color: #a69580;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1024px) {
  .privacy__sub-title {
    gap: 0.75rem;
    padding-top: 2rem;
    font-size: 1.125rem;
  }
}

.privacy__sub-title-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
}
@media screen and (max-width: 1024px) {
  .privacy__sub-title-icon {
    width: 0.875rem;
  }
}
.privacy__sub-title-icon img {
  width: 100%;
  height: 100%;
}

.privacy__text--closing {
  padding-top: 24px;
  padding-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .page-privacy {
    -webkit-font-smoothing: antialiased;
  }
  .mv--privacy .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .privacy {
    padding-top: 0;
    background: url(../img/privacy/privacy-background-sp.png) center/100% 100% no-repeat;
  }
  .privacy::before {
    content: none;
  }
  .privacy__title {
    padding-top: 2.5rem;
    margin-top: 0;
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem #16264a;
            box-shadow: inset 0 -0.0625rem #16264a;
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
  .privacy__sub-title {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
  .privacy__sub-title + .privacy__body .privacy__text,
  .privacy__text--closing {
    text-align: left;
  }
}
/* profile */
.profile {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
  color: #333;
}

.profile__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 95px;
  padding-bottom: 5.9375rem;
}

.profile__portrait {
  position: relative;
  width: 640px;
  width: 40rem;
  max-width: 100%;
  height: 531px;
  height: 33.1875rem;
}
.profile__portrait::before {
  position: absolute;
  top: -9px;
  top: -0.5625rem;
  left: 32px;
  left: 2rem;
  width: 261px;
  width: 16.3125rem;
  height: 261px;
  height: 16.3125rem;
  content: "";
  background: url(../img/profile/profile-rays.svg) center/contain no-repeat;
}

.profile__portrait-visual {
  position: absolute;
  top: -9px;
  top: -0.5625rem;
  left: 8px;
  left: 0.5rem;
  width: 580px;
  width: 36.25rem;
  max-width: 100%;
}

.profile__identity {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 871px;
  width: 54.4375rem;
  max-width: 100%;
  margin-top: -78px;
  margin-top: -4.875rem;
  gap: 32px;
  gap: 2rem;
  position: relative;
}

.profile__position {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.profile__name {
  width: 100%;
}

.profile__biography {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 871px;
  width: 54.4375rem;
  max-width: 100%;
  margin-top: 64px;
  margin-top: 4rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 2;
  letter-spacing: 0.06em;
  gap: 24px;
  gap: 1.5rem;
}

.profile__biography--sp {
  display: none;
}

.profile__story {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-top: -16px;
  margin-top: -1rem;
  padding: 80px;
  padding: 5rem;
  border-radius: 10rem 0 10rem 0;
  background: #fafaf8;
  gap: 48px;
  gap: 3rem;
}

.profile__story-title {
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 64px;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

.profile__timeline {
  width: 100%;
}

.profile__story-content,
.profile__timeline-viewport {
  width: 100%;
}

.profile__story-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.profile__timeline-viewport {
  position: relative;
  overflow: hidden;
  -webkit-transition: height 0.64s cubic-bezier(0.22, 1, 0.36, 1);
  transition: height 0.64s cubic-bezier(0.22, 1, 0.36, 1);
}

.profile__year {
  display: grid;
  grid-template-columns: 6.875rem 2.5rem minmax(0, 1fr);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
}
.profile__year:not(:last-child) .profile__year-body {
  padding-bottom: 48px;
  padding-bottom: 3rem;
}

.profile__year-label {
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
}

.profile__year-label--childhood {
  font-family: "Shippori Mincho B1", serif;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 600;
}

.profile__year-label--before {
  font-family: "Shippori Mincho B1", serif;
  font-size: 0;
  font-weight: 600;
  white-space: nowrap;
}

.profile__year-prefix {
  font-size: 24px;
  font-size: 1.5rem;
}

.profile__year-number {
  font-size: 36px;
  font-size: 2.25rem;
}

.profile__marker {
  position: relative;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
.profile__marker::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  width: 0.0625rem;
  content: "";
  background: #a69580;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.profile__marker::after {
  position: absolute;
  z-index: 1;
  top: 8px;
  top: 0.5rem;
  left: 50%;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  content: "";
  background: #fafaf8 url(../img/profile/profile-timeline-star.svg) center/contain no-repeat;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.profile__year:first-child .profile__marker::before {
  top: 20px;
  top: 1.25rem;
}
.profile__year:first-child .profile__marker::after {
  top: 0;
}

.profile__year-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  gap: 2rem;
}

.profile__history {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  padding-top: 4px;
  padding-top: 0.25rem;
  gap: 24px;
  gap: 1.5rem;
}

.profile__history--no-month {
  display: block;
}

.profile__history-content {
  min-width: 0;
}

.profile__month {
  padding-top: 5px;
  padding-top: 0.3125rem;
  font-family: "Prata", serif;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1;
  text-align: center;
}

.profile__history-title {
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.profile__history-text {
  margin-top: 12px;
  margin-top: 0.75rem;
  font-size: 15px;
  font-size: 0.9375rem;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.12em;
  text-align: justify;
}

.profile__story-fade {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  height: 183px;
  height: 11.4375rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 250, 248, 0)), color-stop(80%, #fafaf8));
  background: linear-gradient(180deg, rgba(250, 250, 248, 0) 0%, #fafaf8 80%);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.24s ease;
  transition: opacity 0.24s ease;
}

.profile__story-more {
  position: relative;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 307px;
  min-width: 19.1875rem;
  padding: 18px 100px 16px;
  padding: 1.125rem 6.25rem 1rem;
  border: 0;
  background: #a69580;
  color: #fff;
  cursor: pointer;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  max-height: 54px;
  max-height: 3.375rem;
  overflow: hidden;
  -webkit-transition: max-height 0.24s ease, padding 0.24s ease, opacity 0.24s ease;
  transition: max-height 0.24s ease, padding 0.24s ease, opacity 0.24s ease;
}
.profile__story-more:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 4px;
  outline-offset: 0.25rem;
}
.profile__story-more[hidden] {
  display: none;
}

.profile__story-more-arrow {
  position: absolute;
  top: 50%;
  right: 24px;
  right: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4px;
  width: 0.25rem;
  height: 16px;
  height: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.profile__story-more-arrow::before {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 16.9px;
  width: 1.05625rem;
  height: 4.8px;
  height: 0.3rem;
  content: "";
  background: url(../img/profile/profile-story-more-arrow.svg) center/contain no-repeat;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.profile__story.is-story-ready:not(.is-open) .profile__story-fade {
  opacity: 1;
}
.profile__story.is-story-ready:not(.is-open) .profile__story-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.profile__story.is-expanding .profile__story-fade,
.profile__story.is-open .profile__story-fade {
  opacity: 0;
}

.profile__story.is-expanding .profile__story-more {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .profile__timeline-viewport,
  .profile__story-fade,
  .profile__story-more {
    -webkit-transition: none;
    transition: none;
  }
}
/* profile-social */
.profile-social {
  position: relative;
  min-height: 1011px;
  min-height: 63.1875rem;
  padding-top: 80px;
  padding-top: 5rem;
  overflow: hidden;
  background: url(../img/profile/profile-social-background-pc.png) center/100% 100% no-repeat;
}
.profile-social::after {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 160px;
  height: 10rem;
  content: "";
  background: url(../img/profile/profile-line-curve.svg) center/100% 100% no-repeat;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}

@media screen and (max-width: 767px) {
  .mv--profile .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .profile {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .profile__intro {
    padding-bottom: 0;
  }
  .profile__portrait {
    width: 100%;
    height: 20.125rem;
  }
  .profile__portrait::before {
    content: none;
  }
  .profile__portrait-visual {
    top: -0.3125rem;
    left: 0;
    width: 22.25rem;
    max-width: none;
  }
  .profile__portrait-visual > picture {
    display: block;
    width: 100%;
  }
  .profile__identity {
    width: 100%;
    margin-top: -1rem;
    gap: 1rem;
  }
  .profile__position {
    width: 21.875rem;
    font-size: 0.875rem;
    line-height: 1;
    text-align: center;
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .profile__name {
    width: 20rem;
  }
  .profile__biography {
    width: 100%;
    margin-top: 2.5rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.12em;
    gap: 1rem;
    font-family: "Shippori Mincho B1 palt", serif;
    font-weight: 500;
  }
  .profile__biography--pc {
    display: none;
  }
  .profile__biography--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .profile__story {
    width: 100%;
    margin-top: 3rem;
    padding: 1.875rem 1.25rem 2.5rem;
    border-radius: 4rem 0 4rem 0;
    gap: 3rem;
  }
  .profile__story-title {
    font-size: 2.25rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
  .profile__year {
    grid-template-columns: 1.625rem minmax(0, 1fr);
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
  }
  .profile__year-label {
    grid-column: 2;
    font-size: 1.75rem;
  }
  .profile__year-label--childhood {
    font-size: 1.5rem;
  }
  .profile__year-label--before {
    font-size: 1.75rem;
  }
  .profile__year-prefix,
  .profile__year-number {
    font-size: inherit;
  }
  .profile__marker {
    grid-row: 1/span 2;
    grid-column: 1;
  }
  .profile__marker::after {
    top: 0.25rem;
    width: 1.625rem;
    height: 1.625rem;
  }
  .profile__year:first-child .profile__marker::before {
    top: 0.8125rem;
  }
  .profile__year:first-child .profile__marker::after {
    top: 0;
  }
  .profile__year-body {
    grid-column: 2;
    margin-top: 0.625rem;
    gap: 1rem;
  }
  .profile__history {
    grid-template-columns: 2rem minmax(0, 1fr);
    padding-top: 0;
    gap: 0.5rem;
  }
  .profile__month {
    font-size: 1.25rem;
  }
  .profile__history-title {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .profile__history-text {
    margin-top: 0.5rem;
    font-size: 0.75rem;
    line-height: 1.1875rem;
    letter-spacing: 0.12em;
  }
  .profile__story-more {
    width: 100%;
    min-width: 0;
  }
  .profile-social {
    min-height: 0;
    padding-top: 0;
    padding-bottom: 10.5rem;
    background-position: center;
    background-size: cover;
  }
  .profile-social::after {
    height: 4rem;
  }
  .profile-social .l-inner {
    max-width: none;
    padding: 0;
  }
  .profile-social .line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 4rem 1.25rem;
    gap: 1.5rem;
  }
  .profile-social .line__img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 20rem;
    height: 11.0625rem;
  }
  .profile-social .line__content {
    display: contents;
  }
  .profile-social .line__content > div {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: center;
  }
  .profile-social .line__title {
    font-size: 3.5rem;
  }
  .profile-social .line__subtitle {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    text-align: center;
  }
  .profile-social .line__text {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 21.875rem;
    font-size: 1rem;
    text-align: center;
  }
  .profile-social .line__button {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    -ms-flex-item-align: center;
        align-self: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 20rem;
    height: 3.5rem;
    padding: 0.5rem 1.5rem 0.5rem 2rem;
    font-size: 1.25rem;
  }
  .profile-social .social-links {
    grid-template-columns: 1fr;
    width: 21.875rem;
    margin: 4rem auto 0;
    gap: 1rem;
  }
  .profile-social .social-links__link {
    min-height: 6rem;
    padding: 1.25rem;
  }
}
/* html */
html:has(.main--school) {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html:has(.main--school) {
    scroll-behavior: auto;
  }
}

/* mv */
.mv__main-title--school {
  font-size: 128px;
  font-size: 8rem;
}

/* main */
.main--school {
  overflow: visible;
}

/* school */
.school {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
  color: #333;
}

.school__intro {
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: center;
}

.school__layout {
  display: grid;
  grid-template-columns: 20rem minmax(0, 1fr);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-top: 80px;
  margin-top: 5rem;
  gap: 80px;
  gap: 5rem;
}

.school__nav {
  position: sticky;
  top: 32px;
  top: 2rem;
  -ms-flex-item-align: start;
      align-self: start;
  padding: 32px;
  padding: 2rem;
  overflow-anchor: none;
  border-radius: 0 4rem 0 4rem;
  background: #fff;
}

.school__nav-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #d9d9d9;
  border-bottom: 0.0625rem solid #d9d9d9;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  gap: 8px;
  gap: 0.5rem;
}
.school__nav-title::before {
  width: 24px;
  width: 1.5rem;
  height: 24px;
  height: 1.5rem;
  content: "";
  background: url(../img/school/school-search.svg) center/contain no-repeat;
}

.school__nav-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 12px;
  margin-top: 0.75rem;
  gap: 4px;
  gap: 0.25rem;
}

.school__nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 43px;
  min-height: 2.6875rem;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  color: #bcbcbc;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 1.2;
  word-wrap: anywhere;
  gap: 12px;
  gap: 0.75rem;
}
.school__nav-link::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  content: "";
}
.school__nav-link.is-current {
  color: #a69580;
}
.school__nav-link.is-current::before {
  background: url(../img/school/school-nav-current.svg) center/contain no-repeat;
}
.school__nav-link:focus-visible {
  outline: 2px solid #a69580;
  outline: 0.125rem solid #a69580;
  outline-offset: 2px;
  outline-offset: 0.125rem;
}

.school__courses {
  width: 100%;
}

.school__course {
  padding-top: 24px;
  padding-top: 1.5rem;
  scroll-margin-top: 2rem;
}
.school__course + .school__course {
  padding-top: 48px;
  padding-top: 3rem;
  margin-top: 80px;
  margin-top: 5rem;
  border-top: 1px solid #bcbcbc;
  border-top: 0.0625rem solid #bcbcbc;
}

.school__course-title {
  font-family: "Shippori Mincho B1", serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.school__img {
  position: relative;
  width: 100%;
  height: 389px;
  height: 24.3125rem;
  margin-top: 48px;
  margin-top: 3rem;
  overflow: hidden;
}
.school__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.school__img--tall {
  height: 400px;
  height: 25rem;
}
.school__img--tall img {
  position: absolute;
  top: 0;
  left: -24%;
  width: 149%;
  height: 101%;
  max-width: none;
}

.school__img--zoomed img {
  position: absolute;
  top: -8%;
  left: -21%;
  width: 139%;
  height: 108%;
  max-width: none;
}

.school__img--placeholder {
  background-color: #fff;
  background-image: linear-gradient(45deg, #efefef 25%, transparent 25%), linear-gradient(-45deg, #efefef 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #efefef 75%), linear-gradient(-45deg, transparent 75%, #efefef 75%);
  background-position: 0 0, 0 16px, 16px -16px, -16px 0;
  background-position: 0 0, 0 1rem, 1rem -1rem, -1rem 0;
  background-size: 2rem 2rem;
}

.school__lead {
  margin-top: 48px;
  margin-top: 3rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.school__description {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 2;
  letter-spacing: 0.12em;
}

.school__description-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  gap: 2rem;
}

.school__recommend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 216px;
  min-height: 13.5rem;
  padding: 28px 32px 28px 0;
  padding: 1.75rem 2rem 1.75rem 0;
  margin-top: 32px;
  margin-top: 2rem;
  overflow: hidden;
  border: 1px solid #beb2a3;
  border: 0.0625rem solid #beb2a3;
  border-radius: 0.25rem;
  background: rgba(166, 149, 128, .16);
  backdrop-filter: blur(2px);
  backdrop-filter: blur(0.125rem);
  gap: 20px;
  gap: 1.25rem;
}

.school__recommend-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  gap: 8px;
  gap: 0.5rem;
}
.school__recommend-title::before {
  width: 32px;
  width: 2rem;
  height: 1px;
  height: 0.0625rem;
  content: "";
  background: #beb2a3;
}

.school__recommend-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 40px;
  padding-left: 2.5rem;
  gap: 8px;
  gap: 0.5rem;
}

.school__recommend-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 0;
  font-family: "Shippori Mincho B1", serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  gap: 8px;
  gap: 0.5rem;
}
.school__recommend-item::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  content: "";
  background: url(../img/school/school-check.svg) center/contain no-repeat;
}

.school__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 102px;
  min-height: 6.375rem;
  padding-top: 48px;
  padding-top: 3rem;
}

.school__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 263px;
  width: 16.4375rem;
  height: 54px;
  height: 3.375rem;
  background: linear-gradient(105deg, #16264a, #9cb2ca);
  color: #fff;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.school__button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.school__empty {
  margin-top: 80px;
  margin-top: 5rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 2;
  text-align: center;
}

/* school-curve */
.school-curve {
  height: 160px;
  height: 10rem;
  background: #efeee9;
}

@media screen and (max-width: 1024px) {
  body.post-type-archive-school {
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .post-type-archive-school {
    -webkit-font-smoothing: antialiased;
  }
  .post-type-archive-school .mv .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .school__intro,
  .school__nav-title,
  .school__nav-link,
  .school__course-title,
  .school__lead,
  .school__recommend-item {
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .mv__main-title--school {
    font-size: 3.125rem;
  }
  .main--school {
    overflow-x: hidden;
  }
  .school {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .school__intro {
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.12em;
  }
  .school__layout {
    display: block;
    margin-top: 4rem;
  }
  .school__nav {
    position: static;
    width: 100%;
    padding: 1.5rem 1.25rem;
    border-radius: 0 2.5rem 0 2.5rem;
  }
  .school__nav-title {
    padding-bottom: 1.25rem;
    font-size: 1.25rem;
  }
  .school__nav-title::before {
    width: 1.25rem;
    height: 1.25rem;
  }
  .school__nav-link {
    min-height: 0;
    padding: 0.5rem 1rem;
    font-size: 1rem;
  }
  .school__nav-link::before {
    width: 0.875rem;
    height: 0.875rem;
  }
  .school__nav-label {
    padding-bottom: 0.1875rem;
  }
  .school__courses {
    width: 100%;
    margin-top: 4rem;
  }
  .school__course {
    padding-top: 0;
  }
  .school__course + .school__course {
    padding-top: 0;
    margin-top: 5rem;
    border-top: 0;
  }
  .school__course-title {
    font-size: 1.5rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .school__img,
  .school__img--tall {
    width: 100%;
    height: auto;
    aspect-ratio: 720/389;
    margin-top: 2rem;
  }
  .school__lead {
    margin-top: 2rem;
    font-size: 1.125rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .school__description {
    margin-top: 0;
    padding-top: 1rem;
    font-size: 0.875rem;
  }
  .school__description-copy {
    gap: 1.5rem;
  }
  .school__img--design {
    aspect-ratio: auto;
    overflow: visible;
  }
  .school__img--design img {
    width: auto;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  .school__recommend {
    min-height: 0;
    padding: 1.25rem 1.5rem 1.25rem 0;
    gap: 1.25rem;
    border: 0;
    -webkit-box-shadow: inset 0 0 0 0.0625rem #beb2a3;
            box-shadow: inset 0 0 0 0.0625rem #beb2a3;
  }
  .school__recommend-title {
    font-size: 1rem;
  }
  .school__recommend-title::before {
    width: 1rem;
  }
  .school__recommend-items {
    padding-left: 1.5rem;
  }
  .school__recommend-item {
    font-size: 0.8125rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: justify;
  }
  .school__actions {
    min-height: 0;
    padding-top: 3rem;
  }
  .school__button {
    width: 100%;
    height: auto;
    padding: 1.125rem 0 1rem;
  }
  .school-curve {
    height: 4rem;
  }
}
/* session-detail */
.session-detail {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(20%, #fff));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 20%);
  color: #333;
}

.session-detail__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.session-detail__title {
  color: #16264a;
  font-family: "Prata", serif;
  font-size: 128px;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
}

.session-detail__subtitle {
  color: #333;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

.session-detail__subtitle-suffix {
  display: none;
}

.session-detail__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 800px;
  width: 50rem;
  max-width: 100%;
  margin-top: 80px;
  margin-top: 5rem;
  margin-right: auto;
  margin-left: auto;
}

.session-detail__video {
  width: 800px;
  width: 50rem;
  max-width: 100%;
  aspect-ratio: 800/464;
  padding: 16px;
  padding: 1rem;
}

.session-detail__video-embed {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.session-detail__video-embed:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 4px;
  outline-offset: 0.25rem;
}

.session-detail__overview {
  padding-top: 64px;
  padding-top: 4rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.12em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.session-detail__overview p + p {
  margin-top: 32px;
  margin-top: 2rem;
}

.session-detail__overview--after-highlights {
  padding-top: 24px;
  padding-top: 1.5rem;
}

.session-detail__section-title {
  color: #333;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0;
}

.session-detail__section-title--highlights {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid #a69580;
  border-bottom: 0.0625rem solid #a69580;
  color: #a69580;
}
.session-detail__section-title--highlights + .session-detail__highlights {
  padding-top: 48px;
  padding-top: 3rem;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
}

.session-detail__highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  gap: 1rem;
  padding-top: 48px;
  padding-top: 3rem;
}

.session-detail__highlights--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.session-detail__highlight {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 126px;
  min-height: 7.875rem;
  padding: 24px;
  padding: 1.5rem;
  background-color: #fff;
  background-image: url(../img/session/session-highlight-star.svg);
  background-position: left 16px top 2px;
  background-position: left 1rem top 0.125rem;
  background-repeat: no-repeat;
  background-size: 0.75rem 0.75rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  text-align: center;
  white-space: pre-line;
}
.session-detail__highlight::before {
  position: absolute;
  top: 8px;
  top: 0.5rem;
  right: 16px;
  right: 1rem;
  bottom: 5px;
  bottom: 0.3125rem;
  left: 8px;
  left: 0.5rem;
  content: "";
  border-top: 1px solid #a69580;
  border-top: 0.0625rem solid #a69580;
  border-left: 1px solid #a69580;
  border-left: 0.0625rem solid #a69580;
  pointer-events: none;
}
.session-detail__highlight::after {
  position: absolute;
  top: 8px;
  top: 0.5rem;
  right: 8px;
  right: 0.5rem;
  bottom: 5px;
  bottom: 0.3125rem;
  left: 16px;
  left: 1rem;
  content: "";
  border-right: 1px solid #a69580;
  border-right: 0.0625rem solid #a69580;
  border-bottom: 1px solid #a69580;
  border-bottom: 0.0625rem solid #a69580;
  pointer-events: none;
}

.session-detail__highlight-slash {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 34px;
  width: 2.125rem;
  height: 34px;
  height: 2.125rem;
  pointer-events: none;
}
.session-detail__highlight-slash::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  width: 3rem;
  height: 1px;
  height: 0.0625rem;
  content: "";
  background-color: #a69580;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}

.session-detail__summary--split {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 81px;
  gap: 5.0625rem;
  padding-top: 96px;
  padding-top: 6rem;
  padding-bottom: 32px;
  padding-bottom: 2rem;
}
.session-detail__summary--split::before {
  position: absolute;
  top: 96px;
  top: 6rem;
  bottom: 32px;
  bottom: 2rem;
  left: 50%;
  width: 1px;
  width: 0.0625rem;
  content: "";
  background: #beb2a3;
}
.session-detail__summary--split::after {
  position: absolute;
  top: 64px;
  top: 4rem;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-top: 1px solid #beb2a3;
  border-top: 0.0625rem solid #beb2a3;
  border-bottom: 1px solid #beb2a3;
  border-bottom: 0.0625rem solid #beb2a3;
  pointer-events: none;
}
.session-detail__summary--split .session-detail__recommend,
.session-detail__summary--split .session-detail__fee {
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 8px;
  padding-top: 0.5rem;
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
  gap: 24px;
  gap: 1.5rem;
}
.session-detail__summary--split .session-detail__recommend > .session-detail__section-title,
.session-detail__summary--split .session-detail__fee > .session-detail__section-title {
  padding-bottom: 0;
  border-bottom: 0;
  color: #333;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
}
.session-detail__summary--split .session-detail__recommend-list,
.session-detail__summary--split .session-detail__fee-list {
  padding-top: 0;
}
.session-detail__summary--split .session-detail__fee-row {
  min-height: 26px;
  min-height: 1.625rem;
  padding-right: 0;
  padding-left: 0;
  border-left: 0;
}
.session-detail__summary--split .session-detail__fee-row::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 64px;
          flex: 0 0 64px;
  -ms-flex: 0 0 4rem;
      flex: 0 0 4rem;
  margin-right: 16px;
  margin-right: 1rem;
  margin-left: 16px;
  margin-left: 1rem;
  background: #fff;
}
.session-detail__summary--split .session-detail__fee-label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 120px;
          flex: 0 0 120px;
  -ms-flex: 0 0 7.5rem;
      flex: 0 0 7.5rem;
}
.session-detail__summary--split .session-detail__fee-list {
  gap: 8px;
  gap: 0.5rem;
}
.session-detail__summary--split .session-detail__fee-list::before {
  content: none;
}
.session-detail__summary--split .session-detail__recommend + .session-detail__fee {
  padding-top: 8px;
  padding-top: 0.5rem;
}

.session-detail__recommend,
.session-detail__fee {
  padding-top: 64px;
  padding-top: 4rem;
}
.session-detail__recommend > .session-detail__section-title,
.session-detail__fee > .session-detail__section-title {
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid #a69580;
  border-bottom: 0.0625rem solid #a69580;
  color: #a69580;
}

.session-detail__recommend + .session-detail__fee {
  padding-top: 64px;
  padding-top: 4rem;
}

.session-detail__recommend-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 32px;
  padding-top: 2rem;
  gap: 12px;
  gap: 0.75rem;
}

.session-detail__recommend-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 21px;
  min-height: 1.3125rem;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  gap: 8px;
  gap: 0.5rem;
}
.session-detail__recommend-item::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20px;
          flex: 0 0 20px;
  -ms-flex: 0 0 1.25rem;
      flex: 0 0 1.25rem;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  content: "";
  background: url(../img/common/post-check.svg) center/contain no-repeat;
}

.session-detail__fee-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 24px;
  padding-top: 1.5rem;
  gap: 0;
}
.session-detail__fee-list::before {
  position: absolute;
  top: 14px;
  top: 0.875rem;
  left: -10px;
  left: -0.625rem;
  z-index: 1;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  content: "";
  background-color: #a69580;
  -webkit-mask: url(../img/session/session-fee-star.svg) center/contain no-repeat;
  mask: url(../img/session/session-fee-star.svg) center/contain no-repeat;
  pointer-events: none;
}

.session-detail__fee-row {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 42px;
  min-height: 2.625rem;
  padding-right: 32px;
  padding-right: 2rem;
  padding-left: 32px;
  padding-left: 2rem;
  border-left: 1px solid #a69580;
  border-left: 0.0625rem solid #a69580;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.session-detail__fee-row::before {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  height: 1px;
  height: 0.0625rem;
  margin-right: 24px;
  margin-right: 1.5rem;
  margin-left: 24px;
  margin-left: 1.5rem;
  content: "";
  background: repeating-linear-gradient(90deg, #bcbcbc 0 0.125rem, transparent 0.125rem 0.3125rem);
}

.session-detail__fee-label {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.session-detail__fee-value {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  text-align: right;
}

.session-detail__fee-note {
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.session-detail__contact {
  text-align: justify;
}

.session-detail__content--acf-only .session-detail__fee-list {
  padding-top: 29px;
  padding-top: 1.8125rem;
}

.session-detail__body {
  padding-top: 120px;
  padding-top: 7.5rem;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.session-detail__body:first-child {
  padding-top: 0;
}
.session-detail__body > h1,
.session-detail__body > .is-style-session-section-title {
  padding: 0;
  color: #333;
  font-family: "Shippori Mincho B1", serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
}
.session-detail__body > h2 {
  border-color: #a69580;
  color: #a69580;
}
.session-detail__body > table th,
.session-detail__body > table td,
.session-detail__body > .wp-block-table table th,
.session-detail__body > .wp-block-table table td {
  border-color: #bcbcbc;
}
.session-detail__body > table th,
.session-detail__body > .wp-block-table table th {
  width: 180px;
  width: 11.25rem;
  background: #ececec;
}
.session-detail__body > table tr:first-child th,
.session-detail__body > table tr:first-child td,
.session-detail__body > .wp-block-table table tr:first-child th,
.session-detail__body > .wp-block-table table tr:first-child td {
  border-color: #bcbcbc;
}

.session-detail__body > .session-detail__option-title {
  padding-top: 91px;
  padding-top: 5.6875rem;
}

.session-detail__course-intro {
  padding-top: 24px;
  padding-top: 1.5rem;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
}

.session-detail__body > .session-detail__course-title--merlin {
  border-color: #5479a3;
  color: #5479a3;
}

.session-detail__body > .session-detail__course-title--seraphim {
  border-color: #54a3a3;
  color: #54a3a3;
}

.session-detail__body > .session-detail__course-title--tyros {
  border-color: #c9a3a3;
  color: #c9a3a3;
}

.session-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  margin-bottom: 0;
  gap: 16px;
  gap: 1rem;
}
.session-options > .wp-block-column {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 270px;
  min-height: 16.875rem;
  padding: 32px 16px 0;
  padding: 2rem 1rem 0;
  background-image: url(../img/session/session-option-star.svg);
  background-position: left 20px top 36px;
  background-position: left 1.25rem top 2.25rem;
  background-repeat: no-repeat;
  background-size: 2rem 2rem;
  text-align: center;
}
.session-options > .wp-block-column::before {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 120px;
          flex: 0 0 120px;
  -ms-flex: 0 0 7.5rem;
      flex: 0 0 7.5rem;
  width: 120px;
  width: 7.5rem;
  height: 120px;
  height: 7.5rem;
  margin-top: 8px;
  margin-top: 0.5rem;
  content: "";
  background-image: var(--session-option-icon);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.session-options > .wp-block-column::after {
  position: absolute;
  inset: 8px;
  inset: 0.5rem;
  content: "";
  border: 1px solid #a69580;
  border: 0.0625rem solid #a69580;
  border-radius: 7.5rem 7.5rem 0 0;
  pointer-events: none;
}

.session-options__number {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.session-options__title {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.session-detail__option-fee {
  position: relative;
}
.session-detail__option-fee::before {
  position: absolute;
  z-index: 1;
  top: 14px;
  top: 0.875rem;
  left: -10px;
  left: -0.625rem;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  content: "";
  background-color: #a69580;
  -webkit-mask: url(../img/session/session-fee-star.svg) center/contain no-repeat;
  mask: url(../img/session/session-fee-star.svg) center/contain no-repeat;
}

.session-detail__body > .session-detail__option-fee {
  padding-top: 24px;
  padding-top: 1.5rem;
  margin-top: 0;
}
.session-detail__body > .session-detail__option-fee table {
  border-left: 1px solid #a69580;
  border-left: 0.0625rem solid #a69580;
}
.session-detail__body > .session-detail__option-fee table th,
.session-detail__body > .session-detail__option-fee table td {
  padding-top: 8px;
  padding-top: 0.5rem;
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
  border: 0;
  background-color: transparent;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
  text-align: left;
}
.session-detail__body > .session-detail__option-fee table th {
  width: 192px;
  width: 12rem;
  padding-right: 24px;
  padding-right: 1.5rem;
  padding-left: 32px;
  padding-left: 2rem;
}
.session-detail__body > .session-detail__option-fee table td {
  padding-right: 32px;
  padding-right: 2rem;
  padding-left: 0;
  background-image: repeating-linear-gradient(90deg, #bcbcbc 0 0.125rem, transparent 0.125rem 0.3125rem);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: calc(100% - 8rem) 0.0625rem;
  text-align: right;
}
.session-detail__body > .session-detail__option-fee table tr:first-child th,
.session-detail__body > .session-detail__option-fee table tr:first-child td {
  border-top: 0;
}

.session-detail__body--before {
  padding-top: 64px;
  padding-top: 4rem;
}

.session-detail__body--after > .wp-block-spacer:last-child {
  display: none;
}

.session-detail__body--common {
  padding-top: 120px;
  padding-top: 7.5rem;
}

.session-detail__body--common > .session-detail__annual-title {
  padding-top: 24px;
  padding-top: 1.5rem;
}

.session-detail__body--common > .session-detail__option-title {
  padding-top: 115px;
  padding-top: 7.1875rem;
}

.session-detail__body--advisory > .session-detail__option-title {
  padding-top: 127px;
  padding-top: 7.9375rem;
}

.session-detail__body--advisory {
  padding-bottom: 5px;
  padding-bottom: 0.3125rem;
}

/* session-flow */
.session-flow {
  position: relative;
  min-height: 1399px;
  min-height: 87.4375rem;
  padding-top: 120px;
  padding-top: 7.5rem;
  padding-bottom: 280px;
  padding-bottom: 17.5rem;
  overflow: hidden;
  background: #16264c;
}
.session-flow::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, color-stop(3.308%, #fff), color-stop(52.477%, rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, #fff 3.308%, rgba(255, 255, 255, 0) 52.477%);
  pointer-events: none;
}
.session-flow::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  height: 160px;
  height: 10rem;
  content: "";
  background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}

.session-flow__background {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
}
.session-flow__background::before {
  position: absolute;
  top: -17%;
  left: -1%;
  width: 102%;
  height: 117%;
  content: "";
  background: url(../img/session/session-flow-bg-base.png) center/100% 100% no-repeat;
  -webkit-transform: scale(-1);
          transform: scale(-1);
}
.session-flow__background::after {
  position: absolute;
  top: -14%;
  left: -47%;
  width: 188%;
  height: 114%;
  content: "";
  background: url(../img/session/session-flow-bg-stars.jpg) center/100% 100% no-repeat;
  mix-blend-mode: lighten;
  opacity: 0.4;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.session-flow__inner {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.session-flow__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.session-flow__title {
  color: #16264a;
  font-family: "Prata", serif;
  font-size: 128px;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
}

.session-flow__subtitle {
  color: #333;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

.session-flow__steps {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  padding: 80px;
  padding: 5rem;
  margin-top: 64px;
  margin-top: 4rem;
  border-radius: 0 10rem 0 10rem;
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(2px);
  backdrop-filter: blur(0.125rem);
  gap: 0;
}
.session-flow__steps::before {
  position: absolute;
  top: 143px;
  top: 8.9375rem;
  bottom: 143px;
  bottom: 8.9375rem;
  left: 238px;
  left: 14.875rem;
  width: 1px;
  width: 0.0625rem;
  content: "";
  background: #a69580;
}

.session-flow__step {
  display: grid;
  grid-template-columns: 5.625rem 2.5rem minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 126px;
  min-height: 7.875rem;
  gap: 48px;
  gap: 3rem;
}
.session-flow__step + .session-flow__step {
  margin-top: 48px;
  margin-top: 3rem;
}

.session-flow__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
}

.session-flow__marker {
  position: relative;
  z-index: 1;
  display: block;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  background: url(../img/common/service-timeline-star.svg) center/contain no-repeat;
}

.session-flow__step-content {
  display: grid;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  gap: 2rem;
}

.session-flow__img {
  width: 200px;
  width: 12.5rem;
  height: 126px;
  height: 7.875rem;
  overflow: hidden;
  border-radius: 0 1rem 0 1rem;
}
.session-flow__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.session-flow__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  gap: 0.75rem;
}

.session-flow__step-title {
  color: #333;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.session-flow__text {
  color: #333;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.12em;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .session-flow__step-title {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .session-flow__text {
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}
.session-flow__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 340px;
  width: 21.25rem;
  height: 68px;
  height: 4.25rem;
  margin-top: 64px;
  margin-top: 4rem;
  background: #a69580;
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
}
.session-flow__button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.session-flow__button:focus-visible {
  outline: 2px solid #fff;
  outline: 0.125rem solid #fff;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}

.post__back--session {
  width: 257px;
  width: 16.0625rem;
  margin-top: 96px;
  margin-top: 6rem;
}

@media screen and (max-width: 767px) {
  .post__back--session {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .session-detail {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .session-detail__title {
    font-size: 3.5rem;
  }
  .session-detail__subtitle {
    font-size: 1rem;
  }
  .session-detail__subtitle-suffix {
    display: inline;
  }
  .session-detail__content {
    width: 100%;
    margin-top: 3rem;
  }
  .session-detail__video {
    width: 100%;
    padding: 0.625rem;
  }
  .session-detail__overview {
    padding-top: 2.5rem;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
  }
  .session-detail__section-title {
    font-size: 1.25rem;
  }
  .session-detail__section-title--highlights {
    padding-top: 3rem;
    padding-bottom: 0.875rem;
  }
  .session-detail__section-title--highlights + .session-detail__highlights {
    padding-top: 2rem;
  }
  .session-detail__highlights,
  .session-detail__highlights--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    padding-top: 2rem;
  }
  .session-detail__highlight {
    min-height: 7rem;
    padding: 1rem 0.75rem;
    font-size: 0.75rem;
  }
  .session-detail__summary--split {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    padding-top: 4rem;
    padding-bottom: 1.5rem;
  }
  .session-detail__summary--split::before {
    content: none;
  }
  .session-detail__summary--split::after {
    top: 2.5rem;
  }
  .session-detail__summary--split .session-detail__recommend,
  .session-detail__summary--split .session-detail__fee {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    gap: 1.25rem;
  }
  .session-detail__summary--split .session-detail__recommend + .session-detail__fee {
    padding-top: 1.5rem;
    border-top: 0.0625rem solid #beb2a3;
  }
  .session-detail__summary--split .session-detail__fee-row::before {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .session-detail__summary--split .session-detail__fee-label {
    -ms-flex-preferred-size: 6.5rem;
        flex-basis: 6.5rem;
  }
  .session-detail__recommend,
  .session-detail__fee,
  .session-detail__recommend + .session-detail__fee {
    padding-top: 3rem;
  }
  .session-detail__recommend-item {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    font-size: 0.8125rem;
  }
  .session-detail__fee-row {
    min-height: 2.375rem;
    padding-right: 0.75rem;
    padding-left: 1.25rem;
    font-size: 0.8125rem;
  }
  .session-detail__fee-note {
    font-size: 0.8125rem;
  }
  .session-detail__body,
  .session-detail__body--common {
    padding-top: 5rem;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
  }
  .session-detail__body > h1,
  .session-detail__body > .is-style-session-section-title,
  .session-detail__body--common > h1,
  .session-detail__body--common > .is-style-session-section-title {
    font-size: 1.5rem;
  }
  .session-detail__body > table,
  .session-detail__body > .wp-block-table table,
  .session-detail__body--common > table,
  .session-detail__body--common > .wp-block-table table {
    font-size: 0.75rem;
  }
  .session-detail__body > table th,
  .session-detail__body > table td,
  .session-detail__body > .wp-block-table table th,
  .session-detail__body > .wp-block-table table td,
  .session-detail__body--common > table th,
  .session-detail__body--common > table td,
  .session-detail__body--common > .wp-block-table table th,
  .session-detail__body--common > .wp-block-table table td {
    padding: 1rem 0.75rem;
  }
  .session-detail__body > table th,
  .session-detail__body > .wp-block-table table th,
  .session-detail__body--common > table th,
  .session-detail__body--common > .wp-block-table table th {
    width: 5.5rem;
  }
  .session-detail__body > ul,
  .session-detail__body > ol,
  .session-detail__body--common > ul,
  .session-detail__body--common > ol {
    font-size: 0.875rem;
  }
  .session-detail__body--before {
    padding-top: 3rem;
  }
  .session-detail__course-intro {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .session-options {
    grid-template-columns: 1fr;
    padding-top: 2.5rem;
    gap: 1rem;
  }
  .session-options > .wp-block-column {
    min-height: 7rem;
    padding: 1.5rem 1rem;
  }
  .session-options > .wp-block-column::before {
    display: none;
  }
  .session-options > .wp-block-column::after {
    border-radius: 0;
  }
  .session-options__title {
    font-size: 1rem;
  }
  .session-detail__body > .session-detail__option-fee table th,
  .session-detail__body > .session-detail__option-fee table td {
    font-size: 0.8125rem;
  }
  .session-detail__body > .session-detail__option-fee table th {
    width: 9.625rem;
    padding-left: 1.25rem;
  }
  .session-flow {
    min-height: 0;
    padding-top: 4rem;
    padding-bottom: 7.875rem;
    background: #fff;
  }
  .session-flow::before {
    content: none;
  }
  .session-flow::after {
    height: 4rem;
  }
  .session-flow__background {
    display: none;
  }
  .session-flow__title {
    font-size: 3.5rem;
  }
  .session-flow__subtitle {
    font-size: 0.875rem;
  }
  .session-flow__steps {
    width: 100%;
    padding: 2.5rem 1.25rem;
    margin-top: 2.5rem;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
  }
  .session-flow__steps::before {
    top: 4.75rem;
    bottom: 4.75rem;
    left: 2.0625rem;
    height: auto;
  }
  .session-flow__step {
    display: grid;
    grid-template-columns: 1.625rem minmax(0, 1fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    min-height: 0;
    gap: 0.625rem;
  }
  .session-flow__step + .session-flow__step {
    margin-top: 3.5rem;
  }
  .session-flow__number {
    grid-column: 2;
    font-size: 1rem;
  }
  .session-flow__marker {
    grid-row: 1/span 2;
    width: 1.625rem;
    height: 1.625rem;
  }
  .session-flow__step-content {
    grid-column: 2;
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
  .session-flow__img {
    width: 100%;
    height: auto;
    aspect-ratio: 274/160;
  }
  .session-flow__step-title {
    font-size: 1rem;
  }
  .session-flow__text {
    font-size: 0.75rem;
  }
  .session-flow__button {
    width: 100%;
    height: 3.625rem;
    margin-top: 2.5rem;
    font-size: 1rem;
  }
}
.session-flow__copy--sp,
.session-options__copy--sp,
.session-detail__copy--sp {
  display: none;
}

:is(.postid-295, .postid-296) .session-detail__highlights {
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
}

:is(.postid-295, .postid-296) .session-detail__highlight {
  height: 126px;
  height: 7.875rem;
}

.postid-296 .session-detail__highlight:nth-child(2) {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0;
}

:is(.postid-295, .postid-296) .session-detail__recommend-list {
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
}

@media screen and (max-width: 767px) {
  :is(.postid-295, .postid-296) .session-detail__highlights {
    grid-auto-rows: 1fr;
    padding-top: 2.5rem;
    padding-bottom: 1.25rem;
  }
  :is(.postid-295, .postid-296) .session-detail__highlight {
    height: 6.4375rem;
    background-position: left 0.5rem top -0.125rem;
    letter-spacing: 0;
  }
  .postid-296 .session-detail__highlight:nth-child(2) {
    font-size: 0.8125rem;
  }
  :is(.postid-295, .postid-296) .session-detail__highlight:first-child {
    letter-spacing: 0.08em;
  }
  :is(.postid-295, .postid-296) .session-detail__highlight .session-detail__copy--sp {
    white-space: normal;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__highlight::before {
    top: 0.25rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__highlight::after {
    top: 0.5rem;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__highlight-slash {
    width: 1.4375rem;
    height: 1.4375rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__highlight-slash::before {
    width: 2rem;
  }
  :is(.postid-295, .postid-296) .session-detail__fee,
  :is(.postid-295, .postid-296) .session-detail__recommend + .session-detail__fee {
    padding-top: 2.5rem;
  }
  :is(.postid-295, .postid-296) .session-detail__fee > .session-detail__section-title {
    padding-bottom: 1rem;
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem #a69580;
            box-shadow: inset 0 -0.0625rem #a69580;
  }
  :is(.postid-295, .postid-296) .session-detail__fee-list {
    padding-top: 1.5rem;
  }
  :is(.postid-295, .postid-296) .session-detail__fee-row {
    min-height: 0;
    padding: 0.5rem 0 0.5rem 1.5rem;
    border-left: 0;
    -webkit-box-shadow: inset 0.0625rem 0 #a69580;
            box-shadow: inset 0.0625rem 0 #a69580;
    font-size: 0.875rem;
  }
  :is(.postid-295, .postid-296) .session-detail__fee-row::before {
    min-width: 0.75rem;
    margin-right: 0.75rem;
    margin-left: 0.75rem;
  }
  :is(.postid-295, .postid-296) .session-detail__fee-label {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 5.625rem;
            flex: 0 0 5.625rem;
    white-space: nowrap;
  }
  :is(.postid-295, .postid-296) .session-detail__fee-value {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    min-width: 0;
    letter-spacing: 0.04em;
  }
  :is(.postid-295, .postid-296) .session-detail__fee-small {
    display: block;
    font-size: 0.625rem;
  }
  :is(.postid-295, .postid-296) .session-detail__recommend-list {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  :is(.postid-294, .postid-295, .postid-296) {
    -webkit-font-smoothing: antialiased;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__copy--pc,
  :is(.postid-294, .postid-295, .postid-296) .session-options__copy--pc,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__copy--pc {
    display: none;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__copy--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options__copy--sp {
    display: block;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__copy--sp {
    display: inline;
  }
  :is(.postid-294, .postid-295, .postid-296) .mv .subtitle,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__subtitle,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__section-title,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body > h1,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body > h2,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body > h3,
  :is(.postid-294, .postid-295, .postid-296) .session-flow__subtitle,
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step-title,
  :is(.postid-294, .postid-295, .postid-296) .session-flow__button {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__heading,
  :is(.postid-294, .postid-295, .postid-296) .session-flow__heading {
    gap: 0.25rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__subtitle,
  :is(.postid-294, .postid-295, .postid-296) .session-flow__subtitle {
    font-size: 0.875rem;
    letter-spacing: 0.12em;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__content {
    margin-top: 2.5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__video {
    aspect-ratio: auto;
    padding: 0.4375rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__video-embed {
    height: auto;
    aspect-ratio: 16/9;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__overview {
    letter-spacing: 0.12em;
    text-align: justify;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__overview p + p {
    margin-top: 1.75rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__overview--after-highlights {
    padding-top: 1.5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__section-title--highlights {
    padding-top: 2.5rem;
    padding-bottom: 1rem;
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem #a69580;
            box-shadow: inset 0 -0.0625rem #a69580;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__section-title--highlights + .session-detail__highlights {
    padding-top: 1.5rem;
    padding-bottom: 0;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__highlights {
    gap: 1rem 0.625rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__highlight {
    min-height: 0;
    padding: 1.25rem 0.25rem;
    background-position: left 0.5rem top -0.125rem;
    font-size: 0.8125rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__recommend {
    padding-top: 2.5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__recommend > .session-detail__section-title {
    padding-bottom: 1rem;
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem #a69580;
            box-shadow: inset 0 -0.0625rem #a69580;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__recommend-list {
    padding-top: 1.5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__recommend-item {
    min-height: 0;
    font-size: 0.875rem;
    gap: 0.5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory {
    padding-top: 6.25rem;
    padding-bottom: 0;
    letter-spacing: 0.12em;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > h2 {
    padding-top: 2.5rem;
    padding-bottom: 1rem;
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem currentColor;
            box-shadow: inset 0 -0.0625rem currentColor;
    font-size: 1.25rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > h3 {
    padding-top: 2rem;
    line-height: 1.6;
    gap: 1rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > ul {
    line-height: 1.4;
    gap: 0.75rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > ul li {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > p {
    text-align: justify;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table {
    padding-top: 1.5rem;
    margin-top: 0;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table th,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table td {
    padding: 1rem 1.25rem 1.125rem;
    border: 0;
    vertical-align: top;
    font-size: 0.875rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table th {
    width: 5.625rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    -webkit-box-shadow: inset 0.0625rem 0 #bcbcbc, inset 0 -0.0625rem #bcbcbc;
            box-shadow: inset 0.0625rem 0 #bcbcbc, inset 0 -0.0625rem #bcbcbc;
    letter-spacing: 0.08em;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table td {
    -webkit-box-shadow: inset -0.0625rem 0 #bcbcbc, inset 0 -0.0625rem #bcbcbc;
            box-shadow: inset -0.0625rem 0 #bcbcbc, inset 0 -0.0625rem #bcbcbc;
    letter-spacing: 0.04em;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table tr:first-child th,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table tr:first-child td {
    border-top: 0;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table tr:first-child th {
    -webkit-box-shadow: inset 0.0625rem 0 #bcbcbc, inset 0 0.0625rem #bcbcbc, inset 0 -0.0625rem #bcbcbc;
            box-shadow: inset 0.0625rem 0 #bcbcbc, inset 0 0.0625rem #bcbcbc, inset 0 -0.0625rem #bcbcbc;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .wp-block-table tr:first-child td {
    -webkit-box-shadow: inset -0.0625rem 0 #bcbcbc, inset 0 0.0625rem #bcbcbc, inset 0 -0.0625rem #bcbcbc;
            box-shadow: inset -0.0625rem 0 #bcbcbc, inset 0 0.0625rem #bcbcbc, inset 0 -0.0625rem #bcbcbc;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .session-detail__option-title {
    padding-top: 6.25rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .session-detail__option-fee table th,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .session-detail__option-fee table td {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .session-detail__option-fee table tr:first-child th,
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .session-detail__option-fee table tr:first-child td {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .session-detail__option-fee table th {
    width: 10.375rem;
    padding-right: 1.5rem;
    padding-left: 1.25rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-detail__body--advisory > .session-detail__option-fee table td {
    padding-right: 1.25rem;
    padding-left: 0;
    background-size: calc(100% - 6.25rem) 0.0625rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options {
    padding-bottom: 0;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
    row-gap: 0.25rem;
    min-height: 0;
    padding: 0.25rem 1rem;
    background: #fff;
    border: 0;
    -webkit-box-shadow: inset 0 0 0 0.0625rem #a69580;
            box-shadow: inset 0 0 0 0.0625rem #a69580;
    text-align: left;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column::before {
    display: block;
    grid-column: 1;
    grid-row: 1/span 2;
    width: 5rem;
    height: 5rem;
    margin: 0;
    background-image: var(--session-option-sp-icon);
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column::after {
    top: -0.75rem;
    left: -0.375rem;
    right: auto;
    bottom: auto;
    width: 1.5625rem;
    height: 1.5625rem;
    border: 0;
    background: url(../img/session/session-option-star.svg) center/contain no-repeat;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column:nth-child(2) {
    grid-template-columns: minmax(0, 1fr) 5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column:nth-child(2)::before {
    grid-column: 2;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column:nth-child(2)::after {
    left: auto;
    right: -0.375rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column:nth-child(2) .session-options__number,
  :is(.postid-294, .postid-295, .postid-296) .session-options > .wp-block-column:nth-child(2) .session-options__title {
    grid-column: 1;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options__number {
    grid-column: 2;
    -ms-flex-item-align: end;
        align-self: end;
    font-size: 0.75rem;
    letter-spacing: 0;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-options__title {
    grid-column: 2;
    -ms-flex-item-align: start;
        align-self: start;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow {
    padding-bottom: 8rem;
    background: #16264c url(../img/session/advisory-flow-background-sp.png) center/100% 100% no-repeat;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow::before {
    content: none;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__background {
    display: none;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__steps {
    border-radius: 0 4rem 0 4rem;
    background: rgba(255, 255, 255, .88);
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__steps::before {
    content: none;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step {
    position: relative;
    padding-top: 0.375rem;
    padding-bottom: 2rem;
    row-gap: 1rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step + .session-flow__step {
    margin-top: 0;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step::before {
    position: absolute;
    top: 1.375rem;
    bottom: 0;
    left: 0.8125rem;
    width: 0.0625rem;
    content: "";
    background: #a69580;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step:nth-child(2)::before {
    top: 0;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step:nth-child(3)::before {
    top: 0;
    bottom: auto;
    height: 0.375rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step:nth-child(4) {
    display: none;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__marker {
    margin-top: -0.375rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step:nth-child(n+2) .session-flow__img {
    visibility: visible;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__img {
    height: auto;
    aspect-ratio: auto;
    border-radius: 0;
    overflow: visible;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__img img {
    width: auto;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__copy {
    gap: 0.5rem;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__step-title {
    letter-spacing: 0.08em;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__text {
    font-size: 0.8125rem;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  :is(.postid-294, .postid-295, .postid-296) .session-flow__button {
    height: auto;
    padding: 1.25rem 2.5rem 1.125rem;
    font-size: 1.25rem;
  }
}
/* session-list */
.session-list {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
}

.session-list__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 120px;
  gap: 7.5rem;
}

.session-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  gap: 64px;
  gap: 4rem;
}
.session-list__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.session-list__image {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 528px;
          flex: 0 0 528px;
  -ms-flex: 0 0 33rem;
      flex: 0 0 33rem;
  width: 528px;
  width: 33rem;
  height: 440px;
  height: 27.5rem;
  padding: 16px;
  padding: 1rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) left top/0.0625rem 26.25rem no-repeat, -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) right bottom/0.0625rem 26.25rem no-repeat, -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) left top/31.75rem 0.0625rem no-repeat, -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) right bottom/31.75rem 0.0625rem no-repeat;
  background: linear-gradient(#9cb2ca, #9cb2ca) left top/0.0625rem 26.25rem no-repeat, linear-gradient(#9cb2ca, #9cb2ca) right bottom/0.0625rem 26.25rem no-repeat, linear-gradient(#9cb2ca, #9cb2ca) left top/31.75rem 0.0625rem no-repeat, linear-gradient(#9cb2ca, #9cb2ca) right bottom/31.75rem 0.0625rem no-repeat;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="16" /><feOffset dx="1" dy="1" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.08)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
  -webkit-filter: drop-shadow(0 0 8px rgba(0, 0, 0, .08));
          filter: drop-shadow(0 0 8px rgba(0, 0, 0, .08));
  -webkit-filter: drop-shadow(0 0 0.5rem rgba(0, 0, 0, .08));
          filter: drop-shadow(0 0 0.5rem rgba(0, 0, 0, .08));
}

.session-list__image-visual {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.session-list__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  min-width: 0;
}

.session-list__title {
  color: #333;
  font-family: "Shippori Mincho B1", serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.session-list__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-top: 24px;
  margin-top: 1.5rem;
  padding-bottom: 1px;
  padding-bottom: 0.0625rem;
  color: #333;
}

.session-list__lead {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .session-list__lead br {
    display: none;
  }
}

.session-list__description {
  margin-top: 8px;
  margin-top: 0.5rem;
  word-wrap: break-word;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.12em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.session-list__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 263px;
  width: 16.4375rem;
  height: 54px;
  height: 3.375rem;
  margin-top: 32px;
  margin-top: 2rem;
  padding: 18px 40px 16px;
  padding: 1.125rem 2.5rem 1rem;
  background: linear-gradient(103.38deg, #16264a 3.97%, #9cb2ca 100%);
  color: #fff;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.session-list__button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.session-list__button:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}

.session-list__curve {
  height: 160px;
  height: 10rem;
  background: #efeee9;
}

@media screen and (max-width: 767px) {
  .post-type-archive-session {
    -webkit-font-smoothing: antialiased;
  }
  .post-type-archive-session .mv .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .session-list__title,
  .session-list__lead {
    font-family: "Shippori Mincho B1 palt", serif;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .session-list {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .session-list__items {
    gap: 4rem;
  }
  .session-list__item,
  .session-list__item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 2rem;
  }
  .session-list__content {
    display: contents;
  }
  .session-list__title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .session-list__image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    overflow: visible;
    padding: 0.625rem;
    background: -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) left top/0.0625rem calc(100% - 0.625rem) no-repeat, -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) right bottom/0.0625rem calc(100% - 0.625rem) no-repeat, -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) left top/calc(100% - 0.625rem) 0.0625rem no-repeat, -webkit-gradient(linear, left top, left bottom, from(#9cb2ca), to(#9cb2ca)) right bottom/calc(100% - 0.625rem) 0.0625rem no-repeat;
    background: linear-gradient(#9cb2ca, #9cb2ca) left top/0.0625rem calc(100% - 0.625rem) no-repeat, linear-gradient(#9cb2ca, #9cb2ca) right bottom/0.0625rem calc(100% - 0.625rem) no-repeat, linear-gradient(#9cb2ca, #9cb2ca) left top/calc(100% - 0.625rem) 0.0625rem no-repeat, linear-gradient(#9cb2ca, #9cb2ca) right bottom/calc(100% - 0.625rem) 0.0625rem no-repeat;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="0" /><feOffset dx="1" dy="1" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.08)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
    -webkit-filter: drop-shadow(0 0 0.3125rem rgba(0, 0, 0, .08));
            filter: drop-shadow(0 0 0.3125rem rgba(0, 0, 0, .08));
  }
  .session-list__image-visual {
    width: auto;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  .session-list__title {
    font-size: 1.5rem;
  }
  .session-list__copy {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 0;
    padding-bottom: 0;
  }
  .session-list__lead {
    font-size: 1.125rem;
  }
  .session-list__description {
    font-size: 0.875rem;
  }
  .session-list__button {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    width: 100%;
    margin-top: 0;
    height: auto;
  }
  .session-list__curve {
    height: 4rem;
  }
}
/* top-about */
.top-about {
  padding-top: 40px;
  padding-top: 2.5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#abb9c4), to(#efeee9));
  background: linear-gradient(180deg, #abb9c4 0%, #efeee9 100%);
}
@media screen and (max-width: 767px) {
  .top-about {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.top-about__inner {
  display: grid;
  grid-template-columns: 32.5rem 32.5rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .top-about__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.5rem;
  }
}

.top-about__visual {
  position: relative;
  width: 520px;
  width: 32.5rem;
  height: 600px;
  height: 37.5rem;
}
@media screen and (max-width: 767px) {
  .top-about__visual {
    width: 20rem;
    height: 21.3125rem;
  }
}

.top-about__visual-picture {
  position: absolute;
  top: 0;
  left: 50%;
  width: 522px;
  width: 32.625rem;
  height: 600px;
  height: 37.5rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .top-about__visual-picture {
    width: 20.0625rem;
    height: 21.375rem;
  }
}

.top-about__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 16px;
  padding-top: 1rem;
}
@media screen and (max-width: 767px) {
  .top-about__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 0;
  }
}

.top-about__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .top-about__heading {
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
}

.top-about__title {
  width: 449px;
  width: 28.0625rem;
}
@media screen and (max-width: 767px) {
  .top-about__title {
    width: 20rem;
  }
}

.top-about__position {
  color: #667d9f;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .top-about__position {
    font-size: 0.875rem;
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
    line-height: 1;
    letter-spacing: 0;
  }
}

.top-about__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 26px;
  margin-top: 1.625rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  line-height: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .top-about__text {
    width: 21.875rem;
    margin-top: 1.5rem;
    font-size: 0.875rem;
    font-family: "Shippori Mincho B1 palt", serif;
    text-align: center;
    letter-spacing: 0.12em;
  }
}

.top-about__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 32px;
  margin-top: 2rem;
  gap: 8px;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .top-about__sns {
    margin-top: 1.5rem;
  }
}

.top-about__sns-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}
.top-about__sns-link > img {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.top-about__sns-item--youtube img {
  width: 32px;
  width: 2rem;
  height: 27px;
  height: 1.6875rem;
}

.top-about__button {
  margin-top: 32px;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .top-about__button {
    margin-top: 1.5rem;
  }
}

/* top-button */
.top-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 263px;
  width: 16.4375rem;
  height: 54px;
  height: 3.375rem;
  background: linear-gradient(105deg, #16264a, #9cb2ca);
  color: #fff;
  font-family: "Prata", serif;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
.top-button::after {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  content: "";
  background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top-button:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .top-button {
    width: 20rem;
    padding-top: 1.125rem;
    padding-bottom: 1rem;
  }
}

.top-button--light {
  background: #fff;
  color: #16264a;
}
.top-button--light::after {
  background-image: url(../img/common/button-arrow-gold.svg);
}
.top-button--light:focus-visible {
  outline-color: #fff;
}

.top-button--post-list {
  margin: 48px auto 0;
  margin: 3rem auto 0;
}
@media screen and (max-width: 767px) {
  .top-button--post-list {
    margin-top: 2.5rem;
  }
}

.top-button--event-list {
  margin-top: 46px;
  margin-top: 2.875rem;
}
@media screen and (max-width: 767px) {
  .top-button--event-list {
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .top-button--news-list {
    margin-top: 3rem;
  }
}

/* top-carousel */
.top-carousel--posts {
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .top-carousel--posts {
    width: calc(100% + 2.5rem);
    margin-top: 2.5rem;
    margin-left: -1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .top-carousel--posts.top-carousel--static {
    width: 100%;
    margin-left: 0;
  }
  .top-carousel--posts.top-carousel--static .top-carousel__viewport {
    overflow: visible;
    -ms-touch-action: auto;
        touch-action: auto;
  }
  .top-carousel--posts.top-carousel--static .l-cards--carousel {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: none;
    transition: none;
  }
}

@media screen and (max-width: 767px) {
  .top-carousel--posts.top-carousel--static-two .l-cards--carousel {
    gap: 0.75rem;
  }
  .top-carousel--posts.top-carousel--static-two .card--top-carousel {
    width: calc(50% - 0.375rem);
  }
}

.top-carousel--event {
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .top-carousel--event {
    margin-top: 2.5rem;
  }
  .top-carousel--event .top-carousel__arrow {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #a69580;
  }
  .top-carousel--event .top-carousel__arrow::after {
    display: block;
    width: 1.5625rem;
    height: 0.3125rem;
    content: "";
    background: url(../img/common/button-arrow-white.svg) center/contain no-repeat;
  }
  .top-carousel--event .top-carousel__arrow--prev::after {
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
  }
  .top-carousel--event .top-carousel__dot {
    background: #fff;
  }
  .top-carousel--event .top-carousel__dot[aria-current=true] {
    background: #a69580;
  }
}

@media screen and (max-width: 767px) {
  .top-carousel--news {
    margin-top: 3rem;
  }
}

.top-carousel__viewport {
  overflow: hidden;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

@media screen and (max-width: 767px) {
  .top-carousel__controls--posts {
    margin-top: 1.5rem;
  }
}

.top-carousel__controls {
  display: none;
}
@media screen and (max-width: 767px) {
  .top-carousel__controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.5rem;
  }
}

.top-carousel__arrow {
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  background: center/contain no-repeat;
}
.top-carousel__arrow:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
.top-carousel__arrow:disabled {
  opacity: 0.4;
  cursor: default;
}
.top-carousel__arrow[aria-hidden=true] {
  pointer-events: none;
}

.top-carousel__arrow--prev {
  background-image: url(../img/top/top-carousel-prev.svg);
}

.top-carousel__arrow--next {
  background-image: url(../img/top/top-carousel-next.svg);
}

.top-carousel__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  gap: 0.5rem;
}

.top-carousel__dot {
  width: 8px;
  width: 0.5rem;
  height: 8px;
  height: 0.5rem;
  border-radius: 50%;
  background: #d8e3ef;
}
.top-carousel__dot[aria-current=true] {
  background: #16264a;
}
.top-carousel__dot:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
.top-carousel__dot:disabled {
  opacity: 0.4;
  cursor: default;
}
.top-carousel__dot[aria-hidden=true] {
  pointer-events: none;
}

/* top-event */
.top-event {
  position: relative;
  min-height: 1095px;
  min-height: 68.4375rem;
  padding-top: 280px;
  padding-top: 17.5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
  overflow: hidden;
  background-color: #efeee9;
}
.top-event::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 160px;
  height: 10rem;
  content: "";
  background: url(../img/common/section-curve.svg) center/100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  .top-event {
    min-height: 0;
    padding-top: 6.5rem;
    padding-bottom: 4rem;
    background-color: #efeee9;
  }
  .top-event::before {
    height: 4rem;
  }
}

.top-event__rays {
  position: absolute;
  z-index: 0;
  top: -475px;
  top: -29.6875rem;
  left: 50%;
  display: block;
  width: 800px;
  width: 50rem;
  height: 781.114px;
  height: 48.819625rem;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.top-event__rays > svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .top-event__rays {
    top: -10rem;
    width: 17.5rem;
    height: 17.086875rem;
  }
}

.top-event > .l-inner {
  position: relative;
  z-index: 2;
}

.top-event .card__meta-row {
  line-height: 1;
}

/* top-heading */
.top-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .top-heading {
    gap: 0.25rem;
  }
}

.top-heading--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.top-heading__title {
  color: #a69580;
  font-family: "Prata", serif;
  font-size: 128px;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top-heading__title {
    font-size: 3.5rem;
  }
}

.top-heading__title--blue {
  color: #9cb2ca;
}

.top-heading__title--light,
.top-heading__subtitle--light {
  color: #fff;
}

.top-heading__subtitle {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .top-heading__subtitle {
    font-size: 0.875rem;
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
}

/* top-instructor */
.top-instructor {
  position: relative;
  min-height: 1078px;
  min-height: 67.375rem;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
  overflow-x: hidden;
  background: #fff;
}
.top-instructor::before, .top-instructor::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}
.top-instructor::before {
  background: url(../img/top/top-instructor-bg.png) center/cover no-repeat;
  -webkit-transform: scale(-1);
          transform: scale(-1);
}
.top-instructor::after {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(3.308%, #fff), color-stop(52.477%, rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, #fff 3.308%, rgba(255, 255, 255, 0) 52.477%);
}
.top-instructor > * {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-instructor {
    min-height: 0;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .top-instructor::before {
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
  .top-instructor::after {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(7.801%, #fff), color-stop(73.166%, rgba(255, 255, 255, 0)));
    background: linear-gradient(180deg, #fff 7.801%, rgba(255, 255, 255, 0) 73.166%);
  }
}

.top-instructor__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: 24px;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .top-instructor__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
}

.top-instructor__title {
  color: #9cb2ca;
  font-family: "Prata", serif;
  font-size: 128px;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top-instructor__title {
    font-size: 3.5rem;
  }
}

.top-instructor__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.12em;
  width: 1120px;
  width: 70rem;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .top-instructor__text {
    font-size: 0.875rem;
    width: 21.875rem;
    font-family: "Shippori Mincho B1 palt", serif;
    letter-spacing: 0.12em;
    gap: 0.75rem;
  }
  .top-instructor__text p {
    white-space: nowrap;
  }
}

.top-instructor__carousel {
  position: relative;
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .top-instructor__carousel {
    width: calc(100% + 2.5rem);
    margin-top: 1.5rem;
    margin-left: -1.25rem;
  }
}

.top-instructor .top-carousel__viewport {
  -webkit-clip-path: inset(0 2.75rem 0 5.75rem);
          clip-path: inset(0 2.75rem 0 5.75rem);
}
@media screen and (max-width: 767px) {
  .top-instructor .top-carousel__viewport {
    -webkit-clip-path: none;
            clip-path: none;
  }
}

.top-instructor__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  min-height: 456px;
  min-height: 28.5rem;
  gap: 48px;
  gap: 3rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top-instructor__cards {
    min-height: 24.75rem;
    gap: 1.5rem;
  }
}

.top-instructor__carousel--static {
  width: 100%;
  margin-left: auto;
}
.top-instructor__carousel--static .top-carousel__viewport {
  overflow: visible;
  -webkit-clip-path: none;
          clip-path: none;
  -ms-touch-action: auto;
      touch-action: auto;
}
.top-instructor__carousel--static .top-instructor__cards {
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: none;
  transition: none;
}

.top-instructor__card {
  width: 280px;
  width: 17.5rem;
  min-height: 456px;
  min-height: 28.5rem;
}
@media screen and (max-width: 767px) {
  .top-instructor__card {
    width: 15rem;
    min-height: 24.75rem;
  }
}

.top-instructor__card .instructor-card__link {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.top-instructor__card.is-center .instructor-card__link {
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
}

.top-instructor__carousel.is-loop-resetting .top-instructor__card .instructor-card__link {
  -webkit-transition: none;
  transition: none;
}

.top-instructor__arrows {
  position: absolute;
  top: 196px;
  top: 12.25rem;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1120px;
  width: 70rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .top-instructor__arrows {
    top: 10.875rem;
    width: 21.875rem;
  }
}

.top-instructor__arrow {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 64px;
  width: 4rem;
  height: 64px;
  height: 4rem;
  border-radius: 50%;
  background: #fff;
  pointer-events: auto;
}
.top-instructor__arrow:focus-visible {
  outline: 2px solid #fff;
  outline: 0.125rem solid #fff;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}
.top-instructor__arrow:disabled {
  opacity: 0.4;
  cursor: default;
}
.top-instructor__arrow::after {
  width: 25px;
  width: 1.5625rem;
  height: 5px;
  height: 0.3125rem;
  content: "";
  background: url(../img/top/top-instructor-arrow.svg) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .top-instructor__arrow {
    width: 3rem;
    height: 3rem;
  }
}

.top-instructor__arrow--prev::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.top-instructor__button {
  margin: 48px auto 0;
  margin: 3rem auto 0;
}
@media screen and (max-width: 767px) {
  .top-instructor__button {
    margin-top: 2.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-instructor__card .instructor-card__link {
    -webkit-transition: none;
    transition: none;
  }
}
/* top-mv */
.top-mv {
  position: relative;
  min-height: 1352px;
  min-height: 84.5rem;
  overflow: hidden;
  background: url(../img/top/top-hero-background-pc.png) center/cover no-repeat #16264a;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top-mv {
    min-height: 0;
    background-image: url(../img/top/top-hero-background-sp.png);
  }
}

.top-mv__visual {
  position: relative;
  z-index: 1;
  height: 800px;
  height: 50rem;
}
@media screen and (max-width: 767px) {
  .top-mv__visual {
    height: 40rem;
  }
}

.top-mv__circles {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(100%, 1440px);
  width: min(100%, 90rem);
  height: auto;
  aspect-ratio: 1440/928;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .top-mv__circles {
    top: 0;
    left: 50%;
    width: 24.375rem;
    height: 40rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.top-mv__circles-picture {
  display: block;
  width: 100%;
  height: 100%;
}
.top-mv__circles-picture > img {
  width: 100%;
  height: 100%;
}

.top-mv__shooting-star {
  position: absolute;
  inset: 0;
  display: none;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.top-mv__shooting-line {
  position: absolute;
  height: 1px;
  height: 0.0625rem;
  background-color: rgba(255, 255, 255, .72);
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}

.top-mv__shooting-star-shape {
  position: absolute;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}

.top-mv__shooting-star--left .top-mv__shooting-line {
  top: 87.73px;
  top: 5.483125rem;
  left: 327.89px;
  left: 20.493125rem;
  width: 320px;
  width: 20rem;
}
.top-mv__shooting-star--left .top-mv__shooting-star-shape {
  top: 192px;
  top: 12rem;
  left: 317px;
  left: 19.8125rem;
  width: 48px;
  width: 3rem;
  height: 49px;
  height: 3.0625rem;
}

.top-mv__shooting-star--right .top-mv__shooting-line {
  top: 376.31px;
  top: 23.519375rem;
  left: 1067.61px;
  left: 66.725625rem;
  width: 160px;
  width: 10rem;
}
.top-mv__shooting-star--right .top-mv__shooting-star-shape {
  top: 426.81px;
  top: 26.675625rem;
  left: 1064px;
  left: 66.5rem;
  width: 24px;
  width: 1.5rem;
  height: 24.38px;
  height: 1.52375rem;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

@media screen and (max-width: 767px) {
  .top-mv__shooting-star--left .top-mv__shooting-line {
    top: 2.59375rem;
    left: 5.54375rem;
    width: 8.125rem;
  }
  .top-mv__shooting-star--left .top-mv__shooting-star-shape {
    top: 4.7375rem;
    left: 5.96875rem;
    width: 1.125rem;
    height: 1.14875rem;
  }
  .top-mv__shooting-star--right .top-mv__shooting-line {
    top: 34.34375rem;
    left: 19rem;
    width: 6rem;
  }
  .top-mv__shooting-star--right .top-mv__shooting-star-shape {
    top: 35.84375rem;
    left: 19.375rem;
    width: 0.8125rem;
    height: 0.9875rem;
  }
}
.top-mv__portrait {
  position: absolute;
  top: 59px;
  top: 3.6875rem;
  left: calc(50% + 0.5625rem);
  width: 640px;
  width: 40rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.top-mv__portrait > picture {
  display: block;
  width: 100%;
}
.top-mv__portrait > picture > img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .top-mv__portrait {
    top: 7.3125rem;
    left: 50%;
    width: 22.1875rem;
  }
}

.top-mv__identity {
  position: absolute;
  top: 521px;
  top: 32.5625rem;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  gap: 32px;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .top-mv__identity {
    top: 26.8125rem;
    width: 21.875rem;
    gap: 1rem;
  }
}

.top-mv__title {
  width: 871px;
  width: 54.4375rem;
}
@media screen and (max-width: 767px) {
  .top-mv__title {
    width: 20rem;
  }
}

.top-mv__subtitle {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .top-mv__subtitle {
    font-size: 1rem;
    font-family: "Shippori Mincho B1 palt", serif;
    font-weight: 600;
    line-height: 1;
    width: 100%;
    text-align: center;
  }
}

.top-mv__concept {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 552px;
  min-height: 34.5rem;
  padding-top: 124px;
  padding-top: 7.75rem;
  gap: 40px;
  gap: 2.5rem;
}
.top-mv__concept::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: min(100%, 1440px);
  width: min(100%, 90rem);
  content: "";
  pointer-events: none;
  background: url(../img/top/top-hero-concept-decoration-pc.png) center/100% 100% no-repeat;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .top-mv__concept {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    min-height: 0;
    padding: 4rem 1.25rem;
    gap: 1.5rem;
  }
  .top-mv__concept::before {
    top: -2rem;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 25.4375rem;
    background-image: url(../img/top/top-hero-concept-decoration-sp.png);
    -webkit-transform: none;
            transform: none;
  }
}

.top-mv__concept-decoration {
  position: absolute;
  inset: 0;
  display: none;
  pointer-events: none;
}

.top-mv__concept-decoration-line {
  position: absolute;
  display: block;
  background-image: url(../img/top/top-hero-concept-decoration-pc.png);
  background-repeat: no-repeat;
  background-size: 90rem 34.5rem;
}

.top-mv__concept-decoration-line--1 {
  top: 138px;
  top: 8.625rem;
  left: calc(50% - 27.625rem);
  width: 220px;
  width: 13.75rem;
  height: 158px;
  height: 9.875rem;
  background-position: -278px -138px;
  background-position: -17.375rem -8.625rem;
}

.top-mv__concept-decoration-line--2 {
  top: 390px;
  top: 24.375rem;
  left: calc(50% - 14.625rem);
  width: 100px;
  width: 6.25rem;
  height: 84px;
  height: 5.25rem;
  background-position: -486px -390px;
  background-position: -30.375rem -24.375rem;
}

.top-mv__concept-decoration-line--3 {
  top: 162px;
  top: 10.125rem;
  left: calc(50% + 13rem);
  width: 186px;
  width: 11.625rem;
  height: 134px;
  height: 8.375rem;
  background-position: -928px -162px;
  background-position: -58rem -10.125rem;
}

@media screen and (max-width: 767px) {
  .top-mv__concept-decoration {
    top: -2rem;
    right: auto;
    bottom: auto;
    left: 0;
    width: 24.375rem;
    height: 25.4375rem;
  }
  .top-mv__concept-decoration-line {
    background-image: url(../img/top/top-hero-concept-decoration-sp.png);
    background-size: 24.375rem 25.4375rem;
  }
  .top-mv__concept-decoration-line--1 {
    top: 0;
    left: 0;
    width: 9.25rem;
    height: 6.5rem;
    background-position: 0 0;
  }
  .top-mv__concept-decoration-line--2 {
    display: none;
  }
  .top-mv__concept-decoration-line--3 {
    top: 17.625rem;
    left: 17.9375rem;
    width: 6.4375rem;
    height: 5rem;
    background-position: -17.9375rem -17.625rem;
  }
}
.top-mv__concept-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 26px;
  width: 1.625rem;
}
@media screen and (max-width: 767px) {
  .top-mv__concept-item {
    width: 1.4375rem;
  }
}

.top-mv__concept-item--center {
  padding-top: 40px;
  padding-top: 2.5rem;
  gap: 2px;
  gap: 0.125rem;
}

.top-mv__concept-item--offset-20 {
  padding-top: 20px;
  padding-top: 1.25rem;
}

.top-mv__concept-item--offset-20-pc {
  padding-top: 20px;
  padding-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-mv__concept-item--offset-20-pc {
    padding-top: 1.25rem;
  }
}

.top-mv__concept-item--offset-60 {
  padding-top: 60px;
  padding-top: 3.75rem;
}

.top-mv__concept-line {
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  -webkit-font-feature-settings: "vrt2" 1;
          font-feature-settings: "vrt2" 1;
  line-height: 1.2;
  letter-spacing: 0.2em;
  width: 20px;
  width: 1.25rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .top-mv__concept-line {
    width: 1.25rem;
    font-size: 1rem;
    font-family: "Shippori Mincho B1 palt", serif;
    font-weight: 600;
    line-height: 1.2;
  }
}

.top-mv__concept-line--number {
  width: auto;
  display: inline-block;
  direction: ltr;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: -0.08em;
  text-orientation: mixed;
  white-space: nowrap;
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  margin-right: 5px;
  margin-right: 0.3125rem;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .top-mv__concept-line--number {
    display: inline-block;
    width: auto;
    margin-right: 0;
    margin-bottom: 0;
    font-size: 0.875rem;
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .top-mv__concept-item--center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 2.5rem;
  }
}

/* top-social */
.top-social {
  position: relative;
  min-height: 1963px;
  min-height: 122.6875rem;
  padding-top: 120px;
  padding-top: 7.5rem;
  overflow: hidden;
  background: #16264c;
  color: #fff;
  margin-top: -1px;
  margin-top: -0.0625rem;
}
.top-social::before, .top-social::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}
.top-social::before {
  display: none;
}
.top-social::after {
  top: auto;
  bottom: 0;
  display: none;
  height: 160px;
  height: 10rem;
  z-index: 2;
  background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}
@media screen and (max-width: 767px) {
  .top-social {
    min-height: 0;
    padding-top: 0;
  }
  .top-social::after {
    top: auto;
    bottom: 0;
    display: block;
    height: 4rem;
    background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
    z-index: 2;
  }
}

.top-social__line {
  position: relative;
  z-index: 2;
  min-height: 475px;
  min-height: 29.6875rem;
}
@media screen and (max-width: 767px) {
  .top-social__line {
    min-height: 0;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.top-news {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 320px;
  padding-bottom: 20rem;
  background: #16264c;
}
.top-news::before, .top-news::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}
.top-news::before {
  opacity: 0.32;
  background: url(../img/top/top-news-bg.png) center/cover no-repeat;
  mix-blend-mode: lighten;
}
.top-news::after {
  background-image: url(../img/top/top-news-decoration-right-pc.svg), -webkit-gradient(linear, left top, left bottom, from(#16264c), color-stop(40%, rgba(22, 38, 76, 0)));
  background-image: url(../img/top/top-news-decoration-right-pc.svg), linear-gradient(180deg, #16264c 0%, rgba(22, 38, 76, 0) 40%);
  background-position: right -150px top 76px, center top;
  background-position: right -9.375rem top 4.75rem, center top;
  background-size: 25rem 25rem, 100% 40%;
  background-repeat: no-repeat;
}
.top-news > * {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-news {
    padding-top: 4rem;
    padding-bottom: 10.1875rem;
  }
  .top-news::before {
    background-size: auto 100%;
  }
  .top-news::after {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#16264c), color-stop(40%, rgba(22, 38, 76, 0)));
    background-image: linear-gradient(180deg, #16264c 0%, rgba(22, 38, 76, 0) 40%);
    background-position: center top;
    background-size: 100% 40%;
    background-repeat: no-repeat;
  }
  .top-news .top-carousel__dot {
    background: #fff;
  }
  .top-news .top-carousel__dot[aria-current=true] {
    background: #9CB2CA;
  }
}

/* top-voice */
.top-voice {
  position: relative;
  min-height: 859px;
  min-height: 53.6875rem;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
  overflow: hidden;
  background: #fff;
}
.top-voice::before {
  content: none;
}
.top-voice::after {
  content: none;
}
@media screen and (max-width: 767px) {
  .top-voice {
    min-height: 0;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.top-voice__decorations {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
}
.top-voice__decorations::before, .top-voice__decorations::after {
  position: absolute;
  content: "";
  pointer-events: none;
}
.top-voice__decorations::before {
  content: none;
}
.top-voice__decorations::after {
  right: 0;
  bottom: 0;
  width: 240px;
  width: 15rem;
  height: 172px;
  height: 10.75rem;
  background: url(../img/top/top-voice-decoration-bottom-pc.svg) center/100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  .top-voice__decorations::after {
    width: 10rem;
    height: 7.1875rem;
    background-image: url(../img/top/top-voice-decoration-bottom-sp.svg);
  }
}

.top-voice__shooting-star {
  position: absolute;
  top: 103px;
  top: 6.4375rem;
  left: calc(50% - 35rem);
  width: 205px;
  width: 12.8125rem;
  height: 32px;
  height: 2rem;
  display: block;
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.top-voice__shooting-line {
  position: absolute;
  top: 50%;
  left: 16px;
  left: 1rem;
  width: calc(100% - 1rem);
  height: 1px;
  height: 0.0625rem;
  background: rgba(166, 149, 128, .56);
  -webkit-transform-origin: right center;
          transform-origin: right center;
}

.top-voice__shooting-star-shape {
  position: absolute;
  top: 50%;
  left: 0;
  width: 32px;
  width: 2rem;
  height: 32.5px;
  height: 2.03125rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.top-voice__diagonal-lines,
.top-voice__diagonal-line {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 240px;
  width: 15rem;
  height: 172px;
  height: 10.75rem;
}

.top-voice__diagonal-lines {
  display: none;
}

.top-voice__diagonal-line {
  display: block;
  background: url(../img/top/top-voice-decoration-bottom-pc.svg) center/100% 100% no-repeat;
}

.top-voice__diagonal-line--1 {
  -webkit-clip-path: polygon(34% 73%, 36% 78%, 100% 2%, 100% 0);
          clip-path: polygon(34% 73%, 36% 78%, 100% 2%, 100% 0);
}

.top-voice__diagonal-line--2 {
  -webkit-clip-path: polygon(0 98%, 0 100%, 73% 17%, 70% 15%);
          clip-path: polygon(0 98%, 0 100%, 73% 17%, 70% 15%);
}

@media screen and (max-width: 767px) {
  .top-voice__shooting-star {
    top: 4rem;
    left: 2rem;
    width: 8.125rem;
    height: 1.25rem;
  }
  .top-voice__shooting-line {
    left: 0.625rem;
    width: calc(100% - 0.625rem);
  }
  .top-voice__shooting-star-shape {
    width: 1.25rem;
    height: 1.269375rem;
  }
  .top-voice__diagonal-lines,
  .top-voice__diagonal-line {
    width: 10rem;
    height: 7.1875rem;
  }
  .top-voice__diagonal-line {
    background-image: url(../img/top/top-voice-decoration-bottom-sp.svg);
  }
}
.top-voice > :not(.top-voice__decorations) {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .top-voice .top-heading {
    width: calc(100% - 2.5rem);
    margin-right: auto;
    margin-left: auto;
  }
}

.top-voice__carousel {
  margin-top: 64px;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .top-voice__carousel {
    margin-top: 2.5rem;
  }
}

.top-voice__carousel--static .top-carousel__viewport {
  overflow: visible;
  -ms-touch-action: auto;
      touch-action: auto;
}
.top-voice__carousel--static .top-voice__cards {
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: none;
  transition: none;
}

.top-voice__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 40px;
  gap: 2.5rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top-voice__cards {
    gap: 1rem;
  }
}

.voice-card--top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 350px;
  width: 21.875rem;
  padding: 32px 40px;
  padding: 2rem 2.5rem;
}
.voice-card--top::before, .voice-card--top::after {
  position: absolute;
  content: "";
  pointer-events: none;
}
.voice-card--top::before {
  top: 8px;
  top: 0.5rem;
  left: 8px;
  left: 0.5rem;
  width: 335px;
  width: 20.9375rem;
  height: 249px;
  height: 15.5625rem;
  background: url(../img/top/top-voice-card-border-top-pc.svg) left top/100% 100% no-repeat;
}
.voice-card--top::after {
  inset: 0;
  background-image: url(../img/top/top-voice-card-border-bottom-pc.svg), url(../img/top/top-voice-card-surface-pc.svg);
  background-position: right 8px top 32px, right bottom;
  background-position: right 0.5rem top 2rem, right bottom;
  background-repeat: no-repeat;
  background-size: 20.9375rem 16.5rem, 18.5625rem 14.5rem;
}
@media screen and (max-width: 767px) {
  .voice-card--top {
    width: 17.5rem;
    min-height: 15.5rem;
    padding: 2rem;
  }
  .voice-card--top::before {
    top: 0.5rem;
    left: 0.5rem;
    width: 16.6875rem;
    height: 13.5625rem;
    background: url(../img/top/top-voice-card-border-top-sp.svg) left top/100% 100% no-repeat;
  }
  .voice-card--top::after {
    background-image: url(../img/top/top-voice-card-border-bottom-sp.svg), url(../img/top/top-voice-card-surface-sp.svg);
    background-position: right 0.375rem top 1.5rem, right bottom;
    background-size: 16.6875rem 14.375rem, 13.75rem 13.9375rem;
  }
}

.top-voice__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-height: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 16px;
  gap: 1rem;
  color: inherit;
  text-decoration: none;
}

.top-voice__text {
  position: relative;
  z-index: 1;
  min-width: 100%;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  text-align: justify;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media screen and (max-width: 767px) {
  .top-voice__text {
    font-size: 1rem;
  }
}

.top-voice__profile {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 24px;
  gap: 1.5rem;
  min-height: 80px;
  min-height: 5rem;
}
@media screen and (max-width: 767px) {
  .top-voice__profile {
    gap: 0.5rem;
    min-height: 4rem;
  }
}

.top-voice__person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  gap: 0.25rem;
}

.top-voice__avatar {
  width: 80px;
  width: 5rem;
  height: 80px;
  height: 5rem;
  overflow: hidden;
  border-radius: 50%;
  background: #b9cade;
}
.top-voice__avatar > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
@media screen and (max-width: 767px) {
  .top-voice__avatar {
    width: 4rem;
    height: 4rem;
  }
}

.top-voice__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  gap: 1rem;
  min-width: 0;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .top-voice__meta {
    gap: 0.5rem;
    font-size: 0.6875rem;
  }
}

.top-voice__name {
  margin-top: 4px;
  margin-top: 0.25rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media screen and (max-width: 767px) {
  .top-voice__name {
    font-size: 1rem;
  }
}

.top-voice__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
  margin-top: 1.5rem;
  gap: 24px;
  gap: 1.5rem;
}
.top-voice__controls .top-carousel__dots {
  min-width: 0;
  overflow: hidden;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.top-voice__controls .top-carousel__dot {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.top-voice__button {
  margin: 64px auto 0;
  margin: 4rem auto 0;
}
@media screen and (max-width: 767px) {
  .top-voice__button {
    margin-top: 2.5rem;
  }
}

/* top */
body.home {
  min-width: 0;
}

/* voice-archive */
.mv__main-title--voice {
  font-size: 128px;
  font-size: 8rem;
}

.voice-archive {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#aab8c3), color-stop(32%, #fff), to(#efeee9));
  background: linear-gradient(180deg, #aab8c3 0%, #fff 32%, #efeee9 100%);
}

.voice-archive__items {
  display: grid;
  grid-template-columns: repeat(3, 21.875rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  -webkit-column-gap: 2.1875rem;
     -moz-column-gap: 2.1875rem;
          column-gap: 2.1875rem;
  row-gap: 50px;
  row-gap: 3.125rem;
}

.voice-card--archive::before {
  position: absolute;
  top: 8px;
  top: 0.5rem;
  left: 8px;
  left: 0.5rem;
  width: 311px;
  width: 19.4375rem;
  height: 249px;
  height: 15.5625rem;
  content: "";
  background: url(../img/voice/voice-card-border-top.svg) left top/100% 100% no-repeat;
  pointer-events: none;
}
.voice-card--archive::after {
  position: absolute;
  inset: 0;
  content: "";
  background: url(../img/voice/voice-card-border-bottom.svg) calc(100% - 0.4375rem) calc(100% + 0.5rem)/20.9375rem 18rem no-repeat, url(../img/voice/voice-card-surface.svg) calc(100% + 0.4375rem) calc(100% + 0.4375rem)/18.5625rem 14.5rem no-repeat;
  pointer-events: none;
}

.voice-archive__card-link {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  gap: 1rem;
  width: 100%;
  min-height: 288px;
  min-height: 18rem;
  padding: 32px 40px;
  padding: 2rem 2.5rem;
}
.voice-archive__card-link:focus-visible {
  outline: 2px solid #16264a;
  outline: 0.125rem solid #16264a;
  outline-offset: 4px;
  outline-offset: 0.25rem;
}

.voice-archive__card-title {
  min-height: 128px;
  min-height: 8rem;
  word-wrap: anywhere;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  text-align: justify;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-archive__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  gap: 1.5rem;
  min-height: 80px;
  min-height: 5rem;
}

.voice-archive__photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 80px;
  width: 5rem;
  height: 80px;
  height: 5rem;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 50%;
}
.voice-archive__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.voice-archive__personal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  gap: 0.25rem;
  min-width: 0;
}

.voice-archive__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 16px;
  gap: 0.25rem 1rem;
  min-width: 0;
}

.voice-archive__position,
.voice-archive__school-name {
  max-width: 100%;
  word-wrap: break-word;
  word-break: normal;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-archive__name {
  word-wrap: anywhere;
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-archive__empty {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  text-align: center;
}

.voice-archive__curve {
  height: 160px;
  height: 10rem;
  background: #efeee9;
}

.voice-archive .pagination {
  width: 376px;
  width: 23.5rem;
  margin-top: 64px;
  margin-top: 4rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 1024px) {
  body.post-type-archive-voice {
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .post-type-archive-voice .mv .subtitle {
    font-family: "Shippori Mincho B1 palt", serif;
    -webkit-font-feature-settings: "palt" 1;
            font-feature-settings: "palt" 1;
  }
  .mv__main-title--voice {
    font-size: 3.125rem;
  }
  .voice-archive {
    padding-top: 4rem;
    padding-bottom: 4rem;
    -webkit-font-smoothing: antialiased;
  }
  .voice-archive__items {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
  .voice-archive__items > .voice-card:nth-child(n+7) {
    display: none;
  }
  .voice-card--archive {
    width: 100%;
    min-height: 0;
  }
  .voice-card--archive::before {
    width: calc(100% - 2.5rem);
    height: calc(100% - 2.5rem);
  }
  .voice-card--archive::after {
    inset: 0 -0.4375rem -0.5rem 0;
    background-image: url(../img/voice/voice-card-border-bottom.svg), url(../img/voice/voice-card-surface.svg);
    background-position: left 0.5rem top 0.5rem, right 0 bottom 0.0625rem;
    background-size: calc(100% - 1.375rem) calc(100% - 0.5rem), 18.5625rem 14.5rem;
    background-repeat: no-repeat;
  }
  .voice-archive__card-link {
    min-height: 0;
    padding: 2rem 2.5rem;
  }
  .voice-archive__card-title {
    min-height: 0;
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .voice-archive__name {
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .voice-archive__profile {
    min-height: 0;
  }
  .voice-archive .pagination {
    width: 20.9375rem;
    max-width: 100%;
    margin-top: 4rem;
  }
  .voice-archive .pagination .page-numbers {
    width: 2rem;
    height: 2rem;
    padding-top: 0.125rem;
    font-size: 1rem;
  }
  .voice-archive .pagination .page-numbers.prev, .voice-archive .pagination .page-numbers.next {
    width: 2rem;
    height: 2rem;
    margin: 0;
  }
  .voice-archive__curve {
    height: 4rem;
  }
}
/* voice-detail */
.voice-detail .post__header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
  gap: 3rem;
}

.voice-detail__profile {
  padding: 20px 40px;
  padding: 1.25rem 2.5rem;
  border-radius: 0 4rem 0 4rem;
  background: #fff;
}

.voice-detail__profile--with-school {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 0.0625rem minmax(0, 1fr);
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}

.voice-detail__personal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 172px;
  min-height: 10.75rem;
  padding-top: 20px;
  padding-top: 1.25rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
}

.voice-detail__label {
  color: #16264a;
  font-family: "Prata", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.04em;
}

.voice-detail__personal-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 16px;
  margin-top: 1rem;
}

.voice-detail__photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100px;
  width: 6.25rem;
  height: 100px;
  height: 6.25rem;
  overflow: hidden;
  border-radius: 50%;
}
.voice-detail__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.voice-detail__personal-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  margin-left: 24px;
  margin-left: 1.5rem;
}

.voice-detail__furigana {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.2;
  letter-spacing: 0.32em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-detail__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-detail__honorific {
  margin-left: 4px;
  margin-left: 0.25rem;
  font-size: 18px;
  font-size: 1.125rem;
}

.voice-detail__position {
  margin-top: 16px;
  margin-top: 1rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-detail__divider {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  width: 1px;
  width: 0.0625rem;
  min-height: 180px;
  min-height: 11.25rem;
  background: #bcbcbc;
}

.voice-detail__school {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  min-height: 180px;
  min-height: 11.25rem;
  padding-top: 20px;
  padding-top: 1.25rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
}

.voice-detail__school-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 16px;
  margin-top: 1rem;
}

.voice-detail__school-data {
  width: 100%;
}

.voice-detail__school-caption {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.12em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-detail__school-name {
  margin-top: 6px;
  margin-top: 0.375rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.voice-detail__school-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 182px;
  width: 11.375rem;
  height: 39px;
  height: 2.4375rem;
  padding: 12px 8px;
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid #16264a;
  border-bottom: 0.0625rem solid #16264a;
  background: -webkit-gradient(linear, left top, right top, from(#16264a), to(#9cb2ca));
  background: linear-gradient(90deg, #16264a 0%, #9cb2ca 100%);
  background-clip: text;
  color: transparent;
  font-family: "Prata", serif;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-background-clip: text;
}
.voice-detail__school-link::after {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 24px;
  width: 1.5rem;
  height: 4px;
  height: 0.25rem;
  margin-left: 24px;
  margin-left: 1.5rem;
  content: "";
  background: url(../img/voice/voice-school-arrow.svg) center/contain no-repeat;
}

.voice-detail__school-link-label--sp {
  display: none;
}

.voice-detail__lead {
  margin: 0;
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.voice-detail__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 65px;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .voice-detail__content {
    margin-top: 2.5625rem;
  }
}
.voice-detail__content > * + * {
  margin-top: 1px;
  margin-top: 0.0625rem;
}
.voice-detail__content > h2 {
  min-height: 120px;
  min-height: 7.5rem;
  padding-bottom: 17px;
  padding-bottom: 1.0625rem;
}
.voice-detail__content > p {
  text-align: justify;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
.voice-detail__content > figure:not(.wp-block-table) {
  padding-top: 24px;
  padding-top: 1.5rem;
}

.voice-detail .post__content.voice-detail__content > :first-child {
  min-height: 0;
  padding-top: 0;
}

.voice-detail__curve {
  height: 160px;
  height: 10rem;
  background: #efeee9;
}

@media screen and (max-width: 1024px) {
  body.single-voice {
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .single-voice {
    -webkit-font-smoothing: antialiased;
  }
  .voice-detail .post__header-inner {
    gap: 2.5rem;
  }
  .voice-detail .breadcrumb__items {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .voice-detail .breadcrumb__item {
    font-size: 0.625rem;
  }
  .voice-detail .post__body {
    padding-top: 0;
    padding-bottom: 4rem;
  }
  .voice-detail .post__body::after {
    display: none;
  }
  .voice-detail .post__header {
    padding-top: 7.5rem;
    background-image: linear-gradient(214deg, rgba(22, 38, 74, .92) 18%, rgba(156, 178, 202, .92) 85%), url(../img/common/page-bg.jpg);
  }
  .voice-detail .breadcrumb--post {
    margin-top: 0;
  }
  .voice-detail .post__star {
    top: 4.9375rem;
    left: 18.125rem;
    width: 0.3125rem;
    height: 0.3125rem;
  }
  .voice-detail .post__line {
    top: 6.1875rem;
    left: 19.9375rem;
    width: 5.6875rem;
  }
  .voice-detail .post__decoration::before {
    position: absolute;
    top: 6.1875rem;
    left: 19.25rem;
    width: 0.5625rem;
    height: 0.5625rem;
    content: "";
    background: url(../img/common/page-hero-star-large.png) center/contain no-repeat;
  }
  .voice-detail__profile {
    width: 100%;
    padding: 1.5rem 1.25rem;
    border-radius: 0 4rem 0 4rem;
  }
  .voice-detail__profile--with-school {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
  }
  .voice-detail__personal {
    min-height: 0;
    padding: 0;
  }
  .voice-detail__personal-row {
    margin-top: 0.75rem;
  }
  .voice-detail__photo {
    width: 6.25rem;
    height: 6.25rem;
  }
  .voice-detail__personal-data {
    margin-left: 1.5rem;
  }
  .voice-detail__name {
    font-family: "Shippori Mincho B1 palt", serif;
    font-size: 1.5rem;
  }
  .voice-detail__position {
    margin-top: 0.625rem;
    font-size: 0.875rem;
  }
  .voice-detail__divider {
    width: 100%;
    min-height: 0;
    height: 0.0625rem;
  }
  .voice-detail__school {
    min-height: 0;
    padding: 0;
  }
  .voice-detail__school-content {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 1rem;
  }
  .voice-detail__school-caption {
    font-size: 0.875rem;
  }
  .voice-detail__school-name {
    font-family: "Shippori Mincho B1 palt", serif;
    font-size: 1.5rem;
  }
  .voice-detail__school-link {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem #16264a;
            box-shadow: inset 0 -0.0625rem #16264a;
  }
  .voice-detail__school-link-label--pc {
    display: none;
  }
  .voice-detail__school-link-label--sp {
    display: inline;
  }
  .voice-detail__lead {
    font-size: 1.5rem;
  }
  .voice-detail__content > h2 {
    min-height: 0;
    border-bottom: 0;
    -webkit-box-shadow: inset 0 -0.0625rem #a69580;
            box-shadow: inset 0 -0.0625rem #a69580;
  }
  .voice-detail__content > h2,
  .voice-detail__content > h3,
  .voice-detail__content > h4 {
    font-family: "Shippori Mincho B1 palt", serif;
  }
  .voice-detail .voice-detail__content > figure:not(.wp-block-table) {
    padding-top: 1.5rem;
  }
  .voice-detail .voice-detail__content > figure:not(.wp-block-table) img {
    width: auto;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
  }
  .voice-detail .post__back {
    height: auto;
  }
  .voice-detail__curve {
    position: relative;
    height: 4rem;
  }
  .voice-detail__curve::before {
    position: absolute;
    inset: 0;
    content: "";
    background: url(../img/common/footer-curve.svg) center/100% 100% no-repeat;
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1);
  }
}
/*# sourceMappingURL=style.css.map */
