@charset "UTF-8";



/*共通
---------------------------------------------------------*/
body{
	background: #00848a;
}
.pagebody{
	background: #b1dab8;
}
/*btn_close*/
.btn_close{
	position:relative;
	z-index: 5;
}
.btn_close input,.btn_close a{
	display: block;
	width: 100%;
	background:#ffffff;
	border-radius: 30px;
	border:none;
	color:#000b45;
	font-weight: bold;
	font-size:120%;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 18px 0;
}
.btn_close{
	margin: 0 auto;
	max-width:365px;
	position: relative;}
.btn_close::after{
	position:absolute;
	display: block;
	content: "";
	right: 15px;
	width: 40px;
	height: 40px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background:url("../images/btn_close.png") no-repeat right center;
	background-size:100% auto;
	z-index: 2;
}
.hint_img{
	display:block;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 0.5em;
}




/*lead
---------------------------------------------------------*/
.hint_title{
	max-width: 700px;
	width: 60%;
	margin: 0 auto 50px auto;
	padding-top: 80px;
	
}
#lead{
	padding-bottom: 70px;
}
#lead .com_lead_icon{
	margin: 0 auto 20px auto;
	max-width: 65px;
}
#lead .com_lead_title{
	margin: 0 auto;
	max-width: 710px;
}
#lead p{
	text-align:center;
	font-size:130%;
	font-weight: bold;
	color:#02537a;
	margin-top: 20px;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.hint_title{
	max-width: 700px;
	width: 70%;
	margin: 0 auto 30px auto;
	padding-top: 50px;
	
}
#lead{
	padding-bottom: 50px;
}
#lead .com_lead_icon{
	margin: 0 auto 10px auto;
	width: 7%;
}
#lead .com_lead_title{
	width: 80%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.hint_title{
	max-width: 700px;
	width: 95%;
	margin: 0 auto 8% auto;
	padding-top: 10%;
	
}
#lead{
	padding-bottom: 8%;
}
#lead .com_lead_icon{
	margin: 0 auto 2% auto;
	width: 9%;
}
#lead .com_lead_title{
	width: 100%;
}

}





/* QA
---------------------------------------------------------*/
#question{
	padding-bottom:70px;
	position: relative;
	z-index: 2;
}
#question .qa_lead {
	margin-bottom:2em;
}
#question .qa_lead .img_box{
	max-width: 900px;
	margin: 0 auto 1em auto;
}
#question .qa_lead .txt_box{
	text-align: center;
	font-size:120%;
	font-weight:bold;
	color:#02537a;
}
#question .hint_list .qa_lead {
	margin-top:1em;
}
.hint_bg{
	position:relative;
}
.hint_bg .abs_illust li.abs_kumo1{
	position:absolute;
	left: 0;
	top: 50px;
	max-width: 350px;
	width: 23%;
}
.hint_bg .abs_illust li.abs_kumo2{
	position:absolute;
	right: 0;
	top: 50px;
	max-width: 350px;
	width: 23%;
}

#question .q_icon{
	position:absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	max-width: 280px;
	width: 25%;
}
#question .q_img{
	max-width:880px;
	width: 90%;
	margin: 0 auto;
}

#question .hint_list > li{
	margin-bottom:3px;
	background: #ffffff;
	padding: 25px 25px;
}
#question .hint_list > li dt{
	font-size:145%;
	letter-spacing: 0.1em;
	cursor: pointer;
	color:#31509b;
	font-weight: bold;
}
#question .hint_list > li dt .open_inbox{
	display: block;
	position: relative;
	padding-right: 25px;
}
#question .hint_list > li dt .open_inbox{
	display: block;
	position: relative;
}
#question .hint_list > li dt.open_btn .open_inbox::before{
	display: block;
	position: absolute;
	content: "";
	width: 25px;
	height: 25px;
	background-image:url("../images/arrow2_down.png");
	background-size:100% auto;
	background-position: center center;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
}
#question .hint_list > li dt.open_btn.active .open_inbox::before{
	background-image:url("../images/arrow2.png");
}
#question .hint_list > li dd{
	margin-top: 10px;
}
#question .hint_list > li dt.open_btn .txt_open {
	display: block;	/* 初期表示 */
}
#question .hint_list > li dt.open_btn .txt_close {
	display: none;	/* 初期表示 */
}
#question .hint_list > li dt.open_btn.active .txt_open {
	display: none;	/* 質問表示時 */
}
#question .hint_list > li dt.open_btn.active .txt_close {
	display: block;	/* 質問表示時 */
}
#question .hint_list > li dd {
	display: none;	/* 初期表示 */
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#question{
	padding-bottom:30px;
}
#question .hint_list > li{
	padding: 20px 25px;
}
#question .hint_list > li dt{
	font-size:125%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#question{
	padding-bottom:5%;
}
	

.hint_bg .abs_illust li.abs_kumo1{
	left: 0;
	top: 45vw;
	width: 26%;
}
.hint_bg .abs_illust li.abs_kumo2{
	top: 45vw;
	width: 27%;
}	
	
#question .q_icon{
	width: 27%;
}
#question .hint_list > li{
	padding: 3% 5%;
}
#question .hint_list > li dt{
	font-size:4.3vw;
	line-height: 1.5em;
}
#question .hint_list > li dt .open_inbox{
	padding-right: 20px;}
}




/*送信ボタン
---------------------------------------------------------*/
.nazoform{
	margin-top:3.0rem;
}
.nazoform .submit input{
	width:82%;
	margin-right: 3%;
}
.nazoform .submit button{
	width:15%;
}
.nazoform .submit{
  text-align: center;
  position: relative;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
}
.nazoform .submit form {
  display: flex;
  justify-content: center;
  align-items: center;
}
.nazoform .submit input {
  position: relative;
  display: block;
  outline: none;
  border: none;
}
.nazoform .submit input[type="text"] {
  padding: 0 0 0 0.5rem;
  height: 3.6rem;
  line-height: 3.6rem;
  font-size: 1.5rem;
  background-color: #ffffff;
}
.nazoform .submit button{
	background: #28b5c3;
  border: none;
  height: 3.6rem;
  line-height: 3.6rem;
  font-size: 1.2rem;
	font-weight: bold;
	color:#ffffff;
	letter-spacing: 0.1em;
}
/*.nazoform input[type="text"]:disabled {
  background-color: rgba(255,255,255,0.9);
}*/
.nazoform .caution{
	margin-top:0.5em;
	text-align: center;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.nazoform .submit input{
	width:77%;
	margin-right: 3%;
}
.nazoform .submit button{
	width:20%;
  font-size: 4vw;
}
}




/* 背景
---------------------------------------------------------*/
.hint_bg{
	position:relative;
	padding-bottom: 150px;
}
.hint_bg::before{
	position: absolute;
	display: block;
	content: "";
	left: 0;
	bottom:-1px;
	width: 100%;
	height: 90px;
	background:url("../images/hint_bottom.png") no-repeat center bottom;
	background-size:100% 100%;
}
.bg_abs li{
	position:absolute;
	max-width: 370px;
	width: 25%;
	bottom:0;
}
.bg_abs li.abs_left{
	left: 0;
}
.bg_abs li.abs_right{
	right: 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
	.hint_bg{
		padding-bottom:100px;
	}
	.hint_bg::before{
	height: 50px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.hint_bg{
		padding-bottom:25%;
	}	
.hint_bg::before{
	height: 7vw;
}

.bg_abs li.abs_kusa2{
	width: 25%;
}
.bg_abs li.abs_kusa3{
	width: 25%;
}
.bg_abs li.abs_hito{
	left: 15%;
	max-width: 190px;
	width: 15%;
	z-index: 3;
}
}






/* 
---------------------------------------------------------*/
.hint_last{
	background: #ffffff;
	padding: 25px 25px;
}
.hint_last dt{
	font-size:145%;
	letter-spacing: 0.1em;
	color:#31509b;
	border-bottom: 2px solid #31509b;
	padding-bottom: 0.5em;
	margin-bottom: 0.8em;
	font-weight: bold;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.hint_last{
	padding: 20px 25px;
}
.hint_last dt{
	font-size:125%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.hint_last{
	padding: 3% 5%;
}
.hint_last dt{
	font-size:4.3vw;
	line-height: 1.5em;
}
}



/* hint_index_list
---------------------------------------------------------*/
.hint_index_list > li{
	margin-bottom:100px;
}
.hint_index_list > li .index{
	border-radius: 10px;
	padding: 10px 10px;
}
.hint_index_list > li:nth-child(1) .index{background: #ff8aa1;}
.hint_index_list > li:nth-child(2) .index{background: #c31926;}
.hint_index_list > li:nth-child(3) .index{background: #f7ac00;}
.hint_index_list > li:nth-child(4) .index{background: #61a332;}
.hint_index_list > li:nth-child(5) .index{background: #00abd1;}
.hint_index_list > li:nth-child(6) .index{background: #7e308d;}
.hint_index_list > li:nth-child(7) .index{background: #2a6a37;}
.hint_index_list > li:nth-child(8) .index{background: #00abd1;}
.hint_index_list > li:nth-child(9) .index{background: #22ac38;}
.hint_index_list > li:nth-child(10) .index{background: #e73045;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.hint_index_list > li{
	margin-bottom:90px;
}
.hint_index_list > li .index img{
	max-width: 400px;
	width: 45%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.hint_index_list > li{
	margin-bottom:13%;
}
.hint_index_list > li .index{
	margin-bottom: -3vw;
}
.hint_index_list > li .index img{
	max-width: 400px;
	width: 70%;
}
}






/* 
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}
