@charset "utf-8";

/*
/*    CSS(pctb) MENU
*/


/*
*********************************************************************************
/*
/* common
/*
/*******************************************************************************/

.pc_none,
.sp_only {
	display: none !important;
}

.inner {
	width: 704px;
	margin-left: auto;
	margin-right: auto;
}

a:hover {
	text-decoration: none;
	opacity: 0.7;
	transition: 0.5s ease;
	-webkit-transition: 0.5s ease;
}

#wrapper {
	-webkit-box-shadow: 0px 0px 12px 1px rgba(133, 133, 133, 0.51);
	box-shadow: 0px 0px 12px 1px rgba(133, 133, 133, 0.51);
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}


/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/

.h_con {
	padding: 2px 20px 0;
}

.hamburger {
	right: auto;
	margin-left: 725px;
}

.gnav nav {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	height: 100%;
	padding: 70px 40px;
}

.gnav .nav01 {
	padding-top: 30px;
}

.gnav .nav01 li + li {
	margin-top: 20px;
}

.gnav .nav01 a {
	padding-left: 50px;
	font-size: 1.9rem;
}

.gnav .nav01 a:before {
	width: 30px;
	height: 30px;
	top: 1px;
}

.gnav .nav01 a:after {
	border-width: 5px 0 5px 8px;
	top: 11px;
	left: 12px;
}

.gnav .nav02 {
	padding-top: 30px;
	margin-top: 30px;
}

.gnav .nav02 a {
	padding-left: 15px;
}

.gnav .nav02 a:before {
	width: 6px;
	height: 9px;
	top: 8px;
}

.gnav .nav02 li + li {
	margin-top: 10px
}

.nav_line {
	margin-top: 20px;
}

.nav_line a {
	border-radius: 10px;
	padding: 15px 10px 17px 64px;
	width: 310px;
}

.nav_line a:before {
	width: 50px;
	height: 50px;
	top: 3px;
	left: 10px;
}


/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/

footer {
	margin-top: 100px;
}

footer .area {
	font-size: 1.3rem;
}

footer small {
	font-size: 1.3rem;
	margin-top: 50px;
	padding: 20px 20px 140px 20px;
}

.fixnav {
	width: 800px;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	background: #fff;
	border-top: 1px solid #fff;
}

.fixnav li {
	width: 25%;
	line-height: 1;
}


/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */

.link {
	padding-left: 10px;
}

.link:before {
	width: 6px;
	height: 9px;
	top: 9px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */

.pagetl {
	padding: 60px 40px;
	margin-bottom: 30px;
}

.lead {
	font-size: 3rem;
	margin-bottom: 40px;
	margin-top: 50px;
}

h3:not([class]),
h3.mt00 {
	margin-bottom: 40px;
	margin-top: 50px;
	font-size: 3rem;
	padding: 60px 48px 0 48px;
	margin-left: -48px;
	margin-right: -48px;
}

h3:not([class]):before,
h3.mt00:before {
	width: 100%;
	height: 120px;
}

h4:not([class]) {
	margin-bottom: 30px;
	margin-top: 40px;
	font-size: 3rem;
	padding: 10px 0 15px;
	border-width: 4px 0 1px 0;
}

h5:not([class]) {
	margin-bottom: 30px;
	margin-top: 30px;
	font-size: 3rem;
}

h6:not([class]) {
	margin-bottom: 30px;
	margin-top: 30px;
	font-size: 2.8rem;
}

h6:not([class]):first-letter {
	color: #19a0c4;
	font-size: 2.2rem;
}

.catch {
	margin-top: 30px;
	margin-bottom: 30px;
	font-size: 2.2rem;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */

.li_check li {
	padding-left: 35px;
}

.li_check li:before {
	width: 25px;
	height: 21px;
	top: 4px;
}

.li_check li + li {
	margin-top: 10px;
}

.li_check_border {
	padding-bottom: 12px;
}

.li_check_border li {
	padding-top: 12px;
}

.li_check_border li:before {
	top: 16px;
}

.li_check_border li + li {
	margin-top: 12px;
}

ul:not([class]) li {
	padding-left: 13px;
}

ul:not([class]) li:before {
	top: 11px;
	width: 5px;
	height: 5px;
}

.li_mt li + li {
	margin-top: 25px !important;
}

.li_num li {
	padding-left: 42px;
}

.li_num li:before {
	width: 30px;
	height: 30px;
	line-height: 2.8rem;
}

.li_num li + li {
	margin-top: 10px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */

table:not([class]) th,
table:not([class]) td {
	padding: 10px 0 13px;
}

table:not([class]) th {
	width: 20%;
}

table:not([class]) thead th {
	font-size: 2.6rem;
	border-radius: 10px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム */

input[type=text],
select,
textarea {
	padding: 7px 15px;
}

.selectblock {
	max-width: 300px;
}

textarea {
	height: 210px;
	resize: vertical;
}

.radio_style span {
	padding-left: 40px;
	padding-right: 30px;
}

.radio_style span:before {
	width: 26px;
	height: 26px;
}

.radio_style input:checked + .radio_txt:after {
	height: 16px;
	width: 16px;
	left: 5px;
}

.checkbox_style span:before {
	width: 26px;
	height: 26px;
}

.checkbox_style span {
	padding-left: 40px;
	padding-right: 30px;
}

.checkbox_style input:checked + .checkbox_txt:after {
	width: 11px;
	height: 15px;
	left: 8px;
	top: 3px;
}

.checkbox_style_narabi li {
	margin-top: 10px;
}

.checkbox_style_narabi {
	margin-top: -10px;
}

.form_narabi {
	padding-top: 4px;
	margin-top: -10px;
}

.form_narabi li {
	margin-top: 10px;
}

.form_layout .required {
	width: 38px;
	height: 21px;
	font-size: 1.2rem;
	margin-left: 15px;
	line-height: 1.4;
}

.form_layout .txt_tuika p {
	font-size: 1.6rem;
}

.form_spwide .form_layout {
	padding: 20px 48px;
}

.form_spwide {
	margin-left: -48px;
	margin-right: -48px;
}

.form_layout > dt {
	margin-bottom: 15px;
}

.radio_style_narabi li {
	margin-top: 15px;
}

.radio_style_narabi {
	margin-top: -15px;
}

input[type=date] {
	padding: 7px 15px;
}

.kibouday li + li {
	margin-top: 15px;
}

.submit_btn {
	padding: 20px;
	width: 340px;
	margin: 0;
}

.form_submit_btn_block {
	text-align: center;
}

.submit_btn:before {
	width: 9px;
	right: 20px;
}

form .other_box {
	margin-top: 10px;
}

form .other_box li {
	width: 130px;
}


/*------------------------------------------------------------------------------
form_confirm */

.form_confirm input:disabled {
	font-size: 1.6rem;
	padding: 0;
}

.form_submit_btn_block li + li {
	margin-top: 60px;
}

.form_confirm .form_layout > dt {
	padding-top: 0;
}

.submit_btn_reverse {
	padding: 15px 30px 16px 50px;
}

.form_spwide .form_layout {
	padding: 20px 48px;
}

.form_spwide {
	margin-left: -48px;
	margin-right: -48px;
}

.form_layout > dt {
	margin-bottom: 15px;
}

.radio_style_narabi li {
	margin-top: 15px;
}

.radio_style_narabi {
	margin-top: -15px;
}

input[type=date] {
	padding: 7px 15px;
}

.kibouday li + li {
	margin-top: 15px;
}

.submit_btn {
	padding: 20px;
	width: 340px;
	margin: 0;
}

.form_submit_btn_block {
	text-align: center;
}

.submit_btn:before {
	width: 9px;
	right: 20px;
}

.formTable th,
.formTable td {
	padding: 20px 48px;
}

.formTable th {
	width: 45%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
囲み */

.kakomi {
	padding: 30px;
}

.kakomi_stripe_wide {
	margin-left: -48px;
	margin-right: -48px;
	padding: 30px;
}

.kakomi_stripe_gray {
	background-size: 12px;
	width: 800px;
}

.kakomi_stripe_gray .kakomi_in {
	padding: 30px 48px;
}

.kakomi_tl {
	margin-bottom: 30px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
marunum_narabi */

.marunum_narabi dt {
	margin-bottom: 5px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
FAQ */

.faq_q {
	font-size: 2.6rem;
	padding-left: 70px;
	padding-top: 2px;
}

.faq_q:before {
	width: 45px;
	height: 45px;
	line-height: 1.5;
}

.faq_a_none {
	margin-top: 30px;
}

.faq_a {
	padding-left: 70px;
	padding-top: 8px;
	margin-top: 10px;
	padding-bottom: 12px;
}

.faq_a:before {
	width: 45px;
	height: 45px;
	line-height: 1.5;
}

.faq_block + .faq_block {
	margin-top: 30px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ap_block */

.ap_block .box a {
	padding: 30px;
	text-align: center;
}

.ap_block .box a:after {
	border-width: 0 0 20px 20px;
}

.ap_block .icon {
	width: 50px;
	margin: 0 auto 10px;
}

.ap_block .stl span {
	padding-right: 10px;
	padding-top: 3px;
}

.ap_block .stl {
	font-size: 2.6rem;
	margin-bottom: 20px;
}

.ap_block .box + .box {
	margin-top: 30px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
flow */

.flow > li {
	font-size: 2.6rem;
	border-radius: 20px;
	padding: 20px 20px 25px;
}

.flow > li + li {
	margin-top: 50px;
}

.flow > li + li:before {
	width: 29px;
	height: 17px;
	top: -33px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
step */

.step > li > dl {
	border-radius: 20px;
}

.step > li > dl > dt {
	font-size: 2.6rem;
	padding: 20px 40px 20px 120px;
}

.step > li > dl > dt .num {
	font-size: 4.6rem;
	left: 40px;
}

.step > li > dl > dd {
	padding: 30px 40px 40px;
}

.step > li + li {
	margin-top: 30px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
dl_type */

.dl_type {
	border-radius: 20px;
	padding: 10px 10px;
}

.dl_type > dt {
	font-size: 2.1rem;
}

.dl_type > dd {
	border-radius: 20px;
	padding: 20px;
	margin-top: 10px;
}

.dl_type + .dl_type {
	margin-top: 30px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
dl_glossary */

.dl_glossary > dt {
	padding-left: 35px;
	margin-bottom: 10px;
}

.dl_glossary > dt:before {
	width: 22px;
	height: 18px;
	top: 7px;
}

.dl_glossary + .dl_glossary {
	margin-top: 30px;
}


/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
MV */

.mv {
	margin-bottom: 50px;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
mailinterview */
.mailinterview_kakomi .img {
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}