@charset 'utf8';

* {
margin:0;
padding:0;
}

html, body {
color:#111;
font-size:15px;
line-height:1.7;
font-weight:bold;
font-family:YuGothic,'Yu Gothic','Yu Gothic UI','メイリオ', Meiryo,'Meiryo UI','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Arial',sans-serif;
font-weight:500;
text-align:center;
background:#eaf4fc;
}

input[type=text],
input[type=email],
select,
textarea {
display:block;
font-size:17px;
font-family:YuGothic,'Yu Gothic','Yu Gothic UI','メイリオ', Meiryo,'Meiryo UI','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Arial',sans-serif;
font-weight:500;
padding:0 3px;
box-sizing:border-box;
border:1px solid #ccc;
border-radius:5px;
}

input[type=text]::placeholder,
textarea::placeholder {
font-size:14px;
}

input[type=text],
input[type=email],
textarea {
width:100%;
box-sizing:border-box;
}

input[type=text],
input[type=email],
select {
height:36px;
}

textarea {
height:8em;
}


a {
color:#111;
}

a:hover {
text-decoration:none;
}


img {
border:0;
vertical-align:bottom;
}


ul, ol, li {
list-style:none;
}




main {
width:600px;
margin:50px auto;
padding-bottom:50px;
background:#fff;
border-radius:10px;
}




/* f_title */
.f_title {
color:#192f60;
font-size:19px;
line-height:50px;
text-align:center;
background:#fff3b8;
margin-bottom:15px;
}



/* fv */
#fv {
color:#fff;
font-size:30px;
font-family:'Zen Kaku Gothic Antique';
font-weight:700;
padding:45px 0;
margin-bottom:50px;
background:#4682b4;
border-radius:10px 10px 0 0;
position:relative;
}

#fv::after {
content:'';
display:block;
width:380px;
height:60px;
background:url(./img/ribon.png) no-repeat;
position:absolute;
top:0;
left:50%;
transform:translate(-50%, 0);
margin-top:-25px;
}



/* f_box */
.f_box {
text-align:left;
margin:0 50px 50px;
}


.f_box table {
width:100%;
margin-bottom:25px;
}

.f_box table th,
.f_box table td {
padding-bottom:10px;
}

.f_box table tr:last-child th,
.f_box table tr:last-child td {
padding-bottom:0;
}


.f_box table th {
width:150px;
line-height:1.5;
text-align:center;
}



/* f_flow */
#f_flow dt,
#f_flow dd {
padding-left:60px;
}

#f_flow dt {
font-size:18px;
font-weight:bold;
line-height:40px;
position:relative;
}

#f_flow dt span {
display:block;
width:40px;
color:#fff;
font-size:20px;
line-height:40px;
text-align:center;
background:#4682b4;
border-radius:20px;
position:absolute;
top:0;
left:0;
}


/* prog_guide */
#prog_guide ul {
margin-top:15px;
}

#prog_guide li {
font-size:17px;
line-height:50px;
text-align:center;
}

#prog_guide li strong {
display:inline-block;
color:#0272c4;
padding:0 15px;
background:#eaf4fc;
border-radius:5px;
}

#prog_guide li strong:last-of-type {
color:#d70035;
text-decoration:underline;
background:#fff462;
}

#prog_guide li span {
display:inline-block;
margin:0 3px;
}



/* prog_get */
#prog_get strong {
display:block;
color:#d70035;
font-size:22px;
text-align:center;
margin-bottom:10px;
}


.prog_checkList li {
color:#0071bb;
font-size:18px;
font-weight:bold;
line-height:1;
position:relative;
padding-left:22px;
margin-bottom:18px;
}

.prog_checkList li::before {
content:'';
display:block;
width:15px;
height:15px;
background:url(./img/icon_check.png) no-repeat;
background-size:cover;
position:absolute;
top:50%;
left:0;
transform:translate(0, -50%);
}


#prog_detail small {
display:block;
line-height:1.5;
}



#prog_catch {
text-align:center;
}

#prog_catch strong {
display:inline-block;
color:#d70035;
font-size:27px;
font-weight:bold;
line-height:1;
padding-bottom:8px;
margin-bottom:12px;
position:relative;
}

#prog_catch strong::after {
content:'';
display:block;
width:100%;
height:8px;
background:#ffff3d;
position:absolute;
left:0;
bottom:0;
}




/* reviewBox */
.reviewBox {
margin-bottom:30px;
}

.reviewBox:last-of-type {
margin-bottom:0;
}

.reviewBox dt {
color:#fff;
line-height:30px;
text-align:center;
margin-bottom:10px;
background:#0071bb;
}

.reviewBox dd {
line-height:1.7;
padding-left:115px;
position:relative;
}

.reviewBox dd span {
display:block;
width:100px;
height:100px;
border-radius:5px;
position:absolute;
top:0;
left:0;
}

.reviewBox:nth-of-type(1) span {
background:#ead6ff;
}

.reviewBox:nth-of-type(2) span {
background:#e5ffcc;
}

.reviewBox dd span img {
width:100%;
height:auto;
border-radius:5px;
}




/* inv_state */
#select_inv {
overflow:hidden;
margin:15px 0;
}

#select_inv li {
width:48%;
float:left;
}

#select_inv li:last-child {
float:right;
}


#select_inv li label {
display:block;
color:#4682b4;
font-size:18px;
text-align:center;
padding:25px 0;
background:#fafafa;
border:1px solid #4682b4;
box-sizing:border-box;
border-radius:5px;
cursor:pointer;
}

#select_inv li label:hover {
color:#444;
background:#ccc;
}

#select_inv li label.label_checked {
color:#fff;
font-weight:bold;
background:#ea618e;
border-color:#ea618e;
}


#select_inv li input {
display:none;
}


/* f_btn */
#f_btn {
text-align:center;
}

#f_btn li {
display:inline-block;
text-align:center;
margin:0 10px 10px;
}

#f_btn li:last-child {
margin-bottom:0;
}

#f_btn input,
#f_btn button {
display:inline-block;
width:200px;
height:60px;
color:#fff;
font-size:20px;
border:none;
border-radius:10px;
cursor:pointer;
}

#f_btn input:hover,
#f_btn button:hover {
opacity:0.7;
}

#f_btn input[type=submit] {
background:#4682b4;
}

#f_btn button {
background:#333;
}


/* f_contact */
#f_contact {
text-align:center;
margin-bottom:0 !important;
}




/* affGuide */
#affGuide {
padding:25px 15px 15px;
background:#fafafa;
border:1px solid #ccc;
}

#affGuide dl {
margin-bottom:15px;
}

#affGuide dt {
color:#4682b4;
font-size:18px;
font-weight:bold;
line-height:1;
text-align:center;
margin-bottom:15px;
}

#affGuide p {
text-align:center;
}

#affGuide p a {
display:inline-block;
width:300px;
line-height:60px;
color:#fff;
font-size:20px;
text-decoration:none;
background:#4682b4;
border-radius:10px;
}

#affGuide p a:hover {
opacity:0.7;
}



#homeLink {
margin:0 50px;
}

#homeLink a {
display:block;
line-height:60px;
color:#fff;
font-size:20px;
text-decoration:none;
background:#4682b4;
border-radius:10px;
}

#homeLink a:hover {
opacity:0.7;
}

#homeLink a span {
display:inline-block;
padding-right:30px;
position:relative;
}

#homeLink a span::after {
content:'';
display:block;
width:22px;
height:22px;
background:url(../img/images/sp/icon/arrow_white_r.png) right no-repeat;
background-size:contain;
position:absolute;
top:50%;
right:0;
transform:translate(0, -50%);
}



