@charset "utf-8";
body{
	background: #000000;
	overflow-x: hidden;
}
.pc{
	display: none!important;
}
.container{
	padding: 0 5%;
	position: relative;
}
header{
	position: fixed;
	z-index: 100;
	background: #FFFFFF;
	width: 100%;
	box-shadow: 0 1px 3px rgba(0,0,0,0.6);
}
h1{
	padding: 17px 0;
	line-height: 22px;
	font-size: 0.8em;
}
h1 span{
	display: none;
}
h1 img{
	vertical-align:middle;
	padding-right: 10px;
}
.hnavi{
	position: fixed;
	top: 58px;
	right: -60%;
	width: 60%;
	background: #FFFFFF;
	height: calc(100% - 58px);
	overflow-y: scroll;
	z-index: 10;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.hnavi.ac{
	right: 0;
}

.hnavi ul li{
	line-height: 22px;
	display: block;

}
.hnavi ul li a{
	display: inline-block;
	text-decoration: none;
	text-decoration: none;
	color: #444444;
	font-size: 1.2em;
	padding: 20px 30px;
	border-bottom: 1px solid #999999;
	width: calc(100% - 60px);
}
.hnavi ul li a:before{
	content: ">";
	color: #2DA1CC;
	font-weight: bold;
	padding-right: 10px;
}

.hnavi ul li.bt a{
	display: block;
	border-radius: 7px;
	color: #FFFFFF;
	text-align: center;
	padding: 10px 10px;
	background: #FF6633;
	line-height: 22px;
	margin: 20px;
	border: none;
}
 ul li.bt a:before{
	display: none;
}
.hnavi ul li.bt.bt2 a{
	background: #2EA2CC;
}

p.sp_navi a{
	position: absolute;
	top: 15px;
	right: 15px;
	width: 36px;
	height: 25px;
	border-bottom: 2px solid #2EA2CC;
	text-indent: -5000px;
	display: block;
}
p.sp_navi a:before{
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	background: #2EA2CC;
	top: 0;
	left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
p.sp_navi a:after{
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	background: #2EA2CC;
	top: calc(50%);
	left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
p.sp_navi.ac a{
	border-color: #FFFFFF;
}
p.sp_navi.ac a:before{
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	background: #2EA2CC;
	top: calc(50%);
	left: 0;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
}
p.sp_navi.ac a:after{
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	background: #2EA2CC;
	top: calc(50%);
	left: 0;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
}
p.sp_navi a{
	cursor: pointer;
}

main{
	background: #FFFFFF;
}

#mainvisual{
	padding-top: 58px;
	background: url(../images/mv_bg.png) top center no-repeat;
	background-size: cover;
	margin-bottom: 50px;
}
.contmain{
	text-align: center;
	padding-top: 50px;
}
.contmain img{
	width: 90%;
	height: auto;
}
.rightimg video{
	width: 90vw;
	height: calc(56vw);
}
.rightimg{
	text-align: center;
	position: relative;
	top: 50px;
}
.head_sub{
	/*display: none;*/
}
.cont{
	background: #FFFFFF;
	padding: 60px 0;
}
.bgb{
	background: #E3F3F9;
}
.cont h2{
	font-size: 2.1em;
	text-align: center;
	margin-bottom: 15px;
}
.cont .cap p{
	text-align: center;
}
.cont .cap{
	margin-bottom: 40px;
}

div.l4{
	width: 90%;
	margin: 0 auto 40px auto;
	padding-top: 57%;
	text-align: center;
}
div.l4 h3{
	color: #2DA1CC;
	margin-bottom: 3px;
	font-size: 1.5em;
}
div.l4{
	background-position: center top;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

#c03 div.l4{
	width: 90%;
	margin: 0 auto 40px auto;
	padding-top: 68%;
	text-align: center;
}

div.l4.c1_1{
	background-image: url(../images/c01.jpg);
}div.l4.c1_2{
	background-image: url(../images/c02.jpg);
}div.l4.c1_3{
	background-image: url(../images/c03.jpg);
}div.l4.c1_4{
	background-image: url(../images/c04.jpg);
}div.l4.c1_4_1{
	background-image: url(../images/c04_1.jpg);
}div.l4.c1_4_2{
	background-image: url(../images/c04_2.jpg);	
}div.l4.c2_1{
	background-image: url(../images/c05.jpg);
}div.l4.c2_2{
	background-image: url(../images/c06.jpg);
}div.l4.c2_3{
	background-image: url(../images/c07.jpg);
}div.l4.c2_4{
	background-image: url(../images/c08.jpg);
}
#c03 div.container{
	padding: 0;
	width: 100%;
}


#c03 div.scbox{
	width: 100%;
	overflow-x: scroll;
	padding-bottom: 30px;
}
#c03 div.clearFix{
	width: calc(80% * 4);
    padding: 0 15% 0 10%;
}

#c03 div.l4{
	float: left;
}
#c03 div.l4{
	width: 23%;
	margin: 0 1%;
	padding-top: 18%;
}

#c02{
	padding-bottom: 0!important;
}
#c02 .conts{
	position: relative;
}
#c02 .conts div.slide{
	margin-top: 30px;
	height: 100%;
	width: 100%;
	overflow-x: hidden;
	position: relative;
	height: 265px;

}

#c02 ul.slide{
	position: absolute;
	width: 33333px;
	height: 100%;
	overflow-y: hidden;
	z-index: 1;
	top: 0;
	left: 0;
}
#c02 ul.slide li{
	display: block;
	float: left;
}
#c02 ul.slide li img{
	height: 100%;
	width: auto;
}

div.c2_1{
	position: relative;
	z-index: 2;
}
div.c2_1 ul{
	background: #FFFFFF;
	width: calc(90% - 40px);
	margin:0 auto;
	padding: 25px 20px 15px 20px;
}
div.c2_1 ul li{
	background: url(../images/lm01.png) center left no-repeat;
	font-size: 1.2em;
	padding-left: 30px;
	margin-bottom: 10px;
}

div.l4 p.name{
	margin-top: 10px;
	color: #777777;
}
p.bt{
	padding-top: 40px;
	text-align: center;
}
p.bt a{
	display: inline-block;
	color: #FFFFFF;
	border-radius: 30px;
	padding: 10px 30px;
	font-size: 1.2em;
	background: #2EA2CC;
	text-decoration: none;
}
#c04 ol li{
	display: block;
	background: #FFFFFF;
	padding: 20px 0;
	text-align: center;
	color: #2DA1CC;
	font-size: 1.2em;
	width: calc(100%);
	position: relative;
	line-height: 200%;
	margin-bottom: 60px;
}
#c04 ol li br{
	display: none;
}

#c04 ol li:after{
	content: "";
	width: 15px;
	height: 22px;
	display: block;
	background: url(../images/next01.png) top center no-repeat;
	background-size: cover;
	color: #2DA1CC;
	position: absolute;
	bottom: -42px;
	left: calc(50% - 8px);
	text-align: center;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
}
#c04 ol li:last-child:after{
	display: none;
}
#c04 ol li:last-child{
	margin: 0;
}


p.price{
	text-align: center;
	font-size: 1em;
	color: #777777;
	position: relative;
}
p.price span.txt{
}

p.price span{
	display: block;
}

span.lg{
	display: inline-block;
	width: 60%;
	margin: 0 auto;
	border: 1px solid #2DA1CC;
	color: #2DA1CC;
	border-radius: 30px;
	font-size: 1.2em;
	line-height: 46px;
	margin-bottom: 20px;
}
span.ns{
	display: inline-block;
	font-weight: bold;
	color: #A6D5E7;
	font-size: 2em;
	margin: -10px 0;
}
p.price span.priceBox{
	position: relative;
	display: inline-block;
}
span.txt{
	position: absolute;
	bottom: 0;
	right: -7em;
}

span.ns.ns2{
	color: #82C5E2;
}
span.ns.ns3{
	color: #27A1D2;
}
p.price strong{
	margin-top: 10px;
	font-size: 3.75em;
	color: #27A1D2;
	display: inline-block;
	border-bottom: 3px solid #27A1D2;
	line-height: 1.2em;
	margin-right: 10px;
	margin-left: 10px;
	margin-top: 20px;
}

p.bt2{
	text-align: center;
	margin-top: 40px;
}
p.bt2 a{
	display: inline-block;
	color: #FFFFFF;
	background: #FF6633;
	border-radius: 10px;
	padding: 15px 40px;
	font-size: 1.2em;
	text-decoration: none;
}
p#pagetop a{
	display: block;
	background: #EEEEEE;
	text-align: center;
	color: #444444;
	padding: 10px 0;
}
footer{
	background: #FFFFFF;
	text-align: center;
	padding: 80px 0 20px 0;
}
footer p{
	margin-bottom: 40px;
}
footer ul li{
	display: inline-block;
	padding: 0 5px;
}
footer ul li a,p#copyright{
	color: #AAAAAA;
	text-decoration: none;
	font-size: 0.8em;
	margin: 0;
}
main,footer{
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
main.ac,footer.ac{
	filter: alpha(opacity=60);
	-moz-opacity:0.60;
	opacity:0.60;
}

#spage{
	background: #EEEEEE;
	padding: 100px 0 50px 0;
}
#spage .container{
	background: #FFFFFF;
	padding-top: 20px;
	margin: 0 5%;
}
#spage .container .wrap{
	padding: 0 10px 40px 10px;

}


#spage h2{
	margin: 0 0 40px 0;
	color: #FFFFFF;
	font-size: 1.5em;
	padding: 5px 10px;
	background: #2EA2CC;
}
#spage p{
}
#spage h3{
	font-size: 1.2em;
	margin: 40px 0 10px 0;
}
#spage ol li{
	list-style: decimal outside;
	margin-left: 2.5em;
}
#spage ol li ol li{
	counter-increment: cnt;
	list-style: none;
	margin-left: 0;
}

#spage ol li ol li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
}
#spage dl dt{
	float: left;
	clear: both;
}
#spage dl dd{
	margin-left: 4.5em;
}
#spage dl dd:before{
	content: ": ";
}


#spage table{
	width: 100%;
}
#spage table th{
	/*font-weight: bold;*/
	display: block;
	text-align: left;
	font-size: 1.2em;
}
#spage table td{
	display: block;
	margin-bottom: 40px;
}
#spage table tr:last-of-type td{
	margin: 0;
}
ul.controller li{
	display: inline;
	padding: 0 5px;
}
ul.controller{
	text-align: center;
	padding-bottom: 15px;
}
ul.controller li a.ac{
	color: #2DA1CC;
}
ul.controller li a{
	text-decoration: none;
	color: #AAAAAA;
	cursor: pointer;
}

ul.head_sub{
	position: absolute;
	top: 12px;
	right: 70px;
}
ul.head_sub li a{
	display: block;
	border-radius: 5px;
	color: #FFFFFF;
	text-align: center;
	padding: 5px 10px;
	background: #FF6633;
	line-height: 22px;
	border: none;
	text-decoration: none;
}
