@charset "UTF-8";
/* common
================================================ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

html { font-size: 62.5%; word-break: break-all; }

body { -webkit-text-size-adjust: 100%; }

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

ul:not([class]), ol:not([class]) { padding-left: 1.25em; }

ul[class], ol[class] { list-style: none; }

_:-ms-lang(x)::-ms-backdrop, ol:not([class]) { padding-left: 1.6em; }

span { font-weight: inherit; }

blockquote, q { quotes: none; }

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

a { color: inherit; }

@media all and (min-width: 768px) { a:hover { text-decoration: none; } }

a[class] { text-decoration: none; }

ins { background-color: #ff9; text-decoration: none; }

mark { background-color: #ff9; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

address { font-style: normal; }

table { width: 100%; table-layout: fixed; border-collapse: collapse; border-spacing: 0; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #e5e5e5; margin: 1em 0; padding: 0; }

img { max-width: 100%; height: auto; vertical-align: bottom; }

/* form
================================================== */
input[type="text"], input[type="email"], input[type="tel"], textarea, button, select, option { display: block; width: 100%; max-width: 100%; font-family: inherit; outline: none; border: 1px solid; border-radius: 0; background: none; }

@media all and (max-width: 767px) { input[type="text"], input[type="email"], input[type="tel"], textarea, button, select, option { font-size: 1.6rem; } }

input[type="text"], input[type="email"], input[type="tel"], textarea, button { -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; }

input[type="radio"], input[type="checkbox"] { margin: 0; padding: 0; vertical-align: middle; }

textarea { resize: vertical; }

button { cursor: pointer; }

/* 02_base
================================================ */
html { overflow: auto; }

body { overflow: hidden; min-width: 320px; font-family: "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","游明朝",YuMincho,"HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝", sans-serif; color: #000; font-size: 1.4rem; line-height: 1.95; letter-spacing: .08em; }

@media all and (min-width: 768px) { body { min-width: 1120px; font-size: 1.6rem; } }

svg { transform-box: fill-box; }

image { -webkit-transform-origin: 100%; transform-origin: 100%; -ms-interpolation-mode: nearest-neighbor; image-rendering: -webkit-optimize-contrast; image-rendering: -moz-crisp-edges; image-rendering: -o-pixelated; image-rendering: pixelated; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.l-wrapper { position: relative; }

@media all and (min-width: 768px) { .l-container.is-col2 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 1200px; margin: 0 auto; }
  .l-container.is-col2 .l-contents { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; width: calc(100% - 250px - 20px); }
  .l-container.is-col2 .l-sidebar { width: 250px; } }

/* utility
================================================ */
/* pc <--> sp
-------------------------------------- */
.u-media-query { display: none; font-family: 'sp'; }

@media all and (min-width: 768px) { .u-media-query { font-family: 'tb'; } }

@media all and (min-width: 1120px) { .u-media-query { font-family: 'pc'; } }

@media all and (max-width: 1119px) { .u-view-pc { display: none !important; } }

@media all and (max-width: 767px) { .u-view-tb { display: none !important; } }

@media all and (min-width: 1120px) { .u-view-tb { display: none !important; } }

@media all and (min-width: 768px) { .u-view-sp { display: none !important; } }

@media all and (max-width: 360px) { .u-view-sp_small { display: none !important; } }

.u-view-sp-small { display: none; }

@media all and (max-width: 360px) { .u-view-sp-small { display: block !important; } }

@media screen and (min-width: 390px) { .u-view-under-tb { display: none !important; } }

@media all and (max-width: 767px) { .u-view-upper-tb { display: none !important; } }

/* text
-------------------------------------- */
.u-uppercase { text-transform: uppercase; }

/* link
-------------------------------------- */
a.u-alpha { display: block; text-decoration: none; }

@media all and (min-width: 768px) { a.u-alpha { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  a.u-alpha:hover { opacity: .7; } }

a.u-zoom { display: block; text-decoration: none; }

a.u-zoom .u-zoom__img { display: block; }

a.u-zoom .u-zoom__img-wrap { display: block; overflow: hidden; }

@media all and (min-width: 768px) { a.u-zoom .u-zoom__img { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  a.u-zoom:hover .u-zoom__img { -webkit-transform: scale(1.1); transform: scale(1.1); } }

/* layout
-------------------------------------- */
.u-inner { -webkit-box-sizing: border-box; box-sizing: border-box; padding-left: 20px; padding-right: 20px; }

@media all and (min-width: 768px) { .u-inner { width: 100%; max-width: 1120px; margin: auto; padding-left: 40px; padding-right: 40px; } }

@media all and (min-width: 1120px) { .u-inner { max-width: 1200px; padding-left: 0; padding-right: 0; } }

/* component
================================================ */
/* .c-bg-gray
================================================== */
.c-bg-gray { background-color: #f2f2f2; }

/*  .c-btn01.has-decoration-border
================================================== */
.c-btn01.has-decoration-border .c-btn01__decoration-border { position: absolute; top: 50%; left: 100%; margin-left: -20px; width: 40px; border-bottom: 1px solid; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; }

.c-btn01.has-decoration-border .c-btn01__decoration-border::after { position: absolute; top: 0; left: 0; z-index: 1; display: block; width: 20px; height: 1px; background: #ffffff; content: ""; opacity: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.c-btn01.has-decoration-border .c-btn01__link { overflow: inherit; }

.c-btn01.has-decoration-border .c-btn01__link::after { display: none; }

@media all and (min-width: 768px) { .c-btn01.has-decoration-border .c-btn01__link:hover .c-btn01__decoration-border { width: 50px; border-color: #333333; }
  .c-btn01.has-decoration-border .c-btn01__link:hover .c-btn01__decoration-border::after { opacity: 1; } }

/*  .c-btn01.is-back
================================================== */
.c-btn01.is-back .c-btn01__btn { color: #171a1e; border-color: #171a1e; }

.c-btn01.is-back .c-btn01__btn::after { right: auto; left: 26px; border-width: 0 0 2px 2px; border-color: #171a1e; -webkit-transform: translateY(-50%) translate(-45deg); transform: translateY(-50%) translate(-45deg); }

.c-btn01.is-back .c-btn01__txt { color: #171a1e; }

@media all and (min-width: 768px) { .c-btn01.is-back .c-btn01__btn::before { background-color: rgba(23, 26, 30, 0.2); }
  .c-btn01.is-back .c-btn01__btn::after { border-width: 0 0 3px 3px; }
  .c-btn01.is-back .c-btn01__btn:hover .c-btn01__txt { color: #171a1e; } }

/*  .c-btn01.is-hover-no-return
================================================== */
@media all and (min-width: 768px) { .c-btn01.is-hover-no-return .c-btn01__bg { left: auto; width: 0; -webkit-transform: translateX(0); transform: translateX(0); }
  .c-btn01.is-hover-no-return .c-btn01__link:hover { background: transparent; }
  .c-btn01.is-hover-no-return .c-btn01__link:hover .c-btn01__bg { width: 100%; left: 0; } }

/*  .c-btn01.is-hover-return
================================================== */
@media all and (min-width: 768px) { .c-btn01.is-hover-return .c-btn01__link:hover { background: transparent; }
  .c-btn01.is-hover-return .c-btn01__link:hover .c-btn01__bg { -webkit-transform: translateX(0); transform: translateX(0); } }

/*  .c-btn01
================================================== */
.c-btn01.is-noborder { width: 270px; }

.c-btn01.is-noborder .c-btn01__link { background: #fff; border: none; }

@media all and (min-width: 768px) { .c-btn01.is-noborder { width: 100%; max-width: 600px; }
  .c-btn01.is-noborder .c-btn01__link { padding: 50px 0; }
  .c-btn01.is-noborder .c-btn01__txt { font-size: 2.0rem; } }

/*  .c-btn01
================================================== */
.c-btn01 { width: 240px; max-width: 100%; margin: 30px auto 0; text-align: center; }

.c-btn01-list { overflow: hidden; margin-bottom: -20px; }

.c-btn01-list .c-btn01 { margin: 0 0 20px; }

.c-btn01__link, .c-btn01__btn { position: relative; overflow: hidden; display: block; padding: 15px 0; border: 1px solid #004619; color: #004619; text-decoration: none; font-weight: bold; }

.c-btn01__link::after, .c-btn01__btn::after { position: absolute; top: 50%; right: 26px; width: 7px; height: 7px; border-style: solid; border-width: 2px 2px 0 0; border-color: #004619; -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); content: ''; }

.c-btn01__link[href*="#"]::after, .c-btn01__btn[href*="#"]::after { -webkit-transform: translateY(-50%) rotate(135deg); transform: translateY(-50%) rotate(135deg); margin-top: -2px; }

.c-btn01__btn { -webkit-appearance: none; -moz-appearance: none; appearance: none; font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; font-size: inherit; }

.c-btn01__txt { position: relative; z-index: 1; }

@media all and (min-width: 768px) { .c-btn01 { max-width: 550px; width: 100%; }
  .c-btn01-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 20px -20px -20px; }
  .c-btn01-list .c-btn01 { width: calc(50% - 20px); margin: 0 10px 20px; }
  .c-btn01-list .c-btn01__link { -webkit-box-sizing: border-box; box-sizing: border-box; }
  .c-btn01__link, .c-btn01__btn { padding: 35px 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .c-btn01__link:before, .c-btn01__btn:before { content: ''; position: absolute; z-index: 1; left: -80%; top: 0; -webkit-transform: skew(50deg); transform: skew(50deg); -webkit-transition-duration: 0.6s; transition-duration: 0.6s; -webkit-transform-origin: top left; transform-origin: top left; width: 0; height: 100%; background-color: #004619; }
  .c-btn01__link::after, .c-btn01__btn::after { z-index: 3; width: 12px; height: 12px; border-width: 3px 3px 0 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .c-btn01__link:hover .c-btn01__txt, .c-btn01__btn:hover .c-btn01__txt { color: #fff; }
  .c-btn01__link:hover:before, .c-btn01__btn:hover:before { width: 180%; height: 100%; }
  .c-btn01__link:hover::after, .c-btn01__btn:hover::after { border-color: #fff; }
  .c-btn01__txt { position: relative; z-index: 2; color: #004619; font-weight: bold; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; } }

/*  .c-btn02.is-blue
================================================== */
.c-btn02.is-blue .c-btn02__link { background-color: #0f5fa3; }

@media all and (min-width: 768px) { .c-btn02.is-blue .c-btn02__link:before { background-color: #2480c3; } }

/*  .c-btn02
================================================== */
.c-btn02 { width: 240px; max-width: 100%; margin: 25px auto 0; text-align: center; }

.c-btn02-list { overflow: hidden; margin-bottom: -20px; }

.c-btn02__link { position: relative; overflow: hidden; display: block; padding: 15px 0; color: #fff; background-color: #033f73; text-decoration: none; font-weight: bold; z-index: 2; font-size: 1.6rem; }

.c-btn02__link::after { position: absolute; top: 50%; right: 26px; width: 7px; height: 7px; border-style: solid; border-width: 2px 2px 0 0; border-color: #fff; -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); content: ''; z-index: 99; }

.c-btn02__link[href*="#"]::after { -webkit-transform: translateY(-50%) rotate(135deg); transform: translateY(-50%) rotate(135deg); margin-top: -2px; }

.c-btn02__txt { position: relative; z-index: 1; }

.c-btn02__txt:before { display: inline-block; content: ""; width: 25px; height: 15px; background: url(../img/common/ico_mail01.png) no-repeat; background-size: contain; margin: 0 7px -1px 0; }

@media all and (min-width: 768px) { .c-btn02 { max-width: 350px; width: 100%; margin-top: 75px; }
  .c-btn02-list { margin-bottom: 0; }
  .c-btn02__link { padding: 20px 0; font-size: 2rem; }
  .c-btn02__link:before { display: block; content: ''; position: absolute; z-index: -1; left: 50%; top: 50%; border-radius: 50%; width: 0; height: 0; margin: 0; -webkit-transition: .6s; transition: .6s; background-color: #0f5fa3; z-index: 99; }
  .c-btn02__link:hover::before { width: 500px; height: 500px; margin: -250px 0 0 -250px; }
  .c-btn02__txt { position: relative; z-index: 100; }
  .c-btn02__txt:before { width: 27px; height: 15px; margin: 0 5px 0px 0; } }

/*  .c-card01
================================================== */
.c-card01 { overflow: hidden; }

.c-card01__item-area-txt { position: relative; margin: -20px 10px 0; padding: 15px ​20px; background-color: #fff; }

.c-card01__item-label { display: inline-block; position: absolute; top: -10px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); text-align: center; width: 86%; padding: 2px; background-color: #004619; color: #fff; }

.c-card01__item-lead { text-align: center; font-size: 1.7rem; font-weight: bold; color: #004619; letter-spacing: 0.03em; }

.c-card01__item + .c-card01__item { position: relative; margin-top: 30px; }

@media all and (min-width: 768px) { .c-card01 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 35px -20px 0; }
  .c-card01__item { width: calc(33.3% - 40px); margin: 0 20px; }
  .c-card01__item-area-txt { margin: -20px 10px 0; padding: 25px 30px 30px; min-height: 390px; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .c-card01__item-label { top: -20px; width: 80%; padding: 5px; font-size: 1.5rem; letter-spacing: 0; }
  .c-card01__item-lead { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 10px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 2.3rem; line-height: 1.7; }
  .c-card01__item + .c-card01__item { margin-top: 0; } }

/* .c-color-black
================================================== */
.c-color-black { color: #000; }

/* .c-color-blue
================================================== */
.c-color-main { color: #004619; }

/*  .c-faq01
================================================== */
.c-faq01 { border-top: 1px solid #e5e5e5; }

.c-faq01:last-child { border-bottom: 1px solid #e5e5e5; }

.c-faq01__ico { position: relative; }

.c-faq01__ico:before { position: absolute; content: ""; top: 3px; left: -30px; width: 25px; height: 20px; background: url(../img/recruit/ico_q01.png) no-repeat; background-size: contain; }

.c-faq01__head { position: relative; padding: 15px 15px 15px 40px; color: #004619; font-weight: bold; font-size: 1.7rem; line-height: 1.6; }

.c-faq01__head[class*="toggle"] { padding-right: 50px; }

.c-faq01__head[class*="toggle"]::before { position: absolute; content: ""; top: 50%; right: 10px; height: 9px; width: 9px; border-style: solid; border-width: 0 3px 3px 0; border-color: #004619; -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.c-faq01__head[class*="toggle"].is-active::before { -webkit-transform: rotate(225deg); transform: rotate(225deg); }

.c-faq01__txt { margin-top: -8px; padding: 0 10px 15px; }

@media all and (min-width: 768px) { .c-faq01__ico:before { top: 5px; left: -35px; width: 28px; height: 25px; }
  .c-faq01__head { font-size: 2rem; padding: 25px 45px 25px 55px; }
  .c-faq01__head[class*="toggle"]::before { top: 50%; right: 33px; height: 12px; width: 12px; }
  .c-faq01__txt { margin-top: -12px; padding: 0 95px 25px 55px; } }

/* .c-file01 ファイルアップロード①
================================================== */
.c-file01 { font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; font-size: 1.4rem; }

/* .c-form01 フォームスタイル①中途採用応募フォーム
================================================== */
.c-form01__list { border-top: 1px solid rgba(22, 88, 136, 0.1); }

.c-form01__item { padding: 15px 10px 20px; border-bottom: 1px solid rgba(22, 88, 136, 0.1); }

.c-form01__label, .c-form01__content { line-height: 1.6; font-size: 1.6rem; }

.c-form01__label { margin-bottom: 10px; font-weight: 700; }

.c-form01__require { display: inline-block; margin-left: 5px; color: #004619; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.c-form01 .error { display: block !important; margin-top: 6px; line-height: 1.5; color: #d00000 !important; font-size: 1.3rem !important; }

.c-form01__txt { margin-top: 15px; }

.c-form01__note { display: block; margin-top: 10px; line-height: 1.6; font-size: 1.4rem; }

.mw_wp_form_preview .c-form01__address-pref { display: inline; }

.c-form01__address-zip { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.c-form01__address-box { width: calc(100% - 30px); max-width: 300px; }

.c-form01__address-mark { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 20px; height: 50px; margin-right: 10px; }

.mw_wp_form_preview .c-form01__address-mark { width: auto; height: auto; margin-right: 0; }

.c-form01__address-text { margin-top: 10px; }

.c-form01 .mw-wp-form_file { margin-top: 10px; }

.c-form01 .mw-wp-form_file a { color: #004619; font-size: 1.5rem; }

.c-form01__content > .mw-wp-form_file:first-child { margin-top: 0; }

.mw_wp_form_preview .c-form01__confirm { display: none; }

.c-form01__preview { display: none; }

.mw_wp_form_preview .c-form01__preview { display: block; }

.c-form01__submit { margin-top: 30px; }

.c-form01__submit-confirm:disabled { opacity: .7; cursor: not-allowed; pointer-events: none; }

.c-form01__submit-confirm:disabled .c-btn01__txt { color: #333 !important; }

.c-form01__submit .c-btn01 { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 0; }

.c-form01__submit .c-btn01__btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 56px; text-align: center; }

.c-form01__btnlist-item:nth-child(n+2) { margin-top: 10px; }

@media all and (min-width: 768px) { .c-form01__list { border-top: none; }
  .c-form01__item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0; border-bottom: none; }
  .c-form01__item:first-of-type > .c-form01__label, .c-form01__item:first-of-type > .c-form01__content { border-top: 1px solid rgba(22, 88, 136, 0.1); }
  .c-form01__label, .c-form01__content { line-height: 1.6; font-size: 1.6rem; border-bottom: 1px solid rgba(22, 88, 136, 0.1); }
  .c-form01__label { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 240px; padding: 30px 15px; margin: 0 5px 0 0; line-height: 1.75; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .c-form01__content { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding: 30px 40px; }
  .c-form01 .error { margin-top: 10px; font-size: 1.5rem !important; }
  .c-form01__txt { margin-top: 20px; }
  .mw_wp_form_preview .c-form01__address { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .c-form01__address-pref { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .mw_wp_form_preview .c-form01__address-pref { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; white-space: nowrap; }
  .c-form01__address-zip { width: auto; margin-right: 1.0em; }
  .mw_wp_form_preview .c-form01__address-zip { white-space: nowrap; }
  .c-form01__address-mark { width: auto; height: 56px; }
  .mw_wp_form_preview .c-form01__address-mark { height: auto; }
  .c-form01__address-text { margin-top: 12px; }
  .c-form01__submit { margin-top: 50px; }
  .c-form01__submit .c-btn01 { width: 350px; }
  .c-form01__submit .c-btn01__btn { padding: 20px 0; min-height: 80px; }
  .c-form01__submit .c-btn01__btn:hover::before { left: -78%; }
  .c-form01__preview { display: none; }
  .mw_wp_form_preview .c-form01__preview { display: block; }
  .c-form01__btnlist { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .mw_wp_form_preview .c-form01__btnlist { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .c-form01__btnlist-item { margin: 0 10px; }
  .c-form01__btnlist-item:nth-child(n+2) { margin-top: 0; } }

/* .c-textbox01 テキストボックス①
================================================== */
@media all and (min-width: 768px) { .c-textbox01.is-full { width: 100% !important; } }

/* .c-textbox01 テキストボックス①
================================================== */
.c-textbox01 { padding: 10px 15px; height: 50px; line-height: 1.6; font-size: 1.6rem; letter-spacing: .05em; border: none !important; border-radius: 0; background: #f2f2f2 !important; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-shadow: none; box-shadow: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

@media all and (min-width: 768px) { .c-textbox01 { width: 300px !important; height: 56px; padding: 10px 20px; font-size: 1.7rem; } }

/*  .c-head01.is-center
================================================== */
.c-head01.is-center { text-align: center; }

/*  .c-head01
================================================== */

.c-head01.is-white { color: #fff; }

.c-head01.is-white:before { background: #fff; }

/*  .c-head01
================================================== */
.c-head01 { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 10px; font-weight: 700; line-height: 1.5; }

.c-head01:before { position: absolute; display: block; content: ''; background: #000; width: 13px; height: 1px; top: 52%; left: -20px; }

.c-head01__en { font-size: 3.6rem; }

.c-head01__ja { margin: 5px 0 0 8px; font-size: 1.1rem; }

@media all and (min-width: 768px) { .c-head01 { margin: 0 0 0 -115px; }
  .c-head01:before { width: 200px; height: 4px; left: -235px; }
  .c-head01__en { font-size: 10rem; }
  .c-head01__ja { margin: 8px 0 0 25px; font-size: 1.6rem; } }

/*  .c-head02.is-right
================================================== */
.c-head02.is-right { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

/*  .c-head02
================================================== */
.c-head02 { position: relative; z-index: 2; }

.c-head02__wrap { position: relative; display: inline-block; background: #004619; margin: 0 0 -25px; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0 15px; color: #fff; font-weight: bold; font-size: 2.2rem; text-align: center; }

/*
.c-head02__wrap:before, .c-head02__wrap:after { position: absolute; display: block; content: ''; background: #004619; width: 15px; height: 1px; }

.c-head02__wrap:before { top: 0; left: -15px; }

.c-head02__wrap:after { right: -15px; bottom: 0; }
*/

@media all and (min-width: 768px) { .c-head02__wrap { margin: 0 0 -55px; padding: 0 28px; font-size: 3.0rem; letter-spacing: 0; }
  .c-head02__wrap:before, .c-head02__wrap:after { width: 40px; height: 1px; }
  .c-head02__wrap:before { left: -40px; }
  .c-head02__wrap:after { right: -40px; } }

/*  .c-head03.is-block
================================================== */
.c-head03.is-block:before { top: 35%; }

.c-head03.is-block .c-head03__ja { display: block; line-height: 1.5; }

.c-head03.is-block .c-head03__en { top: 0; display: block; margin-left: 0; }

@media all and (min-width: 768px) { .c-head03.is-block:before { top: 50%; }
  .c-head03.is-block .c-head03__ja { display: inline-block; line-height: 1.7; }
  .c-head03.is-block .c-head03__en { top: -10px; display: inline-block; margin-left: 10px; } }

/*  .c-head03
================================================== */
.c-head03 { position: relative; z-index: 2; margin-bottom: 15px; }

.c-head03:before { position: absolute; content: ""; top: 25px; left: -20px; width: 13px; height: 1px; background: #000; }

.c-head03__ja { display: inline-block; font-size: 2.8rem; font-weight: bold; letter-spacing: 0.08em; line-height: 1.65; }

.c-head03__en { position: relative; top: -5px; margin-left: 8px; font-size: 1.1rem; font-weight: bold; letter-spacing: 0.05em; text-transform: uppercase; }

@media all and (min-width: 768px) { .c-head03 { margin-bottom: 30px; }
  .c-head03:before { top: 35px; left: 0; -webkit-transform: translateX(-350px); transform: translateX(-350px); width: 330px; }
  .c-head03__ja { font-size: 4.2rem; }
  .c-head03__en { top: -10px; margin-left: 10px; font-size: 1.7rem; letter-spacing: 0.01em; } }

/*  .c-head04
================================================== */
.c-head04 { margin-bottom: 10px; color: #004619; }

.c-head04__ja { font-size: 2rem; font-weight: bold; letter-spacing: 0.13em; line-height: 1.6; }

.c-head04__en { position: relative; font-size: 1rem; font-weight: bold; letter-spacing: 0em; padding-left: 15px; }

.c-head04__en:before { position: absolute; content: ""; top: 3px; left: 0; width: 8px; height: 15px; background: url(../img/common/ico_line01.png) no-repeat; background-size: contain; }

@media all and (min-width: 768px) { .c-head04 { margin-bottom: 15px; }
  .c-head04__ja { font-size: 3.2rem; line-height: 1.4; letter-spacing: 0.1em; }
  .c-head04__en { font-size: 1.5rem; padding-left: 20px; }
  .c-head04__en:before { top: 6px; width: 10px; height: 20px; } }

/*  .c-head05
================================================== */
.c-head05 { position: relative; margin-bottom: 20px; padding-left: 17px; font-size: 1.7rem; font-weight: bold; letter-spacing: 0.1em; line-height: 1.6; }

.c-head05:before { position: absolute; content: ""; top: 5px; left: 0; width: 15px; height: 20px; background: url(../img/common/ico_line02.png) no-repeat; background-size: contain; }

@media all and (min-width: 768px) { .c-head05 { margin-bottom: 35px; padding-left: 30px; font-size: 2.8rem; }
  .c-head05:before { top: 6px; width: 25px; height: 35px; } }

/*  .c-head06
================================================== */
.c-head06.is-white { color: #fff; }

.c-head06.is-white .c-head06__sub { color: #fff; }

.c-head06.is-white .c-head06__sub:before { background: #fff; }

/*  .c-head06
================================================== */
.c-head06__sub { position: relative; padding-left: 40px; color: #004619; font-size: 1.3rem; letter-spacing: .05em; }

.c-head06__sub:before { position: absolute; display: block; content: ''; background: #004619; width: 30px; height: 1px; top: 14px; left: 0; }

.c-head06__head { font-size: 1.8rem; }

@media all and (min-width: 768px) { .c-head06__sub { padding-left: 45px; font-size: 1.6rem; margin-bottom: 5px; }
  .c-head06__sub:before { width: 40px; top: 14px; }
  .c-head06__head { font-size: 2.8rem; line-height: 1.7; letter-spacing: 0.04em; } }

.c-head06-txt { margin-top: 8px; }

@media all and (min-width: 768px) { .c-head06-txt { margin-top: 25px; } }

/* .c-list01
================================================== */
.c-list01__item { position: relative; padding-left: 15px; }

.c-list01__item-txt { display: block; line-height: 2; }

.c-list01__item-txt:before { position: absolute; content: ""; top: 13px; left: 0; width: 4px; height: 4px; background: #004619; }

@media all and (min-width: 768px) { .c-list01__item { padding-left: 15px; }
  .c-list01__item-txt:before { top: 13px; width: 5px; height: 5px; } }

/*  .c-set01
================================================== */
.c-set01.is-reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

.c-set01.is-reverse .c-set01__img { margin: 0 -20px 0 0; }

@media all and (min-width: 768px) { .c-set01.is-reverse .c-set01__img { margin: -50px -352px 0 0; } }

@media all and (min-width: 768px) and (max-width: 1670px) { .c-set01.is-reverse .c-set01__img { margin: -50px -250px 0 0; } }

@media all and (min-width: 768px) and (max-width: 1490px) { .c-set01.is-reverse .c-set01__img { margin: -50px -200px 0 0; } }

@media all and (min-width: 768px) and (max-width: 1366px) { .c-set01.is-reverse .c-set01__img { margin: -50px -100px 0 0; } }

/*  .c-set01
================================================== */
.c-set01__img { position: relative; z-index: 20; margin-left: -20px; }

.c-set01__area { position: relative; z-index: 30; margin-top: 25px; }

@media all and (min-width: 768px) { .c-set01 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .c-set01__img { margin: -50px 0 0 -352px; max-width: 72%; -ms-flex-preferred-size: 72%; flex-basis: 72%; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .c-set01__area { max-width: 51%; -ms-flex-preferred-size: 51%; flex-basis: 51%; margin: 66px 0 0; -webkit-box-sizing: border-box; box-sizing: border-box; } }

@media all and (min-width: 768px) and (max-width: 1670px) { .c-set01__img { max-width: 65%; -ms-flex-preferred-size: 65%; flex-basis: 65%; margin: -50px 0 0 -200px; }
  .c-set01__area { max-width: 48%; -ms-flex-preferred-size: 48%; flex-basis: 48%; } }

@media all and (min-width: 768px) and (max-width: 1490px) { .c-set01__img { max-width: 60%; -ms-flex-preferred-size: 60%; flex-basis: 60%; margin: -50px 0 0 -140px; }
  .c-set01__area { max-width: 45%; -ms-flex-preferred-size: 45%; flex-basis: 45%; } }

@media all and (min-width: 768px) and (max-width: 1366px) { .c-set01__img { max-width: 55%; -ms-flex-preferred-size: 55%; flex-basis: 55%; margin: -50px 0 0 -100px; }
  .c-set01__area { max-width: 45%; -ms-flex-preferred-size: 45%; flex-basis: 45%; } }

/*  .c-set02
================================================== */
.c-set02__area { margin-top: 20px; }

.c-set02 + .c-set02 { margin-top: 40px; }

@media all and (min-width: 768px) { .c-set02 { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .c-set02__img { width: 56%; }
  .c-set02__area { width: 39%; margin: 0 0 0 70px; }
  .c-set02 + .c-set02 { margin-top: 100px; }
  .c-set02:nth-child(even) { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .c-set02:nth-child(even) .c-set02__area { margin: 0 70px 0 0; } }

@media all and (min-width: 768px) and (max-width: 1260px) { .c-set02__img { width: 50%; }
  .c-set02__area { width: 36%; margin: 0 0 0 50px; }
  .c-set02:nth-child(even) .c-set02__area { margin: 0 50px 0 0; } }

/*  .c-set03
================================================== */
.c-set03 { margin-top: 20px; }

.c-set03__img { position: relative; z-index: 9; margin-right: 15px; }

.c-set03__img:before { position: absolute; content: ""; bottom: 0; right: -15px; width: 15px; height: 110px; background: url(../img/company/bg_feature01.png) no-repeat; background-size: contain; z-index: 9; }

.c-set03__box { position: relative; z-index: 9; padding: 22px 25px 25px; background-color: #fff; }

.c-set03__area { padding-top: 10px; border-top: 1px solid #e5e5e5; }

.c-set03__area-lead { font-weight: bold; font-size: 1.6rem; line-height: 1.7; }

.c-set03 + .c-set03 { margin-top: 30px; }

.c-set03:nth-child(even) .c-set03__img { margin: 0 0 0 15px; }

.c-set03:nth-child(even) .c-set03__img:before { right: auto; left: -15px; background-image: url(../img/company/bg_feature02.png); }

@media all and (min-width: 768px) { .c-set03 { margin-top: 110px; display: -webkit-box; display: -ms-flexbox; display: flex; }
  .c-set03__img { position: relative; z-index: 11; width: 45%; margin: 0; }
  .c-set03__img:before { content: none; }
  .c-set03__box { -webkit-transform: translateY(-40px); transform: translateY(-40px); width: 63%; margin: 0 0 0 -90px; padding: 54px 60px 50px 155px; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .c-set03__box:before { position: absolute; content: ""; top: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 25px 25px 0; border-color: transparent #f2f2f2 transparent transparent; }
  .c-set03__area { padding-top: 25px; }
  .c-set03__area-lead { margin-bottom: 5px; font-size: 2.3rem; }
  .c-set03 + .c-set03 { margin-top: 120px; }
  .c-set03:nth-child(even) { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .c-set03:nth-child(even) .c-set03__img { margin: 0; }
  .c-set03:nth-child(even) .c-set03__img:before { content: none; }
  .c-set03:nth-child(even) .c-set03__box { margin: 0 -90px 0 0; padding: 54px 155px 50px 60px; }
  .c-set03:nth-child(even) .c-set03__box:before { content: none; } }

/*  .c-set04
================================================== */
@media all and (min-width: 768px) { .c-set04.is-reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .c-set04.is-reverse .c-set04__img { margin: 0 0 0 60px; }
  .c-set04.is-reverse .c-set04__area { width: 41%; } }

/*  .c-set04
================================================== */
.c-set04 { position: relative; }

.c-set04__img { margin: 0 -20px 15px; }

.c-set04 + .c-set04 { margin-top: 15px; }

.c-set04__area-lead { margin-bottom: 10px; font-size: 1.8rem; font-weight: bold; line-height: 1.75; }

@media all and (min-width: 768px) { .c-set04 { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .c-set04__img { width: 54%; margin: 0 60px 0 0; }
  .c-set04__area { width: 40%; }
  .c-set04__area-lead { margin-bottom: 20px; font-size: 3.4rem; font-weight: bold; } }

/*  .c-set05
================================================== */
.c-set05 { margin-top: 20px; }

.c-set05__img { position: relative; z-index: 9; }

.c-set05__box { position: relative; z-index: 9; margin-top: 15px; }

.c-set05__area { padding-top: 10px; border-top: 1px solid #e5e5e5; }

.c-set05 + .c-set05 { margin-top: 25px; }

@media all and (min-width: 768px) { .c-set05 { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .c-set05__img { position: relative; z-index: 11; width: 45%; margin: 0; }
  .c-set05__box { width: 50%; margin: 15px 0 0 60px; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .c-set05__area { padding-top: 20px; }
  .c-set05__area-lead { margin-bottom: 5px; font-size: 2.3rem; }
  .c-set05 + .c-set05 { margin-top: 60px; }
  .c-set05:nth-child(even) { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .c-set05:nth-child(even) .c-set05__box { margin: 15px 60px 0 0; } }

/*  .c-single01
================================================== */
.c-single01-lead { position: relative; padding: 55px 0 35px; margin-bottom: 40px; }

.c-single01-lead:before { position: absolute; z-index: -1; content: ''; display: block; background: #f2f2f2; width: 115%; height: 73%; margin: auto; bottom: 0; left: -20px; }

.c-single01-lead__area-img { margin-bottom: 20px; }

.c-single01-lead__img { width: 100%; max-width: 300px; margin: 0 auto; }

.c-single01-lead__area-name { position: relative; z-index: 2; background-color: rgba(255, 255, 255, 0.98); margin: -40px 0 0; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 10px 20px 15px; }

.c-single01-lead__name { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.c-single01-lead__ja { font-size: 1.7rem; }

.c-single01-lead__en { margin-left: 10px; font-size: 1.1rem; line-height: 1.5; }

.c-single01-lead__name { font-weight: bold; }

.c-single01-lead__area-role { font-weight: bold; letter-spacing: 0; }

.c-single01-lead__area-role-in:not(:last-child) { position: relative; margin-right: 5px; padding-right: 5px; }

.c-single01-lead__area-role-in:not(:last-child):after { position: absolute; content: "/"; top: -3px; right: 0; width: 1px; height: 0; background: #000; }

@media all and (min-width: 768px) { .c-single01-lead { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 80px 0 60px; margin-bottom: 100px; }
  .c-single01-lead:before { width: 140%; height: 84%; margin: auto; bottom: 0; left: -9%; }
  .c-single01-lead__area-img { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; width: 45%; margin-bottom: 20px; }
  .c-single01-lead__img { max-width: 500px; margin: 0 0 0 9%; }
  .c-single01-lead__area-name { max-width: 500px; margin: -75px 0 0; padding: 30px 50px 40px; }
  .c-single01-lead__ja { font-size: 2.3rem; }
  .c-single01-lead__en { font-size: 1.6rem; }
  .c-single01-lead__area-role { letter-spacing: .08em; }
  .c-single01-lead__area-txt { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; width: 50%; } }

.c-single01-contents { padding-bottom: 35px; position: relative; }

.c-single01-contents:before { position: absolute; z-index: -1; content: ''; display: block; background: url(../img/interview/txt_interview01.png) no-repeat center/contain; width: 75px; height: 540px; margin: auto; top: -140px; right: 0; }

@media all and (min-width: 768px) { .c-single01-contents { padding-bottom: 135px; }
  .c-single01-contents:before { width: 130px; height: 1080px; top: -450px; } }

.c-single01-sec + .c-single01-sec { margin-top: 40px; }

.c-single01-sec:nth-child(even) { position: relative; }

.c-single01-sec:nth-child(even):before { position: absolute; z-index: -1; content: ''; display: block; background: #f2f2f2; width: 105%; height: 80%; margin: auto; bottom: 0; left: -20px; }

.c-single01-sec:nth-child(even) .c-single01-sec__img { margin-left: -20px; margin-right: 20px; }

.c-single01-sec:nth-child(even) .c-single01-sec__area-txt { padding-right: 35px; padding-bottom: 25px; }

.c-single01-sec__img { margin-bottom: 13px; }

@media all and (min-width: 768px) { .c-single01-sec { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .c-single01-sec + .c-single01-sec { margin-top: 100px; }
  .c-single01-sec:nth-child(even) { margin-bottom: 240px; }
  .c-single01-sec:nth-child(even):before { width: 97%; height: 120%; top: 180px; left: -30%; }
  .c-single01-sec:nth-child(even) .c-single01-sec__img { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; margin: 0 0 0 7%; }
  .c-single01-sec:nth-child(even) .c-single01-sec__area-txt { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; margin-top: 90px; padding-right: 0; padding-bottom: 25px; }
  .c-single01-sec__img { width: 185%; max-width: 650px; margin: 0 7% 0 0; }
  .c-single01-sec__area-txt { width: 40%; margin-top: 15px; } }

@media (min-width: 768px) and (max-width: 1024px) { .c-single01-sec__img { width: 100%; max-width: 530px; margin: 0 4% 0 0; } }

.c-single01-message { background: #004619; padding: 30px 0 0; margin-bottom: 30px; color: #fff; }

.c-single01-message__area-txt { margin-bottom: 25px; }

.c-single01-message__img { margin: 0 -20px; }

@media all and (min-width: 768px) { .c-single01-message { padding: 60px 0 105px; margin-bottom: 0; }
  .c-single01-message__inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .c-single01-message__area-txt { width: 38%; margin-bottom: 25px; }
  .c-single01-message__img { width: 55%; margin: -90px 0 0; } }

.c-single01-schedule { position: relative; padding: 10px 0 60px; }

.c-single01-schedule:before { position: absolute; content: ""; top: -30px; left: 0; width: 0; height: 0; border-style: solid; border-width: 150vh 50vh 0 0; border-color: #f2f2f2 transparent transparent transparent; z-index: -1; }

.c-single01-schedule__head { display: block; }

.c-single01-schedule__head:before { top: 22px; }

.c-single01-schedule__en { font-size: 2.8rem; letter-spacing: .08em; }

.c-single01-schedule__ja { margin: 0; font-size: 1.1rem; }

@media all and (min-width: 768px) { .c-single01-schedule { padding: 110px 0 138px; }
  .c-single01-schedule:before { top: auto; right: 0; bottom: 0; left: auto; -webkit-transform: rotate(180deg); transform: rotate(180deg); border-style: solid; border-width: 190vh 66vh 0 0; border-color: #f2f2f2 transparent transparent transparent; }
  .c-single01-schedule__head { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0 0 0 10px; }
  .c-single01-schedule__head:before { top: 30px; height: 1px; width: 332px; left: -362px; }
  .c-single01-schedule__en { margin-right: 10px; font-size: 4.1rem; letter-spacing: .08em; }
  .c-single01-schedule__ja { font-size: 1.7rem; } }

.c-single01-schedule-list { position: relative; margin-top: 25px; }

.c-single01-schedule-list:before { position: absolute; display: block; content: ''; background: #e5e5e5; height: 100%; width: 1px; margin: auto; top: 0; bottom: 0; left: 90px; }

@media all and (min-width: 768px) { .c-single01-schedule-list { margin: 40px 0 80px; }
  .c-single01-schedule-list:before { left: 175px; } }

.c-single01-schedule-item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; }

.c-single01-schedule-item:after { position: absolute; display: block; content: ''; background: #004619; width: 5px; height: 5px; top: 30px; left: 88px; }

.c-single01-schedule-item:first-child dt:after { position: absolute; display: block; content: ''; background: #e5e5e5; height: 1px; width: 115%; top: 0; }

.c-single01-schedule-item:first-child dd:before { position: absolute; display: block; content: ''; background: #e5e5e5; height: 1px; width: 90%; left: 22px; top: 0; }

.c-single01-schedule-item dt { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 20px 10px; width: 90px; color: #004619; font-weight: bold; }

.c-single01-schedule-item dt:before { position: absolute; display: block; content: ''; background: #e5e5e5; height: 1px; width: 115%; bottom: 0; }

.c-single01-schedule-item dd { position: relative; width: 90%; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 20px 30px; }

.c-single01-schedule-item dd:after { position: absolute; display: block; content: ''; background: #e5e5e5; height: 1px; width: 90%; left: 22px; bottom: 0; }

.c-single01-schedule-item__label { display: inline-block; background: #004619; padding: 5px 15px; color: #fff; font-weight: bold; line-height: 1.3; }

.c-single01-schedule-item__txt { margin-top: 15px; }

.c-single01-schedule-item__img { margin-top: 15px; }

@media all and (min-width: 768px) { .c-single01-schedule-item:after { width: 7px; height: 7px; top: 48px; left: 172px; }
  .c-single01-schedule-item:first-child dt:after { height: 1px; width: 100%; top: 0; }
  .c-single01-schedule-item:first-child dd:before { height: 1px; width: 100%; left: 22px; }
  .c-single01-schedule-item dt { padding: 35px 10px; width: 170px; }
  .c-single01-schedule-item dt:before { width: 100%; }
  .c-single01-schedule-item dd { width: 90%; padding: 30px 60px; }
  .c-single01-schedule-item dd:after { width: 100%; left: 22px; }
  .c-single01-schedule-item__label { padding: 10px 25px; }
  .c-single01-schedule-item__txt { margin-top: 15px; }
  .c-single01-schedule-item__img { max-width: 320px; } }

/*  .c-table01
================================================== */
.c-table01 dl { display: -webkit-box; display: -ms-flexbox; display: flex; }

.c-table01 dt, .c-table01 dd { text-align: left; padding: 13px 10px; border-bottom: 1px solid #e5e5e5; -webkit-box-sizing: border-box; box-sizing: border-box; }

.c-table01 dt { display: block; margin-right: 5px; width: 100px; color: #004619; font-weight: bold; }

.c-table01 dd { width: 68%; }

@media all and (min-width: 768px) { .c-table01 dt, .c-table01 dd { padding: 24px 40px; }
  .c-table01 dt { text-align: center; width: 190px; }
  .c-table01 dd { width: 86%; } }

/* common
================================================ */
/* .l-breadcrumb
================================================ */
.l-breadcrumb-list { position: relative; z-index: 99; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 15px; padding-bottom: 15px; }

.l-breadcrumb-list__item { font-size: 1.4rem; display: inline-block; vertical-align: top; }

.l-breadcrumb-list__item + .l-breadcrumb-list__item { margin-left: 5px; }

.l-breadcrumb-list__item + .l-breadcrumb-list__item:before { content: ">"; margin-right: 5px; }

.l-breadcrumb-list__link { color: #004619; }

/* .l-footer
================================================ */
.l-footer-cv { background: #ededed; position: relative; }

.l-footer-cv:before { position: absolute; display: block; content: ''; top: 0; width: 100%; height: 100%; background: #fff; -webkit-transform: translateX(-110%); transform: translateX(-110%); -webkit-transition: all 1400ms ease; transition: all 1400ms ease; }

.l-footer-cv.is_cvView:before { -webkit-transform: translateX(0); transform: translateX(0); -webkit-animation: 500ms opacity ease forwards; animation: 500ms opacity ease forwards; -webkit-animation-delay: 2s; animation-delay: 2s; }

.l-footer-cv.is_cvView .l-footer-cv__wrap { -webkit-animation: 1400ms img-opacity ease forwards; animation: 1400ms img-opacity ease forwards; -webkit-animation-delay: 1s; animation-delay: 1s; }

.l-footer-cv__wrap { background: #ededed url(../img/common/bg_cv01_sp.jpg) no-repeat center/cover; padding: 50px 0 45px; }

.l-footer-cv__head { width: 192px; margin: 0 auto; }

@media all and (min-width: 768px) { .l-footer-cv__wrap { background: url(../img/common/bg_cv01_pc.jpg) no-repeat center/cover; padding: 100px 0; }
  .l-footer-cv__head { width: 797px; margin: 0 auto 60px; } }

#home .l-footer-cv__wrap { opacity: 0; }

/* .l-footer
================================================ */
.l-footer { position: relative; background: #ededed; }

.l-footer__info { padding: 34px 20px 40px; }

.l-footer__info-logo { width: 223px; margin-bottom: 8px; }

.l-footer__info-corporate__link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 15px; color: #004619; font-size: 1.1rem; }

.l-footer__info-corporate__link::after { display: block; content: ''; background: url(../img/common/ico_link01.png) no-repeat center/cover; width: 10px; height: 10px; margin-left: 5px; }

.l-footer__info-access { font-size: 1.1rem; }

.l-footer__cr { padding: 18px; border-top: 1px solid #d5d5d5; text-align: center; font-size: 1.0rem; }

@media all and (min-width: 768px) { .l-footer__wrap { max-width: 1120px; padding-right: 40px; padding-left: 40px; } }

@media all and (min-width: 768px) { .l-footer { padding: 100px 0 0; }
  .l-footer__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; max-width: 1200px; margin: 0 auto; padding-bottom: 75px; }
  .l-footer__info { padding: 0; }
  .l-footer__info-logo { width: 328px; margin-bottom: 25px; }
  .l-footer__info-corporate__link { margin-bottom: 25px; font-size: 1.3rem; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-footer__info-corporate__link:hover { opacity: .7; }
  .l-footer__info-access { font-size: 1.3rem; }
  .l-footer__cr { padding: 27px; } }

/* .l-footer-nav
================================================ */
.l-footer-nav { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0 20px 40px; font-weight: bold; }

.l-footer-nav__item { width: 50%; }

.l-footer-nav__link { display: block; padding-bottom: 13px; letter-spacing: .15em; }

@media all and (min-width: 768px) { .l-footer-nav { width: 280px; margin: -8px 0 0 0; padding: 0 0 40px; }
  .l-footer-nav__link { padding-bottom: 10px; letter-spacing: .0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-footer-nav__link:hover { opacity: .7; } }

/* .l-footer-pagetop
================================================ */
.l-footer-pagetop__link { position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; padding: 10px; background: #e8e8e8; text-align: center; text-decoration: none; overflow: hidden; text-indent: 200%; white-space: nowrap; }

.l-footer-pagetop__link::after { position: absolute; content: ''; margin: auto; top: 50%; right: 0; left: 0; width: 7px; height: 7px; border-style: solid; border-width: 2px 2px 0 0; border-color: #888; -webkit-transform: translateY(-50%) rotate(-45deg); transform: translateY(-50%) rotate(-45deg); }

@media all and (min-width: 768px) { .l-footer-pagetop { opacity: 0; visibility: hidden; overflow: hidden; position: fixed; right: 0; bottom: 0; z-index: 10; width: 50px; height: 50px; border-radius: 100px; margin: 0 30px 30px 0; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; }
  .l-footer-pagetop.is-view { opacity: 1; visibility: visible; }
  .l-footer-pagetop__link { width: 100%; height: 100%; background: none; border-radius: 50%; border: 2px solid #004619; }
  .l-footer-pagetop__link::after { top: 55%; width: 9px; height: 9px; border-style: solid; border-width: 2px 2px 0 0; border-color: #004619; } }

/* .l-header
================================================ */
.l-header { position: absolute; width: 100%; min-width: 320px; }

@media all and (min-width: 768px) { .l-header { z-index: 100; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; min-width: 1120px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-header.is-fixed { height: 90px; -webkit-box-sizing: border-box; box-sizing: border-box; position: fixed; margin-top: 0; background: #fff; -webkit-box-shadow: 0px 10px 27px -15px rgba(0, 0, 0, 0.8); box-shadow: 0px 10px 27px -15px rgba(0, 0, 0, 0.8); }
  .l-header.is-fixed .l-header-info__logo { padding: 15px 15px 0 0; }
  .l-header.is-fixed .l-header-info__logo-link { position: relative; }
  .l-header.is-fixed .l-header-info__logo-link:before { position: absolute; top: 0; left: 0; z-index: 11; content: ''; display: block; background: url(../img/common/logo02.png) no-repeat left center/contain; }
  .l-header.is-fixed .l-header-info__logo img { opacity: 0; }
  .l-header.is-fixed .l-nav-list__item-link { padding: 20px 7px 0; color: #004619; }
  .l-header.is-fixed .l-nav-list__item-link:before { background: #004619; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-header.is-fixed .l-nav-entry__link { margin: 0; background: #004619; }
  .l-header.is-fixed .l-nav-entry__link:hover .l-nav-entry__txt { color: #004619; }
  .l-header.is-fixed .l-nav-entry__link:hover .l-nav-entry__txt:before { background: url(../img/common/ico_mail02.png) no-repeat center/contain; }
  .l-header.is-fixed .l-nav-entry__link:hover:after { background: #fff; width: 180%; height: 100%; }
  .l-header.is-fixed .l-nav-entry__txt { color: #fff; }
  .l-header.is-fixed .l-nav-entry__txt:before { background: url(../img/common/ico_mail01.png) no-repeat center/contain; }
  .l-header.is-return { margin-top: -50px; } }

/* .l-header-info
================================================== */
.l-header-info { position: relative; height: 50px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.l-header-info__logo { margin-top: -3px; width: 209px; z-index: 10; padding: 0 10px 0 20px; }

@media all and (max-width: 360px) { .l-header-info__logo { margin-top: -7px; width: 185px; padding: 0 10px; } }

@media all and (min-width: 768px) { .l-header-info { height: 90px; padding: 0 0 19px 40px; }
  .l-header-info__logo { width: 328px; padding: 0 15px 0 0; }
  .l-header-info__logo-link:before { width: 287px; height: 40px; }
  .l-header-info__btn-contact { margin: 0; } }

/* .l-nav-btn
================================================== */
.l-nav-fixed { z-index: 1000; position: fixed; top: 0; right: 0; }

.l-nav-btn-area { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: 0; right: 0; }

.l-nav-btn { position: relative; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; width: 50px; height: 50px; background: #004619; border: 0; cursor: pointer; }

.l-nav-btn__line { position: absolute; left: 15px; width: 20px; height: 1px; content: ''; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.l-nav-btn__line:nth-child(1) { top: 18px; }

.l-nav-btn__line:nth-child(2) { top: 24px; }

.l-nav-btn__line:nth-child(3) { top: 30px; }

.l-nav-btn.is-open { background: #fff; }

.l-nav-btn.is-open .l-nav-btn__line { background: #004619; }

.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) { top: 24px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.l-nav-btn.is-open .l-nav-btn__line:nth-child(2) { opacity: 0; }

.l-nav-btn.is-open .l-nav-btn__line:nth-child(3) { top: 24px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.l-nav-btn__entry { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; width: 50px; height: 50px; }

/* .l-nav
================================================ */
.l-nav { position: absolute; top: 50px; right: 0; width: 100%; max-width: 290px; max-height: calc(100vh - 70px); min-width: 245px; padding: 22px 0 40px 25px; background: #fff; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: right; -webkit-overflow-scrolling: touch; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.l-nav:before { position: absolute; display: block; content: ''; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 130px 130px 0 0; border-color: #f2f2f2 transparent transparent transparent; }

@media all and (max-width: 767px) { .l-nav { overflow: auto; -webkit-transform: translateX(120%); transform: translateX(120%); }
  .l-nav::-webkit-scrollbar { display: none; }
  .l-nav.is-open { -webkit-transform: translateX(0); transform: translateX(0); } }

@media all and (min-width: 768px) { .l-nav { position: static; width: 100%; max-width: inherit; min-width: auto; padding: 0; background: none; }
  .l-nav:before { content: none; } }

/* .l-entry-content
================================================ */
.l-entry-content { position: fixed; top: 50px; left: 0; z-index: 120; width: 170px; min-width: 50%; padding: 40px 20px; background: #fff; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-overflow-scrolling: touch; }

.l-entry-content__txt { margin: 0 0 15px 20px; color: #004619; font-weight: bold; position: relative; z-index: 1; }

.l-entry-content__txt:before { display: inline-block; content: ""; width: 25px; height: 15px; background: url(../img/common/ico_mail02.png) no-repeat; background-size: contain; margin: 0 7px -1px 0; }

.l-entry-content__item + .l-entry-content__item { margin-top: 10px; }

.l-entry-content__link { position: relative; color: #004619; font-size: 1.2rem; padding-left: 20px; }

.l-entry-content__link:before { position: absolute; content: ""; top: 50%; left: 0; width: 5px; height: 5px; border-style: solid; border-width: 2px 2px 0 0; border-color: #004619; -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); }

@media all and (max-width: 767px) { .l-entry-content { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; overflow: auto; -webkit-transform: translateX(200%); transform: translateX(200%); }
  .l-entry-content::-webkit-scrollbar { display: none; }
  .l-entry-content.is-open { -webkit-transform: translateX(100%); transform: translateX(100%); } }

@media all and (min-width: 768px) { .l-entry-content { top: 90px; left: auto; right: 0; width: 170px; max-height: 100%; min-width: 150px; padding: 25px 15px 15px; -webkit-box-sizing: border-box; box-sizing: border-box; opacity: 0; }
  .l-entry-content__link { position: relative; font-size: 1.5rem; padding-left: 22px; }
  .l-entry-content__link:before { width: 6px; height: 6px; border-width: 2px 2px 0 0; }
  .l-entry-content.is-active { opacity: 1; } }

/* .js-nav-content
================================================== */
.js-nav-content { z-index: 1000; position: fixed; top: 50px; right: 0; }

@media all and (min-width: 768px) { .js-nav-content { position: static; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } }

/* .js-nav-logo
================================================== */
.js-nav-logo { position: relative; width: 137px; }

/* .l-nav-list
================================================== */
.l-nav-list { margin-top: 15px; }

.l-nav-list__item-link { display: block; position: relative; display: inline-block; padding: 15px 35px 5px 0; border-bottom: 1px solid #cde0e6; color: #004619; font-weight: bold; font-size: 1.8rem; }

.l-nav-list__item-link:after { position: absolute; display: block; content: ''; top: 54%; right: 17px; width: 5px; height: 5px; border-top: 2px solid #004619; border-right: 2px solid #004619; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

@media all and (min-width: 768px) { .l-nav-list { margin: 7px 30px 0 0; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .l-nav-list__item-link { padding: 0 7px; border-bottom: 0px; word-break: keep-all; color: #fff; font-size: 1.6rem; }
  .l-nav-list__item-link:after { content: none; }
  .l-nav-list__item-link:before { content: ''; position: absolute; left: 0; bottom: -5px; display: block; width: 0; height: 2px; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-nav-list__item-link:hover:before { width: 100%; } }

/* .l-nav-entry
================================================ */
.l-nav-entry__link { display: block; width: 200px; margin-top: 33px; margin-left: 20px; }

@media all and (min-width: 768px) { .l-nav-entry__link { overflow: hidden; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 170px; height: 90px; margin: -20px 0 0 0; background: #fff; }
  .l-nav-entry__link:before { position: absolute; content: ""; bottom: 90px; left: 0; width: 100%; height: 90px; background: transparent; }
  .l-nav-entry__link:after { content: ''; position: absolute; z-index: 1; left: -80%; top: 0; -webkit-transform: skew(50deg); transform: skew(50deg); -webkit-transition-duration: 0.6s; transition-duration: 0.6s; -webkit-transform-origin: top left; transform-origin: top left; width: 0; height: 100%; background-color: #004619; }
  .l-nav-entry__link:hover .l-nav-entry__txt { color: #fff; }
  .l-nav-entry__link:hover .l-nav-entry__txt:before { background: url(../img/common/ico_mail01.png) no-repeat center/contain; }
  .l-nav-entry__link:hover:after { width: 180%; height: 100%; }
  .l-nav-entry__txt { position: relative; z-index: 2; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #004619; font-weight: bold; font-size: 2.0rem; letter-spacing: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-nav-entry__txt:before { display: block; content: ''; background: url(../img/common/ico_mail02.png) no-repeat center/contain; width: 22px; height: 15px; margin-right: 14px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; } }

/* .l-nav-overlay
================================================ */
.l-nav-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 29, 50, 0.8); z-index: 101; }

@media all and (min-width: 768px) { .l-nav-overlay { display: none !important; } }

/* .l-entry
================================================ */
.l-entry { position: absolute; right: 0; bottom: -25px; -webkit-animation: 800ms entryView ease backwards; animation: 800ms entryView ease backwards; -webkit-animation-delay: 2.8s; animation-delay: 2.8s; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.l-entry__link { display: block; width: 125px; height: 82px; }

@media all and (min-width: 768px) { .l-entry { bottom: -80px; }
  .l-entry__link { width: 226px; height: 150px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .l-entry__link:hover { opacity: .7; } }

/* .l-main-img HOME
================================================ */
.l-main-img { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100vh; }

.l-main-img:before { z-index: 5; position: absolute; display: block; content: ''; background-color: rgba(4 67 21); width: 15%; height: 100%; top: 0; left: 0; -webkit-animation: 450ms color-slide ease both; animation: 450ms color-slide ease both; -webkit-animation-delay: 1.5s; animation-delay: 1.5s; }

.l-main-img__copy { position: relative; z-index: 6; width: 249px; margin-top: 20px; opacity: 0; -webkit-animation: .3s main-copy linear forwards; animation: .3s main-copy linear forwards; -webkit-animation-delay: 1s; animation-delay: 1s; }

.l-main-img__area-img { animation: 1s opacity linear reverse forwards; }

.l-main-img__img { overflow: hidden; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.l-main-img__img::after { content: ''; display: inline-block; position: absolute; top: 0; left: 0; width: 105%; height: 105%; background-repeat: no-repeat; background-position: top center; background-size: cover; opacity: 0; -webkit-transition: .8s opacity ease-in; transition: .8s opacity ease-in; }

.l-main-img__img:first-of-type::after { background-image: url(../img/home/mv01_sp.jpg); }

.l-main-img__img:nth-of-type(2)::after { background-image: url(../img/home/mv02_sp.jpg); }

.l-main-img__img:nth-of-type(3)::after { background-image: url(../img/home/mv03_sp.jpg); }

.l-main-img__img.is-shown::after { -webkit-animation: 5000ms scale-up ease-out forwards; animation: 5000ms scale-up ease-out forwards; opacity: 1; }

.l-main-img__scroll { position: absolute; z-index: 10; bottom: -40px; left: 30.8%; width: 1px; height: 80px; overflow: hidden; }

.l-main-img__scroll:before { display: block; content: ''; position: absolute; left: 0; width: 1px; height: 80px; -webkit-animation: lineAnime 1.7s ease infinite; animation: lineAnime 1.7s ease infinite; }

@media screen and (min-width: 767px) { .l-main-img { height: 105vh; max-height: 1080px; }
  .l-main-img:before { width: 0%; -webkit-animation-delay: 2s; animation-delay: 2s; }
  .l-main-img__copy { width: 100%; max-width: 662px; margin: 0 0 0 40px; }
  .l-main-img__img:first-of-type::after { background-image: url(../img/home/mv01_pc.jpg); }
  .l-main-img__img:nth-of-type(2)::after { background-image: url(../img/home/mv02_pc.jpg); }
  .l-main-img__img:nth-of-type(3)::after { background-image: url(../img/home/mv03_pc.jpg); }
  .l-main-img__scroll { bottom: -65px; left: 34.1%; height: 130px; }
  .l-main-img__scroll:before { height: 130px; } }

@media screen and (min-width: 1300px) { .l-main-img__copy { width: 100%; max-width: 662px; margin: 0 0 0 -40px; } }

/* .l-sub-img
================================================ */
.l-sub-img { -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; height: 240px; color: #fff; background: no-repeat 0 0; background-size: cover; }

.l-sub-img__head { padding-top: 12px; }

.l-sub-img__head-ja { line-height: 1.4; font-size: 3.0rem; letter-spacing: .14em; }

.l-sub-img__head-en { text-transform: uppercase; font-weight: bold; font-size: 1.5rem; line-height: 1.2; letter-spacing: 0; }

@media all and (min-width: 768px) { .l-sub-img { position: relative; height: 480px; }
  .l-sub-img__head { padding-top: 10px; }
  .l-sub-img__head-ja { margin-top: 5px; font-size: 5.4rem; letter-spacing: 0.15em; }
  .l-sub-img__head-en { font-size: 1.8rem; line-height: 1.4; letter-spacing: 0.05em; } }

/* .l-sidebar
================================================== */
/* helper
================================================ */
.js-c-anime-elem { opacity: 0; -webkit-transform: translateY(30px); transform: translateY(30px); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.js-c-anime-elem.is-animated { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }

@media all and (min-width: 768px) { .js-c-anime-elem[data-anime="fadein-left"] { opacity: 0; -webkit-transform: translateX(-30px); transform: translateX(-30px); -webkit-transition: all 0.6s ease; transition: all 0.6s ease; }
  .js-c-anime-elem[data-anime="fadein-left"].is-animated { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } }

@media all and (min-width: 768px) { .js-c-anime-elem[data-anime="fadein-right"] { opacity: 0; -webkit-transform: translateX(30px); transform: translateX(30px); -webkit-transition: all 0.6s ease; transition: all 0.6s ease; }
  .js-c-anime-elem[data-anime="fadein-right"].is-animated { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } }

.js-c-anime-elem[data-anime-delay="0.1"] { -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }

.js-c-anime-elem[data-anime-delay="0.2"] { -webkit-transition-delay: 0.2s; transition-delay: 0.2s; }

.js-c-anime-elem[data-anime-delay="0.3"] { -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }

.js-c-anime-elem[data-anime-delay="0.4"] { -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }

.js-c-anime-elem[data-anime-delay="0.5"] { -webkit-transition-delay: 0.5s; transition-delay: 0.5s; }

.js-c-anime-elem[data-anime-delay="0.6"] { -webkit-transition-delay: 0.6s; transition-delay: 0.6s; }

.js-c-anime-elem[data-anime-delay="0.7"] { -webkit-transition-delay: 0.7s; transition-delay: 0.7s; }

.js-c-anime-elem[data-anime-delay="0.8"] { -webkit-transition-delay: 0.8s; transition-delay: 0.8s; }

.js-c-anime-elem[data-anime-delay="0.9"] { -webkit-transition-delay: 0.9s; transition-delay: 0.9s; }

.js-c-anime-elem[data-anime-delay="1"] { -webkit-transition-delay: 1s; transition-delay: 1s; }

.js-c-anime-elem[data-anime-delay="1.1"] { -webkit-transition-delay: 1.1s; transition-delay: 1.1s; }

.js-c-anime-elem[data-anime-delay="1.2"] { -webkit-transition-delay: 1.2s; transition-delay: 1.2s; }

.js-c-anime-elem[data-anime-delay="1.3"] { -webkit-transition-delay: 1.3s; transition-delay: 1.3s; }

.js-c-anime-elem[data-anime-delay="1.4"] { -webkit-transition-delay: 1.4s; transition-delay: 1.4s; }

.js-c-anime-elem[data-anime-delay="1.5"] { -webkit-transition-delay: 1.5s; transition-delay: 1.5s; }

.js-c-anime-elem[data-anime-delay="1.6"] { -webkit-transition-delay: 1.6s; transition-delay: 1.6s; }

.js-c-anime-elem[data-anime-delay="1.7"] { -webkit-transition-delay: 1.7s; transition-delay: 1.7s; }

.js-c-anime-elem[data-anime-delay="1.8"] { -webkit-transition-delay: 1.8s; transition-delay: 1.8s; }

.js-c-anime-elem[data-anime-delay="1.9"] { -webkit-transition-delay: 1.9s; transition-delay: 1.9s; }

.js-c-anime-elem[data-anime-delay="2"] { -webkit-transition-delay: 2s; transition-delay: 2s; }

.js-c-anime-bgslide { width: 0; -webkit-transition: all 1400ms ease; transition: all 1400ms ease; }

.js-c-anime-bgslide.is_bgslide { width: 100%; }

@-webkit-keyframes scale-up { 0% { -webkit-transform-origin: center; transform-origin: center;
    -webkit-transform: scale(1.05, 1.05) rotate(0.001deg);
            transform: scale(1.05, 1.05) rotate(0.001deg); }
  100% { -webkit-transform: scale(1, 1) rotate(0.001deg); transform: scale(1, 1) rotate(0.001deg); } }

@keyframes scale-up { 0% { -webkit-transform-origin: center; transform-origin: center;
    -webkit-transform: scale(1.05, 1.05) rotate(0.001deg);
            transform: scale(1.05, 1.05) rotate(0.001deg); }
  100% { -webkit-transform: scale(1, 1) rotate(0.001deg); transform: scale(1, 1) rotate(0.001deg); } }

@-webkit-keyframes opacity { 0% { opacity: 1; }
  100% { opacity: 0; } }

@keyframes opacity { 0% { opacity: 1; }
  100% { opacity: 0; } }

@-webkit-keyframes img-opacity { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes img-opacity { 0% { opacity: 0; }
  100% { opacity: 1; } }

@-webkit-keyframes img-width { 0% { width: 0; }
  100% { width: 100%; } }

@keyframes img-width { 0% { width: 0; }
  100% { width: 100%; } }

@-webkit-keyframes color-slide { 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -webkit-transform: translateX(0%); transform: translateX(0%); } }

@keyframes color-slide { 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -webkit-transform: translateX(0%); transform: translateX(0%); } }

@-webkit-keyframes main-copy { 0% { -webkit-transform: translateY(30px); transform: translateY(30px); }
  100% { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes main-copy { 0% { -webkit-transform: translateY(30px); transform: translateY(30px); }
  100% { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes lineAnime { 0% { top: -100%;
    background-color: #fff; }
  25% { background-color: #fff; }
  50% { top: 0;
    background-color: #0d2855; }
  100% { top: 100%;
    background-color: #0d2855; } }

@keyframes lineAnime { 0% { top: -100%;
    background-color: #fff; }
  25% { background-color: #fff; }
  50% { top: 0;
    background-color: #0d2855; }
  100% { top: 100%;
    background-color: #0d2855; } }

@-webkit-keyframes bgLoopSp { 0% { background-position: 0 50%; }
  100% { background-position: -1000px 50%; } }

@keyframes bgLoopSp { 0% { background-position: 0 50%; }
  100% { background-position: -1000px 50%; } }

@-webkit-keyframes bgLoopPc { 0% { background-position: 0 50%; }
  100% { background-position: -2000px 50%; } }

@keyframes bgLoopPc { 0% { background-position: 0 50%; }
  100% { background-position: -2000px 50%; } }

@-webkit-keyframes entryView { 0% { -webkit-transform: translateX(120%); transform: translateX(120%); }
  100% { -webkit-transform: translateX(0); transform: translateX(0); } }

@keyframes entryView { 0% { -webkit-transform: translateX(120%); transform: translateX(120%); }
  100% { -webkit-transform: translateX(0); transform: translateX(0); } }

.js-img-slide { position: relative; overflow: hidden; display: block; height: content-fit; }


.js-img-slide:before { position: absolute; display: block; content: ''; width: 100%; height: 100%; background: #0d6c08; -webkit-transform: translateX(-110%); transform: translateX(-110%); -webkit-transition: all 800ms ease; transition: all 800ms ease; }

.js-img-slide__item { width: 100%; height: 100%; opacity: 0; }

.js-img-slide.is_slide:before { -webkit-transform: translateX(0); transform: translateX(0); -webkit-animation: 500ms opacity ease forwards; animation: 500ms opacity ease forwards; -webkit-animation-delay: 1s; animation-delay: 1s; }

.js-img-slide.is_slide .js-img-slide__item { -webkit-animation: 1000ms img-opacity ease forwards; animation: 1000ms img-opacity ease forwards; -webkit-animation-delay: .7s; animation-delay: .7s; }

.js-c-switch-tab { cursor: pointer; }

.js-c-switch-content { display: none; }

.js-c-switch-content.is-active { display: block; }

.js-c-toggle-trigger { cursor: pointer; }

.js-c-toggle-content { display: none; }

/* page
================================================ */
/* .l-sub-img
================================================ */
#company .l-sub-img { background: url(../img/company/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #company .l-sub-img { background: url(../img/company/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .company-concept
================================================== */
.company-concept { padding: 40px 0 45px; }

.company-concept__set { position: relative; padding-bottom: 35px; }

.company-concept__set:before { position: absolute; content: ""; top: 55px; left: -20px; width: 150%; height: 89%; background-color: #f2f2f2; }

.company-concept__lead-sub { font-size: 1.5rem; font-weight: bold; }

.company-concept__lead-main { font-size: 2.2rem; font-weight: bold; line-height: 1.55; letter-spacing: 0.1em; }

.company-concept__wrap { margin-top: 38px; position: relative; z-index: 9; }

.company-concept__wrap-pic { margin-bottom: 15px; }

.company-concept__wrap-lead { margin-bottom: 5px; font-size: 1.8rem; font-weight: bold; letter-spacing: 0.1em; }

@media all and (min-width: 768px) { .company-concept { padding: 80px 0 125px; }
  .company-concept__set { padding-bottom: 35px; }
  .company-concept__set:before { left: -31%; width: 173%; height: 64%; }
  .company-concept__set-head { margin-bottom: 15px; }
  .company-concept__set-img { margin-top: 0 !important; }
  .company-concept__set-area { margin-top: 13%; }
  .company-concept__lead-sub { font-size: 3.2rem; letter-spacing: 0.08em; }
  .company-concept__lead-main { font-size: 4rem; line-height: 1.55; letter-spacing: 0.07em; }
  .company-concept__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 40px; }
  .company-concept__wrap-pic { width: 60%; margin: 0 50px 0 0; }
  .company-concept__wrap-area { width: 40%; }
  .company-concept__wrap-lead { margin-bottom: 20px; font-size: 3.4rem; }
  .company-concept__wrap-lead .ius-big { font-size: 3.8rem; } }

@media all and (min-width: 768px) and (max-width: 1670px) { .company-concept__set-area { max-width: 52%; -ms-flex-preferred-size: 52%; flex-basis: 52%; }
  .company-concept__lead-main { font-size: 3.8rem; }
  .company-concept__lead-sub { font-size: 3.1rem; } }

@media (min-width: 768px) and (max-width: 1024px) { .company-concept__lead-main { letter-spacing: 0.02em; font-size: 3.7rem; }
  .company-concept__lead-sub { letter-spacing: 0.05em; font-size: 3rem; } }

/* .company-feature
================================================== */
.company-feature { overflow: hidden; position: relative; padding: 40px 0 50px; }

.company-feature:before { position: absolute; content: ""; top: 0; right: 0; width: 100%; height: 100%; background-color: #f2f2f2; }

.company-feature__box-head { letter-spacing: 0.05em; }

.company-feature__box-head .is-small { font-size: 1.6rem; color: #000; }

.company-feature__box-img { margin: 15px auto 20px; }

.company-feature__box-img.is-feature01 { width: 65%; }

.company-feature__box-img.is-feature02 { width: 66%; margin: 15px auto; }

.company-feature__box-img.is-feature03 { width: 65%; }

.company-feature__box-img.is-feature04 { width: 76%; }

@media all and (min-width: 768px) { .company-feature { padding: 100px 0 70px; }
  .company-feature:before { width: 60%; }
  .company-feature__box-head { letter-spacing: 0.03em; font-size: 3.7rem; }
  .company-feature__box-head .is-small { font-size: 2.3rem; }
  .company-feature__box-img { margin: 10px auto 35px; }
  .company-feature__box-img.is-feature01 { width: 40%; }
  .company-feature__box-img.is-feature02 { width: 47%; margin: 15px auto 25px; }
  .company-feature__box-img.is-feature03 { width: 43%; }
  .company-feature__box-img.is-feature04 { width: 45%; }
  .company-feature__box-img-set { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .company-feature__btn { margin: 50px auto; max-width: 350px; } }

/* .company-style
================================================== */
.company-style { position: relative; padding: 40px 0 50px; }

.company-style__item { position: relative; }

.company-style__item-img { width: 50%; }

.company-style__item + .company-style__item { margin-top: 20px; }

.company-style__area-label { position: absolute; top: 8%; left: 56%; display: inline-block; padding: 10px 15px; background-color: #004619; color: #fff; line-height: 1.5; }

.company-style__area-txt { margin-top: 10px; }

.company-style__btn { margin-top: 20px; }

@media all and (min-width: 768px) { .company-style { padding: 100px 0 70px; }
  .company-style__list { margin-top: 31px; }
  .company-style__item { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .company-style__item-img { width: 35%; margin-right: 50px; }
  .company-style__item + .company-style__item { margin-top: 40px; }
  .company-style__area { width: 65%; }
  .company-style__area-label { position: static; padding: 10px 30px; line-height: 1.5; font-size: 2.3rem; }
  .company-style__area-txt { margin-top: 20px; }
  .company-style__btn { margin: 50px auto; max-width: 350px; } }

/* .company-media
================================================== */
.company-media { position: relative; padding: 34px 0 60px; }

.company-media__img { margin-top: 20px; }

@media all and (min-width: 768px) { .company-media { padding: 100px 0 143px; }
  .company-media__img { width: 75%; margin: 50px auto 0; } }

/* .l-sub-img
================================================ */
#entry_mid .l-sub-img { background: url(../img/entry_mid/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #entry_mid .l-sub-img { background: url(../img/entry_mid/bg_main01_pc.jpg) no-repeat center/cover; } }

/* #form
================================================== */
.entry-form { padding: 45px 0 60px; }

.entry-form__head br.u-view-sp { display: none; }

.entry-form__lead { -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.entry-form__require { color: #004619; }

.entry-form__form { margin-top: 25px; }

@media all and (max-width: 400px) { .entry-form__head br.u-view-sp { display: block; margin: 5px 0 0 0; } }

@media all and (min-width: 768px) { .entry-form { padding: 70px 0 140px; }
  .entry-form__form { margin-top: 50px; } }

/*  #contact
================================================== */
#error .l-sub-img { background-image: url(../img/company/bg_main01_sp.jpg); }

@media all and (min-width: 768px) { #error .l-sub-img { background-image: url(../img/company/bg_main01_pc.jpg); } }

/*  .error-page404
================================================== */
.error-page404 { padding: 45px 0 50px; }

.error-page404__txt { margin-bottom: 5px; padding-bottom: 15px; }

.error-page404__btn a { margin: 30px auto 0; }

@media all and (min-width: 768px) { .error-page404 { padding: 75px 0 140px; }
  .error-page404__head { text-align: center; }
  .error-page404__head__en { padding-left: 0; }
  .error-page404__head__en:before { content: none; }
  .error-page404__txt { text-align: center; margin-bottom: 5px; padding-bottom: 30px; }
  .error-page404__btn a { margin: 50px auto 0; } }

.home-about__inner { padding-top: 40px; padding-bottom: 40px;}

.home-about h2 { font-size: 3rem; margin-bottom: 2em; border-bottom: 2px solid; }

.home-about section { margin-top: 40px; }

.home-about section h3 { margin-bottom: 1.5em; padding: 10px 15px; background: #ddd; font-size: 2.4rem; }

.home-about section h4 { margin-bottom: 1em; padding-left: 0.5em; font-size: 2rem; border-left: 4px solid; }

.home-about section section { margin-top: 30px; }

.home-about section section section { margin-top: 20px; }

/* .home-lead
================================================ */
.home-lead { position: relative; padding: 100px 0 60px; }

.home-lead__bg { position: absolute; z-index: -1; top: 50px; background: url(../img/home/txt_lead01.png) 0 0/1000px repeat-x; width: 200%; height: 170px; -webkit-animation: bgLoopSp 50000ms linear infinite; animation: bgLoopSp 50000ms linear infinite; }

.home-lead__bg2 { position: absolute; z-index: -1; top: 50px; background: url(../img/home/txt_lead02.png) 0 0/1000px repeat-x; width: 200%; height: 170px; -webkit-animation: bgLoopSp 80000ms linear infinite; animation: bgLoopSp 80000ms linear infinite; }

.home-lead__head { width: 100%; /*max-width: 320px;*/ margin-bottom: 40px; font-size:4.0rem;}

@media all and (min-width: 768px) { .home-lead { padding: 210px 0 100px; }
  .home-lead__bg { top: 10px; background: url(../img/home/txt_lead01.png) 0 0/3500px repeat-x; height: 560px; -webkit-animation: bgLoopPc 50000ms linear infinite; animation: bgLoopPc 50000ms linear infinite; }
  .home-lead__bg2 { top: 500px; background: url(../img/home/txt_lead02.png) 0 0/3500px repeat-x; height: 560px; -webkit-animation: bgLoopPc 80000ms linear infinite; animation: bgLoopPc 80000ms linear infinite; }
  .home-lead__inner { display: block; text-align:center; /*display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; */}
  .home-lead__head { width: 100%; /*max-width: 640px; margin: 0 0 0 10px;*/ }
  .home-lead__area-txt { width: 98%; text-align:center; }
  .home-lead__txt { margin: -5px 0 0 0; line-height: 2.5; font-size:2.0rem;}
  .home-lead__btn { width: 350px; margin: 43px 0 0 0; }
  .home-lead__btn-link { padding: 23px 0; } }

/* .home-bg
================================================ */
.home-bg { background: url(../img/home/bg_home01_sp.png) no-repeat bottom/cover; }

@media all and (min-width: 768px) {/* .home-bg { background: url(../img/home/bg_home01_pc.png) no-repeat bottom/contain; } */}

/* .home-commitment
================================================ */
.home-commitment__bg { background: url(../img/home/bg_commitment01_sp.jpg) no-repeat center/cover; width: 100%; height: 190px; }

.home-commitment__area-head { position: relative; z-index: 2; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 265px; height: 75px; background: url(../img/home/bg_commitment02_sp.png) no-repeat left/contain; margin: -35px 0 20px 0; }

.home-commitment__head { margin-left: 20px; color: #fff; font-size: 1.8rem; }

@media all and (min-width: 768px) { .home-commitment__bg { background: url(../img/home/bg_commitment01_pc.jpg) no-repeat center/cover; height: 600px; }
  .home-commitment__area-head { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 1200px; height: 240px; background: url(../img/home/bg_commitment02_pc.png) no-repeat center/contain; margin: -112px 0 60px 0; }
  .home-commitment__head { margin: -15px 0 0 100px; letter-spacing: .08em; font-size: 5.6rem; } }

.home-commitment-wrap { background: url(../img/home/bg_commitment03_sp.jpg) no-repeat bottom/contain; padding-bottom: 25px; }

.home-commitment-wrap__area-txt { position: relative; z-index: 2; background: #fff; max-width: 128px; height: 148px; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 17px 22px; margin-left: auto; margin-right: 20px; }

.home-commitment-wrap__area-txt.is_bgslide .home-commitment-wrap__txt { display: block; -webkit-animation: 1000ms img-opacity ease backwards; animation: 1000ms img-opacity ease backwards; -webkit-animation-delay: 1.3s; animation-delay: 1.3s; }

.home-commitment-wrap__txt { display: none; width: 82px; margin: 0 auto; text-align: center; }

.home-commitment-wrap__main-img { max-width: 53.5vh; margin: -105px 0 0 auto; padding-left: 20px; }

.home-commitment-wrap__sub-img { max-width: 22vh; margin: -18px auto 0 10px; }

@media all and (min-width: 768px) { .home-commitment-wrap { max-width: 1440px; margin: 0 auto; background: url(../img/home/bg_commitment03_pc.jpg) no-repeat bottom/contain; padding-bottom: 80px; }
  .home-commitment-wrap__area-txt { max-width: 330px; height: 380px; padding: 50px 10px 10px; margin-right: 8.5%; }
  .home-commitment-wrap__txt { width: 211px; }
  .home-commitment-wrap__main-img { max-width: 1000px; margin: -320px auto 0; }
  .home-commitment-wrap__sub-img { max-width: 364px; margin: -180px auto 0 6%; } }

/* .home-work
================================================ */
.home-work { padding: 45px 0 60px; }

.home-work__head { padding-left: 25px; }

.home-work__head:before { left: 0; }

@media all and (min-width: 768px) { .home-work__head { margin-left: 20px; margin-bottom: 70px; } }

@media all and (min-width: 1120px) { .home-work { padding: 115px 0 160px; }
  .home-work__head { margin-left: 150px; margin-bottom: 70px; }
  .home-work__head:before { left: -210px; } }

.home-work-list__item + .home-work-list__item { margin-top: 35px; }

.home-work-list__item:nth-child(even) .home-work-list__lead { margin-left: 10px; }

.home-work-list__item:nth-child(even) .home-work-list__txt { margin-left: 10px; }

.home-work-list__item:nth-child(even) .home-work-list__img { margin-top: -20px; }

.home-work-list__item:nth-child(even) .home-work-list__img:before { content: ''; right: -55px; bottom: -15px; left: auto; }

.home-work-list__item:nth-child(even) .home-work-list__img .home-work-list__img-wrap { margin-left: 0; margin-right: -10px; }

.home-work-list__item:last-child .home-work-list__img:before { content: ''; }

.home-work-list__area-head { max-width: 350px; margin: 0 auto; }

.home-work-list__img { position: relative; width: 100%; max-width: 310px; margin: 0 auto 30px; }

.home-work-list__img:before { z-index: 2; position: absolute; display: block; content: ''; font-size: 4.5rem; font-weight: bold; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; text-transform: uppercase; word-break: keep-all; color: rgba(94, 119, 137, 0.4); left: -55px; bottom: -15px; }

.home-work-list__img-wrap { margin-left: -10px; }

.home-work-list__lead { margin-bottom: 15px; font-weight: bold; font-size: 1.8rem; line-height: 1.7; }

@media all and (min-width: 768px) { .home-work-list { margin-bottom: 95px; }
  .home-work-list__item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .home-work-list__item + .home-work-list__item { margin-top: 90px; }
  .home-work-list__item:nth-child(even) .home-work-list__area-head { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; margin: -20px -4% 0 0; }
  .home-work-list__item:nth-child(even) .home-work-list__head { margin: 35px 0 0 25px; }
  .home-work-list__item:nth-child(even) .home-work-list__img { margin: -35px 0 0 50px; }
  .home-work-list__item:nth-child(even) .home-work-list__img:before { right: -100px; bottom: -15px; }
  .home-work-list__item:nth-child(even) .home-work-list__img .home-work-list__img-wrap { margin-left: 0; margin-right: 0; }
  .home-work-list__item:nth-child(even) .home-work-list__area-txt { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; width: 39%; margin: 90px 3% 0 0; }
  .home-work-list__item:nth-child(even) .home-work-list__lead { margin-left: 10px; }
  .home-work-list__item:nth-child(even) .home-work-list__txt { margin-left: 10px; }
  .home-work-list__area-head { max-width: inherit; width: 65%; margin: 0 2% 0 0; }
  .home-work-list__head { margin-right: -45px; }
  .home-work-list__img { max-width: 670px; margin: 0 45px 0 10px; }
  .home-work-list__img:before { font-size: 10rem; left: -100px; bottom: -40px; }
  .home-work-list__img-wrap { margin-left: 0; }
  .home-work-list__lead { margin-bottom: 25px; font-size: 3.0rem; letter-spacing: .10em; }
  .home-work-list__area-txt { width: 45.5%; margin: 90px 0 0 4%; } }

/* .home-member
================================================ */
.home-member { background: #f2f2f2 padding: 25px 0 50px; position: relative; }

.home-member__head { padding-left: 20px; }

.home-member__head:before { left: 0; }

.home-member__bg { background: url(../img/home/pic_member01_sp.jpg) no-repeat top right/cover; width: 95%; height: 27vh; min-height: 180px; margin: 0 0 0 auto; }

@media all and (min-width: 768px) { .home-member { background: #f2f2f2 padding: 105px 0 150px; }
  .home-member__head { padding-left: 345px; }
  .home-member__head:before { left: 115px; }
  .home-member__bg { background: url(../img/home/pic_member01_pc.jpg) no-repeat right/contain; width: 100%; max-width: 1660px; height: 650px; margin: 45px 0 0 auto; } }

.home-member-sec { position: relative; z-index: 2; background: #f2f2f2; width: 100%; max-width: 44vh; margin: -50px -20px 0 auto; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 30px 20px 30px 30px; }

.home-member-sec__head { margin-bottom: 15px; font-size: 2.8rem; line-height: 1.25; }

.home-member-sec__sub { display: inline-block; margin-bottom: 5px; font-weight: bold; font-size: 1.8rem; }

@media all and (min-width: 768px) { .home-member-sec { z-index: 4; position: absolute; right: 0; width: 100%; max-width: 1225px; margin: -175px 0 0 auto; padding: 50px 20px 30px 115px; }
  .home-member-sec__head { margin-bottom: 30px; font-size: 7.0rem; letter-spacing: .08em; }
  .home-member-sec__sub { font-size: 4.0rem; letter-spacing: .075em; }
  .home-member-sec__txt { max-width: 765px; } }

/* .home-interview
================================================ */
.home-interview { position: relative; background: #004619; padding: 10px 0 38px; color: #fff; }

/*
.home-interview:after { position: absolute; display: block; content: ''; background: #f2f2f2; min-width: 320px; width: 100%; height: 70px; margin: auto; top: -1px; right: 0; left: 0; }
*/
.home-interview__inner { position: relative; z-index: 2; }

@media all and (min-width: 768px) { .home-interview { padding: 245px 0 140px; background-size: 1700px; }
  .home-interview:after { min-width: inherit; height: 425px; } }

.home-interview-link { position: relative; }
/*
.home-interview-link:after { position: absolute; display: block; content: ''; background: #004619; width: 340px; height: 125px; top: 23px; right: -20px; }
*/
.home-interview-link__img { position: relative; z-index: 3; /*-webkit-box-shadow: 0px 0px 20px 6px rgba(0, 0, 0, 0.4); box-shadow: 0px 0px 20px 6px rgba(0, 0, 0, 0.4);*/ background: #fff; }

.home-interview-link__link { display: block; }

.home-interview-link__btn { position: absolute; background: #fff; margin: 0; right: -10px; bottom: -32px; z-index: 5; width: 130px; height: 45px; }

.home-interview-link__btn-link { padding: 8px 0; border: none; }

.home-interview-link__btn-link:after { right: 12px; }

@media all and (min-width: 768px) { .home-interview-link:after { width: 1200px; height: 370px; margin: auto; top: 95px; right: 0; left: 0; }
  .home-interview-link__img { max-width: 1000px; margin: 0 auto; }
  .home-interview-link__link { position: relative; }
  .home-interview-link__link:before { content: ''; position: absolute; z-index: 1; left: -80%; top: 0; -webkit-transform: skew(50deg); transform: skew(50deg); -webkit-transition-duration: 0.6s; transition-duration: 0.6s; -webkit-transform-origin: top left; transform-origin: top left; width: 0; height: 100%; background-color: rgba(255, 255, 255, 0.3); }
  .home-interview-link__link:hover:before { width: 180%; height: 100%; }
  .home-interview-link__link:hover .home-interview-link__img { -webkit-box-shadow: 0px 0px 30px 10px rgba(0, 0, 0, 0.4); box-shadow: 0px 0px 30px 10px rgba(0, 0, 0, 0.4); }
  .home-interview-link__btn { right: 85px; bottom: -10px; width: 200px; height: 80px; }
  .home-interview-link__btn-link { padding: 25px 0; }
  .home-interview-link__btn-link:after { right: 30px; } }

.home-interview-sec__area-head { margin: 40px 0 15px; line-height: 1.5; }

.home-interview-sec__area-head__en { font-size: 3.0rem; letter-spacing: 0; word-break: keep-all; }

.home-interview-sec__area-head__ja { font-size: 1.0rem; }

@media all and (min-width: 768px) { .home-interview-sec { margin: 120px 0 0; display: -webkit-box; display: -ms-flexbox; display: flex; }
  .home-interview-sec__area-head { width: 28%; margin: 0 8% 0 0; line-height: 1.5; }
  .home-interview-sec__area-head__en { font-size: 6.0rem; letter-spacing: 0; }
  .home-interview-sec__area-head__ja { font-size: 1.4rem; }
  .home-interview-sec__txt { margin: 25px 0 0 0; width: 66%; } }

/* .home-training
================================================ */
.home-training { padding: 50px 0 60px; }

.home-training__img { width: 31vh; }

.home-training__area-txt { margin: -125px 0 0 0; }

.home-training__head { display: -webkit-box; display: -ms-flexbox; display: flex; word-break: keep-all; }

.home-training__head:before { position: relative; width: 100px; margin-top: -5px; }

.home-training__head-wrap { margin-left: -15px; }

.home-training__head-ja { margin: 0 0 0 8px; }

@media screen and (min-width: 415px) { .home-training__img { width: 50%; }
  .home-training__flex { min-width: 375px; width: 55%; margin: -40% 0 0 auto; } }

@media all and (min-width: 768px) { .home-training { padding: 150px 0 147px; }
  .home-training__img { position: absolute; width: 97vh; margin: 0 -3.5% 0 0; left: 0; }
  .home-training__flex { min-width: inherit; margin: 0 auto 70px 49%; padding-right: 0px; }
  .home-training__area-txt { margin: 30px 0 0 0; }
  .home-training__head { margin: 0 0 0 20px; }
  .home-training__head:before { position: absolute; width: 200px; height: 4px; left: -250px; }
  .home-training__head-wrap { margin-left: -15px; }
  .home-training__head-ja { margin: -10px 0 0 8px; }
  .home-training__btn { clear: both; } }

.home-training-sec { position: relative; z-index: 2; margin-bottom: 28px; }

.home-training-sec__head { display: block; margin: 25px 30px 20px 90px; font-size: 2.0rem; line-height: 1.7; }

@media all and (min-width: 768px) { .home-training-sec { min-width: 470px; margin: 0 0 28px 16%; -webkit-box-sizing: border-box; box-sizing: border-box; padding-right: 40px; box-sizing: border-box; }
  .home-training-sec__head { margin: 70px 0 35px 0; font-size: 4.0rem; letter-spacing: .09em; line-height: 1.7; } }

@media screen and (min-width: 1290px) { .home-training-sec { margin: 0 0 28px 26%; padding-right: 0; } }

.home-training-list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.home-training-list__item { -webkit-backface-visibility: hidden; backface-visibility: hidden; width: 32.5%; max-width: 111px; }

.home-training-list__item:nth-child(2) { margin: 0 .5%; }

@media all and (min-width: 768px) { .home-training-list { position: relative; z-index: 2; clear: both; margin: 0 0 170px 170px; }
  .home-training-list__item { width: 100%; max-width: 338px; }
  .home-training-list__item:nth-child(2) { margin: 0 .2%; } }

/* .l-sub-img
================================================ */
#interview .l-sub-img { background: url(../img/member/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #interview .l-sub-img { background: url(../img/member/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .interview-single
================================================== */
.interview-single { position: relative; }

.interview-single:before { position: absolute; content: ""; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 150px 50px 0 0; border-color: #f2f2f2 transparent transparent transparent; z-index: -1; }

@media all and (min-width: 768px) { .interview-single:before { top: -57px; border-width: 500px 180px 0 0; }
  .interview-single__lead { font-size: 3rem; } }

/* .l-sub-img
================================================ */
#member .l-sub-img { background: url(../img/member/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #member .l-sub-img { background: url(../img/member/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .member-intro
================================================== */
.member-intro { position: relative; padding: 52px 0 0; }

.member-intro:before { position: absolute; content: ""; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 150px 50px 0 0; border-color: #f2f2f2 transparent transparent transparent; z-index: -1; }

.member-intro__img { margin-right: -20px; }

.member-intro__area { position: relative; z-index: 2; background: #f2f2f2; width: 100%; margin: -25px -20px 0 auto; padding: 15px 30px 25px 25px; -webkit-box-sizing: border-box; box-sizing: border-box; }

.member-intro__area-head { margin-bottom: 15px; font-size: 2.8rem; line-height: 1.25; }

.member-intro__area-sub { font-size: 1.7rem; font-weight: bold; }

@media all and (max-width: 360px) { .member-intro__area { padding: 15px 20px 25px 25px; } }

@media all and (min-width: 768px) { .member-intro { position: relative; padding: 66px 0 0; }
  .member-intro:before { top: -57px; border-width: 500px 180px 0 0; }
  .member-intro__img { margin-right: -20px; }
  .member-intro__area { width: 100%; margin: -100px -320px 0 320px; padding: 33px 26% 75px 75px; }
  .member-intro__area-head { margin-bottom: 30px; font-size: 5rem; line-height: 1.45; letter-spacing: 0.08em; }
  .member-intro__area-sub { font-size: 3.4rem; } }

/* .member-interview
================================================== */
.member-interview { position: relative; padding: 52px 0 0; }

.member-interview__item { padding: 35px 0 40px; }

.member-interview__item-pic { width: 67%; margin: 0 auto 15px; }

.member-interview__item-btn { margin-top: 25px; }

.member-interview__area-box { margin-top: 15px; padding: 12px 22px; background-color: #f2f2f2; }

.member-interview__area-box-name { margin-bottom: 5px; color: #004619; font-weight: bold; line-height: 1.4; }

.member-interview__area-box-ja { display: inline-block; margin-right: 10px; font-size: 1.7rem; }

.member-interview__area-box-en { display: inline-block; line-height: 1.5; font-size: 1.1rem; }

.member-interview__area-role { font-weight: bold; }

.member-interview__area-role-in:last-child { position: relative; margin-left: 7px; padding-left: 7px; }

.member-interview__area-role-in:last-child:after { position: absolute; content: "/"; top: -4px; left: -5px; width: 1px; height: 0; color: #999; }

@media all and (max-width: 767px) { .member-interview__item:nth-child(even) { position: relative; }
  .member-interview__item:nth-child(even):before { position: absolute; content: ""; top: 0; left: -20px; width: calc(100% + 40px); height: 100%; background: #f2f2f2; z-index: -1; }
  .member-interview__item:nth-child(even) .member-interview__area-box { background-color: #fff; } }

@media all and (min-width: 768px) { .member-interview { padding: 100px 0 120px; }
  .member-interview__item { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 55px 0 0; }
  .member-interview__item-pic { width: 42%; margin: 0 70px 0 0; }
  .member-interview__item-btn { max-width: 350px; margin: 50px auto 0; }
  .member-interview__item-btn-link { padding: 24px 0; }
  .member-interview__item:nth-child(even) { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .member-interview__item:nth-child(even) .member-interview__item-pic { margin: 0 0 0 70px; }
  .member-interview__area { width: 52%; margin-top: 15px; }
  .member-interview__area-head { line-height: 1.75; font-size: 3rem; }
  .member-interview__area-box { margin-top: 50px; padding: 40px; }
  .member-interview__area-box-name { margin-bottom: 5px; line-height: 1.4; }
  .member-interview__area-box-ja { font-size: 2.3rem; }
  .member-interview__area-box-en { font-size: 1.6rem; }
  .member-interview__area-role-in:last-child { margin-left: 8px; padding-left: 8px; } }

/* .member-communication
================================================== */
.member-communication { padding: 52px 0 60px; }

.member-communication__box-head { margin-bottom: 5px; }

.member-communication__box-area { padding-top: 0; margin-top: 0; border-top: 0; }

.member-communication__btn { margin-top: 20px; }

@media all and (min-width: 768px) { .member-communication { padding: 108px 0 140px; }
  .member-communication__item:nth-child(even) { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .member-communication__item:nth-child(even) .member-communication__box { margin: 0 0 0 60px; }
  .member-communication__box { margin-top: 0; }
  .member-communication__box-head { margin-bottom: 30px; }
  .member-communication__box-area { padding-top: 0; margin-top: 0; border-top: 0; }
  .member-communication__btn { max-width: 350px; margin: 50px auto 0; }
  .member-communication__btn-link { padding: 24px 0; } }

/* .l-sub-img
================================================ */
#recruit .l-sub-img { background: url(../img/recruit/bg_main01_sp.jpg) no-repeat center/cover; }

#recruit .l-sub-img__head { padding-top: 35px; }

#recruit .l-sub-img__head-ja { margin-top: 7px; }

@media all and (min-width: 768px) { #recruit .l-sub-img { background: url(../img/recruit/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .recruit-flow
================================================== */
.recruit-flow { position: relative; padding: 40px 0 50px; }

.recruit-flow:before { position: absolute; content: ""; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 150px 50px 0 0; border-color: #f2f2f2 transparent transparent transparent; }

.recruit-flow:after { position: absolute; content: ""; bottom: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 150px 50px; border-color: transparent transparent #f2f2f2 transparent; }

.recruit-flow__inner { position: relative; z-index: 9; }

.recruit-flow__list { margin-top: 25px; }

.recruit-flow__item { display: -webkit-box; display: -ms-flexbox; display: flex; }

.recruit-flow__item + .recruit-flow__item { margin-top: 25px; }

.recruit-flow__item-img { width: 37%; margin-right: 15px; }

.recruit-flow__item-area { width: 60%; }

.recruit-flow__item-lead { color: #004619; font-weight: bold; font-size: 1.6rem; }

.recruit-flow__item-txt { font-size: 1.3rem; }

.recruit-flow__item:not(:last-child) { position: relative; }

.recruit-flow__item:not(:last-child):after { position: absolute; content: ""; bottom: -22px; left: 50px; width: 20px; height: 15px; background: url(../img/common/ico_arw01.png) no-repeat; background-size: contain; }

.recruit-flow__btn { margin-top: 0; }

.recruit-flow__btn-wrap { margin-top: 25px; }

.recruit-flow__btn + .recruit-flow__btn { margin-top: 10px; }

@media all and (min-width: 768px) { .recruit-flow { padding: 63px 0 100px; }
  .recruit-flow:before { top: -57px; border-width: 500px 180px 0 0; }
  .recruit-flow:after { border-width: 0 0 500px 180px; }
  .recruit-flow__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 55px -20px 0; }
  .recruit-flow__item { width: calc(25% - 40px); margin: 0 20px; display: block; }
  .recruit-flow__item + .recruit-flow__item { margin-top: 0; }
  .recruit-flow__item-img { width: 100%; margin: 0 0 15px; }
  .recruit-flow__item-area { width: 100%; }
  .recruit-flow__item-lead { text-align: center; font-size: 2.3rem; margin-bottom: 5px; }
  .recruit-flow__item-txt { padding: 0 10px; font-size: 1.6rem; }
  .recruit-flow__item:not(:last-child):after { bottom: 71%; left: auto; right: -30px; width: 21px; height: 15px; -webkit-transform: translateY(-50%) rotate(-90deg); transform: translateY(-50%) rotate(-90deg); }
  .recruit-flow__btn { width: calc(50% - 10px); margin: 0 5px; }
  .recruit-flow__btn-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 60px auto 0; }
  .recruit-flow__btn + .recruit-flow__btn { margin-top: 0; } }

/* .recruit-anchor
================================================== */
.recruit-anchor { padding: 60px 0 50px; }

.recruit-anchor__btn { position: relative; width: 90%; margin-top: 0; }

.recruit-anchor__btn-link { padding: 25px; line-height: 1.7; }

.recruit-anchor__btn-link .is-small { font-size: 1.2rem; }

.recruit-anchor__recruitment { position: relative; }

.recruit-anchor__recruitment:before { position: absolute; content: ""; top: -15px; left: 50%; -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); width: 74%; height: 30px; background: url(../img/recruit/txt_recruitment01.png) no-repeat; background-size: contain; }

.recruit-anchor__faq { position: relative; margin-top: 40px; }

.recruit-anchor__faq:before { position: absolute; content: ""; top: -20px; left: 50%; -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); width: 20%; height: 35px; background: url(../img/recruit/txt_faq01.png) no-repeat; background-size: contain; }

@media all and (min-width: 768px) { .recruit-anchor { padding: 115px 0 100px; }
  .recruit-anchor__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0 -50px; }
  .recruit-anchor__btn { width: 100%; margin-top: 0; }
  .recruit-anchor__btn-link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; min-height: 130px; font-size: 2rem; padding: 30px; line-height: 1.7; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .recruit-anchor__btn-link .is-small { font-size: 1.6rem; }
  .recruit-anchor__recruitment { width: calc(50% - 100px); margin: 0 50px; }
  .recruit-anchor__recruitment:before { top: -15px; width: 45%; height: 30px; z-index: 9; }
  .recruit-anchor__faq { width: calc(50% - 100px); margin: 0 50px; }
  .recruit-anchor__faq:before { top: -17px; width: 13%; height: 33px; z-index: 9; } }

/* .recruit-recruitment
================================================== */
.recruit-recruitment { position: relative; padding: 0 0 50px; }

.recruit-recruitment:before { position: absolute; content: ""; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 1000px 375px 0 0; border-color: #f2f2f2 transparent transparent transparent; z-index: -1; }

.recruit-recruitment__head { margin-top: 40px; }

@media all and (min-width: 768px) { .recruit-recruitment { padding: 0 0 120px; }
  .recruit-recruitment:before { top: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); border: 0; width: 100%; height: 100%; background: url(../img/recruit/bg_recruitment01.png) no-repeat; background-size: cover; }
  .recruit-recruitment__head { margin-top: 100px; } }

/* .recruit-recruitment-table
================================================== */
.recruit-recruitment-table + .recruit-recruitment-table { margin-top: 35px; }

@media all and (min-width: 768px) { .recruit-recruitment-table__btn { margin-top: 48px; }
  .recruit-recruitment-table + .recruit-recruitment-table { margin-top: 55px; } }

/* .recruit-faq
================================================== */
.recruit-faq { padding: 40px 0 60px; }

@media all and (min-width: 768px) { .recruit-faq { padding: 100px 0 155px; }
  .recruit-faq__head { margin-bottom: 35px; } }

/* .l-sub-img
================================================ */
#thanks.entry .l-sub-img { background: url(../img/entry_mid/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #thanks.entry .l-sub-img { background: url(../img/entry_mid/bg_main01_pc.jpg) no-repeat center/cover; } }

/* #message
================================================== */
.thanks-message { padding: 45px 0 50px; }

.thanks-message__btn { margin: 30px auto 0; }

@media all and (min-width: 768px) { .thanks-message { padding: 75px 0 140px; text-align: center; }
  .thanks-message__head__en { display: inline-block; }
  .thanks-message__txt { margin-top: 30px; }
  .thanks-message__btn { max-width: 350px; margin: 50px auto 0; }
  .thanks-message__btn .c-btn01__link { padding: 25px 45px; } }

/* .l-sub-img
================================================ */
#training .l-sub-img { background: url(../img/training/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #training .l-sub-img { background: url(../img/training/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .training-policy
================================================== */
.training-policy { overflow: hidden; position: relative; padding: 43px 0 30px; }

.training-policy:before { position: absolute; content: ""; top: 200px; right: 0; width: 100%; height: 100%; background: #f2f2f2; }

.training-policy__head { margin-bottom: 13px; font-size: 2rem; font-weight: bold; line-height: 1.75; }

.training-policy__head .is-big { font-size: 2.3rem; }

.training-policy__txt + .training-policy__txt { margin-top: 15px; }

@media all and (min-width: 768px) { .training-policy { padding: 70px 0 73px; }
  .training-policy:before { top: 229px; width: 87.5%; height: 56%; }
  .training-policy:after { top: 80px; right: 230px; width: 23%; height: 110px; }
  .training-policy__img { margin: 8px 0 0 -360px; }
  .training-policy__area { margin-top: 125px; }
  .training-policy__head { margin-bottom: 30px; font-size: 3.4rem; line-height: 1.75; letter-spacing: 0.06em; }
  .training-policy__head .is-big { font-size: 3.8rem; }
  .training-policy__txt + .training-policy__txt { margin-top: 35px; } }

@media all and (min-width: 768px) and (max-width: 1670px) { .training-policy__img { max-width: 65%; -ms-flex-preferred-size: 65%; flex-basis: 65%; margin: 8px 0 0 -200px; } }

@media all and (min-width: 768px) and (max-width: 1490px) { .training-policy__img { max-width: 60%; -ms-flex-preferred-size: 60%; flex-basis: 60%; margin: 8px 0 0 -140px; } }

@media all and (min-width: 768px) and (max-width: 1366px) { .training-policy__img { max-width: 55%; -ms-flex-preferred-size: 55%; flex-basis: 55%; margin: 8px 0 0 -100px; } }

/* .training-education
================================================== */
.training-education { position: relative; padding: 40px 0 50px; }

.training-education__item-box { font-size: 1.3rem; margin-top: 10px; padding: 12px 25px; background-color: #f2f2f2; }

@media all and (min-width: 768px) { .training-education { padding: 30px 0 120px; }
  .training-education:before { position: absolute; content: ""; bottom: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 1380px 460px; border-color: transparent transparent #f2f2f2 transparent; }
  .training-education__item-box { font-size: 1.6rem; margin-top: 15px; padding: 27px 37px; } }

/* .training-step
================================================== */
.training-step { position: relative; padding: 43px 0 60px; }

@media all and (min-width: 768px) { .training-step { padding: 95px 0 135px; } }

/* .l-sub-img
================================================ */
#work .l-sub-img { background: url(../img/work/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #work .l-sub-img { background: url(../img/work/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .work-intro
================================================== */
.work-intro { overflow: hidden; position: relative; padding: 55px 0 30px; }

.work-intro:before { position: absolute; content: ""; top: 100px; right: 0; width: 100%; height: 100%; background: #f2f2f2; }

.work-intro__img { position: relative; }

.work-intro__img:after { position: absolute; content: ""; bottom: -15%; right: 0; width: 59%; height: 65px; background: url(../img/work/bg_work01.png) no-repeat; background-size: contain; z-index: 30; }

.work-intro__head { margin-bottom: 13px; font-size: 1.8rem; font-weight: bold; line-height: 1.75; }

.work-intro__head .is-big { font-size: 2rem; }

.work-intro__txt + .work-intro__txt { margin-top: 15px; }

@media all and (max-width: 360px) { .work-intro__img:after { bottom: -22%; } }

@media all and (min-width: 768px) { .work-intro { padding: 134px 0 73px; }
  .work-intro:before { top: 135px; width: 87.5%; }
  .work-intro__img:after { bottom: auto; top: 0; right: -93%; width: 50%; height: 119px; }
  .work-intro__head { margin-bottom: 30px; font-size: 3.4rem; line-height: 1.75; letter-spacing: 0.08em; }
  .work-intro__head .is-big { font-size: 3.8rem; }
  .work-intro__txt + .work-intro__txt { margin-top: 35px; } }

/* .work-job
================================================== */
.work-job { position: relative; padding: 50px 0 65px; }

.work-job:before { position: absolute; content: ""; top: 0; right: 0; width: 100%; height: 100%; background: url(../img/work/bg_work01_sp.png) no-repeat; background-size: cover; z-index: -1; }

.work-job__item-img { position: relative; }

.work-job__item-img:before { position: absolute; content: ""; bottom: -10px; left: -20px; width: 70%; background-repeat: no-repeat; background-size: contain; }

.work-job__item.is-sales .work-job__item-img:before { height: 135px; background-image: url(../img/work/bg_sales01.png); }

.work-job__item.is-architect .work-job__item-img:before { height: 270px; left: auto; right: -20px; bottom: -150px; background-image: url(../img/work/bg_architect01.png); }

.work-job__item.is-director .work-job__item-img:before { height: 220px; background-image: url(../img/work/bg_director01.png); }

.work-job__item-txt { margin-top: 40px; }

@media all and (min-width: 768px) { .work-job { padding: 120px 0 200px; }
  .work-job:before { width: 53%; background-image: url(../img/work/bg_work01_pc.png); }
  .work-job__item-img:before { bottom: -30px; left: -40px; width: 100%; }
  .work-job__item.is-sales .work-job__item-img:before {/* height: 300px; */}
  .work-job__item.is-architect .work-job__item-img:before { height: 560px; right: -40px; bottom: -465px;width: 75%; }
  .work-job__item.is-director .work-job__item-img:before { height: 495px; bottom: -400px; width: 75%;
  .work-job__item-label-in { font-size: 3.2rem; padding: 2px 20px; letter-spacing: 0.05em; }
  .work-job__item-label-in:before, .work-job__item-label-in:after { width: 25px; }
  .work-job__item-label-in:before { left: -25px; }
  .work-job__item-label-in:after { right: -25px; }
  .work-job__btn { max-width: 350px; margin: 40px 0 0; }
  .work-job__btn-link { padding: 25px 45px; } }

/* .l-sub-img
================================================ */
#sales .l-sub-img { background: url(../img/work/sales/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #sales .l-sub-img { background: url(../img/work/sales/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .l-sub-img
================================================ */
#architect .l-sub-img { background: url(../img/work/architect/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #architect .l-sub-img { background: url(../img/work/architect/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .l-sub-img
================================================ */
#director .l-sub-img { background: url(../img/work/director/bg_main01_sp.jpg) no-repeat center/cover; }

@media all and (min-width: 768px) { #director .l-sub-img { background: url(../img/work/director/bg_main01_pc.jpg) no-repeat center/cover; } }

/* .work-sub-mission
================================================== */
.work-sub-mission { overflow: hidden; position: relative; padding: 45px 0 45px; }

.work-sub-mission:before { position: absolute; content: ""; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 150px 50px 0 0; border-color: #f2f2f2 transparent transparent transparent; }

.work-sub-mission:after { position: absolute; content: ""; bottom: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 150px 50px; border-color: transparent transparent #f2f2f2 transparent; }

.work-sub-mission__inner { position: relative; z-index: 9; }

.work-sub-mission__inner:after { position: absolute; content: ""; bottom: -45px; right: -15px; width: 62%; height: 55px; background: url(../img/work/sales/txt_sales01.png) no-repeat; background-size: contain; z-index: 30; }

.work-sub-mission__set { margin-top: 25px; }

.work-sub-mission.is-director .work-sub-mission__inner:after { bottom: -47px; right: 0; width: 93%; background: url(../img/work/director/txt_director01.png) no-repeat; background-size: contain; }

.work-sub-mission.is-architect .work-sub-mission__inner:after { bottom: -49px; right: 0; width: 97%; height: 46px; background: url(../img/work/architect/txt_architect01.png) no-repeat; background-size: contain; }

@media all and (min-width: 768px) { .work-sub-mission { overflow: visible; padding: 63px 0 125px; }
  .work-sub-mission:before { top: -57px; border-width: 500px 180px 0 0; }
  .work-sub-mission:after { border-width: 0 0 500px 180px; }
  .work-sub-mission__inner:after { bottom: -22.5%; right: -10%; width: 36%; height: 110px; }
  .work-sub-mission__set { margin-top: 37px; }
  .work-sub-mission__area { width: 43% !important; }
  .work-sub-mission.is-director { padding: 63px 0 120px; }
  .work-sub-mission.is-director .work-sub-mission__inner:after { bottom: -21.5%; right: -10%; width: 59%; height: 110px; }
  .work-sub-mission.is-architect .work-sub-mission__inner:after { bottom: -23%; right: auto; left: -10%; width: 67%; height: 115px; } }

@media all and (min-width: 768px) and (max-width: 1460px) { .work-sub-mission__inner:after { right: 0; }
  .work-sub-mission.is-director .work-sub-mission__inner:after { right: 0; } }

@media all and (min-width: 768px) and (max-width: 1200px) { .work-sub-mission.is-architect .work-sub-mission__inner:after { left: 0; } }

/* .work-sub-role
================================================== */
.work-sub-role { position: relative; padding: 36px 0 45px; }

.work-sub-role:before { position: absolute; content: ""; top: 0; right: 0; width: 100%; height: 100%; background-color: #f2f2f2; }

.work-sub-role__set { margin-top: 20px; }

.work-sub-role__lead { margin-bottom: 10px; font-size: 1.8rem; font-weight: bold; line-height: 1.75; }

@media all and (min-width: 768px) { .work-sub-role { padding: 104px 0 120px; }
  .work-sub-role:before { position: absolute; content: ""; top: 0; right: 0; width: 60%; height: 100%; background-color: #f2f2f2; }
  .work-sub-role__set { margin-top: 30px; }
  .work-sub-role__lead { margin-bottom: 10px; font-size: 1.8rem; font-weight: bold; line-height: 1.75; } }

/* .work-sub-about
================================================== */
.work-sub-about { position: relative; padding: 39px 0 65px; }

.work-sub-about__img { margin: 0 -20px 0 20px; }

.work-sub-about__list { position: relative; z-index: 9; margin-top: -25px; }

.work-sub-about__item { overflow: hidden; position: relative; padding: 24px 20px 20px; background: #004619; background-size: cover; color: #fff; }

.work-sub-about__item:before { position: absolute; content: ""; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 0; border-color: #fff transparent transparent transparent; }

.work-sub-about__item:after { position: absolute; content: ""; bottom: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 350px 200px; border-color: transparent transparent #06365f transparent; }

.work-sub-about__item-num { position: absolute; top: 15px; left: 8px; font-size: 1rem; line-height: 1; }

.work-sub-about__item-num:before { position: absolute; content: ""; bottom: -5px; left: -10px; width: 22px; height: 1px; background: #fff; }

.work-sub-about__item-lead { position: relative; z-index: 99; text-align: center; font-size: 1.5rem; line-height: 1.75; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #e5e5e5; }

.work-sub-about__item-txt { position: relative; z-index: 99; font-size: 1.3rem; padding: 0 10px; }

.work-sub-about__item + .work-sub-about__item { margin-top: 15px; }

.work-sub-about__btn { margin-top: 40px; }

.work-sub-about.is-reverse .work-sub-about__img { margin: 0 20px 0 -20px; }

@media all and (min-width: 768px) { .work-sub-about { padding: 104px 0 137px; }
  .work-sub-about__wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-top: 50px; }
  .work-sub-about__img { width: 82%; margin: 0 -360px 0 0; }
  .work-sub-about__list { width: 60%; margin: 90px -50px 0 0; }
  .work-sub-about__item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 60px 55px 53px 50px; }
  .work-sub-about__item:before { border-width: 20px 20px 0 0; }
  .work-sub-about__item:after { border-width: 0 0 710px 410px; }
  .work-sub-about__item-num { top: 15px; left: 8px; font-size: 1.6rem; }
  .work-sub-about__item-num:before { bottom: -5px; left: -10px; width: 22px; }
  .work-sub-about__item-lead { width: 45%; text-align: left; font-size: 2.3rem; margin: 0; padding: 0; border-bottom: 0; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .work-sub-about__item-txt { position: relative; width: 55%; font-size: 1.6rem; padding: 0 0 0 10px; }
  .work-sub-about__item-txt:before { position: absolute; content: ""; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); left: -22px; width: 1px; height: 110%; background: #fff; }
  .work-sub-about__item + .work-sub-about__item { margin-top: 30px; }
  .work-sub-about__btn { margin-top: 82px; }
  .work-sub-about.is-reverse .work-sub-about__wrap { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .work-sub-about.is-reverse .work-sub-about__img { margin: 0 0 0 -360px; }
  .work-sub-about.is-reverse .work-sub-about__list { margin: 90px 0 0 -50px; } }

@media all and (min-width: 768px) and (max-width: 1800px) { .work-sub-about__img { width: 75%; margin: 0 -200px 0 0; }
  .work-sub-about.is-reverse .work-sub-about__img { width: 75%; margin: 0 0 0 -200px; } }

@media all and (min-width: 768px) and (max-width: 1500px) { .work-sub-about__img { width: 70%; margin: 0 -150px 0 0; }
  .work-sub-about.is-reverse .work-sub-about__img { width: 70%; margin: 0 0 0 -150px; } }

@media (min-width: 768px) and (max-width: 1024px) { .work-sub-about__img { width: 75%; margin: 0 -200px 0 0; }
  .work-sub-about.is-reverse .work-sub-about__img { width: 75%; margin: 0 0 0 -200px; } }
