@charset "UTF-8";


/*----------------------reset----------------------------*/

html, body, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	color: #437287;
}
body {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	line-height: 1.5;
	letter-spacing: 1px;
	font-size: 12px;
	text-align: left;
	-webkit-text-size-adjust: 100%; /*for iphone*/
}
@media (min-width:768px) {
body {
	font-size: 14px;
}
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1;
}
li {
	list-style-type: none;
}
a {
	outline: none;
	color: #437287;
	text-decoration: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
img {
  width: 100%;
  vertical-align: middle;
}
.cf {
    zoom: 1;
}
.cf:before, .cf:after {
    content: "";
    display: table;
}
.cf:after {
    clear: both;
}

.nobreak {
	display: inline-block;
}



/* ----------------------------header ---------------------------- */

.header{
	width: 100%;
	height: 55px;
	display: -webkit-box;
	display:-webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
}
.header_logo{
	width: 117px;
	padding: 17px 10px;
}
.header_btn{
	width: 55px;
	height: 55px;
	position: fixed;
	top: 0;
	background: rgba(255,255,255,0.7);
}
.header_btn a{
	width: 55px;
	height: 55px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.header_btn_register{
	right: 55px;
}
.header_btn_register a{
	background: url( "../images/btn_register_header.png" ) center center no-repeat;
	background-size: 47px auto;
}
.header_btn_menu{
	right: 0;
	z-index: 101;
}
.header_btn_menu a{
	background: url( "../images/btn_menu_header.png" ) center center no-repeat;
	background-size: 36px auto;
}
.header_btn_menu.open a{
	background: url( "../images/btn_close_header.png") center center no-repeat;
	background-size: 27px auto;
}

/* ----------------------------gnav ---------------------------- */

.gnav{
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background: #fff;
	display: none;
	overflow-y: scroll;
}
.gnav_inner{
	width: 100%;
	height: 414px;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 101;
	margin: auto 0;
	padding: 30px 0;
}
@media (max-height:474px) {
.gnav_inner{
	position: relative;
	top: auto;
	bottom: auto;
}
}

.gnav_inner ul{
	text-align: center;
	margin-bottom: 40px;
}
.gnav_inner li{
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	margin-top: 30px;
}
.gnav_inner li:first-child{
	margin-top: 0;
}

.gnav_inner ul img{
	display: block;
	margin: 0 auto 12px;
}
.gnav01 img{
	width: 36px;
}
.gnav02 img{
	width: 43px;
}
.gnav03 img{
	width: 35px;
}
.gnav04 img{
	width: 46px;
}
.btn_register{
	width: 210px;/*android*/
	width: 65.625vw;
	margin: 0 auto;/*android*/
}
.btn_register a{
	border-radius: 40px;
    display: block;
	padding: 14px 0;
    background: #f87caa;
    box-shadow: 0px -2px 0 1px rgba(240, 101, 153, 1) inset;
	text-align: center;
	line-height: 1;
	position: relative;
}
.btn_register a:after{
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 19px;
	margin: auto 0;
	width: 7px;
	height: 11.5px;
	background: url( "../images/arrow_03.png" ) center center no-repeat;
	background-size: contain;
}

.btn_register a img{
	width: 150px;/*android*/
	width: 40.625vw;
	max-width: 300px;
	padding-right: 3px;
}


/* ----------------------------section01 ---------------------------- */

.section01 {
	position: relative;
	z-index: 1;
	padding: 0 0 55px;/*android*/
	padding: 0 0 17vw;
	background: url( "../images/bg_content_sec01.png" ) center center repeat;
	background-size: 24px 24px;
}
.section01 h1{
	width: 100%;
	background:url( "../images/bg_ttl_sec01.png" ) center center repeat;
	background-size: 15px 15px;
	padding: 55px 0 10px;
}
.section01 h1 img{
	width: 100%;
	max-width: 768px;
	display: block;
	margin: 0 auto;
}
.section01 h1 + *{
	width: 97%;
	margin: -35px auto 0;/*android*/
	margin: -11vw auto 0;
	position: relative;
	z-index: 2;
}
.nocampaign{
	background: #fff;
	box-shadow: 0 2px 10px rgba(210,182,216,0.4);
	padding: 28px 0;
	text-align: center;
}
.nocampaign img{
	width: 232px;/*android*/
	width: 72.5vw;
}
.section01_list_each{
	width: 49.225%;
	background: #fff;
	box-shadow: 0 2px 10px rgba(210,182,216,0.4);
}
.section01_list_each:nth-child(odd){
	clear: both;
	float: left;
}
.section01_list_each:nth-child(even){
	float: right;
}
.section01_list_each:nth-child(n+3){
	margin-top: 5px; /*android*/
	margin-top: 1.5vw;
}
.section01_list_each a{
	display: block;
	height: 100%;
}
.section01_list_each p{
	padding: 15px 10px;
	font-weight: bold;
	min-height: 41px; /*android*/
}
.section01_list_each p span{
	font-size: 10px;
	font-weight: normal;
	letter-spacing: 0.5px;
	padding-bottom: 5px;
	display: inline-block;
}
.section01_register{
	width: 90.625%;
	margin: 20px auto 0;
}
.section01_register > p{
	width: 64%;
	max-width: 450px;
	margin: 0 auto;
}
.section01_register_btn{
	margin: 20px 0 0;
	border-radius: 70px;
	box-shadow: 0 2px 10px rgba(210,182,216,0.4);
}
.section01_register_btn a{
	border-radius: 70px;
    display: block;
	padding: 13px 26px;
    background: #f87caa;
    box-shadow: 0px -3px 0 1px rgba(240, 101, 153, 1) inset;
	border: 3px solid #fff;
	text-align: center;
}
.section01_register_btn a img{
	width: 94%;
	max-width: 560px;
}
.section_close_btn{
	width: 135px;
	margin: 55px auto 0;/*android*/
	margin: 17vw auto 0;
	display: none;
}
.section_close_btn a{
	display: block;
	text-align: center;
	padding: 13px 0;
	border: 1px solid #7c9dab;
	line-height: 1;
	border-radius: 20px;
	letter-spacing: 0.5px;
}



/* ----------------------------section02 ---------------------------- */

.section02{
	position: relative;
	z-index: 2;
	padding-top: 55px; /*android*/
	padding-top: 17vw;
	margin-top: -55px; /*android*/
	margin-top: -17vw;
}

.section02 h1{
	width: 100%;
	background: url( "../images/bg_ttl_sec02.png" ) center center repeat;
	background-size: 15px 15px;
	border-top: 5px solid #fff;
	border-bottom: 5px solid #fff;
}
.section02 h1 img{
	width: 100%;
	max-width: 768px;
	display: block;
	margin: -20px auto 0;/*android*/
	margin: -6.4vw auto 0;
}
.section02_body{
	padding: 40px 0 55px; /*android*/
	padding: 12.5vw 0 17vw;
	background: url( "../images/bg_content_sec02.png" ) center center repeat;
	background-size: 24px 24px;
}
.section02_list{
	width: 90.625%;
	margin: 0 auto;
}
.section02_list_each{
	padding: 20px 0;/*android*/
	padding: 6.25vw 0;
	background: url( "../images/bg_txt_sec02.png" ) center top repeat-x;
	background-size: 5px auto;
}
.section02_list_each:first-child{
	padding-top: 0;
	background: none;
}
.section02_list_each:last-child{
	padding-bottom: 0;
}
.section02_list_each h2{
	margin-bottom: 15px;/*android*/
	margin-bottom: 4.6875vw;
}
.section02_list_each h2 img{
	height: 16px;/*android*/
	height: 5vw;
	width: auto;
}

.section02_list_img{
	width: 122px;
	float: left;
}
.section02_list_txt{
	width: 100%;
	padding-left: 142px;
	box-sizing: border-box;
}
.section02_list_txt_btn {
	clear: both;
	width: 100%;
}
.section02_list_txt_btn li{
	margin-top: 15px;/*android*/
	margin-top: 4.6875vw;
	border-radius: 54px;
	box-shadow: 0 2px 6px rgba(182,189,216,0.4);
	position: relative;
	width: 48%;
	float: right;
}
.section02_list_txt_btn li:first-child {
	margin-left: 4%;	
}

.section02_list_txt_btn a{
	border-radius: 25px;
    display: block;
	width: 100%;
	padding: 12px 0;
	line-height: 1;
    background: #6bb8ef;
    box-shadow: 0px -2px 0 1px rgba(90, 171, 229, 1) inset;
	border: 2px solid #fff;
	text-align: center;
	position: relative;
	box-sizing: border-box;
}
.section02_list_txt_btn .entry a{
    background: #fff34c;
    box-shadow: 0px -2px 0 1px rgba(241, 229, 62, 1) inset;
}
.section02_list_txt_btn a:after{
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 14px;
	margin: auto 0;
	width: 6px;
	height: 10px;
	background: url( "../images/arrow_02_r.png" ) center center no-repeat;
	background-size: contain;
}
.section02_list_txt_btn .entry a:after{
	background: url( "../images/arrow_01.png" ) center center no-repeat;
	background-size: contain;
}

.section02_list_txt_btn a img{
	height: 15px;
	width: auto;
	display: inline-block;
	padding-right: 10px;
}



/* ----------------------------section03 ---------------------------- */

.section03{
	position: relative;
	z-index: 3;
	padding-top: 55px; /*android*/
	padding-top: 17vw;
	margin-top: -55px; /*android*/
	margin-top: -17vw;
}

.section03 h1{
	width: 100%;
	background: url( "../images/bg_ttl_sec03.png" ) center center repeat;
	background-size: 15px 15px;
	border-top: 5px solid #fff;
	border-bottom: 5px solid #fff;
}
.section03 h1 img{
	width: 100%;
	max-width: 768px;
	display: block;
	margin: -20px auto 0; /*android*/
	margin: -7.47vw auto 0;
}
.section03_body{
	padding: 40px 0 55px; /*android*/
	padding: 12.5vw 0 17vw;
	background: url( "../images/bg_content_sec03.png" ) center center repeat;
	background-size: 24px 24px;
}
.section03_list{
	width: 90.625%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}
.section03_list:before{
	position: absolute;
	content: "";
	top: 50vw;
	left: 0;
	width: 14.25vw;
	height: 10.3vw;
	background: url( "../images/star_01.png" ) center center no-repeat;
	background-size: contain;
}
.section03_list:after{
	position: absolute;
	content: "";
	bottom: 50vw;
	right: 0;
	width: 12.8vw;
	height: 7.5vw;
	background: url( "../images/star_02.png" ) center center no-repeat;
	background-size: contain;
}
.section03_list_each{
	width: 48.276%;
}
.section03_list_each:nth-child(odd){
	float: left;
	clear: both;
}
.section03_list_each:nth-child(even){
	float: right;
}


.section03_list_each:nth-child(n+3){
	margin-top: 15px;/*android*/
	margin-top: 4.6875vw;
}


.section03_list_each p{
	text-align: center;
	font-size: 10px;
	margin-top: 6px;
}

/* ----------------------------section04 ---------------------------- */

.section04{
	position: relative;
	z-index: 4;
	padding-top: 55px; /*android*/
	padding-top: 17vw;
	margin-top: -55px; /*android*/
	margin-top: -17vw;
}

.section04 h1{
	width: 100%;
	background: url( "../images/bg_ttl_sec04.png" ) center center repeat;
	background-size: 15px 15px;
	border-top: 5px solid #fff;
	border-bottom: 5px solid #fff;
}
.section04 h1 img{
	width: 100%;
	max-width: 768px;
	display: block;
	margin: -20px auto 0; /*android*/
	margin: -6.67vw auto 0;
}
.section04_body{
	padding: 40px 0 55px; /*android*/
	padding: 12.5vw 0 17vw;
	background: url( "../images/bg_content_sec04.png" ) center center repeat;
	background-size: 24px 24px;
	overflow: hidden;
}
.section04_list{
	width: 85.6%;
	margin: 0 auto;
}
.section04_list li.slide{
	padding: 5px;
	box-sizing: border-box;
	background: url( "../images/bg_txt_sec04.png" ) center center repeat;
	background-size: 6px 6px;
	border-radius: 10px;
	position: relative;
	display: -webkit-box; 
	display: -webkit-flex;
	display: flex;
}
.section04_list li.slide:after{
	position: absolute;
	content: "";
	margin: 0 auto;
	right: 0;
	left: 0;
	bottom: -40px; /*android*/
	bottom: -13vw;
}
.section04_list li.slide.male:after{
	width: 50px; /*android*/
	width: 16vw;
	height: 50px; /*android*/
	height: 16vw;
	background: url( "../images/ico_male.png" ) center center no-repeat;
	background-size: contain;
}
.section04_list li.slide.female:after{
	width: 35px; /*android*/
	width: 11vw;
	height: 50px; /*android*/
	height: 16vw;
	background: url( "../images/ico_female.png" ) center center no-repeat;
	background-size: contain;
}


.section04_list li.slide p{
	width: 100%; /*iPad*/
	padding: 15px;
	background: #fff;
	border-radius: 5px;
	font-size: 14px;
	box-sizing: border-box;
}
.section04_list li p span{
	font-size: 12px;
}
.section04 .section_close_btn{
	margin: 80px auto 0; /*android*/
	margin: 24.5vw auto 0;
}


/* ----------------------------section05 ---------------------------- */

.gnav li:last-of-type {
	display: none;
	position: absolute;
	bottom: -25px;
	left: 0;
	width: 100%;
}
.section05{
	position: relative;
	z-index: 5;
	margin: 32px auto 35px auto;
	padding: 30px 0 20px 0;
	background: #ffffff;
	display: none;
}
.section05 h1{
	margin: 0 0 20px 0;
	text-align: center;
	color: #62b1e6;
}
.section05_body{
	overflow: hidden;
}
.section05_list{
}
.section05_list li{
	position: relative;
	margin: 0 0 5px 0;
	padding: 5px 10px 5px 15px;
}
.section05_list li .term{
	display: block;
	font-size: 10px;
}
.section05_list li .name{
	display: block;
	text-decoration: underline;
}
.section05_list li .name .external{
	padding: 0 16px 0 0;
	background: url( "../images/ico_external.png") right center / 12px 12px no-repeat;
	color: #62b1e6;
}


/* ----------------------------footer ---------------------------- */

.footer_inner{
	padding: 30px 0; /*android*/
	padding: 9.375vw 0;
	background: url( "../images/bg_footer.png") center top repeat;
	background-size: 1px 4px;
}
.btn_top a{
	display: block;
	height: 40px;
	background: url( "../images/ico_top.png") center center no-repeat #bad4f3;
	background-size: 21px 15px;
}
.footer_btn_register{
	margin: 0 auto 30px; /*android*/
    margin: 0 auto 9.375vw;
	width: 88.75%;
	border-radius: 70px;
}
.footer_btn_register a{
	border-radius: 70px;
    display: block;
	padding: 13px 26px;
    background: #f87caa;
    box-shadow: 0px -3px 0 1px rgba(240, 101, 153, 1) inset;
	text-align: center;
}
.footer_btn_register a img{
	width: 94%;
	max-width: 560px;
}
.footer p{
	width: 90.625%;
	margin: 0 auto;
	font-size: 10px;
	text-align: center;
}


/* ----------------------------parameter ---------------------------- */


.member .header_btn,
.member .section01_register,
.member .entry,
.member .section02_list_each_forecast .section02_list_txt_btn,
.member .footer_btn_register{
	display: none;
}
.member .section01_list li a{
	pointer-events: none;
}
.member .section_close_btn{
	display: block;
}


