@charset "utf-8";

.pcOnly {
    display: block !important;
}

.spOnly {
    display: none !important;
}

@media screen and (max-width: 640px) {
    #browsebar-wrapper {
        height: 0;
        overflow: hidden;
    }

    .pcOnly {
        display: none !important;
    }

    .spOnly {
        display: block !important;
    }

}
.mod_headerbar_in_nav_blocklink__Conversion a{
  background-color: #ba5d00;
}
.mod_headerbar_in_nav_blocklink ul li.mod_headerbar_in_nav_blocklink__Conversion a:hover   {background-color:#e37100;}
.mod_headerbar_in_nav_blocklink ul li.mod_headerbar_in_nav_blocklink__Conversion a:active  {background-color:#e37100;}

.ryumin {
font-family: "游明朝", "YuMincho", Hiragino Mincho ProN, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* ex_clearfix
-----------------------------------------*/ 
.ex_clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/* ex_clearfix
-----------------------------------------*/ 
#sectionContents .ex_marginB0{
 margin-bottom:0px!important;
}
#sectionContents .ex_marginBS{
 margin-bottom:10px!important;
}
#sectionContents .ex_marginBM{
 margin-bottom:20px!important;
}
#sectionContents .ex_marginT0{
 margin-top:0px!important;
}
#sectionContents .ex_marginTSS{
 margin-top:5px!important;
}
#sectionContents .ex_marginTS{
 margin-top:10px!important;
}
#sectionContents .ex_marginTM{
 margin-top:20px!important;
}
#sectionContents .ex_marginTL{
 margin-top:30px!important;
}
#sectionContents .ex_marginTLL{
 margin-top:50px!important;
}

.headerbarTitle.is-location {
  font-size: 28px;
}

.headerbarTitle.is-location span {
  font-size: 20px;
}

@media screen and (max-width: 640px) {
  .headerbarTitle.is-location {
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 16px;
    line-height: 1.5;
  }
  .headerbarTitle.is-location span {
    display: block;
    font-size: 13px;
  }
  .headerbarTitle.is-location + .headerbarMenu {
    top: 11px;
  }
}

/* mod_wide_section
-----------------------------------------*/ 
.mod_wide_section{
  margin: 0 auto;
  width: 1200px;
  line-height: 1.6;
  font-size: 1.13em;
}

.mod_wide_section img {
	max-width: 100%;
	height: auto;
}
	
@media screen and (max-width: 1024px) { 
  .mod_wide_section{
    width:1024px;
  }
}

@media screen and (max-width: 640px) {
  .mod_wide_section{
    width:auto;
  }
}


/* mod_section
-----------------------------------------*/ 
.mod_section{
  margin: 0 auto;
  width: 967px;
  line-height: 1.6;
  font-size: 1.13em;
}

.mod_section img {
	max-width: 100%;
	height: auto;
	}
@media screen and (max-width: 640px) {
  .mod_section{
    width:auto;
  }
  .section-inner {
	width: auto;
	margin: 0 2.60416%;
	}
}


#sectionContents .sec_line_height2{
  line-height:2;
  letter-spacing: 2px;
}

/*-------------------------
   mv
-------------------------*/
.sec_mv_area{
  position:relative;
  box-sizing: border-box;
}
.sec_mv_area .mv{
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  overflow:hidden;
  z-index:1;
  transition:left .5s ease;
}
.sec_mv_area .mv .slider{
  width:100%;
}
.sec_mv_area .mv .slider .slick-slide img {
  transform: scale(1);
}
.sec_mv_area .mv .slider .slick-active.slick-slide img {
  animation-name: mvslide;
  animation-delay: 0s;
  animation-duration: 10.9s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  transform: scale(1);
}
@keyframes mvslide {
  0% {
    transform: scale(1.06);
  }
  100% {
   transform: scale(1);
  }
}
.sec_mv_area .mv .slider button{
  display:none !important;
}
.sec_mv_area .slider .sp_only{
    display:none !important;
 }
.sec_mv_area .mv_inner{
}
.sec_mv_area .mv_inner::before{
  position:relative;
  content: "";
  display: block;
  top:0;
  left:0;
  padding-top: 41.666667%;
  opacity: 0.7;
  z-index: 3;
  box-sizing: border-box;
}
.sec_mv_area .mv img{
  width:100%;
}
.mv_catch{
  position: absolute;
  width: 100%;
  z-index:2;
  text-align: center;
  box-sizing: border-box;
  transition:all .5s ease;
  top: 50%;
  left: 50%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
}

.mv_catch img{
  width: 400px!important;
}

@media screen and (max-width: 1080px) {
.mv_catch img{
  width: 400px!important;
}
}

@media screen and (max-width: 1280px) {
  .sec_mv_area .mv{
   /* left: -30%;*/
  }
}
@media screen and (max-width: 640px) {
  .sec_mv_area .mv{
    left:0;
    min-width: auto;
  }
   .sec_mv_area .mv_inner{
    margin-bottom:auto;
   }
  .sec_mv_area .mv_inner::before{
    padding-top: 126%;
    min-height: auto;
  }
  #flowMvs {
    width:100%;
    padding-top:126%;
    overflow:hidden;
    position:relative;
  }
  #flowMvs .flowMv {
    position:absolute;
    z-index:1;
    top:0;
    height:100%;
    width: 100%;
    opacity:1;
    transition:opacity 0.8s;
    overflow:hidden;
  }
  #flowMvs .flowMv img {
    height:100%;
    width:auto;
    object-fit: cover;
    transition:transform 30s linear;
    max-width: initial;
  }
  #flowMvs .flowMv.out{
    z-index:3;
    opacity:0;
  }
  #flowMvs .flowMv.active{
    z-index:2;
  }
  #flowMvs .flowMv.active{
    z-index:2;
  }
  .mv_catch{
  position: absolute;
  width: 100%;
  z-index:200;
  text-align: center;
  box-sizing: border-box;
  transition:all .5s ease;
  top: 50%;
  left: 50%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
  }
.mv_catch img{
  width: 80vw!important;
}
  .sec_mv_area .mv .info{
    top: auto;
    bottom: 0;
    height:100px;
  }
  .sec_mv_area .mv .info::before{
    height:40px;
    width:1px;
    left:-1px;
  }
  .sec_mv_area .mv .info img{
    width: 50%;
  }
}
@keyframes mvslideSp {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.sec_mv_area .mv .info{
  position:absolute;
  left:20px;
  top:57%;
  border-left:#fff solid 1px;
  height:140px;
}
.sec_mv_area .mv .info::before{
  content:"";
  display:block;
  position:absolute;
  border-left:#CC0000 solid 1px;
  height:40px;
  width:1px;
  left:-1px;
}
.sec_mv_area .mv .info img{
  width:auto;
}


/*-------------------------
   lead_wrapper
-------------------------*/
.lead_wrapper{
    padding: 6em 0;
    text-align: center;
	background: #2e2e2e;
	color: #FFF;
  }

.lead_wrapper h3{
    margin:0 0 1em;
    font-size: 162.5%;
    font-weight: bold;
  }

.lead_wrapper p{
    font-size: 108%;
	margin-bottom: 2em;
  }

@media screen and (max-width: 640px) {
.lead_wrapper{
    padding: 4em 0;
  }
	
.lead_wrapper h3{
    font-size: 5.4vw;
  }

.lead_wrapper p{
    font-size: 4vw;
  }
}

/*-------------------------
   case_wrapper
-------------------------*/
.case_wrapper{
    padding: 6em 0;
	background: #000;
	color: #FFF;
  }

.case_wrapper h3{
    margin:0 0 2em;
    font-size: 162.5%;
    font-weight: bold;
    text-align: center;
  }

.case_wrapper p{
    font-size: 108%;
	margin-bottom: 2em;
  }

@media screen and (max-width: 640px) {
.case_wrapper{
    padding: 4em 0;
  }
	
.case_wrapper h3{
    font-size: 5.4vw;
  }

.case_wrapper p{
    font-size: 4vw;
  }
}

/* case_block ----------------------- */
.case_block{
	padding-bottom: 4em;
  }
@media screen and (max-width: 640px) {
	.case_block{
	padding-bottom: 2em;
  }
  }
/* case_right_img_block case_left_img_block----------------------- */
.case_right_img_block,
.case_left_img_block{
	position: relative;
	height: 530px;
  }
.case_right_img{
	position: absolute;
	top:0;
	right:0;
  }
.case_right_text{
	position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	background-color:rgba(0,0,0,0.2);
	padding: 2em;
  }

.case_left_img{
	position: absolute;
	top:0;
	left:0;
  }
.case_left_text{
	position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	background-color:rgba(0,0,0,0.2);
	padding: 2em;
	text-align: right;
  }

.case_right_text h4,
.case_left_text h4{
    font-size: 225%;
	width: 240px;
	padding-bottom: 0.4em;
	background: url(/sr_contents/tokyo/l-class/img/bg_case_ttl.png) no-repeat center bottom;
	margin-bottom: 0.6em;
  }
@media screen and (max-width: 640px) {
.case_right_img_block,
.case_left_img_block{
	height: auto;
  }
.case_right_img,
.case_left_img{
	position: static;
	width: 100%;
  }
.case_right_text,
.case_left_text{
	position: static;
	text-align: center;
	transform: unset;
	margin-top: 1em;
	padding: 0em;
	background: none;
  }

.case_right_text h4,
.case_left_text h4{
    font-size: 6vw;
	width: auto;
  }
	
.case_right_text p,
.case_left_text p{
    font-size: 4vw;
  }
}

/*-------------------------
   simulation_wrapper
-------------------------*/
.simulation_wrapper{
    padding: 0 0 6em;
    text-align: center;
	background: #2e2e2e;
	color: #FFF;
  }

.simulation_wrapper h3{
    margin:0 auto 1em;
    font-size: 162.5%;
    font-weight: bold;
	padding-bottom: 0.4em;
	background: url(/sr_contents/tokyo/l-class/img/bg_ttl.png) no-repeat center bottom;
}

.simulation_wrapper p{
    font-size: 108%;
	margin-bottom: 2em;
  }

@media screen and (max-width: 640px) {
.simulation_wrapper{
    padding: 0 0 4em;
  }
	
.simulation_wrapper h3{
    font-size: 5.4vw;
	width: 90vw;
  }
.simulation_wrapper p{
    font-size: 4vw;
  }
}

/*-------------------------
   support_wrapper
-------------------------*/
.support_wrapper{
    padding: 6em 0;
    text-align: center;
	background: #2e2e2e;
	color: #FFF;
  }

.support_wrapper h3{
    margin:0 auto 1em;
    font-size: 162.5%;
    font-weight: bold;
	padding-bottom: 0.4em;
	background: url(/sr_contents/tokyo/l-class/img/bg_ttl.png) no-repeat center bottom;
}

.support_wrapper p{
    font-size: 108%;
	margin-bottom: 2em;
  }

@media screen and (max-width: 640px) {
.support_wrapper{
    padding: 4em 0;
  }
	
.support_wrapper h3{
    font-size: 5.4vw;
	width: 90vw;
  }
.support_wrapper p{
    font-size: 4vw;
  }
}
/*-------------------------
   movie_wrapper
-------------------------*/
.movie_wrapper{
    padding: 6em 0;
    text-align: center;
	background: #686868;
	color: #FFF;
  }

.movie_wrapper h3{
    margin:0 0 1em;
    font-size: 162.5%;
    font-weight: bold;
  }

@media screen and (max-width: 640px) {
.movie_wrapper{
    padding: 4em 0;
  }
	
.movie_wrapper h3{
    font-size: 5.4vw;
  }
}

/*-------------------------
   youtube_box
-------------------------*/
.youtube_box {
  width: 968px;
	height: auto;
	margin: 0 auto;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 640px) {
.youtube_box {
  width: auto;
}
}
/* btn ----------------------- */
.soudan-btn {
	width: 690px;
	height: 82px;
	box-sizing: border-box;
	margin: 0 auto;
	background: url(/sr_contents/tokyo/l-class/img/bg_btn.png) no-repeat;
}
.soudan-btn a {
	position: relative;
	color: #FFF!important;
	font-size: 125%;
	font-weight: bold;
	vertical-align: middle;
	text-align: center;
	line-height: 1.6;
	text-decoration: none;
	width: 690px;
	height: 82px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.soudan-btn a:after {
	position: absolute;
	right: 30px;
	bottom: 20px;
	transition: all .2s;
	font-weight: normal;
	content: "";
    display: inline-block;
	background: url(/sr_contents/tokyo/l-class/img/icon_arrow.png) no-repeat center bottom;
    background-size: cover;
    width: 52px;
    height: 10px;
}

.soudan-btn a:hover::after {
	right: 16px;
}

@media screen and (max-width: 640px) {
.soudan-btn {
	width: 90vw;
	height: 15.652vw;
	background-size: cover!important;
	background: url(/sr_contents/tokyo/l-class/img/bg_btn_sp.png) no-repeat;
}
.soudan-btn a {
	font-size: 4vw;
	line-height: 1.4;
	width: 90vw;
	height: 15.652vw;
}
.soudan-btn a:after {
	position: absolute;
	right: 30px;
	bottom: 14px;
	transition: all .2s;
	font-weight: normal;
	content: "";
    display: inline-block;
	background: url(/sr_contents/tokyo/l-class/img/icon_arrow.png) no-repeat center bottom;
    background-size: cover;
    width: 10vw;
    height: 1.923vw;
}
}

/*-------------------------
   two_column
-------------------------*/
.two_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
}

.two_column::after{
    content:"";
    display: block;
    width: 48%;
}

.two_column .column{
    width: 48%;
	height: auto;
    margin: 0;
    overflow: hidden;
}

.two_column .column .link_img{
    width: 100%;
	height: auto;
    overflow: hidden;
}

.two_column .column .link_img img{
	transition:1s all;
}
.two_column .column .link_img img:hover{
	transform:scale(1.15,1.15);
	transition:1s all;
}

.two_column p{
	font-size: 108%;
	margin: 2em 0 1em;
}

@media screen and (max-width: 640px) {
.two_column{
    display : flex;
    flex-wrap : wrap;
    justify-content:space-between;
    margin: 0 0 2em;
}

.two_column::after{
    content:"";
    display: block;
    width: 100%;
}
	
.two_column .column{
    width: 100%;
}
	
.two_column .column:first-child{
    margin: 0 0 4em;
}
}
/* simulation-btn ----------------------- */
.simulation-btn {
	width: 360px;
	margin: 0 auto;
	box-sizing: border-box;
}
.simulation-btn a {
	display: block;
	position: relative;
	background-color: #525252;
	color: #FFF;
	font-weight: normal;
	vertical-align: middle;
	text-align: center;
	line-height: 1.6;
	padding: 10px 16px 10px 10px;
	text-decoration: none;
}
.simulation-btn a:hover {
	text-decoration: underline;
}
.simulation-btn a:after {
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #FFF;
	content: " \f105";
	font-family: FontAwesome;
	font-size: 140%;
}

@media screen and (max-width: 640px) {
.simulation-btn {
    margin: 0 auto;
	width: 90vw;
}
.simulation-btn a {
	font-size: 4vw;
}
}

.floating_banner {
    position: fixed;
    z-index: 99999;
    bottom: 0;
	left:0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color:rgba(0,0,0,0.5);
	padding: 1em 0;
}