@charset "UTF-8";
/*共通スタイル*/
/* main colors */
*, *::before, *::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

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

input, button, textarea, select {
  font: inherit;
}

body {
  word-break: break-all;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: 100%;
  font-family: "Noto Sans JP", sans-serif;
  color: hsl(0, 0%, 0%);
  background: hsl(0, 0%, 100%);
}

html {
  scroll-behavior: smooth;
}

img,
svg {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

svg {
  max-width: 100%;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  cursor: pointer !important;
  text-decoration: none;
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
ul.disc {
  list-style-type: disc;
  padding-left: 1.5em;
  list-style-position: outside;
}

.site_wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}

.site_body {
  margin-bottom: auto;
}

.container-base {
  width: 100%;
  max-width: 1300px;
  padding: 0 20px;
  margin: 0 auto;
}

/*ヘッダーのスタイル*/
.site_header {
  padding: 10px 12px 10px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 999;
}
@media (min-width: 920px) {
  .site_header {
    padding: 53px 56px 53px 37px;
  }
}
.site_header {
  --logo-color: hsla(0, 0%, 65%, 1);
}
.site_header_logo {
  width: 25.3846153846vw;
  opacity: 1;
}
@media (min-width: 920px) {
  .site_header_logo {
    width: 12.0833333333vw;
  }
}
.site_header_logo.link {
  transition: opacity 0.3s ease-out;
}
.site_header_logo.link:hover {
  opacity: 0.6;
}
.site_header_logo.hidden {
  opacity: 0;
  pointer-events: none;
  /* クリックも無効化する場合 */
}
.site_header_logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}
.site_header_logo a svg {
  display: block;
  width: 100%;
}
.site_header_logo a svg path {
  fill: var(--logo-color, hsl(0, 0%, 65%));
  transition: fill 0.3s ease-out;
}

.global_nav {
  position: relative;
  z-index: 99;
}
.global_nav_toggle {
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 26px;
  height: 35px;
  border: none;
  position: relative;
  z-index: 1001;
  background: transparent;
  padding: 0;
  border-radius: 0;
}
@media (min-width: 920px) {
  .global_nav_toggle {
    gap: 17px;
    width: 45px;
  }
}
.global_nav_toggle_bar {
  background: hsl(0, 0%, 0%);
  display: block;
  transition: background-color 0.3s linear, opacity 0.3s linear;
  transition-property: transform, opacity, width;
  transform-origin: 100% 50%;
  width: 100%;
  height: 1px;
}
.global_nav_toggle.is-active .global_nav_toggle_bar {
  background-color: hsl(0, 0%, 0%) !important;
}
.global_nav_toggle.is-active .global_nav_toggle_bar-top {
  transform: rotate(-45deg);
}
.global_nav_toggle.is-active .global_nav_toggle_bar-mid {
  opacity: 0;
}
.global_nav_toggle.is-active .global_nav_toggle_bar-btm {
  transform: translateY(-3px) rotate(45deg);
}
.global_nav_overlay {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  z-index: 999;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100dvh;
  transition: opacity 0.3s linear, visibility 0.3s linear, transform 0.3s ease-out;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  background: hsl(0, 0%, 100%);
}
@media (min-width: 920px) {
  .global_nav_overlay {
    width: 35%;
    right: -35%;
  }
}
.global_nav_overlay.is-open {
  visibility: visible;
  opacity: 1;
  transform: translateX(-100%);
}
.global_nav_container {
  padding: 175px 59px 273px;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 66px;
  margin: auto;
  width: 100%;
  height: auto;
  min-height: 100dvh;
}
@media (min-width: 920px) {
  .global_nav_container {
    padding: 12.1527777778vw 4.0972222222vw 18.9583333333vw;
    gap: 4.5833333333vw;
  }
}
.global_nav_list {
  display: flex;
  gap: 38px;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}
@media (min-width: 920px) {
  .global_nav_list {
    gap: 3.6111111111vw;
  }
}
.global_nav_list_link {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
  position: relative;
  display: inline-block;
}
@media (min-width: 920px) {
  .global_nav_list_link {
    font-size: max(1.3888888889vw, 18px);
  }
}
.global_nav_list_link::after {
  background-color: hsl(0, 0%, 0%);
  /* 下線の色 */
  bottom: -2px;
  /* 要素の下端からの距離 */
  content: "";
  /* 要素に内容を追加 */
  height: 1px;
  /* 下線の高さ */
  left: 0;
  /* 要素の左端からの距離 */
  position: absolute;
  /* 絶対位置指定 */
  transform: scale(0, 1);
  /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  transform-origin: right top;
  /* 変形の原点を右上に指定 */
  transition: transform 0.3s;
  /* 変形をアニメーション化 */
  width: 100%;
}
.global_nav_list_link:hover::after {
  transform-origin: left top;
  /* 変形の原点を左上に指定 */
  transform: scale(1, 1);
  /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}
.global_nav_list_bottom {
  display: flex;
  flex-direction: column;
  gap: 23px;
  color: hsl(0, 0%, 52%);
}
.global_nav_list_bottom_link {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
  position: relative;
  display: inline-block;
}
@media (min-width: 920px) {
  .global_nav_list_bottom_link {
    font-size: 1.1111111111vw;
  }
}
.global_nav_list_bottom_link::after {
  background-color: hsl(0, 0%, 52%);
  /* 下線の色 */
  bottom: -2px;
  /* 要素の下端からの距離 */
  content: "";
  /* 要素に内容を追加 */
  height: 1px;
  /* 下線の高さ */
  left: 0;
  /* 要素の左端からの距離 */
  position: absolute;
  /* 絶対位置指定 */
  transform: scale(0, 1);
  /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  transform-origin: right top;
  /* 変形の原点を右上に指定 */
  transition: transform 0.3s;
  /* 変形をアニメーション化 */
  width: 100%;
}
.global_nav_list_bottom_link:hover::after {
  transform-origin: left top;
  /* 変形の原点を左上に指定 */
  transform: scale(1, 1);
  /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}

/* アニメーション中に本来のヘッダーロゴを隠す */
.is-animating .site_header_logo {
  opacity: 0 !important;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
}
.is-animating .site_header_logo:hover {
  opacity: 0.6;
}

/*フッターのスタイル*/
.site_footer {
  background: hsl(0, 0%, 85%);
  padding: 12px 13px 20px 15px;
  overflow: hidden;
}
@media (min-width: 920px) {
  .site_footer {
    padding: 2.9166666667vw max(2.0138888889vw, 16px) 3.2638888889vw;
  }
}
.site_footer_head {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  padding-bottom: 14px;
}
@media (min-width: 920px) {
  .site_footer_head {
    padding-bottom: 16px;
    flex-direction: row;
    gap: max(2.0833333333vw, 16px);
    margin: 0 auto 0 0;
    padding-bottom: max(1.1805555556vw, 17px);
  }
}
.site_footer_head_img {
  width: 100%;
  transition: opacity 0.3s ease-out;
}
@media (min-width: 920px) {
  .site_footer_head_img {
    width: 58.8%;
  }
}
.site_footer_head_img:hover {
  opacity: 0.6;
}
.site_footer_head_img img {
  max-width: none;
  width: 100%;
}
.site_footer_head_contact {
  display: block;
  background: #858585;
  color: hsl(0, 0%, 100%);
  padding: 0 18px 1px;
  border-radius: 999px;
  transition: opacity 0.3s ease-out;
}
@media (min-width: 920px) {
  .site_footer_head_contact {
    padding: 0 max(1.5277777778vw, 22px) 2px;
  }
}
.site_footer_head_contact span {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .site_footer_head_contact span {
    font-size: max(1.1111111111vw, 14px);
  }
}
.site_footer_head_contact:hover {
  opacity: 0.6;
}
.site_footer_body {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding-top: 20px;
  border-top: 1px solid #858585;
}
@media (min-width: 920px) {
  .site_footer_body {
    border-top: 2px solid #858585;
    gap: 6.3888888889vw;
    padding-top: max(0.7638888889vw, 11px);
  }
}
.site_footer_body_bottom {
  display: flex;
  flex-direction: column;
  gap: 44px;
}
@media (min-width: 920px) {
  .site_footer_body_bottom {
    gap: 20px;
  }
}
@media (min-width: 1200px) {
  .site_footer_body_bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
}
.site_footer_body_bottom_box {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
@media (min-width: 920px) {
  .site_footer_body_bottom_box {
    align-items: flex-start;
    gap: 20px;
  }
}
@media (min-width: 1080px) {
  .site_footer_body_bottom_box {
    flex-direction: row;
    align-items: center;
    gap: max(2.0138888889vw, 16px);
  }
}
.site_footer_logo {
  transition: opacity 0.3s ease-out;
  display: block;
  width: fit-content;
  flex-shrink: 0;
}
@media (min-width: 920px) {
  .site_footer_logo {
    margin: 0;
    width: max(6.0416666667vw, 87px);
  }
}
.site_footer_logo img {
  max-width: none;
  width: 100%;
}
.site_footer_logo:hover {
  opacity: 0.6;
}
.site_footer_instagram {
  transition: opacity 0.3s ease-out;
}
.site_footer_instagram:hover {
  opacity: 0.6;
}
.site_footer_address {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.38;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .site_footer_address {
    font-size: max(0.8333333333vw, 12px);
  }
}
.site_footer_address.jp {
  font-size: 12px;
  line-height: 1.1;
  letter-spacing: 0.08em;
}
@media (min-width: 920px) {
  .site_footer_address.jp {
    font-size: max(0.8333333333vw, 12px);
    line-height: 1.38;
    letter-spacing: 0.1em;
  }
}
.site_footer_address.en {
  font-size: 10px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
@media (min-width: 390px) {
  .site_footer_address.en {
    letter-spacing: -0.02em;
  }
}
@media (min-width: 920px) {
  .site_footer_address.en {
    font-size: max(0.8333333333vw, 12px);
    line-height: 1.38;
    letter-spacing: 0.1em;
  }
}
.site_footer_address_container {
  color: hsl(0, 0%, 52%);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media (min-width: 920px) {
  .site_footer_address_container {
    align-items: flex-start;
  }
}
@media (min-width: 1080px) {
  .site_footer_address_container {
    flex-direction: row;
    align-items: flex-start;
    gap: max(2.0138888889vw, 16px);
  }
}
.site_footer_nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
@media (min-width: 920px) {
  .site_footer_nav {
    flex-direction: row;
    align-items: center;
    gap: max(1.9444444444vw, 16px);
  }
}
.site_footer_nav_link {
  color: hsl(0, 0%, 60%);
  display: inline-block;
  position: relative;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .site_footer_nav_link {
    font-size: max(1.0416666667vw, 14px);
  }
}
.site_footer_nav_link::after {
  background-color: hsl(0, 0%, 60%);
  /* 下線の色 */
  bottom: 0;
  /* 要素の下端からの距離 */
  content: "";
  /* 要素に内容を追加 */
  height: 1px;
  /* 下線の高さ */
  left: 0;
  /* 要素の左端からの距離 */
  position: absolute;
  /* 絶対位置指定 */
  transform: scale(0, 1);
  /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  transform-origin: right top;
  /* 変形の原点を右上に指定 */
  transition: transform 0.3s ease-out;
  /* 変形をアニメーション化 */
  width: 100%;
  /* 要素の幅 */
}
.site_footer_nav_link:hover::after {
  transform-origin: left top;
  /* 変形の原点を左上に指定 */
  transform: scale(1, 1);
  /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}
.site_footer_nav_wrap {
  display: flex;
  flex-direction: column-reverse;
  gap: 22px;
  padding-left: 7px;
}
@media (min-width: 920px) {
  .site_footer_nav_wrap {
    gap: 20px;
    padding-left: 0;
  }
}
@media (min-width: 1080px) {
  .site_footer_nav_wrap {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
}
.site_footer_meta {
  display: flex;
  flex-direction: column;
  color: hsl(0, 0%, 56%);
}
@media (min-width: 920px) {
  .site_footer_meta {
    flex-direction: row;
    align-items: center;
    gap: max(1.3888888889vw, 10px);
  }
}
.site_footer_meta_link {
  display: flex;
  align-items: center;
  gap: 5px;
}
.site_footer_meta_link span {
  display: inline-block;
  position: relative;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .site_footer_meta_link span {
    font-size: max(1.1111111111vw, 14px);
  }
}
.site_footer_meta_link span::after {
  background-color: hsl(0, 0%, 56%);
  /* 下線の色 */
  bottom: 0;
  /* 要素の下端からの距離 */
  content: "";
  /* 要素に内容を追加 */
  height: 1px;
  /* 下線の高さ */
  left: 0;
  /* 要素の左端からの距離 */
  position: absolute;
  /* 絶対位置指定 */
  transform: scale(0, 1);
  /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  transform-origin: right top;
  /* 変形の原点を右上に指定 */
  transition: transform 0.3s ease-out;
  /* 変形をアニメーション化 */
  width: 100%;
  /* 要素の幅 */
}
.site_footer_meta_link span:hover::after {
  transform-origin: left top;
  /* 変形の原点を左上に指定 */
  transform: scale(1, 1);
  /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}
.site_footer_meta_link_img {
  width: 20px;
}
@media (min-width: 920px) {
  .site_footer_meta_link_img {
    width: clamp(20px, 2.8472222222vw, 41px);
  }
}

.copyright {
  color: #858585;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
  text-align: center;
  flex-shrink: 0;
}
@media (min-width: 920px) {
  .copyright {
    width: fit-content;
    margin: 0 auto;
  }
}
@media (min-width: 1200px) {
  .copyright {
    margin: 0;
  }
}

[id] {
  scroll-margin-top: var(--header-height);
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.common_link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.common_link_text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
  background-image: linear-gradient(to right, hsl(0, 0%, 0%), hsl(0, 0%, 0%));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: 3px;
}
@media (min-width: 920px) {
  .common_link_text {
    font-size: clamp(14px, 1.25vw, 18px);
    padding-bottom: 10px;
  }
}
.common_link_text:hover {
  animation: linkLineReverse 0.5s ease forwards;
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}
@media (min-width: 920px) {
  .common_link_img {
    width: clamp(20px, 2.8472222222vw, 41px);
  }
}
.common_link.news .common_link_text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .common_link.news .common_link_text {
    font-size: 24px;
    font-size: clamp(18px, 1.6666666667vw, 24px);
  }
}

.common_link_wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 920px) {
  .common_link_wrap {
    flex-direction: row;
    align-items: center;
    gap: 2.8472222222vw;
  }
}
.common_link_wrap .common_link_text {
  padding: 0;
}

.fade-in-text span {
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
  /* transitionはJSから付与されたdelayを使用 */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-text.fade span {
  opacity: 1;
  transform: translateY(0);
}

.top_about_mainTxt span {
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.top_about_mainTxt.main_fade span {
  opacity: 1;
  transform: translateY(0);
}

.fadeInUp {
  opacity: 0;
  transform: translate3d(-4.2781px, -6.4172px, 0px) scale(0.98);
  visibility: hidden; /* 念のため非表示に */
  transition: opacity 0.8s ease, transform 0.8s ease; /* 滑らかに変化させる */
}

/* 発火時（is-animatedクラスがついた時） */
.fadeInUp.is-animated {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px) scale(1);
  visibility: visible;
}

.subPage_common_base {
  padding: 0 20px;
  margin-top: 150px;
}
@media (min-width: 920px) {
  .subPage_common_base {
    padding: 0 37px 0 54px;
    margin-top: 22.4305555556vw;
  }
}
@media (min-width: 920px) {
  .subPage_common_base.maison {
    padding: 0 9.6527777778vw 0 10.8333333333vw;
  }
}
.subPage_common_base.maison.bottom {
  margin-top: 0;
}
.subPage_common_base.nelly {
  margin-bottom: 120px;
}
@media (min-width: 920px) {
  .subPage_common_base.nelly {
    padding: 0 10.2777777778vw;
    margin-bottom: 11.0416666667vw;
  }
}
.subPage_common_base.news {
  margin-top: 150px;
  margin-bottom: 120px;
}
@media (min-width: 920px) {
  .subPage_common_base.news {
    margin-top: 25.4166666667vw;
    margin-bottom: 11.5277777778vw;
  }
}
.subPage_common_base.privacy {
  margin-top: 150px;
  margin-bottom: 120px;
}
@media (min-width: 920px) {
  .subPage_common_base.privacy {
    margin-top: 22.4305555556vw;
    margin-bottom: 15.0694444444vw;
  }
}
.subPage_common_base.contact {
  margin-top: 150px;
  margin-bottom: 120px;
}
@media (min-width: 920px) {
  .subPage_common_base.contact {
    margin-top: 30.4861111111vw;
    margin-bottom: 33.8194444444vw;
  }
}
.subPage_mv img {
  max-width: none;
  width: 100%;
}
.subPage_mv.maison {
  margin-top: 12px;
  aspect-ratio: 1349/441;
}
@media (min-width: 920px) {
  .subPage_mv.maison {
    margin-top: 22px;
    margin-left: 8px;
  }
}
.subPage_mv.maison img {
  height: 100%;
}
.subPage_mv.nelly {
  margin-top: 16px;
}
@media (min-width: 920px) {
  .subPage_mv.nelly {
    margin-top: max(2.5vw, 16px);
  }
}
.subPage_ttl {
  color: hsl(0, 0%, 65%);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .subPage_ttl {
    font-size: 2.5vw;
  }
}
.subPage_ttl.about {
  font-size: 16px;
}
@media (min-width: 920px) {
  .subPage_ttl.about {
    font-size: 2.5vw;
  }
}
.subPage_ttl.privacy {
  font-size: 20px;
}
@media (min-width: 920px) {
  .subPage_ttl.privacy {
    font-size: 1.6666666667vw;
  }
}
@media (min-width: 920px) {
  .subPage_ttl_wrap {
    padding: 0 6.875vw;
  }
}
.subPage_section {
  padding: 120px 0 150px;
}
@media (min-width: 920px) {
  .subPage_section {
    padding: 22.4305555556vw 0 13.8888888889vw;
  }
}
.subPage_container-base {
  padding: 0 20px;
}
@media (min-width: 920px) {
  .subPage_container-base {
    padding: 0 40px;
  }
}

.notFound_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
@media (min-width: 920px) {
  .notFound_main {
    gap: max(4.1666666667vw, 40px);
  }
}
.notFound_top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media (min-width: 920px) {
  .notFound_top {
    gap: max(1.6666666667vw, 20px);
  }
}
.notFound_top_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
@media (min-width: 920px) {
  .notFound_top_head {
    gap: max(0.2777777778vw, 4px);
  }
}
.notFound_ttl {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 60px;
  line-height: 1;
  text-align: center;
}
@media (min-width: 920px) {
  .notFound_ttl {
    font-size: 6.9444444444vw;
  }
}
.notFound_ttl_en {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1;
}
@media (min-width: 920px) {
  .notFound_ttl_en {
    font-size: 4.4444444444vw;
  }
}
.notFound_ttl_jp {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 920px) {
  .notFound_ttl_jp {
    font-size: max(1.25vw, 14px);
  }
}

.about_main_txt {
  font-family: "Crimson Text", serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  vertical-align: middle;
  text-align: center;
}
@media (min-width: 920px) {
  .about_main_txt {
    font-size: 3.3333333333vw;
  }
}
@media (min-width: 600px) {
  .about_main_txt .br_sp {
    display: none;
  }
}

.overview_section {
  margin-top: 80px;
}
@media (min-width: 920px) {
  .overview_section {
    margin-top: 11.25vw;
    padding: 0 6.875vw;
  }
}
@media (min-width: 1200px) {
  .overview_section {
    padding: 0 15.3472222222vw 0 6.875vw;
  }
}
.overview_list {
  color: hsl(0, 0%, 52%);
  flex: 1;
}
@media (min-width: 1200px) {
  .overview_list {
    flex: auto;
  }
}
@media (min-width: 920px) {
  .overview_list:first-child {
    width: 55%;
  }
}
.overview_list_wrap {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 40px;
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 920px) {
  .overview_list_wrap {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 2.9861111111vw;
  }
}
@media (min-width: 1200px) {
  .overview_list_wrap {
    gap: 6.875vw;
  }
}
.overview_list_item.en .overview_list_item_ttl,
.overview_list_item.en .overview_list_item_txt {
  line-height: 1.35;
}
.overview_list_item.en {
  margin: 8px 0 8px;
}
.overview_list_item_inner {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}
@media (min-width: 920px) {
  .overview_list_item_inner {
    gap: 34px;
  }
}
.overview_list_item_ttl {
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.1em;
  width: 47px;
  flex-shrink: 0;
  white-space: nowrap;
}
@media (min-width: 920px) {
  .overview_list_item_ttl {
    line-height: 2.11;
    font-size: max(1.1111111111vw, 16px);
  }
}
@media (min-width: 920px) {
  .overview_list_item_ttl {
    width: max(3.6805555556vw, 53px);
    text-align: justify;
  }
}
.overview_list_item_ttl.en {
  width: 103px;
  line-height: 1.35;
  letter-spacing: -0.02em;
}
@media (min-width: 920px) {
  .overview_list_item_ttl.en {
    line-height: 2.11;
    letter-spacing: 0.1em;
    width: max(9.6527777778vw, 139px);
  }
}
.overview_list_item_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .overview_list_item_txt {
    line-height: 2.11;
    font-size: max(1.1111111111vw, 16px);
  }
}
.overview_list_item_txt.en {
  line-height: 2;
  letter-spacing: -0.02em;
}
@media (min-width: 920px) {
  .overview_list_item_txt.en {
    line-height: 2.11;
    letter-spacing: 0.1em;
  }
}
@media (min-width: 920px) {
  .overview_list_item_txt.en span {
    line-height: 1.73;
  }
}
@media (min-width: 600px) {
  .overview_list_item_txt.en span .sp {
    display: none;
  }
}

.history_section {
  margin-top: 65px;
}
@media (min-width: 920px) {
  .history_section {
    margin-top: 10.3472222222vw;
    padding: 0 5.8333333333vw 0 6.875vw;
  }
}
.history_list {
  color: hsl(0, 0%, 52%);
  position: relative;
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  margin-bottom: 120px;
  overflow: hidden;
}
@media (min-width: 920px) {
  .history_list {
    margin-top: 4.5833333333vw;
    margin-bottom: 14.6527777778vw;
    margin-left: 3.8888888889vw;
  }
}
.history_list_item {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  padding-left: 20px;
  padding-bottom: 20px;
}
@media (min-width: 920px) {
  .history_list_item {
    flex-direction: row;
    padding-bottom: 4.0277777778vw;
    padding-left: 0;
  }
}
.history_list_item::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 20px;
  width: 1px;
  height: 100%;
  background-color: hsl(0, 0%, 65%);
  z-index: 1;
}
@media (min-width: 920px) {
  .history_list_item::before {
    left: max(6.6666666667vw, 96px);
    top: max(1.3888888889vw, 20px);
  }
}
.history_list_item:last-child {
  padding-bottom: 0;
}
.history_list_item:last-child::before {
  content: none;
}
.history_year {
  width: 87px;
  font-weight: 400;
  font-size: 16px;
  line-height: 2.11;
  letter-spacing: 0.1em;
  flex-shrink: 0;
  white-space: nowrap;
  position: relative;
}
@media (min-width: 920px) {
  .history_year {
    padding-right: max(3.125vw, 45px);
    font-size: max(1.3888888889vw, 20px);
    flex-basis: max(6.7361111111vw, 97px);
    display: flex;
    align-items: center;
  }
}
.history_year:empty {
  display: none;
}
@media (min-width: 920px) {
  .history_year:empty {
    display: block;
    flex-basis: max(6.7361111111vw, 97px);
  }
}
.history_year::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: hsl(0, 1%, 47%);
  z-index: 3;
}
@media (min-width: 920px) {
  .history_year::before {
    top: 50%;
    right: -5px;
    left: auto;
    width: max(9px, 0.625vw);
    height: max(9px, 0.625vw);
  }
}
.history_event {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: 0.1em;
  position: relative;
}
@media (min-width: 920px) {
  .history_event {
    padding-left: max(4.0972222222vw, 59px);
    font-size: max(1.25vw, 18px);
  }
}
.history_event.empty {
  margin-top: -12px;
}
@media (min-width: 920px) {
  .history_event.empty {
    margin-top: 0;
  }
}
.history_event.top {
  font-size: 14px;
  line-height: 2.11;
}
@media (min-width: 920px) {
  .history_event.top {
    font-size: max(1.25vw, 18px);
  }
}

.bland_main.nelly {
  margin-top: 60px;
}
@media (min-width: 920px) {
  .bland_main.nelly {
    margin-top: 6.6666666667vw;
    padding: 0 0 0 7.2222222222vw;
    gap: 20px;
  }
}
@media (min-width: 1200px) {
  .bland_main.nelly {
    gap: max(0.5555555556vw, 8px);
  }
}
@media (min-width: 920px) {
  .bland_main_inner.nelly {
    display: flex;
    flex-direction: column;
    gap: max(1.25vw, 18px);
  }
}
.bland_main_inner_head {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (min-width: 920px) {
  .bland_main_inner_head {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
  }
}
.bland_main_bottom.nelly {
  display: flex;
  flex-direction: column;
}
@media (min-width: 920px) {
  .bland_main_bottom.nelly {
    gap: 40px;
  }
}
.bland_logo {
  display: block;
  background: hsl(0, 0%, 0%);
  width: fit-content;
  transition: opacity 0.3s ease-out;
}
.bland_logo.nelly {
  width: 70%;
}
@media (min-width: 920px) {
  .bland_logo.nelly {
    width: 16.5972222222vw;
  }
}
.bland_logo.nelly img {
  width: 100%;
}
.bland_logo:hover {
  opacity: 0.6;
}
.bland_logo_top.objet {
  width: 250px;
}
@media (min-width: 920px) {
  .bland_logo_top.objet {
    width: 19.0277777778vw;
  }
}
.bland_logo_top.nelly {
  width: 250px;
}
@media (min-width: 920px) {
  .bland_logo_top.nelly {
    width: 17.3611111111vw;
  }
}
.bland_bottom {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 920px) {
  .bland_bottom {
    gap: 4.1666666667vw;
  }
}
.bland_bottom_wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 80px;
}
@media (min-width: 920px) {
  .bland_bottom_wrap {
    margin-top: 10.9722222222vw;
    padding: 0 11.6666666667vw 0 7.2222222222vw;
  }
}

.sns_list {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 20px 0;
}
@media (min-width: 920px) {
  .sns_list {
    margin: 34px 0;
  }
}

.sns_icon {
  transition: opacity 0.3s ease-out;
}
.sns_icon:hover {
  opacity: 0.6;
}
.sns_icon_wrap {
  display: flex;
  align-items: center;
  gap: 15px;
}
.sns_icon_wrap.maison {
  margin-top: 21px;
}
.sns_icon_wrap.nelly {
  margin-top: 14px;
  width: fit-content;
}

.common_link_text.pink {
  color: hsl(334, 100%, 50%);
  background-image: linear-gradient(to right, hsl(334, 100%, 50%), hsl(334, 100%, 50%));
}

.maison_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: -0.02em;
  vertical-align: middle;
  overflow-wrap: break-word;
  word-break: normal;
  text-align: justify;
  overflow-wrap: break-word;
  word-break: normal;
}
@media (min-width: 920px) {
  .maison_txt {
    font-size: max(1.1111111111vw, 14px);
  }
}
.maison_txt .br_pc {
  display: none;
}
@media (min-width: 920px) {
  .maison_txt .br_pc {
    display: block;
  }
}
.maison_txt_wrap.pc {
  display: none;
}
@media (min-width: 920px) {
  .maison_txt_wrap.pc {
    display: block;
  }
}
@media (min-width: 920px) {
  .maison_txt_wrap.sp {
    display: none;
  }
}
.maison_link {
  display: block;
}
@media (min-width: 1080px) {
  .maison_link:nth-child(2) {
    margin-top: 25px;
  }
}
@media (min-width: 1080px) {
  .maison_link:nth-child(3) {
    margin-top: 33px;
  }
}
.maison_link img {
  width: 100%;
  max-width: none;
}
.maison_link_wrap {
  display: flex;
  gap: 16px;
  width: 100%;
}
@media (min-width: 600px) {
  .maison_link_wrap {
    width: 70%;
    min-width: 100px;
    gap: 20px;
  }
}
@media (min-width: 1080px) {
  .maison_link_wrap {
    gap: 0;
    flex-direction: column;
    width: 66.3%;
  }
}

.apply_link {
  position: relative;
  display: block;
  flex: 1;
}
.apply_link_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  color: hsl(0, 0%, 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.apply_link_inner span {
  font-family: "Noto Serif JP", serif;
  display: inline-block;
  text-align: center;
}
.apply_link_inner_top {
  font-weight: 600;
  font-size: 18px;
  line-height: 2.14;
  letter-spacing: 0.08em;
}
@media (min-width: 920px) {
  .apply_link_inner_top {
    font-size: 1.6666666667vw;
  }
}
.apply_link_inner_middle {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media (min-width: 920px) {
  .apply_link_inner_middle {
    font-size: max(1.1111111111vw, 12px);
  }
}
@media (min-width: 600px) {
  .apply_link_inner_middle .br_sp {
    display: none;
  }
}
.apply_link_inner_bottom {
  font-weight: 600;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: 0.08em;
  background-image: linear-gradient(to right, hsla(0, 0%, 100%, 0.5), hsla(0, 0%, 100%, 0.5));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: 0;
}
@media (min-width: 920px) {
  .apply_link_inner_bottom {
    font-size: max(1.1111111111vw, 12px);
  }
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}
.apply_link_inner_bottom.bottom01 {
  margin-top: 24px;
}
@media (min-width: 920px) {
  .apply_link_inner_bottom.bottom01 {
    margin-top: 3.125vw;
  }
}
.apply_link_inner_bottom.bottom02 {
  margin-top: 16px;
}
@media (min-width: 920px) {
  .apply_link_inner_bottom.bottom02 {
    margin-top: 1.6666666667vw;
  }
}
.apply_link:hover .apply_link_img img {
  transform: scale(1.05);
}
.apply_link:hover .apply_link_inner_bottom {
  animation: linkLineReverse 0.6s ease-out forwards;
}
.apply_link_container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 80px;
  padding: 0 20px;
}
@media (min-width: 600px) {
  .apply_link_container {
    width: 70%;
    margin: 0 auto 80px;
  }
}
@media (min-width: 920px) {
  .apply_link_container {
    width: 100%;
    margin: 0 0 13.3333333333vw;
    flex-direction: row;
    gap: 21px;
    padding: 0 9.7916666667vw 0 10.9027777778vw;
  }
}
.apply_link_wrap {
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex: 1;
}
.apply_link_wrap_bottom_txt {
  font-weight: 400;
  font-size: 10px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .apply_link_wrap_bottom_txt {
    font-size: max(0.6944444444vw, 10px);
  }
}
.apply_link_img {
  overflow: hidden;
  display: block;
}
.apply_link_img img {
  width: 100%;
  height: 100%;
  max-width: none;
  objet-fit: cover;
  transition: transform 0.6s ease-out;
}

.objet_main {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin: 60px 0;
}
@media (min-width: 1080px) {
  .objet_main {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin: 6.5972222222vw 0 8.6111111111vw;
  }
}
@media (min-width: 1200px) {
  .objet_main {
    padding: 0 2.2916666667vw 0 6.4583333333vw;
  }
}
.objet_main_top {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 920px) {
  .objet_main_top {
    gap: 57px;
  }
}
.objet_ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 2.14;
  letter-spacing: 0.08em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .objet_ttl {
    font-size: 1.6666666667vw;
  }
}
.objet_ttl_wrap {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (min-width: 920px) {
  .objet_ttl_wrap {
    gap: 1.5972222222vw;
  }
}
.objet_ttl_border {
  width: 36px;
  height: 1px;
  background: hsl(0, 0%, 0%);
}
@media (min-width: 920px) {
  .objet_ttl_border {
    width: 7.0138888889vw;
  }
}
.objet_common_txt {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: 0.08em;
  text-align: justify;
}
@media (min-width: 920px) {
  .objet_common_txt {
    font-size: max(1.1111111111vw, 14px);
  }
}
.objet_common_txt.exhibit_top {
  margin: 12px 0 0;
}
@media (min-width: 920px) {
  .objet_common_txt.exhibit_top {
    margin: 12px 0 0;
  }
}
.objet_common_txt.badge_top {
  margin: 20px 0 40px;
}
@media (min-width: 920px) {
  .objet_common_txt.badge_top {
    margin: 34px 0 49px;
  }
}

.exhibit_section {
  margin-bottom: 100px;
}
@media (min-width: 920px) {
  .exhibit_section {
    margin-bottom: 15.8333333333vw;
  }
}
@media (min-width: 920px) {
  .exhibit_main {
    padding: 0 max(0.625vw, 9px) 0 8.3333333333vw;
  }
}
.exhibit_flow_img_txt {
  position: relative;
  padding-left: 40px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 2.14;
  letter-spacing: 0.08em;
  vertical-align: middle;
  color: hsl(0, 0%, 37%);
}
@media (min-width: 920px) {
  .exhibit_flow_img_txt {
    padding-left: 0;
    padding-bottom: max(2.0833333333vw, 30px);
    font-size: max(1.1111111111vw, 16px);
  }
}
.exhibit_flow_img_txt::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: hsl(0, 1%, 47%);
  border-radius: 999px;
}
@media (min-width: 920px) {
  .exhibit_flow_img_txt::after {
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: max(1.7361111111vw, 25px);
    height: max(1.7361111111vw, 25px);
  }
}
.exhibit_flow_img_txt.complete::after {
  background: hsl(0, 99%, 38%);
}
.exhibit_flow_img_txt_container {
  display: flex;
  flex-direction: column;
  margin-top: 32px;
}
@media (min-width: 920px) {
  .exhibit_flow_img_txt_container {
    flex-direction: row;
    margin-top: 46px;
  }
}
.exhibit_flow_img_txt_wrap {
  padding-bottom: 40px;
  position: relative;
}
@media (min-width: 920px) {
  .exhibit_flow_img_txt_wrap {
    padding-bottom: 0;
    padding-right: max(3.8888888889vw, 56px);
  }
}
.exhibit_flow_img_txt_wrap::before {
  position: absolute;
  content: "";
  top: 10px;
  left: 9px;
  width: 1px;
  height: 100%;
  background: hsl(0, 0%, 65%);
}
@media (min-width: 920px) {
  .exhibit_flow_img_txt_wrap::before {
    top: auto;
    left: 30px;
    bottom: 10px;
    width: 100%;
    height: 1px;
  }
}
.exhibit_flow_img_txt_wrap:last-child {
  padding-bottom: 0;
  padding-right: 0;
}
.exhibit_flow_img_txt_wrap:last-child::before {
  content: none;
}
.exhibit_flow_wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 60px;
}
@media (min-width: 920px) {
  .exhibit_flow_wrap {
    gap: 1.875vw;
    margin-top: 8.75vw;
  }
}
.exhibit_flow_top {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 920px) {
  .exhibit_flow_top {
    gap: 1.875vw;
  }
}
.exhibit_flow_top_detail {
  font-weight: 350;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: -0.02em;
  vertical-align: middle;
  text-align: justify;
}
@media (min-width: 920px) {
  .exhibit_flow_top_detail {
    font-size: max(1.1111111111vw, 14px);
  }
}
.exhibit_flow_top_detail .exhibit_flow_top_detail_bold {
  font-weight: 500;
}
.exhibit_flow_ttl {
  font-weight: 500;
  font-size: 14px;
  line-height: 2;
  letter-spacing: -0.02em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .exhibit_flow_ttl {
    font-size: max(1.1111111111vw, 14px);
  }
}
.exhibit_flow_txt {
  font-weight: 350;
  font-size: 14px;
  line-height: 2;
  letter-spacing: -0.02em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .exhibit_flow_txt {
    font-size: max(1.1111111111vw, 14px);
  }
}
.exhibit_flow_txt_link {
  background-image: linear-gradient(to right, hsl(0, 0%, 0%), hsl(0, 0%, 0%));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: 0;
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}
.exhibit_flow_txt_link:hover {
  animation: linkLineReverse 0.6s ease-out forwards;
}
.exhibit_flow_attention {
  font-weight: 350;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: -0.02em;
  vertical-align: middle;
  padding-left: 18px;
  position: relative;
  margin: 12px 0;
}
@media (min-width: 920px) {
  .exhibit_flow_attention {
    font-size: max(1.1111111111vw, 14px);
    margin: 18px 0 11px 20px;
  }
}
.exhibit_flow_attention::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
}
@media (min-width: 920px) {
  .exhibit_flow_attention::before {
    width: max(1.1111111111vw, 14px);
    height: auto;
  }
}

.badge_section {
  margin-bottom: 100px;
}
@media (min-width: 920px) {
  .badge_section {
    margin-bottom: 13.4027777778vw;
  }
}
@media (min-width: 920px) {
  .badge_main {
    padding: 0 1.5972222222vw 0 8.3333333333vw;
  }
}
.badge_flow_content {
  padding: 20px;
  border: 10px;
  background: hsl(0, 0%, 94%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 10px;
}
@media (min-width: 920px) {
  .badge_flow_content {
    padding: 24px 4px 23px 11px;
  }
}
@media (min-width: 920px) {
  .badge_flow_content.small {
    width: 66.6666666667vw;
  }
}
.badge_flow_content_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.02em;
  text-align: center;
}
@media (min-width: 920px) {
  .badge_flow_content_txt {
    font-size: max(1.1111111111vw, 14px);
  }
}
@media (min-width: 1200px) {
  .badge_flow_content_txt .br_tab {
    display: none;
  }
}
@media (min-width: 768px) {
  .badge_flow_content_txt .br_tab_mid {
    display: none;
  }
}
@media (min-width: 600px) {
  .badge_flow_content_txt .br_sp {
    display: none;
  }
}
.badge_flow_content_txt.bold {
  font-weight: 700;
}
.badge_flow_content_link {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.02em;
  text-align: center;
}
.badge_flow_content_link span {
  background-image: linear-gradient(to right, hsl(0, 0%, 0%), hsl(0, 0%, 0%));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: 0;
}
@media (min-width: 920px) {
  .badge_flow_content_link {
    font-size: max(1.1111111111vw, 14px);
  }
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}
.badge_flow_content_link:hover span {
  animation: linkLineReverse 0.6s ease-out forwards;
}
@media (min-width: 920px) {
  .badge_flow_content_container {
    width: 69.375vw;
  }
}
.badge_flow_content_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 920px) {
  .badge_flow_content_wrap {
    width: 69.375vw;
  }
}
.badge_flow_content_arrow {
  margin: 12px 0;
}
@media (min-width: 920px) {
  .badge_flow_content_arrow {
    margin: 14px 0 9px;
  }
}
@media (min-width: 920px) {
  .badge_flow_content_arrow.first {
    margin: 20px 0 9px;
  }
}
.badge_flow_attention {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: -0.02em;
  text-align: justify;
}
@media (min-width: 920px) {
  .badge_flow_attention {
    font-size: max(0.9722222222vw, 14px);
  }
}
.badge_flow_attention.mark {
  position: relative;
  padding-left: 14px;
}
@media (min-width: 920px) {
  .badge_flow_attention.mark {
    padding-left: max(0.9722222222vw, 14px);
  }
}
.badge_flow_attention.mark::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
  width: max(0.9722222222vw, 14px);
}
.badge_flow_attention_wrap {
  margin-top: 20px;
}
@media (min-width: 920px) {
  .badge_flow_attention_wrap {
    margin-top: 20px;
    margin-left: 15px;
    margin-right: 4px;
  }
}
.badge_flow_attention_wrap.first {
  margin-bottom: 10px;
}

.auth-instruction {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 920px) {
  .auth-instruction {
    gap: 17px;
  }
}
.auth-instruction_ttl {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.33;
  letter-spacing: -0.02em;
}
@media (min-width: 920px) {
  .auth-instruction_ttl {
    font-size: 18px;
    font-size: max(1.25vw, 16px);
  }
}
.auth-instruction_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.813;
  letter-spacing: -0.02em;
  text-align: justify;
}
@media (min-width: 920px) {
  .auth-instruction_txt {
    font-size: max(1.1111111111vw, 14px);
  }
}
.auth-instruction_txt .br_pc {
  display: none;
}
@media (min-width: 920px) {
  .auth-instruction_txt .br_pc {
    display: block;
  }
}
.auth-instruction_wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin: 80px 0 20px;
}
@media (min-width: 920px) {
  .auth-instruction_wrap {
    gap: 89px;
    margin: 126px 0 29px;
  }
}

.nelly_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.68;
  letter-spacing: 0.05em;
  vertical-align: middle;
  text-align: justify;
  overflow-wrap: break-word;
  word-break: normal;
}
@media (min-width: 920px) {
  .nelly_txt {
    font-size: max(1.1111111111vw, 16px);
  }
}
@media (min-width: 920px) {
  .nelly_txt_wrap {
    width: 51.1111111111vw;
  }
}
@media (min-width: 920px) {
  .nelly_txt_wrap_inner.sp {
    display: none;
  }
}
.nelly_txt_wrap_inner.pc {
  display: none;
}
@media (min-width: 920px) {
  .nelly_txt_wrap_inner.pc {
    display: block;
  }
}
.nelly_txt .br_pc {
  display: none;
}
@media (min-width: 1078px) {
  .nelly_txt .br_pc {
    display: block;
  }
}
.nelly_txt_en_wrap {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 920px) {
  .nelly_txt_en_wrap {
    margin-top: max(1.9444444444vw, 28px);
    gap: max(1.875vw, 27px);
  }
}
.nelly_txt.en {
  text-align: left;
  line-height: 2.14;
  letter-spacing: -0.02em;
}
.nelly_txt.en.list_item {
  padding-left: 15px;
  line-height: 2.14;
  letter-spacing: -0.02em;
}
@media (min-width: 920px) {
  .nelly_txt.en.list_item {
    padding-left: 19px;
  }
}
.nelly_txt.bottom {
  line-height: 2.14;
}
.nelly_txt_container {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 920px) {
  .nelly_txt_container {
    gap: 6.25vw;
  }
}
.nelly__ol {
  margin: 0;
  padding-left: 16px;
}
@media (min-width: 920px) {
  .nelly__ol {
    padding-left: max(1.1111111111vw, 16px);
  }
}
.nelly__ol li {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.68;
  letter-spacing: -0.02em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .nelly__ol li {
    font-size: max(1.1111111111vw, 16px);
  }
}

.report_section {
  margin-bottom: 120px;
}
@media (min-width: 920px) {
  .report_section {
    margin-bottom: 120px;
  }
}
.report_content {
  display: flex;
  align-items: center;
  gap: 16px;
}
.report_content_container {
  display: grid;
  grid-template-columns: 1fr;
  /* 1列 */
  grid-auto-flow: row;
  /* 列優先で並べる */
  gap: 20px;
  margin-top: 40px;
}
@media (min-width: 920px) {
  .report_content_container {
    grid-template-columns: repeat(2, 1fr);
    /* 横は2列 */
    grid-template-rows: repeat(5, auto);
    /* 縦は5行 */
    grid-auto-flow: column;
    gap: 2.4305555556vw 5vw;
    margin-top: 2.7083333333vw;
    padding: 0 9.5833333333vw;
  }
}
@media (min-width: 1200px) {
  .report_content_container {
    padding: 0 16.1111111111vw 0 9.5833333333vw;
  }
}
.report_content_ttl {
  font-weight: 350;
  font-size: 16px;
  line-height: 1.44;
  letter-spacing: 0.1;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .report_content_ttl {
    font-size: max(1.3888888889vw, 16px);
  }
}
.report_content_link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.report_content_link:hover .report_content_link_inner {
  animation: linkLineReverse 0.5s ease forwards;
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}
.report_content_link_inner {
  font-weight: 350;
  font-size: 16px;
  line-height: 1.44;
  letter-spacing: 0.1;
  vertical-align: middle;
  background-image: linear-gradient(to right, hsl(0, 0%, 0%), hsl(0, 0%, 0%));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: -2px;
}
@media (min-width: 920px) {
  .report_content_link_inner {
    font-size: max(1.3888888889vw, 16px);
  }
}
.report_content_link_arrow {
  max-width: 24px;
  margin-left: -5px;
}
@media (min-width: 920px) {
  .report_content_link_arrow {
    max-width: none;
    margin-left: -10px;
  }
}
.report_content_link_arrow img {
  max-width: none;
  width: 100%;
}

.work_content {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (min-width: 920px) {
  .work_content {
    gap: max(0.9722222222vw, 14px);
  }
}
.work_content_container {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (min-width: 920px) {
  .work_content_container {
    gap: max(4.7222222222vw, 40px);
  }
}
.work_content_main_ttl {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.68;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
@media (min-width: 920px) {
  .work_content_main_ttl {
    font-size: max(1.6666666667vw, 20px);
  }
}
.work_content_main_ttl_wrap {
  display: flex;
  align-items: center;
  gap: 17px;
}
@media (min-width: 920px) {
  .work_content_main_ttl_wrap {
    gap: max(1.1805555556vw, 17px);
  }
}
.work_content_main_ttl_line {
  width: 100%;
  height: 1px;
  background: hsl(0, 0%, 0%);
}
.work_content_head {
  display: flex;
  flex-direction: column;
}
.work_content_ttl {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.68;
  letter-spacing: 0.05em;
}
@media (min-width: 920px) {
  .work_content_ttl {
    font-size: max(1.1111111111vw, 14px);
  }
}
.work_content_ttl_wrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: left;
  gap: 13px;
}
@media (min-width: 920px) {
  .work_content_ttl_wrap {
    gap: max(0.9027777778vw, 13px);
  }
}
.work_content_ttl_line {
  width: 31px;
  height: 1px;
  background: hsl(0, 0%, 0%);
}
@media (min-width: 920px) {
  .work_content_ttl_line {
    width: max(2.1527777778vw, 31px);
  }
}
.work_content_ttl_jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 2.14;
  letter-spacing: 0.08em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .work_content_ttl_jp {
    font-size: max(1.6666666667vw, 20px);
  }
}
.work_content_bottom {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 31px;
}
@media (min-width: 920px) {
  .work_content_bottom {
    gap: max(1.1111111111vw, 16px);
    margin-top: max(2.1527777778vw, 31px);
  }
}
.work_content_bottom_head {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 1200px) {
  .work_content_bottom_head {
    flex-direction: row;
    gap: max(2.7777777778vw, 20px);
  }
}
@media (min-width: 1200px) {
  .work_content_bottom_head_img {
    width: 50.5%;
  }
}
.work_content_bottom_head_img img {
  max-width: none;
  width: 100%;
}
.work_content_bottom_head .lineUp_ttl {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.68;
  letter-spacing: 0.05em;
  padding-bottom: 9px;
  border-bottom: 1px solid hsl(0, 0%, 0%);
}
@media (min-width: 920px) {
  .work_content_bottom_head .lineUp_ttl {
    font-size: max(1.3888888889vw, 16px);
  }
}
.work_content_bottom_head .lineUp_list_item {
  font-weight: 400;
  font-size: 14px;
  line-height: 2.09;
  letter-spacing: -0.02em;
}
@media (min-width: 920px) {
  .work_content_bottom_head .lineUp_list_item {
    font-size: max(1.1111111111vw, 14px);
  }
}
.work_content_bottom_head .lineUp_list_item .bold {
  font-weight: 700;
}
.work_content_bottom_head .lineUp_list_item .small {
  font-size: 12px;
}
@media (min-width: 920px) {
  .work_content_bottom_head .lineUp_list_item .small {
    font-size: max(0.9722222222vw, 14px);
  }
}
.work_content_bottom_head .lineUp_list_wrap {
  display: flex;
  flex-direction: column;
  gap: 11px;
  flex: 1;
}
@media (min-width: 920px) {
  .work_content_bottom_head .lineUp_list_wrap {
    gap: max(0.7638888889vw, 11px);
  }
}

.nelly_work_content_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: -0.02em;
}
@media (min-width: 920px) {
  .nelly_work_content_txt {
    font-size: max(1.1111111111vw, 14px);
  }
}

.news_archive_list {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 80px;
}
@media (min-width: 920px) {
  .news_archive_list {
    gap: 3.4027777778vw;
    margin-top: 7.1527777778vw;
    padding: 0 4.7222222222vw 0 20.2083333333vw;
  }
}
.news_archive_list_item_link {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 920px) {
  .news_archive_list_item_link {
    flex-direction: row;
    align-items: flex-start;
    gap: max(1.9444444444vw, 28px);
  }
}
.news_archive_list_item_link:hover .news_archive_list_item_title span {
  background-size: 100% 1px;
}
.news_archive_list_item_day__line {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}
@media (min-width: 920px) {
  .news_archive_list_item_day__line {
    flex-direction: row;
    align-items: center;
    gap: max(1.25vw, 18px);
  }
}
.news_archive_list_item_date {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .news_archive_list_item_date {
    font-size: max(1.1111111111vw, 16px);
  }
}
.news_archive_list_item_line {
  display: block;
  width: 94px;
  height: 1px;
  background: #000000;
}
@media (min-width: 920px) {
  .news_archive_list_item_line {
    width: max(7.0138888889vw, 101px);
  }
}
.news_archive_list_item_title {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.57;
  letter-spacing: 0.1em;
  flex: 1;
}
@media (min-width: 920px) {
  .news_archive_list_item_title {
    font-size: max(1.1111111111vw, 16px);
  }
}
.news_archive_list_item_title span {
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size 0.4s ease;
}

.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 80px;
}
@media (min-width: 920px) {
  .nav-links {
    gap: max(0.9722222222vw, 14px);
    margin-top: 7.6388888889vw;
  }
}

.page-numbers {
  color: #858585;
  font-weight: 400;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .page-numbers {
    font-size: max(1.3888888889vw, 20px);
  }
}
.page-numbers.prev {
  margin-right: 13px;
}
@media (min-width: 920px) {
  .page-numbers.prev {
    margin-right: max(0.9027777778vw, 13px);
  }
}
.page-numbers.next {
  margin-left: 13px;
}
@media (min-width: 920px) {
  .page-numbers.next {
    margin-left: max(0.9027777778vw, 13px);
  }
}
@media (min-width: 920px) {
  .page-numbers svg {
    width: max(1.6666666667vw, 24px);
  }
}

@media (min-width: 920px) {
  .news_post_main {
    padding: 0 17.7777777778vw 0 6.875vw;
  }
}

.news_post_contents {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 920px) {
  .news_post_contents {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8.5416666667vw;
  }
}
.news_post_contents .post_date {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
  flex-shrink: 0;
  white-space: nowrap;
}
@media (min-width: 920px) {
  .news_post_contents .post_date {
    font-size: max(1.1111111111vw, 16px);
  }
}
.news_post_contents .post_title {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.47;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .news_post_contents .post_title {
    font-size: max(1.6666666667vw, 18px);
  }
}
.news_post_contents .post_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  margin-top: 40px;
  margin-bottom: 80px;
}
@media (min-width: 920px) {
  .news_post_contents .post_main {
    gap: 3.6805555556vw;
    margin-top: 3.6805555556vw;
    margin-bottom: 10.5555555556vw;
  }
}
.news_post_contents .post_body_wrap {
  display: flex;
  flex-direction: column;
  gap: 62px;
}
.news_post_contents .post_body > :first-child {
  margin-top: 0 !important;
}
.news_post_contents .post_body p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.79;
  letter-spacing: 0.1em;
  margin-top: 16px;
}
@media (min-width: 920px) {
  .news_post_contents .post_body p {
    font-size: max(1.1111111111vw, 14px);
    margin-top: max(2.2222222222vw, 20px);
  }
}
.news_post_contents .post_body a {
  font-weight: 400;
  font-size: 14px;
  line-height: 2.14;
  letter-spacing: -0.02em;
  vertical-align: middle;
  background-image: linear-gradient(to right, hsl(0, 0%, 0%), hsl(0, 0%, 0%));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: 1px;
}
@media (min-width: 920px) {
  .news_post_contents .post_body a {
    font-size: 16px;
  }
}
.news_post_contents .post_body a:hover {
  animation: linkLineReverse 0.5s ease forwards;
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}
.news_post_contents .post_body a strong {
  font-weight: 700;
  font-size: 16px;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .news_post_contents .post_body a strong {
    font-size: 18px;
  }
}
.news_post_contents .post_body figure {
  width: 90%;
  margin: 20px auto 0;
}
@media (min-width: 768px) {
  .news_post_contents .post_body figure {
    width: 60%;
    margin: 40px auto 0;
  }
}
@media (min-width: 920px) {
  .news_post_contents .post_body figure {
    width: 50%;
    margin: max(2.7777777778vw, 20px) auto 0;
  }
}
.news_post_contents .post_body figure img {
  max-width: none;
  width: 100%;
}
.news_post_contents .post_body h2 {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  margin-top: 32px;
}
@media (min-width: 920px) {
  .news_post_contents .post_body h2 {
    font-size: max(1.6666666667vw, 20px);
    margin-top: 5.5555555556vw;
  }
}
.news_post_contents .post_body h3 {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  position: relative;
  padding-bottom: 4px;
  margin-top: 32px;
}
@media (min-width: 920px) {
  .news_post_contents .post_body h3 {
    font-size: max(1.3888888889vw, 18px);
    padding-bottom: max(0.2777777778vw, 4px);
    margin-top: 5.5555555556vw;
  }
}
.news_post_contents .post_body h3::before {
  position: absolute;
  content: "";
  width: 50px;
  height: 2px;
  background: hsl(0, 0%, 52%);
  bottom: 0;
  left: 0;
  border-radius: 999px;
}
@media (min-width: 920px) {
  .news_post_contents .post_body h3::before {
    width: max(5.5555555556vw, 50px);
  }
}
.news_post_contents .post_body h4 {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 32px;
  padding-left: 8px;
  position: relative;
}
@media (min-width: 920px) {
  .news_post_contents .post_body h4 {
    font-size: max(1.25vw, 16px);
    margin-top: 5.5555555556vw;
  }
}
.news_post_contents .post_body h4::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background-color: hsl(0, 0%, 52%);
  border-radius: 999px;
}
.news_post_contents .post_body .wp-block-video {
  width: 90%;
  margin: 20px auto 0;
}
@media (min-width: 768px) {
  .news_post_contents .post_body .wp-block-video {
    width: 60%;
    margin: 40px auto 0;
  }
}
@media (min-width: 920px) {
  .news_post_contents .post_body .wp-block-video {
    width: 50%;
    margin: max(2.7777777778vw, 20px) auto 0;
  }
}
.news_post_contents .post_body .wp-block-embed-youtube {
  width: 90%;
  margin: 20px auto 0;
}
@media (min-width: 768px) {
  .news_post_contents .post_body .wp-block-embed-youtube {
    width: 60%;
    margin: 40px auto 0;
  }
}
@media (min-width: 920px) {
  .news_post_contents .post_body .wp-block-embed-youtube {
    width: 50%;
    margin: max(2.7777777778vw, 20px) auto 0;
  }
}
.news_post_contents .post_body .wp-block-embed-youtube iframe {
  width: 100%;
}
.news_post_contents .post_body .wp-element-caption {
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  margin: 12px 0 0;
}
@media (min-width: 920px) {
  .news_post_contents .post_body .wp-element-caption {
    margin: max(0.8333333333vw, 12px) 0 0;
    font-size: max(0.9722222222vw, 14px);
  }
}
@media (min-width: 920px) {
  .news_post_contents .post_thumbnail {
    width: 44.3%;
  }
}

.activity_section {
  background: hsl(0, 0%, 100%);
  padding: 20.5128205128vw 0 0;
  position: relative;
}
@media (min-width: 920px) {
  .activity_section {
    padding: 23.6805555556vw 0 0;
  }
}
.activity_ttl {
  width: 46.6666666667vw;
}
@media (min-width: 920px) {
  .activity_ttl {
    width: 40.4166666667vw;
  }
}
.activity_ttl_container {
  padding: 0 7px;
  padding: 0 1.7948717949vw;
}
@media (min-width: 920px) {
  .activity_ttl_container {
    padding: 0 5.4861111111vw;
  }
}
.activity_container {
  position: relative;
  background: hsl(0, 0%, 100%);
  margin-top: 16.4102564103vw;
}
@media (min-width: 920px) {
  .activity_container {
    margin-top: 7.7083333333vw;
  }
}
.activity_main {
  padding: 7.4358974359vw 20px 167.9487179487vw;
  display: flex;
  flex-direction: column;
  gap: 106.4102564103vw;
}
@media (min-width: 920px) {
  .activity_main {
    padding: max(7.0833333333vw, 78px) 6.25vw 12.5694444444vw 9.7222222222vw;
    gap: 11.8055555556vw;
  }
}
@media (min-width: 1200px) {
  .activity_main {
    padding: max(7.0833333333vw, 78px) 8.2638888889vw 7.3611111111vw 8.6805555556vw;
    gap: 11.8055555556vw;
  }
}
.activity_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 2.24;
  letter-spacing: -0.05em;
  vertical-align: middle;
  text-align: justify;
}
@media (min-width: 920px) {
  .activity_txt {
    letter-spacing: -0.02em;
    font-size: 1.1111111111vw;
  }
}
.activity_txt .br_pc {
  display: none;
}
@media (min-width: 920px) {
  .activity_txt .br_pc {
    display: block;
  }
}
@media (min-width: 920px) {
  .activity_txt.sp {
    display: none;
  }
}
.activity_txt.pc {
  display: none;
}
@media (min-width: 920px) {
  .activity_txt.pc {
    display: block;
  }
}
.activity_txt.en {
  font-weight: 300;
  letter-spacing: -0.02em;
}
@media (min-width: 920px) {
  .activity_txt.en {
    line-height: 2.29;
  }
}
.activity_txt_container {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (min-width: 920px) {
  .activity_txt_container {
    flex-direction: row;
    align-items: flex-end;
    gap: 6.25vw;
  }
}
@media (min-width: 920px) {
  .activity_txt_container.en {
    gap: max(1.3888888889vw, 20px);
  }
}
.activity_txt_wrap {
  display: flex;
  flex-direction: column;
}
@media (min-width: 920px) {
  .activity_txt_wrap {
    width: 40.9027777778vw;
  }
}
@media (min-width: 920px) {
  .activity_txt_wrap.en {
    width: 39.7222222222vw;
    margin: 0 0 0 27.5694444444vw;
  }
}
.activity_txt_inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 920px) {
  .activity_txt_inner {
    gap: 2.3611111111vw;
  }
}
@media (min-width: 920px) {
  .activity_txt_inner.en {
    gap: 2.7777777778vw;
  }
}
.activity_txt.en {
  line-height: 2.29;
  overflow-wrap: break-word;
  word-break: normal;
  text-align: left;
}
.activity_img {
  position: absolute;
}
.activity_img_txt {
  font-weight: 300;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: -0.02em;
  vertical-align: middle;
  overflow-wrap: break-word;
  word-break: normal;
}
@media (min-width: 920px) {
  .activity_img_txt {
    font-size: max(0.6944444444vw, 10px);
  }
}
@media (min-width: 920px) {
  .activity_img_txt br_sp {
    display: none;
  }
}
.activity_img_txt.img_02 {
  margin-top: -2px;
}
@media (min-width: 920px) {
  .activity_img_txt.img_02 {
    margin-top: 8px;
    margin-left: 51px;
  }
}
.activity_img_txt.img_03 {
  margin-top: -8px;
  margin-left: 11.2820512821vw;
}
@media (min-width: 920px) {
  .activity_img_txt.img_03 {
    margin-top: -8px;
    margin-left: 3.75vw;
  }
}
.activity_img img {
  max-width: none;
  width: 100%;
}
.activity_img.img_01 {
  top: 0;
  margin-top: -27.6923076923%;
  right: 20px;
  width: 47.4358974359vw;
}
@media (min-width: 920px) {
  .activity_img.img_01 {
    margin-top: 0;
    top: -9.375%;
    right: 8.5417%;
    width: 35.9722222222vw;
  }
}
.activity_img.img_02 {
  bottom: 200px;
  bottom: 53.9167%;
  left: 20px;
  width: 52.5641025641vw;
}
@media (min-width: 768px) {
  .activity_img.img_02 {
    bottom: 55.9167%;
  }
}
@media (min-width: 920px) {
  .activity_img.img_02 {
    margin-bottom: 0;
    bottom: 10.625%;
    left: 0;
    width: 31.0416666667vw;
  }
}
.activity_img.img_03 {
  bottom: 31.0256410256vw;
  left: 39px;
  width: 74.6153846154vw;
}
@media (min-width: 920px) {
  .activity_img.img_03 {
    bottom: 21.875%;
    right: 6.1111%;
    width: 20.2083333333vw;
    left: auto;
  }
}

/* 最初は元の色 */
.color-change-trigger {
  background-color: #ffffff;
  /* ▼ 変化の時間を長く（0.5s → 1s など）して、ふわっと変化させる */
  transition: background-color 1s ease-out;
}

/* クラスがついたら色を変更 */
.color-change-trigger.is-scrolled {
  background-color: #DFE0E2;
}

.top_banner {
  padding: 36px 20px 50px;
}
@media (min-width: 600px) {
  .top_banner {
    padding: 80px 20px;
  }
}
@media (min-width: 920px) {
  .top_banner {
    padding: 5.2083333333vw 40px 6.1111111111vw;
  }
}
.top_banner_btn {
  display: block;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
  transition: box-shadow 0.3s ease-out;
  width: 76.1538461538vw;
  margin: 0 auto;
}
@media (min-width: 920px) {
  .top_banner_btn {
    width: 38.3333333333vw;
  }
}
.top_banner_btn:hover {
  box-shadow: none;
}

@media (min-width: 920px) {
  .privacy_policy_main {
    padding: 0 10vw 0 10.2083333333vw;
  }
}
.privacy_policy_head {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media (min-width: 920px) {
  .privacy_policy_head {
    gap: max(3.2638888889vw, 47px);
  }
}
.privacy_policy_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.69;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .privacy_policy_txt {
    font-size: max(0.9722222222vw, 14px);
  }
}
.privacy_policy_txt_top {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .privacy_policy_txt_top {
    font-size: max(0.9722222222vw, 14px);
  }
}
.privacy_policy_txt_container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 35px;
}
@media (min-width: 920px) {
  .privacy_policy_txt_container {
    gap: max(1.6666666667vw, 24px);
    margin-top: max(2.4305555556vw, 35px);
  }
}
.privacy_policy_txt_wrap:nth-child(n+2) {
  margin-top: 9px;
}
@media (min-width: 920px) {
  .privacy_policy_txt_wrap:nth-child(n+2) {
    margin-top: max(0.625vw, 9px);
  }
}
.privacy_policy_list_item {
  position: relative;
  padding-left: max(1.6666666667vw, 24px);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.69;
  letter-spacing: 0.1em;
}
@media (min-width: 920px) {
  .privacy_policy_list_item {
    font-size: max(0.9722222222vw, 14px);
  }
}
.privacy_policy_list_item::before {
  position: absolute;
  content: "";
  top: 9px;
  left: 9px;
  width: 4px;
  height: 4px;
  background: #000000;
  border-radius: 999px;
}
@media (min-width: 920px) {
  .privacy_policy_list_item::before {
    top: max(0.625vw, 9px);
    left: max(0.625vw, 9px);
    width: max(0.2777777778vw, 4px);
    height: max(0.2777777778vw, 4px);
  }
}

.to_contact {
  background-image: linear-gradient(to right, hsl(0, 0%, 0%), hsl(0, 0%, 0%));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: 0;
}
.to_contact:hover {
  animation: linkLineReverse 0.5s ease forwards;
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}

.contact_head {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media (min-width: 920px) {
  .contact_head {
    gap: max(1.25vw, 18px);
    padding: 0 6.875vw;
  }
}
.contact_head_txt {
  color: hsl(0, 0%, 65%);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .contact_head_txt {
    font-size: max(1.1111111111vw, 16px);
  }
}
.contact_head_txt .asterisk {
  color: hsl(0, 100%, 50%);
}
.contact_head_txt .text {
  font-size: 18px;
}
@media (min-width: 920px) {
  .contact_head_txt .text {
    font-size: max(1.25vw, 18px);
  }
}
.contact_head_txt .space {
  font-size: 16px;
}
@media (min-width: 920px) {
  .contact_head_txt .space {
    font-size: max(1.1111111111vw, 16px);
  }
}

.contact_form {
  margin-top: 60px;
}
@media (min-width: 920px) {
  .contact_form {
    padding: 0 40px;
    margin-top: 6.25vw;
  }
}
.contact_form_container {
  width: 100%;
}
@media (min-width: 920px) {
  .contact_form_container {
    width: 57.0833333333vw;
    margin: 0 auto;
  }
}
.contact_form_container {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 920px) {
  .contact_form_container {
    gap: 2.1527777778vw;
  }
}
.contact_form_wrap {
  display: flex;
  flex-direction: column;
  gap: 21px;
}
.contact_form_txt {
  color: hsl(0, 0%, 65%);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .contact_form_txt {
    font-size: max(1.1111111111vw, 16px);
  }
}
.contact_form_txt span {
  color: hsl(0, 100%, 50%);
}
.contact_form_example_txt {
  color: hsl(0, 0%, 65%);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .contact_form_example_txt {
    font-size: 0.9722222222vw;
  }
}

.wpcf7-select,
.wpcf7-text,
.wpcf7-email,
.wpcf7-textarea {
  width: 100%;
  border: 1px solid hsl(0, 0%, 85%);
  border-radius: none;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  vertical-align: middle;
}

.wpcf7-select,
.wpcf7-text,
.wpcf7-email,
.wpcf7-textarea {
  padding: 13px 16px;
}

@media (min-width: 920px) {
  .wpcf7-textarea {
    height: 10.2083333333vw;
  }
}

/* 1. ラッパーに相対位置を設定 */
.select_wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  /* 必要に応じて調整 */
}

/* 2. デフォルトの矢印を消す */
.wpcf7-select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
  /* これを追加 */
  background: none !important;
}

/* 3. divに背景画像（矢印）を指定 */
.select_wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 21px;
  /* 右端からの距離 */
  width: 17px;
  /* 画像の幅 */
  height: 17px;
  /* 画像の高さ */
  background-image: url("../img/contact/select_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  /* クリックを透過させる */
  transform: translateY(-50%);
}

.acceptance_wrap {
  display: flex;
  flex-direction: column;
  gap: 21px;
  margin-top: 34px;
}
.acceptance_wrap .wpcf7-form-control-wrap {
  display: flex;
  justify-content: center;
  color: hsl(0, 0%, 65%);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.57;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (min-width: 390px) {
  .acceptance_wrap .wpcf7-form-control-wrap {
    text-align: left;
  }
}
@media (min-width: 390px) {
  .acceptance_wrap .wpcf7-form-control-wrap .br_sp {
    display: none;
  }
}
.acceptance_txt {
  color: hsl(0, 0%, 65%);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.57;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
}
@media (min-width: 920px) {
  .acceptance_txt .br_tab {
    display: none;
  }
}
@media (min-width: 600px) {
  .acceptance_txt .br_sp {
    display: none;
  }
}

/* 1. チェックボックスと文字を囲む要素をリセットし、中央揃えを強制 */
.wpcf7-list-item {
  display: flex !important;
  align-items: center !important;
  /* これで縦のズレが消えます */
  margin: 0 !important;
}
.wpcf7-list-item label {
  display: flex;
  align-items: center;
  color: hsl(0, 0%, 52%);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.57;
  letter-spacing: 0.1em;
  text-align: left;
}

/* 2. チェックボックスのカスタムデザイン */
.wpcf7-acceptance input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 21px;
  height: 21px;
  border: 1px solid hsl(0, 0%, 52%);
  border-radius: 4px;
  margin: 0 11px 0 0 !important;
  /* 右側に余白 */
  flex-shrink: 0;
  /* これがないと枠が潰れます */
  cursor: pointer;
  position: relative;
  background-color: hsl(0, 0%, 100%);
  transition: 0.2s;
}
.wpcf7-acceptance input[type=checkbox]:checked {
  background-color: hsl(0, 0%, 0%);
  border-color: hsl(0, 0%, 0%);
  /* ここから下を追記：白いチェックマークの描画 */
}
.wpcf7-acceptance input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  /* 上からの位置微調整 */
  left: 7px;
  /* 左からの位置微調整 */
  width: 5px;
  /* チェックマークの幅 */
  height: 9px;
  /* チェックマークの高さ */
  border-right: 2px solid #fff;
  /* 白い線（右側） */
  border-bottom: 2px solid #fff;
  /* 白い線（下側） */
  transform: rotate(45deg);
  /* 斜めにしてチェックの形にする */
}

/* 3. ラベル（文章）の行高を調整 */
.wpcf7-list-item-label {
  display: block;
  margin: 0 !important;
  line-height: 1.5;
  /* ここを調整すれば文字の太さやサイズが変わっても追従します */
  cursor: pointer;
}

.privacy_link {
  background-image: linear-gradient(to right, hsl(0, 0%, 65%), hsl(0, 0%, 65%));
  /* 線の色 */
  background-size: 100% 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  /* 背景を繰り返さない */
  padding-bottom: 0;
}
.privacy_link:hover {
  animation: linkLineReverse 0.5s ease forwards;
}
@keyframes linkLineReverse {
  0% {
    background-size: 100% 1px;
    background-position: bottom right;
  }
  50% {
    background-size: 0 1px;
    /* 幅(100%=文字の長さ) | 高さ(線の太さ) */
    background-position: bottom right;
  }
  51% {
    background-position: bottom left;
  }
  100% {
    background-size: 100% 1px;
  }
}

.wpcf7-submit {
  margin: 0 auto;
  display: block;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 0.1em;
  background: hsl(0, 0%, 65%);
  color: hsl(0, 0%, 100%);
  border: none;
  box-shadow: none;
  border-radius: 999px;
  padding: 15px 80px 14px;
  margin-top: 60px;
}
@media (min-width: 920px) {
  .wpcf7-submit {
    font-size: max(1.3888888889vw, 20px);
    padding: max(1.0416666667vw, 15px) 7.5694444444vw max(0.9722222222vw, 14px);
    margin-top: 5vw;
  }
}

.wpcf7-spinner {
  display: none !important;
}

/* 送信ボタンの共通設定（サイズやフォントなど） */
#submit-btn {
  transition: background-color 0.3s ease-out;
  border: none;
  cursor: pointer;
}

/* 無効状態（チェックが入っていない時） */
#submit-btn:disabled {
  background-color: hsl(0, 0%, 65%);
  cursor: not-allowed;
  opacity: 0.7;
}

/* 有効状態（チェックが入った時） */
#submit-btn:not(:disabled) {
  background-color: hsl(0, 0%, 0%);
}

/* ホバー時の装飾 */
#submit-btn:not(:disabled):hover {
  background-color: #666666;
}

.thanks_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
@media (min-width: 920px) {
  .thanks_main {
    gap: max(4.1666666667vw, 40px);
  }
}
.thanks_main_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
}
@media (min-width: 920px) {
  .thanks_main_inner {
    gap: max(2.7777777778vw, 20px);
  }
}
.thanks_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
@media (min-width: 920px) {
  .thanks_head {
    gap: max(1.1111111111vw, 12px);
  }
}
.thanks_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  background: #A7A7A7;
  border-radius: 12px;
  padding: 40px 20px;
  width: 100%;
}
@media (min-width: 920px) {
  .thanks_box {
    padding: max(2.7777777778vw, 40px) max(4.1666666667vw, 60px);
    width: auto;
  }
}
.thanks_box_ttl {
  font-weight: 700;
  font-size: 18px;
  line-height: 2;
}
@media (min-width: 920px) {
  .thanks_box_ttl {
    font-size: max(0.3888888889vw, 18px);
  }
}
.thanks_ttl {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  text-align: center;
}
@media (min-width: 920px) {
  .thanks_ttl {
    font-size: max(2.2222222222vw, 24px);
  }
}
.thanks_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.75;
  text-align: center;
}
@media (min-width: 920px) {
  .thanks_txt {
    font-size: max(1.1111111111vw, 14px);
  }
}
@media (min-width: 920px) {
  .thanks_txt .sp {
    display: none;
  }
}
@media (min-width: 600px) {
  .thanks_txt .thanks_box_br_sp {
    display: none;
  }
}/*# sourceMappingURL=base.css.map */