@charset "UTF-8";
/*--------------------------------------------------------------------------
	・リセット
--------------------------------------------------------------------------*/
* { margin: 0; padding: 0; box-sizing: border-box; }

html { margin: 0; padding: 0; overflow-y: scroll; }

body { margin: 0; padding: 0; line-height: 2; vertical-align: baseline; color: #00000f; font-size: 15px; font-weight: 500; font-family: 'Zen Kaku Gothic New', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; text-align: left; letter-spacing: 0.1em; -webkit-text-size-adjust: 100%; }
body.pre { background-image: none; }

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: #c71c2f; }

a:visited { color: #c71c2f; }

a:active { color: #d24959; }

a:hover { color: #d24959; }

a.link_stop { pointer-events: none; }

.dp_sp { display: none; }

/*-----改行用-----*/
.in_blo { display: inline-block; }

/*-----Google Fonts-----*/
.gf_ur { line-height: 1; font-family: "Urbanist", sans-serif; font-optical-sizing: auto; }

/*-----コンテンツ-----*/
/*--------------------------------------------------------------------------
	・共通
--------------------------------------------------------------------------*/
/*-----パンくず-----*/
#pan { background-color: #fff; }
#pan div { margin: 0 auto; padding: 0 10px; width: 100%; max-width: 1180px; }
#pan div ul { padding: 13px 0 12px 0; font-size: 0; line-height: 0; }
#pan div ul li { display: inline-block; line-height: 1.2; color: #00000f; font-size: 13px; font-weight: 400; letter-spacing: 0.04em; }
#pan div ul li#pan_home::before { content: none; }
#pan div ul li#pan_home a img { margin: 4px 0 0 0; }
#pan div ul li a:link, #pan div ul li a:visited { color: #00000f; }
#pan div ul li a:active, #pan div ul li a:hover { color: #005dbc; }
#pan div ul li::before { margin: 0 12px 0 0; display: inline-block; width: 4px; height: 10px; content: '｜'; }

/*-----コンテンツタイトル-----*/
#sub_title { display: flex; display: -webkit-flex; width: 100%; height: 200px; background: url("../img/title_back.jpg") no-repeat center center; background-size: auto 200px; flex-direction: column; justify-content: center; }
#sub_title .frm { margin: 0 auto; padding: 0 10px; width: 100%; max-width: 1180px; }
#sub_title .frm h2 { margin: 12px 0 0 0; line-height: 1; color: #fff; font-size: 17px; font-weight: 500; }
#sub_title .frm p { line-height: 1; color: #fff; font-size: 45px; letter-spacing: 0.11em; }

/*-----コンテンツ枠-----*/
.inner { margin: 0 auto; padding: 110px 10px 100px; }

.inner_bottom { margin: 0 auto; padding: 0 10px 100px; }

.outer { margin: 0 auto; padding: 110px 0 100px 0; }

.outer_top { margin: 0 auto; padding: 110px 0 0 0; }

.outer_bottom { margin: 0 auto; padding: 0 0 100px 0; }

.bbox { max-width: 1160px; }

/*-----バックボタン-----*/
.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; letter-spacing: 0.14em; }
.back_btn a span { display: inline-block; }
.back_btn a:hover { border: 1px solid #00000f; color: #fff; background: #00000f; }
.back_btn.more { width: 100%; max-width: 200px; }
.back_btn.more a { border: 1px solid #cccbc9; line-height: 30px; color: #00000f; background: white; font-size: 14px; font-weight: normal; letter-spacing: 0.1em; }
.back_btn.more a:hover { border: 1px solid #cccbc9; color: #fff; background: #005dbc; }

/*---ブログ系ページネーション---*/
#wp_page_nav { width: 100%; margin: 100px auto 0; }
#wp_page_nav .blog_page_nav { width: 100%; }
#wp_page_nav .blog_page_nav .p_nation { text-align: center; font-size: 0; }
#wp_page_nav .blog_page_nav .p_nation .page-numbers { display: inline-block; margin: 0 0 10px 3px; padding: 11px 0 0; min-width: 38px; height: 38px; text-align: center; line-height: 1; font-size: 16px; vertical-align: middle; }
#wp_page_nav .blog_page_nav .p_nation a { background-color: #edede6; color: #354741; }
#wp_page_nav .blog_page_nav .p_nation a:hover { background: #354741; color: #FFF; }
#wp_page_nav .blog_page_nav .p_nation a.next, #wp_page_nav .blog_page_nav .p_nation a.prev { background-position: center; background-repeat: no-repeat; background-size: 8px auto; }
#wp_page_nav .blog_page_nav .p_nation a.next { background-image: url("../img/arrow_next01.png"); }
#wp_page_nav .blog_page_nav .p_nation a.next:hover, #wp_page_nav .blog_page_nav .p_nation a.next:active { background-image: url("../img/arrow_next01_wh.png"); }
#wp_page_nav .blog_page_nav .p_nation a.prev { background-image: url("../img/arrow_prev01.png"); }
#wp_page_nav .blog_page_nav .p_nation a.prev:hover, #wp_page_nav .blog_page_nav .p_nation a.prev:active { background-image: url("../img/arrow_prev01_wh.png"); }
#wp_page_nav .blog_page_nav .p_nation span.current { background: #354741; color: #FFFFFF; }

#page_number { padding: 30px 0 0; font-weight: 500; text-align: center; }

#nav_list { width: 100%; margin: 0 auto; }
#nav_list #pagenation { line-height: 1; font-family: "Urbanist", sans-serif; font-optical-sizing: auto; text-align: center; }
#nav_list ul { line-height: 0; font-size: 0; }
#nav_list ul li { margin: 0 3px 10px 3px; display: inline-block; line-height: 40px; vertical-align: middle; font-size: 16px; text-align: center; }
#nav_list ul li span { display: block; width: 40px; height: 40px; }
#nav_list ul li a { border: 1px solid #d5d5d5; display: block; color: #00000f; background: #fff; box-sizing: content-box; }
#nav_list ul li a:hover { border: 1px solid #005dbc; text-decoration: none; color: #fff; background: #005dbc; }
#nav_list ul li.arrow { margin: 0 15px 10px 15px; }
#nav_list ul li.arrow.prev a { border: 1px solid #fff; background: url("../img/pager_prev_bl.png") no-repeat #fff center center; background-size: 8px auto; }
#nav_list ul li.arrow.prev a:hover { border: 1px solid #005dbc; background: url("../img/pager_prev_wh.png") no-repeat #005dbc center center; background-size: 8px auto; }
#nav_list ul li.arrow.next a { border: 1px solid #fff; background: url("../img/pager_next_bl.png") no-repeat #fff center center; background-size: 8px auto; }
#nav_list ul li.arrow.next a:hover { border: 1px solid #005dbc; background: url("../img/pager_next_wh.png") no-repeat #005dbc center center; background-size: 8px auto; }
#nav_list ul li.current a { border: 1px solid #005dbc; }
#nav_list ul li.current a span { color: #fff; background: #005dbc; }
#nav_list ul li.omit { line-height: 40px; color: #00000f; font-family: 'Zen Kaku Gothic New', sans-serif,'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'MS Pゴシック',serif; }
#nav_list ul li.omit span { padding: 7px 0 0 0; display: inline-block; vertical-align: top; line-height: 1; }
#nav_list ul li.nav_nolink { padding: 0; color: #fff; background: #00000f; }
#nav_list ul li.nav_nolink span { display: block; padding: 13px 0 13px; }
#nav_list #page_number { padding: 30px 0 0 0; font-size: 14px; text-align: center; }
#nav_list #page_number span.count:first-of-type { font-size: 16px; }

/*-----投稿が無いとき-----*/
#post_none { margin: 50px auto 100px; padding: 0 10px 0; max-width: 500px; }
#post_none p { background: #eeeeee; padding: 50px 10px 50px; text-align: center; }

/*-----採用情報 募集終了-----*/
#recruit_end_frm { margin: 50px auto 60px auto; text-align: center; max-width: 1160px; }
#recruit_end_frm > p:first-of-type { margin: 0 0 20px 0; color: #005dbc; font-size: 23px; font-weight: 700; }

/*-----エラーページ-----*/
#error { margin: 100px auto 0 auto; width: 100%; text-align: center; max-width: 1120px; }
#error .frm { padding: 45px 10px; background: #e9f2ff; }
#error .frm p:first-of-type { margin: 0 0 15px 0; font-size: 30px; }
#error .frm + .back_btn { margin: 100px auto 0 auto; }

/*-----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; } }
/*768px*/
/*-----サムネイル表示用-----*/
.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パーツ
--------------------------------------------------------------------------*/
.contact_tel_info dl { margin: 0 auto; padding: 26px 0; border: 1px solid #999; line-height: 0; color: #00000f; background: #fff; font-size: 0; text-align: center; max-width: 540px; border-radius: 36px; }
.contact_tel_info dl dt, .contact_tel_info dl dd { display: inline-block; vertical-align: middle; line-height: 1; }
.contact_tel_info dl dt { padding: 0 20px; font-size: 18px; font-weight: 700; }
.contact_tel_info dl dd a:link, .contact_tel_info dl dd a:visited { color: #00000f; }
.contact_tel_info dl dd a[href^="tel:"] { pointer-events: none; }
.contact_tel_info dl dd a img { max-width: 176px; }
.contact_tel_info p.tel_one { margin: 0 auto; padding: 18px 10px 15px 10px; background: #e9f2ff; text-align: center; max-width: 400px; }
.contact_tel_info p.tel_one a { font-size: 27px; font-weight: 500; }
.contact_tel_info p.tel_one a:link, .contact_tel_info p.tel_one a:visited { color: #00000f; }
.contact_tel_info p.tel_one a:active, .contact_tel_info p.tel_one a:hover { opacity: 0.7; }
.contact_tel_info p.tel_one a[href^="tel:"] { pointer-events: none; }
.contact_tel_info p.tel_one a span { padding: 0 0 0 40px; display: inline-block; background: url("../img/icon_free_bk.png") no-repeat left top -4px; background-size: 30px auto; }

/*--------------------------------------------------------------------------
	ぺージ内ナビ
--------------------------------------------------------------------------*/
.page_sub_menu ul { display: flex; display: -webkit-flex; text-align: center; flex-wrap: wrap; }
.page_sub_menu ul li { display: flex; display: -webkit-flex; }
.page_sub_menu ul li a { display: flex; display: -webkit-flex; width: 100%; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; justify-content: center; -webkit-box-pack: center; }
.page_sub_menu ul li a:link, .page_sub_menu ul li a:visited { border: 1px solid #005dbc; color: #fff; background: #005dbc; }
.page_sub_menu ul li a:active, .page_sub_menu ul li a:hover { border: 1px solid #849cbb; color: #fff; background: #849cbb; }

/*--------------------------------------------------------------------------
	豆知識　ナビ
--------------------------------------------------------------------------*/
.page_sub_menu.nav_onepoint ul { column-gap: 10px; }
.page_sub_menu.nav_onepoint ul li { width: calc((100% - 40px) / 5); }
.page_sub_menu.nav_onepoint ul li.active a:link, .page_sub_menu.nav_onepoint ul li.active a:visited { border: 1px solid #005dbc; color: #fff; background: #005dbc; }
.page_sub_menu.nav_onepoint ul li.active a:active, .page_sub_menu.nav_onepoint ul li.active a:hover { opacity: 0.7; }
.page_sub_menu.nav_onepoint ul li a { padding: 42px 5px 36px 5px; line-height: 1.4; font-size: 14px; border-radius: 10px; }
.page_sub_menu.nav_onepoint ul li a:link, .page_sub_menu.nav_onepoint ul li a:visited { border: 1px solid #849cbb; color: #fff; background: #849cbb; }
.page_sub_menu.nav_onepoint ul li a:active, .page_sub_menu.nav_onepoint ul li a:hover { border: 1px solid #005dbc; color: #fff; background: #005dbc; }
.page_sub_menu.nav_onepoint ul li a img { margin: 0 auto; display: inline-block; max-width: 70px; }
.page_sub_menu.nav_onepoint ul li a h3 { margin: 10px 0; font-size: 20px; font-weight: 700; }
.page_sub_menu.nav_onepoint ul li a p { line-height: 1.4; }

/*--------------------------------------------------------------------------
	stepパーツ
--------------------------------------------------------------------------*/
.page_step { display: flex; display: -webkit-flex; flex-wrap: wrap; }
.page_step .step { display: flex; display: -webkit-flex; }
.page_step .step dl { width: 100%; display: flex; display: -webkit-flex; }
.page_step .step dl dt, .page_step .step dl dd { display: flex; display: -webkit-flex; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; justify-content: center; -webkit-box-pack: center; }
.page_step .step dl dt { text-align: center; }
.page_step .step dl dd { flex: 1; -webkit-flex: 1; }

/*--------------------------------------------------------------------------
	背景固定
--------------------------------------------------------------------------*/
.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; }

/*--------------------------------------------------------------------------
	背景パララックス
--------------------------------------------------------------------------*/
.bg_clip_wrap { position: relative; }
.bg_clip_wrap .clip { position: absolute; left: 0; width: 100%; height: 100%; clip-path: inset(0); z-index: -1; }
.bg_clip_wrap .clip .fixed { position: fixed; top: 0; width: 100%; height: 100%; background-size: cover; background-position: center; }
.bg_clip_wrap .main_box { position: relative; width: 100%; }

/*--------------------------------------------------------------------------
	冒頭文
--------------------------------------------------------------------------*/
.intro_parts_box { text-align: center; }
.intro_parts_box:has(.msg) .msg { margin: 0 auto; padding: 0 10px; max-width: 1180px; }
.intro_parts_box > p { line-height: 2.2; font-size: 24px; font-weight: 700; letter-spacing: 0.1em; }
.intro_parts_box .msg { margin: 0 auto; max-width: 1160px; }
.intro_parts_box .msg p { margin: 30px 0 0 0; line-height: 2.2; }
.intro_parts_box .msg p:first-of-type { margin: 0; }

/*--------------------------------------------------------------------------
	画面幅で画像名を変える
	※common/js/jn_script.js内に記載あります
--------------------------------------------------------------------------*/
.img_switch { visibility: hidden; }

/*--------------------------------------------------------------------------
	別ページ内リンク
--------------------------------------------------------------------------*/
.jn_anchor { display: block; scroll-margin-top: 110px; }

/*--------------------------------------------------------------------------
	・TOP
--------------------------------------------------------------------------*/

/*# sourceMappingURL=main.css.map */
