﻿@charset "UTF-8";
/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

	desktop

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	リセット
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
*, *::before, *::after { box-sizing: border-box; }

html, body, div, object, iframe, p, h1, h2, h3, h4, h5, h6, blockquote, pre, abbr, address, cite, code, del, dfn, img, ins, kbd, q, samp, small, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, pre, input, textarea, button, fieldset, form, label, legend { margin: 0; padding: 0; border: 0; font: inherit; vertical-align: baseline; }

html { font-size: 15px; }

body { font-family: "Noto Sans JP", sans-serif; color: #333; text-align: left; background-color: #202020; overflow-x: hidden; line-height: 1.8em; -webkit-text-size-adjust: 100%; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; position: relative; }

article::after, aside::after, details::after, figcaption::after, figure::after, footer::after, header::after, hgroup::after, menu::after, nav::after, section::after { clear: both; content: ""; display: block; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

table { border-collapse: collapse; border-spacing: 0; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3 { font-family: "Noto Sans JP", sans-serif; line-height: 1; }

ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }

pre { white-space: pre-wrap; word-wrap: break-word; max-width: 100%; }

p { word-wrap: break-word; }

img { max-width: 100% !important; height: auto; vertical-align: middle; }

a { color: #333; }

a:hover { color: #B20000; }

small { font-size: 0.7rem; }

a, area, button, [role="button"], input:not([type=range]), label, select, summary, textarea { -ms-touch-action: manipulation; touch-action: manipulation; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	グリッド
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* mainとasideの囲み
---------------------------------------- */
#content { clear: both; }

#content::after { clear: both; content: ""; display: block; }

/* 全体(grid)幅　＞　一列(onerow)　＞カラム (col)
---------------------------------------- */
.grid, .grid-d { /* 全体幅 1050px・1 */ clear: both; width: 1050px; margin: 0 auto; padding: 0; display: block; }

.grid::after, .grid-d::after { clear: both; content: ""; display: block; }

.grid::after, .grid-d::after { clear: both; content: ""; display: block; }

.row { /* 一行 */ display: block; clear: both; overflow: hidden; }

.row::after { clear: both; content: ""; display: block; }

.col { /* 一列 */ float: left; text-align: left; display: block; }

.col-0, .col-0-d { display: none !important; }

.col-1, .col-1-d { /* 60px */ float: left; text-align: left; display: block; width: 5.71429%; margin: 0 2.85714% 0 0; }

.col-2, .col-2-d { /* 150px */ float: left; text-align: left; display: block; width: 14.28571%; margin: 0 2.85714% 0 0; }

.col-3, .one_fourth, .col-3-d { /* 240px */ float: left; text-align: left; display: block; width: 22.85714%; margin: 0 2.85714% 0 0; }

.col-4, .br-3 .col, .br-3 .col-4, .one_third, .col-4-d { /* 330px */ float: left; text-align: left; display: block; width: 31.42857%; margin: 0 2.85714% 0 0; }

.col-5, .col-5-d { /* 420px */ float: left; text-align: left; display: block; width: 40%; margin: 0 2.85714% 0 0; }

.col-6, .br-2 .col, .br-2 .col-6, .one_half, .col-6-d { /* 510px */ float: left; text-align: left; display: block; width: 48.57143%; margin: 0 2.85714% 0 0; }

.col-7, .col-7-d { /* 600px */ float: left; text-align: left; display: block; width: 57.14286%; margin: 0 2.85714% 0 0; }

.col-8, .two_third, .col-8-d { /* 690px */ float: left; text-align: left; display: block; width: 65.71429%; margin: 0 2.85714% 0 0; }

.col-9, .three_fourth, .col-9-d { /* 780px */ float: left; text-align: left; display: block; width: 74.28571%; margin: 0 2.85714% 0 0; }

.col-10, .col-10-d { /* 870px */ float: left; text-align: left; display: block; width: 82.85714%; margin: 0 2.85714% 0 0; }

.col-11, .col-11-d { /* 960px */ float: left; text-align: left; display: block; width: 91.42857%; margin: 0 2.85714% 0 0; }

.col-12, .col-12-d { /* 1050px */ float: left; text-align: left; display: block; width: 100%; margin: 0; }

.offset-1, .offset-1-d { margin-left: 8.57143%; }

.offset-2, .offset-2-d { margin-left: 17.14286%; }

.offset-3, .offset-3-d { margin-left: 25.71429%; }

.offset-4, .offset-4-d { margin-left: 34.28571%; }

.offset-5, .offset-5-d { margin-left: 42.85714%; }

.offset-6, .offset-6-d { margin-left: 51.42857%; }

.offset-7, .offset-7-d { margin-left: 60%; }

.offset-8, .offset-8-d { margin-left: 68.57143%; }

.offset-9, .offset-9-d { margin-left: 77.14286%; }

.offset-10, .offset-10-d { margin-left: 85.71429%; }

.offset-11, .offset-11-d { margin-left: 94.28571%; }

.offset-12, .offset-12-d { margin-left: 102.85714%; }

.col-last, .col-last-d { /* 最後のカラム */ margin-right: 0; float: left; text-align: left; display: block; }

/* ●列ごとに改行
---------------------------------------- */
.br-3 .col:nth-child(3n+3), .br-3 .col:nth-child(3n+3), .br-3 .col-4:nth-child(3n+3), .br-3 .one_third:nth-child(3n+3) { margin-right: 0; }

.br-2 .col:nth-child(2n+2), .br-2 .col:nth-child(2n+2), .br-2 .col-6:nth-child(2n+2), .br-2 .one_half:nth-child(2n+2) { margin-right: 0 !important; }

/* 左右反転
---------------------------------------- */
.col-inverse { float: right; margin-left: 0 !important; margin-right: 0 !important; }

/* Column Shortcodes
---------------------------------------- */
.one_half { margin-right: 2.85714%; }

.one_third { margin-right: 2.85714%; }

.two_third { margin-right: 2.85714%; }

.one_fourth { margin-right: 2.85714%; }

.three_fourth { margin-right: 2.85714%; }

.last_column { margin: 0 !important; }

.content-column { margin-bottom: 30px; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　ボックス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* margin,padding　マージン
---------------------------------------- */
.mt-0, .mt-0-d { margin-top: 0px !important; }

.mr-0, .mr-0-d { margin-right: 0px !important; }

.mb-0, .mb-0-d { margin-bottom: 0px !important; }

.ml-0, .ml-0-d { margin-left: 0px !important; }

.mv-0, .mv-0-d { margin-top: 0px !important; margin-bottom: 0px !important; }

.mh-0, .mh-0-d { margin-left: 0px !important; margin-right: 0px !important; }

.m-0, .m-0-d { margin: 0px !important; }

.pt-0, .pt-0-d { padding-top: 0px !important; }

.pr-0, .pr-0-d { padding-right: 0px !important; }

.pb-0, .pb-0-d { padding-bottom: 0px !important; }

.pl-0, .pl-0-d { padding-left: 0px !important; }

.pv-0, .pv-0-d { padding-top: 0px !important; padding-bottom: 0px !important; }

.ph-0, .ph-0-d { padding-left: 0px !important; padding-right: 0px !important; }

.p-0, .p-0-d { padding: 0px !important; }

.mt-10, .mt-10-d { margin-top: 10px !important; }

.mr-10, .mr-10-d { margin-right: 10px !important; }

.mb-10, .mb-10-d { margin-bottom: 10px !important; }

.ml-10, .ml-10-d { margin-left: 10px !important; }

.mv-10, .mv-10-d { margin-top: 10px !important; margin-bottom: 10px !important; }

.mh-10, .mh-10-d { margin-left: 10px !important; margin-right: 10px !important; }

.m-10, .m-10-d { margin: 10px !important; }

.pt-10, .pt-10-d { padding-top: 10px !important; }

.pr-10, .pr-10-d { padding-right: 10px !important; }

.pb-10, .pb-10-d { padding-bottom: 10px !important; }

.pl-10, .pl-10-d { padding-left: 10px !important; }

.pv-10, .pv-10-d { padding-top: 10px !important; padding-bottom: 10px !important; }

.ph-10, .ph-10-d { padding-left: 10px !important; padding-right: 10px !important; }

.p-10, .p-10-d { padding: 10px !important; }

.mt-20, .mt-20-d { margin-top: 20px !important; }

.mr-20, .mr-20-d { margin-right: 20px !important; }

.mb-20, .mb-20-d { margin-bottom: 20px !important; }

.ml-20, .ml-20-d { margin-left: 20px !important; }

.mv-20, .mv-20-d { margin-top: 20px !important; margin-bottom: 20px !important; }

.mh-20, .mh-20-d { margin-left: 20px !important; margin-right: 20px !important; }

.m-20, .m-20-d { margin: 20px !important; }

.pt-20, .pt-20-d { padding-top: 20px !important; }

.pr-20, .pr-20-d { padding-right: 20px !important; }

.pb-20, .pb-20-d { padding-bottom: 20px !important; }

.pl-20, .pl-20-d { padding-left: 20px !important; }

.pv-20, .pv-20-d { padding-top: 20px !important; padding-bottom: 20px !important; }

.ph-20, .ph-20-d { padding-left: 20px !important; padding-right: 20px !important; }

.p-20, .p-20-d { padding: 20px !important; }

.mt-30, .mt-30-d { margin-top: 30px !important; }

.mr-30, .mr-30-d { margin-right: 30px !important; }

.mb-30, .mb-30-d { margin-bottom: 30px !important; }

.ml-30, .ml-30-d { margin-left: 30px !important; }

.mv-30, .mv-30-d { margin-top: 30px !important; margin-bottom: 30px !important; }

.mh-30, .mh-30-d { margin-left: 30px !important; margin-right: 30px !important; }

.m-30, .m-30-d { margin: 30px !important; }

.pt-30, .pt-30-d { padding-top: 30px !important; }

.pr-30, .pr-30-d { padding-right: 30px !important; }

.pb-30, .pb-30-d { padding-bottom: 30px !important; }

.pl-30, .pl-30-d { padding-left: 30px !important; }

.pv-30, .pv-30-d { padding-top: 30px !important; padding-bottom: 30px !important; }

.ph-30, .ph-30-d { padding-left: 30px !important; padding-right: 30px !important; }

.p-30, .p-30-d { padding: 30px !important; }

.mt-40, .mt-40-d { margin-top: 40px !important; }

.mr-40, .mr-40-d { margin-right: 40px !important; }

.mb-40, .mb-40-d { margin-bottom: 40px !important; }

.ml-40, .ml-40-d { margin-left: 40px !important; }

.mv-40, .mv-40-d { margin-top: 40px !important; margin-bottom: 40px !important; }

.mh-40, .mh-40-d { margin-left: 40px !important; margin-right: 40px !important; }

.m-40, .m-40-d { margin: 40px !important; }

.pt-40, .pt-40-d { padding-top: 40px !important; }

.pr-40, .pr-40-d { padding-right: 40px !important; }

.pb-40, .pb-40-d { padding-bottom: 40px !important; }

.pl-40, .pl-40-d { padding-left: 40px !important; }

.pv-40, .pv-40-d { padding-top: 40px !important; padding-bottom: 40px !important; }

.ph-40, .ph-40-d { padding-left: 40px !important; padding-right: 40px !important; }

.p-40, .p-40-d { padding: 40px !important; }

/* 表示・非表示
---------------------------------------- */
.d-b { display: block; }

.d-n { display: none; }

.d-i { display: inline; }

.d-ib { display: inline-block; }

.d-t { display: table; }

.d-tc { display: table-cell; }

/* メディア別表示・非表示
---------------------------------------- */
.show-d { display: block !important; }

.none-d { display: none !important; }

.show-p { display: none !important; }

.none-p { display: block !important; }

/* 回り込み解除
---------------------------------------- */
.clear, .cl, .cl-b { clear: both; }

.clearfix::after, .cf::after { clear: both; content: ""; display: block; }

/* フロート
---------------------------------------- */
.fl-l, .fl-l-d { float: left; }

.fl-r, .fl-r-d { float: right; }

/* オーバーフロー
---------------------------------------- */
.ov-h, .ov-h-d { overflow: hidden; }

.ov-v, .ov-v-d { overflow: visible; }

.ov-s, .ov-s-d { overflow: scroll; }

.ovx-s, .ovx-s-d { overflow-x: scroll; }

.ovy-s, .ovy-s-d { overflow-y: scroll; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　flexbox
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
.flex-mc { /* 縦中央・横中央寄せ */ display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: center; -webkit-justify-content: center; -webkit-align-content: auto; align-content: auto; }

.flex-ml { /* 縦中央・横左寄せ */ display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: flex-start; -webkit-justify-content: flex-start; -webkit-align-content: auto; align-content: auto; }

.flex-mr { /* 縦中央・横右寄せ */ display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: flex-end; -webkit-justify-content: flex-end; -webkit-align-content: auto; align-content: auto; }

.flex-msb { /* 縦中央・横最初と最後両端他等間隔 */ display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: space-between; -webkit-justify-content: space-between; -webkit-align-content: auto; align-content: auto; }

.flex-tl { /* 縦上・横上寄せ */ display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: flex-start; align-items: flex-start; justify-content: flex-start; -webkit-justify-content: flex-start; -webkit-align-content: auto; align-content: auto; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	タイポグラフィ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* フォントサイズ
---------------------------------------- */
.fz-1, .fz-1-d { font-size: 1rem; }

.fz-2, .fz-2-d { font-size: 2rem; }

.fz-3, .fz-3-d { font-size: 3rem; }

.fz-0_1, .fz-0_1-d { font-size: 0.1rem; }

.fz-0_2, .fz-0_2-d { font-size: 0.2rem; }

.fz-0_3, .fz-0_3-d { font-size: 0.3rem; }

.fz-0_4, .fz-0_4-d { font-size: 0.4rem; }

.fz-0_5, .fz-0_5-d { font-size: 0.5rem; }

.fz-0_6, .fz-0_6-d { font-size: 0.6rem; }

.fz-0_7, .fz-0_7-d { font-size: 0.7rem; }

.fz-0_8, .fz-0_8-d { font-size: 0.8rem; }

.fz-0_9, .fz-0_9-d { font-size: 0.9rem; }

.fz-1_1, .fz-1_1-d { font-size: 1.1rem; }

.fz-1_2, .fz-1_2-d { font-size: 1.2rem; }

.fz-1_3, .fz-1_3-d { font-size: 1.3rem; }

.fz-1_4, .fz-1_4-d { font-size: 1.4rem; }

.fz-1_5, .fz-1_5-d { font-size: 1.5rem; }

.fz-1_6, .fz-1_6-d { font-size: 1.6rem; }

.fz-1_7, .fz-1_7-d { font-size: 1.7rem; }

.fz-1_8, .fz-1_8-d { font-size: 1.8rem; }

.fz-1_9, .fz-1_9-d { font-size: 1.9rem; }

.fz-2_1, .fz-2_1-d { font-size: 2.1rem; }

.fz-2_2, .fz-2_2-d { font-size: 2.2rem; }

.fz-2_3, .fz-2_3-d { font-size: 2.3rem; }

.fz-2_4, .fz-2_4-d { font-size: 2.4rem; }

.fz-2_5, .fz-2_5-d { font-size: 2.5rem; }

.fz-2_6, .fz-2_6-d { font-size: 2.6rem; }

.fz-2_7, .fz-2_7-d { font-size: 2.7rem; }

.fz-2_8, .fz-2_8-d { font-size: 2.8rem; }

.fz-2_9, .fz-2_9-d { font-size: 2.9rem; }

/* 太字・テキスト装飾
---------------------------------------- */
.fw-b { font-weight: bold; }

.fw-n { font-weight: normal; }

.td-n { text-decoration: none; }

/* 改行
---------------------------------------- */
.whs-n, .whs-n-d { white-space: normal; }

.whs-p, .whs-p-d { white-space: pre; }

.whs-nw, .whs-nw-d { white-space: nowrap; }

.whs-pw, .whs-pw-d { white-space: pre-wrap; }

br.pbr { display: none; }

/* align
---------------------------------------- */
.ta-l, .alignlight, .left, .ta-l-d { text-align: left !important; }

.ta-c, .aligncenter, .center, .ta-c-d { text-align: center !important; }

.ta-r, .alignright, .right, .ta-r-d { text-align: right !important; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　図表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* リンク画像透明化
---------------------------------------- */
a:hover img, a:hover button { opacity: 0.8; }

/* 画像サイズ
---------------------------------------- */
img.retina { zoom: 1; }

img.full { width: 100%; height: auto; }

img.half { zoom: 0.5; }

/* レスポンシブで画像←→テキスト入れ替え
---------------------------------------- */
.dtl img { visibility: visible; }

/* 画像に並ぶテキストの位置
---------------------------------------- */
img.va-t { vertical-align: top; }

img.va-m { vertical-align: middle; }

img.va-b { vertical-align: bottom; }

/* 画像位置
---------------------------------------- */
img.alignleft, .wp-caption.alignleft { clear: both; display: block; margin-left: 0px; margin-right: auto; }

img.aligncenter, .wp-caption.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }

img.alignright, .wp-caption.alignright { clear: both; display: block; margin-left: auto; margin-right: 0px; }

/* キャプション
---------------------------------------- */
figure, .wp-caption { display: inline-block; position: relative; max-width: 100% !important; margin-bottom: 20px; }

figure img, .wp-caption img { width: 100%; height: auto; zoom: 1; margin-bottom: 0 !important; }

figure figcaption, figure .wp-caption-text, .wp-caption figcaption, .wp-caption .wp-caption-text { position: absolute; width: 100%; height: auto; bottom: 0px !important; left: 0px !important; color: #fff !important; text-align: center; background-color: rgba(10, 10, 10, 0.5); padding: 5px; margin-bottom: 0 !important; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	色　http://goo.gl/xdcMU2　http://goo.gl/vlqZQ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* 文字色
---------------------------------------- */
.c-red { color: #B20000; }

.c-base { color: #333; }

/* 背景色
---------------------------------------- */
.bgc-dark { background-color: #3a3a3a; }

.bgc-black { background-color: #000; }

.bgc-grey { background-color: #eee; }

.bgc-base { background-color: #202020; }

/* 線色
---------------------------------------- */
.bdc-light { border-color: #eee; }

.bdc-base { border-color: #ccc; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　アイコン・リスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* アイコン
---------------------------------------- */
.ico-none { /* アイコン無し */ padding-left: 0; background: none; }

/* 数字リスト
---------------------------------------- */
ol { counter-reset: number; /* 名前を付けたカウンターをリセット */ list-style: none; /* olが数字を付けることをキャンセル */ margin: 0 0 20px 0; padding: 0; }

ol li { padding: 8px 10px; border-bottom: solid 1px #ccc; }

ol li:before { /* カウンタ（数字になる部分） */ counter-increment: number; /* 任意名前を付けて！ */ content: counter(number) "."; /* 名前を付けたカウンターを呼び出し */ font-weight: bold; padding: 0 5px; color: #333; border-radius: 3px; display: inline-block; margin-right: 10px; }

ol li:nth-child(2n+1) { background-color: #fafafa; }

ol li:first-child { border-top: solid 2px #ccc; }

ol li:last-child { border-bottom: solid 2px #ccc; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　ボタン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* CSSボタン
---------------------------------------- */
/* 回転
---------------------------------------- */
.rotate-x { transform: rotateX(350deg); transition: .3s; }

.rotate-x { transform: rotateY(350deg); transition: .3s; }

/* ふわっとhover
---------------------------------------- */
/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　ヘルパー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
hr { border-top: solid 1px #eee; border-bottom: solid 1px #fff; margin: 30px 0; }

/* tablepress
---------------------------------------- */
table.tablepress { border-bottom: solid 2px #eee; border-top: solid 2px #eee; }

table.tablepress th, table.tablepress td { line-height: 2; }

table.tablepress th { font-weight: bold; text-align: center; }

table.tablepress.whs-n-1 td:first-child { white-space: nowrap; }

table.tablepress.col-1-nw td.column-1 { white-space: nowrap !important; }

/* ページネーション
---------------------------------------- */
#pagination ul { margin-left: auto; margin-right: auto; display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; justify-content: flex-start; -webkit-justify-content: flex-start; -webkit-align-content: auto; align-content: auto; margin-top: 30px; }

#pagination ul li { margin: 5px; }

#pagination ul li a, #pagination ul li span { background-color: #eee; display: block; width: 100%; height: 100%; text-decoration: none; padding: 10px 15px; }

#pagination ul li span { background-color: #999; }

#pagination ul li a:hover { background-color: #B20000; color: #fff; }

/* スクロール追随ボタン
---------------------------------------- */
#scroll { bottom: 0px !important; right: 0px !important; position: fixed; z-index: 10000; opacity: 0.9; }

#scroll ul { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: flex-end; align-items: flex-end; justify-content: flex-end; -webkit-justify-content: flex-end; -webkit-align-content: auto; align-content: auto; }

/* cursor
---------------------------------------- */
.cur-p { cursor: pointer; }

/* 三角 http://goo.gl/ONPw4r
---------------------------------------- */
/* メールフォーム
---------------------------------------- */
.wpcf7 .contactform { background-color: transparent; padding: 30px 50px; }

.wpcf7 div.row { border-bottom: solid 1px #eee; width: 100%; padding-bottom: 20px; margin-bottom: 20px; display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: flex-start; align-items: flex-start; justify-content: flex-start; -webkit-justify-content: flex-start; -webkit-align-content: center; align-content: center; }

.wpcf7 div.row ul:first-child { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: space-between; -webkit-justify-content: space-between; -webkit-align-content: auto; align-content: auto; width: 40%; }

.wpcf7 div.row ul:last-child { width: 60%; }

.wpcf7 div.row li { background-image: none !important; padding: 0 15px; }

.wpcf7 span.hissu, .wpcf7 span.nini { /* 必須＆任意 */ margin-left: 10px !important; margin-bottom: 5px !important; color: #FFF; font-size: 0.6rem; white-space: nowrap; padding: 3px 5px 3px 10px; letter-spacing: 5px; }

.wpcf7 .hissu { /* 必須 */ background-color: #cc0000; }

.wpcf7 .nini { /*　任意 */ background-color: #9e9e9e; }

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea { font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; line-height: 2; padding: 3px 5px; margin: 1px 0; background-color: #fff; border: solid 1px #eee; font-size: 1rem; width: 100%; border-radius: 2px; }

.wpcf7 input.short { width: 120px; margin: 0 5px; }

.wpcf7 input[type="checkbox"] { width: 20px; height: 20px; margin-bottom: 5px; border: solid 1px #eee; }

.wpcf7 input[type="radio"] { width: 20px; height: 20px; margin-bottom: 5px; border: solid 1px #eee; }

.wpcf7 input[type="button"], .wpcf7 input[type="submit"] { padding: 10px 20px; border-radius: 5px; cursor: pointer; }

.wpcf7 .wpcf7-submit { /* ボタン送信 */ -webkit-appearance: none; color: #fff; background-color: #cc0000; padding: 15px 50px; margin-bottom: 3px; border: solid 1px #660000; border-bottom: solid 3px #660000; }

.wpcf7 .wpcf7-submit:hover { opacity: 0.9; border-bottom: solid 1px #660000; margin-top: 3px; margin-bottom: 0; }

.wpcf7 .wpcf7-not-valid-tip, .wpcf7 .wpcf7-validation-errors { /* エラー */ color: #cc0000 !important; font-weight: bold; }

.wpcf7 .wpcf7-mail-sent-ok { /* 送信完了 */ font-weight: bold; background-color: #fff; }

.wpcf7 #zip { /* 郵便番号 */ margin-bottom: 5px; }

.wpcf7 .wpcf7-acceptance span { margin-right: 10px; }

.wpcf7 .submitbtn { text-align: center; margin-top: 50px; }

.sent .contactform, .sent .btns, .sent .submitchk, .sent .submitbtn { /* 送信後 */ display: none !important; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　プロジェクト共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
h1, h2, .h1, .h2 { letter-spacing: 3px; }

h3, h4, h5, h6, .h3 { letter-spacing: 2px; }

p, pre { letter-spacing: 1px; }

em { font-style: italic; }

strong { color: #B20000; }

a { text-decoration: none; }

/* content
---------------------------------------- */
body#company #content { background: transparent url(../img/company_content-bg_d.jpg) top no-repeat; }

body#product #content { background: transparent url(../img/product_content-bg_d.jpg) top no-repeat; }

body#recruit #content { background: transparent url(../img/recruit_content-bg_d.jpg) top no-repeat; }

body#message #content { background: transparent url(../img/message_content-bg_d.jpg) top no-repeat; }

body#contact #content, body#privacy-policy #content { background: transparent url(../img/contact_content-bg_d.jpg) top no-repeat; }

body.archive #content, body.single #content, body#news #content { background: transparent url(../img/info_content-bg_d.jpg) top no-repeat; }

#content { background-size: 100% auto !important; }

/* frame
---------------------------------------- */
.frame, aside { background-color: #eee; width: 90%; margin: 0 auto; padding: 0; display: block; padding: 50px; }

.frame::after, aside::after { clear: both; content: ""; display: block; }

@media only screen and (min-width: 768px) and (max-width: 1366px) { .frame, aside { width: 90%; margin: 0 auto; padding: 0; display: block; }
  .frame::after, aside::after { clear: both; content: ""; display: block; }
  .frame .grid, aside .grid, .frame .grid-d, aside .grid-d { width: 90%; padding: 50px 0; } }

.frame h2, aside h2 { color: #B20000; font-weight: bold; text-align: center; line-height: 1.6; font-size: 1.8rem; margin-bottom: 50px; }

.frame h3, aside h3 { color: #fff; background-color: #202020; margin-bottom: 20px; padding: 10px 20px; position: relative; text-align: center; font-size: 1.3rem; line-height: 1.3; }

.frame h3 span, aside h3 span { display: inline-block; background-color: #3a3a3a; position: absolute; top: 0; left: 0; height: 100%; padding: 10px 20px; margin-right: 20px; }

.frame blockquote, aside blockquote { padding: 20px; background-color: #d6d6d6; margin-bottom: 20px; }

.frame blockquote p:last-child, aside blockquote p:last-child { margin-bottom: 0 !important; }

.frame.bgc-black, aside.bgc-black { background-color: #000; }

.frame.bgc-black h1, aside.bgc-black h1 { color: #fff; text-align: center; background: transparent url(../img/bd-red.jpg) center bottom no-repeat; font-size: 2rem; margin-bottom: 50px; padding-bottom: 50px; }

.frame.bgc-black h2, aside.bgc-black h2 { color: #fff; font-weight: normal; background: transparent url(../img/bd-red.jpg) center bottom no-repeat; padding-bottom: 30px; margin-bottom: 30px; }

.frame.bgc-black p, aside.bgc-black p { color: #fff; }

.frame.bgc-black a, aside.bgc-black a { color: #B20000; text-decoration: underline; }

.frame.bgc-black blockquote, aside.bgc-black blockquote { background-color: #202020; padding: 20px; }

.frame.bgc-black blockquote p:last-child, aside.bgc-black blockquote p:last-child { margin-bottom: 0; }

.frame div.narrow, aside div.narrow { width: 90%; margin: 0 auto; padding: 0; display: block; max-width: 900px; margin-bottom: 20px; }

.frame div.narrow::after, aside div.narrow::after { clear: both; content: ""; display: block; }

/* card
---------------------------------------- */
body.single aside .card, body.archive main .card, body#news main .card { display: block; position: relative; background-color: #fff; text-decoration: none !important; margin-bottom: 30px; display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: stretch; align-items: stretch; justify-content: space-between; -webkit-justify-content: space-between; -webkit-align-content: auto; align-content: auto; }

body.single aside .card .wrap-txt, body.archive main .card .wrap-txt, body#news main .card .wrap-txt { align-self: center; padding: 10px 20px; }

body.single aside .card .wrap-txt p.time, body.archive main .card .wrap-txt p.time, body#news main .card .wrap-txt p.time { font-size: 0.8rem; margin-bottom: 5px; line-height: 1; color: #333; }

body.single aside .card .wrap-txt p.ttl, body.archive main .card .wrap-txt p.ttl, body#news main .card .wrap-txt p.ttl { margin: 0; line-height: 1.5; color: #333; }

body.single aside .card .wrap-txt p.cat, body.archive main .card .wrap-txt p.cat, body#news main .card .wrap-txt p.cat { position: absolute; top: 0; right: 0; display: inline-block; background-color: #B20000; line-height: 1; padding: 3px 8px 5px 8px; color: #fff; font-size: 0.7rem; z-index: 10; }

body.single aside .card .wrap-thumb, body.archive main .card .wrap-thumb, body#news main .card .wrap-thumb { flex-basis: 150px; }

body.single aside .card .wrap-thumb img, body.archive main .card .wrap-thumb img, body#news main .card .wrap-thumb img { max-width: 150px; height: 100%; overflow: hidden; }

body.single aside .card:hover, body.archive main .card:hover, body#news main .card:hover { background-color: #B20000; transition-property: all; transition: 0.3s linear; }

body.single aside .card:hover p.time, body.single aside .card:hover p.ttl, body.archive main .card:hover p.time, body.archive main .card:hover p.ttl, body#news main .card:hover p.time, body#news main .card:hover p.ttl { color: #fff !important; }

body.single aside .card:hover p.cat, body.archive main .card:hover p.cat, body#news main .card:hover p.cat { background-color: #fff !important; color: #B20000 !important; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　ヘッダ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
header #header-wrap { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: space-between; -webkit-justify-content: space-between; -webkit-align-content: auto; align-content: auto; overflow: hidden; }

header #header-wrap #header-l { flex-basis: 30%; padding: 20px; }

header #header-wrap #header-l img { width: 100%; }

header #header-wrap #header-r { flex-basis: 70%; }

/* home
---------------------------------------- */
body.home header { background-image: none; background-color: transparent; height: 96vh; }

body.home header .wrap { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: flex-start; -webkit-justify-content: flex-start; -webkit-align-content: auto; align-content: auto; height: 130%; width: 100%; }

body.home header #header-home { text-align: left; color: #fff; border-left: solid 50px #B20000; padding: 20px 50px 70px 50px; }

@media only screen and (min-width: 768px) and (max-width: 1366px) { body.home header #header-home { background-position: 50px 130px; background-size: 140px 118px; padding: 20px 50px 50px 50px; } }

body.home header #header-home .ttl h2 { font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; text-shadow: 1px 1px 5px #000; font-size: 100px; letter-spacing: 5px; padding-bottom: 40px; }

@media only screen and (min-width: 768px) and (max-width: 1366px) { body.home header #header-home .ttl h2 { font-size: 80px; padding-bottom: 40px; } }

body.home header #header-home .ttl h2 span { color: #B20000 !important; }

body.home header #header-home .txt { text-shadow: 1px 1px 5px #000; background: transparent url(../img/home_intro-50years.png) left no-repeat; background-size: 160px 144px; height: 163px; letter-spacing: 5px; padding: 20px 0 0 220px; white-space: pre-wrap; font-size: 1.9rem; line-height: 1.6; }

@media only screen and (min-width: 768px) and (max-width: 1366px) { body.home header #header-home .txt { padding-left: 180px; } }

/* トップページ背景
---------------------------------------- */
/* leaf
---------------------------------------- */
body.leaf header { background: #202020 url(../img/body-bg.jpg) 0 0 repeat; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　ナビゲーション
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
ul.cnav li:hover { transform: rotateX(350deg); transition: .3s; }

ul.cnav li:hover a { color: #fff; }

ul.cnav li.contact a { background-color: #000; }

ul.cnav li.contact a:hover { background-color: #333333; }

ul.cnav li.menu a { background-color: #404040; }

ul.cnav li.tel a { font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; background-color: #B20000; }

ul.cnav li.tel a:hover { background-color: #cc0000; }

nav { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: flex-end; -webkit-justify-content: flex-end; -webkit-align-content: auto; align-content: auto; padding: 20px 0; }

nav ul { border-bottom: solid 1px #fff; padding-bottom: 20px; }

nav ul li a { display: block; padding: 10px 20px; color: #fff; letter-spacing: 2px; font-weight: 500; }

@media only screen and (min-width: 768px) and (max-width: 1366px) { nav ul li a { padding: 10px 15px; } }

nav ul#gnav { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: space-between; -webkit-justify-content: space-between; -webkit-align-content: auto; align-content: auto; }

nav ul#gnav li a { text-shadow: 1px 1px 5px #000; }

nav ul.cnav { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: flex-end; -webkit-justify-content: flex-end; -webkit-align-content: auto; align-content: auto; }

nav ul.cnav img { zoom: 0.4; vertical-align: middle; margin-right: 15px; }

nav ul.cnav li.menu { display: none; }

nav ul.cnav svg { margin-right: 5px; }

@media only screen and (min-width: 768px) and (max-width: 1366px) { nav ul.cnav img { display: none !important; } }

body.leaf ul { border-bottom: none; padding-bottom: 0px; }

nav#js-nav { position: fixed; display: table; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.9); transition: all, 0.5s; visibility: hidden; opacity: 0; }

nav#js-nav ul { display: table-cell; vertical-align: middle; }

nav#js-nav ul li { width: 400px; height: 50px; line-height: 50px; margin: 0 auto; text-align: center; }

nav#js-nav ul li a { display: block; font-size: 1.2rem; color: #fff; background-image: none !important; }

nav#js-nav ul li a:hover { color: #999; }

.modalopen #js-nav { cursor: url(../img/close.png), auto; z-index: 20000; transition: all, 0.5s; visibility: visible; opacity: 1; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　メインエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
main section { overflow: hidden !important; }

main .ff-min { font-family: MotoyaSeikaiStd-W3; }

/* leaf
---------------------------------------- */
body.leaf main { padding-bottom: 100px; }

body.leaf main #page-head { color: #fff; text-shadow: 1px 1px 5px #000; border-left: solid 50px #B20000; padding: 80px 0 25px 50px; margin-bottom: 230px; }

@media only screen and (min-width: 768px) and (max-width: 1366px) { body.leaf main #page-head { margin-bottom: 130px; } }

body.leaf main #page-head p.en { line-height: 1; font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; font-size: 5rem; letter-spacing: 5px; margin-bottom: 40px; }

body.leaf main #page-head p.en span { color: #B20000; }

body.leaf main #page-head h1, body.leaf main #page-head .h1 { font-size: 1.5rem; }

body.leaf main #page-body p { margin-bottom: 20px; }

body.leaf main #page-body table.tablepress { border-bottom: solid 2px #ccc; border-top: solid 2px #ccc; }

body.leaf main #page-body table.tablepress th, body.leaf main #page-body table.tablepress td { padding-right: 30px; padding-left: 30px; }

body.leaf main #page-body table.tablepress th { color: #fff; background-color: #202020; text-align: left; }

body.leaf main #page-body .tbl-wrap { width: 100%; overflow-x: scroll; }

body.leaf main #page-body .tbl-wrap th { white-space: pre; }

/* post
---------------------------------------- */
body.page main #page-body .bgc-black h2 { color: #fff; font-weight: normal; }

/* single
---------------------------------------- */
body.single main { padding-bottom: 50px; }

body.single main #entry-head { border-bottom: solid 2px #ccc; margin-bottom: 40px; padding-bottom: 40px; text-align: center; }

body.single main #entry-head h1 { line-height: 1.5; }

body.single main #entry-body { border-bottom: solid 2px #ccc; margin-bottom: 40px; padding-bottom: 40px; font-size: 18px; line-height: 2; }

body.single main #entry-body h2 { background-color: #202020; background-image: none !important; padding: 5px; border-bottom: solid 2px #B20000; color: #B20000 !important; font-size: 1.5rem; }

body.single main #entry-body li { color: #fff; background: transparent url(../img/ico-list.png) left no-repeat; background-size: 9px 9px; padding-left: 18px; }

body.single main #entry-body strong { font-weight: bold; color: #B20000 !important; }

body.single main #entry-foot ul { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: space-between; -webkit-justify-content: space-between; -webkit-align-content: auto; align-content: auto; }

body.single main #share { margin-top: 50px; }

body.single main #share ul { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: center; -webkit-justify-content: center; -webkit-align-content: auto; align-content: auto; }

body.single main #share ul li:first-child { font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; font-size: 1.5rem; color: #ccc; padding: 0 30px; }

body.single main #link { margin-top: 50px; }

/* archive
---------------------------------------- */
body#news main, body.archive main, body.single aside { padding-bottom: 50px; }

body#news main #wp_page_numbers, body.archive main #wp_page_numbers, body.single aside #wp_page_numbers { background-color: transparent; }

body#news main #wp_page_numbers ul, body.archive main #wp_page_numbers ul, body.single aside #wp_page_numbers ul { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: center; -webkit-justify-content: center; -webkit-align-content: auto; align-content: auto; background-color: transparent; }

body#news main #wp_page_numbers li, body.archive main #wp_page_numbers li, body.single aside #wp_page_numbers li { background-color: transparent; font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; }

body#news main #wp_page_numbers li a, body.archive main #wp_page_numbers li a, body.single aside #wp_page_numbers li a { border: none; background-color: #ccc; color: #B20000; }

body#news main #wp_page_numbers li a:hover, body.archive main #wp_page_numbers li a:hover, body.single aside #wp_page_numbers li a:hover { background-color: #B20000; color: #fff; }

body#news main #wp_page_numbers li.active_page a, body.archive main #wp_page_numbers li.active_page a, body.single aside #wp_page_numbers li.active_page a { background-color: #B20000; }

/* company
---------------------------------------- */
body#company main table.tablepress.tbl-enkaku td.column-1 { padding-right: 0; white-space: pre; }

body#company main table.tablepress.tbl-enkaku td.column-2 { padding-right: 5px; padding-left: 5px; white-space: pre; padding-right: 0; padding-left: 0; }

body#company main table.tablepress.tbl-enkaku td.column-3 { text-align: right; white-space: pre; padding-right: 5px; padding-left: 5px; }

/* product
---------------------------------------- */
body#product main table.tablepress.tbl-setsubi-1 th.column-5, body#product main table.tablepress.tbl-setsubi-1 td.column-5 { text-align: center !important; }

body#product main table.tablepress.tbl-setsubi-1 td { white-space: nowrap; }

body#product main table.tablepress.tbl-setsubi-2 th.column-2, body#product main table.tablepress.tbl-setsubi-2 td.column-2 { text-align: center !important; }

/* recruit
---------------------------------------- */
body#message main .voice { background-color: #202020; margin: 20px 0; }

body#message main .voice .content-column { margin-bottom: 0 !important; }

body#message main .voice * { color: #fff; text-align: left !important; font-size: 1.2rem !important; font-weight: bold; }

body#message main .voice h3 { color: #ccc !important; padding-left: 0 !important; margin: 30px 30px 20px 30px; }

body#message main .voice h4 { background: transparent url(../img/bd-red.jpg) left bottom no-repeat; margin: 0px 30px 30px 30px; padding-bottom: 30px; }

body#message main .voice h4 span { font-size: 0.8rem !important; }

body#message main .voice p { margin: 0; line-height: 2; }

body#message main .voice p strong { display: inline-block; margin: 0 30px; }

/* contact
---------------------------------------- */
body#contact main .contactform { color: #fff; }

body#contact main .contactform * { vertical-align: bottom; }

body#contact main .contactform .row { border-bottom: dotted 1px #ccc; padding-bottom: 30px; margin-bottom: 30px; }

body#contact main .contactform .row ul:first-child { width: 30%; }

body#contact main .contactform .row ul:last-child { width: 60%; }

body#contact main .contactform .row-first { border-top: solid 1px #ccc; padding-top: 20px; }

body#contact main .contactform .row-last { border-bottom: solid 1px #ccc; margin-bottom: 50px; }

body#contact main .contactform .submitbtn input[type="submit"] { color: #B20000; background: #B20000 url(../img/contact_submit-btn.png) 0 0 no-repeat; border-radius: 0px; width: 330px; height: 50px; }

/* home
---------------------------------------- */
body.home main figure { margin-bottom: 0; }

body.home main .sec-ttl { text-align: center; margin-bottom: 40px; }

body.home main .sec-ttl p { font-size: 1.1rem; margin-top: 10px; }

body.home main h2 { font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; font-size: 4rem; letter-spacing: 5px; }

body.home main h2 span { color: #B20000; }

body.home main a.card-b { color: #fff; display: block; position: relative; background-color: rgba(0, 0, 0, 0.8); width: 450px; margin: 0 auto; padding: 0; display: block; margin-top: -100px !important; z-index: 2; }

body.home main a.card-b::after { clear: both; content: ""; display: block; }

body.home main a.card-b::after { clear: both; content: ""; display: block; }

body.home main a.card-b:hover { background-color: rgba(0, 0, 0, 0.6); }

body.home main a.card-b:hover p.link { background-color: #cc0000; transform: rotateX(350deg); transition: .3s; }

body.home main a.card-b h2 { padding: 30px 30px 20px 30px; font-size: 1.9rem; letter-spacing: 2px; font-family: "Noto Sans JP", sans-serif; font-weight: normal; }

body.home main a.card-b h2 span { font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; color: #cc0000; font-size: 1.2rem; margin-left: 10px; }

body.home main a.card-b p.desc { padding: 0 30px 20px 30px; }

body.home main a.card-b p.link { background: #B20000 url(../img/ico-arrow.png) right no-repeat; color: #fff; text-align: left; font-size: 1.1rem; padding: 10px 30px; background-size: 55px 50px; }

body.home main section#intro { position: relative; margin-bottom: 50px; }

body.home main section#intro .sec-body { width: 70%; margin: 0 auto; padding: 0; display: block; min-width: 1050px; max-width: 1630px; margin-top: -20px; }

body.home main section#intro .sec-body::after { clear: both; content: ""; display: block; }

body.home main section#intro .sec-body .col { overflow: visible; padding-bottom: 15px; }

body.home main section#intro .sec-body img { position: relative; z-index: 1; }

body.home main .bg-grey { background: #202020 url(../img/body-bg.jpg) 0 0 repeat; padding-top: 430px; margin-top: -400px; }

body.home main section#recruit { background: #202020 url(../img/body-bg.jpg) 0 0 repeat; }

body.home main section#recruit .grid, body.home main section#recruit .grid-d { width: 1900px; margin: 0 auto; padding: 0; display: block; position: relative; left: 50%; margin-left: -950px; height: 630px; }

body.home main section#recruit .grid::after, body.home main section#recruit .grid-d::after { clear: both; content: ""; display: block; }

body.home main section#recruit .grid ul, body.home main section#recruit .grid-d ul { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; justify-content: center; -webkit-justify-content: center; -webkit-align-content: auto; align-content: auto; }

body.home main section#recruit .grid figure, body.home main section#recruit .grid-d figure { display: none; }

body.home main section#recruit .grid a.card-b, body.home main section#recruit .grid-d a.card-b { margin-top: -415px !important; text-align: center; }

body.home main section#recruit .grid a.card-b p.desc, body.home main section#recruit .grid-d a.card-b p.desc { margin-bottom: 10px; }

body.home main section#info { background-color: #eee; padding: 50px 0 80px 0; }

body.home main section#info .col:first-child { padding-right: 10px; }

body.home main section#info .col:last-child { padding-left: 10px; }

body.home main section#info ul { background-color: #000; color: #fff; margin-bottom: 20px; }

body.home main section#info ul li h3 { padding-left: 20px; }

body.home main section#info ul li a { display: inline-block; padding: 4px 44px 4px 14px; color: #fff; background: #B20000 url(../img/ico-arrow.png) right no-repeat; background-size: 32px 30px; }

body.home main section#info ul li a:hover { background-color: #cc0000; transform: rotateX(350deg); transition: .3s; }

body.home main section#info .list a.unit { display: block; border-bottom: solid 1px #ccc; padding-bottom: 10px; margin-bottom: 10px; }

body.home main section#info .list a.unit::after { clear: both; content: ""; display: block; }

body.home main section#info .list a.unit .meta { color: #757575; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　サイドエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
aside { margin-bottom: 100px; background-color: #000; }

aside a { color: #fff; text-decoration: none; margin-right: 5px; }

aside a:hover { color: #B20000; }

aside .widget { display: block; width: 100%; margin-bottom: 40px; }

aside .col-ttl, aside .archive-ttl { background-color: #3a3a3a; color: #fff; padding: 2px 20px; margin-bottom: 30px; }

aside .col-body { color: #fff; }

aside .col-body ul { margin-left: 20px; }

aside .col-body ul li { background: transparent url(../img/ico-list.png) left no-repeat; background-size: 9px 9px; padding-left: 18px; margin-bottom: 5px; }

aside .col-body .screen-reader-text { display: none !important; }

aside .col-body .select-wrap { display: inline-block; position: relative; margin-left: 10px; width: 50%; }

aside .col-body .select-wrap select { background-color: #000; color: #fff; font-family: "Noto Sans JP", sans-serif; padding: 10px 20px; width: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

aside .col-body .select-wrap select:-ms-expand { display: none; }

aside .col-body .select-wrap:after { position: absolute; top: 18px; right: 18px; content: ""; width: 10px; height: 9px; display: inline-block; background: transparent url(../img/ico-select.png) left no-repeat; background-size: 10px 9px; }

/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　フッタ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
footer { background: #202020 url(../img/body-bg.jpg) 0 0 repeat; }

footer #footer-contact { background: #202020 url(../img/footer-contact-bg_d.jpg) center repeat; padding: 100px 0; }

footer #footer-contact .grid, footer #footer-contact .grid-d { background-color: rgba(255, 255, 255, 0.9); text-align: center; padding: 50px; }

footer #footer-contact .grid .div-ttl h2, footer #footer-contact .grid-d .div-ttl h2 { font-family: "Roboto Condensed", sans-serif; font-weight: 700; letter-spacing: 2px; color: #B20000; font-size: 4rem; letter-spacing: 5px; }

footer #footer-contact .grid .div-ttl p, footer #footer-contact .grid-d .div-ttl p { margin-top: 10px; font-size: 1.1rem; }

footer #footer-contact .grid .div-body ul.cnav, footer #footer-contact .grid-d .div-body ul.cnav { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: stretch; align-items: stretch; justify-content: center; -webkit-justify-content: center; -webkit-align-content: auto; align-content: auto; margin: 30px 10%; }

footer #footer-contact .grid .div-body ul.cnav li, footer #footer-contact .grid-d .div-body ul.cnav li { flex-basis: 50%; font-weight: bold; }

footer #footer-contact .grid .div-body ul.cnav li a, footer #footer-contact .grid-d .div-body ul.cnav li a { display: block; color: #fff; padding: 20px 30px; height: 100%; }

footer #footer-contact .grid .div-body ul.cnav li a i, footer #footer-contact .grid-d .div-body ul.cnav li a i { line-height: 1; }

footer #footer-contact .grid .div-body ul.cnav li.contact, footer #footer-contact .grid-d .div-body ul.cnav li.contact { font-size: 1.3rem; letter-spacing: 2px; }

footer #footer-contact .grid .div-body ul.cnav li.contact i, footer #footer-contact .grid-d .div-body ul.cnav li.contact i { background: transparent url(../img/ico-mail.png) left no-repeat; background-size: 30px 28px; padding-left: 50px; }

footer #footer-contact .grid .div-body ul.cnav li.tel, footer #footer-contact .grid-d .div-body ul.cnav li.tel { font-size: 1.8rem; letter-spacing: 4px; letter-spacing: 3px; }

footer #footer-contact .grid .div-body ul.cnav li.tel i, footer #footer-contact .grid-d .div-body ul.cnav li.tel i { background: transparent url(../img/ico-tel.png) left no-repeat; background-size: 30px 28px; padding-left: 50px; }

footer #footer-contact .grid .div-body p.open, footer #footer-contact .grid-d .div-body p.open { font-size: 1.1rem; margin-bottom: 20px; }

footer #footer-contact .grid .div-body p.privacy a, footer #footer-contact .grid-d .div-body p.privacy a { background: transparent url(../img/ico-arrow-b.png) left no-repeat; background-size: 16px 14px; padding-left: 26px; }

footer #footer-info { padding-top: 30px; position: relative; }

footer #footer-info p { color: #ccc; }

footer #footer-info p a { color: #ccc !important; }

footer #footer-info li img { border: solid 1px #555; }

footer #footer-copy { text-align: center; font-family: "Roboto Condensed", sans-serif; font-weight: 400; letter-spacing: 1px; padding: 20px; letter-spacing: 2px; }

footer #footer-copy small, footer #footer-copy a { color: #9e9e9e; }

#scroll #to-home { display: none; }

body.home #to-home { display: none; }
