@charset "utf-8";
/* CSS Document */

/* base
-----------------------------------------------*/
/* ========== universal reset ========== */
/* ========== base style ========== */

/* common parts
-----------------------------------------------*/
/* ========== text ========== */
/* ========== float ========== */
/* ========== display ========== */
/* ========== position ========== */
/* ========== overflow ========== */
/* ========== margin ========== */
/* ========== device displaying ========== */
/* ========== animation for ScrollTrigger.min.js  ========== */

/* other style
-----------------------------------------------*/



/* base
-----------------------------------------------*/
/* ========== universal reset ========== */
/**
* html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
* Richard Clark (http://richclarkdesign.com)
* http://cssreset.com
*/
html, body, div, 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,
button, input, select, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
body { line-height:1; }
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
nav ul { list-style:none; }
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}


/* ========== base style ========== */
* { box-sizing: border-box; }

/* html { height: 100%; } */

body {
/* height: 100%; */
/* min-height: 100%; */
background: #fff8eb;
background-size: 100% auto;
color:#000;
font-size: 19px;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 500;
font-style: normal;
font-feature-settings: "palt" 1;
letter-spacing: 0.05em;
}
@media (max-width:374px) {
	body {
	font-size: 5.06vw;
	}
}
@media (min-width:768px) {
	body {
	font-size: 25px;
	}
}

a:link,
a:visited {
color: #000;
text-decoration: none;
}
@media (min-width:920px) {
	a:hover,
	a:hover img,
	button:hover img {
	opacity: 0.80;
	filter: alpha(opacity=80);
	}
}

div,p,h1,h2,h3,h4,h5,h6,li,dt,dd,th,td {
line-height: 100%;
font-weight: normal;
font-feature-settings: "palt";
}

div, article { box-sizing: border-box; }

ol, ul { list-style:none; }

img {
width: 100%;
display: block;
margin-left: auto;
margin-right: auto;
}

strong { font-weight:bold; }

table {
width: 100%;
border: 1px solid #e2e2e2;
border-collapse:collapse;
border-spacing:0;
}
th, td {
text-align: left;
border: 1px solid #000;
padding: 10px;
background: #fff;
line-height: 140%;
}
th {
white-space: nowrap;
}

input, select { vertical-align:middle; }
textarea, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, input[type="number"], select {
-webkit-appearance: none;
display: inline-block;
width: 100%;
padding: 13px 10px;
background-color: #fff;
border: 1px solid #ccc;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-size: 100%;
border-radius: 7px;
}
input::placeholder,
textarea::placeholder,
select::placeholder {
color: #b5b5b5;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
color: #b5b5b5;
}
input::-ms-input-placeholder,
textarea::-ms-input-placeholder,
select::-ms-input-placeholder {
color: #b5b5b5;
}

textarea{ resize: vertical; height: 9em; }
label{ cursor: pointer; position: relative; }
input[type="radio" i],
input[type="checkbox" i] { margin: 0 5px 0 0; }
button { cursor: pointer; }

select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
text-indent:.01px; /* Firefox用 */
text-overflow:""; /* Firefox用 */
background-image: url(../images/common/select_arrow.png);
background-repeat: no-repeat;
background-size: 11px 6px;
background-position: calc(100% - 6px) center;
cursor:pointer;
color: #000;
}
select::-ms-expand {
display: none;
}
/*　IE11,IE10　*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.formSample select:not(:target) {
	padding-right:0;
	background-image:none;
	}
}

button {
display: block;
width: 100%;
margin: 0;
padding: 0;
text-align: left;
line-height: 100%;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-size: 100%;
font-weight: 400;
outline: 0;
border: none;
cursor: pointer;
}
input[type="submit"]{
-webkit-appearance: none;
}

hr {
border-bottom: none;
border-color: #000;
padding: 0;
margin: 0;
}


/* ========== text ========== */
/* size */
.fs9 { font-size:9px !important; }
.fs10 { font-size:10px !important; }
.fs11 { font-size:11px !important; }
.fs12 { font-size:12px !important; }
.fs13 { font-size:13px !important; }
.fs14 { font-size:14px !important; }
.fs15 { font-size:15px !important; }
.fs16 { font-size:16px !important; }
.fs17 { font-size:17px !important; }
.fs18 { font-size:18px !important; }
.fs19 { font-size:19px !important; }
.fs20 { font-size:20px !important; }
.fs22 { font-size:22px !important; }
.fs24 { font-size:24px !important; }
.fs25 { font-size:25px !important; }
.fs26 { font-size:26px !important; }
.fs27 { font-size:27px !important; }
.fs28 { font-size:28px !important; }
.fs29 { font-size:29px !important; }
.fs30 { font-size:30px !important; }
.fs32 { font-size:32px !important; }
.fs34 { font-size:34px !important; }
.fs36 { font-size:36px !important; }

/* align */
.al_left { text-align: left; }
.al_center { text-align: center; }
.al_right { text-align: right; }

/* color */
.fc_base, .fc_base:link, .fc_base:visited { color: #000 !important; }
.fc_red, .fc_red:link, .fc_red:visited { color: #d83131 !important; }
.fc_navy, .fc_navy:link, .fc_navy:visited { color: #044476 !important; }

/* weight */
.fw400 { font-weight: 400 !important; }
.fw500 { font-weight: 500 !important; }
.fw700 { font-weight: 700 !important; }

/* decoration */
.deco_line { text-decoration: underline !important; }
.deco_nodeco { text-decoration: none !important; }

/* letter-spacing */
.ltr_space005 { letter-spacing: 0.05em }
.ltr_space007 { letter-spacing: 0.07em }
.ltr_space010 { letter-spacing: 0.1em }
.ltr_space015 { letter-spacing: 0.15em }

/* line-height */
.lh120 { line-height: 120%; }
.lh130 { line-height: 130%; }
.lh140 { line-height: 140%; }
.lh150 { line-height: 150%; }
.lh160 { line-height: 160%; }
.lh180 { line-height: 180%; }

/* limited line */
.lmtdline01 {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.lmtdline02 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.lmtdline03 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}

/* ========== float ========== */
/* clearfix */
.clearfix:before,
.clearfix:after {
display: table;
content: " ";
}
.clearfix:after { clear: both; }

/* float */
.float_left { float: left; }
.float_right { float: right; }


/* ========== display ========== */
.disp_block { display: block !important;}
.disp_iblock { display: inline-block !important;}
.disp_inline { display: inline !important;}
.disp_none { display: none;}
.disp_flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }


/* ========== position ========== */
.posi_relative { position: relative !important; }
.posi_absolute { position: absolute !important; }
.posi_fixed { position: fixed !important; }


/* ========== overflow ========== */
.overflow_hidden { overflow: hidden !important; }


/* ========== margin ========== */
/* margin-auto */
.mx_auto { margin-left: auto; margin-right: auto; }

/* margin-top */
.mt0 { margin-top: 0 !important; }
.mt3 { margin-top: 3px !important; }
.mt5 { margin-top: 5px !important; }
.mt7 { margin-top: 7px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

/* margin-bottom */
.mb0 { margin-bottom: 0 !important; }
.mb3 { margin-bottom: 3px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb7 { margin-bottom: 7px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }

/* margin-left */
.ml0 { margin-left: 0px !important; }
.ml3 { margin-left: 3px !important; }
.ml5 { margin-left: 5px !important; }
.ml7 { margin-left: 7px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }

/* margin-right */
.mr0 { margin-right: 0 !important; }
.mr3 { margin-right: 3px !important; }
.mr5 { margin-right: 5px !important; }
.mr7 { margin-right: 7px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr_10 {margin-right: -10px !important; }

/* padding-top */
.pt0 { padding-top: 0 !important; }
.pt3 { padding-top: 3px !important; }
.pt5 { padding-top: 5px !important; }
.pt7 { padding-top: 7px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }

/* padding-bottom*/
.pb0 { padding-bottom: 0 !important; }
.pb3 { padding-bottom: 3px !important; }
.pb5 { padding-bottom: 5px !important; }
.pb7 { padding-bottom: 7px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }

/* padding-left */
.pl0 { padding-left: 0px !important; }
.pl3 { padding-left: 3px !important; }
.pl5 { padding-left: 5px !important; }
.pl7 { padding-left: 7px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }

/* padding-right */
.pr0 { padding-right: 0 !important; }
.pr3 { padding-right: 3px !important; }
.pr5 { padding-right: 5px !important; }
.pr7 { padding-right: 7px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }


/* ========== device displaying ========== */
.sp_none{ display: none; }
.sp_only{ display: block; }
.pc_none{ display: block; }
.pc_only{ display: none; }
@media (min-width:768px){
	.sp_none{display: block;}
	.sp_only{ display: none; }
}
@media (min-width:900px){
	.pc_none { display: none; }
	.pc_only { display: block;}
}



/* ========== animation for ScrollTrigger.min.js  ========== */
.invisible {
	transition: opacity 1s ease;
	opacity: 0.0;
}

.visible {
	transition: opacity 1s ease;
	opacity: 1.0;
}


/* other style
-----------------------------------------------*/
header {
background: #ffb120;
width: 100%;
height: 60px;
}
header h1 {
color: #fff;
font-weight: 700;
font-size: 20px;
text-align: center;
line-height: 60px;
}
header h1 span {
display: inline-block;
margin-right: 7px;
padding: 0 8px;
background: #ff0000;
font-size: 15.5px;
line-height: 25px;
border-radius: 5px;
}
.intro {
padding: 22px 5.7vw 0;
font-size: 14px;
color: #0e7ab2;
line-height: 140%;
letter-spacing: 0.02em;
}
.intro span {
color: #ff0101;
}
@media (max-width:374px) {
	header h1 {
	font-size: 5.87vw;
	}
	header h1 span {
	font-size: 4.8vw;
	}
	.intro {
	font-size: 3.73vw;
	}
}

/* layout */
.q_box {
padding: 35px 4.6vw 0;
}
.q_box .woman {
width: 20.33vw;
}
.step6 .q_box .woman {
width: 19.2vw;
}
.q_box .balloon {
display: flex;
align-items: center;
right: 3vw;
bottom: -1.2vw;
width: 73.33vw;
height: 25.6vw;
padding-left: 11.6vw;
background: url("../images/balloon_sp.png") 0 0 / 100% auto no-repeat;
}
.step3 .q_box .balloon {
padding-left: 9.5vw;
}
.step6 .q_box .balloon {
padding-left: 8.2vw;
}
.q_number {
top: -4vw;
left: -2vw;
width: 12vw;
height: 12vw;
background: url("../images/q.png") 0 0 / cover no-repeat;
color: #fff;
font-size: 6vw;
font-weight: 700;
padding-top: 3vw;
text-align: center;
}
.q_txt {
line-height: 120%;
font-size: 90%;
}
.step3 .q_txt span {
font-size: 0.7em;
color: #ff0000;
}

@media (max-width:768px) {
.step6 .q_txt {
font-size: 13px;
}
}

.q_extra {
font-size: 16px;
transform: translateY(80px);
text-align: center;
line-height: 1.4;
}
@media (max-width:768px) {
.q_extra {
  transform: translateY(30px);
  font-size: 12px;
}
}

.count {
right: 4.6vw;
/* top: 18vw; */
top: 37vw;
font-size: 14px;
border-bottom: 3px solid #d3ff24;
}

@media (max-width:768px) {
.count {
  top: 50vw;
}
}
.done {
padding-top: 8vw;
font-size: 30px;
color: #ff0000;
text-align: center;
background: url("../images/bg_step5.png") center 15px / 300px auto no-repeat;
}
.done span {
border-bottom: 3px solid #d3ff24;
}

.chap_tit i{
  font-size: 14px;
  font-style: normal;
  background: #aaa;
  color: white;
  padding: 5px;
  margin: 0 8px 0 0;
  border-radius: 5px;
  vertical-align: middle;
}
.chap_tit i.req {
  background: red;
}

.chap_box ul {
width: 76%;
margin: 5vw auto 0;
}
.chap_box li {
margin-top: 4vw;
}
.chap_box li input[type="radio"],
.chap_box li input[type="checkbox"] {
display: none;
}
.chap_box label {
display: block;
width: 100%;
height: 13.5vw;
background: #ffd966;
line-height: 13.5vw;
text-align: center;
border-radius: 7px;
box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.4);
}
.chap_box input:checked + label {
background: #ffa200;
border: 3px solid #ff6600;
box-shadow: none;
}
.step5 dl,
.step6 dl {
width: 90%;
margin: 30px auto 0;
}
.step5 dt,
.step6 dt {
margin-bottom: 15px;
padding: 10px;
font-size: 17px;
background: #ffd966;
}
.step5 dt span,
.step6 dt span {
font-size: 13px;
}
.step6 dd input, 
.step6 dd select {
font-size: 17px;
}
.step5 .errorform,
.step6 .errorform {
margin-top: 10px;
font-size: 13px;
color: #ff0000;
}
.step5 .errorform.collect,
.step6 .errorform.collect {
color: #fff8eb;
}
.step5 .errorform.collect:before,
.step6 .errorform.collect:before {
content: "OK!";
color: #55b027;
display: inline-block;
margin: 0 0 0 5px;
font-weight: 700;
}

footer {
width: 100%;
/* margin-top: -3vw; */
/* padding: 15.33vw 0 0; */
background: url("../images/bg_sp.png") 0 top / 100% auto no-repeat;
}
.footer_inner {
margin: 20px 0 0;
padding: 20px 0;
background: #f6f6f6;
border-top: 1px solid #ccc;
}
.address {
font-size: 12px;
text-align: center;
letter-spacing: 0;
}
.copyright {
margin-top: 15px;
font-size: 10px;
text-align: center;
letter-spacing: 0;
}
@media (max-width:374px) {
	.address {
	font-size: 3.5vw;
	}
	.copyright {
	font-size: 2.67vw;
	}
}
@media (min-width:768px){
	.intro {
	width: 555px;
	margin: 70px auto 0 calc(50% - 195px);
	padding: 0;
	font-size: 22px;
	letter-spacing: 0.1em;
	}
	.q_box {
	width: 730px;
	margin: 0 auto;
	padding: 0;
	}
	.q_box .woman {
	width: 155px;
	}
	.q_box .balloon,
	.step3 .q_box .balloon,
	.step4 .q_box .balloon {
	bottom: -10px;
	right: 0;
	width: 586px;
	height: 155px;
	padding-left: 125px;
	background: url("../images/balloon_pc.png") 0 0 / 100% auto no-repeat;
	}
	.q_number {
	top: 45px;
	left: 45px;
	width: 63px;
	height: 63px;
	padding: 0;
	line-height: 63px;
	font-size: 29px;
	}
	.count {
  top: 270px;
	right: calc(50% - 340px);
	font-size: 15px;
	}
	.step3 .q_txt span {
	font-size: 0.6em;
	}
	.chap_box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	width: 700px;
	margin-top: 15px;
	}
	.chap_box li {
	width: 330px;
	margin-top: 30px;
	}
	.chap_box label {
	height: 100px;
	line-height: 100px;
	box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.4);
	border-radius: 10px;
	}
	.chap_box input:checked + label {
	border: 5px solid #ff6600;
	}
	.done {
	margin-bottom: 30px;
	padding-top: 90px;
	font-size: 52px;
	background: url("../images/bg_step5.png") center 50px / 509px auto no-repeat;
	}

	.step6 .q_box {
	width: 740px;
	}
	.step6 .q_box .woman {
	width: 147px;
	}
	.step6 .q_box .balloon {
	padding-left: 50px;
	}
	.step5.chap_box,
	.step6 dl {
	width: 750px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	}
	.step5 dt,
	.step6 dt {
	margin-bottom: 20px;
	padding: 15px;
	font-size: 22px;
	}
	.step6 dd input, .step6 dd select {
	font-size: 22px;
	padding: 20px 15px;
	}	
	.step5 dt span,
	.step5 .errorform,
	.step6 dt span,
	.step6 .errorform {
	font-size: 17px;
	}
	footer {
	padding-top: 160px;
	background: url("../images/bg_pc.png") left top / auto 100% repeat-x;
	}
	.footer_inner {
	padding: 40px 0;
	}
	.address {
	font-size: 15px;
	color: #333;
	}
	.copyright {
	margin-top: 20px;
	font-size: 11px;
	color: #333;
	}
}
@media (min-width:1200px){
	header {
	height: 80px;
	}
	header h1 {
	width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	text-align: left;
	line-height: 80px;
	font-size: 30px;
	}
	header h1 span {
	position: relative;
	top: -4px;
	font-size: 20px;
	line-height: 1em;
	padding: 5px 12px 8px;
	}
}

/* reset */
.sw-theme-default {
box-shadow: none;
-webkit-box-shadow: none;
}

/* stepnav */
.stepnav {
display: none;
}

/* btn */
.sw-btn-prev.disabled,
.sw-btn-next.disabled {
display: none;
}
.btn-group ,
.btn-toolbar {
display: block;
}
.sw-btn-group {
margin-top: 5.5vw;
margin-bottom: 5.5vw;
height: 10.67vw;
}
.sw-btn-prev,
.sw-btn-next {
width: 30vw;
background: #ff5b5b !important;
color: #fff;
border-radius: 7px !important;
text-align: center;
border: none !important;
cursor: pointer;
font-weight: bold;
box-shadow: none !important;
line-height: 10.67vw;
}
.sw-btn-prev:hover,
.sw-btn-next:hover,
.btn-info:hover {
opacity: 0.8;
}
.sw-btn-prev {
display: none;
}
.sw-btn-next {
margin: 0 auto;
font-size: 20px;
}
.sw-btn-group-extra {
margin: -7vw 0 7vw;
text-align: center;
}
.btn-info {
width: 70vw;
background: #ff5b5b;
border-radius: 7px;
text-align: center;
cursor: pointer;
font-weight: bold;
font-family: 'M PLUS Rounded 1c', sans-serif;
line-height: 20vw;
font-size: 24px;
box-shadow: 0px 6px 0px 0px rgba(175, 60, 60, 1);
color: #fff;
}
.btn-info.disabled {
background: #ccc;
box-shadow: none;
color: #999;
cursor: default;
}
.btn-info.disabled:hover {
opacity: 1;
}
@media (min-width:768px){
	.sw-btn-group {
	height: 70px;
	margin-top: 40px;
	}
	.sw-btn-next {
	width: 220px;
	height: 70px;
	line-height: 70px;
	border-radius: 10px !important;
	font-size: 30px;
	font-weight: 500;
	}
	.btn-info {
	width: 360px;
	line-height: 100px;
	font-size: 30px;
	}
	.sw-btn-group-extra {
	margin: -40px 0 110px;
	}
}

/* thanks */
.thanks {
width: 85vw;
margin: 50px auto 0;
padding: 40px 20px;
background: #fff;
box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.07);
}
.thanks p {
margin-bottom: 1em;
font-size: 16px;
line-height: 170%;
letter-spacing: 0;
}
.thanks p.al_center {
margin-bottom: 1em;
padding-bottom: 1em;
font-size: 22px;
font-weight: 700;
color:#ff0000;
border-bottom: 1px solid #ccc;
}
.thanks p:last-child {
margin-bottom: 0;
}
.thanks p span {
font-size: 14px;
}
@media (max-width:374px) {
	.thanks p {
	font-size: 4.27vw;
	}
	.thanks p.al_center {
	font-size: 5.87vw;
	}
	.thanks p span {
	font-size: 3.73vw;
	}
}
@media (min-width:768px) {
	.thanks {
	width: 650px;
	margin: 100px auto 0;
	padding: 70px 50px;
	}
	.thanks p {
	text-align: center;
	font-size: 20px;
	line-height: 180%;
	}
	.thanks p.al_center {
	font-size: 34px;
	}
	.thanks p span {
	font-size: 17px;
	}
}

