@charset "utf-8";

html, body{
	width:100%;
	height:100%;
	font-family: 'Noto Sans JP', 'Noto Sans CJK JP', 'Avenir', 'Helvetica Neue', 'Helvetica','Arial', sans-serif;
	-webkit-font-smoothing: antialiased;
}
html{overflow-y: scroll;font-size: 625%;}

.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*ﾂ･*//*/
	height: auto;
	overflow: hidden;
	/**/
}

a{color: #ffffff !important; text-decoration: underline !important;}
a:visited {color: #307eff;text-decoration: underline;}
a:hover, .btn:hover, .snsShare li a:hover, .btn_menu:hover{cursor: pointer; text-decoration: none; color: #ffd800 !important; transition: all .3s ease-out;}

.both{clear:both;}
.block{display: block;}
.nodisp{
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	height: 0;
}
.center{text-align: center;}
.strong{font-weight: bold;}
.caution{
	padding-top: 10px;
    font-size: .10rem !important;
    line-height: 1.6em;
}
.gray{opacity: .4;}
.paddingBottom{padding-bottom: 75px;}
.marginBottom{margin-bottom: 75px !important;}
.flexbox{
	position: relative;
	margin: 0 auto;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexbetween{justify-content: space-between;}
.flexaround{justify-content: space-around;}
.flexcenter{justify-content:center;}
.flexaligncenter{align-items: center;}
.flexalignend{align-items: flex-end;}
.flexbox .box{
	position: relative;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}
img{
	max-width: 100%;
	height: auto;
    display: block;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.button{
    position: relative;
    display: inline-block;
	width: auto;
    margin: 10px 0;
	left: 50%;
	transform: translateX(-50%);
    background-color: #01e7be;
    text-align: center;
    color: #000000 !important;
	text-decoration: none !important;
    padding: 8px 4em;
    font-size: .12rem;
    font-weight: 900;
	border-radius: 5px;
}
.button.w100{padding: 8px 2.5em;}
a.button:hover{text-decoration: none !important;color: #000000 !important;}
.button::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
	content: '';
	width: 12px;
	height: 12px;
	background-image: url("../img/arrow.png");
	background-position: 50% 50%;
    background-size: contain;
}

iframe[name="google_conversion_frame"] { position: absolute; top: 0; }


/* 共通パーツ */
body{
	position: relative;
	width: 100%;
	color: #ffffff;
	background-color: #000000;
	font-size: .14em;
	line-height: 1.9em;
	font-weight: 500; 
	font-feature-settings: "halt" 1;
	word-wrap: break-word;
}

section{
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
#wrap{position: relative; height: auto !important; overflow-y: auto; width: 100%; max-width: 540px !important;margin: 0 auto;}

[data-ruby] {
    position: relative;
}
[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -2em;
    left: 50%;
	transform: translateX(-50%);
    margin: auto;
    font-size: 0.5em;
	white-space: nowrap;
}
rt , rp{display: none;}

.contetsWrap{
	position: relative;
	margin: 0 auto; 
	width: calc(100% - 50px);
	padding: 25px 0;
}

footer{
	position: relative;
	margin:  50px auto 0 auto;
    padding:30px 0 10px 0;
    text-align: center;
	background-color: #3B474A;
}
footer p.copyright{position: relative; margin:  0 auto;font-size: .10rem;}

h1{
	position: relative;
	margin: 15px auto 0 auto;
	width: 100%;
	padding-top: 56px;
	display: block;
	background-image: url("../../HHlicense/img/logo.png");
	background-position: 50% 50%;
    background-size: contain;
	background-repeat: no-repeat;
	z-index: 11;
}
h1.next{width: 38%;padding-top: 50px;margin: 15px 0 0 0;display: inline-block;}
h2 img{margin: 164px auto;width: calc(100% - 80px);}
h2.next{display: inline-block;width: 56%;}
h2.next img{margin: 5px 0 0 auto;width: calc(100% - 20px);}

#innerWrap{
	position: relative;
	margin: 0 auto;
}
#inner{
	position: relative;
	margin: 0 auto;
}

.leadTxtWrap, .kujiTxtWrap, .secTxtWrap{
	position: relative;
	margin: 0 auto;
	padding: 5px;
	width: calc(100% - 60px);
	background-color:rgba(59,92,116,.4);
	overflow: visible;
}
#cont02 .kujiTxtWrap{display: none;}
.secTxtWrap{margin: 80px auto 0 auto;display: none;}
.leadTxtWrap::after{
	position: absolute;
	top: -3px;
	left: -22px;
	content: '';
	width: 80px;
	height: calc(100% + 3px);
	background-image: url("../img/rippo.png");
	background-position: 50% 0;
    background-size: 100% auto;
	background-repeat: no-repeat;
}
.leadTxtWrap::before{
	position: absolute;
	bottom: -30px;
	left: -35px;
	content: '模擬ハンター試験\A試験官リッポー';
	background-image: url("../img/bg_name.svg");
	background-position: 50% 0;
    background-size: 100% 100%;
	background-repeat: no-repeat;
	white-space: pre;
	font-size: .11rem;
	line-height: 1.3em;
	z-index: 5;
	padding: 10px 20px 10px 25px;
}
.secTxtWrap::after{
	position: absolute;
	top: -50px;
	right: -22px;
	content: '';
	width: 100px;
	height: calc(100% + 50px);
	background-image: url("../img/beans.png");
	background-position: 50% 0;
    background-size: 100% auto;
	background-repeat: no-repeat;
}
.secTxtWrap::before{
	position: absolute;
	bottom: -10px;
	right: -35px;
	content: 'ネテロ会長　秘書\Aビーンズ';
	background-image: url("../img/bg_name1.svg");
	background-position: 50% 0;
    background-size: 100% 100%;
	background-repeat: no-repeat;
	white-space: pre;
	font-size: .11rem;
	line-height: 1.3em;
	z-index: 5;
	padding: 10px 20px 10px 25px;
}
.leadTxt, .kujiTxt, .secTxt{
	position: relative;
	margin: 0 auto;
	padding:10px;
	border: solid 1px #86b5bf;
}
.leadTxt p{
	position: relative;
	margin: 0 auto;
	padding: 5px 10px 5px 50px;
	z-index: 1;
}
.secTxt p{
	position: relative;
	margin: 0 auto;
	padding: 5px 50px 5px 10px;
	z-index: 1;
}

.target{
	position: relative;
	margin: 160px auto 140px auto;
	width: 100%;
	padding: 0;
	background-color: #17252e;
	
}
.target::before{
	position: absolute;
	top: -80px;
	left: 0;
	width: 100%;
	height: 80px;
	display: block;
	content: '';
	background-image: url("../img/bg.svg");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.target::after{
	position: absolute;
	bottom: -80px;
	left: 0;
	width: 100%;
	height: 80px;
	display: block;
	content: '';
	background-image: url("../img/bg.svg");
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.target h3 img{margin:0 auto 20px auto;}
.target ul{
	position: relative;
	margin: 0 auto 10px auto;
	width: calc(100% - 20px);
}
.target ul li{
	position: relative;
	margin: 5px 0;
	width: calc(33% - 2px);
}

.kujiTxtWrap::after{
	position: absolute;
	top: -35px;
	left: -8px;
	content: '';
	width: 55px;
	height: calc(100% + 35px);
	background-image: url("../img/icon_rippo@3x.png");
	background-position: 50% 0;
    background-size: 100% auto;
	background-repeat: no-repeat;
}
.kujiTxt p{
	position: relative;
	margin: 0 auto;
	padding: 5px 10px 5px 40px;
	z-index: 1;
}


#timer{
	position: relative;
	margin: 20px auto 0 auto;
	color: #ffffff;
	display: none;
	border: solid 1px #86B5BF;
	width: 50%;
	text-align: center;
	padding: 10px 0;
}
#timer span{
	font-size: .32rem;
	font-weight: 700;
}

#contents{
	position: relative;
	margin: 20px auto;
}

#cont01{
	position: relative;
	margin: 30px auto;
}
#cont01 h3.ttl img{margin: 30px auto 60px auto;}
.btn_kuji{
	position: relative;
	margin: 0 auto;
	width: 50%;
}
.btn_start{
	position: relative;
	margin: 20px auto 0 auto;
	width: 80%;
}

#cont02{
	position: relative;
	margin: 60px auto 20px auto;
	display: none;
}
#cont02 h3 img{margin: 0 auto 30px auto;}
#cont02 .chara{width: 80%;margin: 0 auto;}
#cont02 .kujiTxtWrap{margin: 80px auto 0 auto;}
#cont02 p, .btn_start{display: none;}
#cont02 .box, #cont03 .box{width: 48%;font-size: .18rem;text-align: center;}
#cont02 .start{
	position: relative;
	margin: 50px auto;
	padding: 20px;
	background-color:rgba(59,92,116,.4);
}
#cont02 .start img{margin: 10px auto 0 auto;}
#cont02 .secret{
	position: relative;
	margin: 0 auto;
	transform: translateY(30px);
	width: 90%;
	display: none;
}

#cont03{
	position: relative;
	margin: 0 auto;
	display: none;
}
#cont03 h3 img{width: 70%; margin: 60px auto 30px auto;}
#cont03 h4 img{width: 90%; margin: 30px auto;}
#cont03 .targetType{
	position: relative;
	margin: 50px auto;
	width: 90%;
}
#cont03 .targetType .item img{padding-top: 8px;width: 99%;}
#cont03 .targetType .item img.widthS{width: 97%;}
area{pointer-events: none;}
.map{position: relative;}
.ngItem{
	position: absolute;
	top:0;
	left: 0;
	width: 10px;
	height: 10px;
	background-image: url("..//img/ng_icon.png");
	background-position: 50% 50%;
    background-size: contain;
	background-repeat: no-repeat;
}

#result{
	position: relative;
	margin: 0 auto;
	display: none;
}
#result .resultTxt{
	position: relative;
	margin: 0 auto;
}
#result .resultTxtInner{
	position: relative;
	margin: 0 auto;
}
#result #ok, #result #ng{display: none;}
#result #ok .resultTxtInner{margin: 5px auto 0 auto;}
#result .ttl_result{margin: 80px auto 15px auto; width: 90%;}
#result .resultTxt a img{
	position: relative;
	margin:  0 auto 80px auto;
	width: 72%;
}
#result .resultImg{
	position: relative;
	margin:  80px auto;
	width: calc(100% - 20px);
}
#result #ok .resultImg{margin:  20px 0 80px auto;}
#result .resultImg img{
	position: relative;
	margin:  0 auto;
}
#result .btn_re{
	position: relative;
	display: block;
	margin: 20px auto;
}
.bnr_official{
	position: relative;
	margin:80px auto 40px auto;
	width: 80%;
	display: block;
}
