/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
    -webkit-text-size-adjust: 100%;
	
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	color: #333;
	text-decoration: none;
}
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
	table-layout: fixed;
}
input, select {
    vertical-align:middle;
}
.clearfix::after{
	content: "";
	display: block;
	clear: both;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
/* /reset */

html {
    font-size: 15px;
}
body {
    line-height: 1.85;
    font-family: 'Open Sans', 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #464646;
    font-weight: 500;
}
b, strong, .bold{
    font-weight: bold;
}
sub{
    font-size: 0.6em;
}
.sp{
	display: none;
}
.light{
	font-weight: 300;
}
.uppercase{
	text-transform: uppercase;
}
.gray{
	color: #B3B5B6;
}
.white{
	color: #fff;
}
.i_small{
	font-size: 0.8em;
}
.i-rotate-20{
	transform: rotate(20deg);
}
.fit{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flexCtr{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.f_column{
	flex-direction: column;
}
/*.grid{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: 2fr 1fr 2fr;
  	grid-template-rows: 50% 50%;
}
.box2 { 
  grid-column-start: 1; 
  grid-row-start: 3; 
  grid-row-end: 5; 
}*/
.btn{
	padding: 14px 20px;
	border: 3px solid #fff;
	overflow: hidden;
}
.gnav_sp{
  transform: translateX(-100vw);
  transition: all .2s linear;
}
.gnav_sp.is-active{
  transform: translateX(0);
}
.hamburger.is-active:nth-of-type(1) {
  -webkit-transform: translateY(9.5px) rotate(-45deg);
  transform: translateY(9.5px) rotate(-45deg);
}
.hamburger.is-active:nth-of-type(2) {
  opacity: 0;
}
.hamburger.is-active:nth-of-type(3) {
  -webkit-transform: translateY(-9.5px) rotate(45deg);
  transform: translateY(-9.5px) rotate(45deg);
}
.contents{
	overflow: hidden;
}
.swiper-button-prev,
.swiper-button-next{
	z-index: 2;
}
.pagination {
	position:fixed;
	right: 50px;
	top: 50%;
	transform: translateY(-50%);
	list-style: none;
	font-size:1.4em;
	z-index: 10;
}
.pagination a {
	display:block;
	height: 20px;
	margin-bottom:5px;
	color: #007aff; 
	position:relative;
	padding:4px;
}
.pagination a.active:after {
	box-shadow:inset 0 0 0 5px;
}
.pagination a .hover-text {
	display: none;
	position: absolute;
	right: 15px;
	top: -9px;
	opacity: 0;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	padding-right: 15px;
	text-transform: uppercase;
}
.pagination a:hover .hover-text {
	opacity: 1;
}
.pagination a:after {
	-webkit-transition:box-shadow 0.5s ease;
	transition:box-shadow 0.5s ease;
	width:10px;
	height:10px;
	display: block;
	border-radius:50%;
	content:'';
	position: absolute;
	margin:auto;
	top:0;
	right:4px;
	bottom:0;
	background-color: #ddd;
}
/*.isPlay {
  animation-name: play;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  position: relative;
  opacity: 1 !important;
}
  
.isPlay:before {
  animation-name: maskOut;
  animation-duration: .5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient( 109.6deg,  rgba(156,252,248,1) 11.2%, rgba(110,123,251,1) 91.1% );
}
@keyframes play {
  from {
    transform: translateX(-100%);
  }
  
  to {
    transform: translateX(0);
  }
}

@keyframes maskOut {
  from {
    transform: translateX(0);
  }
  
  to {
    transform: translateX(100%);
  }
}*/
.img-container{
    overflow: hidden;
    position: relative;
	width: 100%;
	max-width: 50%;
}
 
/*.img-container__img{
    display: block;
    opacity: 0;
    position: relative;
    transition:all .5s .3s ease; 
    z-index: 0;
}*/
 
.img-container:before{
    background-image: linear-gradient( 109.6deg,  rgba(156,252,248,1) 11.2%, rgba(110,123,251,1) 91.1% );
    content: '';
    display: block;
    height: 100%;
    position: absolute;
	top: 0;
    transform: translateX(-100%);
    transition:all .9s 0s ease; 
    width: 100%;
    z-index: 4;     
}
 
.text-container{
	width: 100%;
    opacity: 1;
    padding:0 60px;
    transition: all .8s .5s ease;
}
 


 
.img-container.active:before{
    transform: translateX(100%);        
}
 
.text-container.active .text-container__title:before{
	transform: translateX(100%);
}

.text-container.active .text-container__title__inner{
	opacity: 1;
}

.text-container.active .text-container__text{
	left: 0;
	opacity: 1;
}



/* images */
video {width: 100%; height: auto;}
img{max-width: 100%;}
.aligncenter, .attachment-post-thumbnail{display:block;margin:0 auto; text-align: center;}
.alignright, .alignleft, .aligncenter{margin-bottom:16px; display: block;}
.alignleft{float: left;}
.alignright{float: right;}
/*div.alignright, div.alignleft, div.aligncenter{text-align:center;}:*/
.entry-content img{max-width:100%;height:auto;}
.entry-content img.frame{padding:3px;border:1px #e8e8e8 solid;}
img.attachment-thumbnail{display:block;float:left;margin-bottom:1em;margin-right:1.4em;}
.wp-caption{max-width:100%;height:auto;}
.wp-caption-text{text-align:center;margin-top:0;font-size:90%;}
.caption{padding-bottom: 24px; display: inline-block;}
.clear{clear:both;}
.img-round{border-radius: 10px;}
.img-responsive {display: block; height: auto; max-width: 100%;}
video {width: 100%; height: auto;}
.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}

/*------------------------------------*\
    header
\*------------------------------------*/
.head_pc{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	background-color: #fff;
	border-top: 4px solid #C7161D;
	border-bottom: 1px solid #ddd;
	z-index: 10;
}
.container{
	width: 100%;
	max-width: 1000px;
	height: 100%;
	margin: 0 auto;
}
.head_inner{
	height: 90px;
/*	padding: 0 20px;*/
}
.head_inner h1,.head_inner a{
	width: 100%;
	height: 100%;
}
.head_logo{
	padding: 0 20px;
	width: 296px;
}
.gnav_pc{
	width: 100%;
	height: 86px;
}
.gnav{
	height: 100%;
}
.gnav_list{
	height: 100%;
	width: calc(100% / 6);
	border-left: 1px solid #EAEAEA;
	border-right: 1px solid #EAEAEA;
}
.gnav_list + .gnav_list{
	border-left: none;
}
.gnav_link{
	height: 100%;
	transition-duration: 0.7s;
}
.gnav_link span{
	display: block;
	text-transform: uppercase;
/*	padding: 0 24px;*/
	font-size: 14px;
/*	border-right: 1px solid #EAEAEA;*/
}
.gnav_link:hover{
	color: #fff;
	background-color: #175388;
}
.gnav_link:hover.gnav_link span{
	color: #fff;
}
/*------------------------------------*\
    sample
\*------------------------------------*/
.hero{
	height: calc(100vh - 90px);
	height: 100vh;
	padding-top: 90px;
	background-color: #eaeaea;
}
.sec1,.sec4{
	background-color: #fff;
}
.sec2{
	background-color: cornflowerblue;
}
.sec3{
	background-color: indianred;
}
/*------------------------------------*\
    section
\*------------------------------------*/
.btn.sec{
	position: relative;
	width: 255px;
	background-color: #175388;
	border: none;
	border-radius: 5px;
	color: #fff;
	letter-spacing: 0.5em;
	text-align: center;
	margin-top: 60px;
	overflow: hidden;
	transition: transform .3s;
}
.btn.sec::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 120%;
  height: 100%;
  background: #C7161D;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .3s;
}
.btn.sec.fac::before {
  background: #175388;
}
.btn.sec:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}
.more{
	z-index: 2;
	margin-left: 20px;
}
.btn p{
	z-index: 2;
}
.section{
	height: calc(100vh - 90px);
	width: 100%;
}
.sec_inner{
	position: relative;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 90px 0;
	flex-direction: column;
}
.sec_head{
	width: 100%;
}
.sec_head p{
	width: 100%;
	margin-top: 40px;
}
.sec_head p:first-of-type{
	margin-top: 0;
}
.title{
	font-size: 54px;
	line-height: 1;
}
.sub_title{
	font-size: 20px;
}
.sub_head{
	font-size: 24px;
}
.sec_card{
	position: relative;
	width: 100%;
	padding: 40px 0 40px 40px;
	background-color: #fff;
	transition:all 1s .3s ease; 
	z-index: 2;
	opacity: 0;
	overflow: hidden;
}
.img-container.active .sec_card{
    opacity: 1;
}
.line span{
	display: inline-block;
	width: 100%;
	height: 2px;
	background-color: #175388;
}
/*------------------------------------*\
    visual
\*------------------------------------*/
.visual{
	position: relative;
	height: 100vh;
	width: 100%;
	padding-top: 90px;
	overflow: hidden;
}
#video{
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	object-fit: cover;
	top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.visual::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url("../images/top/overlay.png");
	padding-top: 90px;
}
.video_main_txt{
	position: absolute;
	top: calc(50% - 222px);
	width: 100%;
	text-align: center;
	z-index: 2;
}
.video_txt{
	position: absolute;
	top: calc(50% - -5px);
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 40px;
	z-index: 2
}
.video_txt span{
	letter-spacing: -0.4em;
}
.scroll{
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	animation: arrow 0.8s infinite ease-in-out alternate;
}
.arrow{
	position: relative;
	width: 50px;
	height: 50px;
}
.arrow span{
	width: 40px;
	height: 2px;
	background-color: #fff;
}
.arrow span:first-child{
	display: block;
	position: absolute;
	left: -15%;
	bottom: 35%;
	transform: rotate(45deg)
}
.arrow span:nth-child(2){
	display: block;
	position: absolute;
	left: 40%;
	bottom: 35%;
	transform: rotate(-45deg)
}
.scroll_txt{
	margin-top: 10px;
}
@keyframes arrow{
  0% {
    bottom:10%;
  }
  100%{
    bottom:5%;
  }
}
/*------------------------------------*\
    message
\*------------------------------------*/
.message{
	position: relative;
	background-image: url("../images/common/message_bg@2x.png");
	background-size: contain;
	background-repeat: no-repeat;
}
.message > .sec_inner,
.works > .sec_inner{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.bg_txt{
/*
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("../images/top/bg_txt.png");
	background-repeat: repeat-x;
*/
	position: absolute;
	bottom: -140px;
	color: #f1f1f1;
	font-size: 200px;
	z-index: -1;
	
}
/*------------------------------------*\
    business
\*------------------------------------*/
.business{
	background-color: #175388;
	background-image: url("../images/top/bis_bgB.png");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
}
/*------------------------------------*\
    facility
\*------------------------------------*/
.facility{
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	background-image: url("../images/top/fa_bg@2x.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.section.facility::after{
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/top/overlay.png");
	padding-top: 90px;
}
.fac.btn{
	background-color: #C7161D;
	justify-content: center;
}
.facility.line span{
	background-color: #C7161D;
}
/*------------------------------------*\
    works
\*------------------------------------*/
.swiper-container .swiper-slide img{
	max-width: 100%;
	height: auto;
}
.sw{
	width: 100%;
	margin-top: 20px;
}
.swiper-container{
	padding-bottom: 50px;
	width:100%;
	max-width: 90%;
}
.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  z-index: 1;
  transform: translate(0%, -50%);
  margin-top: 0;
	color: #007aff;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
    }
.swiper-button-prev::after,
.swiper-button-next::after {
  position: relative;
  font-family: "Font Awesome 5 Free", sans-serif;
  opacity: 1;
  font-style: normal;
  font-weight: 900;
  font-size: 46px;
}
.swiper-button-prev::after {
  content: "\f053";
}
.swiper-button-next::after {
  content: "\f054";
}
.swiper-pagination-bullet-active{
	background-color: #007aff;
}
.swiper-pagination {
	position: static;
}
/*------------------------------------*\
    contact
\*------------------------------------*/
.contact{
	width: 100%;
	height: 180px;
	background-color: #175388;
	color: #fff;
}
.contact_inner{
	width: 100%;
	height: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.contact_box{
	width: 50%;
}
.contact_btn{
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 306px;
	margin: 20px auto 0;
	color: #fff;
}
.contact_btn p{
	transition: .3s;
}
.contact_btn p::before{
	content: "";
	display: inline-block;
	width: 33px;
	height: 26px;
	background-image: url("../images/common/contact_iconW33@2x.png");
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 18px;
}
.contact_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 120%;
  height: 100%;
  background: #fff;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .3s;
}
.contact_btn:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}
.contact_btn:hover.contact_btn p{
	color: #175388;
}
.group{
	width: 50%;
}
.group_logo{
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 306px;
	height: 61px;
	margin: 20px auto 0;
	border: 3px solid #fff;
	transition: all .3s;
}
.group_logo::before {
  position: absolute;
  top: -20%;
  left: 0;
  z-index: 1;
  content: '';
  width: 120%;
  height: 120%;
  background: #fff;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .3s;
}
.group_logo:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}
.logoB img{
	max-width: 100%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	opacity: 0;
	transition: .3s;
}

.group_logo a{
	height: 100%;
	color: #fff;
}
.group_logo img{
	width: 100%;
	padding: 10px 20px;
	transition: .3s;
}

.group_logo:hover .logoW{
	display: none;
}
.group_logo:hover .logoB img{
	opacity: 1;
}
_:-ms-lang(x)::-ms-backdrop, .logoB img {
    /* IE11 にのみ適用される */
	  position: static;
	  transform: none;
}
/*------------------------------------*\
    footer
\*------------------------------------*/
.footer_inner{
	width: 100%;
	max-width: 1000px;
	height: 111px;
	margin: 0 auto;
/*	border: 1px solid #333;*/
}
.foot_info{
/*	width: calc(100% / 2);*/
/*	width: 42.5%;*/
/*	width: 430px;*/
	width: 510px;
}
.foot_logo{
	width: 100%;
	max-width: 214px;
}
.foot_txt{
	font-size: 14px;
}
.foot_nav{
	font-size: 14px;
}
.foot_link{
	justify-content: flex-end;
}
.foot_link li{
	display: block;
}
.foot_link li a:hover{
	text-decoration: underline;
}
.sitemap_mr{
	margin-right: 1em;
}
.copyright{
	display: block;
}
.page_top{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	justify-content: flex-end;
	cursor: pointer;
	color: #175388;
}
.page_top::before{
	content: "Page top";
	display: inline-block;
	font-size: 14px;
	margin-right: 10px;
}
.page_top i{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	width: 50px;
	height: 50px;
	background-color: #175388;
}
.tel{
	display: none;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media screen and (max-height: 950px){
	.section{
		height: 1050px;
	}
	.visual{
		height: 100vh;
	}
	.visual::after{
		height: 100%;
	}
}

@media screen and (max-width: 896px){
	.pc,.head_pc,.gnav_pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.sp_btn{
		position: fixed;
		top: 35px;
		right: 30px;
		width: 30px;
		height: 20px;
		z-index: 12;
	}
	/*head*/
	.hamburger{
		position: absolute;
		height: 2px;
		width: 100%;
		background-color: #333;
		transition: all .4s;
	}
	.hamburger:nth-child(1){
		top: 0;
	}
	.hamburger:nth-child(2){
		top: 50%;
	}
	.hamburger:nth-child(3){
		top: 100%;
	}
	.gnav_sp{
		position: fixed;
		overflow: auto;
		top: 0;
		left: 0;
		width: 70%;
		height: 100%;
		z-index: 11;
		background-color: #fff;
		padding-top: 90px;
	}
	.head_sp{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 90px;
		background-color: #fff;
		border-top: 4px solid #C7161D;
		border-bottom: 1px solid #ddd;
		z-index: 12;
	}
	.head_inner{
		padding-left: 20px;
		justify-content: flex-start;
	}
	.head_inner h1{
		width: 200px;
	}
	.head_inner h1 a img{
		width: 100%;
	}
	.head_logo{
		width: 200px;
		height: 100%;
	}
	.gnav{
		height: auto;
		text-align: left!important;
	}
	.gnav_sp_list{
		width: 100%;
		height: auto;
		border-top: 1px solid #EAEAEA;
		border-bottom: 1px solid #EAEAEA;
	}
	.gnav_sp_list:first-of-type{
		border-top: none;
	}
	.gnav_sp_list + .gnav_sp_list{
		border-top: none;
	}
	.gnav_sp_list a{
		justify-content: flex-start;
		padding: 10px 0 10px 40px;
	}
	.gnav_sub{
		margin-top: 20px;
		padding-bottom: 20px;
	}
	.gnav_sub_list{
		font-size: 10px;
	}
	.gnav_sub_list:last-of-type{
		padding-top: 10px;
	}
	.gnav_sub_list a{
		padding-left: 40px;
	}
	.mask{
		display: none;
		transition: .5s ease-in-out;
	}
	.mask.is-active{
		display: block;
		position: fixed;
		width: 100%;
		height: 100vh;
		background-color: black;
		opacity: .5;
		z-index: 5;
	}
	
	.section{
		height: initial;
	}
	.sec_inner{
		max-width: 500px;
	}
	.img-container{
		max-width: 500px;
	}
	/*head*/
	.title{
		font-size: 34px;
	}
	.bg_txt{
		bottom: -68px;
		font-size: 100px;
	}
	/*head*/
	.hero{
		padding: 0;
	}
	/*visual*/
	.visual,.visual::after{
		height: 100vh;
	}
	#video{
		min-width: 100%;
        min-height: 100%;
        width: auto;
        object-fit: cover;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
		/*height: calc(100vh - 170px);
		position: relative;*/
/*    	left: -80%;*/
	}
	.scroll_txt{
		font-size: 12px;
		margin-top: 0;
	}
	.arrow span{
		width: 30px;
	}
	.arrow span:first-child{
		left: -8%;
	}
	.arrow span:nth-child(2){
		left: 33%;
	}
	@keyframes arrow{
	  0% {
		bottom:25%;
	  }
	  100%{
		bottom:20%;
	  }
	}
	.section.business,
	.section.facility{
		justify-content: center;
		padding: 90px 0;
	}
	.sec_card{
		width: 100%;
		max-width: 500px;
		padding: 30px;
		text-align: center;
	}
	.sec_head_txt{
		text-align: left;
	}
	/*contact*/
	.contact{
		height: 100%;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.contact_inner{
		display: block;
	}
	.contact_box,.group{
		width: 100%;
	}
	.group{
		margin-top: 20px;
	}
	.contact_btn,.group_logo{
		max-width: 255px;
		margin-top: 5px;
	}
	/*foot*/
	.footer_inner{
		flex-direction: column;
		padding: 40px 0;
		height: auto;
	}
	.foot_info{
		flex-direction: column;
		flex-wrap: wrap;
		width: 100%;
	}
	.foot_info{
		text-align: center;
	}
	.foot_nav{
		text-align: center;
		margin-top: 20px;
	}
	.foot_link{
		justify-content: center;
	}
}
@media (max-width: 812px){
	.video_main_txt{
		top: 32%;
	}
	.video_txt{
		top: 50%;
	}
	@keyframes arrow{
	  0% {
		bottom:10%;
	  }
	  100%{
		bottom:5%;
	  }
	}
}

@media (max-width: 749px){
	#video{
		min-width: 100%;
        min-height: 100%;
        width: auto;
        object-fit: cover;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
	}
	.video_main_txt{
		top: 35%;
	}
}


@media (max-width: 414px){
	.visual,.visual::after{
		height: calc(100vh - 80px);
	}
	#video{
        min-width: 100%;
        min-height: 100%;
        width: auto;
        object-fit: cover;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
	}
	.video_main_txt{
		top: 35%;
	}
	.video_txt{
		font-size: 22px;
		top: 50%;
	}
	.pagination{
		display: none;
	}
	.sec_inner{
		width: 100%;
		max-width: 350px;
	}
	.sub_title{
	font-size: 16px;
	}
	.sub_head{
		font-size: 18px;
	}
	.img-container{
		max-width: 350px;
	}
	.sec_card{
		max-width: 350px;
	}
	.just{
		text-align: justify;
	}
	.swiper-container{
		max-width: initial;
	}
	.swiper-button-prev,
	.swiper-button-next{
		display: none;
	}
	.page_top{
		padding-bottom: 80px;
	}
	.tel{
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 80px;
		background-color: #175388;
		line-height: 1;
		z-index: 4;
	}
	.tel a{
		height: 100%;
	}
	.tel_box{
		margin-top: 10px;
		font-size: 28px;
	}
	.tel_icon{
		margin-right: 10px;
	}
}
@media (max-width: 320px){
	.video_txt{
		top: 50%;
		font-size: 18px;
	}
	.arrow span{
		width: 20px;
	}
	.arrow span:first-child{
		left: 12%;
	}
	.arrow span:nth-child(2){
		left: 40%;
	}
	.sec_inner{
		padding: 70px 20px;
	}
	.sec_card{
		max-width: 280px;
		padding: 30px 10px;
		margin: 0 auto;
	}
/*
	.btn.sec{
		width: 150px;
		margin: 60px;
	}
*/
}

@media screen and (max-width:823px) and (orientation: landscape){
	.pagination{
		display: none;
	}
	#video{
		left: initial;
	}
	.video_txt{
		font-size: 24px;
	}
	.arrow{
		height: 30px;
	}
	.arrow span{
		width: 15px;
	}
	.arrow span:first-child{
		left: 16%;
	}
	.arrow span:nth-child(2){
		left: 36%;
	}
}
