@charset "UTF-8";
:root{
  --vh: 0;
}
#container{
  min-width: 1400px;
}

.kv-wrap{
  /*background-color: #b4b4b4;*/
  width: 100%;
  height: var(--vh);
  height:100svh;
  overflow: hidden;
}
.kv-wrap .catch {
  color:#be9461;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,0);
  width: 509px;
  margin: 150px 0;
  font-size: 27.15px;
  letter-spacing: 0.38em;
  text-align: center;
  /*opacity: 0;*/
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
  z-index: 2;
}
/*.kv-wrap.load .catch{
  opacity: 1;
}*/
.kv-wrap .catch .en {
  display: inline-block;
  font-family: "OptimaLTPro-Roman";
  font-size: 83.43px;
  color: #be9461;
  letter-spacing: 0.01em;
}
.kv-wrap .catch .fs {
  display: inline-block;
  margin: 0 auto 40px;
  font-size: 22px;
  color: #be9461;
  letter-spacing: -0.06em;
}
.kv-wrap .cap {
  position:absolute;
  right:0;
  bottom:0;
  margin:5px;
  font-size:12px;
  color:#fff;
  text-shadow: 1px 1px 10px #333;
}
.kv-wrap .scroll {
  position: absolute;
  bottom: 0;
  right: 0;
  padding-bottom: 80px;
  margin: 40px 36px;
  font-family: "OptimaLTPro-Roman";
  font-size: 14px;
  color: #fff;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 2;
}
.kv-wrap .scroll .arrow {
  position: absolute;
  top: 0;
  right: 2px;
  width: 9px;
  height: 73px;
  margin-top: 58px;
  overflow: hidden;
}
.kv-wrap .scroll .arrow svg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 9px;
}
.kv-wrap .topics {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,.7);
  /*width: 46%;
  min-width: 755px;*/
  width: auto;
  min-width: auto;
  font-size: 15px;
  color: #fff;
  z-index: 2;
  line-height: 1.85;
}
.kv-wrap .topics a{
  height:100%;
  display:flex;
  align-items: center;
  padding: 8px 45px 10px 20px;
  box-sizing: border-box;
}
.kv-wrap .topics a.lnk_off{
  pointer-events: none;
  padding: 8px 25px 10px 20px;
}
.kv-wrap .topics a .ico_i{
  width:26px;
  margin-right:20px;
}
.kv-wrap .topics a.lnk_off .arrow{
  display:none;
}
.kv-wrap .topics .arrow{
	position: absolute;
  right:31px;
	display: inline-block;
	padding: 0;
	color: #fff;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.kv-wrap .topics .arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
  left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.kv-wrap .wap{
  position:absolute;
  top:121px;
  left:60px;
  width:172px;
  z-index: 2;
  opacity:1;
}
.kv-wrap .wap.wap_d{
  transition-duration: .5s;
}
.lock .kv-wrap .wap{
  opacity:0;
}

@media screen and (max-width: 1366px) {
  .kv-wrap .wap{
    /*transition-duration: 0s;*/
    top:8.931vw;
    left:3.571vw;
  }
}

@media screen and (min-width: 769px) {
  .kv-wrap .scroll .arrow {
    animation: scArrow 3s cubic-bezier(0,.47,.48,1) infinite backwards;
  }
}
@media screen and (min-height: 768px) {
	.kv-wrap .catch {
		margin: 19.506vh 0 0;
	}
}
@media screen and (max-width: 768px) {
  #container{
    min-width: auto;
  }
  .kv-wrap .bg{
    background-image: url("../img/top/kv_sp.jpg?01");
    min-width: auto;
  }
  .kv-wrap .movBox #land_video {
    /*width: 56.25vh;
    height: 177.778vw;*/
    width: 177.778vh;
    height: 56.25vw;
    width: 200vh; /* ダミー幅 2:1の幅 */
    height: 50vw; /* ダミー幅 2:1の幅 */
    }
  /*.kv-wrap .catch {
    width: 100%;
    font-size: 4.019vw;
    transform: none;
    transform: translate(0, -50%);
  }
  .kv-wrap .catch .en {
    font-size: 12.349vw;
  }
  .kv-wrap .catch .fs {
    margin: 0 0 8.333%;
    font-size: 2.865vw;
  }*/
  .kv-wrap .catch {
    width: 76.667%;
    height: auto;
    margin: 34.667% auto 0;
    font-size: 4.019vw;
    color: #be9461;
    letter-spacing: 0.4em;
    box-sizing: border-box;
  }
  .kv-wrap .catch .en {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin-top: 26.667vw;
    font-size: 12.349vw;
  }
  .kv-wrap .catch .fs {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin-top: 36.458%;
    font-size: 2.865vw;
  }
  .kv-wrap .cap {
    margin: 0 1.333vw;
    font-size: 2.667vw;
    bottom: 12.333vw;
  }
  .kv-wrap .scroll {
    display: none;
  }
  .kv-wrap .topics {
    width: 100%;
    height:8.133vw;
    min-width: 0;
    font-size: 2.865vw;
    line-height: 1.273;
  }
  .kv-wrap .topics a{
    padding: 1.953vw 8.604vw 1.953vw 2.604vw;
  }
  .kv-wrap .topics a.lnk_off{
    padding: 1.953vw 2.604vw 1.953vw 2.604vw;
  }
  .kv-wrap .topics a .ico_i{
    width:5.729vw;
    margin-right:2.604vw;
  }
  .kv-wrap .topics .arrow{
    right:6.667vw;
    padding: 0;
    font-size: 2.865vw;
  }
  .kv-wrap .topics .arrow::after{
    width: 1.823vw;
    height: 1.823vw;
    border-top: 0.26vw solid #fff;
    border-right: 0.26vw solid #fff;
  }
  .kv-wrap .wap{
    top:auto;
    bottom:22.667vw;
    left:0;
    width:33.867%;
  }
}

.info-wrap {
  position: relative;
  text-align: center;
  overflow: hidden;
  padding:0 0 90px;
  box-sizing:border-box;
}
/*.info-wrap .bg {
  position: absolute;
  background-image: url("../img/top/bg_info.jpg");
  background-position: center;
  background-attachment: fixed;
  background-size: cover;
  z-index: -2;
}*/
.info-wrap .bg{
  position: fixed;
  z-index: -1;
  top: 0;
  right:0;
  left:0;
  bottom:0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#info_video {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
}
/*.info-wrap .deco {
  width: 21px;
  margin: 0 auto;
}*/
.info-wrap .p_wrap{
  width:100%;
  background-color:#21b3b8;
  padding:24px 0 34px;
  font-family: YakuHanMP,"Zen Kaku Gothic New", sans-serif;
}
.info-wrap .p_wrap .p_blk{
  display:flex;
  align-items: center;
  justify-content: center;
  color:#fff;
}
.info-wrap .p_wrap .p_blk span{
  font-size:14px;
  line-height:1.429;
  margin:13px 10px 0 0;
  letter-spacing: 0.02em;
}
.info-wrap .p_wrap .p_blk .price{
  font-size:35px;
  letter-spacing: 0.02em;
}
.info-wrap .p_wrap .p_blk .price strong{
  font-size:57px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.info-wrap .d_mWrap{
  width:100%;
  background-color:#059398;
  padding:45px 0 58px;
  font-family: YakuHanMP,"Zen Kaku Gothic New", sans-serif;
}
.info-wrap .d_m_innerWrap{
  width:1400px;
  padding:0 60px;
  box-sizing: border-box;
  display:flex;
  justify-content: center;
  align-items: flex-start;
  margin:0 auto;
  color:#fff;
}
.info-wrap .d_m_innerWrap .d_m{
  font-size:21px;
  margin:0 22px;
}
.info-wrap .d_m_innerWrap .d_m .over_line{
  font-size:17px;
  display:block;
  text-align: left;
  margin-bottom:4px;
  margin-left:3px;
}
.info-wrap .d_m_innerWrap .d_m .station{
  font-size:34px;
}
.info-wrap .d_m_innerWrap .d_m .num{
  font-size:68px;
  color:#fff77e;
  line-height: 0;
}
.info-wrap .d_m_innerWrap .d_m .sml{
  font-size:13px;
  margin-left:3px;
}
.info-wrap .model_wrap {
  width:1400px;
  /*padding-block:54px 43px;*/
  padding-block:0 57px;
  box-sizing: border-box;
  margin:0 auto;
  color:#fff;
}
.info-wrap .model_head_wrap {
  color: #fff77e;
  text-align: center;
  /*margin-bottom: 19px;*/
}
.info-wrap .model_head_inner {
  width: fit-content;
  margin-inline: auto;
  display: flex;
  column-gap: 16px;
  align-items: center;
}
.info-wrap .model_head_txt {
  margin-bottom: 11px;
  font-size: 26px;
  letter-spacing: 0.05em;
}
.info-wrap .model_head_txt span {
  margin-inline: -0.1em;
}
.info-wrap .model_head_ttl {
  font-size: 55px;
}
.info-wrap .model_head_ttl span{
  font-size: 30px;
}
.info-wrap .model_head_reserve {
  display: inline-block;
  border: 1px solid #fff77e;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 188px;
  height: 59px;
  font-size: 34px;
}
@media (min-width:769px) {
  .info-wrap .model_head_reserve {
    position: relative;
    top: 3px;
    padding-bottom:3px;
  }
}
.info-wrap .model_txt-1,
.info-wrap .model_txt-2 {
  color: #ffffff;
}
.info-wrap .model_txt-1 {
  font-size: 22px;
  margin-bottom: 16px;
}
.info-wrap .model_txt-2 {
  font-size: 15px;
  letter-spacing: 0.05em;
}
.info-wrap .meritWrap{
  width:100%;
  background-color:#00666a;
  padding:40px 0;
  margin-bottom:80px;
  font-family: YakuHanMP,"Zen Kaku Gothic New", sans-serif;
}
.info-wrap .merit_innerWrap{
  width:1280px;
  margin:0 auto;
  padding:0;
  display:flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  color:#fff;
}
.info-wrap .merit_innerWrap li{
  font-size:17px;
  line-height:1.5;
  border-right: 1px solid #4d9497;
  padding:0;
  margin-bottom:30px;
  box-sizing:border-box;
  width:340px;
}
.info-wrap .merit_innerWrap li:nth-child(2),
.info-wrap .merit_innerWrap li:nth-child(5){
  width:492px;
}
.info-wrap .merit_innerWrap li:nth-child(3),
.info-wrap .merit_innerWrap li:nth-child(6){
  width:310px;
}
.info-wrap .merit_innerWrap li:nth-child(3),
.info-wrap .merit_innerWrap li:last-child{
  border-right:none;
}
.info-wrap .merit_innerWrap li:nth-last-child(3),
.info-wrap .merit_innerWrap li:nth-last-child(2),
.info-wrap .merit_innerWrap li:last-child{
  margin-bottom:0;
}
.info-wrap .merit_innerWrap li sub{
  font-size:12px;
  position:relative;
  top: 1px;
}
.info-wrap .merit_innerWrap li span{
  font-size:24px;
  display:block;
  color:#fff77e;
}
.info-wrap .merit_innerWrap li span .sml{
  display:inline-block;
  font-size:13px;
  letter-spacing: 0.06em;
}
.info-wrap .info-box {
  /*margin: 76px auto 160px;*/
  background-color:#fff;
  max-width:1280px;
  margin:0 auto;
  box-sizing:border-box;
  padding:80px 0;
  box-shadow: 1px 1px 30px rgba(180,180,180,.5);
}
.info-wrap .info-box .ttl {
  margin: 0 auto 60px;
  font-family: "OptimaLTPro-Roman";
  font-size: 20px;
  letter-spacing: 0.08em;
  line-height: 1;
  color:#be9461;
}
.info-wrap .info-box .teiki {
  margin-bottom: 56px;
  font-size: 24px;
  letter-spacing: 0.04em;
}
.info-wrap .info-box .teiki strong {
  display: inline-block;
  margin-top: 10px;
  font-size: 40px;
  font-weight: normal;
}
.info-wrap .info-box .b_entry{
  display:block;
  width:1120px;
  margin:0 auto;
}
.info-wrap .info-box .b_entry:hover{
  opacity:.75;
  transition-duration: .5s;
}
.info-wrap .info-box .b_entry picture{
  display: block;
  width:1120px;
  margin:0 auto 30px;
}
.info-wrap .info-box .attention{
  border: solid 1px #a00909;
  background-color: #fff;;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  color: #a00909;
  width: 740px;
  padding: 20px;
  margin: 37px auto 0;
  font-size: 16px;
  line-height:1.583;
}
.info-wrap .info-box .attention span{
  font-weight: 700;
  margin-bottom: 4px;
  font-size: 16px;
}
.info-wrap .info-box .flow_entry_wrap{
  width:1120px;
  background-color:#f0e8de;
  margin:0 auto;
  display:flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding:30px 60px;
  box-sizing: border-box;
}
.info-wrap .info-box .flow_entry_wrap .flow_merit{
  width:540px;
  display:flex;
  align-items: center;
  text-align: left;
  font-size:19px;
  line-height:1.789;
}
.info-wrap .info-box .flow_entry_wrap .flow_merit.flow02{
  width:460px;
}
.info-wrap .info-box .flow_entry_wrap .flow_merit .num{
  width:150px;
  height:150px;
  border-radius: 100px;
  box-sizing: border-box;
  font-family: "OptimaLTPro-Roman";
  font-size:17px;
  color:#fff;
  background-color:#be9461;
  margin-right:20px;
  text-align: center;
  line-height:1;
  padding:40px 0;
}
.info-wrap .info-box .flow_entry_wrap .flow_merit .num span{
  font-family: inherit;
  color: inherit;
  font-size:57px;
  line-height:1;
  display: block;
  margin-top:5px;
}
.flow_entry_wrap .new_info{
  width:1060px;
  margin:0 auto;
  display:flex;
  justify-content: center;
  align-items: center;
  border-top:1px solid #c4bcb2;
  padding-top:30px;
  margin-top:30px;
}
.flow_entry_wrap .new_info .new{
  width:54px;
  height:54px;
  border-radius: 30px;
  box-sizing: border-box;
  font-family: "OptimaLTPro-Roman";
  font-size:14px;
  color:#fff;
  background-color:#be9461;
  margin-right:10px;
  text-align: center;
  line-height:1;
  padding:22px 0;
}
.flow_entry_wrap .new_info .new_info_txt{
  font-size:19px;
  line-height:1;
}
.flow_entry_wrap .m_ttl{
  width:100%;
  font-size:30px;
  line-height: 1;
  letter-spacing: -0.02em;
  color:#be9461;
  display:flex;
  align-items: center;
  justify-content: center;
  margin:0 auto 30px;
}
.flow_entry_wrap .m_ttl::before,
.flow_entry_wrap .m_ttl::after{
  content:'';
  display:inline-block;
  width:30px;
  height:1px;
  border-top:1px solid #be9461;
  margin:0 12px;
}
.flow_entry_wrap .m_ttl span{
  font-size:inherit;
  color:inherit;
  margin:0 -3px;
}
.info-wrap .info-box .flow_cap{
  width:1120px;
  margin:7px auto 0;
  font-size:12px;
  line-height:1;
  letter-spacing: 0.02em;
  text-align: left;
}
.info-wrap .btn_wrap{
  width:1120px;
  margin:0 auto 20px;
  display:flex;
  justify-content: space-between;
}
.info-wrap .btn_wrap .btn{
  width:550px;
}
/*.info-wrap .info-box .btn {
  width: 400px;
  margin: 0 auto 41px;
}
.info-wrap .info-box .btn > a {
  display: block;
  background-color: #b99060;
  padding: 20px 0;
  margin: 0 auto;
  font-size: 19px;
  color: #fff;
}
.info-wrap .info-box .btn > a::after{
  content:'';
  display:inline-block;
  background: url("../img/top/ico_lnk.png");
  background-size: 100%;
  background-repeat: no-repeat;
  width:20px;
  height:15px;
  margin-left:6px;
}*/
.info_data_wrap{
  width:1120px;
  /*max-height:190px;*/
  overflow-y: auto;
  margin:30px auto 0;
  text-align: left;
  border-top:1px solid #c4bcb2;
  border-bottom:1px solid #c4bcb2;
  box-sizing:border-box;
  padding:38px 0;
}
.info_data_wrap .info_data_box{
  width:100%;
  display:flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size:16px;
  line-height:1.333;
  margin-top:21px;
}
.info_data_wrap .info_data_box:first-child{
  margin-top:0;
}
.info_data_wrap .info_data_box .i_data{
  width:120px;
}
.info_data_wrap .info_data_box .i_txt{
  width:1000px;
}
.info_data_wrap .info_data_box .i_txt a{
  color:#b10000;
}
.info_bnr_wrap{
  width:550px;
  margin:30px auto 0;
  text-align: left;
}
.info_bnr_wrap .img{
  width:100%;
}
.info_bnr_wrap .cap{
  font-size:12px;
  line-height:1.5;
  color:#000;
  margin-top:4px;
  letter-spacing: -0.06em;
}

@media screen and (max-width: 768px) {
  .info-wrap {
    position: relative;
    text-align: center;
    overflow: hidden;
    padding:0 0 10.667vw;
  }
  .info-wrap .bg {
    background-image: url("../img/top/bg_info.jpg");
  }
  /*.info-wrap .deco {
    width: 2.734%;
  }*/
  .info-wrap .p_wrap{
    padding:2.8vw 0;
  }
  .info-wrap .p_wrap .p_blk span{
    font-size:2.4vw;
    line-height:1.444;
    margin:0.6vw 1.667vw 0 0;
  }
  .info-wrap .p_wrap .p_blk .price{
    font-size:5.067vw;
  }
  .info-wrap .p_wrap .p_blk .price strong{
    font-size:8vw;
  }
  .info-wrap .d_mWrap{
    padding:4.667vw 0 10vw
  }
  .info-wrap .d_m_innerWrap{
    width:86.667%;
    padding:0;
    display:block;
  }
  .info-wrap .d_m_innerWrap .d_m{
    font-size:4.8vw;
    margin:0 0 3.333vw;
    text-align: center;
    display:inline-block;
  }
  .info-wrap .d_m_innerWrap .d_m:last-child{
    margin-bottom:0;
  }
  .info-wrap .d_m_innerWrap .d_m .over_line{
    font-size:3.2vw;
    margin-bottom:0.667vw;
    margin-left: 0.4vw;
  }
  .info-wrap .d_m_innerWrap .d_m .station{
    font-size:6.667vw;
  }
  .info-wrap .d_m_innerWrap .d_m .num{
    font-size:11.733vw;
  }
  .info-wrap .d_m_innerWrap .d_m .sml{
    font-size:2.667vw;
    margin-left: 0.4vw;
  }
  .info-wrap .model_wrap {
    width:86.667%;
    /*padding-block: 10.026vw 3.645vw;*/
    padding-block: 0 6.667vw;
    display:block;
  }
  .info-wrap .model_head_wrap {
    /*margin-bottom: 3vw;*/
  }
  .info-wrap .model_head_inner {
    display: block;
  }
  .info-wrap .model_head_txt {
    font-size: 4.166vw;
    margin-bottom: 1.953vw;
  }
  .info-wrap .model_head_ttl {
    font-size: 8vw;
    letter-spacing: -0.03em;
    display: inline-block;
    margin-bottom: 2.667vw;
    line-height: 1.333;
  }
  .info-wrap .model_head_ttl span{
    font-size: 4.5072vw;
  }
  .info-wrap .model_head_reserve {
    font-size: 4.8vw;
    letter-spacing: 0.1em;
    width: 35.463vw;
    height: 8.333vw;
    margin-inline: auto;
    padding-bottom: 0.967vw;
  }
  .info-wrap .model_txt-1 {
    font-size: 3.90625vw;
    margin-bottom: 0.667vw;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  .info-wrap .model_txt-2 {
    font-size: 3.125vw;
    line-height: 1.75;
  }
  .info-wrap .meritWrap{
    padding:4.933vw 0;
    margin-bottom:6.667vw;
  }
  .info-wrap .merit_innerWrap{
    width:86.667%;
    display:block;
  }
  .info-wrap .merit_innerWrap li{
    font-size:3.733vw;
    border-right: none;
    padding:1.333vw 0;
    margin-bottom:1.333vw;
    border-bottom:1px solid #4d9497;
    width:100%;
  }
  .info-wrap .merit_innerWrap li:nth-child(2),
  .info-wrap .merit_innerWrap li:nth-child(5){
    width:100%;
  }
  .info-wrap .merit_innerWrap li:nth-child(3),
  .info-wrap .merit_innerWrap li:nth-child(6){
    width:100%;
  }
  .info-wrap .merit_innerWrap li:nth-last-child(3),
  .info-wrap .merit_innerWrap li:nth-last-child(2){
    margin-bottom:1.333vw;
  }
  .info-wrap .merit_innerWrap li:last-child{
    margin-bottom:0;
    border-bottom:none;
  }
  .info-wrap .merit_innerWrap li sub{
    font-size:2.667vw;
    top: 1px;
  }
  .info-wrap .merit_innerWrap li span{
    font-size:4.8vw;
  }
  .info-wrap .merit_innerWrap li span.ls{
    letter-spacing: -0.12em;
    white-space: nowrap;
  }
  .info-wrap .merit_innerWrap li span.ls2{
    letter-spacing: -0.04em;
    white-space: nowrap;
  }
  .info-wrap .merit_innerWrap li span .sml{
    font-size:2.667vw;
    letter-spacing: 0;
  }
  .info-wrap .info-box {
    width:86.667%;
    max-width:auto;
    padding:10.667vw 0 5.208vw;
    margin: 0 auto;
  }
  .info-wrap .info-box .ttl {
    margin: 0 auto 6.667vw;
    font-size: 3.402vw;
  }
  .info-wrap .info-box .teiki {
    margin-bottom: 5.208vw;
    font-size: 4.8vw;
    letter-spacing: 0;
  }
  .info-wrap .info-box .teiki strong {
    margin-top: 2vw;
    font-size: 7.229vw;
    line-height: 1.5;
  }
  .info-wrap .info-box .b_entry{
    width:87.692%;
  }
  .info-wrap .info-box .b_entry picture{
    width:100%;
    margin:0 auto 3.906vw;
  }
  .info-wrap .info-box .attention{
    width: 87.692%;
    padding: 3.255%;
    margin: 4.667vw auto 6.25vw;
    font-size: 2.865vw;
    box-sizing: border-box;
  }
  .info-wrap .info-box .attention span{
    margin-bottom: 0.645%;
    font-size: 2.865vw;
  }
  .info-wrap .info-box .flow_entry_wrap{
    width:87.692%;
    display:block;
    padding:3.906vw 3.873% 3.906vw;
  }
  .info-wrap .info-box .flow_entry_wrap .flow_merit{
    width:100%;
    font-size:3.125vw;
    line-height:1.583;
    letter-spacing: -0.05em;
    margin-bottom:3.906vw;
    white-space: nowrap;
  }
  .info-wrap .info-box .flow_entry_wrap .flow_merit .flow_txt span{
    letter-spacing: -0.12em;
  }
  .info-wrap .info-box .flow_entry_wrap .flow_merit.flow02{
    width:100%;
    margin-bottom:0;
  }
  .info-wrap .info-box .flow_entry_wrap .flow_merit .num{
    width:19.531vw;
    height:19.531vw;
    border-radius: 100px;
    font-size:2.214vw;
    margin-right:1.302vw;
    padding:5.208vw 0;
    letter-spacing: 0.02em;
  }
  .info-wrap .info-box .flow_entry_wrap .flow_merit .num span{
    font-size:7.479vw;
    margin-top:0.911vw;
  }
  .flow_entry_wrap .new_info{
    width:100%;
    padding-top:3.255vw;
    margin-top:3.906vw;
  }
  .flow_entry_wrap .new_info .new{
    width:8.854vw;
    height:8.854vw;
    border-radius: 5vw;
    font-size:2.304vw;
    margin-right:1.563vw;
    padding:3.516vw 0;
  }
  .flow_entry_wrap .new_info .new_info_txt{
    width:52.083vw;
    font-size:3.125vw;
    line-height:1.583;
    text-align: left;
    letter-spacing: -0.02em;
  }
  .flow_entry_wrap .m_ttl{
    font-size:4.427vw;
    margin:0 auto 3.906vw;
    letter-spacing: -0.04em;
  }
  .flow_entry_wrap .m_ttl::before,
  .flow_entry_wrap .m_ttl::after{
    width:4.427vw;
    margin:0 1.953vw;
  }
  .flow_entry_wrap .m_ttl span{
    margin:0 -0.391vw;
  }
  .info-wrap .info-box .flow_cap{
    width:87.692%;
    margin:1.302vw auto 0;
    font-size:2.604vw;
    line-height:1.5;
    letter-spacing: -0.02em;
  }
  .info-wrap .btn_wrap{
    width:87.692%;
    margin:0 auto 3.906vw;
    display:block;
  }
  .info-wrap .btn_wrap .btn{
    width:100%;
  }
  .info-wrap .btn_wrap .btn:nth-child(n+2){
    margin-top:3.906vw;
  }
/*  .info-wrap .info-box .btn {
    width: 87.692%;
    margin:-1.761vw auto 3.906vw;
  }
  .info-wrap .info-box .btn > a {
    padding: 4.688% 0;
    font-size: 3.803vw;
  }
  .info-wrap .info-box .btn > a::after{
    width:4.267vw;
    height:3.2vw;
    margin-left:1.6vw;
  }*/
  .info_data_wrap{
    width:87.692%;
    /*max-height:45.573vw;*/
    margin:3.906vw auto 0;
    padding:3.385vw 0;
  }
  .info_data_wrap .info_data_box{
    font-size:3.125vw;
    line-height:1.333;
    margin-top:3.255vw;
  }
  .info_data_wrap .info_data_box .i_data{
    width:26.667%;
  }
  .info_data_wrap .info_data_box .i_txt{
    width:73.333%;
  }
  .info_bnr_wrap{
    width:87.692%;
    margin:4vw auto 0;
  }
  .info_bnr_wrap .cap{
    font-size:2.667vw;
    margin-top:1.067vw;
    letter-spacing: -0.06em;
  }
}

.para-wrap {
  position: relative;
  height: 50vh;
  min-height: 820px;
  overflow: hidden;
}
.para-wrap .img {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url("../img/top/img01.jpg?01");
  background-position: left bottom;
  background-attachment: fixed;
  background-size: cover;
  z-index: -1;
}
.para-wrap .img .cap{
  position:absolute;
  bottom:0;
  right:0;
  margin:5px;
  font-size:12px;
  color:#fff;
  text-shadow: 1px 1px 10px #333;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .para-wrap {
    height: 0;
    min-height: 0;
    padding-bottom: 67.057%;
  }
  .para-wrap .img {
    background: url("../img/top/img01_sp.jpg?01");
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
  }
  .para-wrap .img .cap{
    margin:1.333vw;
    font-size:2.604vw;
  }
}

.gran_blue-wrap{
  text-align: center;
}
.gran_blue-wrap .ttl{
  width:551px;
  margin:0 auto 52px;
}
.gran_blue-wrap .ttl .en{
  display: inline-block;
  font-family: "OptimaLTPro-Roman";
  font-size: 92.62px;
  letter-spacing: 0.01em; 
  line-height: 1;
}
.gran_blue-wrap .txt{
  margin-bottom:50px;
  font-size:17px;
  line-height:3;
  color:#fff;
}
.gran_blue-wrap .name{
  font-size:27px;
  color:#fff;
	line-height: 1.8;
}
.gran_blue-wrap .name .fs{
  font-size:24px;
}

@media screen and (max-width: 768px){
  .gran_blue-wrap{
  }
  .gran_blue-wrap .ttl{
    width:80.599%;
    margin:0 auto 10.667%;
  }
  .gran_blue-wrap .ttl .en{
    font-size: 14.213vw;
  }
  .gran_blue-wrap .txt{
		margin-bottom: 8.2%;
    font-size:3.2vw;
    line-height:2.5;
  }
	.gran_blue-wrap .name{
		font-size:4.8vw;
	}
	.gran_blue-wrap .name .fs{
		font-size:4.267vw;
	}
}

.trico-wrap{
  position: relative;
  background: url("../img/top/bg_tricolor.jpg") no-repeat center top/cover;
  padding: 150px 0 160px;
}
.trico-wrap .bg{
  position: absolute;
  top: 0;
  left: 50%;
  width: 561px;
  margin-left: -840px;
}
.trico-wrap .inner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
}
.trico-wrap .inner .text{
  width: 620px;
}
.trico-wrap .inner .text .ttl{
  margin-bottom: 50px;
  font-size: 37px;
  line-height: 2;
}
.trico-wrap .inner .text .ttl .en{
  display: inline-block;
  font-family: "OptimaLTPro-Roman";
  font-size: 20px;
  letter-spacing: 0.06em;
}
.trico-wrap .inner .text .ttl .en::before{
  content: "";
  display: inline-block;
  background: url("../img/top/icon_tricolor.svg") no-repeat center/contain;
  width: 13px;
  height: 0;
  padding-bottom: 13px;
  margin-right: 20px;
}
.trico-wrap .inner .text .txt{
  font-size: 17px;
  line-height: 3;
  letter-spacing: 0.06em;
}
.trico-wrap .inner .figu{
  position: relative;
  width: 312px;
  margin-top: 30px;
  margin-right: 110px;
}
.trico-wrap .inner .figu .base{
  width: 300px;
  padding: 6px;
}
.trico-wrap .inner .figu .circle{
  position: absolute;
  top: 0;
  left: 0;
  width: 312px;
  margin: auto;
  transform: rotate(-30deg);
  opacity: 0;
  transition: transform .5s .5s,opacity .5s .5s;
}
.trico-wrap .inner .figu .txt{
  position: absolute;
  left: 0;
  right: 0;
  font-family: "OptimaLTPro-Roman";
  font-size: 23px;
  color: #444;
  line-height: 1;
  letter-spacing: 0.06em;
  opacity: 0;
  transition: opacity .5s 1.2s;
}
.trico-wrap .inner .figu .txt.t01{
  top: 0;
  margin-top: -30px;
  text-align: center;
}
.trico-wrap .inner .figu .txt.t02{
  bottom: 0;
  right: auto;
  margin-bottom: 50px;
  margin-left: -58px;
}
.trico-wrap .inner .figu .txt.t03{
  bottom: 0;
  left: auto;
  margin-bottom: 50px;
  margin-right: -110px;
}
.trico-wrap .inner .figu .aos-animate .circle{
  transform: rotate(0);
  opacity: 1;
}
.trico-wrap .inner .figu .aos-animate .txt{
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .trico-wrap{
    background: #fff;
    padding: 24.74% 0 14.844%;
  }
  .trico-wrap .bg{
    left: 0;
    right: 0;
    width: 88.932%;
    margin: 11.458% auto 0;
  }
  .trico-wrap .inner{
    display: block;
    max-width: 100%;
  }
  .trico-wrap .inner .text{
    width: 100%;
    margin-bottom: 16.927%;
    text-align: center;
  }
  .trico-wrap .inner .text .ttl{
    margin-bottom: 5.208%;
    font-size: 4.818vw;
  }
  .trico-wrap .inner .text .ttl .en{
    font-size: 2.604vw;
  }
  .trico-wrap .inner .text .ttl .en::before{
    display: block;
    width: 1.693vw;
    height: 0;
    padding-bottom: 1.693vw;
    margin: 0 auto 1.823vw;
  }
  .trico-wrap .inner .text .txt{
    font-size: 2.214vw;
  }
  .trico-wrap .inner .figu{
    width: 51.953%;
    margin: 0 auto;
  }
  .trico-wrap .inner .figu .base{
    width: 96.992%;
    padding: 1.504%;
  }
  .trico-wrap .inner .figu .circle{
    width: 100%;
  }
  .trico-wrap .inner .figu .txt{
    font-size: 3.862vw;
  }
  .trico-wrap .inner .figu .txt.t01{
    margin-top: -10.025%;
  }
  .trico-wrap .inner .figu .txt.t02{
    margin-bottom: 16.541%;
    margin-left: -17.043%;
  }
  .trico-wrap .inner .figu .txt.t03{
    margin-bottom: 16.541%;
    margin-right: -35.088%;
  }
}

.cont-wrap{
  position: relative;
  background-color: #fff;
}
.cont-box{
  position: relative;
}
.cont-box::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background-color: #666;
  width: 100%;
  mix-blend-mode: multiply;
  opacity: 0;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
}
.cont-box::after{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  opacity: 1;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
  font-family: "OptimaLTPro-Roman";
  font-size: 60px;
  color: #fff;
  line-height: 1;
}
.cont-box.location::after{
  content: 'Location';
}
.cont-box.access::after{
  content: 'Access';
}
.cont-box.design::after{
  content: 'Design';
}
.cont-box.view::after{
  content: 'View';
}
.cont-box.quality::after{
  content: 'Quality';
}
.cont-box.plan::after{
  content: 'Plan';
}
.cont-box .txt{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
  z-index: 2;
  text-align: center;
}
.cont-box .txt .ttl{
  margin-bottom: 50px;
  font-family: "OptimaLTPro-Roman";
  font-size: 60px;
  color: #fff;
  line-height: 1;
}
.cont-box .txt .copy{
  margin-bottom: 64px;
  font-size: 17px;
  color: #fff;
  line-height: 2;
}
.cont-box .txt .lnk > a{
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
  font-family: "OptimaLTPro-Roman";
  font-size: 17px;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.02em;
}
.cont-box .txt .lnk .svg{
  position: absolute;
  bottom: 0;
  left: -30px;
  display: block;
  width: 180px;
}
.cont-box .txt .lnk .arrow{
  fill: none;
  stroke:#fff;
  stroke-width: 1px;
}
.cont-box .img .cap{
  position:absolute;
  bottom:0;
  right:0;
  margin:5px;
  font-size:12px;
  color:#fff;
  text-shadow: 1px 1px 10px #333;
}
@media screen and (min-width: 769px) {
  .cont-box:hover::before{
    opacity: 1;
  }
  .cont-box:hover::after{
    opacity: 0;
  }
  .cont-box:hover .txt{
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .cont-box::before{
    display: none;
  }
  .cont-box::after{
    display: none;
  }
  .cont-box .txt{
    position: relative;
    top: 0;
    left: 0;
    width: 79.688%;
    padding: 0 10.156% 10.667%;
    transform: none;
    opacity: 1;
  }
  /*.cont-box.location .txt{
    background: url("../img/top/bg_location_sp.jpg") no-repeat center top/cover;
  }
  .cont-box.access .txt{
    background: url("../img/top/bg_access_sp.jpg") no-repeat center top/cover;
  }
  .cont-box.plan .txt{
    background: url("../img/top/bg_plan_sp.jpg") no-repeat center top/cover;
  }
  .cont-box.design .txt{
    background: url("../img/top/bg_design_sp.jpg") no-repeat center top/cover;
  }
  .cont-box.view .txt{
    background: url("../img/top/bg_view_sp.jpg") no-repeat center top/cover;
  }*/
  .cont-box .txt .ttl{
    padding-top: 11.765%;
    margin-bottom: 7.516%;
    font-size: 10.417vw;
    color: #000;
  }
  .cont-box .txt .copy{
    margin-bottom: 10.784%;
    font-size: 3.125vw;
    color: #000;
    line-height: 2;
  }
  .cont-box .txt .lnk > a{
    padding-bottom: 1.307%;
    font-size: 3.125vw;
    color: #000;
  }
  .cont-box .txt .lnk .svg{
    width: 30.8vw;
    left:-4.8vw;
  }
  .cont-box .txt .lnk .arrow{
    stroke:#000;
  }
  .cont-box .img{
    position:relative;
  }
  .cont-box .img .cap{
    margin:1.333vw;
    font-size:2.667vw;
  }
}

.other-wrap{
  background-color: #fff;
  padding: 120px 0 160px;
}
.other-wrap .ttl{
  margin-bottom: 76px;
  font-family: "OptimaLTPro-Roman";
  font-size: 36px;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
}
.other-wrap .lnk-box{
  display: flex;
  justify-content: space-between;
  max-width: 1400px;
  padding:0 60px;
  box-sizing: border-box;
  margin: 0 auto;
}
.other-wrap .lnk-box .lnk > a{
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ccc;
  width: 400px;
  height: 272px;
  margin: 0 auto;
  font-family: "OptimaLTPro-Roman";
  font-size: 36px;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
}
.other-wrap .lnk-box .lnk.modelroom > a{
  background: url('../img/top/oc_bg_modelroom.jpg') no-repeat center/cover;
}
.other-wrap .lnk-box .lnk.quality > a{
  background: url('../img/top/oc_bg_quality.jpg') no-repeat center/cover;
}
.other-wrap .lnk-box .lnk.brand > a{
  background: url('../img/top/oc_bg_brand.jpg?01') no-repeat center/cover;
}
.other-wrap .lnk-box .lnk.plan > a{
  background: url('../img/top/oc_bg_plan.jpg?01') no-repeat center/cover;
}
.other-wrap .lnk-box .lnk.modelroom > a{
  background: url('../img/top/oc_bg_modelroom.jpg') no-repeat center/cover;
}
.other-wrap .lnk-box .lnk.sustainable > a{
  background: url('../img/top/oc_bg_sustainable.jpg?01') no-repeat center/cover;
}
.other-wrap .mov_bnr{
  max-width: 1400px;
  padding:0 60px;
  box-sizing: border-box;
  margin: 0 auto;
}
.other-wrap .mov_bnr a{
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ccc;
  width: 1280px;
  height: 272px;
  margin: 40px auto 0;
  font-family: "OptimaLTPro-Roman";
  font-size: 36px;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  background: url('../img/top/bnr_concept_movie_pc.jpg') no-repeat center/cover;
}

@media screen and (max-width: 768px) {
  .other-wrap{
    padding: 10.667% 0 7.813%;
    border-top:1px solid #b5b7bb;
  }
  .other-wrap .ttl{
    margin-bottom: 7.031%;
    font-size: 5.469vw;
  }
  .other-wrap .lnk-box{
    display: block;
    width: 84.375%;
    max-width: 100%;
    padding:0;
  }
  .other-wrap .lnk-box .lnk + .lnk{
    margin-top: 9.259%;
    width: 100%;
    height: 57.292vw;
    font-size: 5.469vw;
  }
  .other-wrap .lnk-box .lnk > a{
    width: 100%;
    height: 57.292vw;
    font-size: 5.469vw;
  }
  .other-wrap .mov_bnr{
    width: 84.375%;
    max-width: inherit;
    padding:0;
  }
  .other-wrap .mov_bnr a{
    width: 100%;
    height: 57.292vw;
    font-size: 5.469vw;
    margin: 9.259% auto 0;
    background: url('../img/top/bnr_concept_movie_sp.jpg') no-repeat center/cover;
  }
}

.cover{
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: 100%;
  z-index: 1000;
}
.cover::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	height: 0;
	opacity: 0;
	z-index: 9;
}
.cover.loaded::after {
	opacity: 1;
}
.cover .bg{
  position: absolute;
  top: 0;
  left: 0;
  /*background: url("../img/top/kv.jpg") no-repeat center/cover;*/
  width: 100%;
  height: 100%;
  opacity: 1;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
}
.cover.load .bg{
  opacity: 1;
}
.cover .bg #start_video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-width: 101%;
  min-height: 101%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
/*.cover .bg{
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/top/kv.jpg") no-repeat center/cover;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
}
.cover.load .bg{
  opacity: 1;
}*/
/*.cover .catch {
  color:#be9461;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 536px;
  margin: 152px 192px;
  font-size: 30.14px;
  letter-spacing: 0.38em;
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
  z-index: 2;
}
.cover.load .catch{
  opacity: 1;
}
.cover .catch .en {
  display: inline-block;
  font-family: "OptimaLTPro-Roman";
  font-size: 92.62px;
  color: #be9461;
  letter-spacing: 0.01em;
}
.cover .catch .fs {
  display: inline-block;
  margin: 0 auto 40px;
  font-size: 22px;
  color: #be9461;
  letter-spacing: -0.06em;
}*/
.cover .catch {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 536px;
  margin: -8.238% auto 0;
  font-size: 30.14px;
  color: #fff;
  letter-spacing: 0.38em;
  text-align: center;
  z-index: 2;
}
.cover .catch .en {
  display: inline-block;
  font-family: "OptimaLTPro-Roman";
  font-size: 92.62px;
  letter-spacing: 0.01em;
}
.cover .catch .fs {
  display: inline-block;
  margin: -10px 0 40px;
  font-size: 22px;
  letter-spacing: -0.06em;
}
.cover .loading {
	position: relative;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: 10;
}
.cover.loaded .loading {
	opacity: 0;
	pointer-events: none;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.cover .loading::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url("../img/top/load_logo.png") no-repeat center;
	background-size: contain;
	height: 0;
	margin: auto;
}
.cover .skip_btn {
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px #fff;
  font-family: "OptimaLTPro-Roman";
	color: #fff;
	line-height: 1;
	box-sizing: border-box;
	z-index: 9;
}
@media screen and (min-width: 769px) {
	.cover::after {
		background-image: url("../img/top/mov_logo_pc.png");
		width: 452px;
		padding-bottom: 28px;
		margin: 50px 40px;
	}
	.cover .loading {
		background-image: url("../img/top/load_bg_pc.jpg");
	}
	.cover .loading::before {
		width: 19.048%;
		padding-bottom: 5.357%;
	}
	.cover .skip_btn {
		width: 80px;
		height: 28px;
		padding-top: 4px;
		margin: 10px 20px;
		font-size: 18px;
		cursor: pointer;
		-webkit-transition: all .4s;
		transition: all .4s;
	}
	.cover .skip_btn:hover {
		background-color: rgba(255,255,255,.4);
	}
  /*.cover .catch {
    width: 31.905%;
    margin: 9.048% 11.429%;
    font-size: 1.726vw;
  }
  .cover .catch .en {
    font-size: 8.690vw;
  }
  .cover .catch .fs {
    margin: 0 auto 6.098%;
    font-size: 1.31vw;
  }*/
}
@media screen and (max-width: 768px) {
  #container{
    overflow: hidden;
    width: 100%;
  }
  .cover{
    overflow: hidden;
  }
	.cover::after {
		background-image: url("../img/top/mov_logo_sp.png");
		width: 61.333%;
		padding-bottom: 6%;
		margin: 5.067% 2.4%;
	}
  .cover .bg{
		background-image: url("../img/top/load_bg_sp.jpg");
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
  }
  .cover .bg #start_video {
    position: absolute;
    top: 50%;
    left: 50%;
		background: transparent;
    width: 100vw;
    height: 100vw;
    min-width: 101%;
    min-height: 101%;
    transform: translate(-50%, -50%);
    z-index: 1;
    }
  /*.cover .catch {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
    padding-bottom: 12.37%;
    margin: 0 auto;
    font-size: 4.019vw;
    color: #be9461;
    letter-spacing: 0.4em;
    transform: none;
    box-sizing: border-box;
  }
  .cover .catch .en {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin-top: 19.531%;
    font-size: 12.349vw;
  }
  .cover .catch .fs {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin-top: 36.458%;
    font-size: 2.865vw;
  }*/
  .cover .catch {
    width: 100%;
    font-size: 4.019vw;
    transform: none;
    transform: translate(0, -50%);
  }
  .cover .catch .en {
    font-size: 12.349vw;
  }
  .cover .catch .fs {
    margin: 0 0 8.333%;
    font-size: 2.865vw;
  }
	.cover .loading {
		background-image: url("../img/top/load_bg_sp.jpg");
	}
	.cover .loading::before {
		width: 59.733%;
		padding-bottom: 16.8%;
	}
	.cover .skip_btn {
		width: 21.467%;
		padding: 1.333% 0 0.5%;
		margin: 1.333%;
		font-size: 3.733vw;
	}
}
body.lock{
  height: var(--vh);
  height:100svh;
	overflow: hidden;
}

.mov_catch{
	position: fixed;
  background: linear-gradient(to top, #059398, #2bdee4 100%);
	width: 100%;
	height: var(--vh);
  height:100svh;
	z-index: 1000;
}
.mov_catch .catch{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: no-repeat center;
	background-size: contain;
	margin: auto;
  background-image: url("../img/top/mov_catch.png");
}
.mov_catch .cap{
	position: absolute;
	right: 0;
	bottom: 0;
	margin: auto;
	letter-spacing: -0.04em;
  color:#fff;
  font-family: YakuHanMP,"Zen Kaku Gothic New", sans-serif;
}
@media screen and (min-width: 769px) {
	.mov_catch .catch{
		width: 645px;
		height: 129px;
	}
	.mov_catch .cap{
		margin: 4px;
		font-size: 12px;
	}
}
@media screen and (max-width: 768px) {
	.mov_catch .catch{
		width: 86%;
		padding-bottom: 19.922%;
    top: 50%;
	}
	.mov_catch .cap{
		left: 0;
		width: 94.667%;
		margin: 0 auto 2.667%;
		font-size: 2.4vw;
		line-height: 1.444;
	}
}

/*アニメーション*/

@keyframes scArrow {
  0% {
    height: 0;
  }
  50% {
    height: 73px;
  }
  100% {
    height: 73px;
  }
}



.top-plan-wrap{
  width:100%;
  background-color:#fff;
  padding:100px 0 110px;
  text-align: center;
  overflow: hidden;
}
.top-plan-wrap .ttl{
  font-family: "OptimaLTPro-Roman";
  font-size: 72px;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ae9877;
  margin-bottom:63px;
}
.top-plan-wrap .over_wrap{
  width:1280px;
  margin:0 auto;
  position: relative;
}
.top-plan-wrap .slideblk{
  width:1280px;
  overflow: hidden;
}
/*.top-plan-wrap .slideblk .swiper-wrapper{
  margin:0 auto;
  width:100%;
}*/
.top-plan-wrap .slideblk .swiper-wrapper .swiper-slide{
  width:calc((100% - 80px) / 3);
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position:relative;
}
.ldk_ttl{
  font-size: 40px;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ae9877;
  position:relative;
  display:flex;
  align-items: center;
  justify-content: center;
  gap:40px;
  width:100%;
  font-family: "OptimaLTPro-Roman";
  margin-bottom:30px;
  opacity:0;
}
.ldk_ttl::before,
.ldk_ttl::after{
  content:'';
  display:inline-block;
  flex: auto;
  height:1px;
  border-top:1px solid #ae9877;
}
.ldk_ttl.pc{
  opacity:1;
  color: #ae9877;
  position: absolute;
  top:0;
  width:calc(300% + 80px);
}
.ldk_ttl.pc::before,
.ldk_ttl.pc::after{
  border-top:1px solid #ae9877;
}
.over_wrap .swiper-pagination{
  position:absolute;
  bottom:-50px;
  left:50%;
  transform: translate(-50%,0);
}
.over_wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
  /*background: #aaa;*/
  margin:0 10px;
}
.over_wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active{
  background: #ae9877;
}
.over_wrap .swiper-prev,
.over_wrap .swiper-next{
  position:absolute;
  top:50%;
  left:-82px;
  transform: translate(0,-50%);
  z-index: 1;
  cursor: pointer;
  transition-duration: .3s;
}
.over_wrap .swiper-next{
  left:auto;
  right:-68px;
}
.over_wrap .swiper-button-disabled{
  opacity:.5;
  transition-duration: .3s;
  pointer-events: none;
}
.over_wrap .swiper-prev span,
.over_wrap .swiper-next span{
  position: relative;
  display: inline-block;
  width:30px;
}
.over_wrap .swiper-prev span::before,
.over_wrap .swiper-next span::before{
  content: '';
  width: 42px;
  height: 42px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(-135deg);
}
.over_wrap .swiper-next span::before {
  transform: rotate(45deg);
}
.top-plan-wrap .all_btn{
  margin:90px auto 0;
  width:400px;
  height:82px;
}
.top-plan-wrap .all_btn a{
  width:100%;
  height:100%;
  display:flex;
  align-items: center;
  justify-content: center;
  border:1px solid #ae9877;
  box-sizing: border-box;
  color:#ae9877;
  text-align: center;
  line-height: 1;
  letter-spacing:0.02em; 
  font-size:17px;
  position: relative;
}
.top-plan-wrap .all_btn a::after{
  content:'';
  display: inline-block;
  position: absolute;
  top:50%;
  right:20px;
  transform: translate(0, -50%);
  background: url("../img/top/ico_pbtn_arrow.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  width: 30px;
  height: 11px;
}

.swiper_box{
  width:100%;
	position: relative;
	background-color: #fff;
	border-top: solid 4px #ae9877;
  border-left: solid 1px #ae9877;
  border-right: solid 1px #ae9877;
	padding: 30px 29px 85px;
	box-sizing: border-box;
}
.swiper_box .plan_wrap{
	position: relative;
	display: flex;
	justify-content: space-between;
}
.swiper_box .plan_wrap .spec_wrap{
	width: 140px;
  text-align: left;
  z-index: 1;
}
.swiper_box .plan_wrap .type{
	margin-bottom: 78px;
  font-family: "OptimaLTPro-Roman";
	font-size: 53px;
	color: #ae9877;
	line-height: 1;
  white-space: nowrap;
}
.swiper_box .plan_wrap .type .smChar{
	font-size: 24px;
	color: #ae9877;
  margin-left: 7px;
}
.swiper_box .plan_wrap .ldk{
	border-bottom: solid 1px #1e1e1e;
	padding-bottom: 12px;
	margin-bottom: 12px;
  font-family: "OptimaLTPro-Roman";
	font-size: 31px;
	line-height: 1;
}
.swiper_box .plan_wrap .ldk .smChar{
	display: block;
	font-size: 16px;
  margin-top:2px;
}
.swiper_box .plan_wrap .fig{
	width: 200px;
  display: flex;
  align-items: center;
}
.swiper_box .plan_wrap .area{
  font-family: "OptimaLTPro-Roman";
	font-size: 20px;
	line-height: 1;
  color: #1e1e1e;
}
.swiper_box .plan_wrap .area .laChar{
	font-size: 28px;
}
.swiper_box .plan_wrap .area .smChar{
	font-size: 16px;
  font-family: YakuHanMP,'Zen Old Mincho', serif;
}
.swiper_box .feature_wrap{
  width:100%;
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top:23px;
}
.swiper_box .feature_wrap .feature{
  width:167.5px;
  height:35px;
  line-height:35px;
  font-size:15px;
  color:#fff;
  background: -webkit-linear-gradient(left, #667480, #74838f 50%, #667480 100%);
  background: -o-linear-gradient(left, #667480, #74838f 50%, #667480 100%);
  background: linear-gradient(to right, #667480, #74838f 50%, #667480 100%);
  box-sizing:border-box;
  border-radius: 10px 0 0 0;
  text-align: center;
  margin-bottom:5px;
}
.swiper_box .feature_wrap .feature:nth-last-child(2),
.swiper_box .feature_wrap .feature:last-child{
  margin-bottom:0;
}
.swiper_box .btn{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:54px;
}
.swiper_box .btn a{
  height:100%;
  background: linear-gradient(to right, #ae9877, #b9a98e 50%, #ae9877 100%);
  font-size:16px;
  line-height:54px;
  color:#fff;
  display:flex;
  align-items: center;
  justify-content: center;
  font-family: "OptimaLTPro-Roman";
}
.swiper_box .btn a::after{
  content:'';
  display:inline-block;
  background: url("../img/plan/btn_ico_more_arrow.svg");
  background-size:100%;
  background-repeat: no-repeat;
  width: 25px;
  height:8px;
  margin-left:15px;
}
@media screen and (max-width: 1500px) {
  .over_wrap .swiper-prev,
  .over_wrap .swiper-next{
    left:-3.003vw;
  }
  .over_wrap .swiper-next{
    left:auto;
    right:-1.978vw;
  }
}
@media screen and (max-width: 768px) {
  .top-plan-wrap{
    padding:12.63vw 0 14.323vw;
  }
  .top-plan-wrap .ttl{
    font-size: 10.417vw;
    margin-bottom:6.51vw;
  }
  .top-plan-wrap .over_wrap{
    width:73.333%;
  }
  .top-plan-wrap .slideblk{
    width:100%;
  }
  .top-plan-wrap .slideblk .swiper-wrapper .swiper-slide{
    width:100%;
  }
  .ldk_ttl{
    font-size: 6.25vw;
    gap:3.906vw;
    margin-bottom:3.255vw;
    opacity:1;
  }
  .ldk_ttl.pc{
    display:none;
  }
  .over_wrap .swiper-pagination{
    bottom:-8.667vw;
  }
  .over_wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
    margin:0 1.8vw;
  }
  .over_wrap .swiper-prev,
  .over_wrap .swiper-next{
    left:-8vw;
  }
  .over_wrap .swiper-next{
    left:auto;
    right:-6.667vw;
  }
  .over_wrap .swiper-prev span,
  .over_wrap .swiper-next span{
    width:4vw;
  }
  .over_wrap .swiper-prev span::before,
  .over_wrap .swiper-next span::before{
    width: 5.6vw;
    height: 5.6vw;
  }
  .top-plan-wrap .all_btn{
    margin:15.467vw auto 0;
    width:73.333%;
    height:15.067vw;
  }
  .top-plan-wrap .all_btn a{
    font-size:3.467vw;
  }
  .top-plan-wrap .all_btn a::after{
    right:4vw;
    width: 5.333vw;
    height: 2vw;
  }
  .swiper_box{
    border-top: solid 0.8vw #ae9877;
    padding: 7.067vw 7.091% 15.333vw;
  }
  .swiper_box .plan_wrap .spec_wrap{
    width: 41.064%;
  }
  .swiper_box .plan_wrap .type{
    margin-bottom: 13.667vw;
    font-size: 9.755vw;
    white-space: nowrap;
  }
  .swiper_box .plan_wrap .type .smChar{
    font-size: 4.376vw;
    margin-left:1.333vw;
  }
  .swiper_box .plan_wrap .ldk{
    padding-bottom: 2vw;
    margin-bottom: 2.4vw;
    font-size: 5.707vw;
  }
  .swiper_box .plan_wrap .ldk .smChar{
    font-size: 2.891vw;
    margin-top:0.667vw;
  }
  .swiper_box .plan_wrap .fig{
    width: 58.936%;
  }
  .swiper_box .plan_wrap .area{
    font-size: 3.763vw;
  }
  .swiper_box .plan_wrap .area .laChar{
    font-size: 5.251vw;
  }
  .swiper_box .plan_wrap .area .smChar{
    font-size: 2.989vw;
  }
  .swiper_box .feature_wrap{
    margin-top:4.267vw;
  }
  .swiper_box .feature_wrap .feature{
    width:49.149%;
    height:6.533vw;
    line-height:6.533vw;
    font-size:2.749vw;
    margin-bottom:0.933vw;
    border-radius: 10px 0 0 0;
  }
  .swiper_box .feature_wrap .feature:nth-last-child(2),
  .swiper_box .feature_wrap .feature:last-child{
    margin-bottom:0;
  }
  .swiper_box .btn{
    height:10.133vw;
  }
  .swiper_box .btn a{
    font-size:3.125vw;
    line-height:10.133vw;
  }
  .swiper_box .btn a::after{
    width: 4.8vw;
    height:1.467vw;
    margin-left:2.667vw;
  }
}



.remodal-overlay {
  background: rgba(0, 0, 0, 0);
  opacpity:0;
  transition-duration: .25s;
}
.remodal-overlay.remodal-is-opened{
  opacity:1;
  transition-duration: .25s;
}
.remodal-wrapper{
  padding:0 0 240px;
  background: url("../img/top/bg_gran_blue_modal_pc.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  opacity:0;
  transition-duration: .25s;
}
.remodal-wrapper.remodal-is-opened{
  opacity:1;
  transition-duration: .25s;
}
.remodal{
  width:1000px;
  margin:0 auto;
  height:auto;
  padding-top:215px;
}
.remodal .vBox{
  width:100%;
  position: relative;
  margin-top:110px;
  cursor: pointer;
  transition-duration: .5s;
}
.remodal .vBox:hover{
  opacity:.75;
  transition-duration: .5s;
}
.remodal .vBox video{
  width:100%;
}
.remodal .vBox .ico_play{
  width:91px;
  pointer-events: none;
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  opacity:1;
  transition-duration: .3s;
}
.remodal .vBox .ico_play.off{
  opacity:0;
  transition-duration: .3s;
}
.vBox + .movClose{
  position: fixed;
  top:78px;
  right:78px;
  width:61px;
  cursor: pointer;
  opacity:0;
}
.remodal-is-opened .vBox + .movClose{
  opacity:1;
  transition-duration: .1s;
}

@media screen and (max-width: 768px) {
  .remodal-wrapper{
    padding:0 0 31.25vw;
    background: url("../img/top/bg_gran_blue_modal_sp.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
  }
  .remodal{
    width:100%;
    padding-top:31.25vw;
  }
  .remodal .vBox{
    width:84.375%;
    margin:13.021vw auto 0;
  }
  .remodal .vBox .ico_play{
    width:7.813vw;
  }
  .vBox + .movClose{
    top:5.208vw;
    right:5.208vw;
    width:7.943vw;
  }
}


.kv-wrap .kv-slideblk{
  width:100%;
  height:100%;
}
.kv-wrap .kv-swiper-pagination{
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translate(-50%,0);
  width: auto;
  z-index: 1;
  color:#fff;
  font-family: "OptimaLTPro-Roman";
  font-size:19px;
  letter-spacing: -0.06em;
}
.kv-wrap .kv-swiper-prev,
.kv-wrap .kv-swiper-next{
  position: absolute;
  bottom: 23px;
  left: calc(50% - 38px);
  transform: translate(-50%,0);
  width: auto;
  z-index: 1;
  cursor: pointer;
}
.kv-wrap .kv-swiper-next{
  left: calc(50% + 32px);
}
.kv-wrap .kv-swiper-prev span,
.kv-wrap .kv-swiper-next span{
  position: relative;
  display: inline-block;
  width:7px;
}
.kv-wrap .kv-swiper-prev span::before,
.kv-wrap .kv-swiper-next span::before{
  content: '';
  width: 11px;
  height: 11px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(-135deg);
}
.kv-wrap .kv-swiper-next span::before {
  transform: rotate(45deg);
}
.mainVisual__bg {
  width: 100%;
  height: 100%;
  position: relative;
}
.slide01 .mainVisual__bg {
  -webkit-filter: blur(10px) grayscale(0.4);
          filter: blur(10px) grayscale(0.4);
  opacity: 0;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: opacity 1.4s ease, -webkit-filter 3s ease, -webkit-transform 3s ease;
  transition: opacity 1.4s ease, -webkit-filter 3s ease, -webkit-transform 3s ease;
  transition: filter 3s ease, opacity 1.4s ease, transform 3s ease;
  transition: filter 3s ease, opacity 1.4s ease, transform 3s ease, -webkit-filter 3s ease, -webkit-transform 3s ease;
  will-change: transform;
}
.kv-wrap.is-end .slide01 .mainVisual__bg {
  -webkit-filter: blur(0) grayscale(0);
          filter: blur(0) grayscale(0);
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.photo__pic {
  overflow: hidden;
  background: url("../img/top/kv01_pc.jpg") no-repeat center/cover;
  height:100%;
}
.slide02 .photo__pic {
  background: url("../img/top/kv02_pc.jpg") no-repeat center/cover;
}
.slide03 .photo__pic {
  background: url("../img/top/kv03_pc.jpg") no-repeat center/cover;
}
.slide04 .photo__pic {
  background: url("../img/top/kv04_pc.jpg") no-repeat center/cover;
}
.slide05 .photo__pic {
  background: url("../img/top/kv05_pc.jpg") no-repeat center/cover;
}
.slide06 .photo__pic {
  background: url("../img/top/kv06_pc.jpg") no-repeat center/cover;
}
.photo__pic + .caption{
  position: absolute;
  left:0;
  bottom:50px;
  font-size:12px;
  color:#fff;
  margin:5px;
}
.photo__pic + .caption.bk{
  color:#000;
}
.mainVisual__lead {
  position: absolute;
  bottom: 10.667%;
  left: 50%;
  transform: translate(-50%,0);
  width: 38.512%;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
  -webkit-transition: opacity 1.4s ease, -webkit-filter 2s ease;
  transition: opacity 1.4s ease, -webkit-filter 2s ease;
  transition: filter 2s ease, opacity 1.4s ease;
  transition: filter 2s ease, opacity 1.4s ease, -webkit-filter 2s ease;
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
  z-index: 1;
}
.kv-wrap.is-end .mainVisual__lead {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}
.kv_catch{
  position: absolute;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
  -webkit-transition: opacity 1.4s ease, -webkit-filter 2s ease;
  transition: opacity 1.4s ease, -webkit-filter 2s ease;
  transition: filter 2s ease, opacity 1.4s ease;
  transition: filter 2s ease, opacity 1.4s ease, -webkit-filter 2s ease;
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
  z-index: 1;
}
.swiper-slide-active .kv_catch{
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}
.slide02 .kv_catch{
  width: 31.667%;
  top:5vw;
  left: 4.881%;
}
.slide03 .kv_catch{
  width: 34.97%;
  bottom:6.845vw;
  right:6.19%;
}
.slide04 .kv_catch{
  width: 32.024%;
  top:5.298vw;
  left: 5%;
}
.slide05 .kv_catch{
  width: 36.667%;
  top:7.143vw;
  right:6.31%;
}
.slide06 .kv_catch{
  width: 26.31%;
  top:7.143vw;
  left: 7.024%;
}

@media screen and (min-width: 769px) {
  
}

@media screen and (max-width: 768px) {
  .kv-wrap .kv-swiper-pagination{
    bottom: 13.467vw;
    font-size:4.029vw;
  }
  .kv-wrap .kv-swiper-prev,
  .kv-wrap .kv-swiper-next{
    bottom: 17.067vw;
    left: calc(50% - 38px);
  }
  .kv-wrap .kv-swiper-next{
    left: calc(50% + 32px);
  }
  .kv-wrap .kv-swiper-prev span,
  .kv-wrap .kv-swiper-next span{
    width:1.6vw;
  }
  .kv-wrap .kv-swiper-prev span::before,
  .kv-wrap .kv-swiper-next span::before{
    width: 2.267vw;
    height: 2.267vw;
    border-top: solid 0.267vw #fff;
    border-right: solid 0.267vw #fff;
  }
  .photo__pic {
    overflow: hidden;
    background: url("../img/top/kv01_sp.jpg") no-repeat center/cover;
    height:100%;
  }
  .slide02 .photo__pic {
    background: url("../img/top/kv02_sp.jpg") no-repeat center/cover;
  }
  .slide03 .photo__pic {
    background: url("../img/top/kv03_sp.jpg") no-repeat center/cover;
  }
  .slide04 .photo__pic {
    background: url("../img/top/kv04_sp.jpg") no-repeat center/cover;
  }
  .slide05 .photo__pic {
    background: url("../img/top/kv05_sp.jpg") no-repeat center/cover;
  }
  .slide06 .photo__pic {
    background: url("../img/top/kv06_sp.jpg") no-repeat center/cover;
  }
  .photo__pic + .caption{
    bottom:8.333vw;
    left:auto;
    right:0;
    font-size:2.667vw;
    margin:0.667vw 1.333vw;
  }
  .photo__pic + .caption.bk{
    color:#fff;
  }
  .mainVisual__lead {
    bottom: 30.667vw;
    width: 95.867%;
  }
  .slide02 .kv_catch{
    width: 15.333%;
    top:4.667vw;
    left: 6.533%;
  }
  .slide03 .kv_catch{
    width: 15.133%;
    bottom:auto;
    top:4.533vw;
    right:8.267%;
  }
  .slide04 .kv_catch{
    width: 28.267%;
    top:4.8vw;
    left: 6.4%;
  }
  .slide05 .kv_catch{
    width: 28.8%;
    top:4.667vw;
    right:auto;
    left:6.4%;
  }
  .slide06 .kv_catch{
    width: 14.933%;
    top:4.933vw;
    left: auto;
    right:8.133%;
  }
}


#header{
  top: -122px;
  -webkit-transition: top 0.5s ease;
  transition: top 0.5s ease;
}
#header.visible,
#header.open{
  top: 0;
}
.fixBtn {
  display: none;
}

@media screen and (max-width: 768px) {
  #header{
    top: -16.267vw;
  }
  #header.visible,
  #header.open{
    top: 0;
  }
  #header .sp-head-menu {
    top: -16.267vw;
    -webkit-transition: top 0.5s ease;
    transition: top 0.5s ease;
  }
  #header.visible .sp-head-menu,
  #header.open .sp-head-menu{
    top: 5.067vw;
  }
  .fixBtn {
    display: flex;
    opacity: 0;
    transition-duration: .3s;
    pointer-events: none;
  }
  .fixBtn.visible {
    opacity: 1;
    transition-duration: .3s;
    pointer-events: auto;
  }
}