@charset "utf-8";

.kv_wrap{
  position: relative;
  display: block;
}
.kv_wrap::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.kv_wrap .kv{
  background-repeat: no-repeat;
  background-position: center top;
}
.kv_wrap .kv picture{
  visibility: hidden;
}
.kv_wrap .copy_wrap{
  margin: 0 auto;
}
.kv_wrap .copy{
  position: relative;
}
.kv_wrap .copy .sign{
  position: absolute;
  bottom: 0;
  right: 0;
}

@media all and (max-width: 768px) {
  .kv_wrap .kv{
    position: relative;
    background-image: url(../img/concept/yk_kv_sp.jpg);
    background-size: 100% auto;
  }
  .kv_wrap .kv::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #333;
    width: 100%;
    height: 1px;
    z-index: 1;
    transform: scaleX(var(--border));
    transform-origin: 0 50%;
  }
  .kv_wrap .kv picture{
    visibility: visible;
  }
  .kv_wrap .copy_wrap{
    background-color: #f5f5f5;
    padding: 14.063% 0 19.531%;
  }
  .kv_wrap .copy{
    width: 75.651%;
    margin-left: 11.198%;
  }
  .kv_wrap .copy .sign{
    width: 34.251%;
    margin-right: -3.442%;
    margin-bottom: -15.146%;
  }
}
@media all and (min-width: 769px) {
  .kv_wrap .kv{
    background-image: url(../img/concept/yk_kv_pc.jpg);
    background-size: auto 100%;
    height: 0;
    padding-bottom: 117.391%;
  }
  .kv_wrap .copy_wrap{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    max-width: 1360px;
    margin-top: 15%;
  }
  .kv_wrap .copy{
    width: 44.674%;
    margin-left: 40px;
  }
  .kv_wrap .copy .sign{
    width: 40.633%;
    margin-right: -44px;
    margin-bottom: -72px;
  }
}
@media all and (min-width: 920px) {
  .kv_wrap .kv{
    background-size: auto 1080px;
    height: 1080px;
    padding-bottom: 0;
  }
  .kv_wrap .copy_wrap{
    margin-top: 138px;
  }
  .kv_wrap .copy{
    width: 411px;
  }
  .kv_wrap .copy .sign{
    width: 167px;
  }
}
@media all and (min-width: 1681px) {
  .kv_wrap .kv{
    background-size: 100% auto;
    height: auto;
  }
  .kv_wrap .copy_wrap{
    margin-top: 8.214%;
  }
}

.sec_wrap{
  position: relative;
}
.sec01 .mov_blk{
  position: relative;
  margin: 0 auto;
}
.sec01 .mov_blk .inner{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
}
.sec01 .mov_blk .inner .en{
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
  font-family: "OptimaLTPro-Roman";
  line-height: 1;
}
.sec01 .mov_blk .inner .en span{
  display: inline-block;
  line-height: 1;
}
.sec01 .mov_blk .inner .en::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.sec01 .mov_wrap{
  position: relative;
}
.sec01 .mov_wrap .mov_box{
  position: relative;
  margin: 0 auto;
  font-size: 0;
}
.sec01 .mov_wrap .mov_box .thumb{
  position: relative;
  font-size: 0;
}
.sec01 .mov_wrap .mov_box .mov_info{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sec01 .mov_wrap .mov_box .mov_info .ttl{
  border: none;
  width: auto;
  padding-bottom: 0;
}
.sec01 .mov_wrap .mov_box .mov_info .type{
  color: #aaa;
}
.sec01 .mov_wrap .mov_box .mov_info .type .lnk{
  position: relative;
  display: inline-block;
  color: #aaa;
  pointer-events: none;
}
.sec01 .mov_wrap .mov_box .mov_info .type .lnk::after{
  content: '>';
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  font-family: "OptimaLTPro-Roman";
  color: #aaa;
  pointer-events: none;
  z-index: 2;
  transform: translate(-50%, -60%) rotate(90deg) scale(1,2);
  transition: all .1s cubic-bezier(.4,.25,.3,1);
}
.sec01 .mov_wrap .mov_box .comment{
  position: relative;
}
@media all and (max-width: 768px) {
  .sec01{
    padding-top: 15.365%;
    margin-bottom: 11.628%;
  }
  .sec01 .mov_blk{
    width: 89.583%;
    margin: 0 auto;
  }
  .sec01 .mov_blk .inner{
    margin-bottom: 8.14%;
  }
  .sec01 .mov_blk .inner .en{
    padding-bottom: 2.907%;
    margin-bottom: 6.510%;
  }
  .sec01 .mov_blk .inner .en span{
    font-size: 3.646vw;
  }
  .sec01 .mov_blk .inner .ttl{
    width: 100%;
    margin-right: auto;
    margin-bottom: 3.779%;
    font-size: 4.948vw;
    line-height: 1.474;
  }
  .sec01 .mov_blk .inner .txt{
    width: 100%;
    font-size: 3.125vw;
    line-height: 2;
  }
  .sec01 .mov_wrap{
    display: block;
  }
  .sec01 .mov_wrap .mov_box{
    width: 100%;
    margin-bottom: 7.849%;
  }
  .sec01 .mov_wrap .mov_box .thumb{
    margin-bottom: 3.488%;
  }
  .sec01 .mov_wrap .mov_box .mov_info{
    margin-bottom: 2.616%;
  }
  .sec01 .mov_wrap .mov_box .mov_info .ttl{
    font-size: 4.167vw;
  }
  .sec01 .mov_wrap .mov_box .mov_info .type{
    font-size: 3.125vw;
  }
  .sec01 .mov_wrap .mov_box .mov_info .type .lnk{
    padding-right: 20px;
    font-size: 3.125vw;
  }
  .sec01 .mov_wrap .mov_box .mov_info .type .lnk::after{
    font-size: 2.604vw;
  }
  .sec01 .mov_wrap .mov_box .comment .txt{
    font-size: 3.125vw;
    line-height: 1.667;
  }
}
@media all and (min-width: 769px) {
  .sec01{
    padding-top: 142px;
    margin-bottom: 80px;
  }
  .sec01 .mov_blk{
    max-width: 1280px;
    padding: 0 20px;
  }
  .sec01 .mov_blk .inner{
    margin-bottom: 72px;
  }
  .sec01 .mov_blk .inner .en{
    padding-bottom: 12px;
    margin-bottom: 72px;
    font-size: 24px;
  }
  .sec01 .mov_blk .inner .en span{
    font-size: 24px;
  }
  .sec01 .mov_blk .inner .ttl{
    width: 42.969%;
    margin-right: 5.5%;
    font-size: 32px;
    line-height: 1.5;
  }
  .sec01 .mov_blk .inner .txt{
    width: 50%;
    font-size: 15px;
    line-height: 2;
  }
  .sec01 .mov_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6.25%;
  }
  .sec01 .mov_wrap .mov_box{
    max-width: 600px;
    width: 46.875%;
    margin-bottom: 74px;
  }
  .sec01 .mov_wrap .mov_box .thumb{
    margin-bottom: 14px;
  }
  .sec01 .mov_wrap .mov_box .mov_info{
    margin-bottom: 14px;
  }
  .sec01 .mov_wrap .mov_box .mov_info .ttl{
    font-size: 21px;
  }
  .sec01 .mov_wrap .mov_box .mov_info .type{
    font-size: 15px;
  }
  .sec01 .mov_wrap .mov_box .mov_info .type .lnk{
    padding-right: 20px;
    font-size: 15px;
  }
  .sec01 .mov_wrap .mov_box .mov_info .type .lnk::after{
    font-size: 11px;
  }
  .sec01 .mov_wrap .mov_box .comment .txt{
    font-size: 15px;
    line-height: 1.667;
  }
}
@media all and (min-width: 1681px) {
}

.sec02{
  position: relative;
}
.sec02 .bg{
  background-repeat: no-repeat;
  background-position: center;
}
.sec02 .bg picture{
  visibility: hidden;
}
.sec02 .con_wrap{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.sec02 .con_wrap .ttl{
  margin: 0 auto;
}
.sec02 .con_wrap .txt{
  margin: 0 auto;
}
.sec02 .con_wrap .img{
  margin: 0 auto;
}
@media all and (max-width: 768px) {
  .sec02 .bg{
    background-image: url(../img/concept/yk_bg_sp.jpg);
    background-size: cover;
  }
  .sec02 .con_wrap{
    width: 100%;
  }
  .sec02 .con_wrap .ttl{
    width: 71.745%;
    padding-top: 15.625%;
    margin-bottom: 8.333%;
  }
  .sec02 .con_wrap .txt{
    width: 82.943%;
    margin-bottom: 9.115%;
  }
  .sec02 .con_wrap .img{
    width: 64.974%;
  }
}
@media all and (min-width: 769px) {
  .sec02 .bg{
    background-image: url(../img/concept/yk_bg_pc.jpg);
    background-size: auto 1314px;
    height: 1314px;
  }
  .sec02 .con_wrap{
    max-width: 1280px;
  }
  .sec02 .con_wrap .ttl{
    width: 467px;
    padding-top: 162px;
    margin-bottom: 68px;
  }
  .sec02 .con_wrap .txt{
    width: 477px;
    margin-bottom: 68px;
  }
  .sec02 .con_wrap .img{
    width: 383px;
  }
}
@media all and (min-width: 1681px) {
  .sec02 .bg{
    background-size: cover;
  }
}


.induction{
  position: relative;
  display: flex;
}
.induction::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.induction .txt{
  position: relative;
}
.induction .txt a{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 0 60px;
  font-size: 18px;
  color: #333;
  letter-spacing: 0.1em;
  line-height: 1;
  box-sizing: border-box;
  -webkit-transition: .3s;
  transition: .3s;
}
.induction .txt a::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  background: url(../img/common/arrow.svg) no-repeat center/contain;
  width: 48px;
  height: 48px;
  margin: auto 60px;
  z-index: 2;
}
.induction .txt a .en{
  font-family: "OptimaLTPro-Roman";
  letter-spacing: 0;
}
.induction .img{
  position: relative;
}
.induction .img::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: #333;
  z-index: 1;
}

@media all and (min-width: 769px) {
  .induction .txt{
    width: 50%;
  }
  .induction .txt a:hover{
    background: #333;
    color: #fff;
    opacity: 1;
  }
  .induction .txt a .en{
    margin-bottom: 20px;
    font-size: 75px;
  }
  .induction .img{
    width: 50%;
  }
  .induction .img::before{
    width: 1px;
    height: 100%;
    transform: scaleY(var(--border));
    transform-origin: 50% 0;
  }
}
@media all and (max-width: 768px) {
  .induction{
    flex-direction: column;
  }
  .induction .txt a{
    flex-direction: column;
    padding: 32% 5.208% 33.333% 10%;
    font-size: 2.865vw;
  }
  .induction .txt a::after{
    width: 10.677vw;
    height: 10.677vw;
    margin: auto 5.208%;
  }
  .induction .txt a .en{
    margin-bottom: 2.667%;
    font-size: 11.2vw;
  }
  .induction .img::before{
    width: 100%;
    height: 1px;
    transform: scaleX(var(--border));
    transform-origin: 0 50%;
  }
}

.gallery_wrap{
  position: relative;
}
.gallery_wrap .mov{
  position: relative;
  background-color: #333;
  max-width: 1000px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
}
.gallery_wrap .mov iframe{
  position: absolute;
  top: 50%;
  left: 50%;
	width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}

.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px);
}
.remodal-overlay {
  background-color: rgba(0,0,0,.9);
}
.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes;
}
.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes;
}
.remodal-wrapper {
  padding: 0;
}
.remodal {
  width: 100%;
  margin: 0 auto;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  box-sizing: border-box;
  pointer-events: none;
}
.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes;
}
.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes;
}
.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}
.remodal-close {
  position: sticky;
  top: 0;
  display: block;
  background: transparent;
  padding: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-decoration: none;
  border: 0;
  outline: 0;
  overflow: visible;
  cursor: pointer;
  pointer-events: auto;
  z-index: 50;
}
.remodal-close:hover,
.remodal-close:focus {
  opacity: .5;
}
.remodal-close::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background: url(../img/strength/living_space_making/md_btn_close.svg) no-repeat center;
  background-size: contain;
  filter: drop-shadow(0 0 1px #000) drop-shadow(0 0 5px #000);
}
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}
@media all and (min-width: 769px) {
  .remodal {
    padding: 40px 0;
  }
  .remodal-close {
    top: 40px;
    left: calc(100% - 90px);
    width: 50px;
    height: 50px;
    margin: 0 40px 20px;
  }
  .remodal-close::before {
    width: 50px;
    padding-bottom: 50px;
  }
}
@media all and (max-width: 768px) {
  .remodal {
    padding: 5.208% 0;
  }
  .remodal-close {
    top: 5.208vw;
    left: calc(100% - 13.021vw);
    width: 7.813vw;
    height: 7.813vw;
    margin-bottom: 5%;
  }
  .remodal-close::before {
    width: 100%;
    padding-bottom: 100%;
  }
}
@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@-webkit-keyframes remodal-overlay-opening-keyframes {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes remodal-overlay-opening-keyframes {
  from { opacity: 0; }
  to { opacity: 1; }
}
@-webkit-keyframes remodal-overlay-closing-keyframes {
  from { opacity: 1; }
  to { opacity: 0; }
}
@keyframes remodal-overlay-closing-keyframes {
  from { opacity: 1; }
  to { opacity: 0; }
}
