@charset "utf-8";

/* ===================================================================
format
=================================================================== */

/*	html
--------------------------------------------------------------------*/
html {
/* font-size指定をremで設定するための処理　1.6rem = 16px */
font-size: 62.5%;
}

/*	body
--------------------------------------------------------------------*/
body {
font-family: '游ゴシック', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif, 'FontAwesome';
font-size: 1.6rem;
line-height: 1.5;
background: #f0f0f0;
background: white;
}

/*	a:link,a:visited,a:hover,a:active
--------------------------------------------------------------------*/
a {
color: #0068b7;
text-decoration: none;
}

a:link {
color: #0068b7;
text-decoration: none;
}

a:visited {
color: #0068b7;
}

a:hover {
text-decoration: underline;
}

a:active	{
color: #0068b7;
}

/*	img
--------------------------------------------------------------------*/
img {
display: block;
max-width: 100%;
height: auto;
}

/*	h
--------------------------------------------------------------------*/

/*	p,text
--------------------------------------------------------------------*/
p {
  padding-bottom: 1em;
}

.txt_sub {
  padding: 0;
  font-size: 14px;
}

/*	ul,ol
--------------------------------------------------------------------*/
ul,
ol {
list-style: none;
}

/*	table
--------------------------------------------------------------------*/
table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
}

th,
td {
padding: .5em;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}

/*	form
--------------------------------------------------------------------*/
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
select,
textarea {
display: block;
width: 100%;
padding: 0 .5em;
font-size: 1.6rem;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
.prt_select select { height: 55px; }

input[type="radio"],
input[type="check"] {
margin-right: .6em;
}

textarea {
height: 120px;
padding-top: 10px;
padding-bottom: 10px;
}

button {
display: block;
}

button:hover {
cursor: pointer;
}

/* ----- form background color start ----- */
.form_required { background: #fddcdc; }
.form_any { background: #e1f3f6; }
/* ----- form background color end ----- */

/* ----- form password start ----- */
.pwd_input {
margin-bottom: 1em;
}

.pwd_trigger {
display: inline-block;
padding: .6em;
color: white;
border: 1px solid #fb8720;/* hover時ズレ対策　*/
border-radius: 4px;
background: #fb8720;
cursor: pointer;
}

.pwd_trigger:hover {
color: #fb8720;
border: 1px solid #fb8720;
background: white;
}
/* ----- form password end ----- */

/* ----- form select start ----- */
.prt_select {
position: relative;
}

.prt_select::after {
content: '\f078';
position: absolute;
top: 0;
right: 45px;
font-family: 'FontAwesome';
font-size: 1.6rem;
color: #333;
pointer-events: none;
line-height: 130px;
}

.prt_select_multi option {
padding: 10px 0;
}
/* ----- form select end ----- */

/* ----- form checkbox start ----- */
.prt_checkbox {
display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-align: center;/* IE10 */
align-items: center;
-ms-flex-wrap: wrap;/* IE10 */
flex-wrap: wrap;
}

.prt_checkbox input[type="checkbox"] {
display: none;
}

.prt_checkbox label {
cursor: pointer;
width: 33.3%;
}

.prt_checkbox label:not(:nth-of-type(-n+3)) { padding-top: 25px; }

.prt_checkbox .prt_on::before {
content: '\f00c';
display: -ms-inline-flexbox;/* IE10 */
display: inline-flex;
-ms-flex-pack: center;/* IE10 */
justify-content: center;
-ms-flex-align: center;/* IE10 */
align-items: center;
width: 25px;
height: 25px;
margin-right: .5em;
font-family: 'FontAwesome';
font-size: 1.6rem;
color: white;
background: #cdcdcd;
}

.prt_checkbox input[type="checkbox"]:checked + .prt_on::before {
color: #f9ff59;
background: #68bf3d;
}
/* ----- form checkbox end ----- */

/* ----- form radio start ----- */
.prt_radio {
display: -ms-inline-flexbox;/* IE10 */
display: flex;
-ms-flex-align: center;/* IE10 */
align-items: center;
-ms-flex-wrap: wrap;/* IE10 */
flex-wrap: wrap;
}

.prt_radio input[type="radio"] {
display: none;
}

.prt_radio label {
cursor: pointer;
width: 33.3%;
}

.prt_radio label:not(:nth-child(3n)) { padding-right: 4px; }
.prt_radio label:not(:nth-of-type(-n+3)) { padding-top: 6px; }

.prt_radio .prt_on {
display: -ms-inline-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: center;/* IE10 */
justify-content: center;
-ms-flex-align: center;/* IE10 */
align-items: center;
height: 55px;
background: #dcdcdc;
}

.prt_radio .prt_on::before {
content: '\f111';
padding-right: .5em;
font-family: 'FontAwesome';
font-size: 1.8rem;
color: #bababa;
}

.prt_radio input[type="radio"]:checked + .prt_on {
color: white;
background: #2988e1;
}

.prt_radio input[type="radio"]:checked + .prt_on::before {
content: '\f00c';
color: #f9ff59;
}
/* ----- form radio end ----- */

/* ----- form button start ----- */
.btn_submit {
width: 90%;
height: 55px;
margin: 0 auto 90px auto;
color: white;
background: #fb8720;
}

.btn_submit:hover {
color: #fb8720;
border: 1px solid #fb8720;
background: white;
}
/* ----- form button end ----- */

/* ----- form 必須or任意 icon start ----- */
.ico_or {
display: inline-block;
margin-left: 1em;
padding: 3px 13px;
color: white;
font-size: 14px;
border-radius: 3px;
white-space: nowrap;
}

.required { background: #fb8720; }
.any { background: #54b8d5; }
/* ----- form 必須or任意 icon end ----- */

/* ----- form error message start ----- */
.msg_required {
position: absolute;
left: 25px;
bottom: 6px;
max-width: 630px;
width: 100%;
background: white;
}
/* ----- form error message end ----- */

/* ----- form required number box start ----- */
.reqBox{
position: fixed;
top: 80px;
right: 10px;
width: 200px;
padding: 10px;
color: white;
text-align: center;
background-color: #262769;
border-radius: 5px;
z-index: 10;
}

.reqBox span {
  display: block;
}

.reqBox span:first-child {
  font-size: 12px;
}

.required_num{
font-size: xx-large;
font-weight: bold;
}
/* ----- form required number box end ----- */

/* ===================================================================
Layout
=================================================================== */

/* ===================================================================
Layout-contents
=================================================================== */
/*	header
--------------------------------------------------------------------*/
#h_wrap {
width: 100%;
background: #fff;
}

/*	main
--------------------------------------------------------------------*/
#main {
max-width: 980px;
width: 100%;
margin: 30px auto 30px auto;
background: white;
}

/* ===================================================================
nav_step
=================================================================== */
.nav_step {
display: -ms-flexbox;/* IE10 */
display: flex;
justify-content: center;
padding: 1em 25px;
}

.nav_step li {
  display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: center;/* IE10 */
justify-content: center;
-ms-flex-align: center;/* IE10 */
align-items: center;
position: relative;
  width: 30%;
  height: 50px;
  background: #eee;
}

.nav_step li:not(:last-child) {
  margin-right: 1px;
}

.nav_step li:not(:last-child)::before,
.nav_step li:not(:last-child)::after {
content: '';
position: absolute;
width: 0;
height: 0;
border: 25px solid transparent;
border-left-width: 25px;
z-index: 1;
}

*::-ms-backdrop, .nav_step li:not(:last-child)::before
{ content:inherit; } /* IE11 */

.nav_step li:not(:last-child)::before {
right: -52px;
  border-left-color: white;
}

.nav_step li:not(:last-child)::after {
  top: 0;
right: -50px;
  border-left-color: #eee;
}

.nav_step .current {
  background: #ccc;
}

.nav_step .current::after {
  border-left-color: #ccc !important;
}


/*	footer
--------------------------------------------------------------------*/
#footer .f_box .f_logo h4 {
font-size: 15px;
}

#footer .f_box .f_logo p {
font-size: 12px;
}

#footer p.copyright {
padding: 3px 0;
text-align: center;
font-size: 12px;
color: #fff;
background: #000;
}

/* ===================================================================
Pagetop
=================================================================== */
.pagetop {
position: fixed;
right: 20px;
bottom: 20px;
font-size: 77%;
}

.pagetop a {
display: block;
width: 100px;
padding: 1em 0;
text-align: center;
text-decoration: none;
color: white;
border-radius: 0.5em;
background: #666;
}

.pagetop a:hover {
text-decoration: none;
background: #999;
}

/* ===================================================================
Rollover 背景が白の時用
=================================================================== */
a img {
opacity: 1;
transition: .3s ease-in-out;
backface-visibility: hidden;
}

a:hover img {
opacity: .7;
filter: alpha(opacity=30);
}
