@charset "utf-8";
/*
Theme Name: UTSUKUSHI.Lab24
Author: エスアイ株式会社
*/

@import './css/editor-styles.css?v1.6';

:root {
  --utsukushi-black: #2d131c;
  --utsukushi-red: #881d42;
  --utsukushi-red-rgb: 136, 29, 66;
  --utsukushi-beige: #e9ded5;
  --utsukushi-font: fot-tsukubrdgothic-std, sans-serif;
  --utsukushi-section-padding: max(1.3rem, (100vw - 1000px) / 2);
  font-size: 16px;
  line-height: 1.7;
}

body {
  margin: 0;
  padding: 0;
  background: url(./images/rice-paper-2.png) 0% 0% / 300px auto repeat, #f7ede5;
  color: var(--utsukushi-black);
  font-family: var(--utsukushi-font);
  font-weight: 400;
  letter-spacing: .04em;
}

/* common ========== */

.d-none {
  display: none !important;
}

.sp-br {
  display: block;
}

.pc-br {
  display: none;
}

.text-link,
.smf-item.privacy-policy-checkbox a {
  color: var(--utsukushi-red);
  text-decoration: underline;
  text-underline-offset: .05em;
}

.text-link:visited {
  color: var(--utsukushi-black);
}

/* block editor */

.has-text-color.has-utsukushi-black-color {
  color: var(--utsukushi-black);
}

.has-text-color.has-utsukushi-beige-color {
  color: var(--utsukushi-beige);
}

.has-text-color.has-utsukushi-red-color {
  color: var(--utsukushi-red);
}

.wp-block-group,
.wp-block-heading,
.wp-block-image,
.wp-block-list {
  max-width: 100%;
}

/* header ========== */

#header {
  position: sticky;
  inset: 0 0 auto;
  z-index: 500;
}

.logged-in.admin-bar #header {
  top: 32px;
}

.header-inner {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  height: 54px;
}

.header-site-title {
  margin-inline-start: .8rem;
  font-size: clamp(1.25rem, 1rem + 1vw, 1.5rem);
  font-weight: 700;
  z-index: 90;
}

.header-site-title-link {
  color: var(--utsukushi-red);
  text-decoration: none;
}

#header-menu-switch {
  display: none;
}

#header-menu-trigger {
  width: 2.25rem;
  height: 2.25rem;
  margin: 0 .5rem 0 0;
  padding: .55rem;
  background: var(--utsukushi-red);
  border-radius: 50%;
  box-sizing: border-box;
  z-index: 90;
  cursor: pointer;
}

#header-menu-trigger .header-menu-icon {
  display: block;
  position: relative;
  width: .9rem;
  height: 2px;
  margin: .5rem auto;
  background: #fff;
  border-radius: 1px;
  transition: background-color .5s ease;
}

#header-menu-trigger .header-menu-icon::before,
#header-menu-trigger .header-menu-icon::after {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  border-radius: 1px;
  transition: all .5s ease;
  transform-origin: left center;
  content: '';
}

#header-menu-trigger .header-menu-icon::before {
  top: -.35rem;
}

#header-menu-trigger .header-menu-icon::after {
  bottom: -.35rem;
}

#header-menu-switch:checked ~ #header-menu-trigger .header-menu-icon {
  background: transparent;
}

#header-menu-switch:checked ~ #header-menu-trigger .header-menu-icon::before {
  rotate: 40deg;
  scale: 1.23 1;
}

#header-menu-switch:checked ~ #header-menu-trigger .header-menu-icon::after {
  rotate: -40deg;
  scale: 1.23 1;
}

#header-menu-wrap {
  display: block;
  width: 100%;
  height: 100lvh;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: radial-gradient(circle at 50%, rgba(var(--utsukushi-red-rgb), .85) 15%, rgba(var(--utsukushi-red-rgb), .03));
  backdrop-filter: blur(15px);
  opacity: 0;
  visibility: hidden;
  transition: .5s;
  overflow-y: auto;
  pointer-events: none;
  z-index: 80;
}

#header-menu-switch:checked ~ #header-menu-wrap {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
}

#header-menu-list {
  list-style: none;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 100px 25px;
  overflow-y: auto;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: .1em;
}

#header-menu-list .menu-link {
  display: block;
  margin: 0 0 .5em;
  color: #fff;
  text-decoration: none;
  transition: translate .7s;
}

@media (hover: hover) {
  #header-menu-list .menu-link:hover {
    translate: 0 -5px;
  }
}

/* footer ========== */

.footer-cta {
  padding: 3rem var(--utsukushi-section-padding) 4rem;
  background: var(--utsukushi-red);
  color: var(--utsukushi-beige);
  text-align: center;
}

.cta-heading {
  margin: 0 auto 1rem;
  font-size: clamp(2.5rem, 1rem + 3vw, 3rem);
  letter-spacing: .15em;
}

.cta-text {
  margin: 0 auto 2rem;
  font-size: 1.2rem;
}

.cta-button {
  display: inline-block;
  width: 100%;
  padding: 2.3rem 2rem;
  box-sizing: border-box;
  background: var(--utsukushi-beige);
  border-radius: 1rem;
  transition: opacity .6s;
  color: var(--utsukushi-red);
  font-weight: 700;
  text-decoration: none;
}

.cta-button::before {
  content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-inline-end: .7rem;
  background-image: url("data:image/svg+xml,%3Csvg id='a' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8,0h0c4.418,0,8,3.582,8,8h0c0,4.418-3.582,8-8,8S0,12.418,0,8h0C0,3.582,3.582,0,8,0Z' fill='rgba(136,29,66,.3)'/%3E%3Cpath d='M6.862,5.643c-.258.248-.258.694,0,.943,0,0,1.414,1.414,1.414,1.414,0,0-1.414,1.414-1.414,1.414-.614.618.323,1.558.943.943,0,0,1.886-1.886,1.886-1.886.258-.248.258-.694,0-.943,0,0-1.886-1.885-1.886-1.885-.248-.258-.694-.258-.943,0Z' fill='%23881d42' fill-rule='evenodd'/%3E%3C/svg%3E");
  vertical-align: text-bottom;
}

@media (hover: hover) {
  .cta-button:any-link:hover {
    opacity: .5;
  }
}

/* footer */

#footer {
  padding: 2rem var(--utsukushi-section-padding) 1rem;
  background: var(--utsukushi-black);
  color: #fff;
  text-align: center;
}

/* footer social media */

.footer-media-list {
  display: flex;
  column-gap: 1rem;
  width: fit-content;
  margin: 0 auto 2rem;
  padding: 0;
  list-style: none;
}

.footer-media-link {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  row-gap: .3em;
  width: fit-content;
  color: #fff;
  font-size: .75rem;
  text-align: center;
  text-decoration: none;
}

.footer-media-image {
  width: 32px;
  height: auto;
}

/* footer nav */

#footer-nav-wrap .menu {
  list-style: none;
  margin: 1rem auto 2.5rem;
  padding: 0;
}

#footer-nav-wrap .menu-item {
  margin: 0 auto .3em;
}

#footer-nav-wrap .menu-link {
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  text-decoration: none;
}

.footer-site-name {
  margin: 0 auto 2.5rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.footer-site-name-link {
  color: unset;
  text-decoration: none;
}

#footer-sub-nav-wrap {
  margin: 0 auto 1.3rem;
}

#footer-sub-nav-wrap .menu {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: .5em 3em;
  margin: 0;
  padding: 0;
  list-style: none;
}

#footer-sub-nav-wrap .menu-item {
  margin: 0;
}

#footer-sub-nav-wrap .menu-link {
  color: #fff;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}

.footer-copyright {
  font-size: .85rem;
}

/* section ========== */

/* top page */

.top-slider-wrapper {
  position: relative;
}

.top-slider-wrapper::before,
.top-slider-wrapper::after {
  position: absolute;
  height: auto;
  z-index: 10;
  content: '';
}

.top-slider-wrapper::before {
  inset: auto auto clamp(-90px, -7vw, -60px) 0;
  width: clamp(160px, 40vw, 300px);
  aspect-ratio: 468 / 543;
  background: url(./images/swag-large.webp?v1) center / contain no-repeat;
}

.top-slider-wrapper::after {
  inset: clamp(-40px, -3vw, -30px) 0 auto auto;
  width: clamp(140px, 35vw, 270px);
  aspect-ratio: 419 / 270;
  background: url(./images/swag-small.webp?v1) center / contain no-repeat;
}

.swiper.top-mv-slider {
  margin: 1.5rem 0;
}

.swiper.top-mv-slider::after {
  position: absolute;
  inset: auto 0 -1px;
  display: block;
  width: 100%;
  height: 3rem;
  background: linear-gradient(transparent, var(--utsukushi-beige));
  z-index: 10;
  content: '';
}

.top-mv-slider :is(.swiper-wrapper, .swiper-slide) {
  height: 100%;
}

.top-mv-slider .slider-image {
  display: block;
  width: 100%;
  height: 100vw;
  max-height: min(70vh, 680px);
  object-fit: cover;
  object-position: 50%;
}

.top-section {
  row-gap: 4.5rem;
  position: relative;
  padding: clamp(3rem, 12vw, 5rem) var(--utsukushi-section-padding) 9rem;
}

/* .top-section::before {
  position: absolute;
  inset: -1.2em 0 auto;
  margin: 0;
  font-size: clamp(3.35rem, 2rem + 5vw, 3.5rem);
  font-weight: 700;
  text-align: center;
  letter-spacing: .15em;
}

.top-program-wrapper.top-section::before {
  content: 'Program';
  color: #e4d4cb;
}

.top-about-wrapper.top-section::before {
  content: 'About';
  color: var(--utsukushi-beige);
} */

/* concept */

.top-concept-wrapper {
  margin: 6rem auto;
  padding: 4rem var(--utsukushi-section-padding) 8rem;
  background: url(./images/zen-transparented.webp) 18% 100% / auto 100% no-repeat;
  font-weight: 700;
  line-height: 2;
  letter-spacing: .18em;
}

.top-program-wrapper {
  background-image: linear-gradient(#d7baaa59, #c9b5a42e, #d7baaa59);
}

.top-concept-text {
  position: relative;
}

.top-concept-text::after {
  position: absolute;
  inset: auto -1.8rem -3rem auto;
  width: 3.4rem;
  height: 3.8rem;
  background: url(./images/grass-small.webp) 50% / contain no-repeat;
  content: '';
}

/* program */

.top-service-menu-item.is-layout-flex {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem 3rem;
}

.top-service-menu-item .wp-block-image img {
  border-radius: .5rem;
}

.top-program-item-content.is-vertical.is-layout-flex {
  gap: 1em;
  align-items: center;
}

/* about */

.top-about-wrapper {
  position: relative;
}

.top-about-wrapper::after {
  position: absolute;
  inset: auto 0 0 auto;
  display: block;
  width: clamp(270px, 70vw, 400px);
  height: auto;
  aspect-ratio: 1 / 1;
  background: url(./images/watercolor-bg.jpg) 100% 100% / clamp(270px, 70vw, 400px) auto no-repeat;
  mix-blend-mode: multiply;
  z-index: -10;
  content: '';
}

.top-about-service-wrapper,
.top-voice-wrapper {
  gap: 1em;
  max-width: min(100%, 700px);
}

.top-teacher-wrapper {
  column-gap: clamp(1rem, .5rem + 3vw, 3rem);
}

.top-teacher-content {
  flex-basis: max(50%, 60vw);
  gap: 1em;
}

.top-teacher-image {
  align-self: stretch;
  flex: 0 .2 40%;
}

.top-teacher-image img {
  height: 100%;
  border-radius: .5rem;
  object-fit: cover;
  object-position: 66% 50%;
}

.top-voices-slider {
  --swiper-pagination-color: var(--utsukushi-red);
  --swiper-pagination-bullet-inactive-color: var(--utsukushi-red);
  --swiper-pagination-bullet-size: 5px;
  padding-bottom: 1rem;
}

.top-voice-slide-quote {
  position: relative;
  width: fit-content;
  margin: 1rem auto 2rem;
  padding-inline-start: 1.5lh;
  color: var(--utsukushi-red);
}

.top-voice-slide-quote::before {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 1lh;
  height: 1lh;
  background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='a' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CclipPath id='b'%3E%3Crect width='24' height='24' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23b)'%3E%3Cpath d='M8.4,6.2c.672-.542,1.742.091,1.59.941-.036.26-.179.502-.39.659-1.564,1.173-2.46,2.314-2.973,3.31,3.128-.878,5.682,2.97,3.656,5.511-1.911,2.627-6.301,1.187-6.283-2.063-.193-3.57,1.158-5.764,4.4-8.358ZM17.4,6.2c.672-.542,1.742.091,1.59.941-.036.26-.179.502-.39.659-1.564,1.173-2.46,2.314-2.973,3.31,3.128-.878,5.682,2.97,3.656,5.511-1.911,2.627-6.301,1.187-6.283-2.063-.193-3.57,1.159-5.764,4.4-8.358Z' fill='%23881d42'/%3E%3C/g%3E%3C/svg%3E") 50% / contain no-repeat;
  content: '';
}

/* instagram */

.top-instagram-heading {
  position: relative;
  color: var(--utsukushi-red);
  font-size: 1.4rem;
  text-align: center;
}

.top-instagram-heading::before {
  display: block;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  background: url(./images/icon-instagram-box.svg) 50% / contain no-repeat;
  content: '';
}

/* page */

.page:not(.home) #main {
  padding: 1rem var(--utsukushi-section-padding) 5rem;
}

#page-header {
  margin-bottom: 4rem;
}

#page-title {
  position: relative;
  width: 100%;
  padding: 10px 0;
  color: var(--utsukushi-red);
  font-size: clamp(1.8rem, 1rem + 3vw, 2.2rem);
  font-weight: 700;
  text-align: center;
}

#page-title::before {
  position: absolute;
  inset: auto 0 0;
  display: block;
  width: min(100%, 223px);
  height: 33px;
  margin: 0 auto;
  background: url(./images/watercolor-touch.webp) 50% 100% / auto 33px no-repeat;
  mix-blend-mode: multiply;
  content: '';
}

.page .page-content > section:not(:last-child) {
  margin-bottom: clamp(10rem, 40vw, 13rem);
}

.page .page-section.is-layout-flex {
  row-gap: 3.2rem;
}

/* about page */

.about-description-wrapper {
  row-gap: 100px;
}

.about-mission-vision-wrapper {
  row-gap: 3rem;
}

.about-mission-vision-wrapper .wp-block-heading {
  font-size: 1.7rem;
}

.brands-summary-list.wp-block-group {
  justify-content: center;
  align-self: stretch;
  gap: 1rem 1.5rem;
  margin-bottom: 2rem;
}

.brands-summary-item {
  row-gap: 0;
  transition: opacity .5s;
  cursor: pointer;
}

.brands-summary-item:first-child {
  flex: 1 1 100%;
}

.brands-summary-item .brand-name {
  margin-top: -12px;
  font-size: .9em;
}

.brands-summary-item .brand-name::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-inline-start: .2rem;
  background: url("data:image/svg+xml,%3Csvg id='a' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8,0h0c4.418,0,8,3.582,8,8h0c0,4.418-3.582,8-8,8S0,12.418,0,8h0C0,3.582,3.582,0,8,0Z' fill='rgba(136,29,66,.3)'/%3E%3Cpath d='M6.862,5.643c-.258.248-.258.694,0,.943,0,0,1.414,1.414,1.414,1.414,0,0-1.414,1.414-1.414,1.414-.614.618.323,1.558.943.943,0,0,1.886-1.886,1.886-1.886.258-.248.258-.694,0-.943,0,0-1.886-1.885-1.886-1.885-.248-.258-.694-.258-.943,0Z' fill='%23881d42' fill-rule='evenodd'/%3E%3C/svg%3E") 50% 50% / contain no-repeat;
  content: '';
  vertical-align: text-bottom;
}

@media (hover: hover) {
  .brands-summary-item:hover {
    opacity: .5;
  }
}

.about-brands-list {
  row-gap: 2rem;
  position: fixed;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s .5s, opacity .5s;
  z-index: 90;
}

.about-brands-list.is-visible {
  visibility: visible;
  opacity: 1;
  background: rgba(var(--utsukushi-red-rgb), .2);
  transition: visibility 0s, opacity .7s;
}

.about-brands-item.wp-block-group {
  flex-wrap: nowrap;
  row-gap: 1.3rem;
  position: absolute;
  inset: 0;
  width: min(100% - 2rem, 650px);
  height: min(76vh, 800px);
  margin: auto;
  padding: clamp(1rem, 5vw, 2.5rem);
  background: url(./images/rice-paper-2.png) 0% 0% / 300px auto repeat, var(--utsukushi-beige);
  border-radius: 1rem;
  visibility: hidden;
  opacity: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

.about-brands-item.wp-block-group.is-visible {
  visibility: visible;
  opacity: 1;
}

.about-brands-item .wp-block-list {
  list-style: none;
  padding-left: 1.3em;
}

.about-brands-item .wp-block-list li {
  position: relative;
  margin-bottom: .5rem;
}

.about-brands-item .wp-block-list li::before {
  position: absolute;
  left: -1.3em;
  content: '●';
  color: rgba(var(--utsukushi-red-rgb), .3);
}

.brand-rounded-close-button {
  position: absolute;
  inset: 1rem 1rem auto auto;
  width: 2rem;
  height: 2rem;
  z-index: 30;
  background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='a' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cline x1='4.686' y1='27.314' x2='27.314' y2='4.686' fill='none' stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3'/%3E%3Cline x1='4.686' y1='4.686' x2='27.314' y2='27.314' fill='none' stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3'/%3E%3C/svg%3E") 50% 50% / 1rem 1rem no-repeat , var(--utsukushi-red);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: opacity .7s;
}

@media (hover: hover) {
  .brand-rounded-close-button:hover {
    opacity: .7;
  }
}

/* profile */

.profile-wrapper {
  row-gap: 2rem;
}

.profile-thought-wrapper {
  padding: clamp(1rem, 5vw, 3rem);
  background: url(./images/rice-paper-2.png) 0% 0% / 300px auto repeat, #fff;
  border-radius: 3px;
  box-shadow: .3rem .3rem .5rem rgba(var(--utsukushi-red-rgb), .1);
}

.about-thought-heading::after {
  display: inline-block;
  width: 1em;
  height: 1lh;
  margin-inline-start: .3em;
  background: url(./images/grass-small.webp) 50% 50% / contain no-repeat;
  content: '';
  vertical-align: bottom;
}

.profile-thought-wrapper p {
  margin-block-end: 1px;
  background: linear-gradient(transparent calc(1lh - 1px), rgba(var(--utsukushi-red-rgb), .3) 1lh, transparent 1lh) 0% 0% / 100% 1lh;
}

.recommend-list,
.voices-list {
  row-gap: 3rem;
}

.recommend-item.wp-block-group {
  row-gap: 1.5rem;
  margin: 75px 0 0;
  padding: 0 clamp(1rem, 5vw, 2.5rem) 2rem;
  background: url(./images/rice-paper-2.png) 0% 0% / 300px auto repeat, #fff;
  border-radius: 1rem;
}

.recommend-image.wp-block-image {
  margin-top: -75px;
}

.recommend-name {
  font-size: 1.3rem;
}

.voice-item {
  row-gap: 1.5rem;
  padding: 2rem 1.5rem min(50vw - 2rem, 190px - 2rem);
  background: rgba(var(--utsukushi-red-rgb), 0.1);
  border-radius: min(50vw, 190px);
}

.voice-person-name {
  font-size: 1.3rem;
}

/* contact */

.smf-form {
  --_form-control-border-color: rgba(var(--utsukushi-red-rgb), .1);
  --_form-control-border-color-hover: rgba(var(--utsukushi-red-rgb), .25);
}

.contact-form {
  max-width: 650px;
  margin: 0 auto;
  padding: 1.5rem clamp(1.5rem, 4vw, 3rem);
  background: #fff7;
  border-radius: 1rem;
}

.smf-item__col.smf-item__col--label {
  padding-bottom: .5em;
}

.smf-item.privacy-policy-checkbox .smf-item__label {
  display: none;
}

.smf-item:has([data-validations*="required"]) .smf-item__label::after,
.smf-item.privacy-policy-checkbox .smf-checkbox-control::after {
  padding: .3em .6em;
  background: var(--utsukushi-red);
  border-radius: .3em;
  content: '必須';
  color: #fff;
  font-size: .72em;
  line-height: 1.1;
}

.smf-item:has([data-validations*="required"]) .smf-item__label::after {
  margin-inline-start: .5em;
}

.smf-item.privacy-policy-checkbox .smf-checkbox-control::after {
  flex-shrink: 0;
  align-self: center;
}

.smf-item.privacy-policy-checkbox .smf-checkbox-control {
  flex-wrap: wrap;
}

.smf-form :is(.smf-radio-button-control__control, .smf-checkbox-control__control):checked {
  background-color: var(--utsukushi-red);
  border-color: var(--utsukushi-red);
}

.smf-form :is(.smf-text-control__control, .smf-textarea-control__control) {
  border-radius: .5rem;
}

.smf-action .smf-button-control__control {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  column-gap: .7rem;
  width: min(100%, 350px);
  padding: 1rem 2rem;
  background: var(--utsukushi-red);
  border: none;
  border-radius: 1rem;
  transition: background-color .6s;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

@media (hover: hover) {
  .smf-action .smf-button-control__control:hover {
    background-color: var(--utsukushi-black);
  }
}

.smf-sending::before {
  width: 1em;
  height: 1em;
  border-color: #fff;
  border-top-color: transparent;
}

@media screen and (min-width: 565px) {
  .brands-summary-item:first-child {
    flex: unset;
  }
}

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

  .pc-br {
    display: block;
  }

  /* header ===== */

  #header-menu-trigger {
    display: none;
  }

  #header-menu-wrap {
    display: block;
    height: 100%;
    padding: 0;
    position: relative;
    inset: auto;
    background: none;
    backdrop-filter: none;
    visibility: visible;
    opacity: 1;
    transition: none;
    pointer-events: initial;
  }

  #header-menu-list {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    padding: 0;
    font-size: 1.1rem;
  }

  #header-menu-list .menu-item {
    padding: 0 1rem;
  }

  #header-menu-list .menu-item.current-menu-item {
    position: relative;
  }

  #header-menu-list .menu-item.current-menu-item::after {
    content: '';
    position: absolute;
    inset: auto calc(50% - 3.5px) -.4rem;
    display: block;
    width: 6px;
    height: 6px;
    background: var(--utsukushi-red);
    border-radius: 50%;
    pointer-events: none;
  }

  #header-menu-list .menu-link {
    margin: auto;
    color: var(--utsukushi-red);
  }

  /* footer ===== */

  .footer-cta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    grid-auto-flow: column;
  }

  .cta-heading {
    align-self: end;
    margin: 0;
    text-align: left;
  }

  .cta-text {
    text-align: left;
    margin: .5rem 0;
  }

  .cta-button {
    grid-row: 1 / 3;
    align-self: center;
  }

  /* footer */

  #footer {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto;
    grid-auto-flow: column;
  }

  .footer-media-list {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin-right: 0;
  }

  #footer-nav-wrap {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    text-align: left;
  }

  #footer-nav-wrap .menu {
    margin-top: 0;
  }

  .footer-site-name {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    margin-right: 0;
  }

  #footer-sub-nav-wrap {
    margin-left: 0;
  }

  .footer-copyright {
    text-align: right;
  }

  /* section ===== */

  .top-program-item-content.is-vertical.is-layout-flex {
    align-items: flex-start;
  }

  /* brands */

  .brand-content-p {
    text-align: center;
  }

  /* voices */

  .voice-item.is-layout-flex {
    flex-flow: row nowrap;
    column-gap: 3rem;
    padding: 2rem;
    border-radius: 1rem;
  }

  .voice-person-wrapper {
    flex-shrink: 0;
  }
}