*{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, 遯ｶ蟒孑oid Sans遯ｶ�ｽ,遯ｶ諛翫Υ郢晢ｽｩ郢ｧ�ｮ郢晄焔�ｧ蛛ｵ縺� ProN W3遯ｶ�ｳ,遯ｶ蟒ｩiragino 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:70px;overflow:hidden;}
#top h1{width:100%;height:70px;background-repeat:no-repeat;background-position:center top;background-size:235px 70px;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:#47a7da;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:70px;position:absolute;left:0;top:0;}
.top_nav a{padding:44px 0 0 0;display:block;text-align:center;font-size:11px;color:#47a7da;background:url(../images/icon_home.png) no-repeat 0 0;background-size:44px 70px;}

/*Contents
--------------------------------------------------------------------------------------------------------------*/
.contents{}
.heading{padding:10px 0;clear:both;background:url(../images/bg_heading.png) no-repeat 0 0 #47a7da;}
.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;}
.intro nav{padding:10px 0 0 0;width:100%;position:absolute;bottom:0;left:0;right:0;background:rgba(255,255,255,0.6);}
.intro nav ul{width:100%;}
.intro nav ul li{padding:0 10px 10px 10px;}
.intro nav ul li a{padding:0 20px 0 0;height:60px;line-height:56px;display:block;background:#fff;text-align:center;color:#333;border:2px solid #48a7da;font-size:14px;box-shadow:2px 2px 2px rgba(0,0,0,0.1);position:relative;}
.intro nav ul li a:hover{opacity:0.6;box-shadow:0 0 0 rgba(0,0,0,0);}
.intro nav ul li a:after{content:"";border-style: solid;border-width: 12px 0 12px 20px;border-color: transparent transparent transparent #48a7da;display:block;position:absolute;right:10px;top:16px;}
.intro nav ul li:nth-of-type(1) a{font-size:16px;}

/*About
--------------------------------------------------------------------------------------------------------------*/
.about {padding:50px 0 0 0;}
.about header{padding:0 20px;text-align:center;}
.about header h1{padding:10px 0;font-size:20px;border-bottom:4px solid #47a7da;}
.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:#47a7da;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:#47a7da;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 #47a7da;}
.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:#47a7da;}
.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:#48a7da;background-size:28px;}
.general article h4{font-size: 16px;margin: 10px 0 0;color: #48a7da;}
.general article p{padding:10px 0;font-size:14px;line-height:24px;}

/*Intro-S
--------------------------------------------------------------------------------------------------------------*/
.intro_s{padding:70px 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 #e4d7c8;background-size:auto 160px;overflow:hidden;}
.intro_s header{padding:160px 0 0 0;}

#popup{padding:10px;background:#ccc;}
#popup article{padding:0;background:#fff;}
#popup article header{padding:0;}
#popup article header h1{padding:0 10px;height:50px;line-height:50px;background:#48a7da;font-size:16px;color:#fff;}
#popup article h3{padding:10px;color:#48a7da;line-height:30px;}
#popup article p{padding:10px;line-height:18px;} 

/*--------------------------------
form
--------------------------------*/
.remaining{
    margin: 0 auto;
    padding: 4px;
    height: 32px;
    background: #1b6085;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    color: white;
    transition: 0.2s;
}
.remaining .progress{
    width: 0%;
    height: 32px;
    display: block;
    background: #48a7da;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: 0.2s;
}
.remaining p{
	position: absolute;
	top: 5px;
	left: 4px;
	right: 4px;
	bottom: 4px;
}
.remaining span{
	color: white;
}
.remaining.fix{
	top: 0;
}
.remaining + #top{
	margin-top: 32px;
}
.notice-box{
    margin: 24px 16px;
    padding: 8px;
    background: #f29b76;
    text-align: center;
    color: white;
}
.form-wrapper{
    margin-bottom: 32px;
    padding: 0 16px;
}
.form-box{
	margin-bottom: 32px;
}
.form-label{
	display: block;
	background: #48a7da;
	text-align: center;
	color: white;
	padding: 6px;
	margin-bottom: 10px;
}
input[type=text],
input[type=tel],
input[type=password],
select,
textarea{
	padding: 8px;
	width: 100%;
	height: 60px;
	background: #fff;
	position: relative;
	font-size: 16px;
	border: none;
}
textarea{
	resize: vertical;
	height: auto;
}
select{
	padding: 8px 20px 8px 8px;
	height: 60px;
	background: url(../images/icon-select.webp) no-repeat right center / 20px, #fff;
	border: 1px solid #ddd;
	color: black;
}
select:focus{
	background: url(../images/icon-select.webp) no-repeat right center / 20px, #ffffe5;
}
.radio-box{
	display: flex;
}
.regular-radio{
	display: none;
}
.radio-label{
	width: 50%;
	line-height: 58px;
}
.radio-label-text{
	background: #fff;
	display: block;
	transition: .3s;
	text-align: center;
	border: 1px solid #ddd;
	box-sizing: border-box;
	color: black;
}
.radio-label:nth-of-type(1) .radio-label-text{
	border-radius: 4px 0 0 4px;
	border-right: 0;
}
.radio-label:nth-of-type(2) .radio-label-text{
	border-radius: 0 4px 4px 0;
}
.regular-radio:checked + .radio-label-text{
	background: #eb739f;
	color: #fff;
}
.regular-checkbox{
	margin-bottom: 5px;
	padding: 5px;
	display: block;
	background: #eee;
	font-size: 18px;
	border: 1px solid #eb739f;
}
.regular-checkbox input:checked + .check-label{
	color: #eb739f;
}
.form-msg,
.alert-msg{
	font-size: 14px;
}
.form-box .form-msg{
	margin: 8px 0 0 0;
	line-height: 1.3;
	text-align: center;
}
.error{
	margin: 8px 0 0;
	padding: 4px;
	background: #ff6d6d;
	font-size: 14px;
	color: #fff;
	text-align: center;
}
.intro_s.form {
    padding: 102px 0 0 0;
}
.entry-form {
    padding: 10px;
}
.form-item{
	position: relative;
}
.form-border{
	margin: 0 auto;
	width: 100%;
	height: 2px;
	background: #ddd;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	transform-origin: center;
}
input[type=text]:focus + .form-border::after,
input[type=tel]:focus + .form-border::after,
input[type=password]:focus + .form-border::after,
textarea:focus + .form-border::after{
	margin: 0 auto;
	width: 0%;
	height: 2px;
	content: "";
	background: #eb739f;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	transform-origin: center;
	animation: fade-border .3s ease .1s forwards;
}
@keyframes fade-border{
	0%{width: 0%;opacity: 0;}
	100%{width: 100%;opacity: 1;}
}
.entry-btn .btn-area{
    margin: 0 0 32px;
}
.entry-btn .regist-btn{
    width: 100%;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border: 0;
    background: #e9b261;
    color: #fff;
    font-size: 16px;
    border-radius: 8px;
}
.entry-btn .regist-btn{
	filter: grayscale(1);
	pointer-events: none;
	cursor:inherit;
}
.entry-btn .regist-btn.active{
	filter: grayscale(0);
	pointer-events: auto;
	cursor: pointer;
}
.entry-btn .regist-btn::before{
	box-shadow: none;
}
.entry-btn .regist-btn::after{
    border-left: solid 16px #666;
}
.ymd-box{
	column-gap: 8px;
}
.ymd-box,
.area-box{
	display: flex;
	justify-content: space-between;
}
.ymd-box select{
	flex-shrink: 1;
}
.area-box select,
.area-box .sub-area{
	width: calc(50% - 4px);
}
.area-box .sub-area select{
	width: 100%;
	flex-shrink: 0;
}
.juyo { background:rgba(255,0,0,0.1); border:1px dotted #f00 !important; padding:8px !important; box-sizing:border-box;}
.form .msg span,.form .juyo span{float:none; padding:0;}
.form .juyo{margin:10px 10px 0;}

/*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;}

/*Mother */
#mother {position:absolute; top:130px; right:0; width:100%; height:50px; z-index:100;}
#mother h1 {height:50px; background-position:right 0; text-indent:120%; overflow:hidden; white-space:nowrap;}
.sa #mother {top:70px;}

body .lpprtitle {background:#48a7da; color:#fff;}
body .lpprbox {background:#eee;}

/* 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,
#campaign_btn_entry {
	position: absolute;
	top: 0;
	right: 0; 
}
#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;
}
