@charset "UTF-8";


.popup-atari{
	display: none;
  background-color: #ffffff;
	width: 100%;
	height: 100%;
}
.popup-close {
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 20px;
}

.popup-window {
  width: 90vw;
  max-width:900px;
  padding:30px 10px 30px 30px;
  background-color: #ffffff;
  position: fixed;
	top: 20px;
	left: 0;
	right: 0;
	margin: 0 auto;
	box-sizing: border-box;
	z-index: 999;
}

.popup-close {
        background-color: transparent;
        border: none;
        outline: none;
        padding: 0;
        appearance: none;
  cursor: pointer;
  position: absolute;
  top: 50px;
  right: 50px;
}
.popup .scl_area{
    position: relative !important;
	height: calc(100vh - 60px);
}
.popup .scl_box{
	padding-right: 20px;
}



/*共通
---------------------------------------------------------*/
.com_title{
	position: relative;
	margin-bottom: 45px;
}
.com_title h2{
	color:#ffffff;
	font-size:230%;
	letter-spacing: 0.2em;
	text-align: center;
	padding: 30px 3%;
	background: #00848a;
	position: relative;
	z-index: 2;
}
.com_title::before,
.com_title::after,
.com_title h2::before,
.com_title h2::after{
	display: block;
	content: "";
	position: absolute;
	max-width: 20px;
	width: 20px;
	height: 30px;
	background-repeat: no-repeat;
	background-size:100% auto;
	z-index: 3;
}
.com_title::before{
	background-position: left top;
	background-image:url("../images/com_title_c1.png");
	left: 0;
	top: 0;
}
.com_title::after{
	background-position: right top;
	background-image:url("../images/com_title_c2.png");
	right: 0;
	top: 0;
}
.com_title h2::before{
	background-position: left bottom;
	background-image:url("../images/com_title_c3.png");
	left: 0;
	bottom: 0;
}
.com_title h2::after{
	background-position: right bottom;
	background-image:url("../images/com_title_c4.png");
	right: 0;
	bottom: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_title{
	margin-bottom: 30px;
}
.com_title::before,
.com_title::after,
.com_title h2::before,
.com_title h2::after{
	width: 15px;
}
.com_title h2{
	font-size:180%;
	padding: 20px 3%;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_title{
	margin-bottom: 5%;
}
.com_title::before,
.com_title::after,
.com_title h2::before,
.com_title h2::after{
	width: 3vw;
}
.com_title h2{
	font-size:6vw;
	letter-spacing: 0.15em;
	padding: 5% 3%;
}
}





/*送信ボタン
---------------------------------------------------------*/
.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: #31509b;
	cursor: pointer;
  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;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1500px) {
.nazoform .submit{
  width: 60%;
}
}

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





/*メインイメージ
---------------------------------------------------------*/
.m_img_bg{
	position: relative;
	background:url("../images/m_img.jpg") no-repeat center center;
	background-size:cover;
	opacity: 1;
    -webkit-transition: all 3s;
    -moz-transition: all 3s;
    transition: all 3s;
  animation-name: m_img_hover;
  animation-duration: 3s;
  animation-timing-function: linear;
	overflow: hidden;}
@keyframes m_img_hover {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.m_img_area {
	max-width:1500px;
	margin: 0 auto;
	position: relative;
}
.m_img_area .m_news{
	position: absolute;
	left: 20px;
	bottom: 25px;
	max-width: 680px;
	width: 57%;
	text-align: left;
	z-index: 5;
}
.m_img_area .m_news dl{
	position: relative;
	background:#ffffff;
	border-radius: 5px;
	display: table;
}
.m_img_area .m_news dl::before{
	display:block;
	content: "";
	position: absolute;
	left: 5px;
	top: 5px;
	width: 100%;
	height: 100%;
	background: #8c9b78;
	z-index: -1;
	border-radius: 5px;
}
.m_img_area .m_news dt{
	display: table-cell;
	vertical-align: middle;
	background: #00848a;
	width: 20%;
	border-radius: 5px 0px 0px 5px;
}
.m_img_area .m_news dt img{
	display: block;
	margin: 0 auto;
	width: 70%;
}
.m_img_area .m_news dd{
	display: table-cell;
	vertical-align: middle;
	width: 80%;
	padding: 15px 17px;
	/*padding-top: 13px; 投稿なしの場合の調整*/
}
.m_img_area .m_news dd li{
	border-bottom:1px solid #00848a;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.m_img_area .m_news dd li:last-child{
	border-bottom:none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.m_img_area .m_news dd .scl_area{
    position: relative !important;
}
.m_img_area .m_news dd .scl_area ul{
	padding-right: 15px;
    height: 70px;
}
.m_img_area .m_logo{
	max-width:743px;
	padding: 50px 0 200px 0;
	width: 65%;
	margin: 0 auto 0 5%;
	position: relative;
	z-index: 5;
	opacity: 1;
    -webkit-transition: all 3s;
    -moz-transition: all 3s;
    transition: all 3s;
  animation-name: m_logo_hover;
  animation-duration: 3s;
  animation-timing-function: linear;
}
@keyframes m_logo_hover {
  0% {
    opacity: 0;
  }
	40% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.m_img_area .m_muryou{
	position: absolute;
	max-width: 194px;
	width: 13%;
	right: 30px;
	bottom:30px;
}
.m_img_area .m_mizuhoku{
	position: absolute;
	max-width: 90px;
	width: 8%;
	left: 50px;
	top:50px;
}
.m_img_area .m_syujinkou{
	position: absolute;
	max-width: 500px;
	width: 34%;
	right: 5%;
	bottom:40px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area .m_news dd li{
	line-height: 1.5em;
}
.m_img_area .m_news dd .scl_area ul{
	padding-right: 10px;
    height: 53px;
   /* height: 30px;投稿なしの場合の調整*/
}
.m_img_area .m_logo{
	width: 56%;
	padding: 30px 0 150px 0;
}
.m_img_area .m_mizuhoku{
	left: 20px;
	top:20px;
}
.m_img_area .m_syujinkou{
	width: 32%;
	right: 30px;
	bottom:130px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_bg{
	background:url("../images/m_img_sp.jpg") no-repeat center bottom;
	background-size:cover;}
	
.m_img_area .m_news{
	left: 3%;
	bottom: 4vw;
	max-width: 100%;
	width: 94%;
}
.m_img_area .m_news dd{
	padding: 10px;
	/*padding-top: 13px; 投稿なしの場合の調整*/
}
.m_img_area .m_news dd li{
	line-height: 1.5em;
	font-size:90%;
}
.m_img_area .m_news dd .scl_area ul{
	padding-right: 2%;
    height: 50px;
   /* height: 30px;投稿なしの場合の調整*/
}
.m_img_area .m_logo{
	padding:4vw 0 92vw 0;
	width: 90%;
	margin: 0 auto;
}	
.m_img_area .m_muryou{
	width: 24%;
	right: auto;
	left: 5%;
	bottom:25vw;
}
.m_img_area .m_mizuhoku{
	width: 13%;
	left: 5vw;
	top:3vw;
}
.m_img_area .m_syujinkou{
	width: 45%;
	right: 5%;
	bottom:22vw;
}
}





/* リード
---------------------------------------------------------*/
#lead .lead_txt{
	position:relative;
	z-index: 2;
}
#lead .lead_txt div{
	max-width: 677px;
	margin: 0 auto 30px auto;
	text-align: center;
	width: 57%;
}
#lead .lead_txt h1{
	text-align:center;
	font-size:120%;
	line-height: 2.5em;
	letter-spacing: 0.2em;
}
#lead .lead_bg{
	padding-top: 120px;
	position: relative;
}
#lead .lead_bg::before,
#lead .lead_bg::after{
	position: absolute;
	display: block;
	content: "";
	z-index: -1;
}
#lead .lead_bg::before{
	left: 0;
	top: 50px;
	max-width: 387px;
	height: 837px;
	width: 30%;
	background: url("../images/lead_left.png") no-repeat left top;
	background-size:100% auto;
}

#lead .lead_bg .abs_list li{
	position: absolute;
	max-width: 301px;
	width: 22%;
}
#lead .lead_bg .abs_list li:nth-child(2){
	left: 50px;
	top: 500px;
}
#lead .lead_bg .abs_list li:nth-child(3){
	right: 50px;
	top: 20px;
}
#lead .lead_bg .abs_list li:nth-child(1){
	left: 0;
	top: 70px;
	max-width: 380px;
	width: 27%;
	z-index: 0;
}
#lead .lead_bg .abs_list li:nth-child(4){
	right: 0;
	top: 600px;
	max-width: 380px;
	width: 27%;
	z-index: -1;
}

#lead .lead_bg .abs_list li:nth-child(2){
	animation:fuwa1 ease-in-out 6s infinite alternate;
  -webkit-animation:fuwa1 ease-in-out 6s infinite alternate;
  -moz-animation:fuwa1 ease-in-out 6s infinite alternate;
}
@keyframes fuwa1{
  0%   { transform:rotate(20deg);}
  100% { transform:rotate(-20deg); transform: scale(1.15);}
}
@-webkit-keyframes fuwa1{
  0%   { transform:rotate(20deg);}
  100% { transform:rotate(-20deg); transform: scale(1.15);}
}
@-moz-keyframes fuwa1{
  0%   { transform:rotate(20deg);}
  100% { transform:rotate(-20deg); transform: scale(1.15);}
}

#lead .lead_bg .abs_list li:nth-child(3){
	padding-top: 10px;
	animation:fuwa2 ease-in-out 5s infinite alternate;
  -webkit-animation:fuwa2 ease-in-out 5s infinite alternate;
  -moz-animation:fuwa2 ease-in-out 5s infinite alternate;
}
@keyframes fuwa2{
  0%   { transform:rotate(-20deg);}
  100% { transform:rotate(20deg); transform: scale(1.1);}
}
@-webkit-keyframes fuwa2{
  0%   { transform:rotate(-20deg);}
  100% { transform:rotate(20deg); transform: scale(1.1);}
}
@-moz-keyframes fuwa2{
  0%   { transform:rotate(-20deg);}
  100% { transform:rotate(20deg); transform: scale(1.1);}
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1200px) { 
#lead .lead_bg .abs_list{
	right: 10px;
	top: 170px;
	width: 20%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#lead .lead_txt div{
	margin: 0 auto 20px auto;
}
#lead .lead_txt h1{
	text-align:center;
	font-size:100%;
	line-height: 2em;
	letter-spacing: 0.1em;
}
#lead .lead_bg{
	padding-top: 50px;
}
#lead .lead_bg::before{
	top: 20px;
	width: 20%;
}
#lead .lead_bg .abs_list li{
	width: 15%;
}
#lead .lead_bg .abs_list li:nth-child(2){
	left: 20px;
	top: 250px;
}
#lead .lead_bg .abs_list li:nth-child(3){
	right: 20px;
	top: 20px;
}
#lead .lead_bg .abs_list li:nth-child(1){
	top: 30px;
	width: 25%;
}
#lead .lead_bg .abs_list li:nth-child(4){
	right: 0;
	top: 300px;
	width: 25%;
}
	
	
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
	#lead .mgn_b_120{
		margin-bottom:2%;
	}
#lead .lead_txt div{
	margin: 0 auto 5% auto;
	width: 100%;
}
#lead .lead_txt h1{
	text-align:left;
	font-size:3.8vw;
	line-height: 1.8em;
	letter-spacing: 0.07em;
	width: 100%;
	margin-left: 0%;
}
#lead .lead_bg{
	padding-top: 7%;
}
#lead .lead_bg::before{
	width: 32%;
	top: auto;
	bottom: 3vw;
	background: url("../images/lead_left.png") no-repeat left bottom;
	background-size:100% auto;
}
	#lead .lead_bg .abs_list{
		padding-top:5%;
	}
#lead .lead_bg .abs_list li{
	position: static;
	width: 26%;
	float: left;
}
#lead .lead_bg .abs_list li:nth-child(1){
	padding-top: 3vw;
}
#lead .lead_bg .abs_list li:nth-child(2){
	width: 20%;
	margin-right: 5%;
}
#lead .lead_bg .abs_list li:nth-child(3){
	width: 20%;
	margin-right: 1%;
}
#lead .lead_bg .abs_list li:nth-child(4){
}
}





/* インフォメーション
---------------------------------------------------------*/
#about .about_bg{
	position: relative;
	padding-bottom: 120px;
	font-weight: bold;
}
#about .about_bg::before{
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 85px;
	background:url("../images/about_bottom.png") no-repeat center bottom;
	background-size:100% 100%;
	left: 0;
	bottom:179px;
	z-index: -2;
}
#about .about_bg::after{
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 180px;
	background:#02537a;
	left: 0;
	bottom:-1px;
	z-index: -2;
}
#about .about_kusa{
	position: relative;
}
#about .about_kusa::before,#about .about_kusa::after{
	position: absolute;
	display: block;
	content: "";
	max-width: 383px;
	height: 160px;
	width: 25%;
	bottom:60px;
	z-index: -3;}
#about .about_kusa::before{
	background:url("../images/about_bottom_l.png") no-repeat left bottom;
	background-size:100% auto;
	left: 0;
}
#about .about_kusa::after{
	background:url("../images/about_bottom_r.png") no-repeat right bottom;
	background-size:100% auto;
	right: 0;
}
#about .about_list_bg{
	background: #faf6f0;
	color:#02537a;
	border-radius: 5px;
	padding: 40px 50px;
}
#about .about_list > li{
	margin-bottom:35px;
}
#about .about_list > li:last-child{
	margin-bottom:0;
}
#about .about_list > li dt{
	background:#8c9b78;
	color:#ffffff;
	border-radius: 30px;
	letter-spacing: 0.3em;
	font-size:120%;
	padding: 13px 3% 13px 30px;
	margin-bottom: 20px;
}
#about .about_list > li dd .img_date{
	max-width: 466px;
	width: 50%;
}
#about .about_list > li dd strong{
	font-size:150%;
	color:#ed7959;
}
#about .about_list .maru_list > li{
	line-height:1.5em;
	margin-bottom: 5px;
}
#about .about_list .maru_list > li:last-child{
	margin-bottom: 0;
}
#about .about_list .maru_list > li p{
	background: url("../images/icon.png") no-repeat left 6px;
	background-size: 12px 12px;
	padding-left: 20px;
}
#about .about_list .caution_list{
	margin-top:5px;
}
#about .about_list .caution_list > li{
	line-height:1.5em;
	font-size:80%;
	margin-bottom: 3px;
	padding-left: 1em;
	text-indent: -1em;
}
#about .about_list .caution_list > li:last-child{
	margin-bottom: 0;
}
#about .about_list .present_box dt{
	background:#ed7959;}
#about .about_list .present_box dd p{
	color:#ed7959;}
#about .about_list .present_list{
	margin-top:30px;
}
#about .about_list .present_list > li{
	float: left;
	width: 30%;
	margin-right: 5%;
}
#about .about_list .present_list > li:last-child{
	margin-right: 0;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1500px) { 
#about .about_bg::before{
	background-size:100% auto;
	}}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#about .about_bg{
	padding-bottom: 80px;
}
#about .about_list_bg{
	padding: 30px;
}
#about .about_list > li{
	margin-bottom:20px;
}
#about .about_list > li dt{
	letter-spacing: 0.2em;
	font-size:110%;
	padding: 7px 3% 7px 15px;
	margin-bottom: 10px;
}
#about .about_list > li dd strong{
	font-size:130%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#about .about_bg{
	padding-bottom: 10%;
}
#about .about_bg::before{
	height: 30px;
}
#about .about_kusa::before,#about .about_kusa::after{
	width: 20%;
	bottom:120px;
	z-index: -3;}
#about .about_list_bg{
	padding: 3%;
}
#about .about_list > li dd .img_date{
	width: 80%;
}
#about .about_list > li{
	margin-bottom:5%;
}
#about .about_list > li dt{
	letter-spacing: 0.15em;
	font-size:4.5vw;
	padding: 5px 3% 5px 15px;
	margin-bottom: 10px;
}
#about .about_list > li dd strong{
	font-size:5vw;
}
#about .about_list .present_list{
	margin-top:3%;
}
#about .about_list .present_list > li{
	width: 50%;
	margin-right: 0;
}
#about .about_list .present_list > li:last-child{
	margin-left: 25%;
	margin-top: 0;
}
}





/* howto
---------------------------------------------------------*/
#howto .howto_bg{
	background: #02537a;
}
#howto .flow{
	margin-bottom:80px;
}
#howto .flow .flow_list > li{
	float:left;
	width: 32%;
	margin-right: 2%;
	position: relative;
}
#howto .flow .flow_list > li::after{
	display:block;
	content: "";
	position: absolute;
	right: -10px;
	z-index: 2;
	top:calc(25% - 29px);
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	width: 58px;
	height: 58px;
	max-width: 58px;
	background:url("../images/howto_arrow1.png") no-repeat center center;
	background-size:100% auto;
	opacity: 0;
}

#howto .flow .flow_list.anime_on li::after{
	opacity: 1;
    -webkit-transition: all 3.5s;
    -moz-transition: all 3.5s;
    transition: all 3.5s;
  animation-name: flow_list_arrow;
  animation-duration: 3.5s;
  animation-timing-function: ease-in;
}
@keyframes flow_list_arrow {
 0% {
    opacity: 0;
  }
85% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#howto .flow .flow_list > li:last-child{
	margin-right: 0;
}
#howto .flow .flow_list > li:last-child::after{
	display:none;
}

#howto .flow .flow_list.anime li{
	opacity: 0;
}
#howto .flow .flow_list.anime_on li:nth-child(1){
	opacity: 1;
    -webkit-transition: all 3s;
    -moz-transition: all 3s;
    transition: all 3s;
  animation-name: flow_list_hover1;
  animation-duration: 3s;
  animation-timing-function: ease-in;
}
@keyframes flow_list_hover1 {
 0% {
    opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
  }
  20% {
    opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
  }
  100% {
    opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
  }
}
#howto .flow .flow_list.anime_on li:nth-child(2){
	opacity: 1;
    -webkit-transition: all 3s;
    -moz-transition: all 3s;
    transition: all 3s;
  animation-name: flow_list_hover2;
  animation-duration: 3s;
  animation-timing-function: ease-in;
}
@keyframes flow_list_hover2 {
 0% {
    opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
  }
 20% {
    opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
  }	
  40% {
    opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
  }
  100% {
    opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
  }
}
#howto .flow .flow_list.anime_on li:nth-child(3){
	opacity: 1;
    -webkit-transition: all 3s;
    -moz-transition: all 3s;
    transition: all 3s;
  animation-name: flow_list_hover3;
  animation-duration: 3s;
  animation-timing-function: ease-in;
}
@keyframes flow_list_hover3 {
 0% {
    opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
  }
 40% {
    opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
  }	
  60% {
    opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
  }
  100% {
    opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
  }
}

#howto .flow .flow_list .btn_flow{
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom:50px;
	max-width: 265px;
	width: 80%;
}
#howto .map .map_bg{
	margin-top: 100px;
	padding-bottom: 130px;
	padding-top: 20px;
	position: relative;
	background: #b1dab8;
}
#howto .map .map_bg::before{
	position: absolute;
	display: block;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 182px;
	background:url("../images/map_top.png") no-repeat center bottom;
	background-size:100% 100%;
	z-index: 0;
}
#howto .map .map_icon{
	margin: 0 auto 60px auto;
	max-width: 346px;
	width: 40%;
	position: relative;
	z-index: 2;
}
#howto .map .map_bg .fade{
	position: relative;
	z-index: 4;}
#howto .map .map_btn{
	position: relative;
	z-index: 4;
	max-width: 400px;
	width: 40%;
	margin:25px auto 0 auto;
}
#howto .map .abs_illust li{
	position:absolute;
}
#howto .map .abs_illust li.abs_kumo1{
	left: 0;
	top: -80px;
	max-width: 395px;
	width: 26%;
}
#howto .map .abs_illust li.abs_kumo2{
	right: 0;
	top: -80px;
	max-width: 395px;
	width: 26%;
}
#howto .map .abs_illust li.abs_bottom1{
	left: 0;
	bottom:0;
	max-width: 395px;
	width: 27%;
}
#howto .map .abs_illust li.abs_bottom2{
	right: 0;
	bottom:0;
	max-width: 395px;
	width: 27%;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1200px) {
#howto .flow .flow_list .btn_flow{
	bottom:2em;
}}

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

#howto .map .map_bg{
	margin-top: 80px;
	padding-bottom: 100px;
	padding-top: 10px;
}
#howto .map .map_bg::before{
	height: 50px;
}
#howto .map .fade{
	position:relative;
	z-index: 50;
}
#howto .map .abs_illust li.abs_bottom3{
	bottom:-30px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#howto .howto_bg{
}
#howto .howto_bg::before{
	top:auto;
	bottom:35vw;
	background:url("../images/how_bg.jpg") no-repeat right bottom;
	background-size: 100% auto;
	width: 80%;
}
#howto .flow{
	margin-bottom:8%;
}
#howto .flow .flow_list > li{
	max-width: 350px;
	margin: 0 auto 3% auto;
	float:none;
	width: 100%;
	position: relative;
}
#howto .flow .flow_list > li::after{
	right: 0;
	left: 0;
	margin: 0 auto;
	z-index: 2;
	top:calc(100% + 8px);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 13%;
	background:url("../images/howto_arrow2.png") no-repeat center center;
	background-size:100% auto;
}
#howto .flow .flow_list > li:last-child{
	margin-right: auto;
}
#howto .flow .flow_list > li:last-child::after{
	display:none;
}
#howto .flow .flow_list .btn_flow{
	bottom:3em;
}	
#howto .map .fade{
	position:relative;
	z-index: 50;
}
#howto .map .map_bg{
	padding-bottom: 20%;
}
#howto .map .map_bg::before{
	height: 7vw;
}
#howto .map .map_icon{
	width: 60%;
	margin: 0 auto 5% auto;
}
#howto .map .map_btn{
	width: 70%;
	margin:25px auto 0 auto;
}
#howto .map .map_bg{
	margin-top: 7vw;
	padding-bottom: 15%;
	padding-top: 0;
}
#howto .map .map_bg::before{
	height: 80px;
}
#howto .map .map_icon{
	margin: 0 auto 5% auto;
	width: 45%;
}
#howto .map .map_btn{
	width: 70%;
	margin:3% auto 0 auto;
}
#howto .map .abs_illust li.abs_kumo1{
	top: -80px;
	width: 26%;
}
#howto .map .abs_illust li.abs_kumo2{
	top: -80px;
	width: 26%;
}
#howto .map .abs_illust li.abs_bottom1{
	width: 30%;
}
#howto .map .abs_illust li.abs_bottom2{
	width: 30%;
}
}





/* 練習問題
---------------------------------------------------------*/
#trial .trial_bg{
	background: #02537a;
	position: relative;
	padding-top: 120px;
	padding-bottom: 120px;
}
#trial .tri_list > li dt span{
	display: block;
	position: relative;
}
#trial .tri_list > li .tri_a_box dt.open_btn span::before{
	display: block;
	position: absolute;
	content: "";
	width: 30px;
	height: 30px;
	background-image:url("../images/arrow1_down.png");
	background-size:100% auto;
	background-position: center center;
	background-repeat: no-repeat;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
}
#trial .tri_list > li .tri_a_box dt.open_btn.active span::before{
	background-image:url("../images/arrow1.png");
}
#trial .tri_list > li dd{
	margin-top: 40px;
}

#trial .tri_list > li .tri_a_box dt.open_btn .txt_open {
	display: block;	/* 初期表示 */
}
#trial .tri_list > li .tri_a_box dt.open_btn .txt_close {
	display: none;	/* 初期表示 */
}
#trial .tri_list > li .tri_a_box dt.open_btn.active .txt_open {
	display: none;	/* 質問表示時 */
}
#trial .tri_list > li .tri_a_box dt.open_btn.active .txt_close {
	display: block;	/* 質問表示時 */
}
#trial .tri_list > li .tri_a_box dd {
	display: none;	/* 初期表示 */
}
#trial .tri_list > li .tri_a_box{
	padding:30px;
}
#trial .tri_list > li .tri_a_box{
	background:#ed7959;
	margin-top: 10px;
}
#trial .tri_list > li .tri_a_box span{
	display:block;
	text-align: center;
	font-size:150%;
	font-weight: bold;
	color:#ffffff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#trial .trial_bg{
	padding-top: 80px;
	padding-bottom: 80px;
}
#trial .tri_list > li .tri_a_box{
	padding:20px;
}
#trial .tri_list > li dd{
	margin-top: 20px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#trial .trial_bg{
	padding-top: 10%;
	padding-bottom: 13%;
}
#trial .tri_list > li .tri_a_box dt.open_btn span::before{
	width: 6vw;
}
#trial .tri_list > li dd{
	margin-top: 3%;
}
#trial .tri_list > li .tri_a_box{
	padding:3%;
}
#trial .tri_list > li .tri_a_box{
	margin-top: 10px;
}
#trial .tri_list > li .tri_a_box span{
	font-size:130%;
}	
}





/* 謎解きヒント
---------------------------------------------------------*/
#hint .hint_bg{
	padding-bottom:280px;
}
#hint .hint_txt{
	font-size:110%;
	letter-spacing: 0.2em;
	font-weight: bold;
	margin-bottom:3em;
	text-align: center;
}
#hint .hint_list > li{
	margin-bottom:80px;
}
#hint .hint_list > li:last-child{
	margin-bottom:0;
}
#hint .hint_list > li .index{
	margin-bottom:40px;
	padding: 20px;
	border-radius: 5px;
}
#hint .hint_list > li:nth-child(1) .index{background: #1aa9ce;}
#hint .hint_list > li:nth-child(2) .index{background: #c21826;}
#hint .hint_list > li:nth-child(3) .index{background: #f6ab00;}
#hint .hint_list > li:nth-child(4) .index{background: #d04b49;}
#hint .hint_list > li:nth-child(5) .index{background: #499e36;}
#hint .hint_list > li:nth-child(6) .index{background: #7e318e;}
#hint .hint_list > li:nth-child(7) .index{background: #00acd2;}
#hint .hint_list > li:nth-child(8) .index{background: #2a6a37;}
#hint .hint_list > li:nth-child(9) .index{background: #22ac38;}
#hint .hint_list > li:nth-child(10) .index{background: #e73045;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#hint .hint_bg{
	padding-bottom:220px;
}
#hint .hint_list > li{
	margin-bottom:50px;
}
#hint .hint_list > li .index{
	margin-bottom:30px;
	padding: 15px;
	border-radius: 5px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#hint .hint_bg{
	padding-bottom:45vw;
}
#hint .hint_txt{
	font-size:100%;
	margin-bottom:1.5em;
	letter-spacing: 0.1em;}
	
#hint .hint_list > li{
	margin-bottom:10%;
}
#hint .hint_list > li .index{
	margin-bottom:5%;
	padding: 3%;
}
}






/* 最終解答
---------------------------------------------------------*/
#end .end_bg{
	background:#85c6c5;
	padding-top:250px;
	padding-bottom: 80px;
	position: relative;
}
#end .nazoform .submit button{
	background: #e62f45;
}
#end .end_bg::before{
	position: absolute;
	display: block;
	content: "";
	left: 0;
	bottom:calc(100% - 1px);
	width: 100%;
	height: 85px;
	background:url("../images/end_oka.png") no-repeat center top;
	background-size:100% 100%;
	z-index: 2;
}

#end .end_title{
	position:absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: 555px;
	width: 40%;
	top: -170px;
	z-index: 3;
}

#end .abs_illust li{
	position:absolute;
}
#end .abs_illust li.abs_kumo{
	left: 0;
	top: 100px;
	max-width: 270px;
	width: 20%;
	z-index: 3;
}
#end .abs_illust li.abs_kusa2{
	left: 0;
	bottom:calc(100% + 5px);
	max-width: 289px;
	width: 20%;
}
#end .abs_illust li.abs_kusa3{
	right: 0;
	bottom:calc(100% + 5px);
	max-width: 289px;
	width: 20%;
}
#end .abs_illust li.abs_hito{
	left: 15%;
	bottom:calc(100% + 5px);
	max-width: 190px;
	width: 15%;
	z-index: 3;
}
#end .abs_illust li.abs_syujinkou{
	right: 50px;
	bottom:-130px;
	max-width: 248px;
	width: 17%;
	z-index: 3;
}
#end .abs_illust li.abs_syujinkou.anime_on{
    -webkit-transition: all 1.5s;
    -moz-transition: all 1.5s;
    transition: all 1.5s;
  animation-name: syujinkou_fade;
  animation-duration: 1.5s;
  animation-timing-function: ease-in;
}
@keyframes syujinkou_fade {
 0% {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
  }
  100% {
    opacity: 1;
	-webkit-transform: translateX(0);
	transform: translateX(0);
  }
}

#end .last1,#end .last2{
	margin:0 auto;
}
#end .last_btn{
	padding:20px 0 50px 0;
	background: #ec7e93;
}
#end .last_btn li{
	margin:0 auto;
	width: 90%;
	max-width: 447px;
}
#end .last_btn li:nth-child(1){
	margin-bottom: 1em;
}


/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1200px) {
#end .end_bg{
	padding-top:13vw;
}
#end .abs_illust li.abs_syujinkou{
	right: 10px;
}}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#end .end_bg{
	padding-top:150px;
	padding-bottom: 30px;
}
#end .end_bg::before{
	height: 50px;
}
#end .end_title{
	width: 50%;
	top: -130px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#end .end_bg{
	padding-top:18vw;
	padding-bottom: 5%;
}
#end .end_bg::before{
	height: 7vw;
}
#end .end_title{
	width: 75%;
	top: -35vw;
	z-index: 3;
}

#end .abs_illust li.abs_kumo{
	top: -40vw;
	width: 20%;
}
#end .abs_illust li.abs_kusa2{
	bottom:calc(100% + 3px);
	width: 25%;
}
#end .abs_illust li.abs_kusa3{
	bottom:calc(100% + 3px);
	width: 25%;
}
#end .abs_illust li.abs_hito{
	left: 15%;
	bottom:calc(100% + 5px);
	max-width: 190px;
	width: 15%;
	z-index: 3;
}
#end .abs_illust li.abs_syujinkou{
	display: none;
}	
}




/* QA
---------------------------------------------------------*/
#qa .qa_bg{
	padding-top: 120px;
	padding-bottom:50px;
	position:relative;
	background: #faf6f0;
}
#qa .qa_bg .qa_syujinkou{
	position:absolute;
	max-width: 300px;
	width: 25%;
	right: 10px;
	top: -50px;
	z-index: 5;
}
#qa .qa_bg::before{
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 0;
	width: 100%;
	height: 85px;
	display: block;
	content: "";
	background: url("../images/qa_top.png") repeat-x center top;
	background-size:1500px auto;
}
#qa .qa_list > li{
	margin-bottom:3px;
	background: #f5ec96;
	padding: 25px 25px;
	color: #ed7959;
}
#qa .qa_list > li dt{
	font-size:125%;
	font-weight: bold;
	letter-spacing: 0.07em;
	cursor: pointer;
	color: #ed7959;
}
#qa .qa_list > li dt span{
	display: block;
	position: relative;
	padding-right: 25px;
}
#qa .qa_list > li dt.open_btn span::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;
}
#qa .qa_list > li dt.open_btn.active span::before{
	background-image:url("../images/arrow2.png");
}
#qa .qa_list > li dd{
	margin-top: 10px;
}
#qa .qa_list > li dd a{
	text-decoration: underline;
	color: #ed7959;
}
#qa .qa_list > li dd a:hover{
	text-decoration: none;
}
#qa .qa_list > li dt.open_btn .txt_open {
	display: block;	/* 初期表示 */
}
#qa .qa_list > li dt.open_btn .txt_close {
	display: none;	/* 初期表示 */
}
#qa .qa_list > li dt.open_btn.active .txt_open {
	display: none;	/* 質問表示時 */
}
#qa .qa_list > li dt.open_btn.active .txt_close {
	display: block;	/* 質問表示時 */
}
#qa .qa_list > li dd {
	display: none;	/* 初期表示 */
}

/* PC調整1
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1700px) { 
#qa .qa_bg .qa_syujinkou{
	width: 23%;
	top: -90px;
	}}

/* PC調整1
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1600px) { 
#qa .qa_bg .qa_syujinkou{
	width: 21%;
	top: -160px;
	}}
/* PC調整1
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1400px) { 
#qa .qa_bg .qa_syujinkou{
	width: 19%;
	top: -7vw;
	}}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#qa .qa_bg{
	padding-top: 80px;
	padding-bottom:20px;
	position:relative;
	background: #faf6f0;
}
#qa .qa_bg .qa_syujinkou{
	display: none;
}
#qa .qa_bg::before{
	width: 120%;
	height: 85px;
	background-size:100% auto;
}
#qa .qa_list > li{
	padding: 20px 25px;
}
#qa .qa_list > li dt{
	font-size:115%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#qa .qa_bg{
	padding-top: 15%;
	padding-bottom:7%;
}
#qa .qa_bg .qa_syujinkou{
	display: none;
}
#qa .qa_bg::before{
	width: 160%;
	background: url("../images/qa_top.png") repeat-x center top;
	background-size:100% auto;
}
	
#qa .qa_list > li{
	padding: 3% 4%;
}
#qa .qa_list > li dt{
	font-size:4.2vw;
	line-height: 1.5em;
}
#qa .qa_list > li dt span{
	padding-right: 7vw;
}
#qa .qa_list > li dt.open_btn span::before{
	width: 6vw;
	height: 6vw;
}
}








/* caution
---------------------------------------------------------*/
#caution .caution_bg{
	position:relative;
	background: #faf6f0;
	padding-bottom: 145px;
}
#caution .caution_box{
	padding: 40px;
	border: 2px solid #02537a;
	color:#02537a;
	font-weight: bold;
}
#caution .caution_box dt{
	font-size:110%;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-bottom: #02537a 1px solid;
	padding-bottom: 10px;
	margin-bottom: 15px;
}
#caution .caution_box .caution_list > li{
	margin-bottom:30px;
}
#caution .caution_box .caution_list > li:last-child{
	margin-bottom:0;
}
#caution .caution_box .caution_list > li dd li{
	text-indent: -1em;
	padding-left: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#caution .caution_bg{
	padding-bottom: 70px;
}
#caution .caution_box{
	padding: 30px;
}
#caution .caution_box .caution_list > li{
	margin-bottom:30px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#caution .caution_bg{
	padding-bottom: 13%;
}
#caution .caution_box{
	padding: 5%;
}
#caution .caution_box dt{
	font-size:4vw;
	padding-bottom: 2%;
	margin-bottom: 3%;
}
#caution .caution_box dd{
	font-size:90%;
	line-height: 1.5em;}

#caution .caution_box .caution_list > li{
	margin-bottom:5%;
}
}





/* footer
---------------------------------------------------------*/
footer .f_bg{
	position: relative;
	background: #00848a;
}
footer .f_bg::before{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width:100%;
	height: 65px;
	background: #faf6f0;
}
footer .f_bg .f_syusai{
	position:relative;
	z-index: 2;
	text-align: center;
	padding-bottom: 120px;
}
footer .f_bg .f_syusai dt{
	max-width: 520px;
	margin: 0 auto 25px auto;
	width: 50%;
}
footer .f_bg .f_syusai dd{
	color:#ffffff;
	font-weight: bold;
	letter-spacing: 0.1em;
	font-size:120%;
}
footer .f_bg .f_syusai dd a{
	color:#ffffff;
}
footer .f_bg .f_machi li{
	position: absolute;
	max-width:400px;
	width: 30%;
	bottom:0;
}
footer .f_bg .f_machi li:nth-child(1){
	left:0;
}
footer .f_bg .f_machi li:nth-child(2){
	right:0;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1200px) {
footer .f_bg::before{
	height:8vw;
}
footer .f_bg .f_machi li{
	width: 25%;
}
footer .f_bg .f_syusai{
	padding-bottom: 7vw;
}}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .f_bg::before{
	height:5vw;
}
footer .f_bg .f_syusai{
	padding-bottom: 50px;
}
footer .f_bg .f_syusai dt{
	margin: 0 auto 15px auto;
	width: 42%;
}
footer .f_bg .f_syusai dd{
	font-size:80%;
	line-height: 1em;
}
footer .f_bg .f_machi li{
	width: 30%;
	bottom:0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .f_bg::before{
	height:3vw;
}
footer .f_bg .f_syusai{
	padding-bottom:15%;
}
footer .f_bg .f_syusai dt{
	margin: 0 auto 3% auto;
	width: 65%;
}
footer .f_bg .f_syusai dd{
	line-height: 1.5em;
	font-size:3.5vw;
}
footer .f_bg .f_machi li{
	width: 33%;
	bottom:0;
}
}





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

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

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