*{margin:0;padding:0;box-sizing: border-box;}
html{margin:0;padding:0;height:100%;}
header, footer, aside, nav, section,article,time,figure,label{display: block;}
ul,ol{list-style:none;}
a{outline:none;text-decoration:none;}
a img{border:0;}
fieldset{border:0;}
.clear{margin:0;padding:0;height:0;clear:both;}
body {margin:0;padding:0;font-size:12px;background:#000;color:#fff;background-size: cover;font-family:sans-serif;text-size-adjust:none;}
p{line-height:1.4em;}

.txt-none{
    text-indent: 120%;
    overflow: hidden;
    white-space: nowrap;
}
/*Header
--------------------------------------------------------------------------------------------------------------*/
#top{width:100%;height:200px;overflow:hidden;position:relative;}
#top h1{padding:200px 0 0 0;background-repeat:no-repeat;background-position:center top;background-size:320px 200px;}
.intro{background-image:url(../images/intro.jpg);}
.intro-3ban{background-image:url(../images/intro-3ban.jpg);}
.intro-4ban{background-image:url(../images/intro-4ban.jpg);}
.intro-5ban{background-image:url(../images/intro-5ban.jpg);}
.intro-6ban{background-image:url(../images/intro-6ban.jpg);}
.intro-7ban{background-image:url(../images/intro-7ban.jpg);}
.intro-8ban{background-image:url(../images/intro-8ban.jpg);}

.top-header{
	margin: 0 auto;
    width: 100%;
	max-width: 768px;
    padding: 75% 0 0;
    position: relative;
    background: url(../images/logo.png) no-repeat right 0,url(../images/top-img.jpg) no-repeat 0 0;
    background-size: 60% auto, 100% auto;
}
.title-logo{
    width: 100%;
    height: 0;
    padding: 15% 0 0;
    position: absolute;
    top: 24%;
    top: 28vw;
    right: 0;
}
.logo-3ban{
    background: url(../images/logo-3ban.png) no-repeat right 0;
    background-size: auto 100%;
}
.logo-4ban{
    background: url(../images/logo-4ban.png) no-repeat right 0;
    background-size: auto 100%;
}
.logo-5ban{
    background: url(../images/logo-5ban.png) no-repeat right 0;
    background-size: auto 100%;
}
.logo-6ban{
    background: url(../images/logo-6ban.png) no-repeat right 0;
    background-size: auto 100%;
}
.logo-7ban{
    background: url(../images/logo-7ban.png) no-repeat right 0;
    background-size: auto 100%;
}
.logo-8ban{
    background: url(../images/logo-8ban.png) no-repeat right 0;
    background-size: auto 100%;
}

/*RegButton
--------------------------------------------------------------------------------------------------------------*/
.reg_btn{padding:10px;background:#400;text-align:center;}
.reg_btn a{margin:0 auto;width:300px;height:100px;display:block;background:url(../images/bg_regbtn.png) no-repeat 0 0;background-size:300px 100px;overflow:hidden;border-radius:4px;}
.reg_btn a span{padding:100px 0 0 0;display:block;}

.top-regbtn{
    width: 80%;
    height: 0;
    padding: 34% 0 0;
    display: block;
    margin: 0 auto 20px;
    background: url(../images/reg-btn.png) no-repeat 0 0;
    background-size: contain;
}

.q{
	line-height: 20px;
	margin: 10px 0;
	background: url(../images/q-txt.png) no-repeat center center;
	background-size: contain;
}
.answer{
	padding: 10px 10px 20px;
}
.reg-answer{
	width: 49%;
	height: 0;
	padding: 25% 0 0;
	display: block;
	float: left;
}
.reg-yes{
	margin: 0 2% 0 0;
	background: url(../images/btn-y.png) no-repeat 0 0;
	background-size: contain;
}
.reg-no{
	background: url(../images/btn-n.png) no-repeat 0 0;
	background-size: contain;
}
/*Main
--------------------------------------------------------------------------------------------------------------*/
.contents{margin:0 auto;padding:0;width: 100%;max-width: 768px;}
.heading h1{padding:10px;color:#fff;font-size:14px;font-weight:normal;line-height:18px;background-color:#900;background-image:linear-gradient(rgba(255,255,255,0.1),rgba(255,255,255,0));
border-top:1px solid rgba(255,255,255,0.2);}
.contents article h3{padding:10px 10px 0 10px;line-height:20px;font-size:14px;font-weight:normal;color:#c00;}
.contents article p{padding:10px;}
.top_1{height:120px;background-image:url(../images/bg_top1.png);background-position:center top;background-repeat:no-repeat;background-size:300px 120px;overflow:hidden;}
.contents .top_1 p{padding:120px 0 0 0;}
.top-header .q.txt-none {line-height: 40px;}

/*Form
--------------------------------------------------------------------------------------------------------------*/
.entry-header{
	margin: 0 auto;
    width: 100%;
	max-width: 768px;
    padding: 64% 0 0;
    position: relative;
    background: url(../images/logo.png) no-repeat right 0,url(../images/top-img.jpg) no-repeat 0 0;
    background-size: 60% auto, 100% auto;
    z-index: 1;
}

.entry-header2{
	margin: 0 auto;
	width: 100%;
	max-width: 768px;
    padding: 60% 0 0;
    position: relative;
    background: url(../images/logo.png) no-repeat 45% 0,url(../images/top-img.jpg) no-repeat 0 0;
    background-size: 45% auto, 100% auto;
}
.entry-header2.b{
    padding: 35% 0 0;
    background: url(../images/top-img.jpg) no-repeat 0 0;
    background-size:100% auto;
}
.b::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/logo.png) no-repeat 50% 0,rgba(0,0,0,0.5);
    background-size: 45% auto, 100% auto;
	z-index:2;
}

.entry-header2 .title-logo {
    padding: 10% 0 0;
    top: 5vw;
    z-index:3;
}

.entry-about{
    padding: 15px;
    background: rgba(0,0,0,0.4);
}
.b .entry-about{
	background: none;
	position: relative;
	z-index: 3;
}
.about-heading{
	display: block;
	font-size:20px;
	font-weight: bold;
	margin: 10px 0 20px;
	font-family: serif;
}
.yellow{
    color: #ff0;
}
/*
.form p a{color:#f00;text-decoration:underline;}
.form fieldset{padding:10px 10px 0 10px;position:relative;}
.form fieldset label{width:120px;height:40px;line-height:40px;background:#600;color:#fff;text-align:center;position:absolute;top:15px;left:10px;}
.form fieldset p{padding:5px 0 0 120px;}
.form .msg{margin:10px 10px 0 10px;padding:10px;line-height:16px;border:1px solid #666;}
.form .error{margin:5px 0 0 0;padding:5px;text-align:center;background:#ffe5e5;color:#f33;}
.form input[type="text"],.form input[type="password"],.form textarea,.form select
{padding:10px;width:100%;font-size:14px;line-height:18px;color:#666;border:1px solid #ddd;-webkit-appearance:none;border-radius:0;}
.form input.qtr{width:25%;float:left;}
.form textarea{height:120px;}
.form select{background:url(../images/icon_select.png) no-repeat right #fff;background-size:40px 40px;}
.form fieldset p span{padding:10px;line-height:20px;float:left;}
.regular-radio{display:none;}
.form fieldset p .regular-radio + label{margin:2px 5px;padding:10px;width:36px;height:36px;line-height:0;border-radius:50%;-webkit-appearance:none;background-color:#fafafa;border:1px solid #ddd;display:inline-block;position:relative;float:left;top:0;left:0;}
.regular-radio:checked + label:after{content:' ';width:20px;height:20px;border-radius:50%;position:absolute;top:7px;left:7px;background:#99a1a7;}
.entery_btn{padding:10px;}
.entery_btn p{padding:0 0 10px 0;font-size:11px;line-height:14px;}
.entery_btn button{width:100%;height:60px;line-height:60px;text-align:center;border:0;font-size:16px;background:#900;color:#fff;background-image:linear-gradient(rgba(255,255,255,0.1),rgba(255,255,255,0));}
.form h3{padding:5px 10px; display:block;}
.block{padding:10px;}
.alert{margin:10px; padding:10px; border:1px solid #666;}
*/

.juyo { background:rgba(255,255,255,0.1); border:1px dotted #f00 !important; padding:8px !important; box-sizing:border-box; margin:10px;}
.form .msg span,.form .juyo span{float:none; padding:0;}
.form .juyo{margin:10px 10px 0;}
.juyo a{color:#f00;}
/*Footer
--------------------------------------------------------------------------------------------------------------*/
#footer{background:#600;clear:both;position:relative;}
.gnav 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);}
.gnav li a{padding:0 44px 0 10px;color:#fff;font-size:14px;display:block;background:url(../images/icon_arrow.png) no-repeat right;background-size:30px 44px;}
#footer small{padding:8px 0;font-size:12px;line-height:14px;color:#ccc;background:url(../images/icon_u19.png) no-repeat left #000;background-size:60px 60px;text-align:center;display:block;}
#footer aside{padding:10px 0;text-align:center;}
#footer aside img{display:block;width:100%;}
.btn_top{width:44px;height:30px;display:block;background:url(../images/icon_arrow_top.png) no-repeat right;background-size:44px 30px;position:absolute;right:10px;bottom:15px;}


/*close_btn */
a.close_btn {position:fixed; bottom:0; display:block; line-height:50px; width:100%; text-align:center; color:#fff; font-size:16px; background-color:rgba(153,0,0,0.8);}

/* mother bar */
#mother{width:100%; height:40px; background:url(../images/mother_bg.png) repeat-x 0 0; box-shadow:0 1px 1px rgba(0,0,0,0.5); -moz-box-shadow:0 1px 1px rgba(0,0,0,0.5); -webkit-box-shadow:0 1px 1px rgba(0,0,0,0.5);}
#mother h1{display:block; margin:0 5px; color:#fff; line-height:40px; text-indent:-9999px; background-position:right center;}

/* karamail button */
#mailButton li{display:block; width:50%; float:left;}
#mailButton li a{display:block; text-align:center; font-size:180%; padding:15px 0; text-decoration:none; color:#fff; font-weight:bold; border:1px solid #ccc;}
#mailButton li.male a{border-radius:10px 0 0 10px; -webkit-border-radius:10px 0 0 10px; -moz-border-radius:10px 0 0 10px; border-color:#006cff; text-shadow:0 -1px 1px #006cff;
background: -webkit-gradient(linear, left top, left bottom, from(#5d93ff), color-stop(0.49, #117cff), color-stop(0.5, #026dc7), to(#004c8d) );
background: -moz-linear-gradient(top, #5d93ff, #117cff 49%, #026dc7 50%, #004c8d);}
#mailButton li.female a{border-radius:0 10px 10px 0; -webkit-border-radius:0 10px 10px 0; -moz-border-radius:0 10px 10px 0; border-color:#fd1a5a; text-shadow:0 -1px 1px #fd1a5a;
background: -webkit-gradient(linear, left top, left bottom, from(#ff8ca7), color-stop(0.49, #ff577f), color-stop(0.5, #ff3363), to(#ff0c45) );
background: -moz-linear-gradient(top, #ff8ca7, #ff577f 49%, #ff3363 50%, #ff0c45);}
#mailButton li.male a:hover,#mailButton li.male a:active{border-color:#006cff; text-shadow:0 -1px 1px #107cff;
background: -webkit-gradient(linear, left top, left bottom, from(#6da3ff), color-stop(0.49, #218cff), color-stop(0.5, #127dd7), to(#105c9d) );
background: -moz-linear-gradient(top, #6da3ff, #218cff 49%, #127dd7 50%, #105c9d);}
#mailButton li.female a:hover,#mailButton li.female a:active{border-color:#fd1a5a; text-shadow:0 -1px 1px #ff2a6a;
background: -webkit-gradient(linear, left top, left bottom, from(#ff9cb7), color-stop(0.49, #ff678f), color-stop(0.5, #ff4373), to(#ff1c55) );
background: -moz-linear-gradient(top, #ff9cb7, #ff678f 49%, #ff4373 50%, #ff1c55);}

/* campaign */
#campaign h4 {border:0; font-size:14px; color:#fff; text-indent:0; padding:10px 0 10px 10px;}
#campaign h5 {font-weight:normal; font-size:12px;color:#fff; padding:10px 0 10px 10px;}
#campaign p{padding:0 10px 0 10px;}
.cam_msg {font-size:11px; color:#aaa; padding:0;}
#campaign strong {font-weight:bold; color:#f00;}
.camMenu { margin-bottom:10px;padding-left:10px;}
.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:10px; right:10px; }
.top-header #campaign_btn,
.entry-header #campaign_btn,
.entry-header #campaign_btn_entry{
    top: 38%;
    top: 44vw;
}
.entry-header2 #campaign_btn,
.entry-header2 #campaign_btn_entry{
    top: 60px;
    top: 15vw;
    z-index: 3;
}

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

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.content-img{
	width: 100%;
	height auto;
	object-fit: contain;
	display: block;
}
.contents .general{
	padding: 10px;
}
.contents .general .sub-head{
    padding: 0;
    line-height: 20px;
    font-size: 14px;
    font-weight: normal;
    color: #fc0;
	border-bottom: 1px solid #fc0;
}
.contents .general p{
	padding: 10px 0;
}

/*--------------------------------
form
--------------------------------*/
.remaining{
    margin: 0 auto;
    padding: 4px;
    height: 32px;
    max-width: 750px;
    background: #580404;
    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: #9d0a0a;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: 0.2s;
}
.remaining p{
	position: absolute;
	top: 6px;
	left: 4px;
	right: 4px;
	bottom: 4px;
	font-size: 16px;
}
.remaining span{
	color: white;
}
.remaining.fix{
	top: 0;
}
.remaining + .entry-header2,
.menu.mt{
	margin-top: 32px;
}
.notice-box{
    margin: 24px 16px;
    padding: 8px;
    background: #f29b76;
    text-align: center;
    color: white;
}
.entry-form {
    margin: 10px;
}
.form-wrapper{
    margin-bottom: 32px;
    padding: 0 16px;
}
.form-box{
	margin-bottom: 32px;
}
.form-label{
	display: block;
	background: #600;
	padding: 8px;
	font-size: 16px;
	margin-bottom: 8px;
}
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: inherit;
}
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;
}
.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.active{
	background: #900;
	pointer-events: auto;
}
.entry-btn .regist-btn{
	width: 100%;
	height: 60px;
	line-height: 60px;
	text-align: center;
	border: 0;
	font-size: 20px;
	background: #666666;
	text-shadow: 0 0 4px #4a4a4a, 0 0 4px #4a4a4a, 0 0 4px #4a4a4a, 0 0 4px #4a4a4a;
	pointer-events: none;
	color: #fff;
	background-image: linear-gradient(rgba(255,255,255,0.1),rgba(255,255,255,0));
}
.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;
}
.entry-header{
    width: 100%;
    padding: 64% 0 0;
    position: relative;
    background: url(../images/logo.png) no-repeat right 0,url(../images/top-img.jpg) no-repeat 0 0;
    background-size: 60% auto, 100% auto;
    z-index: 1;
}

.entry-header2{
	width: 100%;
    padding: 60% 0 0;
    position: relative;
    background: url(../images/logo.png) no-repeat 45% 0,url(../images/top-img.jpg) no-repeat 0 0;
    background-size: 45% auto, 100% auto;
}
.entry-header2.b{
    padding: 35% 0 0;
    background: url(../images/top-img.jpg) no-repeat 0 0;
    background-size:100% auto;
}
.b::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/logo.png) no-repeat 50% 0,rgba(0,0,0,0.5);
    background-size: 45% auto, 100% auto;
	z-index:2;
}

.entry-header2 .title-logo {
    padding: 10% 0 0;
    top: 5vw;
    z-index:3;
}
.entry-about{
    padding: 15px;
    background: rgba(0,0,0,0.4);
}
.b .entry-about{
	background: none;
	position: relative;
	z-index: 3;
}
.about-heading{
	display: block;
	font-size:20px;
	font-weight: bold;
	margin: 10px 0 20px;
	font-family: serif;
}