@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Dela+Gothic+One&family=Noto+Sans+JP:wght@100..900&family=WDXL+Lubrifont+JP+N&display=swap');

:root {
  --font-noto: 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  --font-wdxl: 'WDXL Lubrifont JP N', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  --font-dela: "Dela Gothic One", 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}

.font--noto,
.font--noto * {
  font-family: var(--font-noto);
}
.font--dela,
.font--dela * {
  font-family: var(--font-dela);
}
button {
  cursor: pointer;
}
.float-wrap {
  display: none;
}


/** ============================================================
 * CMS用追加
 * ========================================================== */
.bootstrap a{
  color: #272727;
}
.bootstrap a:hover,
.bootstrap a:focus{
  color: #bc2739;
  text-decoration: none;
}
.bootstrap a.oval-link{
  text-decoration: none;
}
.bootstrap a.oval-link--border--red{
  color: #bc2739;
}
.bootstrap a.oval-link--red{
  background: #bc2739;
}
.bootstrap .text-underline{
  text-decoration: underline!important;
  transition: all 0.25s;
}
.bootstrap .text-underline:hover,
.bootstrap .text-underline:focus {
  color: #bc2739;
  text-decoration: none!important;
}
.bootstrap p{
  margin-bottom: 0;
}
.node__content{
  margin-top: 0;
}


/** ============================================================
 * メニュー
 * ========================================================== */
.side-logo {
  display: none;
}

/* 1173px以下：ボタンから全画面メニューを開く */
.side-menu {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 9900;
}

.side-menu__toggle {
  position: relative;
  z-index: 9900;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border: 1px solid rgb(226 255 201 / 50%);
  border-radius: 8px!important;
  background: no-repeat;
}
.side-menu__label {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 8px;
}
.side-menu__label::before,
.side-menu__label::after {
  content: "";
  position: absolute;
  left: 0;
  display: inline-block;
  width: 25px;
  height: 1px;
  background: #E2FFC9;
  transition: transform 0.3s ease-out;
}
.side-menu__label::before {
  top: 0;
}
.side-menu__label::after {
  bottom: 0;
}
.is-open .side-menu__label::before {
  top: 3.5px;
  transform: rotate(18deg);
}
.is-open .side-menu__label::after {
  bottom: 3.5px;
  transform: rotate(-18deg);
}

.side-menu__nav {
  position: fixed;
  inset: 0;
  z-index: 9850;
  background: #000;
  display: none!important;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.side-menu.is-open .side-menu__nav {
  display: block!important;
}

.side-menu__list {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  min-height: 100%;
  height: auto;
  box-sizing: border-box;
  padding: 24px 36px;
}
.side-menu__item {
  display: block;
  width: 100%;
}
.side-menu__item--pc {
  display: none;
}
.side-menu__item a,
.side-menu__item button {
  position: relative;
  display: block;
  width: 100%;
  min-height: 64px;
  padding: 24px 17px 24px 17px;
  border-radius: 8px;
  font-weight: 500;
  line-height: 1;
}
.side-menu__item a:not(.square-button) {
  color: #E2FFC9!important;
  border: 1px solid rgb(226 255 201 / 0.5);
  background: #000!important;
}
.side-menu__item a img {
  position: absolute;
  top: 50%;
  right: 5px  ;
  transform: translateY(-50%);
  width: 60px;
}
.side-menu__item a:not(.square-button):hover {
  box-shadow: 0 0 12px #E2FFC9;
  background: rgb(226 255 201 / 20%);
}
.side-menu__item .square-button {
  height: auto;
  padding: 14px 17px 14px 17px;
  text-align: left;
}
.side-menu__item .square-button--border::before,
.side-menu__item .square-button--border::after {
  right: 24px;
  width: 20px;
  height: 15px;
}
.side-menu__item .fixed-btn--sub {
  font-size: 13px;
}


/* 1326px以上：ロゴ・本体・メニューを並べる */
@media (min-width: 1326px) {
  .lp {
    position: relative;
  }

  .side-logo {
    position: fixed;
    top: 50%;
    left: calc((50% - 645px));
    display: block;
    width: 323px;
    transform: translateY(-50%);
    z-index: 10;
  }

  .side-logo img {
    display: block;
    width: 100%;
    max-height: calc(100vh - 96px);
    height: auto;
    object-fit: contain;
  }

  .side-menu {
    top: 35px;
    bottom: 35px;
    right: auto;
    left: calc(50% + 344px);
    width: 329px;
    display: flex;
    align-items: center;
    transform: none;
  }

  .lp.is-side-sticky-released .side-logo,
  .lp.is-side-sticky-released .side-menu {
    position: absolute;
    transform: translateY(-50%);
  }

  .lp.is-side-sticky-released .pc-bg.character-motion {
    position: absolute;
  }

  .lp.is-side-sticky-released .side-menu__nav {
    height: calc(100vh - 70px);
    max-height: calc(100vh - 70px);
    overflow-y: auto;
  }

  .side-menu__toggle {
    display: none;
  }
  .side-menu__nav {
    position: static;
    display: flex !important;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    margin: auto 0;
    padding: 0 10px 0 24px;
    box-sizing: border-box;
    background: transparent;
    overflow-y: auto;
  }

  .side-menu__list {
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 0;
  }
  .side-menu__item--pc {
    display: block;
  }

}

@supports (height: 100dvh) {
  @media (min-width: 1326px) {
    .side-logo img {
      max-height: calc(100dvh - 96px);
    }

    .lp.is-side-sticky-released .side-menu__nav {
      height: calc(100dvh - 70px);
      max-height: calc(100dvh - 70px);
    }
  }
}


.pc-bg {
  display: none;
}
.lp {
  background: #0F0F17;
  font-family: var(--font-wdxl);
}
.lp-main {
  max-width: 500px;
  margin: 0 auto;
  padding: 0 0 229px;
  background: url(/sites/default/files/media/nameless_stresses/image/lp_btm_img.webp) no-repeat bottom / contain;
}
.lp-inner {
  padding: 0 30px;
}
.lp-block {
  margin: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .lp-block.js-fade {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

  .lp-block.js-fade.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (min-width: 500px) {
  .lp-main {
    padding-bottom: calc(min(100vw, 500px) * 0.5872);
  }
}
@media screen and (min-width: 1326px) {

  .lp {
    isolation: isolate;
  }

  .lp-main {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 100vh;
    margin: 0 auto;
    padding-top: 122px;
    overflow: hidden;
  }
}

@media screen and (min-width: 1326px) {
  .lp {
    background:
      url(/sites/default/files/media/nameless_stresses/image/graphic-pc.webp) repeat-x top / auto 35px,
      url(/sites/default/files/media/nameless_stresses/image/graphic-pc.webp) repeat-x bottom / auto 35px,
      #0F0F17;
    padding: 35px 0;
  }

  .pc-bg.character-motion {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin-bottom: 0;
    display: block;
    z-index: 0;
    overflow: hidden;
  }
}


/** ============================================================
 * kv
 * ========================================================== */
.kv-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
            url(/sites/default/files/media/nameless_stresses/image/kv_bg-top.webp) center top / contain no-repeat,
            url(/sites/default/files/media/nameless_stresses/image/kv_bg-btm.webp) center bottom / contain no-repeat;
}

.character-motion {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}
.character-motion__item {
  position: absolute;
}
.character-motion__item--01 {
  top: 20px;
  left: 4px;
  width: 183px;
}
.character-motion__item--02 {
  top: 68px;
  right: -22px;
  width: 208px;
}
.character-motion__item--03 {
  bottom: -14px;
  left: -17px;
  width: 182px;
}
.character-motion__item--04 {
  right: -6px;
  bottom: 10px;
  width: 198px;
}

/* 左上・右下 */
.character-motion__item--01 .character-motion__eye,
.character-motion__item--04 .character-motion__eye {
  animation: charactor_motion_SP01 12s linear infinite;
}
/* 右上・左下 */
.character-motion__item--02 .character-motion__eye,
.character-motion__item--03 .character-motion__eye {
  animation: charactor_motion_SP02 12s linear infinite;
}
@keyframes charactor_motion_SP01 {
  0%, 8.333% {
    opacity: 0.5;
  }
  50%, 58.333% {
    opacity: 0.1;
  }
  100% {
    opacity: 0.5;
  }
}
@keyframes charactor_motion_SP02 {
  0%, 8.333% {
    opacity: 0.1;
  }
  50%, 58.333% {
    opacity: 0.5;
  }
  100% {
    opacity: 0.1;
  }
}
@media screen and (min-width: 1326px) {
  .character-motion__item .character-motion__eye {
    position: absolute;
  }
  .character-motion__item--01 {
    top: -94px;
    left: 0;
    width: 598px;
  }
  .character-motion__item--01 .character-motion__eye {
    top: 169px;
    left: 54px;
    width: 179px;
  }
  .character-motion__item--02 {
    top: -100px;
    right: 13px;
    width: 634px;
  }
  .character-motion__item--02 .character-motion__eye {
    top: 128px;
    right: 8px;
    width: 260px;
  }
  .character-motion__item--03 {
    bottom: 0;
    left: 0;
    width: 526px;
  }
  .character-motion__item--03 .character-motion__eye {
    top: 162px;
    left: 36px;
    width: 235px;
  }
  .character-motion__item--04 {
    right: 0;
    bottom: 0;
    width: 555px;
  }
  .character-motion__item--04 .character-motion__eye {
    top: 51px;
    right: 7px;
    width: 303px;
  }

  .character-motion__item--01 .character-motion__eye,
  .character-motion__item--04 .character-motion__eye {
    animation: charactor_motion_PC01 15s ease-in-out infinite;
  }
  .character-motion__item--02 .character-motion__eye,
  .character-motion__item--03 .character-motion__eye {
    animation: charactor_motion_PC02 15s ease-in-out infinite;
  }
  @keyframes charactor_motion_PC01 {
    0%, 10% {
      opacity: 0.5;
    }
    50%, 60% {
      opacity: 0.03;
    }
    100% {
      opacity: 0.5;
    }
  }
  @keyframes charactor_motion_PC02 {
    0%, 10% {
      opacity: 0.03;
    }
    50%, 60% {
      opacity: 0.5;
    }
    100% {
      opacity: 0.03;
    }
  }

}
@media screen and (min-width: 1326px) and (max-height: 888px) {
  .character-motion__item--01 {
    transform: scale(var(--character-scale, 1));
    transform-origin: left top;
  }
  .character-motion__item--02 {
    transform: scale(var(--character-scale, 1));
    transform-origin: right top;
  }
  .character-motion__item--03 {
    transform: scale(var(--character-scale, 1));
    transform-origin: left bottom;
  }
  .character-motion__item--04 {
    transform: scale(var(--character-scale, 1));
    transform-origin: right bottom;
  }
}



.kv-title {
  width: 289px;
  margin: 0 auto!important;
  padding: 0;
  z-index: 1;
}
.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0; padding: 0; margin: -1px;
}
@media screen and (min-width: 1326px) {
  .kv {
    display: none;
  }
}



/** ============================================================
 * statement
 * ========================================================== */
.statement {
  margin: 122px 0 0;
}
.statement-intro {
  color: #E2FFC9;
  line-height: 2.17;
  text-align: center;
}
.statement-image {
  margin: 105px 0 0!important;
}
@media screen and (min-width: 1326px) {
  .statement {
    margin: 0;
  }
  .statement-intro {
    margin: 0;
  }

}



/** ============================================================
 * check
 * ========================================================== */
.check {
  padding: 84px 0 80px;
  background:
            url(/sites/default/files/media/nameless_stresses/image/check_bg.webp) center top / contain no-repeat,
            url(/sites/default/files/media/nameless_stresses/image/pattern_bg.webp) center top / contain repeat-y;


}

.check-lead {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 235px;
  height: 56px;
  margin: 0 auto;
  padding: 0 0 14px;
  background: url(/sites/default/files/media/nameless_stresses/image/check_lead_bg.webp) center / contain no-repeat;
  color: #fff;
  font-size: 20px;
}
.check-heading {
  display: flex;
  flex-direction: column;
  margin: 10px 0 0!important;
  color: #242445;
  text-align: center;
  text-shadow: 0 3px 0 #BAA600;
}
.check-heading span {
  line-height: 1;
}
.check-heading--sub {
  font-size: 36px;
}
.check-heading--main {
  font-size: 49px;
  margin: -1px 0 0;
}
.check-text {
  margin: 20px 0 0!important;
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
}

.checkbox-area {
  margin: 23px 0 0;
}

.checkbox {
  position: relative;
  display: flex!important;
  align-items: center;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 4px;
  border: 1px solid #000;
  box-shadow: 0 0 10px 0 #fff;
  background: #fff;
  cursor: pointer;
  z-index: 0;
}
.checkbox + .checkbox {
  margin-top: 11px;
}
.checkbox-input {
  appearance: none;
  width: 36px;
  height: 36px;
  margin: 0;
  flex-shrink: 0;
  border: 1px solid #000;
  border-radius: 4px;
  background: #ECECEC;
  cursor: pointer;
}
.checkbox-text {
  font-size: 17px;
}
/* チェックされたら */
.checkbox:has(input:checked) {
  box-shadow: 0 0 10px 0 #BAA600;
  background: #2F3228;
  color: #FFFFAF;
}
.checkbox-input:checked {
  background: url(/sites/default/files/media/nameless_stresses/image/icon_check.webp) center / 20px auto no-repeat #FFFFAF;
}

/* 診断するボタン */
.button-block {
  margin: 48px 0 0;
}
.primary-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 84px;
  border-radius: 100vh!important;
  box-shadow: 0 8px 13px 0 #6F641D;
  background: #000!important;
  font-size: 30px!important;
  font-family: var(--font-wdxl)!important;
  cursor: pointer!important;
}
.result-button {
  border: 3px solid #BAA600;
  color: #FFFFAF;
}
.result-button::before,
.result-button::after {
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  background: url(/sites/default/files/media/nameless_stresses/image/icon_arw.webp) no-repeat center / contain;
  transition: opacity 0.3s ease-out;
}
.result-button::before {
  background-image: url(/sites/default/files/media/nameless_stresses/image/icon_arw-wt.webp);
  opacity: 0;
  z-index: 1;
}
.result-button:hover {
  border-color: #fff;
  color: #fff!important;
}
.result-button:hover::before {
  opacity: 1;
}


/* 診断結果 */
.result {
  display: none;
  margin: 80px 0 0;
  text-align: center;
}
.result-line {
  width: 138px;
  margin: 0 auto;
}
.result-label {
  display: inline-block;
  margin: 80px 0 0!important;
  padding: 5px 9px;
  color: #fff;
  font-size: 23px;
  text-align: center;
}
.result-label,
.result-label--01 {
  background: #C30021;
}
.result-label--02 {
  background: #02777F;
}
.result-label--03 {
  background: #896B03;
}
.result-label--04 {
  background: #48619D;
}


.result-name {
  display: flex;
  flex-direction: column;
  margin: 8px 0 0!important;
  font-size: 36px;
}
.result-name .dot {
  font-size: 27px;
}
.result-name > span {
  line-height: 1;
  display: inline-block;
  margin: 10px 0 0;
}
.result-name .result-name--and + span {
  margin-top: -2px;
}
.result-name--01{
  color: #C30021;
}
.result-name--02{
  color: #02777F;
}
.result-name--03{
  color: #896B03;
}
.result-name--04{
  color: #48619D;
}
.result-name--and {
  margin-top: 3px;
  color: #666;
  font-size: 30px;
}

.result-image {
  margin: 16px 0 0!important;
}
.result-text {
  margin: 24px 0 0!important;
  font-size: 20px;
  line-height: 1.4;
}

.check .button-block {
  margin-top: 24px;
}
.share-button {
  padding-left: 20px;
  border: 3px solid #D5D4D4;
  color: #fff!important;
  font-size: 22px!important;
}
.share-button::before {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 39px;
  height: 39px;
  background: url(/sites/default/files/media/nameless_stresses/image/icon_x.webp) no-repeat center / contain;
}
.share-button:hover {
  box-shadow: 0 8px 13px 0 #fff;
}



/** ============================================================
 * character
 * ========================================================== */
.character {
  padding: 117px 0;
  background:
            url(/sites/default/files/media/nameless_stresses/image/graphic.webp) center top / contain no-repeat,
            url(/sites/default/files/media/nameless_stresses/image/graphic.webp) center bottom / contain no-repeat;
}
.character .lp-inner {
  padding: 0;
}

.character-heading {
  margin: 0!important;
  color: #fff;
  font-size: 36px!important;
  line-height: 1!important;
  text-align: center;
}

/* サムネイル調整 */
/* 通常 */
.slider-nav .slick-slide {
  min-height: 87px;
}
.slider-nav .slick-slide img {
  position: absolute;
  transition: opacity 0.3s ease-out;
}
.slider-nav .slick-slide img.slider-nav__hover,
.slider-nav .slick-slide img.slider-nav__active {
  opacity: 0;
}
/* ホバー */
.slider-nav .slick-slide:not(.slick-current):hover .slider-nav__hover {
  opacity: 1;
}

/* アクティブ */
.slider-nav .slick-slide.slick-current {
  min-height: 127px;
}
.slider-nav .slick-slide.slick-current .slider-nav__normal,
.slider-nav .slick-slide.slick-current .slider-nav__hover {
  opacity: 0;
}
.slider-nav .slick-slide.slick-current .slider-nav__active {
  opacity: 1;
}

.slider-nav__item {
  display: flex!important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.slider-nav .slick-list {
  margin: 0 -8px;
  padding: 0 27px!important;
}
.slider-nav.slick-slider {
  overflow: hidden;
}
.slider-nav .slick-slide {
  position: relative;
  margin: 0 8px;
}
.slider-nav .slick-track {
  display: flex;
  align-items: center;
}

.slider-nav img.slider-nav__normal,
.slider-nav img.slider-nav__hover {
  min-width: 78px;
  width: 78px;
}
.slider-nav .slider-nav__active {
  min-width: 118px;
  width: 118px;
}

/* 本文調整 */
.slider-main {
  position: relative;
  width: calc(100% - 116px);
  margin: 0 auto;
}
.slider-arrow {
  position: absolute;
  top: calc((min(100vw, 500px) - 116px) * 333 / 274 / 2);
  z-index: 2;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  cursor: pointer;
  transform: translateY(-50%);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

/* 前へ */
.slider-arrow--prev {
  left: -49px;
  background: url("/sites/default/files/media/nameless_stresses/image/arrow_prev.webp") no-repeat center / contain;
}
.slider-arrow--prev:hover {
  background-image: url("/sites/default/files/media/nameless_stresses/image/arrow_prev-hover.webp");
}

/* 次へ */
.slider-arrow--next {
  right: -49px;
  background: url(/sites/default/files/media/nameless_stresses/image/arrow_next.webp) no-repeat center / contain;
}
.slider-arrow--next:hover {
  background-image: url("/sites/default/files/media/nameless_stresses/image/arrow_next-hover.webp");
}

/* 本文文章 */
.character-profile {
  margin: 16px 0 0;
  color: #fff;
}
.character-name,
.solution-title {
  text-align: center;
}
.character-text,
.solution-text {
  font-size: 16px;
  line-height: 1.7;
}
.character-name {
  font-size: 30px;
}
.character-text {
  margin: 16px 0 0!important;
}
.character-solution {
  margin: 24px 0 0;
  color: #FEF9A8;
}
.solution-title {
  font-size: 17px;
  text-align: center;
}
.solution-text {
  margin: 8px 0 0!important;
}



/** ============================================================
 * merit
 * ========================================================== */
.merit {
  padding: 80px 0;
  background: url(/sites/default/files/media/nameless_stresses/image/pattern_bg.webp) center top / 100% repeat-y;
}
.merit-heading {
  display: flex;
  flex-direction: column;
  margin: 0!important;
}
.merit-heading--sub {
  font-size: 15px;
  font-weight: 500;
}
.merit-heading--main {
  font-size: 24px;
  font-weight: 700;
}

.accordion {
  margin: 32px 0 0!important;
}
.accordion-body + .accordion-heading {
  margin-top: 24px;
}
.accordion-heading {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 64px;
  padding: 0 56px 0 23px;
  border: 1px solid #000;
  background: #fff;
  font-size: 15px;
  font-weight: 500;
  transition: background-color 0.3s ease-out;
  cursor: pointer;
}
.accordion-heading:hover {
  background: #FEF9A8;
}
.accordion-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  display: inline-block;
  width: 33px;
  height: 33px;
  background: url(/sites/default/files/media/nameless_stresses/image/icon_plus.webp) center top / contain no-repeat;
}
.accordion-heading.is-open::after {
  background-image: url(/sites/default/files/media/nameless_stresses/image/icon_minus.webp);
}
.accordion-body {
  margin: 16px 0 0;
  padding: 0;
  font-size: 14px;
}
.merit-message {
  margin: 48px 0 0!important;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.merit-image {
  margin: 8px 0 0!important;
}

.button-block--row {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.square-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 81px;
  border: 1px solid #CC0033;
  background: #CC0033!important;
  color: #fff!important;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
.square-button::before,
.square-button::after {
  position: absolute;
  top: 50%;
  right: 26px;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 25px;
  height: 20px;
  background: url(/sites/default/files/media/nameless_stresses/image/icon_arw-simple-wt.webp) center top / contain no-repeat;
  transition: opacity 0.3s ease-out;
}
.square-button::before {
  background-image: url(/sites/default/files/media/nameless_stresses/image/icon_arw-simple-rd.webp);
  opacity: 0;
  z-index: 1;
}
.square-button:hover {
  background: #fff!important;
  color: #CC0033!important;
}
.square-button:hover::before {
  opacity: 1;
}

.square-button--border {
  background: #fff!important;
  color: #CC0033!important;
}
.square-button--border::after {
  background-image: url(/sites/default/files/media/nameless_stresses/image/icon_arw-simple-rd.webp);
}
.square-button--border::before {
  background-image: url(/sites/default/files/media/nameless_stresses/image/icon_arw-simple-wt.webp);
}
.square-button--border:hover {
  background: #CC0033!important;
  color: #fff!important;
}



/** ============================================================
 * movie
 * ========================================================== */
.movie,
.profile {
  overflow-x: clip;
}
.scale-up {
  position: absolute;
  scale: .65;
  opacity: 0;
  transition:
    opacity .4s .2s ease-out,
    scale .55s .2s cubic-bezier(.25, 1.4, .5, 1);
}
.scale-up.is-visible {
  opacity: 1;
  scale: 1;
}
.scale-up--01 {
  top: 49px;
  left: -11px;
  width: 128px;
}
.scale-up--02 {
  top: -17px;
  right: -19px;
  width: 179px;
}
.scale-up--03 {
  top: 81px;
  right: 0px;
  width: 105px;
}
.scale-up--04 {
  top: -91px;
  left: -98px;
  width: 235px;
}
.scale-up--05 {
  right: -41px;
  bottom: -44px;
  width: 188px;
}

.movie {
  position: relative;
  padding: 112px 0 0;
  background: url(/sites/default/files/media/nameless_stresses/image/graphic.webp) center top / contain no-repeat;
}
.movie-heading {
  margin: 0!important;
  color: #fff;
  font-size: 36px!important;
  text-align: center;
}

.movie-title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 81px;
  margin: 38px 0 0!important;
  padding: 0 0 14px;
  color: #fff;
  font-size: 20px!important;
  text-align: center;
}
.movie-block + .movie-title {
  margin-top: 64px!important;
}
.movie-title--yl {
  background: url(/sites/default/files/media/nameless_stresses/image/movie_heading-yl.webp) no-repeat center / 298px;
}
.movie-title--pk {
  background: url(/sites/default/files/media/nameless_stresses/image/movie_heading-pk.webp) no-repeat center / 298px;
}
.movie-block {
  margin: 16px 0 0;
}
.youtube {
  width: 100%;
  max-width: 360px;
  aspect-ratio: 9 / 16;
  margin: 0 auto;
}
.youtube iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}



/** ============================================================
 * profile
 * ========================================================== */
.profile{
  margin: 91px 0 0;
}
.profile-box {
  position: relative;
  padding: 40px 25px 64px;
  background:
    url(/sites/default/files/media/nameless_stresses/image/profile_graphic-top.webp) right top / 222px no-repeat,
    url(/sites/default/files/media/nameless_stresses/image/profile_graphic-btn.webp) left bottom / 155px no-repeat,
    url(/sites/default/files/media/nameless_stresses/image/profile_bg.webp) center top / cover no-repeat;
}
.profile-role {
  text-align: center;
}
.profile-name {
  margin: 6px 0 0!important;
  font-size: 24px;
  text-align: center;
}
.profile-name span {
  font-size: 16px;
}
.profile-image {
  width: 196px;
  margin: 16px auto 0!important;
}
.profile-text {
  margin: 16px 0 0!important;
  line-height: 1.7;
}


.top-scroll {
  margin: 80px 0 0;
}
.top-button {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 74px;
  border: 1px solid #fff;
  color: #fff!important;
  font-size: 22px;
  line-height: 74px;
  text-align: center;
}
.top-button::before,
.top-button::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 34px;
  height: 36px;
  background: url(/sites/default/files/media/nameless_stresses/image/arrow_top.webp) no-repeat center / contain;
  transition: opacity 0.3s ease-out;
}
.top-button::before {
  background-image: url(/sites/default/files/media/nameless_stresses/image/arrow_top-hover.webp);
  opacity: 0;
  z-index: 1;
}
.top-button:hover {
  background: #565454;
}
.top-button:hover::before {
  opacity: 1;
}



/** ============================================================
 * ページ下部追従
 * ========================================================== */
.fixed-area {
  position: fixed;
  z-index: 100;
  left: 0;
  bottom: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.lp.is-fixed .fixed-area {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.fixed-btn {
  display: block;
  width: 100%;
  min-height: 66px;
  padding: 10px 0;
  border: none;
  border-top: 1px solid #fff;
  background: #CC0033!important;
  color: #fff!important;
  text-align: center;
}
.fixed-btn--main {
  font-size: 17px;
  font-weight: 700;
}
@media (min-width: 1326px) {
  .fixed-area {
    display: none;
  }
  .fixed-btn--main {
    font-size: 13px;
  }
}



/* モーダル内クラス */
.mb-4 {
  margin-bottom: 1.5rem!important;
}
.mt-4 {
  margin-top: 1.5rem!important;
}
.modal-temp-whole {
  position: relative;
  display: none;
  height: 100%;
}
.modal-temp-whole * {
  box-sizing: border-box;
  line-height: 1.5;
}
.cta-container {
  margin: 0;
}
.modal_pop {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9997!important;
  overflow: scroll;
  font-feature-settings: "palt";
}
.bg {
  background-color: #1119;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 9998!important;
}
.modal_pop_main {
  width: 340px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999!important;
  background-color: #fff;
  padding: 16px;
  border-radius: 8px;
}
.modal_pop_header {
  text-align: center;
  font-weight: bold;
  font-size: initial;
}
.modal_pop_body {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 12px;
}
.modal_pop_button {
  position: relative;
  display: inline-block;
  width: 320px;
  padding: 10px 50px;
  border-radius: 100vh;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  line-height: 1.5;
  background-color: #fff;
  color: #bc2739;
  border: 2px solid #bc2739;
}
.modal_pop_button:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url(/sites/default/files/media/service/image/icon_arrow-rd-r.webp) no-repeat center / 100%;
}
.modal_pop_button:hover {
  text-decoration: none;
  opacity: 0.7;
}
.modal_pop_close_btn {
  width: 25px;
  height: 25px;
  background: #666666;
  color: #ffffff;
  text-align: center;
  line-height: 25px;
  font-size: 16px;
  border-radius: 50%!important;
  border: none;
  padding: 0;
}
.modal_pop_close_btn:hover {
  opacity: .8;
}
.modal_pop_back_btn {
  background: #fff;
  border: none;
  text-decoration: underline;
  font-size: inherit;
}
.modal_pop_back_btn:hover {
  text-decoration: none;
}

/* フォーム内オンライン相談 */
.modal_pop_main.exclusive_form {
  width: 85vw;
  max-width: 900px;
  position: relative;
  padding: 0;
  border: 3px solid #d8d8d8;
  border-radius: 10px;
  min-width: inherit;
}
.exclusive_form .modal_pop_close_btn {
  width: 29px;
  height: 29px;
  line-height: 29px;
  font-size: 16px;
  position: absolute;
  top: -16px;
  right: -14px;
}
.modal_pop_row {
  max-height: 90dvh;
  overflow-y: scroll;
}
.modal_pop_left,
.modal_pop_right {
  width: 100%!important;
  border-right: none!important;
}
.modal_pop_row .modal_pop_inner {
  width: 100%!important;
}
.exclusive_form .modal_pop_body {
  display: block;
  text-align: center;
}
.exclusive_form .modal_pop_header {
  font-size: 17px;
  color: #fff;
  background: #bc2739;
  padding: 10px;
  font-weight: normal;
  border-radius: 10px;
}
.exclusive_form .modal_pop_left .modal_pop_header {
  border-bottom-right-radius: unset;
  border-bottom-left-radius: unset;
}
.exclusive_form .modal_pop_right .modal_pop_header {
  border-radius: unset;
}
.modal_pop_body_title {
  font-weight: bold;
  font-size: 14px;
  line-height: 23px;
  margin: 10px 20px!important;
}
.modal_pop_body_txt {
  width: 80%;
  margin: 5px auto 10px!important;
  line-height: 20px;
  font-size: 12px;
}
p.modal_pop_body_txt.sp_fs-12.mb-20imp {
  margin: 5px auto 10px!important;
}
.left-txt {
  margin: 10px 40px!important;
}
.exclusive_form .modal_pop_button {
  position: relative;
  width: 270px;
  padding: 10px 25px;
  font-size: 14px;
  min-width: inherit;
  max-width: 320px;
  height: auto;
  min-height: inherit;
  line-height: 1.3;
  text-decoration: none!important;
  color: #bc2739!important;
}
.exclusive_form .modal_pop_right .modal_pop_button {
  padding: 10px 25px 10px 50px;
  min-height: inherit;
}
.exclusive_form .modal_pop_button img {
  position: absolute;
  left: 45px;
  top: 8px;
}
.exclusive_form .modal_pop_button:after {
  right: 11px;
}
.exclusive_form .modal_pop_right .modal_pop_button img {
  filter: brightness(0) saturate(100%) invert(22%) sepia(29%) saturate(5522%) hue-rotate(333deg) brightness(95%) contrast(95%);
  width: 24px;
  height: 24px;
  margin-right: 10px;
}
.mb-20 {
  margin: 10px auto 20px!important;
}
.mb-20imp {
  margin-bottom: 20px!important;
}
.annotation {
  font-size: 12px;
}
.modal_pop_button.left-bottom-btn {
  margin: 15px auto;
}
.modal_pop_button.left-middle-btn {
  margin: 15px auto 0;
}
.exclusive_form .modal_pop_left a.modal_pop_button {
  width: 270px;
  min-width: inherit;
  min-height: inherit;
  font-size: 14px;
  line-height: 1.3;
}
.sp-only-SE {
  display: none;
}

@media screen and (min-width: 401px) {
  .exclusive_form .modal_pop_header {
    padding: 15px;
  }
  .modal_pop_body_title {
    font-size: 16px;
    margin: 10px 20px!important;
  }
  .modal_pop_body_txt {
    margin: 5px auto 15px!important;
    font-size: 15px;
  }
  .left-txt {
    margin: 10px 40px;
  }
  .exclusive_form .modal_pop_right .modal_pop_button {
    min-height: 44px;
  }
  .exclusive_form .modal_pop_button {
    font-size: 16px;
    line-height: 1.2;
  }
  .exclusive_form .modal_pop_button img {
    top: 8px;
  }
  .annotation {
    font-size: 12px;
  }
  .modal_pop_button.left-bottom-btn {
    margin: 15px auto 30px;
  }
  .modal_pop_button.left-middle-btn {
    margin: 15px auto 0;
  }
  .exclusive_form .modal_pop_left a.modal_pop_button {
    width: 270px;
    min-width: inherit;
    min-height: 47px;
    font-size: 16px;
    line-height: 1.5;
  }
  .sp-only-SE {
    display: block;
  }
}

@media screen and (min-width: 1327px) {
  .modal_pop_main {
    width: 600px;
    padding: 18px 24px 24px;
  }
  .modal_pop_header {
    font-size: large;
  }
  .modal_pop_button {
    width: 355px;
    font-size: 18px;
  }
  .modal_pop_close_btn {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }
  .modal_pop_main.exclusive_form {
    min-width: 700px;
  }
  .modal_pop_row {
    overflow: auto;
  }
  .modal_pop_row .modal_pop_inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 100%;
  }
  .modal_pop_left {
    width: 50%;
    border-right: 3px solid #d8d8d8;
  }
  .modal_pop_right {
    width: 50%;
  }
  .exclusive_form .modal_pop_header {
    font-size: 20px;
    padding: 15px;
    border-radius: 0;
  }
  .exclusive_form .modal_pop_left .modal_pop_header {
    border-top-left-radius: 7px;
  }
  .exclusive_form .modal_pop_right .modal_pop_header {
    border-top-right-radius: 7px;
  }
  .modal_pop_body_title {
    font-size: 18px;
    margin: 20px auto!important;
  }
  .modal_pop_body_txt {
    width: 92%;
    margin: 10px auto 20px!important;
    font-size: 16px;
  }
  .left-txt {
    margin: 20px 70px!important;
  }
  .exclusive_form .modal_pop_button {
    width: 320px;
    padding: 10px 25px 10px 20px;
    min-width: 270px;
    max-width: 320px;
    min-height: 44px;
    font-size: 18px;
    line-height: 1.3;
  }
  .exclusive_form .modal_pop_right .modal_pop_button {
    padding: 11px 25px 10px 50px;
  }
  .exclusive_form .modal_pop_button img {
    top: auto;
  }
  .modal_pop_button.left-bottom-btn,
  .modal_pop_button.left-middle-btn {
    margin: 20px 0 0;
  }
  .exclusive_form .modal_pop_left a.modal_pop_button {
    width: 80%;
    max-width: 500px;
    min-width: 330px;
    min-height: 50px;
  }
  .sp-only-SE {
    display: none;
  }
}
