@charset "UTF-8";

html{
	width:100%;
	margin-top: 0 !important;
}
body{
	/* font-size:small; */
	/* font:x-small; */
	font-size:13px;
	background-color: #000;
	color:#333333;
	line-height:1.2;
  font-family:"Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align:left;
	width:100%;
	margin:0px;
	padding:0px;
	-webkit-text-size-adjust:100%;
}
@font-face{
  font-family:"Yu Gothic";
  src:local("Yu Gothic Medium");
  font-weight:100;
}
@font-face{
  font-family:"Yu Gothic";
  src:local("Yu Gothic Medium");
  font-weight:200;
}
@font-face{
  font-family:"Yu Gothic";
  src:local("Yu Gothic Medium");
  font-weight:300;
}
@font-face{
  font-family:"Yu Gothic";
  src:local("Yu Gothic Medium");
  font-weight:400;
}
@font-face{
  font-family:"Yu Gothic";
  src:local("Yu Gothic Bold");
  font-weight:bold;
}
#wrap{
	text-align:left;
	overflow:hidden;
	background-color: #fff;
}
h1,h2,h3,h4,h5,p,ul,ol,li,img,table,th,td,dl,dt,dd{
	margin:0px;
	padding:0px;
	font-size:14px;
}
li{
	list-style-type:none;
}
table{
	border-collapse:collapse;
}
a{
	cursor:pointer;
	color:#333;
	text-decoration:none;
}
a{
	-webkit-tap-highlight-color:transparent;
}
img{
	vertical-align:top;
	max-width:100%;
	height:auto;
	-webkit-backface-visibility:hidden;
	-ms-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{
	vertical-align:bottom;
	-webkit-backface-visibility:hidden;
	-ms-backface-visibility:hidden;
	backface-visibility:hidden;
}
input, 
textarea, 
select,
button,
label{
  outline:none;
	-webkit-tap-highlight-color:transparent;
}
:focus {
	outline: 0;
  border-color: orange;
}




/* loading
-----------------------------------------------*/
#loading{
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1003;
	opacity: 1;
	transition: width 0.8s cubic-bezier(.210, .60, .350, 1);
}
#loading.end{
	width: 0;
}
#loading::before{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1003;
	width: 100%;
	height: 100%;
	background-color: #000;
}
#loading .inner {
	position: relative;
	z-index: 1004;
	top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
	width: 100%;
}
.loader,
.loader:before,
.loader:after {
  width: 1em;
  height: 1em;
	margin: 0 auto;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #fff;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
	opacity: 1;
	transition: opacity 0.2s cubic-bezier(.210, .60, .350, 1);
}
#loading.end .loader {
	opacity: 0;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -1.8em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 1.8em;
}
@media screen and (max-width: 980px) {
#loading .loaderIcon {
  font-size: 6px;
}
}
@-webkit-keyframes load7 {
  0%,80%,100% {box-shadow: 0 2.5em 0 -1.3em;}
  40% {box-shadow: 0 2.5em 0 0;}
}
@keyframes load7 {
  0%,0%,100% {box-shadow: 0 2.5em 0 -1.3em;}
  40% {box-shadow: 0 2.5em 0 0;}
}


/* slick
-----------------------------------------------*/
.slick-slider{
	position:relative;
	display:block;
	box-sizing:border-box;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	-webkit-touch-callout:none;
	-khtml-user-select:none;
	-ms-touch-action:pan-y;
	touch-action:pan-y;
	-webkit-tap-highlight-color:transparent;
}
.slick-list{
	position:relative;
	display:block;
	margin:0;
	height: 100%;
}
.slick-list.dragging{
	cursor:pointer;
	cursor:hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list{
	-webkit-transform:translate3d(0, 0, 0);
	-ms-transform:translate3d(0, 0, 0);
	transform:translate3d(0, 0, 0);
}
.slick-track{
	position:relative;
	top:0;
	left:0;
	display:block;
	margin-left:auto;
	margin-right:auto;
	height: 100%;
}
.slick-track:before,
.slick-track:after{
	display:table;
	content:'';
}
.slick-track:after{
	clear:both;
}
.slick-loading .slick-track{
  visibility:hidden;
}
.slick-slide{
	float:left;
	height:100%;
	min-height:1px;
}
.slick-slide:focus{
	outline:none;
}
[dir='rtl'] .slick-slide{
	float:right;
}
.slick-initialized .slick-slide{
	display:block;
}
.slick-loading .slick-slide{
	visibility:hidden;
}
.slick-vertical .slick-slide{
	display: block;
	height: auto;
}



/* main
-----------------------------------------------*/
#main{
	position: relative;
	padding: 0;
	box-sizing: border-box;
	height: calc(100vh - 64px);
	margin-top: 64px;
	max-height: 860px;
	min-height: 600px;
	background-color: #000;
}
#main .inner{
	position: relative;
	width: 100%;
	height: 100%;
}
#main .movie{
  overflow: hidden;
	position: relative;
	left: 0;
	top: 0;
	z-index: 1;
	height: 100%;
  width: 100%;
	background-image: url("../images/img-main_01.jpg");
	background-size: cover;
	background-position: center;
}
#main .movie::before{
	content:"";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: #333;
	opacity: .3;
}
#main .movie iframe{
  box-sizing: border-box;
  height: 56.25vw;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
}
#main .txt{
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
	color: #fff;
	text-align: center;
}
#main .txt p{
	font-size: 26px;
	line-height: 1.2;
	margin-bottom: 30px;
	letter-spacing: 0.01em;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.5s, transform 1.5s ease-out;
}
#wrap.load #main .txt p{
	opacity: 1;
	transform: translateY(0px);
}
#main .txt h1{
	font-family: 'Oswald', sans-serif;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 400;
	font-style: italic;
}
#main .txt h1 strong{
	display: block;
	width: 387px;
	margin: 0 auto 30px;
	position: relative;
	font-size: 0;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.5s 1s, transform 1.5s 1s ease-out;
}
#wrap.load #main .txt h1 strong{
	opacity: 1;
	transform: translateY(0px);
}
#main .txt h1 strong::before{
	content: "";
	display: block;
	width: 100%;
	height: 0;
	padding-top: 12.661498%;
	background: url("../images/logo-main_01.svg") no-repeat center;
	background-size: 100%;
}
#main .txt h1 span{
	display: inline-block;
	position: relative;
	letter-spacing: 0.2em;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.5s 2s, transform 1.5s 2s ease-out;
}
#wrap.load #main .txt h1 span{
	opacity: 1;
	transform: translateY(0px);
}
#main .txt h1 span::before,
#main .txt h1 span::after{
	content: "";
	display: block;
	width: 132px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
}
#main .txt h1 span::before{
	left: -15px;
	transform: translate(-100%,-50%);
}
#main .txt h1 span::after{
	right: -15px;
	transform: translate(100%,-50%);
}
#main #movieBtn{
	display: none;
	position: absolute;
	bottom: 40px;
	left: 0;
	width: 100%;
	z-index: 2;
	opacity: 0;
	transform: translateY(15px);
	transition: opacity 1.5s 3s, transform 1.5s 3s ease-out;
}
#wrap.load #main #movieBtn{
	opacity: 1;
	transform: translateY(0px);
}
#main #movieBtn span{
	display: block;
	width: 194px;
	height: 42px;
	margin: 0 auto;
	box-sizing: border-box;
	border: solid 1px #fff;
	font-size: 13px;
	line-height: 42px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: rgba(0,0,0,0.2);
	cursor: pointer;
}
#movieSp{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 100%;
}
#movieSp .bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.75);
	cursor: pointer;
}
#movieSp .movie{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	opacity: 0;
	transition: opacity .3s;
  padding-top: 56.25%
}
#movieSp .movie.fade{
	transition: opacity .5s;
	opacity: 1;
}
#movieSp .movie video,
#movieSp .movie iframe{
	display: block;
	width: 100%;
	height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#movieSp .movieClose{
	width: 18px;
	height: 18px;
	cursor: pointer;
	position: absolute;
	top: -15px;
	right: 15px;
	transform: translate(0%,-100%);
}
#movieSp .movieClose::before,
#movieSp .movieClose::after{
	content: "";
	display: block;
	width: 25px;
	height: 2px;
	background: #fff;
	border-radius: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
}
#movieSp .movieClose::before{
	transform: translate(-50%,-50%) rotate(45deg);
}
#movieSp .movieClose::after{
	transform: translate(-50%,-50%) rotate(135deg);
}
@media screen and (max-height: 500px) {
	#movieSp .movie{
		max-width: 600px;
	}
}
@media screen and (max-width: 750px) {
	#main{
		height: auto;
		margin-top: 60px;
		min-height: 0;
	}
	#main::before{
		content: "";
		display: block;
		width: 100%;
		height: 0;
		padding-top: 100%;
	}
	#main .inner{
		position: absolute;
		top: 0;
		left: 0;
	}
	#main .movie{
		background-image: url("../images/img-main_01_sp.jpg");
	}
	#main .movie video,
	#main .movie iframe{
		display: none;
	}
	#main .txt p{
		font-size: 13px;
		margin-bottom: 15px;
		transform: translateY(15px);
	}
	#main .txt h1{
		font-size: 10px;
	}
	#main .txt h1 strong{
		width: 194px;
		margin: 0 auto 15px;
		transform: translateY(15px);
	}
	#main .txt h1 span{
		transform: translateY(15px);
	}
	#main .txt h1 span::before,
	#main .txt h1 span::after{
		width: 66px;
	}
	#main .txt h1 span::before{
		left: -8px;
	}
	#main .txt h1 span::after{
		right: -8px;
	}
	#main #movieBtn{
		display: block;
	}
}
@media screen and (max-height: 430px) {
	#movieSp .movie{
		max-width: 500px;
	}
}
@media screen and (max-height: 320px) {
	#movieSp .movie{
		max-width: 400px;
	}
}


/* anchorLink
-----------------------------------------------*/
#anchorLink{
	margin: 35px 0 50px;
}
#anchorLink ul{
	text-align: center;
	font-size: 0;
}
#anchorLink li{
	display: inline-block;
	vertical-align: top;
	font-size: 16px;
	line-height: 1.2;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	letter-spacing: 0.1em;
	margin: 0 30px;
}
#anchorLink li a{
	color: #003459;
}
#anchorLink li a::after{
	content: "";
	display: block;
	width: 0;
	height: 2px;
	background: #003459;
	margin-top: 5px;
	transition: width .2s;
}
#anchorLink li a:hover::after{
	width: 100%;
}
.touchDevice #anchorLink li a:hover::after{
	width: 0;
}
@media screen and (max-width: 750px) {
	#anchorLink{
		margin: 25px 0 40px;
	}
	#anchorLink ul{
		text-align: left;
		max-width: 375px;
		margin: 0 auto;
	}
	#anchorLink li{
		width: 50%;
		margin: 25px 0 0;
	}
	#anchorLink li:nth-child(-n+2){
		margin-top: 0;
	}
	#anchorLink li a{
		display: inline-block;
		position: relative;
		padding-left: 44px;
	}
	#anchorLink li a::after{
		width: 16px;
		height: 2px;
		position: absolute;
		top: 50%;
		left: 16px;
		margin-top: 0;
		transform: translate(0%,-50%);
		transition: width 0s;
	}
	#anchorLink li a:hover::after{
		width: 16px !important;
	}
}


/* section
-----------------------------------------------*/
section{
	padding: 90px 40px 62px;
	position: relative;
}
section::before{
	content: "";
	display: block;
	width: 1px;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	transform: translate(0%,-50%);
	background: #003459;
	-webkit-transform-origin: top;
					transform-origin: top;
}
section.fade::before{
	-webkit-animation: attention 2s cubic-bezier(0.39, 0.575, 0.565, 1) 3;
	        animation: attention 2s cubic-bezier(0.39, 0.575, 0.565, 1) 3;
}
@-webkit-keyframes attention {
	0% {
		-webkit-transform:translate(0%,-50%) scaleY(1);
		        transform:translate(0%,-50%) scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	30% {
		-webkit-transform:translate(0%,-50%) scaleY(0);
		        transform:translate(0%,-50%) scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	50% {
		-webkit-transform:translate(0%,-50%) scaleY(0);
		        transform:translate(0%,-50%) scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	80% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	100% {
		-webkit-transform:translate(0%,-50%) scaleY(1);
		        transform:translate(0%,-50%) scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}
@keyframes attention {
	0% {
		-webkit-transform:translate(0%,-50%) scaleY(1);
		        transform:translate(0%,-50%) scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	30% {
		-webkit-transform:translate(0%,-50%) scaleY(0);
		        transform:translate(0%,-50%) scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	50% {
		-webkit-transform:translate(0%,-50%) scaleY(0);
		        transform:translate(0%,-50%) scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	80% {
		-webkit-transform:translate(0%,-50%) scaleY(1);
		        transform:translate(0%,-50%) scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	100% {
		-webkit-transform:translate(0%,-50%) scaleY(1);
		        transform:translate(0%,-50%) scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}
section .inner{
	max-width: 1200px;
	margin: 0 auto;
}
section .col::after{
	content: "";
	display: block;
	clear: both;
}
section h2{
	font-family: 'Oswald', sans-serif;
	font-size: 48px;
	line-height: 1;
	font-weight: 300;
	font-style: italic;
	color: #003459;
	letter-spacing: 0.1em;
	margin-bottom: 60px;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.5s, transform 1.5s ease-out;
}
section h2.fade{
	opacity: 1;
	transform: translateY(0px);
}
section h2::after{
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	background: #003459;
	margin-top: 20px;
}
@media screen and (max-width: 750px) {
	section{
		padding: 80px 16px 60px;
	}
	section h2{
		font-size: 24px;
		margin-bottom: 40px;
		transform: translateY(15px);
	}
	section h2::after{
		width: 32px;
		height: 2px;
		margin-top: 10px;
	}
}


/* concept
-----------------------------------------------*/
#concept{
	padding: 114px 40px 62px;
}
#concept .imgLeft{
	margin-top: 40px;
}
#concept .imgRight .txt,
#concept .imgLeft .img{
	float: left;
	width: 50%;
	box-sizing: border-box;
}
#concept .imgRight .img,
#concept .imgLeft .txt{
	float: right;
	width: 50%;
	box-sizing: border-box;
}
#concept .imgRight .txt{
	padding: 0 60px 0 80px;
}
#concept .imgLeft .img{
	padding: 0 0 0 80px;
	position: relative;
}
#concept .imgRight .img{
	position: relative;
}
#concept .imgLeft .txt{
	padding: 30px 0 0 80px;
}
#concept .imgRight .img::before{
	content: "";
	display: block;
	width: 300%;
	height: calc(100% + 228px);
	position: absolute;
	top: -114px;
	left: 80px;
	background: #f0f0f0;
}
#concept .imgInner{
	overflow: hidden;
}
#concept .imgRight .img img{
	position: relative;
}
#concept .imgInner img{
	opacity: 0;
	transform: translateX(-100%);
	transition: opacity 1.5s .5s, transform 1s ease-out;
}
#concept .img.fade .imgInner img{
	opacity: 1;
	transform: translateX(0%);
}
#concept .imgRight .txt h2{
	transform: translate(-80px,20px);
}
#concept .imgRight .txt h2.fade{
	transform: translate(-80px,0px);
}
#concept .txt h3{
	font-size: 26px;
	line-height: 1.84;
	font-weight: normal;
	letter-spacing: 0.01em;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.5s, transform 1.5s ease-out;
}
#concept .txt.fade h3{
	opacity: 1;
	transform: translateY(0px);
}
#concept .txt p{
	font-size: 16px;
	line-height: 1.75;
	margin-top: 20px;
	letter-spacing: 0.01em;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.5s 1s, transform 1.5s 1s ease-out;
}
#concept .txt.fade p{
	opacity: 1;
	transform: translateY(0px);
}
#concept .gridplan{
	margin: 40px -40px 0;
	padding-bottom: 150px;
	position: relative;
}
#concept .gridplan .txt{
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	max-width: 1200px;
	transform: translate(-50%,0%);
}
#concept .gridplan .txtInner{
	width: 50%;
	background: #f0f0f0;
	position: relative;
	box-sizing: border-box;
	padding: 50px 60px 50px 0;
}
#concept .gridplan .txtInner::before{
	content: "";
	display: block;
	width: 300%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #f0f0f0;
	transform: translate(-100%,0%);
}
#concept .gridplan .txtInner h3{
	font-size: 26px;
	line-height: 1.84;
	font-weight: normal;
	letter-spacing: 0.01em;
}
#concept .gridplan .txtInner p{
	font-size: 16px;
	line-height: 1.75;
	margin-top: 20px;
	letter-spacing: 0.01em;
}
#concept .gridplan .movie video,
#concept .gridplan .movie iframe{
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 1280px) {
	#concept .gridplan .txtInner{
		padding-left: 40px;
	}
}
@media screen and (max-width: 980px) {
	#concept .imgLeft{
		margin-top: 120px;
	}
	#concept .imgRight .txt,
	#concept .imgLeft .img{
		float: none;
		width: 100%;
	}
	#concept .imgRight .img,
	#concept .imgLeft .txt{
		float: none;
		width: 100%;
	}
	#concept .imgRight .txt{
		margin-bottom: 160px;
	}
	#concept .imgLeft .txt{
		margin-bottom: 40px;
	}
	#concept .imgInner img{
		width: 100%;
	}
	#concept .gridplan{
		padding-bottom: 0;
	}
	#concept .gridplan .txt{
		position: relative;
		bottom: auto;
		left: auto;
		transform: translate(0%,0%);
	}
	#concept .gridplan .txtInner{
		width: 100%;
		padding: 50px 40px;
	}
}
@media screen and (max-width: 750px) {
	#concept{
		padding: 80px 16px 60px;
	}
	#concept .imgLeft{
		margin-top: 80px;
	}
	#concept .imgRight .txt{
		padding: 0;
		margin-bottom: 75px;
	}
	#concept .imgLeft .img{
		padding: 0;
	}
	#concept .imgLeft .txt{
		padding: 0;
		margin-bottom: 35px;
	}
	#concept .imgRight .img::before{
		width: 100%;
		height: calc(100% + 80px);
		top: -40px;
		left: 40px;
	}
	#concept .imgRight .txt h2{
		transform: translate(0px,15px);
	}
	#concept .imgRight .txt h2.fade{
		transform: translate(0px,0px);
	}
	#concept .txt h3{
		font-size: 21px;
		line-height: 1.71;
		transform: translateY(15px);
	}
	#concept .txt p{
		font-size: 13px;
		line-height: 1.84;
		margin-top: 10px;
		transform: translateY(15px);
	}
	#concept .gridplan{
		margin: 20px -16px 0;
	}
	#concept .gridplan .txt{
		position: relative;
		bottom: auto;
		left: auto;
		transform: translate(0%,0%);
	}
	#concept .gridplan .txtInner{
		width: 100%;
		padding: 35px 16px;
	}
	#concept .gridplan .txtInner::before{
		display: none;
	}
	#concept .gridplan .txtInner h3{
		font-size: 21px;
		line-height: 1.74;
	}
	#concept .gridplan .txtInner p{
		font-size: 13px;
		line-height: 1.84;
		margin-top: 10px;
	}
}


/* facility
-----------------------------------------------*/
#facility .col::after{
	content: "";
	display: block;
	clear: both;
}
#facility #mscaff,
#facility #msoff{
	margin-top: 120px;
}
#facility .slideLeft .txt,
#facility .slideRight .sliderBox{
	float: right;
}
#facility .slideRight .txt,
#facility .slideLeft .sliderBox{
	float: left;
}
#facility .txt{
	width: 43.33%;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding: 40px 6.66% 0;
}
#facility .txt .num{
	position: absolute;
	top: 0;
	width: 98px;
	height: 98px;
	box-sizing: border-box;
	border: solid 1px #003459;
	color: #003459;
	border-radius: 50%;
	font-size: 16px;
	line-height: 96px;
	letter-spacing: 0.01em;
	font-weight: bold;
	text-align: center;
	opacity: 0.3;
}
#facility .slideLeft .txt .num{
	left: 0;
	transform: translate(-27.5%,-72.5%);
}
#facility .slideRight .txt .num{
	right: 0;
	transform: translate(27.5%,-72.5%);
}
#facility #mshall .txt h3,
#facility #mscaff .txt h3,
#facility #msoff .txt h3{
	display: block;
	font-size: 0;
}
#facility #mshall .txt h3{
	width: 218px;
}
#facility #mscaff .txt h3{
	width: 214px;
}
#facility #msoff .txt h3{
	width: 181px;
}
#facility #mshall .txt h3::before,
#facility #mscaff .txt h3::before,
#facility #msoff .txt h3::before{
	content: "";
	display: block;
	width: 100%;
	height: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
}
#facility #mshall .txt h3::before{
	padding-top: 16.513761%;
	background-image: url("../images/logo-mshall.svg");
}
#facility #mscaff .txt h3::before{
	padding-top: 16.5625%;
	background-image: url("../images/logo-mscafe.svg");
}
#facility #msoff .txt h3::before{
	padding-top: 19.557195%;
	background-image: url("../images/logo-mslab.svg");
}
#facility .txt h3 + p{
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.01em;
	margin-top: 30px;
}
#facility .txt table{
	width: 100%;
	border-top: solid 1px #b2c2cd;
	border-bottom: solid 1px #b2c2cd;
	margin-top: 30px;
}
#facility .txt th,
#facility .txt td{
	font-size: 12px;
	line-height: 1.5;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
#facility .txt th{
	width: 4.2em;
	padding: 0 1.5em 0.8em 1.8em;
	letter-spacing: 0.01em;
}
#facility .txt tr:first-child th{
	padding: 1.3em 1.5em 0.8em 1.8em;
}
#facility .txt tr:last-child th{
	padding: 0 1.5em 1.3em 1.8em;
}
#facility .txt td:nth-child(2){
	padding: 0 0 0.8em;
}
#facility .txt tr:first-child td:nth-child(2){
	padding: 1.3em 0 0.8em;
}
#facility .txt tr:last-child td:nth-child(2){
	padding: 0 0 1.3em;
}
#facility .txt td:nth-child(3){
	padding: 0 2em 0.8em 1em;
	letter-spacing: 0.01em;
	word-break: break-all;
}
#facility .txt tr:first-child td:nth-child(3){
	padding: 1.3em 2em 0.8em 1em;
}
#facility .txt tr:last-child td:nth-child(3){
	padding: 0 2em 1.3em 1em;
}
#facility .txt td a{
	color: #00afdd;
	text-decoration: underline;
}
#facility .txt td a:hover{
	text-decoration: none;
}
.touchDevice #facility .txt td a:hover{
	text-decoration: underline;
}
#facility .sliderBox{
	width: 56.66%;
	overflow: hidden;
}
#facility .sliderBox .slider li span{
	display: block;
	font-size: 12px;
	line-height: 1.66;
	min-height: 56px;
	box-sizing: border-box;
	padding: 15px 220px 0 0;
}
#facility .sliderBox .slick-counter{
	position: absolute;
	top: 453.98px;
	right: 0;
	background: #333;
	width: 170px;
	height: 56px;
	text-align: center;
	font-size: 0;
}
#facility .sliderBox .slick-counter::before{
	content: "";
	display: block;
	width: 36px;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(-45deg);
}
#facility .sliderBox .slick-counter span{
	display: inline-block;
	font-size: 16px;
	line-height: 56px;
	font-weight: bold;
	color: #fff;
	margin: 0 7px;
}
#facility .sliderBox .slick-counter .current{
	transform: translate(0px,-6px)
}
#facility .sliderBox .slick-counter .total{
	transform: translate(0px,6px)
}
#facility .sliderBox .slick-arrow{
	position: absolute;
	top: 453.98px;
	z-index: 1;
	width: 56px;
	height: 56px;
	background-color: transparent;
	border: none;
	padding: 0;
	font-size: 0;
	cursor: pointer;
}
#facility .sliderBox .slick-prev{
	right: 114px;
}
#facility .sliderBox .slick-next{
	right: 0;
}
#facility .sliderBox .slick-arrow::before{
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	border: none;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}
#facility .sliderBox .slick-prev::before{
	margin-left: 5px;
	transform: translate(-50%,-50%) rotate(-45deg);
}
#facility .sliderBox .slick-next::before{
	margin-left: -5px;
	transform: translate(-50%,-50%) rotate(-45deg) scale(-1,-1);
}
#facility .sliderBox .slick-arrow::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	opacity: 0;
	transition: opacity .2s cubic-bezier(.210, .60, .350, 1);
}
#facility .sliderBox .slick-arrow:hover::after{
	opacity: 0.2;
}
.touchDevice #facility .sliderBox .slick-arrow:hover::after{
	opacity: 0;
}
#facility .library{
	margin-top: 40px;
	background: #f0f0f0;
	padding: 60px 0 80px;
	position: relative;
}
#facility .library::before{
	content: "";
	display: block;
	width: 200%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-100%,0%);
	background: #f0f0f0;
}
#facility .library .col{
	display: table;
}
#facility .library .img{
	display: table-cell;
	vertical-align: top;
	width: 73.33%;
	padding-left: 80px;
}
#facility .library .txt{
	display: table-cell;
	vertical-align: middle;
	width: 26.66%;
	padding: 0 40px;
}
#facility .library .txt h3{
	font-family: 'Oswald', sans-serif;
	font-size: 26px;
	line-height: 1.1;
	font-weight: 300;
	color: #003459;
	letter-spacing: 0.1em;
}
#facility .library .txt p{
	font-size: 14px;
	line-height: 1.71;
	margin-top: 20px;
}
@media screen and (max-width: 980px) {
	#facility .slideLeft .txt,
	#facility .slideRight .sliderBox{
		float: none;
	}
	#facility .slideRight .txt,
	#facility .slideLeft .sliderBox{
		float: none;
	}
	#facility .txt{
		width: 100%;
		padding: 0;
	}
	#facility .txt .num{
		position: relative;
		margin: 0 auto;
	}
	#facility .slideLeft .txt .num{
		left: auto;
		transform: translate(0%,0%);
	}
	#facility .slideRight .txt .num{
		right: auto;
		transform: translate(0%,0%);
	}
	#facility #mshall .txt h3,
	#facility #mscaff .txt h3,
	#facility #msoff .txt h3{
		margin: 20px auto 0;
	}
	#facility .sliderBox{
		width: 100%;
		margin-top: 80px;
	}
	#facility .sliderBox .slider li img{
		width: 100%;
	}
	#facility .library{
		margin: 40px -40px 0;
		padding: 60px 40px 80px;
	}
	#facility .library::before{
		display: none;
	}
	#facility .library .col{
		display: block;
	}
	#facility .library .img{
		display: block;
		width: 100%;
		padding-left: 0;
	}
	#facility .library .img img{
		width: 100%;
	}
	#facility .library .txt{
		display: block;
		width: 100%;
		padding: 0;
		margin-top: 40px;
	}
}
@media screen and (max-width: 750px) {
	#facility #mscaff,
	#facility #msoff{
		margin-top: 40px;
	}
	#facility .txt .num{
		width: 63px;
		height: 63px;
		font-size: 10px;
		line-height: 61px;
	}
	#facility #mshall .txt h3,
	#facility #mscaff .txt h3,
	#facility #msoff .txt h3{
		margin: 20px auto 0;
	}
	#facility #mshall .txt h3{
		width: 164px;
	}
	#facility #mscaff .txt h3{
		width: 160px;
	}
	#facility #msoff .txt h3{
		width: 136px;
	}
	#facility .txt h3 + p{
		font-size: 13px;
		line-height: 1.84;
		margin-top: 20px;
	}
	#facility .txt table{
		margin-top: 15px;
	}
	#facility .txt th,
	#facility .txt td{
		font-size: 12px;
		line-height: 2;
	}
	#facility .txt th{
		width: 4.2em;
		padding: 0 0.5em 0 1em;
	}
	#facility .txt tr:first-child th{
		padding: 0.5em 0.5em 0 1em;
	}
	#facility .txt tr:last-child th{
		padding: 0 0.5em 0.7em 1em;
	}
	#facility .txt td:nth-child(2){
		padding: 0;
	}
	#facility .txt tr:first-child td:nth-child(2){
		padding: 0.5em 0 0;
	}
	#facility .txt tr:last-child td:nth-child(2){
		padding: 0 0 0.7em;
	}
	#facility .txt td:nth-child(3){
		padding: 0 1em 0 1em;
	}
	#facility .txt tr:first-child td:nth-child(3){
		padding: 0.5em 1em 0 1em;
	}
	#facility .txt tr:last-child td:nth-child(3){
		padding: 0 1em 0.7em 1em;
	}
	#facility .sliderBox{
		margin-top: 18px;
	}
	#facility .sliderBox .slider li span{
		min-height: 42px;
		font-size: 12px;
		line-height: 2;
		padding: 5px 140px 0 0;
	}
	#facility .sliderBox .slick-counter{
		width: 130px;
		height: 42px;
	}
	#facility .sliderBox .slick-counter::before{
		width: 26px;
	}
	#facility .sliderBox .slick-counter span{
		display: inline-block;
		font-size: 12px;
		line-height: 42px;
		font-weight: bold;
		color: #fff;
		margin: 0 5px;
	}
	#facility .sliderBox .slick-counter .current{
		transform: translate(0px,-3px)
	}
	#facility .sliderBox .slick-counter .total{
		transform: translate(0px,3px)
	}
	#facility .sliderBox .slick-arrow{
		width: 42px;
		height: 42px;
	}
	#facility .sliderBox .slick-prev{
		right: 88px;
	}
	#facility .sliderBox .slick-next{
		right: 0;
	}
	#facility .sliderBox .slick-arrow::before{
		width: 11px;
		height: 11px;
	}
	#facility .sliderBox .slick-prev::before{
		margin-left: 3px;
	}
	#facility .sliderBox .slick-next::before{
		margin-left: -3px;
	}
	#facility .library{
		margin: 20px -16px 0;
		padding: 28px 16px 25px;
	}
	#facility .library .txt{
		margin-top: 18px;
	}
	#facility .library .txt h3{
		font-size: 24px;
		text-align: center;
	}
	#facility .library .txt p{
		font-size: 13px;
		line-height: 1.84;
		margin-top: 10px;
	}
}


/* photoGallary
-----------------------------------------------*/
#photoGallary{
	padding: 90px 40px 90px;
}
#photoGallary .ttlBox{
	position: relative;
}
#photoGallary .sliderBox{
	max-width: 721px;
	margin: 60px auto 0;
	position: relative;
}
#photoGallary .sliderBox .gallaryWrap{
	display: none;
}
#photoGallary .sliderBox .gallaryWrap.current{
	display: block;
}
#photoGallary .sliderBox .gallaryWrap .gallarySlider .slick-track{
	opacity: 0;
	transition: opacity 0s;
}
#photoGallary .sliderBox .gallaryWrap.current .gallarySlider.slick-initialized .slick-track{
	transition: opacity 1s .1s cubic-bezier(.210, .60, .350, 1);
	opacity: 1;
}
#photoGallary .sliderBox li{
	position: relative;
	padding: 0 0.5px;
}
#photoGallary .sliderBox .slick-arrow{
	display: block;
	width: 200%;
	height: 100%;
	border: none;
	padding: 0;
	position: absolute;
	top: 0;
	z-index: 1;
	font-size: 0;
	background: rgba(51,51,51,0.5);
	cursor: pointer;
	transition: background .2s cubic-bezier(.210, .60, .350, 1);
}
#photoGallary .sliderBox .slick-arrow:hover{
	background: rgba(51,51,51,0);
}
.touchDevice #photoGallary .sliderBox .slick-arrow:hover{
	background: rgba(51,51,51,0.5);
}
#photoGallary .sliderBox .slick-prev{
	left: -0.5px;
	transform: translate(-100%,0%);
}
#photoGallary .sliderBox .slick-next{
	right: -0.5px;
	transform: translate(100%,0%);
}
#photoGallary .sliderBox .slick-arrow::before{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 80px;
	height: 80px;
	font-size: 0;
	box-sizing: border-box;
	border: solid 1px #fff;
	background: transparent;
	border-radius: 50%;
	z-index: 2;
}
#photoGallary .sliderBox .slick-prev::before{
	right: 50%;
	transform: translate(50%,-50%);
}
#photoGallary .sliderBox .slick-next::before{
	left: 50%;
	transform: translate(-50%,-50%);
}
#photoGallary .sliderBox .slick-arrow::after{
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}
#photoGallary .sliderBox .slick-prev::after{
	right: 50%;
	margin-right: -5px;
	transform: translate(50%,-50%) rotate(-45deg);
}
#photoGallary .sliderBox .slick-next::after{
	left: 50%;
	margin-left: -5px;
	transform: translate(-50%,-50%) rotate(-45deg) scale(-1,-1);
}
#photoGallary .sliderBox li span{
	display: block;
	position: absolute;
	bottom: 0;
	left: 0.5px;
	font-size: 12px;
	line-height: 1.66;
	letter-spacing: 0.01em;
	padding: 1em 60px 0 0;
	transform: translate(0%,100%);
	opacity: 0;
	transition: opacity 0s;
}
#photoGallary .sliderBox li.slick-current span{
	transition: opacity .2s .4s;
	opacity: 1;
}
#photoGallary .sliderBox .slick-counter{
	position: absolute;
	bottom: 0;
	right: 0.5px;
	font-size: 12px;
	line-height: 1.66;
	font-weight: bold;
	letter-spacing: 0.01em;
	padding: 1em 0 0 0;
	transform: translate(0%,100%);
}
#photoGallary .sliderBox .slick-counter .current::after{
	content: " / ";
}
#photoGallary .sliderBox li strong{
	display: inline-block;
	text-align: center;
	position: absolute;
	left: 20px;
	bottom: 20px;
	background: #333;
	color: #fff;
	font-size: 13px;
  height: 28px;
  line-height: 28px;
	transform: translate3d(0,0,0);
  font-weight: normal;
  padding: 0 13px;
}
@media screen and (max-width: 980px) {
	#photoGallary .sliderBox{
		max-width: 80%;
	}
}
@media screen and (max-width: 750px) {
	#photoGallary{
		padding: 80px 16px 86px;
	}
	#photoGallary .sliderBox{
		max-width: 91.73%;
		margin: 34px auto 0;
	}
	#photoGallary .sliderBox .slick-arrow::before{
		display: none;
	}
	#photoGallary .sliderBox .slick-arrow::after{
		display: none;
	}
  #photoGallary .sliderBox li strong{
    left: 15px;
    bottom: 15px;
    font-size: 12px;
    height: 25px;
    line-height: 25px;
    padding: 0 10px;
  }
}


/* process
-----------------------------------------------*/
#process h2{
	max-width: 1200px;
	margin: 0 auto 60px;
}
#processMovie{
	background: #f0f0f0;
	margin: 0 -40px;
	position: relative;
}
#processMovie .movie{
	max-width: 1040px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
#process .movie video{
	width: 100%;
	height: auto;
	display: block;
}
#processMoviePlay{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
}
#processMoviePlay .img{
	width: 100%;
	height: 100%;
	background: url("../images/img-process_01.jpg") no-repeat center center;
	background-size: cover;
	transition: transform .5s cubic-bezier(.210, .60, .350, 1);
}
#processMoviePlay:hover .img{
	transform: scale(1.1);
}
.touchDevice #processMoviePlay:hover .img{
	transform: scale(1);
}
#processMoviePlay.pause .img{
	display: none;
}
#processMoviePlay::before{
	content: "";
	display: block;
	width: 80px;
	height: 80px;
	box-sizing: border-box;
	border: solid 1px #fff;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%,-50%);
}
#processMoviePlay::after{
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	margin-left: -5px;
	transform: translate(-50%,-50%) rotate(45deg);
}
@media screen and (max-width: 750px) {
	#process h2{
		margin: 0 0 40px;
	}
	#processMoviePlay::before{
		width: 40px;
		height: 40px;
	}
	#processMoviePlay::after{
		margin-left: -2.5px;
		transform: translate(-50%,-50%) rotate(45deg) scale(0.5);
	}
}


/* access
-----------------------------------------------*/
#access{
	padding: 90px 40px 160px;
}
#access .txt{
	float: left;
	width: 50%;
	box-sizing: border-box;
	padding: 0 13.33% 0 80px;
}
#access .txt h2{
	transform: translate(-80px,20px);
}
#access .txt h2.fade{
	transform: translate(-80px,0px);
}
#access .txt p{
	font-size: 14px;
	line-height: 1.71;
	letter-spacing: 0.01em;
}
#access .txt p.notes{
	margin-top: 20px;
}
#access .txt p.tel{
	margin-top: 20px;
	font-size: 16px;
	line-height: 1;
}
#access .txt p.tel .tel-link{
	display: inline-block;
}
#access .txt p.tel .tel-link::before{
	content: "";
	display: inline-block;
	vertical-align: top;
	width: 28px;
	height: 16px;
	background: url("../images/ico-tel.svg") no-repeat center;
	background-size: 100%;
	margin-right: 7px;
}
#access .txt p a{
	color: #00afdd;
	text-decoration: underline;
}
#access .txt p a:hover{
	text-decoration: none;
}
.touchDevice #access .txt p a:hover{
	text-decoration: underline;
}
#access .txt .btn{
	margin-top: 20px;
}
#access .txt .btn a{
	display: inline-block;
	background: #333;
	color: #fff;
	font-size: 14px;
	line-height: 56px;
	font-weight: bold;
	letter-spacing: 0.01em;
	box-sizing: border-box;
	padding: 0 15px 0 25px;
	position: relative;
}
#access .txt .btn a::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 24px;
	height: 26px;
	background: url("../images/ico-download.svg") no-repeat center;
	background-size: 100%;
	margin-right: 6px;
}
#access .txt .btn a::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	opacity: 0;
	transition: opacity .2s cubic-bezier(.210, .60, .350, 1);
}
#access .txt .btn a:hover::after{
	opacity: 0.2;
}
.touchDevice #access .txt .btn a:hover::after{
	opacity: 0;
}
#access .mapBox{
	float: right;
	width: 50%;
	position: relative;
	margin-top: 10px;
}
#access .mapBox::before{
	content: "";
	display: block;
	width: 400%;
	height: 100%;
	background: #f0f0f0;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(-80px,80px);
}
#access #map{
	width: 100%;
	height: 338px;
	position: relative;
}
#access #map iframe{
	display: block;
	width: 100%;
	height: 100%;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
@media screen and (max-width: 980px) {
	#access .txt{
		float: none;
		width: 100%;
		padding: 0 0 0 80px;
	}
	#access .mapBox{
		float: none;
		width: 100%;
		margin-top: 140px;
	}
	#access .mapBox::before{
		width: 100%;
		height: calc(100% + 160px);
		left: 80px;
		top: -80px;
		bottom: auto;
		transform: translate(0px,0px);
	}
}
@media screen and (max-width: 750px) {
	#access{
		padding: 80px 16px 100px;
	}
	#access .txt{
		padding: 0;
	}
	#access .txt h2{
		transform: translate(0px,15px);
	}
	#access .txt h2.fade{
		transform: translate(0px,0px);
	}
	#access .txt p{
		font-size: 13px;
		line-height: 1.84;
	}
	#access .txt p.notes{
		margin-top: 15px;
	}
	#access .txt p.tel{
		margin-top: 15px;
		font-size: 13px;
	}
	#access .txt p.tel .tel-link{
		display: block;
		width: 263px;
		line-height: 40px;
		box-sizing: border-box;
		border: solid 1px #333;
		text-align: center;
		margin: 0 auto;
	}
	#access .txt p.tel .tel-link::before{
		vertical-align: middle;
		width: 28.5px;
		height: 16.5px;
		margin-right: 6px;
	}
	#access .txt .btn{
		margin-top: 15px;
	}
	#access .txt .btn a{
		display: block;
		width: 263px;
		font-size: 13px;
		line-height: 42px;
		padding: 0 0 0 8px;
		margin: 0 auto;
		text-align: center;
	}
	#access .txt .btn a::before{
		width: 12px;
		height: 13px;
		margin-right: 8px;
	}
	#access .mapBox{
		margin-top: 80px;
	}
	#access .mapBox::before{
		height: calc(100% + 80px);
		left: 40px;
		top: -40px;
	}
	#access #map{
		height: 193px;
	}
}


/* bnr
-----------------------------------------------*/
#bnr{
	background: #001a2c;
	padding: 80px 40px;
}
#bnr .inner{
	max-width: 1200px;
	margin: 0 auto;
}
#bnr ul{
	margin-right: -5.33%;
}
#bnr ul::after{
	content: "";
	display: block;
	clear: both;
}
#bnr li{
	float: left;
	width: 25%;
}
#bnr li a{
	display: block;
	margin-right: 20.25%;
	position: relative;
}
#bnr li a img{
	display: block;
	/* vertical-align: top; */
}
#bnr li span{
	display: block;
	background: #00afdd;
	color: #fff;
	font-size: 16px;
	line-height: 3em;
	margin-top: -1px;
	font-weight: bold;
	text-align: center;
}
#bnr li span::after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	box-sizing: border-box;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	margin-top: -0.1em;
	margin-left: 0.3em;
	transform: rotate(45deg);
}
#bnr li a::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #333;
	opacity: 0;
	transition: opacity .2s cubic-bezier(.210, .60, .350, 1);
}
#bnr li a:hover::after{
	opacity: 0.2;
}
.touchDevice #bnr li a:hover::after{
	opacity: 0;
}
@media screen and (max-width: 1280px) {
	#bnr li a{
		margin-right: 12%;
	}
	#bnr li span{
		font-size: 14px;
	}
}
@media screen and (max-width: 980px) {
	#bnr .inner{
		max-width: 544px;
	}
	#bnr ul{
		margin-right: -40px;
	}
	#bnr li{
		width: 50%;
		margin-top: 40px;
	}
	#bnr li:nth-child(-n+2){
		margin-top: 0;
	}
	#bnr li a{
		margin-right: 40px;
	}
	#bnr li span{
		font-size: 16px;
	}
}
@media screen and (max-width: 750px) {
	#bnr{
		padding: 40px 16px;
	}
	#bnr .inner{
		max-width: 343px;
	}
	#bnr ul{
		margin-right: -20px;
	}
	#bnr li{
		margin-top: 20px;
	}
	#bnr li a{
		margin-right: 20px;
	}
	#bnr li a img{
		width: 100%;
	}
	#bnr li span{
		font-size: 10px;
	}
	#bnr li span::after{
		width: 4px;
		height: 4px;
		border-top: solid 1px #fff;
    border-right: solid 1px #fff;
	}
}


/* チャットアイコン
=========================================================================*/
#chatplusview #eye_catcher{
	width: 112px;
	height: 96px;
	box-sizing: border-box;
	padding-top: 18px;
	right: 12px !important;
	background: #001a2c;
	border-radius: 12px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1), 0 0 12px rgba(0,26,51,0.05);
	transition: background .2s  cubic-bezier(.210, .60, .350, 1);
}
#chatplusview #eye_catcher:hover{
	background: #00afdd;
}
#chatplusview #eye_catcher::before{
	content: "";
	display: block;
	width: 43px;
	height: 37px;
	background: url("/common/images/ms/ico-chat.svg") no-repeat center;
	background-size: 100%;
	margin: 0 auto 12px;
}
#chatplusview #eye_catcher::after{
	content: "チャットで質問" !important;
	text-align: center;
	font-size: 12px;
	line-height: 1.2;
	color: #fff;
	font-weight: bold;
}
#chatplusview #eye_catcher img{
	display: none;
}
@media screen and (max-width: 740px) {
	#chatplusview #eye_catcher{
		width: 85px;
		height: 72px;
		padding-top: 14px;
		right: 7px !important;
		border-radius: 6px;
	}
	#chatplusview #eye_catcher::before{
		width: 32px;
		height: 27.5349px;
		background-size: 100%;
		margin: 0 auto 8px;
	}
	#chatplusview #eye_catcher::after{
		font-size: 10px;
	}
}

#offgrid {
	position: relative;
	max-width: 1200px;
	padding: 60px 0 80px 40px;
	margin: 0 auto 40px;
	background: #F0F0F0;
}
#offgrid::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 200%;
	height: 100%;
	background: #F0F0F0;
	transform: translate(100%, 0);
}
#offgrid .col {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
}
#offgrid .col .txt {
	width: 30%;
}
#offgrid .col .txt h3 {
	font-size: 26px;
	line-height: 1.1;
	font-weight: 300;
	color: #003459;
	letter-spacing: 0.1em;
}
#offgrid .col .txt p {
	font-size: 14px;
	line-height: 1.71;
	margin-top: 20px;
}
#offgrid .sliderBox {
	width: 40%;
	padding: 0 160px 40px;
	overflow: hidden;
}
#offgrid .sliderBox li {
	position: relative;
	width: 500px;
	padding: 0 0.5px;
}
#offgrid .sliderBox li img {
	width: auto;
}
#offgrid .sliderBox li span {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0.5px;
	font-size: 12px;
	line-height: 1.66;
	letter-spacing: 0.01em;
	padding: 1em 60px 0 0;
	transform: translate(0%, 100%);
	opacity: 0;
}
#offgrid .sliderBox li.slick-current span {
	transition: opacity .2s .4s;
	opacity: 1;
}
#offgrid .sliderBox .slick-counter {
	position: absolute;
	bottom: 0;
	right: 0.5px;
	font-size: 12px;
	line-height: 1.66;
	font-weight: bold;
	letter-spacing: 0.01em;
	padding: 1em 0 0 0;
	transform: translate(0%, 100%);
}
#offgrid .sliderBox .slick-counter .current::after {
	content: " / ";
}
#offgrid .sliderBox .slick-arrow {
	display: block;
	width: 200%;
	height: 100%;
	border: none;
	padding: 0;
	position: absolute;
	top: 0;
	z-index: 1;
	font-size: 0;
	background: rgba(51, 51, 51, 0.5);
	cursor: pointer;
	transition: background .2s cubic-bezier(.210, .60, .350, 1);
}
#offgrid .sliderBox .slick-arrow::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 80px;
	height: 80px;
	font-size: 0;
	box-sizing: border-box;
	border: solid 1px #fff;
	background: transparent;
	border-radius: 50%;
	z-index: 2;
}
#offgrid .sliderBox .slick-arrow::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}
#offgrid .sliderBox .slick-prev {
	left: -0.5px;
	transform: translate(-100%, 0%);
}
#offgrid .sliderBox .slick-prev::before {
	right: 32px;
	transform: translate(0, -50%);
}
#offgrid .sliderBox .slick-prev::after {
	right: 62px;
	transform: translate(0, -50%) rotate(-45deg);
}
#offgrid .sliderBox .slick-next {
	right: -0.5px;
	transform: translate(100%, 0%);
}
#offgrid .sliderBox .slick-next::before {
	left: 32px;
	transform: translate(0, -50%);
}
#offgrid .sliderBox .slick-next::after {
	left: 62px;
	transform: translate(0%, -50%) rotate(-45deg) scale(-1, -1);
}
#offgrid .sliderBox .slick-arrow:hover {
	background: rgba(51, 51, 51, 0);
}
@media screen and (max-width: 980px) {
	#offgrid {
		padding: 60px 40px 80px;
	}
	#offgrid .col {
		flex-direction: column-reverse;
	}
	#offgrid .col .txt {
		width: 100%;
	}
	#offgrid .col .sliderBox {
		width: 65%;
	}
}
@media screen and (max-width: 834px) {
	#offgrid .col .sliderBox {
		width: 66%;
		padding: 0 130px 40px;
	}
}
@media screen and (max-width: 768px) {
	#offgrid {
		padding: 26px 16px 25px;
	}
	#offgrid .col {
    gap: 10px;
	}
	#offgrid .col .txt h3 {
		font-size: 20px;
		text-align: center;
	}
	#offgrid .col .txt p {
		margin-top: 12px;
		font-size: 13px;
	}
	#offgrid .col .sliderBox {
		width: 88%;
		padding: 0 40px 40px;
	}
	#offgrid .sliderBox .slick-arrow::before,
	#offgrid .sliderBox .slick-arrow::after {
		display: none;
	}
}
@media screen and (max-width: 520px) {
	#offgrid .col .sliderBox {
		width: 88%;
		padding: 0 20px 40px;
	}
	#offgrid .sliderBox .slick-arrow::before,
	#offgrid .sliderBox .slick-arrow::after {
		display: none;
	}
}