@import url("https://use.typekit.net/mmv6gli.css");

@charset "UTF-8";

/* normalize
-------------------*/

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}h1{font-size:2em}abbr[title]{text-decoration:none}b,strong{font-weight:700}dfn{font-style:italic}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,html input[type="button"],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}


.ftMon{ font-family: montserrat, sans-serif;}
.ftTsu{ font-family: fot-tsukuardgothic-std, sans-serif;}

/* reset
-------------------*/

html {
	background:#FFF;
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}
body,h1,h2,h3,h4,h5,h6,pre,ul,ol,li,dl,dt,dd,p,img {
	margin: 0;
	padding: 0;
}
body {
	background: #fff;
	font-family: "Jun 501", sans-serif !important;
	color: #434d5a;
	font-size: 16px;
	font-size: 1.6rem; /* sets the default sizing to make sure nothing is actually 10px */
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.03em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	overflow-x: hidden;
}

.secInr{
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
	position: relative;
    z-index: 3;
}

body * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
a,a:link,a:hover,a:focus {
	color: #333;
	text-decoration: none;
	cursor: pointer;
	outline: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
/*a:hover {
	text-decoration: underline;
}*/
ul,ol {
	list-style-type: none;
}
::selection {
	background: #888;
	color: #FFF; /* Safari */
}
::-moz-selection {
	background: #888;
	color: #FFF; /* Firefox */
}
#contents p{
	line-height: 2.2;
}
hr.ancHr{
	font-size: 0 !important;
    line-height: 0 !important;
    visibility: hidden !important;
	margin: 0;
	padding: 0;
}

/* base contents
-------------------*/

/*header*/
#header {
 	width:100%;
    position: fixed;
    left: 0%;
    z-index: 10;
    padding: 20px 0;
}

#header .logo{
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	opacity: 0;
}

#header .logo.active{
	opacity: 1;
}

#header a{
	display: flex;
	align-items: center;
	max-width: 230px;
	width: 100%;
}

#header a img{
	width: 70px;
	height: 100%;
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}

#header a .logoText .text14{
	color: #0091d8;
}

#header.fixed{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
	height: 102px;
    background: #fff;
    -webkit-box-shadow: 1px 5px 15px -5px rgb(0 0 0 / 10%);
    box-shadow: 1px 5px 15px -5px rgb(0 0 0 / 10%);
}

/* hamburger menu
-------------------*/

/*header*/
#spHeader{
	display: block;
	margin-bottom: 0;
	width: 100%;
}
#spHeader .logo {
	display: none;
}
#spHeader .logo img {
width: 200px!important;
}

#spHeader ul{
	overflow: hidden;
	zoom: 1;
	position: absolute;
	right: 55px;
	top: 16px;
}
#spHeader li{
	float: left;
	margin: 0 5px;
	text-align: center;
}
#spHeader li a{
	color: #FFF;
	font-size:2.6rem;
	line-height: 1;
}
#spHeader li a i{
}
.spMenu{
	border-radius: 60px;
	background: #fff;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
	cursor: pointer;
	display: block;
	height: 60px;
	width: 60px;
	position: fixed;
	right: 40px;
	top: 20px;
	z-index: 1010;
    opacity: 0;
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}
.spMenu.on {
    opacity: 1;
}
.spMenu span {
	background: #434d5a;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
    height: 1px;
    width: 26px;
    position: absolute;
    left: 17px;
	-webkit-transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1);
}

.spMenu span:nth-of-type(1) { top: 22px; }
.spMenu span:nth-of-type(2) { top: 30px; }
.spMenu span:nth-of-type(3) { top: 38px; }


.spMenu.active{
	box-shadow: none;
}
.spMenu.active span{
	background: #434d5a;
}
.spMenu.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
	top: 18px;
}
.spMenu.active span:nth-of-type(2) {
	opacity: 0;
}
.spMenu.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
	top: 38px;
}
.spMenu.active small{
	color: #fff;
}

/*spNav*/
#spNav{
	background: linear-gradient(45deg, #8be5fe, #6ab0ff);
    background-size: 200% 200%;
    animation: Gradient 6s ease infinite;
	height: 100%;
	display: block;
	transition: all 300ms ease 0.25s;
	visibility: hidden;
	width: 100%;
    position: fixed;
	right: -100%;
    top: 0;
	z-index: 990;
}

@keyframes Gradient {
    0%{background-position:50% 0%}
    50%{background-position:50% 100%}
    100%{background-position:50% 0%}
}

#spNav.active{
	visibility: visible;
	right: 0;
}

#spNav::after {
	background: url(../img/mv.jpg);
	background-size: cover; 
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}
#spNav::before,
#spNav::after {
    opacity: 0;
	transition: all 550ms ease 0.25s;
}
#spNav.active::before,
#spNav.active::after {
    opacity: 1;
}
#spNav .closeBtn{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 15px 3%;
	text-align: right;
}

#spNav .bgBorder{
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	/*padding-top: 190px;*/
	height: 100%
}

#spNav .snInr {
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 30px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#spNav .logo .text12{
	margin-top: 90px;
}

#spNav .snInr nav ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

#spNav .snInr nav ul li {
	position: relative;
	margin-bottom: 40px;
	width: 33.33%
}
#spNav .snInr nav ul li:before{
	content: '';
    width: 8%;
    height: 3px;
    left: 50%;
    opacity: 0;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    bottom: 0;
    background: #1067c3;
    position: absolute;
    transform: translate(-50%, 0);
}

#spNav .snInr nav ul li:hover:before{
    bottom: -8px;
    opacity: 1;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

#spNav .snInr nav ul li a {
	font-weight: 700;
	color: #fff;
  	display: flex;	
  	justify-content: center;
  	align-items: center;
}

#spNav .snInr nav ul li a:hover {
 	color: #1067c3;
}

#spNav .entryWrap a:nth-of-type(1){
	margin-right: 20px;
}

#spNav .entryWrap{
	margin-bottom: 70px;
    text-align: right;
}

#spNav .entryWrap span{
	border-bottom: 1px solid #434d5a;
	font-size: 16px;
	font-size: 1.6rem;
	padding-bottom: 2px;
}

#spNav .address .right.text14{
	margin-bottom: 15px;
	text-align: right;
}

#spNav .address .wholeLogo{
	margin-left: auto;
	width: 310px;
}

#spNav .address .wholeLogo img{
	width: 100%;
}

@media only screen and (max-width: 1570px) {
#gNav {
    width: 83%;
}
#gNav ul li a {
    font-size: 18px;
    font-size: 1.8rem;
}
#gNav ul li a span {
    font-size: 16px;
    font-size: 1.6rem;
}
}
@media only screen and (max-width: 1366px) {
#gNav ul li a {
    font-size: 16px;
    font-size: 1.6rem;
}
#gNav ul li a span {
    font-size: 14px;
    font-size: 1.4rem;
}
}
@media only screen and (max-width: 1024px) {

}

/*contents*/
#contents {
	margin: 0 auto;
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
/*footer*/
#footer {
	width: 100%;
	position: relative;
}
#footer .ftLogo{
	position: absolute;
	left: calc(50% - 38px);
	top: -42%;
	width: 76px;
	z-index: 1;
}

#footer .ftLogo img{
	width: 100%;
}

#footer .ftLogo .img img{
	width: 100%;
}

#copyright {
	font-family: 'Cormorant Garamond', serif;
	color: #bbbbbb;
	display: block;
    font-size: 12px;
	font-size: 1.2rem;
	padding: 50px 0 40px;
	text-align:center;
	width: 100%;
    font-weight: 500;
}
/* indent
-------------------*/
.center{text-align:center!important;}
.left{text-align:left!important;}
.right{text-align:right!important;}
.top0{margin-top:0 !important;}
.top5{margin-top:5px !important;}
.top10{margin-top:10px !important;}
.top15{margin-top:15px !important;}
.top20{margin-top:20px !important;}
.top25{margin-top:25px !important;}
.top30{margin-top:30px !important;}
.top35{margin-top:35px !important;}
.top40{margin-top:40px !important;}
.btm0{margin-bottom:0 !important;}
.btm5{margin-bottom:5px !important;}
.btm10{margin-bottom:10px !important;}
.btm15{margin-bottom:15px !important;}
.btm20{margin-bottom:20px !important;}
.btm25{margin-bottom:25px !important;}
.btm30{margin-bottom:30px !important;}
.btm35{margin-bottom:35px !important;}
.btm40{margin-bottom:40px !important;}
.btm45{margin-bottom:45px !important;}
.btm50{margin-bottom:50px !important;}
.btm55{margin-bottom:55px !important;}
.btm60{margin-bottom:60px !important;}
.btm65{margin-bottom:65px !important;}
.btm70{margin-bottom:70px !important;}
.btm75{margin-bottom:75px !important;}
.btm80{margin-bottom:80px !important;}
.btm85{margin-bottom:85px !important;}
.btm90{margin-bottom:90px !important;}
.btm95{margin-bottom:90px !important;}
.pT0{padding-top:0!important;}
.pT5{padding-top:5px!important;}
.pT10{padding-top:10px!important;}
.pT15{padding-top:15px!important;}
.pT20{padding-top:20px!important;}
.pT25{padding-top:25px!important;}
.pT30{padding-top:30px!important;}
.pT35{padding-top:35px!important;}
.pT40{padding-top:40px!important;}
.pT45{padding-top:45px!important;}
.pB0{padding-bottom:0!important;}
.pB5{padding-bottom:5px!important;}
.pB10{padding-bottom:10px!important;}
.pB15{padding-bottom:15px!important;}
.pB20{padding-bottom:20px!important;}
.lm5{margin-left:5px !important;}
.lm10{margin-left:10px !important;}
.lm15{margin-left:15px !important;}
.lm20{margin-left:20px !important;}
.lm50{margin-left:50px !important;}
.lm60{margin-left:60px !important;}
.lm70{margin-left:70px !important;}
.rm5{margin-right:5px !important;}
.rm10{margin-right:10px !important;}
.rm15{margin-right:15px !important;}
.rm20{margin-right:20px !important;}
.vAT { vertical-align:top!important;}
.vAM { vertical-align:middle!important;}
.vAB { vertical-align:bottom!important;}
.bold { font-weight: bold;}
.normal { font-weight: normal;}
.is-pc { display: block;}
.is-sp { display: none;}
.is-spS { display: none;}
.spTel{ pointer-events: none; }
.mincho{
	font-family: "Roboto Slab" , Garamond , "Times New Roman" , 'sawarabiM', "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.marker{ background: linear-gradient(transparent 30%, #ffff66 60%); }

/* size
-------------------*/
.size10 { font-size:1.0rem!important; }
.size11 { font-size:1.1rem!important; }
.size12 { font-size:1.2rem!important; }
.size13 { font-size:1.3rem!important; }
.size14 { font-size:1.4rem!important; }
.size15 { font-size:1.5rem!important; }
.size16 { font-size:1.6rem!important; }
.size17 { font-size:1.7rem!important; }
.size18 { font-size:1.8rem!important; }
.size19 { font-size:1.9rem!important; }
.size20 { font-size:2.0rem!important; }
.size21 { font-size:2.1rem!important; }
.size22 { font-size:2.2rem!important; }
.size23 { font-size:2.3rem!important; }
.size24 { font-size:2.4rem!important; }

/* wide
-------------------*/
.w5 {width:5%!important;}
.w10 {width:10%!important;}
.w15 {width:15%!important;}
.w18 {width:18%!important;}
.w20 {width:20%!important;}
.w25 {width:25%!important;}
.w30 {width:30%!important;}
.w35 {width:35%!important;}
.w40 {width:40%!important;}
.w45 {width:45%!important;}
.w50 {width:50%!important;}
.w55 {width:55%!important;}
.w60 {width:60%!important;}
.w65 {width:65%!important;}
.w70 {width:70%!important;}
.w75 {width:75%!important;}
.w80 {width:80%!important;}
.w85 {width:85%!important;}
.w90 {width:90%!important;}
.w95 {width:95%!important;}
.wFull {width:100%!important;}

/* section
-------------------*/
section {
	clear:both;
}
section.bgColor{
	padding: 60px 0;
}
section.bgColor01{ background: #EEE;}
section.bgColor02{ background: #EAF6F9;}
.scInr{
	margin: 0 auto;
	max-width: 1200px;
	width: 97%;
}
.scInrS{
	margin: 0 auto;
	max-width: 1000px;
	width: 97%;
}
.scInrW{
	margin: 0 auto;
	max-width: 1400px;
	width: 97%;
}
.aural span,
span.aural {
	display:none;
	visibility:hidden;
}

/* compo parts
-------------------*/


@media only screen and (max-width: 480px) {

body {
font-size: 14px;
font-size: 1.4rem;
}

/* indent
-------------------*/
.bgFixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
.is-sp{ display: block!important;}
.is-pc{ display: none!important;}
.spImg{ max-width: 100%;}
a.spTel{
	color: #96d1df;
	pointer-events: auto;
	text-decoration: underline;
}
#spNav .snInr {
display: block;
}
#spNav .snInr nav {
    width: 100%;
}
.is-spS {
display: block!important;
}
}


.fadein {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1000ms;
	}

.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}

/*-------------------------common-----*/

.text12{ font-size: 12px; font-size: 1.2rem; }
.text13{ font-size: 13px; font-size: 1.3rem; }
.text14{ font-size: 14px; font-size: 1.4rem; }
.text16{ font-size: 16px; font-size: 1.6rem; font-weight: 700;}
.text18{ font-size: 18px; font-size: 1.8rem; }
.text21{ font-size: 21px; font-size: 2.1rem; }
.text24{ font-size: 24px; font-size: 2.4rem; }
.text26{ font-size: 26px; font-size: 2.6rem; }
.text28{ font-size: 28px; font-size: 2.8rem; }
.text30{ font-size: 30px; font-size: 3.0rem; }
.text32{ font-size: 32px; font-size: 3.2rem; }
.text40{ font-size: 40px; font-size: 4.0rem; letter-spacing: -0.05em;}
.text60{ font-size: 60px; font-size: 6.0rem; }

.head21{ font-size: 21px; font-size: 2.1rem; }
.head24{ font-size: 24px; font-size: 2.4rem; }
.head26{ font-size: 26px; font-size: 2.6rem; }
.head30{ font-size: 30px; font-size: 3.0rem; line-height: 1;}
.head32{ font-size: 32px; font-size: 3.2rem; }
.head40{ font-size: 40px; font-size: 4.0rem; }
.head42{ font-size: 42px; font-size: 4.2rem; }
.head46{ font-size: 46px; font-size: 4.6rem; }
.head52{ font-size: 52px; font-size: 5.2rem; }
.head60{ font-size: 60px; font-size: 6.0rem; letter-spacing: -0.09em; margin-bottom: 80px;}
.head64{ font-size: 64px; font-size: 6.4rem; letter-spacing: -0.05em;}

.colorText{
	background: linear-gradient(180deg, #76b5ff, #85edfe);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.colorTextL{
	background: linear-gradient(90deg, #76b5ff, #85edfe);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.flexBox{
	display: flex;
	flex-wrap: wrap;
}

.flexBox .detail{
	width: 48%;
}

.flexBox .img{
	width: 48%;
}

.flexBox .img img{
	width: 100%;
}

@media only screen and (max-width: 1040px) {

}

@media only screen and (max-width: 1640px) {

}

@media only screen and (max-width: 1520px) {

}

@media only screen and (max-width: 1460px) {

}

@media only screen and (max-width: 1300px) {

}

@media only screen and (max-width: 1200px) {

}
@media only screen and (max-width: 1080px) {

}

@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 900px) {

}
/*-------------------------------------------------------------for sp----*/
@media only screen and (max-width: 900px) {

#header{
	transition: 1s ease;
}

#header.fixed {
    width: 100%;
    position: fixed;
    left: 0%;
    height: 80px;
    z-index: 10;
    background: rgba(255,255,255,0.9);   
}

.spMenu {
    right: 10px;
    top: 10px;
}

#footer {
    padding-top: 0px;
}
#copyright {
    padding: 40px 0;
}
#spNav .logo {
    margin: 0 auto;
}

#header .hdInr {
    width: 90%;
}
.logoArea {
    margin: 0 auto 10px;
    width: 50%;
}

#spNav .logo .logoWrap {
    left: 50%;
    top: -140px;
}

#spNav .snInr nav {
    width: 75%;
    margin: 0 auto;
}
}

#mail{
	display: none;
}

#topcontrol{
	z-index: 900;
	right: auto;
	left: 50px;
	bottom: 77px !important;
	width: 60px;
}
#topcontrol a {
	border-radius: 60px;
	background: #007dff;
	position: relative;
	display:block;
	height: 60px;
	width: 60px;
	filter: alpha(opacity=70) !important;
	opacity: 0.6 !important;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

#topcontrol a:after {
	content: "\f062";
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-size: 20px;
	color: #fff;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

#topcontrol a:hover {
	filter: alpha(opacity=10) !important;
	opacity:1 !important;
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
 	-ms-transform: scale(1.2);
 	-o-transform: scale(1.2);
 	transform: scale(1.2);
}


/*-------------------------topMv-----*/

#topMv{
	background: #fff;
	position: relative;
	height: 100vh;overflow: hidden;
	display: flex;
	justify-content: space-between;
}

#topMv .imgLeft{
	position: relative;
	z-index: 1;
	width: 16%;
}

#topMv .whiteBg{
	position: relative;
	width: 50%;
}

#topMv .whiteBg .bg_m,
#topMv .whiteBg .bg_i,
#topMv .whiteBg .bg_y,
#topMv .whiteBg .bg_a,
#topMv .whiteBg .bg_k,
#topMv .whiteBg .bg_o{
	color: #eef5fb;
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	position: absolute;
	line-height: 1 !important;
}

#topMv .whiteBg .bg_m{ font-size: 48rem; right: -8%; top: -25%;}
#topMv .whiteBg .bg_i{ font-size: 15rem; left: 20%; top: 25%;}
#topMv .whiteBg .bg_y{ font-size: 30rem; left: -5%; top: 35%;}
#topMv .whiteBg .bg_a{ font-size: 20rem; right: -3%; top: 45%;}
#topMv .whiteBg .bg_k{ font-size: 30rem; left: 30%; top: 75%;}
#topMv .whiteBg .bg_o{ font-size: 30rem; right: -6%; top: 60%;}


#topMv .whiteBg .bg_m,
#topMv .whiteBg .bg_i,
#topMv .whiteBg .bg_y,
#topMv .whiteBg .bg_a,
#topMv .whiteBg .bg_k,
#topMv .whiteBg .bg_o{
	transition: 3s ease;
	transform: translate(0px, 30px) rotate(-30deg);
	filter: blur(10px);
    opacity: 0;
}

#topMv .whiteBg .bg_m.active,
#topMv .whiteBg .bg_i.active,
#topMv .whiteBg .bg_y.active,
#topMv .whiteBg .bg_a.active,
#topMv .whiteBg .bg_k.active,
#topMv .whiteBg .bg_o.active{
	opacity: 1;
	transform: translate(0, 0) rotate(0deg);
	filter: blur(0);
}

#topMv .whiteBg .catchWrap{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	z-index: 1;
}

#topMv .whiteBg .catchWrap .catch{
	margin-bottom: 50px;
	text-align: center;
	transition: all .3s ease-in-out;
	opacity: 0;
}

#topMv .whiteBg .catchWrap .catch.scrollin{
	opacity: 1;
}

#topMv .whiteBg .catchWrap .catch small{
	font-size: 32px;
	font-size: 3.2rem;
}

#topMv .whiteBg .catchWrap .catch h1{
	font-size: 60px;
	font-size: 6.0rem;
	line-height: 1.2;
	margin-bottom: 20px;
}

#topMv .whiteBg .catchWrap .catch p{
	text-align: center;
	color: #0091d8;
	font-size: 20px;
	font-size: 2rem;
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	transition: all .3s ease-in-out;
	opacity: 0;
}

#topMv .whiteBg .catchWrap .catch p.scrollin{
	opacity: 1;
}

#topMv .whiteBg .catchWrap .catchS{
	text-align: center;
	transition: all .3s ease-in-out;
	opacity: 0;
}

#topMv .whiteBg .catchWrap .catchS.scrollin{
	opacity: 1;
}

#topMv .imgRight{
	position: relative;
	z-index: 1;	
	display: flex;
	justify-content: space-around;
	width: 50%;
}

#topMv .imgRight img{
	object-fit: cover;
	height: 100%;
	width: 100%
}

#topMv .imgLeft ul,
#topMv .imgRight ul{
	display: inline-table;
}

#topMv .imgRight ul:nth-of-type(1){
	width: 52%;
}
#topMv .imgRight ul:nth-of-type(2){
	width: 46%;
}

#topMv ul li{
	transition: 550ms ease 0.25s;
    opacity: 0;
}

#topMv ul li.active{
	opacity: 1;
}

#topMv .mv_right{
	transition: 550ms ease 0.25s;
    opacity: 0;
}

#topMv .mv_right.active{
	opacity: 1;
}

#topMv ul li.mv_01{height: 40vh; margin-bottom: 5px;}
#topMv ul li.mv_02{height: calc(60vh - 5px);}
#topMv ul li.mv_03{height: 25vh; margin-bottom: 5px;}
#topMv ul li.mv_04{height: calc(50vh - 10px); margin-bottom: 5px;}
#topMv ul li.mv_05{height: 25vh;}
#topMv ul li.mv_06{height: 50vh; margin-bottom: 5px;}
#topMv ul li.mv_07{height: calc(50vh - 5px);}

#topMv ul li img{
    width: 100%;
    max-width: unset;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
}

.floatWrap{
    position: fixed;
    right: 0;
    bottom: 5%;
	z-index: 5;
	transition: 0.2s linear ease;
	opacity: 0;
}

.floatWrap.scrollin{
	opacity: 1;
}

.float{
    background: url(../img/float_bg.jpg) no-repeat;
    border-radius: 15px 0 0 15px;
    background-size: cover;
    padding: 28px 35px;
}

.float #cross{
	position: absolute;
	left: 2%;
	top: 12%;
}

.float #cross:hover{
	cursor: pointer;
}

.float #cross:hover span{
    color: #0091d8;
}

.float #cross span{
	background: #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
    height: 2px;
    width: 20px;	
}

.float #cross span:nth-of-type(1){
	transform: rotate(45deg);
}

.float #cross span:nth-of-type(2){
	transform: rotate(-45deg);
	position: relative;
    left: -20px;
}

.float .addressWrap{
	color: #fff;
	margin-bottom: 25px;
	text-align: center;
}

.float .flexBox{
	align-items: center;
	display: flex;
	justify-content: flex-start;
}

.float .flexBox .telText{
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.2 !important;
}

.float .flexBox .tel{
	color: #fff;
	font-family: montserrat, sans-serif;
	font-weight: bold;
	font-size: 32px;
	font-size: 3.2rem;
	margin: 0 5px;
}

.float .mail{
	background: #fff;
	border-radius: 30px;
	color: #2587ed;
	display: block;
	padding: 10px 20px;
	text-align: center;
	transition: .3s ease;
}

.float .mail:hover{
	background: #1067c3;
	color: #fff;

}

.float .address{
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2!important;
}

.float .flexBox .text16{
	line-height: 1.2!important;
	font-weight: 600;
}

/*-------------------------sec-intro-----*/

#sec-intro{
	background: rgb(106,176,255);
	background: linear-gradient(180deg, rgba(106,176,255,1) 0%, rgba(133,237,254,1) 80%, rgba(255,255,255,1) 100%);
	padding: 140px 0 0 0;
	position: relative;
}

#sec-intro .txt-cap {
	margin-left: 30%;
    position: relative;
    width: 125em;
}

#sec-intro .txt-cap span {
	font-family: montserrat, sans-serif;
	color: rgba(255,255,255,0.1);
    font-size: 120px;
    font-size: 12rem;
    font-weight: 100;
    display: inline-block;
    line-height: 1;
}

#sec-intro .flexBox{
	justify-content: space-between;
}

#sec-intro .flexBox .head46{
	color: #fff;
}

#sec-intro .flexBox .detail{
	color: #fff;
}

#sec-intro .btmImgWrap{
	margin-top: -50px;
	margin-left: -65px;
}

#sec-intro .btmImgWrap .blurImg img{
	max-width: 600px;
}	

/*-------------------------sec-field-----*/

#sec-field{
	padding: 140px 0 150px;
	position: relative;
}

#sec-field .bgText{
	color: rgba(0,145,216,0.1);
	font-family: montserrat, sans-serif;
	font-size: 100px;
	font-size: 10rem;
	font-weight: 100;
	line-height: 1;
	position: absolute;
	left: 0;
	top: 0;
	writing-mode: vertical-lr;
}

#sec-field .head46{
	color: #0091d8;
	margin-bottom: 120px;
	text-align: center;
}

#sec-field .flexBox{
	justify-content: space-between;
	align-items: center;
}

#sec-field .flexBox .detail{
	order: 1;
	width: 58%;
}

#sec-field .flexBox .detail .head21{
	color: #0091d8;
	margin-bottom: 20px;
}

#sec-field .flexBox .imgWrap{
	position: relative;
	order: 2;
	width: 42%;
}

#sec-field .flexBox .imgWrap .shape01{
	position: absolute;
	right: 20%;
	top: -25%;
}

#sec-field .flexBox .imgWrap .shape02{
	position: absolute;
	left: -11%;
	top: 90%;
}

#sec-field .flexBox .imgWrap img{
	border-radius: 30px;
	width: 100%;
}

#sec-field .flexBox .imgWrap .shape01 img,
#sec-field .flexBox .imgWrap .shape02 img{
	border-radius: 0;
}


/*-------------------------sec-feature-----*/

#sec-feature{
	background: #e4f4ff;
	padding: 160px 0 110px;
	position: relative;
}

#sec-feature .bgText{
	color: #fff;
	font-family: montserrat, sans-serif;
	font-size: 100px;
	font-size: 10rem;
	font-weight: 100;
	line-height: 1;
	text-align: center;
    margin-top: -185px;
    margin-bottom: 70px;
}

#sec-feature .flexBox{
	justify-content: space-between;
	flex-wrap: wrap;
}

#sec-feature .flexBox li{
	background: #fff;
	border-radius: 5px;
	margin-bottom: 3%;
	padding: 0 40px 40px;
	width: 24%
}

#sec-feature .flexBox li .img{
	margin: -10px auto 30px;
	width: 100%;
}

#sec-feature .flexBox li .img img{
	height: 140px;
}

#sec-feature .flexBox li .text18{
	color: #009ddf;
	text-align: center;
	line-height: 1.4 !important;
}

/*-------------------------sec-point-----*/

#sec-point{
	padding: 130px 0 110px;
	position: relative;
}

#sec-point .pointWrap{
	border-radius: 30px;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	margin-bottom: 75px;
}

#sec-point .pointWrap .imgWrap{
	border-radius: 30px 30px 0 0;
	position: relative;
	padding: 70px 0 60px;
}

#sec-point .pointWrap.pt01 .imgWrap{ background: url("../img/main_01.jpg") no-repeat; background-size: cover}
#sec-point .pointWrap.pt02 .imgWrap{ background: url("../img/main_02.jpg") no-repeat; background-size: cover}
#sec-point .pointWrap.pt03 .imgWrap{ background: url("../img/main_03.jpg") no-repeat; background-size: cover}

.flag{
	background: url("../img/flag.png") no-repeat;
	background-size: contain;
	position: absolute;
	text-align: center;
	width: 140px;
	height: 150px;
	padding-top: 22px; 
	left: 5%;
	top: -1px;
}

.flag .text14{
	color: #009ddf;
	line-height: 1.2;
	margin-bottom: 10px;
}

.flag .colorText{
	font-size: 60px;
	font-size: 6rem;
    font-family: montserrat, sans-serif;
    font-weight: 400;
    line-height: 1;
    margin-top: -15px;
}

#sec-point .pointWrap .imgWrap .blueHead{
	border-radius: 0 0 10px 10px;
	text-align: center;
	position: absolute;
	background: #0091d8;
	width: 250px;
	top: 0;
	left: calc(50% - 125px);
}

#sec-point .pointWrap .imgWrap .blueHead span{
	color: #fff;
}

#sec-point .pointWrap h4{
	margin-bottom: 40px;
	text-align: center;
}

#sec-point .pointWrap .borderHead span{
	border-bottom: 1px solid #fff;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
}

#sec-point .pointWrap .head32{
	color: #fff;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 40px;
}

#sec-point .pointWrap .text16{
	color: #fff;
	font-weight: 600;
	text-align: center;
}

#sec-point .lightWrap{
	background: #e4f4ff;
	padding: 8% 7%;
}

#sec-point .lightWrap .flexBox .colorTextL{
	font-size: 26px;
	font-size: 2.6rem;
	width: 50%;
}

#sec-point .lightWrap .flexBox .text16{
	color: #333333;
	text-align: left;
	font-weight: 600;
	width: 50%;
}

#sec-point .whiteWrap{
	background: #fff;
	padding: 8% 7%;
	position: relative;
	z-index: 1;
}

#sec-point .pt01 .flexBox.top{
	justify-content: space-between;
	align-items: center;
	margin-bottom: 55px;
}

#sec-point .pt01 .flexBox.top .img img{
	border-radius: 30px;
}

#sec-point .pt01 .flexBox.top .text16{
	color: #333;
	font-weight: bold;
	text-align: left;
}

#sec-point .pt01 .flexBox.three{
	justify-content: space-between;
}

#sec-point .pt01 .flexBox.three li{
	text-align: center;
	width: 31%;
}

#sec-point .pt01 .flexBox.three li .img{
	margin-bottom: 10px;
	width: 100%;
}

#sec-point .pt01 .flexBox.three li .img img{
	border-radius: 30px;
}

#sec-point .pt01 .blueBorder{
	font-weight: bold;
	margin-bottom: 30px;
}

#sec-point .pt01 .blueBorder span{
	color: #009ddf;
	border-bottom: 1px solid #009ddf;
	font-size: 16px;
	font-size: 1.6rem;
}

#sec-point .pt01 .blueBorder .text21{
	color: #333333;
	line-height: 1.4;
}

#sec-point .pt01 .blueBorder .text16{
	font-weight: bold;
}

#sec-point .pt02 .imgArea{
	position: relative;
	margin-bottom: 30px;
    height: 500px;
}

#sec-point .pt02 .imgArea .centerImg{
	position: absolute;
	left: 50%;
	bottom: -12%;
	transform: translateX(-50%);
	width: 100%;
    max-width: 450px;
}

#sec-point .pt02 .imgArea .centerImg span{
	text-align: center;
    width: 100%;
    display: grid;
    font-size: 50px;
    margin-top: 40px;
}

#sec-point .pt02 .imgArea .centerImg span .fas.fa-chevron-down{
	margin-top: -26px;
}

#sec-point .pt02 .imgArea .centerImg span .fas.fa-chevron-down:nth-of-type(1){color: #0091d8;}
#sec-point .pt02 .imgArea .centerImg span .fas.fa-chevron-down:nth-of-type(2){color: #66bde8;}
#sec-point .pt02 .imgArea .centerImg span .fas.fa-chevron-down:nth-of-type(3){color: #99d3ef;}
#sec-point .pt02 .imgArea .centerImg span .fas.fa-chevron-down:nth-of-type(4){color: #cce9f7;}

#sec-point .pt02 .imgArea .pointList li{
	position: relative;
	border-bottom: 1px solid #e4f4ff;
	margin-bottom: 40px;
	padding-bottom: 15px;
	width: 280px;
}

/*#sec-point .pt02 .imgArea .pointList.left li:nth-of-type(2){
	margin-left: -20px;
}*/

#sec-point .pt02 .imgArea .pointList li .bgText{
	position: absolute;
	right: 0;
	top: 0;
	color: #f7fcff;
	font-family: montserrat, sans-serif;
	font-size: 100px;
	font-size: 10rem;
	line-height: 1;
	z-index: 0;
}

#sec-point .pt02 .imgArea .pointList li .head21{
	color: #0091d8;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: left;
    line-height: 1.2;
    font-weight: 600;
    position: relative;
    z-index: 1;
}

#sec-point .pt02 .imgArea .pointList li .text14{
	line-height: 1.5;
	text-align: left !important;
	position: relative;
    z-index: 1;
}

#sec-point .pt02 .imgArea .pointList li .head21 .text18{
	color: #8dc2e8;
}

#sec-point .pt02 .imgArea .pointList.left{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#sec-point .pt02 .imgArea .pointList.right{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

#sec-point .pt02 .blueBgList{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 85px;
}

#sec-point .pt02 .blueBgList li{
	background: #dcebf9;
	color: #0091d8;
	border-radius: 15px;
	margin-bottom: 2%;
	padding: 35px 10px;
	text-align: center;
	width: 32.5%;
	display: flex;
    align-items: center;
    justify-content: center;
}

#sec-point .whiteWrap .interviewWrap .img{
	margin-bottom: 50px;
	position: relative;
}

#sec-point .whiteWrap .interviewWrap .img .colorText{
    font-size: 80px;
    font-size: 8rem;
    font-family: montserrat, sans-serif;
    top: -90px;
    left: 0;
    position: absolute;
    font-weight: 200;
}

#sec-point .whiteWrap .interviewWrap.in02 .img .colorText{
	left: auto;
	right: 0;
}	

#sec-point .whiteWrap .interviewWrap.in02 .img .colorText span{
	font-family: montserrat, sans-serif;
	font-weight: 200;
}

#sec-point .whiteWrap .interviewWrap .img img{
	border-radius: 30px;	
	width: 100%;
}

#sec-point .whiteWrap .interviewWrap .graBorder{
	position: absolute;
	right: 0;
	bottom: -130px;
}

#sec-point .whiteWrap .interviewWrap .graBorderInr{
	display: none;
	position: relative;
	padding: 110px 90px 22px 35px;
}

#sec-point .whiteWrap .interviewWrap .graBorderInr:before{
	content: "";
	background: linear-gradient(270deg, rgba(133,237,254,1) 0%, rgba(106,176,255,1) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 0 5px 5px 0;
}

#sec-point .whiteWrap .interviewWrap .graBorderInr:after{
	content: "";
	background: linear-gradient(180deg, rgba(133,237,254,1) 0%, rgba(106,176,255,1) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 3px;
	height: 100%;
	border-radius: 5px 5px 0 0;
}

#sec-point .graBorderInr .year{
	color: #0091d8;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
}

#sec-point .graBorderInr .name{
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.4;
}


#sec-point .whiteWrap .interviewWrap .flexBox {
	align-items: flex-end;
    justify-content: space-between;
    margin: -15px 0 90px;
}

#sec-point .whiteWrap .interviewWrap .flexBox .detail{
	text-align: left;
}

#sec-point .whiteWrap .interviewWrap .flexBox .detail .head26{
	text-align: left;
	margin-bottom: 40px;
}

#sec-point .whiteWrap .interviewWrap .flexBox .detail .text16{
	color: #333;
	text-align: left;
}

#sec-point .whiteWrap .interviewWrap .flexBox .detail .text14{
	font-weight: bold;
}

#sec-point .whiteWrap .interviewWrap.in03{
	display: none;
}

/*-------------------------sec-data-----*/

#sec-data{
	background: url("../img/border_bg.jpg") repeat;
	background-size: 4%;
	padding: 140px 0 130px;
	position: relative;
}

#sec-data .secInr{
	display: flex;
	justify-content: space-between;
}

#sec-data .secInr ul{
	width: 32.5%;
}

#sec-data .secInr ul li{
	background: #fff;
	border-radius: 10px;
	padding: 21% 0 11.5%;
	position: relative;
	margin-bottom: 3.3%;
}

#sec-data .secInr ul li .ttlWrap{
	position: absolute;
	left: 5%;
	top: 25px;
}

#sec-data .secInr ul li .ttlWrap .colorText{
	font-family: montserrat, sans-serif;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1;
}

#sec-data .secInr ul li .ttlWrap .colorText span{
	font-size: 15px;
	font-size: 1.5rem;
}

#sec-data .secInr ul li.border{
	border: 1px solid #fff;
	background: transparent;
	border-radius: 10px;
	padding: 8% 12%;
}

#sec-data .secInr ul li .img img{
	width: 100%;
}

#sec-data .secInr ul li .img.smaller img{
	display: block;
	margin: 0 auto;
	width: 100%%;
}

#sec-data .secInr ul li .img.smallest img{
	display: block;
	margin: 0 auto;
	width: 100%;
}

#sec-data .secInr ul li .img.bigger img{
	display: block;
	margin: 0 auto;
	width: 100%;
}

/*-------------------------sec-gallery-----*/

#sec-gallery{
	padding: 100px 0 120px;
	position: relative;
}

#sec-gallery .head40{
	color: #0091d8;
	text-align: center;
	margin-bottom: 50px;
}

#sec-gallery .ttlWrap{
	margin-bottom: 50px;
	text-align: center;
}

#sec-gallery .ttlWrap .ftMon{
	color: rgb(0,164,228,0.1);
	font-size: 80px;
	font-size: 8rem;
	font-weight: 100;
	line-height: 1;
}

#sec-gallery .sliderWrap{
    margin: 0 auto;
    width: 2600px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

#sec-gallery .slider .slick-prev{
	background: url(../img/prev.png) no-repeat;
	background-size: contain;
	left: 31%;
} 
#sec-gallery .slider .slick-next{
	background: url(../img/next.png) no-repeat;
	background-size: contain;
	right: 31%;
}

#sec-gallery .slider .slick-prev,
#sec-gallery .slider .slick-next{
	border: none;
}

#sec-gallery .slider .slick-prev:before,
#sec-gallery .slider .slick-prev:after,
#sec-gallery .slider .slick-next:before,
#sec-gallery .slider .slick-next:after{
	background: none;
}

#sec-gallery .slick-img img {
  border-radius: 30px;	
  height: auto;
  opacity: .8;
  transform: scale(.8);
  transition: opacity .5s, transform .5s;
  width: 100%;
}

#sec-gallery .slider .slick-center img {
  opacity: 1;
  transform: scale(1);
}

#sec-gallery .slick-dots{
	bottom: -45px;
}

#sec-gallery .slick-dots li button:before{
	opacity: 0.1;
}

#sec-gallery .slick-dots li.slick-active button:before{
	color: #00a4e4;
	opacity: 1;
}

/*-------------------------sec-application-----*/

#sec-application{
	background: #e4f4ff;
	padding: 160px 0 90px;
	position: relative;
}

#sec-application .bgText{
    color: #fff;
    font-family: montserrat, sans-serif;
    font-size: 100px;
    font-size: 10rem;
    font-weight: 100;
    line-height: 1;
    text-align: center;
    margin-top: -185px;
    margin-bottom: 70px;
}

#sec-application .head46{
	color: #0091d8;
	line-height: 1;
	margin-bottom: 60px;
	text-align: center;
}


#sec-application .text18.center{
	margin: 0 5% 80px;
}

#sec-application .secInr{
	margin-top:  
}

#sec-application .reqWrap{
	display: table;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 5px;
	width: 100%;
}

#sec-application .reqWrap .reqItem{
	border-right: 5px solid #e4f4ff;
	display: table-cell;
	background: #afdeff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 40px 10px;
	text-align: center;
	vertical-align: middle;
	width: 20%;
}

#sec-application .reqWrap .reqDetail{
	background: #fff;
	display: table-cell;
	align-items: center;
	font-weight: bold;
	padding: 40px;
	width: calc(80% - 5px);
}

#sec-application .reqWrap .reqDetail .text14{
	margin-top: 15px;
}

#topics {
	 position: relative;
	 z-index: 10;
	 padding-top: 3vw;
}

.topicon .hide {
	 display: none;
}

 .tabWrap {
	border-bottom: 3px solid #0091d8;
	margin-bottom: 90px;
}
 .tab {
	display: flex;
 }
 .tab li {
	background: #c1e0f5;
    border-radius: 5px 5px 0 0;
    color: #fff;
    font-size: 18px;
    font-size: 1.8rem;
    list-style: none;
    font-weight: 600;
    letter-spacing: 0.05em;
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
    margin-right: 5px;
    transition: .2s ease;
}

 .tab li:last-child {
	 margin-right: 0;
}
 .tab li:hover {
	 cursor: pointer;
	 opacity: 0.8;
}
 .tab .select {
	background: #0091d8;
}

 .topicon div p {
	 line-height: 2;
	 letter-spacing: 0.1em;
}


/*-------------------------sec-join-----*/

#sec-join{
	background: rgb(228,244,255);
	background: linear-gradient(180deg, rgba(228,244,255,1) 0%, rgba(166,231,254,1) 20%, rgba(142,215,254,1) 40%, rgba(132,191,255,1) 70%);
	padding: 210px 0 160px;
	position: relative;
}

#sec-join .head40{
	color: #fff;
	text-align: center;
	line-height: 1;
}

#sec-join .bgText{
	color: rgba(255,255,255,0.1);
    font-family: montserrat, sans-serif;
    font-size: 100px;
    font-size: 10rem;
    font-weight: 100;
    line-height: 1;
    text-align: center;
    width: 120%;
    display: inline-flex;
}

#sec-join .btn{
	text-align: center;
	margin: 0 auto 15px;
}

#sec-join .btn a{
	position: relative;
	color: #007dff;
	background: #fff;
	border-radius: 60px;
	display: inline-block;
	font-weight: bold;
	padding: 30px;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	max-width: 600px;
	width: 100%;
	transition: .3s ease;
}

#sec-join .btn a:hover{
	background: #1067c3;
	color: #fff;
	box-shadow: 0;
}

#sec-join .btn a .fas.fa-paper-plane{
	position: absolute;
    left: 9%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 32x;
    font-size: 3.2rem;
}

#sec-join .text16{
	color: #fff;
	text-align: center;
}

#sec-join .text16 a{
	color: #fff;
	font-family: montserrat, sans-serif;
	font-size: 26px;
	font-size: 2.6rem;
}

/*--------------
	animation
--------------*/

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1000ms;
}
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.txt-ani span{
	transition-property: transform,opacity;
	transition-duration: .5s;
	transition-timing-function: ease;
	transform: translateY(15px);
	opacity: 0;
	display: inline-block;
	letter-spacing: -0.2em;
}		
.txt-ani span:nth-of-type(0) {transition-delay: 0s;}
.txt-ani span:nth-of-type(1) {transition-delay: 0.05s;}
.txt-ani span:nth-of-type(2) {transition-delay: 0.10s;}
.txt-ani span:nth-of-type(3) {transition-delay: 0.15s;}
.txt-ani span:nth-of-type(4) {transition-delay: 0.20s;}
.txt-ani span:nth-of-type(5) {transition-delay: 0.25s;}
.txt-ani span:nth-of-type(6) {transition-delay: 0.30s;}
.txt-ani span:nth-of-type(7) {transition-delay: 0.35s;}
.txt-ani span:nth-of-type(8) {transition-delay: 0.40s;}
.txt-ani span:nth-of-type(9) {transition-delay: 0.45s;}
.txt-ani span:nth-of-type(10) {transition-delay: 0.50s;}
.txt-ani span:nth-of-type(11) {transition-delay: 0.55s;}
.txt-ani span:nth-of-type(12) {transition-delay: 0.60s;}
.txt-ani span:nth-of-type(13) {transition-delay: 0.65s;}
.txt-ani span:nth-of-type(14) {transition-delay: 0.70s;}
.txt-ani span:nth-of-type(15) {transition-delay: 0.75s;}
.txt-ani span:nth-of-type(16) {transition-delay: 0.80s;}
.txt-ani span:nth-of-type(17) {transition-delay: 0.85s;}
.txt-ani span:nth-of-type(18) {transition-delay: 0.90s;}
.txt-ani span:nth-of-type(19) {transition-delay: 0.95s;}
.txt-ani span:nth-of-type(20) {transition-delay: 1.0s;}
.txt-ani span:nth-of-type(21) {transition-delay: 1.05s;}
.txt-ani span:nth-of-type(22) {transition-delay: 1.10s;}
.txt-ani span:nth-of-type(23) {transition-delay: 1.15s;}
.txt-ani span:nth-of-type(24) {transition-delay: 1.20s;}
.txt-ani span:nth-of-type(25) {transition-delay: 1.25s;}
.txt-ani span:nth-of-type(26) {transition-delay: 1.30s;}
.txt-ani span:nth-of-type(27) {transition-delay: 1.35s;}
.txt-ani span:nth-of-type(28) {transition-delay: 1.40s;}
.txt-ani span:nth-of-type(29) {transition-delay: 1.45s;}
.txt-ani span:nth-of-type(30) {transition-delay: 1.50s;}
.txt-ani span:nth-of-type(31) {transition-delay: 1.55s;}
.txt-ani span:nth-of-type(32) {transition-delay: 1.60s;}
.txt-ani span:nth-of-type(33) {transition-delay: 1.65s;}
.txt-ani span:nth-of-type(34) {transition-delay: 1.70s;}
.txt-ani span:nth-of-type(35) {transition-delay: 1.75s;}
.txt-ani span:nth-of-type(36) {transition-delay: 1.80s;}
.txt-ani span:nth-of-type(37) {transition-delay: 1.85s;}
.txt-ani span:nth-of-type(38) {transition-delay: 1.90s;}
.txt-ani span:nth-of-type(39) {transition-delay: 1.95s;}
.txt-ani span:nth-of-type(40) {transition-delay: 2.0s;}

.txt-ani.active span{
	transform: translate(0);
	opacity: 1;
}

@media only screen and (max-width: 1200px){

#topMv {
    height: 80vh;
}

#topMv .whiteBg .bg_m { font-size: 33rem;}

#topMv .whiteBg .bg_i {
    font-size: 5rem;
    left: 20%;
    top: 15%;
}

#topMv .whiteBg .bg_y {
    font-size: 16rem;
    left: -3%;
}

#topMv .whiteBg .bg_k {
    font-size: 20rem;
    left: 20%;
    top: 75%;
}

#topMv .whiteBg .bg_a { font-size: 10rem;}
#topMv .whiteBg .bg_o { font-size: 20rem;}

#topMv ul li.mv_01 { height: 40vh;}    
#topMv ul li.mv_02 { height: calc(44vh - 5px);}    
#topMv ul li.mv_03 { height: 20vh;}  
#topMv ul li.mv_02 { height: calc(40vh - 5px);}   
#topMv ul li.mv_05 { height: 20vh;}  
#topMv ul li.mv_06 { height: 45vh;}
#topMv ul li.mv_07 { height: calc(35vh - 5px);}

#topMv .whiteBg .catchWrap .catch {
    margin-bottom: 30px;
}

#topMv .whiteBg .catchWrap .catch small {
    font-size: 2.4rem;
}

#topMv .whiteBg .catchWrap .catch h1 {
    font-size: 5.0rem;
    margin-bottom: 20px;
}

.text12 { font-size: 1.0rem; }
.text16 { font-size: 1.4rem; }
.text18 { font-size: 1.4rem; }
.text21 { font-size: 1.8rem; }
.text24 { font-size: 1.8rem; }
.text26 { font-size: 1.6rem; }
.text30 { font-size: 2.0rem; }
.text40 { font-size: 2.4rem; }
.head24 { font-size: 1.8rem; }
.head30 { font-size: 2.2rem; }
.head32 { font-size: 2.4rem; }
.head40 { font-size: 2.9rem; letter-spacing: -0.03em;}
.head42 { font-size: 3.0rem; letter-spacing: -0.03em;}
.head46 { font-size: 3.2rem; letter-spacing: -0.03em;}

#sec-intro .txt-cap span {
    font-size: 6rem;
}

#sec-field .bgText {
    font-size: 6rem;
}

#sec-field .head46 {
    margin-bottom: 70px;
}

#sec-feature .bgText {
    font-size: 6rem;
}

#sec-point .lightWrap .flexBox .colorTextL {
    font-size: 2.2rem;
}

#sec-point .whiteWrap .interviewWrap .img .colorText {
    font-size: 6rem;
    top: -68px;
}

#sec-point .whiteWrap .interviewWrap .graBorder {
    bottom: -170px;
}

#sec-point .whiteWrap .interviewWrap .graBorderInr {
    padding: 80px 40px 30px 45px;
}

#sec-point .pt02 .imgArea {
    height: 650px;
}

#sec-point .pt02 .imgArea .pointList li {
    width: 250px;
}

#sec-point .pt02 .imgArea .centerImg {
    max-width: 330px;
}

#sec-point .pt02 .imgArea .centerImg span {
    font-size: 40px;
}

#sec-point .pt02 .imgArea .centerImg span .fas.fa-chevron-down {
    margin-top: -22px;
}

#sec-gallery .ttlWrap {
    margin-bottom: 30px;
}

#sec-gallery .head40 {
    margin-bottom: 20px;
}

#sec-gallery .sliderWrap {
    margin: 0 auto;
    width: 2100px;
}

#sec-gallery .ttlWrap .ftMon {
    font-size: 6rem;
}

#sec-application .head46 {
    color: #0091d8;
    line-height: 1;
    margin-bottom: 40px;
}

#sec-application .bgText {
    font-size: 6rem;
}

#sec-application .text18.center {
    margin-bottom: 50px;
}

#sec-join {
    padding: 70px 0 100px;
}
}

@media only screen and (max-width: 480px){

#sec-gallery .slider .slick-prev{
	height: 30px;
	width: 30px;
} 
#sec-gallery .slider .slick-next{
	height: 30px;
	width: 30px;
}

#topMv {
    height: 70vh;
}
#topMv .imgLeft {
    display: none;
}

#topMv ul li.mv_03 {
    height: 21vh;
}

#topMv .whiteBg{
	width: 53%;
}

#topMv .imgRight {
    margin: 0 -5px 0 -5px;
}

#topMv .imgRight ul:nth-of-type(1) {
    width: 48%;
}

#topMv .whiteBg .catchWrap .catch {
    margin-bottom: 20px;
}

#topMv .whiteBg .catchWrap .catch h1 {
    font-size: 2.0rem;
}

#topMv .whiteBg .catchWrap .catch p {
    font-size: 1.4rem;
}

#topMv .whiteBg .bg_m {
    font-size: 10rem;
}

#topMv .whiteBg .bg_y {
    font-size: 8rem;
}

#topMv .whiteBg .bg_a {
    font-size: 4rem;
}

#topMv .whiteBg .bg_k {
    top: 75%;
}

#topMv .whiteBg .bg_o {
    font-size: 3rem;
}

#topMv .whiteBg .catchWrap {
    top: 60%;
}

#topMv .whiteBg .catchWrap .catch small {
    line-height: 1 !important;
    margin-bottom: 10px;
    display: block;
}

#header a img {
    width: 40px;
}

#header .logoText .head30 {
    font-size: 1.6rem;
}

#header .logoText .text14 {
    font-size: 1.0rem;
}

#spNav .snInr nav ul {
    display: block;
}

#spNav .snInr nav ul li{
	margin-bottom: 15px;
	width: 100%;
}

#Nav .text30 {
    font-size: 1.8rem;
}

#sec-intro {
    padding: 40px 0 0 0;
}

#sec-intro .txt-cap span {
    font-size: 3rem;
}

#sec-intro .flexBox {
    display: block;
}

#sec-intro .head46{
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 20px;
}

#sec-intro .flexBox .detail {
    width: 100%;
}

#sec-intro .btmImgWrap {
    margin-top: -5px;
    margin-left: -35px;
}

#sec-intro .btmImgWrap img{
	width: 100%;
}

#sec-field {
    padding: 40px 0 50px;
}

#sec-field .head46 {
    margin-bottom: 30px;
    font-size: 2rem;
    letter-spacing: -0.08em;
}

#sec-field .flexBox .imgWrap {
    width: 100%;
    margin: 25px 0 20px;
}

#sec-field .flexBox .imgWrap img{
	object-fit: cover;
	height: 250px;
	border-radius: 20px;
}

#sec-field .flexBox .imgWrap .shape01 {
    right: 3%;
    top: -5%;
}

#sec-field .flexBox .imgWrap .shape01 img{
	height: 16px;
	width: 53px;
}

#sec-field .flexBox .imgWrap .shape02 {
    top: 83%;
}

#sec-field .flexBox .imgWrap .shape02 img{
    height: 60px;
    width: 60px;
}

#sec-field .flexBox .detail {
    width: 100%;
}

#sec-field .flexBox .detail .head21 {
    margin-bottom: 20px;
    text-align: center;
    font-size: 1.7rem;
}

#sec-feature {
    padding: 40px 0 60px;
}

#sec-feature .bgText {
    font-size: 3rem;
    margin-top: -45px;
    margin-bottom: 30px;
}

#sec-feature .flexBox li {
    background: #fff;
    border-radius: 5px;
    margin-bottom: 3%;
    padding: 0 5% 5%;
    width: 48%;
}

#sec-feature .flexBox li .img {
    margin: -10px auto 10px;
    width: 100%;
}

#sec-feature .flexBox li .img img {
    height: 90px;
}

#sec-point {
    padding: 40px 0 40px;
}

#sec-point .pointWrap .imgWrap .blueHead {
    width: 130px;
    left: calc(53% - 75px);
}

#sec-point .pointWrap .imgWrap .blueHead span {
    font-size: 1.5rem;
}

.flag {
    width: 72px;
    height: 75px;
    padding-top: 10px;
    left: 5%;
    top: -1px;
}

.flag .text14 {
    font-size: 0.8rem;
}

.flag .colorText {
    font-size: 3rem;
    margin-top: -10px;
}

#sec-point .pointWrap {
    margin-bottom: 35px;
}

#sec-point .pointWrap .imgWrap {
	border-radius: 15px 15px 0 0;
    padding: 90px 5% 25px;
}

#sec-point .pointWrap h4 {
    margin-bottom: 20px;
}

#sec-point .pointWrap .borderHead span {
    padding-bottom: 2px;
}

#sec-point .pointWrap .head32 {
	font-size: 1.6rem;
    margin-bottom: 15px;
    line-height: 1.5;
}

#sec-point .lightWrap {
    padding: 8% 5%;
}

#sec-point .lightWrap .flexBox{
	display: block;
}

#sec-point .lightWrap .flexBox .colorTextL {
    font-size: 1.7rem;
    width: 100%;
    margin-bottom: 15px;
    text-align: center;
    letter-spacing: -0.06em;
}

#sec-point .lightWrap .flexBox .text16 {
    width: 100%;
}

#sec-point .pt01 .flexBox.top {
    display: block;
    margin-bottom: 25px;
}

#sec-point .pt01 .threeWrap{
    overflow: scroll;
}

#sec-point .pt01 .is-sp.grayNote{
    text-align: center;
    color: #ccc;
    font-size: 12px;
    font-size: 1.2rem;
}

#sec-point .pt01 .flexBox.three {
    display: flex;
    width: 800px;
}

#sec-point .pt01 .flexBox .detail,
#sec-point .pt01 .flexBox .img {
    width: 100%;
}

#sec-point .flexBox.top li .img img,
#sec-point .pt01 .flexBox.three li .img img {
    border-radius: 20px;
}

#sec-point .pt01 .flexBox.three li .img {
    margin-bottom: 0;
}

#sec-point .pt01 .blueBorder {
	line-height: 1.2;
    margin-bottom: 15px;
    text-align: center;
}

#sec-point .pt01 .blueBorder .text21{
	font-size: 1.7rem;
	margin-top: 13px;
}

#sec-point .pt01 .blueBorder span {
    font-size: 1.4rem;
    padding-bottom: 1px;
}

#sec-point .pointWrap .text16 {
    text-align: left;
    line-height: 1.8;
}

#sec-point .pt02 .imgArea {
    height: auto;
}

#sec-point .pt02 .imgArea .centerImg span {
    font-size: 25px;
    margin-top: 15px;
}

#sec-point .pt02 .imgArea .centerImg span .fas.fa-chevron-down {
    margin-top: -13px;
}

#sec-point .pt02 .imgArea .centerImg {
    position: inherit;
}

#sec-point .pt02 .imgArea .pointList.left,
#sec-point .pt02 .imgArea .pointList.right {
    position: inherit;
    transform: inherit;
}

#sec-point .pt02 .imgArea .pointList.left{
	margin-bottom: 20px;
}

#sec-point .pt02 .imgArea .pointList.left li:nth-of-type(2) {
    margin-left: 0;
}

#sec-point .pt02 .imgArea .pointList li{
	margin-bottom: 20px;
	width: 100%;
}

#sec-point .pt02 .imgArea .pointList li .head21 {
    font-size: 1.8rem;
}

#sec-point .pt02 .imgArea .pointList li .head21 .text15 {
    font-size: 1.4rem;
}

#sec-point .pt02 .blueBgList {
    margin: 10px 0 25px;
}

#sec-point .pt02 .blueBgList li {
    border-radius: 10px;
    margin-bottom: 2%;
    padding: 15px 5px;
    width: 31%;
    height: 90px;
    display: flex;
    align-items: center;
    line-height: 1.3;
    font-size: 90%;
}

#sec-point .pt01 .flexBox.top .flexBox .detail{
	width: 100%;
}

#sec-point .whiteWrap .interviewWrap .graBorderInr:before {
    height: 1.5px;
}

#sec-point .whiteWrap .interviewWrap .graBorderInr:after {
    width: 1.5px;
}

#sec-point .whiteWrap .interviewWrap .img .colorText {
    font-size: 2rem;
    top: -23px;
}

#sec-point .whiteWrap .interviewWrap .img {
    margin-bottom: 25px;
}

#sec-point .whiteWrap .interviewWrap .img img {
    border-radius: 20px;
    width: 100%;
    object-fit: cover;
    height: 180px;
}

#sec-point .whiteWrap .interviewWrap .graBorderInr {
    padding: 15px 10px 10px 25px;
}

#sec-point .whiteWrap .interviewWrap .graBorder {
	background: rgba(255,255,255,0.6);
    bottom: -40px;
}

#sec-point .graBorderInr .year {
    font-size: 1.2rem;
    margin-bottom: 5px;
}

#sec-point .graBorderInr .name {
    font-size: 2rem;
    line-height: 1;
}

#sec-point .whiteWrap .interviewWrap .flexBox .detail .head26 {
    margin-bottom: 15px;
    font-size: 1.8rem;
    text-align: center;
}

#sec-point .whiteWrap .interviewWrap .img.is-sp {
    margin-bottom: 10px;
    position: relative;
    width: 100%;
}


#sec-point .whiteWrap .interviewWrap .flexBox {
    margin: -15px 0 40px;
}

#sec-point .whiteWrap .interviewWrap .flexBox .detail{
	width: 100%;
}

#sec-data {
    background-size: 15%;
    padding: 40px 0 50px;
}

#sec-data .is-sp .secInr{
	display: block;
}

#sec-data .is-sp .secInr .border {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 6% 5%;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

#sec-data .is-sp .secInr .border img{
	margin: 0 auto;
    display: block;
	width: 50%;
}

#sec-data .secInr ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    width: 100%;
}

#sec-data .secInr ul li {
    background: #fff;
    border-radius: 10px;
    padding: 20% 3% 5.5%;
    position: relative;
    margin-bottom: 3.3%;
    width: 48%;
}

#sec-data .secInr ul li .img.smaller img,
#sec-data .secInr ul li .img.smallest img {
    width: 100%;
}

#sec-data .secInr ul li .img{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

#sec-data .secInr ul li .ttlWrap {
    left: 7%;
    top: 16px;
}

#sec-gallery {
    padding: 40px 0 60px;
}

#sec-gallery .head40 {
    margin-bottom: 20px;
    font-size: 2rem;
    line-height: 1.4!important;
}

#sec-gallery .ttlWrap {
    margin-bottom: 10px;
}

#sec-gallery .ttlWrap .ftMon {
    font-size: 3rem;
}

#sec-gallery .sliderWrap {
    width: 660px;
}

#sec-gallery .slick-img img {
    border-radius: 15px;
}    

#sec-application {
    padding: 40px 0 10px;
}

#sec-application .bgText {
    font-size: 3rem;
    margin-top: -50px;
    margin-bottom: 20px;
}

.tab li {
    font-size: 1.3rem;
    height: 44px;
    width: 50%;
}

.tabWrap {
    margin-bottom: 20px;
}

#sec-application .reqWrap {
    display: block;
}

#sec-application .reqWrap .reqItem,
#sec-application .reqWrap .reqDetail{
	border-right: 0;
	display: block;
	font-size: 1.3rem;
	width: 100%;
	padding: 5%;
}

#sec-application .head46 {
    margin-bottom: 15px;
}

#sec-application .text18.center {
    margin-bottom: 30px;
}

#sec-join {
    padding: 40px 0 90px;
}

#sec-join .head40 {
	font-size: 2rem;
	line-height: 1.3;
}

#sec-join .bgText {
    color: rgba(255,255,255,0.2);
    font-size: 3rem;
}

#sec-join .btn a {
    padding: 10px 20px;
}

#sec-join .btn a .fas.fa-paper-plane {
    font-size: 1.8rem;
}

#sec-join .btn a .text21 {
    font-size: 1.6rem;
    line-height: 1.4 !important;
}

#sec-join .text16 {
    line-height: 1.6 !important;
}

#footer .ftLogo {
    left: calc(50% - 22px);
    top: -25%;
    width: 44px;
}

.float {
	border-radius: 0;
    padding: 15px 15px;
    width: 100%;
}

.floatWrap {
    position: inherit;
    display: block !important;
    transition: 0.3s;
}    

.float #cross{
	display: none;
}

.float .flexBox {
    justify-content: center;
}

.float .addressWrap {
    margin-bottom: 5px;
}

.float .address {
    font-size: 1.2rem;
}

.float .flexBox .tel {
    font-size: 2.2rem;
}

.float .mail {
    width: 100%;
}

#copyright {
    padding: 50px 0;
}

#topcontrol {
	display: none;
}

#mail{
	z-index: 900;
    left: auto;
    bottom: 17px !important;
    right: 20px;
    display: block;
    position: fixed;	
}

#mail a {
	border-radius: 60px;
	background: #007dff;
	position: relative;
	display:block;
	height: 60px;
	width: 60px;
	opacity: 0;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

#mail i{
	font-size: 20px;
	color: #fff;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
    position: relative;
}

#mail a:hover {
	filter: alpha(opacity=10) !important;
	opacity:1 !important;
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
 	-ms-transform: scale(1.2);
 	-o-transform: scale(1.2);
 	transform: scale(1.2);
}

#mail.active a{
	opacity: 1;
}

.spFlex {
display: flex;
justify-content: space-between;
}
#sec-data .secInr ul {
    display: block;
    width: 49%;
}
#sec-data .secInr ul li {
    padding: 35% 3% 11.5%;
    width: 100%;
    margin-bottom: 5%;
}
#sec-data .secInr ul li.title {
background:inherit;
border: 1px solid #fff;
padding: 54px 18px;
}

br.is-pc {
    content: "";
    position: relative;
}
br.is-pc:after {
	margin-right: -.333em;
	content:"";
	position: absolute;
}

}


/* -------------------
 add 260508
-------------------*/
#sec-intro {
	padding-bottom: 20rem;
}
@media only screen and (max-width: 480px){
	#sec-intro {
		padding-bottom: 10rem;
	}
}