@charset "UTF-8";
/*--------------------------------------------------------------------------
	・リセット
--------------------------------------------------------------------------*/
* { margin: 0; padding: 0; box-sizing: border-box; }

html { margin: 0; padding: 0; overflow-y: scroll; scroll-padding-top: 200px; }

body { margin: 0; padding: 0; line-height: 1.8; vertical-align: baseline; color: #00000f; font-size: 15px; font-weight: 500; font-family: 'Heebo', 'Zen Kaku Gothic New', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; text-align: left; letter-spacing: 0.08em; -webkit-text-size-adjust: 100%; }

h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li, p, table, tr, td, label, input, textarea, odject, address { margin: 0; padding: 0; }

ul li, ol li { margin: 0; padding: 0; list-style: none; }

hr { display: none; }

img { border: 0; width: 100%; vertical-align: top; }

.clear { clear: both; }

br.clear { display: block; clear: both; }

/*-----基本リンク設定-----*/
a { text-decoration: none; }

a:link { color: #00000f; }

a:visited { color: #00000f; }

a:active { color: #1b306a; }

a:hover { color: #1b306a; }

a.link_stop { pointer-events: none; }

.dp_sp { display: none; }

/*-----改行用-----*/
.in_blo { display: inline-block; }

/*-----Google Fonts [Barlow Semi Condensed] -----*/
.gf_b { line-height: 1; font-family: "Barlow Semi Condensed", serif; font-weight: 400; font-style: normal; }

/*-----コンテンツ-----*/
#contents { padding: 136px 0 0 0; }
#contents.from_region { padding: 182px 0 0 0; }

/*--------------------------------------------------------------------------
	・共通
--------------------------------------------------------------------------*/
/*-----パンくず-----*/
#pan { background: #1c223c; }
#pan div { margin: 0 auto; padding: 0 10px; width: 100%; max-width: 1160px; }
#pan div ul { padding: 9px 0 7px; font-size: 0; line-height: 0; }
#pan div ul li { display: inline-block; line-height: 1.2; color: #FFF; font-size: 12px; }
#pan div ul li:first-of-type::before { padding: 0; content: ''; }
#pan div ul li::before { padding: 0 15px; content: '|'; }
#pan div ul li a:link, #pan div ul li a:visited { color: #FFF; }
#pan div ul li a:active, #pan div ul li a:hover { color: #f0d972; }
#pan div ul li#pan_home img { margin: 1px 0 0 0; display: inline-block; max-width: 10px; }

/*-----コンテンツタイトル-----*/
#sub_title { display: -webkit-flex; display: flex; width: 100%; height: 200px; background-position: center center; background-repeat: no-repeat; background-size: auto 200px; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; justify-content: center; -webkit-box-pack: center; }
#sub_title .frm { margin: 0 auto; padding: 0 10px; width: 100%; text-align: center; max-width: 1180px; }
#sub_title .frm h2 { display: -webkit-flex; display: flex; font-weight: 500; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; }
#sub_title .frm h2 .sbj { margin: 10px 0 0 0; line-height: 1.6; color: #fff; font-size: 17px; order: 2; }
#sub_title .frm h2 .sbj_en { line-height: 1; color: #fff; font-size: 45px; font-weight: 500; letter-spacing: 0.05em; order: 1; }

/*-----コンテンツ枠-----*/
.inner { margin: 0 auto; padding: 70px 10px 100px; }

.outer { margin: 0 auto; padding: 70px 0 100px 0; }

.outer_top { margin: 0 auto; padding: 70px 0 0 0; }

.outer_bottom { margin: 0 auto; padding: 0 0 100px 0; }

.bbox { max-width: 1180px; }

/*-----バックボタン-----*/
.back_btn { text-align: center; }
.back_btn a { border: 1px solid #00000f; display: inline-block; width: 100%; line-height: 45px; color: #00000f; background: #fff; font-size: 15px; font-weight: 500; text-decoration: none; max-width: 300px; }
.back_btn a span { display: inline-block; }
.back_btn a:hover { color: #fff; background: #00000f; }

.back_btn.wp_3btn { display: table; margin: 50px auto 0; width: 100%; max-width: 650px; }
.back_btn.wp_3btn > div { display: table-cell; vertical-align: middle; table-layout: fixed; }
.back_btn.wp_3btn > div a { display: block; width: 100%; }
.back_btn.wp_3btn > div#back { width: 300px; }
.back_btn.wp_3btn > div#back a { margin: 0 auto 0; }
.back_btn.wp_3btn > div#prev, .back_btn.wp_3btn > div#next { width: 175px; }
.back_btn.wp_3btn > div#prev a, .back_btn.wp_3btn > div#next a { display: block; background-size: 9px auto; background-repeat: no-repeat; border: none; width: inherit; width: 110px; text-align: center; font-size: 16px; }
.back_btn.wp_3btn > div#prev a:hover, .back_btn.wp_3btn > div#next a:hover { background-color: #FFF; color: #c71c2f; }
.back_btn.wp_3btn > div#prev { padding: 0 20px 0 0; }
.back_btn.wp_3btn > div#prev a { background-image: url("../img/arrow_wp_pre.png"); background-position: left center; text-align: right; margin: 0 auto 0 0; }
.back_btn.wp_3btn > div#next { padding: 0 0 0 20px; }
.back_btn.wp_3btn > div#next a { background-image: url("../img/arrow_wp_next.png"); background-position: right center; text-align: left; margin: 0 0 0 auto; }

/*---ブログ系ページネーション---*/
#nav_list { width: 100%; margin: 0 auto; }
#nav_list #pagenation { text-align: center; }
#nav_list ul { line-height: 0; font-size: 0; font-weight: 500; }
#nav_list ul li { display: inline-block; width: 40px; margin: 0 3px 10px 3px; line-height: 38px; font-size: 16px; text-align: center; vertical-align: middle; }
#nav_list ul li span { display: block; }
#nav_list ul li a { border: 1px solid #e4e4e4; display: block; color: #00000f; background: #e4e4e4; }
#nav_list ul li a:hover { border: 1px solid #1c223c; text-decoration: none; color: #fff; background: #1c223c; }
#nav_list ul li.arrow { margin: 0 3px 10px 3px; }
#nav_list ul li.arrow a { height: 40px; line-height: 40px; }
#nav_list ul li.arrow span { padding: 0 5px; }
#nav_list ul li.arrow.prev a { border: none; background: url("../img/ar01_bk_l.png") no-repeat #e4e4e4 center center; background-size: 10px auto; }
#nav_list ul li.arrow.prev a:hover { background: url("../img/ar01_wh_l.png") no-repeat #1c223c center center; background-size: 10px auto; }
#nav_list ul li.arrow.next a { border: none; background: url("../img/ar01_bk_r.png") no-repeat #e4e4e4 center center; background-size: 10px auto; }
#nav_list ul li.arrow.next a:hover { background: url("../img/ar01_wh_r.png") no-repeat #1c223c center center; background-size: 10px auto; }
#nav_list ul li.current a { border: 1px solid #1c223c; color: #fff; background: #1c223c; }
#nav_list ul li.omit { margin: 7px 0 0 0; vertical-align: top; line-height: 1; color: #00000f; }
#nav_list ul li.nav_nolink { padding: 0; color: #3692b5; background: #fff; }
#nav_list ul li.nav_nolink span { display: block; padding: 13px 0 13px; }
#nav_list #page_number { padding: 30px 0 0 0; text-align: center; }

.blog_page_nav { display: table; margin: 0 auto; width: 100%; text-align: right; }
.blog_page_nav > div { display: table-cell; vertical-align: top; }
.blog_page_nav .p_all { padding: 0 20px 0 0; text-align: left; }
.blog_page_nav .p_nation { line-height: 0; font-size: 0; font-weight: 500; }
.blog_page_nav .page-numbers { display: inline-block; vertical-align: middle; background: #e4e4e4; border: 1px solid #e4e4e4; margin: 0 3px 10px 3px; width: 40px; color: #00000f; line-height: 38px; text-align: center; font-size: 16px; }
.blog_page_nav .page-numbers:hover { border: 1px solid #1c223c; text-decoration: none; color: #fff; background: #1c223c; }
.blog_page_nav .page-numbers.current { border: 1px solid #1c223c; color: #fff; background: #1c223c; }
.blog_page_nav .page-numbers.dots { background: #FFF; border: none; margin: 7px 0 0 0; vertical-align: top; line-height: 1; color: #00000f; }
.blog_page_nav .page-numbers.dots:hover { border: none; color: #00000f; background: #FFF; }
.blog_page_nav .page-numbers.prev, .blog_page_nav .page-numbers.next { border: none; background-size: 10px auto; background-position: center center; background-repeat: no-repeat; height: 40px; line-height: 40px; }
.blog_page_nav .page-numbers.prev { background-image: url("../img/ar01_bk_l.png"); }
.blog_page_nav .page-numbers.prev:hover { background-image: url("../img/ar01_wh_l.png"); }
.blog_page_nav .page-numbers.next { background-image: url("../img/ar01_bk_r.png"); }
.blog_page_nav .page-numbers.next:hover { background-image: url("../img/ar01_wh_r.png"); }

/*-----印刷用フッター-----*/
#print_ft_office { padding: 0 10px 30px; }
#print_ft_office .pf_frm { border-top: 1px solid #cccbc9; margin: 0 auto 0; padding: 40px 10px 0; max-width: 1160px; }
#print_ft_office .pf_frm .pf_item { margin: 0 auto 0; max-width: 500px; }
#print_ft_office .pf_frm .pf_item .pf_logo { margin: 0 auto 0; max-width: 400px; }
#print_ft_office .pf_frm .pf_item .pf_logo p { margin-top: 20px; text-align: center; font-size: 14px; }
#print_ft_office .pf_frm .pf_item .office_list { margin: 30px auto 0; }
#print_ft_office .pf_frm .pf_item .office_list dl { display: table; border-bottom: 1px solid #cccbc9; width: 100%; }
#print_ft_office .pf_frm .pf_item .office_list dl dt, #print_ft_office .pf_frm .pf_item .office_list dl dd { display: table-cell; vertical-align: middle; padding: 5px; letter-spacing: 0.075em; }
#print_ft_office .pf_frm .pf_item .office_list dl dt { width: 140px; text-align: center; font-size: 14px; }
#print_ft_office .pf_frm .pf_item .office_list dl dd { font-size: 12px; }

/*-----投稿が無いとき-----*/
#post_none { margin: 50px auto 100px; padding: 0 10px 0; max-width: 600px; }
#post_none p { background: #eeeeee; padding: 50px 10px 50px; text-align: center; }

/*-----エラーページ-----*/
#sub_title.error { background-image: url("../img/error_back.jpg"); }

#error { text-align: center; }
#error div.msg { margin: 0 auto 50px auto; padding: 0 0 45px 0; border-bottom: 1px solid #cccbc9; }
#error div.msg p:first-of-type { margin: 0 0 40px 0; font-size: 36px; font-weight: 500; }

/*-----IE9以下の警告表示-----*/
#old_browser { margin-top: 150px; padding: 15px 10px; background: #fff; }
#old_browser div { max-width: 960px; margin: 0 auto; padding: 20px 25px; border: 2px solid #333; }
#old_browser p.old_warning { margin: 0 0 5px; padding: 8px 0 8px 55px; color: #b00; font-size: 18px; font-weight: bold; background: url(../img/ico_warning.gif) 0 0 no-repeat; }
#old_browser p.ecommended { margin: 10px 0 0; padding: 5px 15px; color: #fff; background: #888; font-weight: bold; }
#old_browser ul { padding: 10px 20px; background: #eee; }
#old_browser ul li { display: inline; margin: 0 25px 0 0; padding: 0 0 0 15px; font-size: 16px; background: url(../img/sq_list.gif) left center no-repeat; }
#old_browser ul li a { color: #555; }
#old_browser ul li a:hover, #old_browser ul li a:active { opacity: 0.6; }

@media screen and (max-width: 768px) { #old_browser { margin-top: 60px; } }
/*-----サムネイル表示用-----*/
.image-wrapper { position: relative; width: 100%; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.image-wrapper img { max-width: none; max-height: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.image-wrapper.variant-cover img { width: 100%; height: auto; min-height: 100%; object-fit: cover; /* 小さい画像をそのまま表示するための制限 効果不明 */ max-width: none; max-height: none; }
.image-wrapper.variant-contain img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }

/*--------------------------------------------------------------------------
	telパーツ
--------------------------------------------------------------------------*/
/*-----電話番号共通-----*/
.nttcome { background-image: url("../img/ico_tel01.png"); }

.ntthjp { background-image: url("../img/ico_tel02.png"); }

.normal_tel { background-image: url("../img/ico_tel03.png"); }

#mailform_tel { margin: 0 auto 0; }
#mailform_tel > div { display: -webkit-flex; display: flex; flex-wrap: wrap; }
#mailform_tel > div section { padding: 0 10px 0; width: 50%; }
#mailform_tel > div section:nth-of-type(n+3) { margin-top: 10px; }
#mailform_tel > div section > div { display: table; width: 100%; }
#mailform_tel > div section > div h3, #mailform_tel > div section > div p { display: table-cell; vertical-align: middle; height: 60px; }
#mailform_tel > div section > div h3 { background: #6b6d79; padding: 5px 0 0; width: 200px; color: #FFF; line-height: 1; text-align: center; font-size: 18px; font-weight: 500; }
#mailform_tel > div section > div p { background: #ececec; padding: 5px 10px 0; text-align: center; }
#mailform_tel > div section > div p span { display: inline-block; background-size: 36px auto; background-position: left center; background-repeat: no-repeat; padding: 0 0 0 42px; line-height: 1; font-size: 27px; font-family: "Barlow Semi Condensed", serif; font-weight: 500; font-style: normal; }
#mailform_tel.tel_areatype > div section { padding: 0 20px 0; width: 33.33%; }
#mailform_tel.tel_areatype > div section:nth-of-type(n+3) { margin-top: 0; }
#mailform_tel.tel_areatype > div section > div { display: block; }
#mailform_tel.tel_areatype > div section > div h3, #mailform_tel.tel_areatype > div section > div p { display: block; width: 100%; height: auto; }
#mailform_tel.tel_areatype > div section > div h3 { padding: 15px 0 10px; }
#mailform_tel.tel_areatype > div section > div p { padding: 21px 10px 16px; }
#mailform_tel.tel_areatype.tel_one { max-width: 500px; }
#mailform_tel.tel_areatype.tel_one > div section { padding: 0; width: 100%; }

/*--------------------------------------------------------------------------
	ぺージ内ナビ
--------------------------------------------------------------------------*/
.page_sub_menu.wrap ul { flex-wrap: wrap; }
.page_sub_menu ul { display: -webkit-flex; display: flex; text-align: center; }
.page_sub_menu ul li { display: -webkit-flex; display: flex; }
.page_sub_menu ul li a { display: -webkit-flex; display: flex; width: 100%; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; justify-content: center; -webkit-box-pack: center; }

/*--------------------------------------------------------------------------
	stepパーツ
--------------------------------------------------------------------------*/
.page_step { display: -webkit-flex; display: flex; flex-wrap: wrap; }
.page_step .step { display: -webkit-flex; display: flex; }
.page_step .step dl { width: 100%; display: -webkit-flex; display: flex; }
.page_step .step dl dt, .page_step .step dl dd { display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; -webkit-box-pack: center; justify-content: center; }
.page_step .step dl dt { text-align: center; }
.page_step .step dl dd { flex: 1; -webkit-flex: 1; }

/*--------------------------------------------------------------------------
	会社案内ナビ　※上記ページ内ナビを利用
--------------------------------------------------------------------------*/
.page_sub_menu.navi_company { margin: 0 auto 70px; max-width: 1160px; }
.page_sub_menu.navi_company ul li { border-right: 1px solid #000000; width: 16.6%; }
.page_sub_menu.navi_company ul li:first-of-type { border-left: 1px solid #000000; }
.page_sub_menu.navi_company ul li a { padding: 10px; color: #00000f; text-align: center; }
.page_sub_menu.navi_company ul li a:hover, .page_sub_menu.navi_company ul li a:active, .page_sub_menu.navi_company ul li a.current { color: #c71c2f; }
.page_sub_menu.navi_company ul.set_last li:last-of-type a { color: #c71c2f; }

/*--------------------------------------------------------------------------
	募集要項・エントリーバナー
--------------------------------------------------------------------------*/
.recruit_link a { background: #f14a42; display: block; margin: 0 auto 0; padding: 35px 10px 35px; max-width: 630px; color: #FFF; line-height: 1; text-align: center; font-size: 20px; font-weight: 500; }
.recruit_link a:hover, .recruit_link a:active { opacity: 0.7; text-decoration: none; }

/*--------------------------------------------------------------------------
	画面幅で画像名を変える
	※common/js/jn_script.js内に記載あります
--------------------------------------------------------------------------*/
.img_switch { visibility: hidden; }

/*--------------------------------------------------------------------------
	背景固定
--------------------------------------------------------------------------*/
.bg_fixed { margin: 0 auto; max-width: 2000px; }
.bg_fixed::before { content: ''; display: block; position: fixed; top: 0; left: 0; z-index: -1; width: 100%; height: 100vh; }

/*--------------------------------------------------------------------------
	ローディング
--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
	・TOP
--------------------------------------------------------------------------*/

/*# sourceMappingURL=main.css.map */
