@charset "utf-8";
.sp{
	display: none!important;
}
.container{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}
header{
	position: fixed;
	z-index: 100;
	background: #FFFFFF;
	width: 100%;
	box-shadow: 0 1px 5px rgba(50,50,50,0.1);
}
h1{
	padding: 19px 0;
	line-height: 22px;
	font-size: 0.8em;
}
h1 a{
	color: #444444;
	text-decoration: none;
}

h1 img{
	vertical-align:middle;
	padding-right: 10px;
}
nav ul{
	text-align: right;
	position: absolute;
	top: 0;
	right: 0;
}
nav ul li{
	line-height: 22px;
	display: inline-block;
	margin-left: 20px;
}
nav ul li a{
	display: inline-block;
	text-decoration: none;
	text-decoration: none;
	color: #444444;
	font-size: 1.1em;
	line-height: 60px;
	position: relative;
}
nav ul li a:after{
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	left: 50%;
	background: #2EA2CC;
	height: 1px;
	width: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}


nav ul li a:hover:after{
	width: 100%;
	left: 0;
}
nav ul li.bt a:after{
}

nav ul li.bt a{
	display: block;
	border-radius: 7px;
	color: #FFFFFF;
	padding: 2px 15px;
	background: #FF6633;
	line-height: 26px;
	margin: 15px 0;
}


#mainvisual{
	padding-top: 90px;
	background: url(../images/mv_bg.png) center center no-repeat;
	background-size: cover;
	margin-bottom: 50px;
}
.contmain{
	position: absolute;
	bottom: 0;
	left: 0;
}
.rightimg{
	text-align: right;
	position: relative;
	top: 70px;
}
.rightimg video{
	width: 509px;
	height: 355px;
}

.head_sub{
	display: none;
	position: fixed;
	top: 200px;
	right: 0;
    background: #FFFFFF;
    z-index: 33333;
	width: calc(1.2em + 28px);
}
.head_sub ul{
	display: inline-block;
	background: #FFFFFF;
}
.head_sub ul li{
float: left;
}

.head_sub a{
	position: relative;
	text-align: center;
	text-decoration: none;
	display: block;
	border: 1px solid #EEEEEE;
	padding: 20px 10px;
	color: #444444;
	font-size: 1.2em;
	border-right: none;
	  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.head_sub li.bt2 a{
	border-top: none;
}
.head_sub a:after{
	display: block;
	content: "";
	background: #FF6633;
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: -1;
	right: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.head_sub li.bt2 a:after{
	background: #2EA2CC;
}
.head_sub a:hover:after{
	width: 100%;
}

.head_sub a:hover{
	color: #FFFFFF;
}


.cont{
	padding: 80px 0;
}
.bgb{
	background: #E3F3F9;
}
.cont h2{
	font-size: 2.5em;
	text-align: center;
	margin-bottom: 15px;
}
.cont .cap p{
	text-align: center;
}
.cont .cap{
	margin-bottom: 40px;
}

div.l4{
	width: 21%;
	float: left;
	margin: 0 2%;
	padding-top: 153px;
}
#c03 div.l4{
	padding-top: 180px;
}
div.l4 h3{
	color: #2DA1CC;
	margin-bottom: 3px;
	font-size: 1.1em;
}
div.l4{
	background-position: center top;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

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);
}
div.c2_1{
}
#c02{
}
#c02 .conts{
	position: relative;
}
#c02 .conts div.slide{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	overflow-x: hidden;

}

#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: 450px;
	margin:0 auto;
	padding: 25px 25px 15px 25px;
}
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;
	position: relative;
}
#c04 ol li{
	display: block;
	float: left;
	background: #FFFFFF;
	padding: 40px 20px;
	text-align: center;
	color: #2DA1CC;
	font-size: 1.2em;
	width: calc(21% - 40px);
	margin: 0 2%;
	position: relative;
	line-height: 200%;
}
#c04 ol li:after{
	content: "";
	width: 15px;
	height: 22px;
	background: url(../images/next01.png) top center no-repeat;
	background-size: cover;
	font-size: 1.2em;
	color: #2DA1CC;
	position: absolute;
	top: calc(50% - 11px);
	right: -31px;
	line-height: 100%;
}
#c04 ol li:last-child:after{
	display: none;
}

p.price{
	text-align: center;
	font-size: 1.4em;
	color: #777777;
}
span.lg{
	display: inline-block;
	padding: 0 40px;
	border: 1px solid #2DA1CC;
	color: #2DA1CC;
	border-radius: 30px;
	font-size: 1.2em;
	line-height: 46px;
	margin-right: 20px;
}
span.ns{
	display: inline-block;
	font-weight: bold;
	color: #A6D5E7;
	font-size: 2em;
	line-height: 46px;
	margin: 0 -10px;
}
span.ns.ns2{
	color: #82C5E2;
}
span.ns.ns3{
	color: #27A1D2;
}
p.price strong{
	font-size: 3em;
	line-height: 1.1em;
	color: #27A1D2;
	display: inline-block;
	border-bottom: 4px solid #27A1D2;
	padding-bottom: 5px;
	margin-right: 10px;
	margin-left: 20px;
}

p.bt2{
	text-align: center;
	margin-top: 40px;
}
p.bt2 a{
	display: inline-block;
	background: #FF6633;
	color: #FFFFFF;
	border-radius: 5px;
	overflow: hidden;

	position: relative;
	text-decoration: none;
}
p.bt2 a span{
	display: block;
	color: #FFFFFF;
	border-radius: 5px;
	padding: 20px 80px;
	font-size: 1.5em;
	text-decoration: none;
	font-weight: bold;
	overflow: hidden;

	position: relative;
}
a.shine{
	position: relative;
}
a.shine:hover:after{
  -webkit-animation: shine .75s;
  animation: shine .75s;
}
@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
p.bt2 a:hover{
}

a.shine:after{
  position: absolute;
  top: 0;
  left: -15%;
  z-index: 2;
  display: block;
  content: '';
  width: 10%;
  height: 100%;
  background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
}

p#pagetop a{
	display: block;
	background: #EEEEEE;
	text-align: center;
	color: #444444;
	padding: 10px 0;
}
footer{
	text-align: center;
	padding: 80px 0 0 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;
}
#spage{
	background: #EEEEEE;
	padding: 80px 0;
}
#spage .container{
	background: #FFFFFF;
	padding-top: 20px;
}
#spage .container .wrap{
	padding: 0 50px 50px 50px;

}


#spage h2{
	margin: 0 20px 40px 20px;
	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;
}
