*{margin:0;padding:0;box-sizing:border-box;}
html{margin:0;padding:0;}
body {margin:0;padding:0;font-size:14px;background:url(../images/bg.png) #fff;background-size:250px;color:#666;font-family:Helvetica,Arial, Roboto, “Droid Sans”,“ヒラギノ角ゴ ProN W3″,“Hiragino Kaku Gothic ProN”,sans-serif;-webkit-text-size-adjust:100%;}
.splash{background:url(../images/bg_top.jpg) no-repeat center top #fff;}
header, footer, aside, nav, section,article,time,figure,label{display: block;}
h1,h2,h3,h4,h5{font-weight:normal;}
ul,ol{list-style:none;}
a,button,input[type="submit"]{outline:none;text-decoration:none;transition:0.5s;cursor:pointer;}
a img{border:0;}
fieldset{border:0;}
input,select,textarea{appearance:none;border-radius:0;}
.clear{margin:0;padding:0;height:0;clear:both;}
.wrap{padding:0;width:100%;text-align:left;background:#fff;position:relative;}
.inner{width:100%;text-align:left;}

/*Header
--------------------------------------------------------------------------------------------------------------*/
#top{width:100%;background:#fff;position:fixed;top:0;left:0;right:0;z-index:999;box-shadow:0 2px 2px rgba(0,0,0,0.2);}
#top .inner{height:44px;overflow:hidden;}
#top h1{width:100%;height:44px;background-repeat:no-repeat;background-position:center top;background-size:240px auto;overflow:hidden;}
#top .logo{background-image:url(../images/logo.png);}
#top .logo-3ban{background-image:url(../images/logo-3ban.png);}
#top .logo-4ban{background-image:url(../images/logo-4ban.png);}
#top .logo-5ban{background-image:url(../images/logo-5ban.png);}
#top .logo-6ban{background-image:url(../images/logo-6ban.png);}
#top .logo-7ban{background-image:url(../images/logo-7ban.png);}
#top .logo-8ban{background-image:url(../images/logo-8ban.png);}
#top h1 a,#top h1 span{padding:140px 0 0 0;display:block;}
.gnav{width:100%;height:60px;overflow:hidden;}
.gnav li{width:16%;float:left;}
.gnav li:nth-of-type(1),.gnav li:nth-of-type(6){width:18%;}
.gnav li a{padding:30px 0 0 0;height:60px;line-height:12px;display:block;background-image:url(../images/icon_gnav.png);background-repeat:no-repeat;background-color:#0035b2;color:#fff;font-size:10px;background-size:60px 360px;text-align:center;box-shadow:1px 0 0 rgba(255,255,255,0.5) inset;}
.gnav li:nth-of-type(1) a{background-position:center 0;box-shadow:0 0 0 rgba(255,255,255,0) inset;}
.gnav li:nth-of-type(2) a{background-position:center -60px;}
.gnav li:nth-of-type(3) a{background-position:center -120px;}
.gnav li:nth-of-type(4) a{background-position:center -180px;}
.gnav li:nth-of-type(5) a{background-position:center -240px;}
.gnav li:nth-of-type(6) a{background-position:center -300px;}

.top_nav{width:44px;height:44px;position:absolute;left:0;top:0;}
.top_nav a{padding:28px 0 0 0;display:block;text-align:center;font-size:10px;color:#0035b2;background:url(../images/icon_home.png) no-repeat 0 0;background-size:44px;}

/*Contents
--------------------------------------------------------------------------------------------------------------*/
.contents{}
.heading{padding:10px 0;clear:both;background:url(../images/bg_heading.png) no-repeat 0 0 #0035b2;
	background-size: cover;
}
.heading h1{line-height:20px;font-size:14px;text-align:center;color:#fff;}

/*Intro
--------------------------------------------------------------------------------------------------------------*/
.intro{width:100%;background:url(../images/bg_intro.jpg) no-repeat center top;background-size:cover;position:relative;overflow:hidden;}
.intro header{height:70px;overflow:hidden;}
.intro header h1{padding:70px 0 0 0;}
.validation{padding:10px 0 0 0;width:100%;position:absolute;bottom:0;left:0;right:0;background:rgba(255,255,255,0.6);}
.validation ul{width:100%;}
.validation li{padding:0 10px 10px 10px;}
.validation li a{padding:0 20px 0 0;height:60px;line-height:56px;display:block;background:#fff;text-align:center;color:#333;border:2px solid #0035b2;font-size:14px;box-shadow:2px 2px 2px rgba(0,0,0,0.1);position:relative;}
.validation li a:hover{opacity:0.6;box-shadow:0 0 0 rgba(0,0,0,0);}
.validation li a::after{margin: auto 0;width: 0;height: 0;content:"";border-style: solid;border-width: 6px 0 6px 10px;border-color: transparent transparent transparent #0035b2;display:block;position:absolute;right:10px;top: 0;bottom: 0;}
.validation li:nth-of-type(1) a{font-size:15px;}

/*About
--------------------------------------------------------------------------------------------------------------*/
.about {padding:50px 0 0 0;}
.about header{padding:0 20px;text-align:center;}
.about header h1{line-height:50px;font-size:20px;border-bottom:4px solid #0035b2;}
.about p{padding:10px;font-size:14px;line-height:24px;}

/*Point
--------------------------------------------------------------------------------------------------------------*/
.point{padding:0 10px;background:#f5f5f5;}
.point header{height:60px;text-align:center;overflow:hidden;}
.point header h1{padding:60px 0 0 0;background:url(../images/bg_point_heading.png) no-repeat center top;background-size:320px 60px;}
.point article{padding:0 0 10px 0;}
.point article div{background:#fff;box-shadow:2px 2px 2px rgba(0,0,0,0.1);}
.point article figure{height:150px;background-size:cover;background-position:center;}
.point article header{padding:10px;height:auto;}
.point article header h3{color:#0035b2;font-size:16px;line-height:20px;}
.point article p{padding:0 10px 10px 10px;line-height:20px;}

/*User
--------------------------------------------------------------------------------------------------------------*/
.user{padding:10px;}
.user .slider{padding:0 40px;height:190px;position:relative;}
.user article{padding:10px 0;text-align:center;outline:none;}
.user article div{margin:0 auto;width:100px;}
.user article figure{width:100px;height:100px;border-radius:50%;background-size:cover;background-position:center;}
.user article header{padding:10px 0 0 0;}
.user article header h3{background:#0035b2;font-size:16px;line-height:35px;color:#fff;border-radius:8px 8px 0 0;}
.user article p{padding:0 10px;line-height:35px;border-radius:0 0 8px 8px;background:#fff;box-shadow:1px 0 0 #eee inset,-1px -1px 0 #eee inset;}
.slick-arrow{padding:190px 0 0 0;height:190px;width:30px;background:#fff;display:block;border:0;appearance:none;position:absolute;top:0;overflow:hidden;border-radius:0;}
.slick-arrow:after{width:30px;height:190px;line-height:190px;font-size:24px;font-family:arial,sans-serif;color:#999;position:absolute;top:0;display:block;}
.slick-prev{left:0;}
.slick-prev:after{content:"<";}
.slick-next{right:0;}
.slick-next:after{content:">";}
.slick-disabled{background:rgba(255,255,255,0.2);}
.slick-disabled:after{color:#eee;}

/*Review
--------------------------------------------------------------------------------------------------------------*/
.review {padding:10px 10px 0 10px;}
.review div{padding:0;}
.review article{padding:0 0 0 90px;min-height:150px;position:relative;}
.review article:nth-of-type(1){border-bottom:1px solid #ddd;}
.review article figure{width:80px;height:80px;background-size:cover;background-position:center;position:absolute;left:0;top:10px;border-radius:50%;border:4px solid #0035b2;}
.review article header{padding:0;width:80px;position:relative;position:absolute;left:0;top:90px;}
.review article header h3{padding:5px 0;color:#444;font-size:12px;line-height:20px;text-align:center;}
.review article header h3 span{margin:0 0 5px 0;display:block;border:1px solid #666;}
.review article p{padding:10px 0;line-height:20px;position:relative;}

/*FAQ
--------------------------------------------------------------------------------------------------------------*/
.faq {padding:10px;}
.faq div{padding:0;}
.faq article{margin:0;padding:10px 0 0 0;border-bottom:1px solid #ddd;}
.faq article header{padding:0 10px 10px 50px;position:relative;}
.faq article header h3{padding:5px 0;min-height:40px;color:#444;font-size:14px;line-height:20px;}
.faq article header .single{padding:0;line-height:40px;}
.faq article p{padding:0 10px 10px 50px;line-height:20px;position:relative;}

.faq article header h3 span,.faq article p span{width:40px;height:40px;line-height:40px;font-size:40px;text-align:center;display:block;color:#fff;border-radius:8px;overflow:hidden;font-family:arial,sans-serif;position:absolute;left:0;top:0;}
.faq article header h3 span{background:#0035b2;}
.faq article p span{background:#d23f75;}

/*general
--------------------------------------------------------------------------------------------------------------*/
.general {padding:10px;}
.general article{padding:10px 0;}
.general article h3{padding:0 0 0 28px;line-height:28px;background:url(../images/icon_genhead.png) no-repeat left top;color:#0035b2;background-size:28px;}
.general article h4{
	line-height:28px;
	color:#0035b2;
}
.general article p{padding:10px 0;font-size:14px;line-height:24px;}
.general .general{
	padding: 0;
}
/*Intro-S
--------------------------------------------------------------------------------------------------------------*/
.intro_s{padding:44px 0 0 0;position:relative;overflow:hidden;}
.intro_s .inner{width:100%;height:160px;background:url(../images/bg_intro_s.jpg) no-repeat center top #d9e1f3;background-size:auto 160px;overflow:hidden;}
.intro_s header{padding:160px 0 0 0;}

#popup{padding:10px;background:#f5f5f5;}
#popup article{padding:0;background:#fff;}
#popup article header{padding:0;}
#popup article header h1{padding:0 10px;height:50px;line-height:50px;background:#0035b2;font-size:16px;color:#fff;}
#popup article h3,
#popup article h4{padding:10px;color:#0035b2;line-height:30px;}
#popup article p,
#popup article ul{padding:10px;line-height:18px;} 
#popup .general{
	padding: 0;
}
/*--------------------------------
Form
--------------------------------*/
.entry-form{
	width: 100%;
}
.entry-head{
	width: 100%;
}
.entry-head h1{
	width: 100%;
	height: 44px;
	overflow: hidden;
}
.entry-head span{
	padding: 120% 0 0 0;
	display: block;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: auto 44px;
}
.entry-head a{
	display: block;
}
.entry-form .inner{
	padding: 10px;
}
.form-label{
	width: 110px;
	line-height: 40px;
	background: #0035b2;
	color: #fff;
	font-size: 12px;
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
}
.form-item{
	padding: 0 0 10px 0;
	position: relative;
}
.entry-form .form-item p{
	padding: 0 0 0 120px;
}
.alert{
	margin: 0 0 10px 0;
	padding: 10px;
	font-size: 12px;
	line-height: 16px;
	background: #fff;
	color: #333;
}
.alert a{
	color: #39c;
}
.radio-box{
	padding: 0 0 0 190px;
	display: flex;
	align-items: center;
	color: #333;
}
.radio-label{
	width: 100%;
	display: flex;
	align-items: center;
}
.radio-label span{
	width: 50%;
	flex-grow: 1;
	text-align: center;
}
.error{
	margin: 0 0 5px 0;
	line-height: 20px;
	background: #900;
	font-size: 12px;
	color: #fff;
	text-align: center;
	position: relative;
}
.error::after{
	margin: 0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 6px 10px 6px;
	border-color: transparent transparent #900 transparent;
	content: "";
	position: absolute;
	top: -10px;
	right: 0;
	left: 0;
}
.general h3{
	padding: 5px 0;
	border-bottom: 1px dotted #ccc;
	font-size: 16px;
	line-height: 20px;
}
.general p{
	padding: 10px 0;
	font-size: 12px;
	line-height: 16px;
}
.general .important{
	margin: 10px 0 0 0;
	padding: 10px;
	display: block;
	background: #fff;
	color: #333;
	font-size: 12px;
}
.important span{
	margin: 0 0 10px 0;
	padding: 5px 0;
	line-height: 20px;
	font-size: 14px;
	border-bottom: 4px solid #900;
	display: block;
}
.important a{
	text-decoration: underline;
	word-wrap: break-word;
	color: #39c;
}
.entry-form .reg-btn{
}
/*--------------------------------
Form parts
--------------------------------*/
input[type="text"],
input[type="password"]{
	padding: 10px;
	width: 100%;
	height: 40px;
	background: #fafafa;
	font-size: 14px;
	position: relative;
	border: 1px solid #ddd;
	border-radius: 2px;
}
select{
	padding: 0 10px;
	width: 100%;
	height: 40px;
	line-height: 40px;
	background: url(../images/icon_select.png) no-repeat right #fafafa;
	background-size: 30px 40px;
	font-size: 16px;
	position: relative;
	border: 1px solid #ddd;
}
select:-moz-focusring {
	color: transparent;
	text-shadow: 0px 0px 0px #000;
}
textarea{
	padding: 10px;
	width: 100%;
	height: 100px;
	background: #fafafa;
	font-size: 14px;
	position: relative;
	display: block;
	border: 1px solid #ddd;
}
input[type="radio"]{
	width: 36px;
	height: 36px;
	border: 3px solid #fff;
	border-radius: 50%;
	position: relative;
	background: #eee;
	flex-shrink: 0;
	box-shadow: 1px 1px 1px rgba(0,0,0,.2);
}
input[type="radio"]:checked{
	background: #db0029;
}
.reg-btn button{
	width: 100%;
	height: 50px;
	background: #db0029;
	color: #fff;
	background-size: 5px 50px;
	overflow: hidden;
	display: block;
	border: 0;
	font-size: 16px;
}
/*SideBar
--------------------------------------------------------------------------------------------------------------*/
.regbtn{padding:10px;background:url(../images/bg.png) #fff;background-size:250px;}
.regbtn a{margin:0 auto;width:300px;height:60px;line-height:60px;display:block;background:url(../images/btn_regbtn.png) no-repeat 0 0;background-size:300px 60px;color:#fff;text-align:center;font-size:18px;}

/*Footer
--------------------------------------------------------------------------------------------------------------*/
#footer{width:100%;background:#999;clear:both;position:relative;}
#footer nav li{height:44px;line-height:44px;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(0,0,0,0.2);}
#footer nav li a{padding:0 10px;color:#fff;font-size:12px;display:block;background:url(../images/icon_arrow.png) no-repeat top 15px right 10px;background-size:15px 10px;}

#footer small{padding:8px 0;font-size:12px;line-height:14px;color:#666;background:url(../images/icon_u19.png) no-repeat left #fff;background-size:60px 60px;text-align:center;display:block;clear:both;}

/* campaign */
.campaign h4 {border:0; font-size:14px; color:#333; text-indent:0; padding:10px 0 10px 20px;}
.campaign h5 {font-weight:normal; font-size:12px;color:#333; padding:10px 0 10px 20px;}
.campaign p{padding:0 10px 0 20px;}
.cam_msg {font-size:11px; color:#aaa; padding:0;}
.campaign strong {font-weight:bold; color:#f00;}
.camMenu { margin-bottom:10px;padding-left:20px;}
.camMenu dt { font-weight:bold; font-size:16px; margin:5px 0;}
.camMenu dt:before{content:"▼"; color:#714769;}
.camMenu dd {margin-bottom:10px;}
.camMenu table {border-collapse:collapse; width:270px; color:#000;}
.camMenu table th{text-align:center; background:#ccc; width:90px; border:1px solid #aaa;}
.camMenu table td{text-align:right; width:90px; background:#fff; border:1px solid #aaa; padding-right:10px; box-sizing:border-box;}
.camMenu table tr td:last-child{background:#ff0;}

#campaign_btn{
	position: absolute;
	top: 110px;
	left: 4px; 
}
#campaign_btn_entry{
	position: absolute;
	top: 50px;
	left: 4px; 
}
#campaign_btn a,
#campaign_btn_entry a {
	width: 60px;
	height: 60px;
	display: block;
	background: url(../images/cam_btn.png) no-repeat 0 0;
	text-indent: 120%;
	overflow: hidden;
	white-space: nowrap;
	background-size: contain;
}

body .lpprtitle{
	background-color: rgba(0,0,0,0.2);
}
body .lpprbox{
	background-color: rgba(0,0,0,0.1);
}