@charset "UTF-8";
/*
	##### Loun9ine TOPページ専用 PC版 #####
	/index/css/top_pc.css
*/



/* header 関連 (override) */
.header-main .inner {
  position: relative;
}
.header-logo .logo-02 {
  display: none
}



/* MV関連
=============================*/
.fv-area {
	display: flex;
  justify-content: center;
  position: fixed;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
	width: 100%;
  height: calc(100vh - 130px);
  padding: 0 90px;
  overflow: hidden;
  z-index: -1;
}

@media (max-width: 1200px) {
  .fv-area .logo-01 {
    left: calc((50/940*100vw) + 40px)
  }
}
.fv-area .slide-area {
  position: relative;
  /*height: calc(100vh - 0px);*/
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
}
.fv-area .slider img {
  object-fit: cover;
}



/* [scroll------animation]  */
.scroll-down-box {
  position: absolute;
  display: flex;
  justify-content: center;
  width: 90px;
  left: 0;
  bottom: 32px;
}
@media (max-width: 1692px) {
  .scroll-down-box {
    width: calc(50/940*100vw)
  }
}
@media (max-width: 810px) {
  .scroll-down-box {
    display: none
  }
}
.scroll-down {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column
}
.scroll-down span {
  font-family: 'Noto Serif JP', serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  writing-mode: vertical-rl;
  letter-spacing: .15em;
  padding-bottom: .5em
}
.scroll-down::after {
  content: '';
  display: block;
  width: 1px;
  height: 120px;
  background: linear-gradient(#c8c8c8, #3b3b3b 50%);
  background-size: 100% 200%;
  animation: scr 1.5s linear infinite;
}
@keyframes scr {
  0% {
    background-position: 0% 200%
  }
  100% {
    background-position: 0% 0%
  }
}



/* ページ全体を被うマスク
=============================*/
.overlay-area {
  position: relative;
  box-sizing: content-box;
  display: block;
  margin-top: calc(100vh - 140px);
  background-color: var(--bg-color);
}
.overlay-area::before {
  content: '';
  display: block;
  width: 1109px;
  height: 204px;
  position: absolute;
  top: -143px;
  left: 50px;
  background: url(/img/img-wave-bg.png) no-repeat center center / cover
}



/* section 関連 */
.sec {
  position: relative;
  width: 100%;
}
.w-1920 {
  max-width: 1200px;
  margin: 0 auto;
}
.w-1740 {
  padding: 0 90px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1200px) {
  .overlay-area::before {
    width: calc(719/1200*100vw);
    min-width: 442px;
    height: calc(144/1200*100vw);
    min-height: 84px;
    top: calc(-143/1200*100vw);
  }
}
@media (max-width: 1692px) {
  .w-1740,
  .fv-area {
    padding: 0 calc(50/940*100vw)
  }
  .overlay-area::before {
    left: calc((50/940*100vw) - 6px)
  }
}
@media (max-width: 1120px) {
  .overlay-area::before {
    width: 442px;
    height: 84px;
    top: -83px;
  }
}
@media (max-width: 810px) {
  .header-logo .logo-01 {
    padding-left: 70px;
  }
  .scroll-down {
    display: none
  }
  .w-1740,
  .fv-area {
    padding: 0 30px
  }
  .overlay-area::before {
    left: 29px
  }
}
.sec-title-2,
.sec-title,
.jp-title {
  font-family: 'Noto Serif JP', serif
}
.sec-title-2 .en-txt,
.sec-title .en-txt {
  font-size: 46px;
  font-weight: 500;
  letter-spacing: 0.035em;
}
.sec-title-2 .jp-txt,
.sec-title .jp-txt {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-top: 30px
}
.sec-title-2 .jp-txt {
  display: inline-block
}
.sec-title-2 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}
.sec-title-2::after {
  content: '';
  display: block;
  width: 1px;
  height: 80px;
  background-color: var(--light-color);
  margin-top: 40px
}
.action.sec-title::before,
.action.sec-title::after,
.action.sec-title-2::after {
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .7s cubic-bezier(.97, 0, .73, 1) 1s
}
.action.sec-title::before {
  transition-delay: 0s
}
.action.start.sec-title::before,
.action.start.sec-title::after,
.action.start.sec-title-2::after {
  transform: scaleY(1)
}

.sec-title-2 .en-txt + br {
  display: none;
}


/* NEWS & TOPICS */
.sec.news {
  padding-top: 78px;
  padding-bottom: 70px;
}
.news .sec-title {
  position: absolute;
  left: 90px;
  top: -7px;
  transition: .2s
}
@media (max-width: 1692px) {
  .news .sec-title {
    left: calc(50/940*100vw)
  }
}
@media (max-width: 1200px) {
  .sec.news {
    padding-top: 130px;
    padding-bottom: 110px;
  }
  .news .sec-title {
    top: 36px;
  }
}
@media (max-width: 940px) {
  .sec.news {
    padding-top: 150px;
  }
  .news .sec-title {
    top: 55px;
  }
}
@media (max-width: 810px) {
  .news .sec-title {
    left: 30px
  }
}
.news .sec-title .en-txt {
  font-size: 40px;
  font-weight: 500;
}
.news .btn-box {
  position: absolute;
  left: 0;
  bottom: 30px;
}
.news .cols {
  flex: 0 1 1040px;
  position: relative;
}
.news .title-col {
  width: 158px;
  flex: 0 1 158px;
  margin-right: 0
}
.news .jp-title {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.news .topics-col {
  flex: 0 1 882px
}
.news .topics-col > li {
  margin-bottom: 2em
}
.news .cat-date {
  flex: 0 1 320px;
  display: inline-flex;
  justify-content: space-between;
}
.news .cat-date span {
  white-space: nowrap;
  display: inline-block
}
.news .cat {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.14em;
  color: var(--light-color);
  white-space: nowrap;
  margin-right: 2em;
}
.news .date {
  white-space: nowrap;
  width: 7.5em;
  font-size: 15px;
  font-weight: 500;
}
.news .topic {
  flex: 1 1 480px;
  min-width: 200px;
  font-size: 15px;
  line-height: 1.5;
  padding-right: 3em;
}
.news .topic a {
  transition: color .3s ease
}
.news .topic a:hover {
  color: #9d8c56
}
.news .contents-link-box {
  flex: 0 1 700px
}
.news .contents-link-box .blck {
  flex: 0 1 538px
}
.news .contents-link-box .sub-title {
  font-size: 21px;
  letter-spacing: 0.035em;
  font-weight: 500;
  margin-right: 1em
}
.news .contents-list {
  width: 100%;
}
.news .contents-list a {
  height: 111px;
  white-space: nowrap
}
.news .contents-list li {
  flex: 0 0 152px
}
@media (max-width: 1440px) {
  .news .news-blck {
    flex-wrap: wrap
  }
  .news .topic {
    padding-right: .5em;
  }
  .news .contents-link-box {
    margin-top: 60px
  }
  .news .contents-link-box .sub-title {
    margin-right: calc(50/1440*100vw)
  }
  .news .contents-link-box .blck {
    flex: auto
  }
  .news .contents-list a {
    height: 70px;
    padding-right: 2em
  }
  .news .contents-list a br {
    display: none
  }
}




/* CONCEPT */
.concept *.start {
  animation-delay: .8s
}
.concept {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 698px;
  padding: 80px 0;
  background: rgba(0, 0, 0, .65) url(/img/img-concept-bg_pc.jpg) no-repeat center center / cover;
  background-blend-mode: darken
}
.concept .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff
}
.concept .logo {
  display: block;
  width: 50px;
  height: 73px;
  margin-bottom: 30px;
}
.concept .sec-title::after {
  content: '';
  display: block;
  width: 1px;
  height: 80px;
  background-color: var(--light-color);
  margin: 20px auto 27px;
}
.concept .lead {
  font-weight: 400;
  text-align: center;
}
.concept .lead span {
  display: inline-block
}
.concept .lead .line-01 {
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 23px
}
.concept .lead .line-02 {
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 0.035em;
  margin-bottom: 50px;
}
.concept .des {
  font-size: 18px;
  font-weight: 400;
  line-height: 2;
  text-align: center;
  padding-bottom: .25em
}
.concept .br2 {
  display: none
}
@media (max-width: 939px) {
  .concept .des .br2 {
    display: inline
  }
}




/* ABOUT */
.about {
  padding-top: 150px;
  z-index: 0;
}
.about::before {
  content: '';
  display: block;
  background-color: var(--bg2-color);
  width: calc(50vw - 102px);
  height: calc(100% - 260px);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  transform-origin: top right;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.51, 0, .21, 1.03)
}
.about.start::before {
  transform: scaleX(1);
}
.about .sec-title {
  position: relative;
  display: block;
  padding-left: 30px;
  min-height: 140px;
  padding-bottom: 36px;
}
.about .sec-title::before {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  display: block;
  height: 100%;
  border-left: 1px solid var(--light-color);
}
.about .sec-title .jp-txt {
  display: inline-block
}
.about .cols {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.about .chart {
  width: 645px;
  height: auto
}
.about .slide-area {
  width: 100%;
  max-width: 1000px;
}
@media (max-width: 1920px) {
  .about .chart {
    width: calc(645/1920*100vw);
  }
  .about .slide-area {
    width: calc(1000/1920*100vw);
  }
}
@media (max-width: 940px) {
  .about .cols {
    align-items: center
  }
  .about .chart {
    width: calc(329/940*100vw);
    max-width: inherit;
  }
  .about .slide-area {
    width: calc(492/940*100vw);
  }
}




/*FEATURE*/
.sec.feature {
  padding-top: 70px;
  padding-bottom: 150px
}
.feature-list {
  width: 100%;
  max-width: 1738px;
  margin: 0 auto;
  flex-wrap: wrap
}
.feature-list::after {
  content: '';
  display: block;
}
.feature-list .card,
.feature-list::after {
  flex: 0 1 calc(433/1738*100%);
}
@media (max-width: 1199px) {
  .feature-list .card,
  .feature-list::after {
    flex: 0 1 calc(278/838*100%);
  }
}
@media (max-width: 810px) {
  .feature-list .card,
  .feature-list::after {
    flex: 0 1 calc(353/708*100%);
  }
}
.feature-list .card {
  margin-bottom: 2px;
  will-change: contents;
}
.feature-list .card .area {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  background-position: center 58px;
  background-repeat: no-repeat;
  background-size: auto 68px;
  padding: 160px 53px 30px;
  background-color: #fff;
  transition: background-color .3s ease
}
.feature-list a.area:hover {
  background-color: #fafaf8
}
.feature-list .card .ttl {
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 24px;
}
.feature-list .card .ttl::after {
  content: '';
  display: block;
  width: 20px;
  border-bottom: 1px solid var(--light-color);
  margin-top: 24px;
  margin-left: 50%;
  transform: translateX(-50%)
}
.feature-list .card .des {
  font-size: 15px;
  line-height: 2;
  margin-bottom: 30px;
}
.feature-list .card .btn-view-line {
  margin: auto auto 0
}
.card-01 .area {
  background-image: url(/img/ico-feature-01.svg)
}
.card-02 .area {
  background-image: url(/img/ico-feature-02.svg)
}
.card-03 .area {
  background-image: url(/img/ico-feature-03.svg)
}
.card-04 .area {
  background-image: url(/img/ico-feature-04.svg)
}
.card-05 .area {
  background-image: url(/img/ico-feature-05.svg)
}
.card-06 .area {
  background-image: url(/img/ico-feature-06.svg)
}
.card-07 .area {
  background-image: url(/img/ico-feature-07.svg)
}
.card-08 .area {
  background-image: url(/img/ico-feature-08.svg)
}




/* MOVIES */
.movies {
  z-index: 0;
  padding-top: 150px;
  padding-bottom: 134px;
}
.movies::before {
  content: '';
  display: block;
  background: var(--bg2-color) url(/img/img-flip-wave-bg.svg) no-repeat right -6px bottom -2px / 719px auto;
  width: calc(50vw - 160px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: top left;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.51, 0, .21, 1.03)
}
.movies.start::before {
  transform: scaleX(1);
}
.movies-area {
  width: 100%;
  max-width: 1418px;
  margin: 0 auto
}
.movies-area .btn-view-line {
  margin-top: 50px;
}
.movies-box {
  display: flex;
  width: 100%;
  max-height: 532px;
}
.movies-box iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  top: 0;
  left: 0;
}
.movie-l {
  position: relative;
  padding-top: 532px;
  flex: 0 1 945px;
  background-color: azure
}
.movie-r {
  display: flex;
  flex-direction: column;
  margin-left: 2px;
  flex: 0 1 471px;
  background-color: #c8c8c8
}
.movie-r1,
.movie-r2 {
  position: relative;
  padding-top: 265px;
  background-color: darkseagreen
}
.movie-r2 {
  margin-top: 2px
}
@media (max-width: 1590px) {
  .movie-l {
    padding-top: calc(532/1590*100vw);
  }
  .movie-r1,
  .movie-r2 {
    padding-top: calc(265/1590*100vw);
  }
}
@media (max-width: 1200px) {
  .movies::before {
    background-size: calc(422/940*100vw) auto;
  }
}
@media (max-width: 940px) {
  .movies::before {
    width: calc(50vw - 60px);
  }
}
@media (max-width: 810px) {
  .movies-box {
    flex-direction: column;
    max-height: none
  }
  .movie-l {
    flex: 100%;
    padding-top: calc(422/810*100vw);
  }
  .movie-r {
    flex-direction: row;
    justify-content: space-between;
    margin-left: 0;
    margin-top: 2px;
    flex: 100%
  }
  .movie-r1,
  .movie-r2 {
    width: calc(50% - 1px);
    padding-top: calc(210/810*100vw);
  }
}




/* LOCATIONS */
.sec.locations {
  padding-top: 28px
}
.locations-box {
  width: 100%;
  overflow: hidden;
  flex-wrap: wrap
}
.locations-box li {
  display: block;
  flex: 0 1 calc(33.333333% - 1px);
  height: calc(370/1920*100vw);
  margin-bottom: 2px
}
.locations-box::after {
  content: '';
  display: block;
  flex: 0 1 calc(33.333333% - 1px);
}
@media (max-width: 1199px) {
  .locations-box li {
    flex: 0 1 calc(50% - 1px);
    height: calc(347/1199*100vw);
  }
  .locations-box::after {
    flex: 0 1 calc(50% - 1px);
  }
}
.locations-box li a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  will-change: contents;
  overflow: hidden;
}
.locations-box .location-detail {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .6);
  color: #fff;
  opacity: 0;
  transition: opacity .6s ease
}
.locations-box li a .fit-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform: scale(1);
  transition: transform 1s ease
}
.locations-box li a:hover .location-detail {
  opacity: 1;
}
.locations-box li a:hover .fit-img {
  transform: scale(1.1)
}
.location-detail .location-name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.location-detail dt {
  display: inline-block;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.3;
  margin-bottom: 22px;
  text-align: center;
  max-width: 90%
}
.location-detail dt::after {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background-color: var(--light-color);
  margin: 22px auto 0;
}
.location-detail dd {
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .07em;
  line-height: 1.3;
  text-align: center;
  max-width: 90%;
  margin-bottom: 22px;
}
.location-detail .btn-view-line {
  margin: 0;
}
.location-detail .btn-view-line::before {
  background: #fff;
}
.location-detail .btn-view-arrow::before {
  background-color: #fff;
}
.location-detail .btn-view-arrow::after {
  border-color: transparent transparent transparent #fff;
}
a:hover .location-detail .btn-view-arrow {
  color: #828282;
}
@media (min-width: 1200px) and (max-width: 1500px) {
  .location-detail dt {
    font-size: calc(20/1500*100vw)
  }
  .location-detail dd {
    font-size: calc(15/1500*100vw)
  }
}




/* LESSON */
.sec.lesson {
  padding-top: 170px;
}
.lesson-area {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100%;
  max-width: 1700px;
  height: 600px;
  background: url(/img/img-lesson_pc.jpg) no-repeat center bottom / cover
}
@media (max-width: 1856px) {
  .lesson-area {
    max-width: calc(1100/1200*100vw);
    height: calc(388/1200*100vw)
  }
}
@media (max-width: 1200px) and (min-width: 1163px) {
  .lesson-area {
    max-width: 1100px;
    height: 388px;
  }
}
@media (max-width: 1162px) {
  .lesson-area {
    max-width: calc(1100/1162*100vw);
    height: calc(388/1162*100vw)
  }
}
.lesson-detail {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 675px;
  min-height: 250px;
  padding: calc(70/1920*100vw) .5em 0 calc(80/1920*100vw);
  background-color: var(--bg-color)
}
@media (max-width: 1570px) {
  .lesson-detail {
    width: calc(675/1570*100vw);
  }
}
@media (max-width: 1200px) and (min-width: 1063px) {
  .lesson-detail {
    width: 516px;
  }
}
@media (max-width: 1064px) {
  .lesson-detail {
    min-width: calc(516/1064*100vw)
  }
}
@media (max-width: 810px) {
  .lesson-area {
    display: block;
    width: calc(100% - 30px);
    height: auto;
    max-width: none;
    padding-top: calc(438/768*100vw);
    background-size: auto calc(438/768*100vw);
    background-position: center top;
  }
  .lesson-detail {
    width: 100%;
    padding-top: 50px;
    align-items: flex-end;
    min-height: auto
  }
}
.lesson-des {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 45px
}




/* LESSON PRO */
.professional {
  padding-top: 190px;
}
.professional .inner {
  position: relative;
  padding-bottom: 90px;
  z-index: 0;
}
.professional .inner::before {
  content: '';
  display: block;
  background: var(--bg2-color) url(/img/img-wave-bg.svg) no-repeat left -6px bottom -2px / 719px auto;
  width: calc(50vw + 385px);
  height: calc(100% - 174px);
  position: absolute;
  top: 174px;
  right: 0;
  z-index: -1;
  transform-origin: top right;
  transform: scaleX(0);
  transition: transform 1.3s cubic-bezier(.51, 0, .21, 1.03)
}
.professional .inner.start::before {
  transform: scaleX(1);
}




/* HOW TO FLOW */
.howto {
  padding: 100px 0;
  z-index: 0;
}
.howto::before {
  content: '';
  display: block;
  width: 100%;
  height: 45%;
  background-color: var(--bg2-color);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  transform-origin: top right;
  transform: scaleX(0);
  transition: transform 1.3s cubic-bezier(.51, 0, .21, 1.03)
}
.howto.start::before {
  transform: scaleX(1);
}
.howto .step {
  flex: 0 1 580px;
  width: 580px;
  border: 1px solid transparent;
  background-clip: content-box
}
.howto .step dl {
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 76px 2em 90px
}
.howto .step dt {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 20px
}
.howto .step dt::after {
  content: '';
  display: block;
  height: 1px;
  width: 20px;
  background-color: var(--light-color);
  margin-top: 20px
}
.howto .step .ttl1 {
  display: inline-block;
  font-size: 18px;
  letter-spacing: 0.14em
}
/*
.howto .step .ttl1::after {
  content: '';
  display: block;
  height: 90px;
  margin: 46px auto 36px;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 90px;
}
*/
.howto .step .img-pc {
  display: block;
  height: 90px;
  margin: 46px auto 36px;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 90px;
}
.howto .step .img-sp {display: none;}
.howto .step1 {
  background-color: #f6f6f5
}
.howto .step1 .ttl1::after {
  background-image: url(/img/ico-flow-01.svg)
}
.howto .step2 {
  background-color: #fafaf9;
}
.howto .step2 .ttl1::after {
  background-image: url(/img/ico-flow-02.svg)
}
.howto .step3 {
  background-color: #fff
}
.howto .step3 .ttl1::after {
  background-image: url(/img/ico-flow-03.svg)
}
.howto .step .ttl1 .num {
  font-size: 38px;
  font-weight: 500
}
.howto .step .ttl2 {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.3;
  text-align: center
}
.howto .step .des {
  display: block;
  padding: 0 calc(70/1920*100vw);
  font-size: 16px;
  letter-spacing: 0.06em;
  line-height: 2;
  text-align: center
}
@media (max-width: 1400px) {
  .howto .step .des {
    padding: 0;
  }
}




/* PRICE & TRIAL RESERVATION */
.price .col {
  flex: 0 1 50%;
  height: calc(250/1920*100vw)
}
.price .col a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  color: #fff;
  overflow: hidden;
  position: relative;
  transition: all .7s ease
}
.price .col .ttl span {
  display: block;
  text-align: center
}
.price .col .ttl .en-txt {
  font-size: 46px;
  font-weight: 400;
  margin-bottom: calc(20/1920*100vw);
  transition: all .3s ease
}
.price .col .ttl .jp-txt {
  font-size: 18px;
  font-weight: 400;
}
@media (max-width: 1448px) {
  .price .col .ttl .en-txt {
    font-size: 38px;
  }
}
@media (max-width: 1050px) {
  .price .col .ttl .en-txt {
    font-size: calc(34/1050*100vw);
  }
  .price .col .ttl .jp-txt {
    font-size: calc(18/1050*100vw)
  }
}
.price .left-col a {
  background: rgba(0, 0, 0, .75) url(/img/img-price_pc.jpg) no-repeat center center / 100% 100%;
  background-blend-mode: multiply
}
.price .right-col a {
  background: rgba(123, 114, 81, 1) url(/img/img-trial_pc.jpg) no-repeat center center / 100% 100%;
  background-blend-mode: multiply
}
.price .left-col a:hover {
  background-color: rgba(0, 0, 0, .35);
  background-size: 105% 105%
}
.price .right-col a:hover {
  background-color: rgba(123, 114, 81, .35);
  background-size: 105% 105%
}
.price .arrow {
  position: absolute;
  display: block;
  width: 60px;
  height: 60px;
  right: 0;
  bottom: 0;
}
@media (max-width: 1200px) {
  .price .arrow {
    width: calc(60/1200*100vw);
    height: calc(60/1200*100vw);
  }
}
.price .arrow::before {
  content: "";
  width: 20px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
.price .arrow::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 4.3px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
.price a:hover .arrow::before {
  left: 0;
  width: 30px;
}
.price a:hover .arrow::after {
  left: 30px;
}




/* MEDIA COVERAGE */
#top .media {
  padding: 140px 0 30px 90px;
}
@media (max-width: 1692px) {
  #top .media {
    padding: 140px 0 130px calc(50/940*100vw)
  }
}
.media .inner {
  position: relative;
  flex-direction: row-reverse;
  align-items: center;
}
.media .sec-title {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  padding-left: 30px;
  min-height: 140px;
  padding-bottom: 36px;
}
.media .sec-title::before {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  display: block;
  height: 100%;
  border-left: 1px solid var(--light-color);
}
.media .sec-title .jp-txt {
  display: inline-block
}
.media .btn-box {
  flex: 0 1 calc(490/1920*100vw);
  min-width: 320px
}
.media .slide-area {
  flex: 1 1 calc(1340/1920*100vw);
  overflow: hidden;
}




/* FAQ */
.faq {
  padding: 130px 0 180px;
  z-index: 0
}
.faq::before {
  content: '';
  display: block;
  background-color: var(--bg2-color);
  width: calc(50vw - 92px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform-origin: top left;
  transform: scaleX(0);
  transition: transform 1.3s cubic-bezier(.51, 0, .21, 1.03)
}
.faq.start::before {
  transform: scaleX(1);
}
.faq .inner {
  width: 100%;
  max-width: 1340px;
  margin: 0 auto
}
.faq-area .details {
  margin-bottom: 2px;
  will-change: contents
}
.faq-area .summary {
  position: relative;
  display: block;
  padding: 40px 115px 35px 75px;
  background-color: #fff;
  font-family: 'Noto Serif JP';
  font-size: 18px;
  font-weight: normal;
  line-height: 1.75;
  cursor: pointer;
  transition: background-color .4s ease
}
.faq-area .summary:hover {
  background-color: #fafaf8
}
.faq-area .summary::before {
  content: 'Q. ';
  font-size: 22px;
  margin-left: -1.25em
}
.faq-area .summary::after {
  content: '+';
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}
.faq-area .summary.open::after {
  content: '–'
}
.faq-area .summary + .ans {
  display: none;
  background-color: #fafaf8;
  font-size: 16px;
  line-height: 2;
  padding: 35px 120px 35px 80px;
  overflow: hidden;
}
@media (max-width: 1200px) {
  .faq-area .summary,
  .faq-area .summary + .ans {
    padding-right: 10vw
  }
}