/* Font Setting
========================================================================== */
	
/* -----
	@import
------------------------------ */

/* -----
	Font Face
------------------------------ */

body {
	font-family:var(--ja);
}

::selection {
	background: #ccc;
}

::-moz-selection{
	background: #ccc;
}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}

/* -----
	Font Basic Style
------------------------------ */

html {
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
}

body {
	color: var(--text_color);
	background: var(--white);
}

h1, h2, h3, h4, h5, h6 {}

p {
	font-size: 1.4rem;
}

a,
a img {
	color: #167ac6;
	text-decoration: none;
	opacity: 1;
	transition: all .5s var(--cubic_01);
}

a:hover {}

i {
	font-style: italic; 
}

b, em, strong {
	font-weight: 500;
}

ul, ol {
	list-style: none;
	font-size: 0;
}

li {
	font-size: 1.4rem;
}

table {
    width: 100%;
	box-sizing: border-box;
    border-spacing: 0;
	overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}

.c-quote {
  display: inline-block;
  margin-left: -.5em;
}

@media screen and (min-width: 768px) {}

/* :root
========================================================================== */

:root {

	/* Font */
	--ja: "Noto Sans JP", 'Meiryo', 'MS PGothic', sans-serif;
	--en: "Oswald", sans-serif;

  /* Color */
  --black: #252525;
  --gray: #E4E4E4;
  --dark-gray: #646262;
  --blue: #167AC6;
  --white: #FFFFFF;
  --off-white: #F0F0E9;

	/* Color Style */
	--text_color: var(--black);
	--line_color: var(--gray);
	--main_color: var(--purple_01);
	--secondary_color: var(--purple_02);
	--link-color: var(--blue);

  /* Cubic */
  --cubic_01: cubic-bezier(0.48, 0.028, 0.226, 0.905);

}

@media screen and (min-width: 768px) {}

/* Initial Setting
========================================================================== */

html {
	width: 100%;
	height: 100%;
  overflow-x: clip;
}

body{
	width: 100%;
	height: auto;
	position: relative;
  width: 100%;
  overflow-x: clip;
}

.l-wrap {
	position: relative;
}

.clearfix:after {
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	zoom:1;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		 -o-box-sizing: border-box;
			box-sizing: border-box;
}

img {
	display:block;
	max-width:100%;
	height: auto;
	border:none;
	line-height: 1;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

.c-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Media Queries
========================================================================== */

.sp {
	display: block;
}

.pc {
	display: none!important;
}

/* -----
	781px 以上
------------------------------ */

@media screen and (min-width: 781px) {
	
.sp {
	display: none;
}
	
.pc {
	display: block!important;
}

}

/* Loader
========================================================================== */

#l-loader {
  position: fixed;
  inset: 0;
  background: var(--black);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  transition: opacity .5s var(--cubic_01);
  overflow: hidden;
}

#l-loader.fade-out {
  opacity: 0;
  pointer-events: none;
}

.l-loader__inner {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: baseline;
  color: var(--white);
  font-family: var(--en);
  font-size: 6.4rem;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.l-loader__inner  #l-loader__percent {
  font-size: 1.8rem;
  margin-right: -.75em;
}

.l-loader__logo {
  width: 57.14vw;
  position: absolute;
  display: flex;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.l-loader__logo svg {
  fill: var(--white);
}

#l-loader__count,
#l-loader__percent {
  opacity: 1;
  transition: opacity .5s var(--cubic_01);
}

.l-loader__logo {
  opacity: 0;
  filter: blur(6px);
  will-change: transform, opacity, filter;
}

@media screen and (min-width: 768px) {

.l-loader__inner {
  font-size: 7.2rem;
}


.l-loader__logo {
  width: 22.86vw;
}

}

/* Noise
========================================================================== */

#noise {
	position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .075;
	background: url(../img/2026/noise.gif);
	top: 0;
	left: 0;
	z-index: 10000;
}

/* Fade In
========================================================================== */

.c-fade__bottom {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
  will-change: opacity, transform;
}

.c-fade__bottom.is-active {
  opacity: 1;
  transform: translateY(0);
}

/* Main
========================================================================== */

.l-wrap {
  background-color: var(--white);
  transition: background-color .5s var(--cubic_01);
}

.l-main {}

.c-text__basic {
  font-size: 1.3rem;
  letter-spacing: .15rem;
  line-height: 1.75;
}

.c-text__basic a {
  color: var(--dark-gray);
  font-weight: 700;
  border-bottom: dashed 1px var(--dark-gray);
}

.c-parallax {
  overflow: hidden;
}

.c-parallax img {
  width: 100%;
  display: block;
  will-change: transform;
}

@media screen and (min-width: 768px) {

.c-text__basic {
  font-size: 1.4rem;
}

}

/* FV
========================================================================== */

.l-fv {
  position: relative;
  width: 100%;
  height: 110vh;
  background-image: url(../img/2026/fv/lp_fv_sp.png);
  background-position: center bottom;
  background-size: cover;
  isolation: isolate;
  overflow: hidden;
}

.l-fv::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 28.57vw;
  pointer-events: none;

  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.3) 30%,
    rgba(255,255,255,0.7) 60%,
    #fff 100%
  );

  z-index: 2;
}

.l-fv__logo {
  position: absolute;
  top: 7.14vw;
  left: 7.14vw;
}

.l-fv__logo svg {
  fill: var(--white);
  width: 23.81vw;
}

.l-fv__inner {
  position: absolute;
  top: 33.33vw;
  left: 7.14vw;
}

.l-fv__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--black);
  font-size: 2.2rem;
  line-height: 1;
  gap: 3.33vw;
}

.l-fv__copy__mask {
  position: relative;
  display: inline-block;
  padding: 0.2em 0.4em;
  font-weight: 700;
  overflow: hidden;
}

/* 白ライン */
.l-fv__copy__mask::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--white);
  transform: translateX(-101%);
  z-index: 2;
}


.l-fv__copy__mask__n2 {
  color: var(--white);
  font-family: var(--en);
  font-size: 2.8rem;
  font-weight: 700;
}


/* =========================
FV Copy Animation
========================= */

.l-fv__copy__mask {
  position: relative;
  overflow: hidden;
  display: block;
}

/* 白ライン */
.l-fv__copy__mask::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--white);

  /* 最初は左に隠す */
  transform: translateX(-101%);

  z-index: 1;
}

.l-fv__copy__mask__n2::before {
  background: var(--black);
}

/* テキスト */
.l-fv__copy__text {
  position: relative;
  z-index: 2;

  display: inline-block;

  opacity: 0;
  transform: translateX(-40px);
  filter: blur(8px);

  filter: none;
  transition: filter 1s var(--cubic_01);
}

.l-fv__copy .l-fv__copy__distortion {
  filter: none;
  transition: filter 1s var(--cubic_01);
}

.l-fv__copy.is-active .l-fv__copy__distortion {
  filter: url("#fv-distortion");
}

/* active */
.l-fv__copy__mask.is-active::before {
  animation:
    lineIn .7s cubic-bezier(.77,0,.18,1) forwards;
  animation-delay:
    calc(var(--delay) * 1s);
}

.l-fv__copy__mask.is-active .l-fv__copy__text {
  animation:
    textReveal .8s cubic-bezier(.19,1,.22,1) forwards;
  animation-delay:
    calc(var(--delay) * 1s + .35s);
}

/* 白ライン */
@keyframes lineIn {
  0% {
    transform: translateX(-101%);
  }

  100% {
    transform: translateX(0%);
  }
}

/* テキスト */
@keyframes textReveal {
  0% {
    opacity: 0;
    transform: translateX(-40px);
    filter: blur(8px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }
}

@media screen and (min-width: 768px) {

.l-fv {
  height: 110vh;
  background-image: url(../img/2026/fv/lp_fv_pc.png);
}

.l-fv::after {
  height: 10vw;
  z-index: 2;
}

.l-fv__logo {
  top: 4.29vw;
  left: 4.29vw;
}

.l-fv__logo svg {
  width: 10vw;
}

.l-fv__inner {
  position: absolute;
  top: 47.5%;
  left: 12.86vw;
  transform: translateY(-50%);
}

.l-fv__copy {
  font-size: 3.2rem;
  gap: 1.43vw;
}

.l-fv__copy__mask {
  display: inline-block;
  padding: 0.2em 0.4em;
  font-weight: 700;
}

.l-fv__copy__mask__n2 {
  color: var(--white);
  font-size: 3.6rem;
}

}


/* Scroll
========================================================================== */


.l-scroll__inner {
  position: absolute;
  top: 0;
  right: 4.76vw;
  transform: translateY(-100%);
}

.l-scroll__contents {
  position: relative;
  width: 33.33vw;

  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.l-scroll__circle svg{
  width: 100%;
}

.l-scroll__num svg {
  position: absolute;
  height: 10vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

@media screen and (min-width: 768px) {

.l-scroll__inner {
  top: 0;
  right: 10vw;
  transform: translateY(-100%);
}

.l-scroll__contents {
  width: 14.29vw;
}

.l-scroll__circle svg{
  width: 100%;
}

.l-scroll__num svg {
  height: 4.29vw;
}

}

/* Pop-up
========================================================================== */

.c-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity .5s var(--cubic_01),
    visibility .5s var(--cubic_01);
}

.c-popup.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.c-popup__backdrop {
  position: absolute;
  inset: 0;

  background:
    rgba(0, 0, 0, .35);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.c-popup__window {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(90vw, 720px);

  transform:
    translate(-50%, -50%)
    scale(.92);

  opacity: 0;

  transition:
    transform .6s var(--cubic_01),
    opacity .6s var(--cubic_01);

  border-radius: 32px;

  overflow: hidden;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.22),
      rgba(255,255,255,.08)
    );

  border:
    1px solid rgba(255,255,255,.22);

  box-shadow:
    0 10px 40px rgba(0,0,0,.18);

  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
}

.c-popup.is-active .c-popup__window {
  transform:
    translate(-50%, -50%)
    scale(1);

  opacity: 1;
}

.c-popup__inner {
  color: var(--white);
  padding: 9.52vw;
}

.c-popup__label {
  font-family: var(--en);
  font-size: 1.2rem;
  margin-bottom: 9.52vw;
}

.c-popup__title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 4.76vw;
}

.c-popup__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1.3rem;
}

.c-popup__close {
  position: absolute;
  top: 4.76vw;
  right: 4.76vw;

  width: 40px;
  height: 40px;

  border-radius: 50%;
  border: none;

  cursor: pointer;

  display: grid;
  place-items: center;

  color: var(--black);

  background: var(--white);

  backdrop-filter: blur(12px);

  transition:
    transform .3s ease,
    background .3s ease;
}

.c-popup__close:hover {
  transform: rotate(90deg);
  background:
    rgba(255,255,255,.4);
}

.c-popup__inner__logo {
  position: absolute;
  width: 76.19vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  opacity: .25;
  z-index: -1;
}

.c-popup__inner__logo svg {
  fill: var(--white);
}

@media screen and (min-width: 768px) {

.c-popup__window {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(70vw, 480px);

  transform:
    translate(-50%, -50%)
    scale(.92);

  opacity: 0;

  transition:
    transform .6s var(--cubic_01),
    opacity .6s var(--cubic_01);

  border-radius: 32px;

  overflow: hidden;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.22),
      rgba(255,255,255,.08)
    );

  border:
    1px solid rgba(255,255,255,.22);

  box-shadow:
    0 10px 40px rgba(0,0,0,.18);

  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
}

.c-popup.is-active .c-popup__window {
  transform:
    translate(-50%, -50%)
    scale(1);

  opacity: 1;
}

.c-popup__inner {
  color: var(--white);
  padding: 2.86vw;
}

.c-popup__label {
  font-family: var(--en);
  font-size: 1.2rem;
  margin-bottom: 2.86vw;
}

.c-popup__title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.43vw;
}

.c-popup__text {
  font-size: 1.4rem;
}

.c-popup__close {
  position: absolute;
  top: 2.86vw;
  right: 2.86vw;
}

.c-popup__inner__logo {
  width: 22.86vw;
}

}

/* Text Decoration
========================================================================== */

.c-text__decoration {
  position: absolute;
  width: 100%;
  overflow: hidden;
  transform: translateY(-125%);
  mix-blend-mode: difference;
}

.c-text__track {
  display: flex;
  width: max-content;
  will-change: transform;
}

.c-text__item {
  flex-shrink: 0;
  padding-right: 9.52vw;
}

.c-text__item svg {
  height: clamp(40px, 40vw, 180px);
  width: auto;
  display: block;
  fill: none;
  stroke: var(--black);
  stroke-width: 1;
  overflow: visible;
  opacity: .25;
}

.c-text__decoration__white .c-text__item svg {
  stroke: var(--dark-gray);
}

@media screen and (min-width: 768px) {
  
.c-text__item {
  flex-shrink: 0;
  padding-right: 2.86vw;
}

}


/* Section
========================================================================== */

/* -----
	Section Common
------------------------------ */

.l-section {
  position: relative;
  background: transparent;
  position: relative;
  z-index: 1;
}

.l-section__head {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--en);
  font-size: 1rem;
  font-weight: 500;
  top: 4.76vw;
  left: 4.76vw;
}

.l-section__head__revers {
  left: initial;
  right: 4.76vw;
}

.l-section__head__num {
}

.l-section__head__num::after {
  content: "";
  display: block;
  width: 1px;
  height: 75px;
  background: var(--black);
  margin: 1.67vw auto;
}

.l-section__head__text {
  font-size: 1rem;
  writing-mode: sideways-lr;
  letter-spacing: .25rem;
}

.l-section__head__white {
  color: var(--white);
}

.l-section__head__white .l-section__head__num::after {
  background: var(--white);
}

.l-section__head__min {
  overflow-wrap: break-word;
}

.l-section__head__min__en {
  font-family: var(--en);
  font-size: 5.4rem;
  font-weight: 700;
  line-height: 1.25;
}

.l-section__head__min__ja {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 2.38vw;
}

@media screen and (min-width: 768px) {

.l-section__head {
  font-size: 1.4rem;
  top: 5.71vw;
  left: 5.71vw;
}

.l-section__head__revers {
  left: initial;
  right: 5.71vw;
}

.l-section__head__num::after {
  height: 100px;
  margin: 1.43vw auto;
}

.l-section__head__text {
  font-size: 1.4rem;
}

.l-section__head__min__en {
  font-size: 7.2rem;
}

.l-section__head__min__ja {
  font-size: 1.4rem;
  margin-top: .5vw;
}

}

/* -----
	About Section
------------------------------ */

.l-about {
  position: relative;
  padding: 33.33vw 0;
}

.l-about__desc__head {
  font-family: var(--en);
  font-size: 6.2rem;
  font-weight: 700;
  margin-left: 14.29vw;
  line-height: 1.25;
  margin-bottom: 9.52vw;
}

.l-about__desc__message {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.33vw;
  margin-left: 14.29vw;
  margin-right: 9.52vw;
}

.l-about__desc__message__text {
  display: flex;
  align-items: center;
  gap: 1.67vw;
  font-size: 2rem;
  font-weight: 700;
}

.l-about__desc__message__text__n2 {
  display: inline-block;
  color: var(--white);
  font-family: var(--en);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  background: var(--black);
  padding: 0.2em 0.4em;
}

.l-about__desc__image {
  position: relative;
  margin-top: -4.76vw;
  margin-right: 23.81vw;
  border-radius: 0 14px 14px 0;
  overflow: hidden;
  z-index: -1;
}

.l-about__message {
  margin-top: 9.52vw;
}

.l-about__message__head {
  font-family: var(--en);
  font-size: 4.8rem;
  font-weight: 700;
  margin-left: 14.29vw;
  line-height: 1.25;
  margin-bottom: 9.52vw;
}

.l-about__message__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.33vw;
  margin-left: 14.29vw;
  margin-right: 9.52vw;
}

.l-about__massage__image {
  position: relative;
  margin-left: 14.29vw;
  margin-top: 9.52vw;
  border-radius: 14px 0 0 14px;
  overflow: hidden;
  z-index: -1;
}

@media screen and (min-width: 768px) {

.l-about {
  padding: 10vw 0;
}

.l-about__desc__head {
  font-size: 7.2rem;
  font-weight: 700;
  margin-left: 0;
  line-height: 1.25;
  margin-bottom: 2.14vw;
}

.l-about__desc {
  display: flex;
  align-items: flex-start;
  flex-flow: row-reverse;
  justify-content: flex-end;
  gap: 5.71vw;
  padding: 0 10vw;
}

.l-about__desc__message {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.43vw;
  margin-left: 0;
  margin-right: 0;
}

.l-about__desc__message__text {
  gap: .71vw;
  font-size: 2.6rem;
}

.l-about__desc__message__text__n2 {
  color: var(--white);
  font-size: 3.2rem;
  background: var(--black);
}

.l-about__desc__image {
  width: 22.86vw;
  min-width: 22.86vw;
  margin-top: 0;
  margin-right: 0;
  border-radius: 14px;
}

.l-about__message {
  display: flex;
  align-items: flex-start;
  margin-top: 10vw;
  padding: 0 10vw;
  gap: 5.71vw;
}

.l-about__message__head {
  font-size: 5.4rem;
  margin-left: 0;
  margin-bottom: 0;
}

.l-about__message__text {
  gap: 1.43vw;
  margin-left: 0;
  margin-right: 0;
}

.l-about__massage__image {
  width: 28.57vw;
  min-width: 28.57vw;
  margin-left: 0;
  margin-top: 0;
  border-radius: 14px;
}

}

/* -----
	Contents Section
------------------------------ */

.l-contents {
  position: relative;
  padding: 33.33vw 0;
}

.l-contents__regular {
  margin: 0 9.52vw;
}

.l-contents .l-section__head__min {
  margin-bottom: 9.52vw;
}

.l-contents__regular__list__head {

}

.l-contents__regular__list__step {
  position: relative;
}

.l-contents__regular__list__step__num {
  position: absolute;
  font-family: var(--en);
  font-size: 1rem;
  left: -1.75rem;
  bottom: 0;
}

.l-contents__regular__list__step__text {
  color: transparent;
  -webkit-text-stroke: 1px var(--black);
  font-family: var(--en);
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
}

.l-contents__regular__list__step__text__top {
  color: var(--black);
  -webkit-text-stroke: 0;
}


.l-contents__regular__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 19.05vw;
  margin: 23.81vw 0 23.81vw 14.29vw;
}

.l-contents__regular__list-item {

}

.l-contents__regular__list__head__text {
  display: flex;
  align-items: center;
  gap: 2.38vw;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .15rem;
  margin: 3.33vw 0;
  padding-bottom: 3.33vw;
  border-bottom: solid 1px var(--black);
}

.l-contents__regular__list__head__text__label {
  font-size: 1rem;
  background: var(--white);
  padding: .15rem 1.25rem;
  border-radius: 9999px;
}

.l-contents__regular__list__step__count {

}

.l-contents__irregular {
  margin: 33.33vw 9.52vw 0;
}

.l-contents__irregular__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.76vw;
}

.l-contents__irregular__list-item {
  padding: 7.14vw 2.38vw;
  background: var(--white);
  border-radius: 14px;
  text-align: center;
}

.l-contents__irregular__list-item__head {
  font-family: var(--en);
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1.67vw;
}

.l-contents__irregular__list-item__desc {
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 1.67vw;
}

.l-contents__irregular__list-item__label {
  display: inline-block;
  font-size: 1rem;
  padding: .15rem 1.25rem;
  border: solid 1px var(--gray);
  border-radius: 9999px;
}

@media screen and (min-width: 768px) {

.l-contents {
  padding: 10vw 0;
}

.l-contents__regular {
  margin: 0 10vw;
}

.l-contents .l-section__head__min {
  margin-bottom: 5.71vw;
}

.l-contents__regular__list__step {
  width: 25.71vw;
  min-width: 25.71vw;
}

.l-contents__regular__list__step__num {
  font-size: 1rem;
}

.l-contents__regular__list__step__text {
  font-size: 7.2rem;
}

.l-contents__regular__list {
  gap: 2.86vw;
  margin: 10vw 0 10vw 17.14vw;
}

.l-contents__regular__list__head {
  display: flex;
  align-items: flex-end;
}

.l-contents__regular__list__head__text {
  gap: 1vw;
  font-size: 2.4rem;
  margin: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.l-contents__regular__list__head__text__label {
  font-size: 1.2rem;
}

.l-contents__regular__list-item .c-text__basic {
  border-top: solid 1px var(--black);
  padding-top: 1.43vw;
  padding-left: 25.71vw;
  margin-top: 1.43vw;
}

.l-contents__regular__list__step__count {

}

.l-contents__irregular {
  margin: 10vw 10vw 0;
}

.l-contents__irregular .l-section__head__min {
  text-align: center;
}

.l-contents__irregular__list {
  grid-template-columns: repeat(4, 1fr);
  gap: 2.86vw;
}

.l-contents__irregular__list-item {
  padding: 2.14vw 2.86vw;
  background: var(--white);
  border-radius: 14px;
  text-align: center;
}

.l-contents__irregular__list-item__head {
  font-family: var(--en);
  font-size: 2.4rem;
  margin-bottom: .5vw;
}

.l-contents__irregular__list-item__desc {
  font-size: 1.2rem;
  margin-bottom: 1vw;
}

.l-contents__irregular__list-item__label {
  font-size: 1.1rem;
}

}

/* -----
	Guest Section
------------------------------ */

.l-guest {
  padding: 33.33vw 0 33.33vw;
}

.l-guest .l-section__head__min {
  margin-bottom: 9.52vw;
}

.l-guest__inner {
  position: relative;
  padding-left: 14.29vw;
}

.l-guest__list {
  display: flex;
  gap: 9.52vw;
  width: max-content;
}

.l-guest__list::after {
  content: "";
  min-width: 57.14vw;
}

.l-guest__list-item {
  flex: 0 0 auto;
  width: 57.14vw;
}

.l-guest__list::-webkit-scrollbar {
  display: none;
}
.l-guest__list {
  scrollbar-width: none;
}

.l-guest__list-item__image {
  overflow: hidden;
  border-radius: 14px;
}

.l-guest__list-item__detail {
  margin-top: 4.76vw;
}

.l-guest__list-item__detail__name {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .25rem;
}

.l-guest__list-item__detail__position {
  color: var(--dark-gray);
  font-size: 1rem;
  margin-top: 1.67vw;
}

@media screen and (min-width: 768px) {

.l-guest {
  padding: 10vw 0 10vw;
}

.l-guest .l-section__head__min {
  margin-bottom: 5.71vw;
}

.l-guest__inner {
  padding-left: 10vw;
  padding-right: 40vw;
}

.l-guest__list {
  gap: 3.79vw;
}

.l-guest__list::after {
  content: "";
  min-width: 17.14vw;
}

.l-guest__list-item {
  flex: 0 0 auto;
  width: 17.14vw;
}

.l-guest__list::-webkit-scrollbar {
  display: none;
}
.l-guest__list {
  scrollbar-width: none;
}

.l-guest__list-item__image {
  overflow: hidden;
  border-radius: 14px;
}

.l-guest__list-item__detail {
  margin-top: 1.43vw;
}

.l-guest__list-item__detail__name {
  font-size: 1.8rem;
}

.l-guest__list-item__detail__position {
  font-size: 1.2rem;
  margin-top: .5vw;
}

}

/* -----
	Movie Section
------------------------------ */

.l-movie {
  padding: 33.33vw 0 66.7vw;
}

.l-movie__inner {
  padding-left: 9.52vw;
}

.l-movie .l-section__head__min {
  margin-bottom: 19.05vw;
}

.l-movie__video {
  padding-right: 9.52vw;
}

.c-movie__youtube {
  position: relative;
  height: 0;
  padding: 0 0 56.25%;
  overflow: hidden;
}

.c-movie__youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.l-movie__contents {
  padding-right: 9.52vw;
  margin-top: 14.29vw;
}

.l-movie__contents__head {
  position: relative;
  padding-bottom: 3.33vw;
  border-bottom: solid 1px var(--dark-gray);
  padding-right: 14.29vw;
  margin-bottom: 4.76vw;
}

.l-movie__contents__head__text {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 3.33vw;
}

.l-movie__contents__head__desc {
  color: var(--dark-gray);
  font-size: 1rem;

}

.l-movie__contents__btn {
  position: absolute;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  background: var(--white);
  border-radius: 50%;
  right: 0;
  bottom: -20px;
}

.l-movie__contents__btn i {
  display: inline-block;
  transition: transform .5s var(--cubic_01);
}

/* 開いたとき */
.l-movie__contents__btn.is-open i {
  transform: rotate(45deg);
}

.l-movie__contents__list {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2カラム */
  grid-template-rows: repeat(50, auto); /* 行を50個用意 */
  grid-auto-flow: column; /* 上→下に詰めてから次の列へ */
  gap: 4px 4.76vw;
  max-height: 0;
  overflow: hidden;
  transition: max-height .5s var(--cubic_01);
}

.l-movie__contents__list-item {
  color: var(--dark-gray);
  font-size: .8rem;
}

.l-movie__contents__list-item {
  opacity: 0;
  transform: translateY(10px);
  transition: .5s var(--cubic_01);
}

.l-movie__contents__list.is-open .l-movie__contents__list-item {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (min-width: 768px) {

.l-movie {
  padding: 10vw 0 25.71vw;
}

.l-movie__inner {
  padding: 0 10vw;
}

.l-movie .l-section__head__min {
  margin-bottom: 5.71vw;
}

.l-movie__video {
  padding: 0 11.43vw;
}

.l-movie__contents {
  padding-right: 0;
  margin-top: 5.71vw;
}

.l-movie__contents__head {
  position: relative;
  padding-bottom: 1vw;
  border-bottom: solid 1px var(--dark-gray);
  padding-right: 14.29vw;
  margin-bottom: 1vw;
}

.l-movie__contents__head__text {
  font-size: 1.8rem;
  margin-bottom: .5vw;
}

.l-movie__contents__head__desc {
  font-size: 1.2rem;
}

.l-movie__contents__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(20, auto); /* 行を50個用意 */
  gap: 4px 1.43vw;
}

.l-movie__contents__list-item {
  font-size: .8rem;
}

}

/* -----
	Profile Section
------------------------------ */

.l-profile {
  position: relative;
  color: var(--white);
}

.l-profile__contents {
  position: relative;
  padding-top: 33.33vw;
}

.l-profile__contents__detail {
  padding: 0 9.52vw 0 14.29vw;
}

.l-profile__contents__detail__head {
  font-family: var(--en);
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.25;
}

.l-profile__contents__detail__head__full {
    font-size: 2rem;
    margin-left: 7px;
}

.l-profile__contents__detail__position {
  font-family: var(--en);
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 3.33vw;
}

.l-profile__contents__detail__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.33vw;
    margin-top: 14.29vw;
}

.l-profile__contents__detail__sign{
  position: absolute;
  right: -2.38vw;
  bottom: -21.43vw;
  z-index: 1;
}

.l-profile__contents__detail__sign img {
  width: 66.67vw;
}

.l-profile__contents__image {
  margin-top: 19.05vw;
}

.l-profile__contents__image__photo {
  position: relative;
  margin-right: 23.81vw;
  border-radius: 0 14px 14px 0;
  overflow: hidden;
}

@media screen and (min-width: 768px) {

.l-profile__contents {
  position: relative;
  display: flex;
  flex-flow: row-reverse;
  padding-top: 0;
}

.l-profile__contents__detail {
  width: 50%;
  padding: 5.71vw 10vw 0 2.86vw;
}

.l-profile__contents__detail__head {
  font-family: var(--en);
  font-size: 7.2rem;
}

.l-profile__contents__detail__head__full {
    font-size: 2.4rem;
    margin-left: 14px;
}

.l-profile__contents__detail__position {
  font-size: 1.6rem;
  margin-top: 1vw;
}

.l-profile__contents__detail__text {
    gap: 1.43vw;
    margin-top: 2.14vw;
}

.l-profile__contents__detail__sign{
  position: absolute;
  right: 10vw;
  bottom: -2.86vw;
  z-index: 1;
}

.l-profile__contents__detail__sign img {
  width: 25.71vw;
}

.l-profile__contents__image {
  width: 50%;
  margin-top: 0;
  z-index: -1;
}

.l-profile__contents__image__photo {
  position: relative;
  margin-right: 0;
  border-radius: 0 14px 14px 0;
}

}

/* -----
	Message Section
------------------------------ */

.l-message {
  position: relative;
  color: var(--white);
  padding: 33.33vw 0;
}

.l-message__contents {

}

.l-message__contents__detail {
  position: relative;
  padding: 0 14.29vw 0 9.52vw;
  z-index: 1;
}

.l-message__contents__detail__copy {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .15rem;
}

.l-message__contents__detail__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.33vw;
    margin-top: 14.29vw;
}

.l-message__contents__image {
  position: relative;
  margin-top: -14.29vw;
  z-index: 0;
}

.l-message__contents__image__photo {
  position: relative;
  margin-left: 23.81vw;
  border-radius: 14px 0 0 14px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {

.l-message {
  padding: 10vw 0;
}

.l-message__contents {
  display: flex;
  align-items: flex-start;
}

.l-message__contents__detail {
  width: 60%;
  position: relative;
  padding: 0 10vw;
  z-index: 1;
}

.l-message__contents__detail__copy {
    font-size: 3.6rem;
    padding-top: 4.29vw;
}

.l-message__contents__detail__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.43vw;
    margin-top: 2.86vw;
}

.l-message__contents__image {
  width: 40%;
  min-width: 40%;
  position: relative;
  margin-top: 0;
  z-index: -1;
}

.l-message__contents__image__photo {
  position: relative;
  margin-left: 0;
  border-radius: 14px 0 0 14px;
  overflow: hidden;
}

}

/* -----
	Voice Section - Recommendations
------------------------------ */

.l-voice {
  position: relative;
  padding: 33.33vw 0;
}

.l-voice__recommendations .l-section__head__min {
  padding: 0 9.52vw 0 14.29vw;
}

.l-voice__recommendations__contents {

}

.l-voice__recommendations__list {
  padding: 14.29vw 0 0 14.29vw;
  margin-top: 14.29vw;
}

.l-voice__recommendations__list .swiper-wrapper {
  display: flex;
  will-change: transform;
}

.l-voice__recommendations__list-item {
  width: 57.14vw;
  flex-shrink: 0;
  margin-right: 9.52vw;
}

.l-voice__recommendations__list-item:last-child {
  margin-right: 0;
}

.l-voice__recommendations__list .swiper-progress {
  position: relative;
  width: 57.14vw;
  height: 5px;
  background: var(--white);
  margin-top: 3.33vw;
  border-radius: 5px;
  overflow: hidden;
}

.l-voice__recommendations__list .swiper-progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 0%;
  height: 100%;
  background: var(--dark-gray);
  border-radius: 5px;
}

.l-voice__recommendations__list__nav {
  position: absolute;
  display: flex;
  gap: 2.38vw;
  padding-left: 14.29vw;
  left: 0;
  top: 0;
}

/* 矢印 */
.l-voice__recommendations__list .swiper-button-prev,
.l-voice__recommendations__list .swiper-button-next {
  position: static;
  width: 40px;
  height: 40px;
  color: var(--black);
  border-radius: 50%;
  background: var(--white);
  margin: 0;
  left: auto;
}

/* Swiperデフォルト矢印を消す */
.l-voice__recommendations__list .swiper-button-prev::after,
.l-voice__recommendations__list .swiper-button-next::after {
  display: none;
}

/* FontAwesome */
.l-voice__recommendations__list .swiper-button-prev i,
.l-voice__recommendations__list .swiper-button-next i {
  font-size: 1rem;
}

/* バレット（残り数わかる） */
.l-voice__recommendations__list .swiper-pagination-bullet {
  background: var(--white);
  opacity: 1;
}

.l-voice__recommendations__list .swiper-pagination-bullet-active {
  background: var(--dark-gray);
}

.l-voice__recommendations__list .swiper-pagination {
  position: absolute;
  display: flex;
  gap: 3px;
  font-family: var(--en);
  font-size: 1.4rem;
  top: 4.76vw;
  left: 64.29vw;
  z-index: 0;
}

.l-voice__recommendations__list .swiper-pagination-bullet {
  font-size: .5rem;
  color: var(--dark-gray);
  margin: 0!important;
}

.l-voice__recommendations__list .swiper-pagination-bullet {
  height: 5px;
  width: 5px;
}

.l-voice__recommendations__list .swiper-pagination-bullet-active {
  color: var(--white);
}

.l-voice__recommendations__list-item__profile {
  position: relative;
}

.l-voice__recommendations__list-item__profile__image {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
}

.l-voice__recommendations__list-item__profile__image::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 50%;
  background: linear-gradient( to top,rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
  left: 0;
  bottom: 0;
}

.l-voice__recommendations__list-item__profile__detail {
  width: 100%;
  color: var(--white);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  padding: 3.33vw;
}

.l-voice__recommendations__list-item__profile__name {
  font-size: 1.8rem;
  font-weight: 700;
}

.l-voice__recommendations__list-item__profile__position {
  font-size: .8rem;
  margin-top: 1.67vw;
}

.l-voice__recommendations__list-item__profile__btn {
  position: absolute;
  color: var(--black);
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  background: var(--white);
  border-radius: 50%;
  right: 3.33vw;
  bottom: 3.33vw;
}

.l-voice__recommendations__modal__list {
  position: fixed;
  height: 100%;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s var(--cubic_01);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 開いた状態 */
.l-voice__recommendations__modal__list.is-open {
  opacity: 1;
  visibility: visible;
}

.l-voice__recommendations__modal__list::before {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  opacity: 0;
  transition: opacity .5s var(--cubic_01);
  z-index: -1;
}

.l-voice__recommendations__modal__list.is-open::before {
  opacity: 1;
}

.l-voice__recommendations__modal__list-item {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all .5s var(--cubic_01);
  z-index: 2;
}

/* 表示中 */
.l-voice__recommendations__modal__list-item.is-active {
  opacity: 1;
  visibility: visible;
}

.l-voice__recommendations__modal__list-item__profile__message {
  position: relative;
  width: min(80.95vw, 640px);
  max-height: 80vh;
  color: var(--black);
  border-radius: 14px;
  background: var(--off-white);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), inset 0 1px 1px rgba(255,255,255,0.4), inset 0 -1px 1px rgba(255,255,255,0.1);
  padding: 7.14vw 7.14vw 9.52vw 7.14vw;
  overflow-y: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;
  z-index: 1;
}

.l-voice__recommendations__modal__list-item__profile__message__num {
  font-family: var(--en);
  font-size: 1rem;
}

.l-voice__recommendations__modal__list-item__profile__message__image {
  position: absolute;
  width: 100%;
  aspect-ratio: 4/5;
  left: 0;
  top: 0;
  z-index: -1;
}

.l-voice__recommendations__modal__list-item__profile__message__image::after {
  position: absolute;
  content: '';
  display: block;
  width: 100%;
  height: 50%;
  background: linear-gradient( to top,rgba(240,240,233,1) 0%,rgba(240,240,233,0) 100%);
  bottom: 0;
  left: 0;
  z-index: 0;
}

.l-voice__recommendations__modal__list-item__profile__message__detail {
  margin: 66.67vw 0 7.14vw;
}

.l-voice__recommendations__modal__list-item__profile__message__name {
  font-size: 1.8rem;
  font-weight: 700;

}

.l-voice__recommendations__modal__list-item__profile__message__position {
  font-size: .8rem;
  margin-top: 1.67vw;
}

.l-voice__recommendations__modal__list-item__profile__message__copy {
  font-size: 2.2rem;
  margin-bottom: 7.14vw;
  font-weight: 700;
}

.l-voice__recommendations__modal__list-item__profile__message__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.33vw;
}

/*
body.is-modal-open {
  overflow: hidden;
  height: 100%;
}
  */

.l-voice__recommendations__modal__list-item__btn {
  position: absolute;
  color: var(--black);
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  background: var(--white);
  border-radius: 50%;
  right: 3.33vw;
  top: 3.33vw;
  z-index: 9999;
}

.l-voice__recommendations__modal__list-item__btn i {
  transform: rotate(45deg);
}

.-voice__recommendations__modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1;
}

@media screen and (min-width: 768px) {

.l-voice {
  position: relative;
  padding: 10vw 0;
}

.l-voice__recommendations .l-section__head__min {
  padding: 0 10vw;
}

.l-voice__recommendations__contents {

}

.l-voice__recommendations__list {
  padding: 4.29vw 0 0 10vw;
  margin-top: 5.71vw;
}

.l-voice__recommendations__list-item {
  width: 17.14vw;
  flex-shrink: 0;
  margin-right: 3.86vw;
}

/* PCでは一旦非表示（デザイン調整）*/
.l-voice__recommendations__list .swiper-progress {
  position: relative;
  width: 57.14vw;
  height: 5px;
  background: var(--white);
  margin-top: 3.33vw;
  border-radius: 5px;
  overflow: hidden;
}

.l-voice__recommendations__list .swiper-progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 0%;
  height: 100%;
  background: var(--dark-gray);
  border-radius: 5px;
}

.l-voice__recommendations__list__nav {
  position: absolute;
  display: flex;
  gap: 1vw;
  padding-left: 10vw;
  left: 0;
  top: 0;
}

.l-voice__recommendations__list .swiper-pagination {
  position: absolute;
  display: flex;
  gap: 3px;
  font-family: var(--en);
  font-size: 1.4rem;
  top: 1.43vw;
  left: 25.71vw;
  z-index: 0;
}

.l-voice__recommendations__list-item__profile__detail {
  padding: 1.43vw;
}

.l-voice__recommendations__list-item__profile__name {
  font-size: 1.8rem;
  font-weight: 700;
}

.l-voice__recommendations__list-item__profile__position {
  font-size: .8rem;
  margin-top: .5vw;
}

.l-voice__recommendations__list-item__profile__btn {
  right: 1.43vw;
  bottom: 1.43vw;
}

.l-voice__recommendations__modal__list-item__profile__message {
  width: min(80.95vw, 480px);
  max-height: 70vh;
  padding: 2.86vw 2.86vw 4.29vw 2.86vw;
}

.l-voice__recommendations__modal__list-item__profile__message__num {
  font-size: 1.2rem;
}

.l-voice__recommendations__modal__list-item__profile__message__detail {
  margin: 25.71vw 0 7.14vw;
}

.l-voice__recommendations__modal__list-item__profile__message__name {
  font-size: 2.4rem;

}

.l-voice__recommendations__modal__list-item__profile__message__position {
  font-size: 1rem;
  margin-top: 1vw;
}

.l-voice__recommendations__modal__list-item__profile__message__copy {
  font-size: 3.6rem;
  margin-bottom: 2.86vw;
}

.l-voice__recommendations__modal__list-item__profile__message__text {
    gap: 1.43vw;
}

.l-voice__recommendations__modal__list-item__btn {
  right: 1.43vw;
  top: 1.43vw;
}

.l-voice__recommendations__modal__list-item__btn i {
  transform: rotate(45deg);
}

}

/* -----
	Voice Section - Participants
------------------------------ */

.l-voice__participants {
  padding-top: 33.33vw;
  overflow: hidden;
}

.l-voice__participants .l-section__head__min {
  padding-left: 14.29vw;
  margin-bottom: 9.52vw;
}

.l-voice__participants__contents {
  position: relative;
  padding-left: 14.29vw;
}

.l-voice__participants__list {
  padding-top: 14.29vw;
  margin-top: 14.29vw;
  overflow: initial;
}

.l-voice__participants__list .swiper-wrapper {
  display: flex;
  will-change: transform;
}

.l-voice__participants__list-item {
  width: 57.14vw;
  flex-shrink: 0;
  margin-right: 9.52vw;
}

.l-voice__participants__list-item:last-child {
  margin-right: 0;
}

.l-voice__participants__list .swiper-progress {
  position: relative;
  width: 57.14vw;
  height: 5px;
  background: var(--white);
  margin-top: 3.33vw;
  border-radius: 5px;
  overflow: hidden;
}

.l-voice__participants__list .swiper-progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 0%;
  height: 100%;
  background: var(--dark-gray);
  border-radius: 5px;
}

.l-voice__participants__list__nav {
  position: absolute;
  display: flex;
  gap: 2.38vw;
  left: 0;
  top: 0;
}

/* 矢印 */
.l-voice__participants__list .swiper-button-prev,
.l-voice__participants__list .swiper-button-next {
  position: static;
  width: 40px;
  height: 40px;
  color: var(--black);
  border-radius: 50%;
  background: var(--white);
  margin: 0;
  left: auto;
}

/* Swiperデフォルト矢印を消す */
.l-voice__participants__list .swiper-button-prev::after,
.l-voice__participants__list .swiper-button-next::after {
  display: none;
}

/* FontAwesome */
.l-voice__participants__list .swiper-button-prev i,
.l-voice__participants__list .swiper-button-next i {
  font-size: 1rem;
}

/* バレット（残り数わかる） */
.l-voice__participants__list .swiper-pagination-bullet {
  background: var(--white);
  opacity: 1;
}

.l-voice__participants__list .swiper-pagination-bullet-active {
  background: var(--dark-gray);
}

.l-voice__participants__list .swiper-pagination {
  position: absolute;
  display: flex;
  gap: 3px;
  font-family: var(--en);
  font-size: 1.4rem;
  top: 4.76vw;
  left: 50vw;
  z-index: 0;
}

.l-voice__participants__list .swiper-pagination-bullet {
  font-size: .5rem;
  color: var(--dark-gray);
  margin: 0!important;
}

.l-voice__participants__list .swiper-pagination-bullet {
  height: 5px;
  width: 5px;
}

.l-voice__participants__list .swiper-pagination-bullet-active {
  color: var(--white);
}

.l-voice__participants__list-item__image {
  overflow: hidden;
  border-radius: 14px;
  margin-bottom: 4.76vw;
}

.l-voice__participants__list-item__name {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .25rem;
}

.l-voice__participants__list-item__position {
  color: var(--dark-gray);
  font-size: .8rem;
  margin-top: 0;
}

.l-voice__participants__list-item__text .c-text__basic {
  font-size: 1.1rem;
  margin-top: 1.67vw;
}

@media screen and (min-width: 768px) {

.l-voice__participants {
  padding-top: 10vw;
}

.l-voice__participants .l-section__head__min {
  padding-left: 10vw;
  margin-bottom: 4.29vw;
}

.l-voice__participants__contents {
  position: relative;
  padding-left: 10vw;
}

.l-voice__participants__list {
  padding-top: 4.29vw;
  margin-top: 4.29vw;
}

.l-voice__participants__list-item {
  width: 17.14vw;
  flex-shrink: 0;
  margin-right: 3.86vw;
}

.l-voice__participants__list__nav {
  position: absolute;
  display: flex;
  gap: 1vw;
  padding-left: 0;
  left: 0;
  top: 0;
}

.l-voice__participants__list .swiper-pagination {
  position: absolute;
  display: flex;
  gap: 3px;
  font-family: var(--en);
  font-size: 1.4rem;
  top: 1.43vw;
  left: calc(17.14vw - 2.14vw) ;
  z-index: 0;
}

.l-voice__participants__list-item__image {
  margin-bottom: 1.43vw;
}

.l-voice__participants__list-item__name {
  font-size: 1.8rem;
}

.l-voice__participants__list-item__position {
  color: var(--dark-gray);
  font-size: .8rem;
  margin-top: 0;
}

.l-voice__participants__list-item__text .c-text__basic {
  font-size: 1.2rem;
  margin-top: 1vw;
}

}

/* -----
	Plan Section
------------------------------ */

.l-plan {
  position: relative;
  padding: 33.33vw 0;
}

.l-plan .l-section__head__min {
  text-align: center;
  margin-bottom: 7.14vw;
}

.l-plan__contents {

}

.l-section__desc {
  font-size: 1.3rem;
  text-align: center;
  margin-bottom: 14.29vw;
}

.l-plan__contents__head {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3.33vw;
  margin-top: 9.52vw;
  margin-bottom: 3.33vw;
}

.l-plan__contents__head__en {
  font-family: var(--en);
  font-size: 2.4rem;
  font-weight: 700;
}

.l-plan__contents__head__ja {
  font-size: 1.2rem;
  font-weight: 500;
}

.l-plan__contents__list {
  padding: 0 9.52vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.33vw;
}

.l-plan__contents__list-item {
  width: 100%;
  display: flex;
  align-items: center;
  background: var(--white);
  border-radius: 14px;
}

.l-plan__contents__list-item__head,
.l-plan__contents__list-item__detail {
  width: 50%;
}

.l-plan__contents__list-item__head {
  font-family: var(--en);
  font-size: 1.8rem;
  font-weight: 700;
  padding: 3.33vw 0 3.33vw 7.14vw;
}

.l-plan__contents__list-item__head__ja {
  font-family: var(--ja);
  font-size: 1.5rem;
}

.l-plan__contents__list-item__detail {
  font-family: var(--en);
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}

.l-plan__contents__list-item__detail__price {
  font-family: var(--ja);
  font-size: 1rem;
  font-weight: 500;
  margin-left: 3px;
}

.l-plan__contents__list-item__note {
  display: block;
  font-family: var(--ja);
  font-size: 1rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {

.l-plan {
  position: relative;
  padding: 10vw 0;
}

.l-plan .l-section__head__min {
  margin-bottom: 2.86vw;
}

.l-plan__contents {

}

.l-section__desc {
  font-size: 1.4rem;
  margin-bottom: 5.71vw;
}

.l-plan__contents__head {
  gap: 1vw;
  margin-top: 4.29vw;
  margin-bottom: 1vw;
}

.l-plan__contents__head__en {
  font-size: 3.6rem;
}

.l-plan__contents__head__ja {
  font-size: 1.4rem;
}

.l-plan__contents__list {
  padding: 0 24.29vw;
  gap: 1vw;
}

.l-plan__contents__list-item__head,
.l-plan__contents__list-item__detail {
  width: 50%;
}

.l-plan__contents__list-item__head {
  font-family: var(--en);
  font-size: 2.4rem;
  text-align: center;
  padding: 1.43vw 0 1.43vw 7.14vw;
}

.l-plan__contents__list-item__head__ja {
  font-family: var(--ja);
  font-size: 1.8rem;
}

.l-plan__contents__list-item__detail {
  font-size: 2.4rem;
}

.l-plan__contents__list-item__detail__price {
  font-size: 1rem;
  margin-left: 3px;
}

.l-plan__contents__list-item__note {
  font-size: 1rem;
}

}

/* -----
	FAQ Section
------------------------------ */

.l-faq {
  position: relative;
  padding: 33.33vw 9.52vw;
}

.l-faq .l-section__head__min {
  margin-bottom: 9.52vw;
}


.l-faq__contents {

}

.l-faq__contents__list-item {
	position: relative;
	padding: 4.76vw 0;
	border-top: solid 1px var(--black);
}

.l-faq__contents__list-item:last-child {
	border-bottom: solid 1px var(--black);
}

.l-faq__contents__list-item__question {
  display: flex;
	align-items: baseline;
	gap: 2.38vw;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	padding-right: 9.52vw;
}

.l-faq__contents__list-item__question::before {
	display: block;
	content: 'Q.';
  font-family: var(--en);
	font-size: 2.4rem;
	font-weight: 400;
}

.l-faq__contents__list-item__answer {
  margin-top: 0;
  max-height: 0;
  font-size: 1.3rem;
  padding-left: 7.14vw;
  overflow: hidden;
	transition: all .5s var(--cubic_01);
}

.l-faq__contents__list-item.is-open 
.l-faq__contents__list-item__answer {
  margin-top: 4.76vw;
}

.l-faq__contents__list-item__answer a {
  color: var(--dark-gray);
  font-weight: 500;
  border-bottom: dashed 1px var(--dark-gray);
}

.l-faq__contents__list-item .c-accordion__btn {
  position: absolute;
	right: 0;
	top: 7.14vw;
}

.l-faq__contents__list-item .c-accordion__btn {
	transition: all .5s var(--cubic_01);
}
.l-faq__contents__list-item.is-open .c-accordion__btn {
  transform: rotate(45deg);
}

@media screen and (min-width: 768px) {

.l-faq {
  position: relative;
  padding: 10vw 24.29vw;
}

.l-faq .l-section__head__min {
  margin-bottom: 4.29vw;
}

.l-faq__contents__list-item {
	padding: 2.14vw 1.43vw;
}

.l-faq__contents__list-item__question {
	gap: .5vw;
	font-size: 1.8rem;
	padding-right: 5.71vw;
}

.l-faq__contents__list-item__question::before {
	font-size: 2.8rem;
}

.l-faq__contents__list-item__answer {
  font-size: 1.4rem;
  padding-left: 0;
}

.l-faq__contents__list-item.is-open 
.l-faq__contents__list-item__answer {
  margin-top: 1vw;
}

.l-faq__contents__list-item .c-accordion__btn {
  position: absolute;
	right: 1.43vw;
	top: 2.86vw;
}

.l-faq__contents__list-item .c-accordion__btn {
	transition: all .5s var(--cubic_01);
}
.l-faq__contents__list-item.is-open .c-accordion__btn {
  transform: rotate(45deg);
}

}

/* -----
	Join Section
------------------------------ */

.l-join {
  position: relative;
  color: var(--white);
  padding: 33.33vw 9.52vw 85.71vw;
}

.l-join__detail {

}

.l-join .l-section__head__min {
  margin-bottom: 14.29vw;
}

.l-join__link {
}

.l-join__link__btn {
  margin-top: 14.29vw;
}

.l-join__link__btn a {
  display: block;
  color: var(--black);
  font-family: var(--en);
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  background: var(--white);
  padding: 30px 0;
  border-radius: 14px;
}

.l-join__image {
  position: absolute;
  aspect-ratio: 5/4;
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.l-join__image::after {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: 100%;
    height: 28.57vw;
    pointer-events: none;
    background: linear-gradient(to top, rgba(37, 37, 37, 0) 0%, rgba(37, 37, 37, 0.3) 30%, rgba(37, 37, 37, 0.7) 60%, #252525 100%);
    z-index: 2;
}

.l-join__image img {
  object-fit: contain;
}

@media screen and (min-width: 768px) {

.l-join {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 10vw 10vw;
  overflow: hidden;
}

.l-join .l-section__head__min {
  margin-bottom: 4.29vw;
}

.l-join__detail {
  width: 50%;
  padding-right: 5.71vw;
}

.l-join__link {
  text-align: right;
}

.l-join__link__btn {
  text-align: right;
  max-width: 22.86vw;
  min-width: 22.86vw;
  margin-top: 0;
}

.l-join__image {
  position: absolute;
  aspect-ratio: 5/4;
  width: 50%;
  left: auto;
  right: 0;
  bottom: 0;
  z-index: -1;
    object-fit: contain;
  object-position: center center;

}

.l-join__image::after {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: 9.52vw;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to left, rgba(37, 37, 37, 0) 0%, rgba(37, 37, 37, 0.3) 30%, rgba(37, 37, 37, 0.7) 60%, #252525 100%);
    z-index: 2;
}

.l-join__image img {
  object-fit: contain;
  object-position: center center;
}


}

/* Footer
========================================================================== */

.l-footer {
  position: relative;
  background: var(--gray);
  padding: 28.57vw 0;
}

.l-footer__inner {

}

.l-footer__top {

}

.l-footer__logo {
  width: 47.62vw;
  margin: 0 auto;
}

.l-footer__logo svg {
  fill: var(--black);
}

.l-footer__sns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7.14vw;
  margin-top: 14.29vw;
}

.l-footer__sns__link {

}

.l-footer__sns__link a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 23.81vw;
	aspect-ratio: calc(1/1);
  color: var(--black);
  font-size: 2rem;
  line-height: 23.81vw;
  text-align: center;
  background: var(--white);
  border-radius: 50%;
}

.l-footer__bottom {

}

.l-footer__sub-nav {
  margin-top: 14.29vw;
}

.l-footer__sub-nav__list {
  display: flex;
	align-items: center;
	justify-content: center;
  gap: 3.33vw;
}

.l-footer__sub-nav__list-item a {
  color: var(--black);
  font-size: 1rem;
  text-decoration: underline;
}

.l-footer__copy {
  display: block;
  font-family: var(--en);
  font-size: 1.4rem;
  text-align: center;
  margin-top: 14.29vw;
}

.l-footer__created {
  display: block;
  font-family: var(--en);
  font-size: 1.1rem;
  text-align: center;
  margin-top: 3.33vw;
}

.l-footer__created  a {
  color: var(--black);
  border-bottom: dashed 1px var(--black);
}

@media screen and (min-width: 768px) {

.l-footer {
  padding: 10vw 0;
}

.l-footer__inner {
  padding: 0 10vw;
}

.l-footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.l-footer__logo {
  width: 22.86vw;
  margin: 0;
}

.l-footer__sns {
	gap: 1.43vw;
  margin-top: 0;
}

.l-footer__sns__link {

}

.l-footer__sns__link a {
	width: 10vw;
  color: var(--black);
  font-size: 2.4rem;
  line-height: 10vw;
}

.l-footer__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

}

.l-footer__sub-nav {
  margin-top: 5.71vw;
}

.l-footer__sub-nav__list {
	justify-content: flex-start;
  gap: 1vw;
}

.l-footer__copy {
  margin-top: 0;
}

.l-footer__copy {
  text-align: right;
  margin-top: 0;
}

.l-footer__created {
  text-align: right;
  font-size: 1.1rem;
  margin-top: .5vw;
}


}
