@charset "UTF-8";
/** Photoshopのトラッキングからletter-spacingを算出 */
/** placeholderのスタイルを設定 */
/** テキストを含むボックス向けに、font-sizeとline-heightを設定しつつ、上下の余白をトリミングする */
/** 1/2の値を設定するsize-text-box。単位なしの値を受け取る */
/** 750px以下ではPhotoshopでの指定サイズの半分にする */
.heading-bordered-top, .heading-bordered-about-top-policy, .heading-bordered-about-top-overview, .heading-bordered-about-top-access, .heading-bordered-team-top { margin-top: 120px; }

@media (max-width: 750px) { .heading-bordered-top, .heading-bordered-about-top-policy, .heading-bordered-about-top-overview, .heading-bordered-about-top-access, .heading-bordered-team-top { margin-top: 60px; } }

.heading-bordered-top-team { margin-top: 120px; }

@media (max-width: 750px) { .heading-bordered-top-team { margin-top: 40px; } }

.heading-bordered-top-recruit { position: relative; z-index: 1; }

@media (max-width: 750px) { .heading-bordered-top-recruit { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } }

@media (max-width: 750px) { .heading-bordered-top-recruit .heading-bordered-body { position: absolute; top: 20px; left: 0; right: 0; margin-left: auto; margin-right: auto; -webkit-transform: translateX(-2px); transform: translateX(-2px); } }

.heading-bordered-top-recruit .heading-bordered-lead { margin-top: 148px; color: #fff; }

@media (max-width: 750px) { .heading-bordered-top-recruit .heading-bordered-lead { width: 100%; margin-top: 0; position: absolute; bottom: 74px; font-weight: bold; } }

.heading-bordered-white .heading-bordered-body:before { border: 1px solid #fff; background: transparent; }

@media (max-width: 750px) { .heading-bordered-white .heading-bordered-body:before { border: 1px solid #fff; } }

.heading-bordered-white .heading-bordered-body-text { border: 1px solid #fff; background: #fff; left: -2px; }

@media (max-width: 750px) { .heading-bordered-white .heading-bordered-body-text { border: 1px solid #fff; left: -2px; } }

.heading-bordered-body { position: relative; width: 32px; margin-left: auto; margin-right: auto; -webkit-transform: translateX(-2px); transform: translateX(-2px); }

@media (max-width: 750px) { .heading-bordered-body { width: 32px; -webkit-transform: translateX(-2px); transform: translateX(-2px); } }

.heading-bordered-body:before { content: ''; position: absolute; top: 4px; left: 4px; display: block; width: 28px; height: calc(100% - 4px); border: 1px solid #222; background: #fff; z-index: 0; }

@media (max-width: 750px) { .heading-bordered-body:before { top: 4px; left: 4px; width: 28px; height: calc(100% - 4px); border: 1px solid #222; } }

.heading-bordered-body:after { content: ''; display: block; height: 4px; }

@media (max-width: 750px) { .heading-bordered-body:after { height: 4px; } }

.heading-bordered-body-text { position: relative; display: inline-block; vertical-align: top; width: 28px; border: 1px solid #222; background: #fff; z-index: 1; -webkit-writing-mode: vertical-lr; -ms-writing-mode: tb-lr; writing-mode: vertical-lr; font-size: 16px; line-height: 26px; letter-spacing: 0.06em; padding-top: 17px; padding-bottom: 13px; font-weight: bold; }

@media (max-width: 750px) { .heading-bordered-body-text { width: 28px; border: 1px solid #222; font-size: 16px; line-height: 26px; padding-top: 17px; padding-bottom: 13px; } }

.heading-bordered-lead { font-size: 16px; line-height: 28px; margin-top: 34px; margin-bottom: -6px; letter-spacing: 0em; text-align: center; }

@media (max-width: 750px) { .heading-bordered-lead { font-size: 13px; line-height: 20px; margin-top: 23.5px; margin-bottom: -3.5px; padding-left: 20px; padding-right: 20px; } }

.heading-privacy-policy-lead { font-size: 16px; line-height: 28px; margin-top: 34px; margin-bottom: -6px; letter-spacing: 0em; text-align: center; }

@media (max-width: 750px) { .heading-privacy-policy-lead { font-size: 13px; line-height: 20px; margin-top: 23.5px; margin-bottom: -3.5px; padding-left: 20px; padding-right: 20px; text-align: left; } }

.heading-bordered-lead-small { font-size: 12px; line-height: 21px; margin-top: 35.5px; margin-bottom: -4.5px; letter-spacing: 0em; display: block; text-align: center; }

@media (max-width: 750px) { .heading-bordered-lead-small { font-size: 10px; line-height: 20px; margin-top: 25px; margin-bottom: -5px; } }

.heading-bordered-circle { font-size: 8px; color: #ff4141; font-family: normal; margin-right: 2px; }

@media (max-width: 750px) { .heading-bordered-circle { font-size: 7px; margin-right: 1px; } }

.form { margin-top: 80px; }

@media (max-width: 750px) { .form { margin-top: 60px; } }

.form ul { list-style: none; }

.form-list { display: flex; flex-wrap: wrap; padding-left: 40px; padding-right: 40px; }

@media (max-width: 750px) { .form-list { display: block; padding-left: 20px; padding-right: 20px; } }

.form-list-item { width: 50%; display: flex; flex-wrap: wrap; align-content: flex-start; margin-top: 40px; }

@media (max-width: 750px) { .form-list-item { width: 100%; margin-top: 30px; } }

.form-list-item:nth-child(odd) { padding-left: 60px; padding-right: 40px; }

@media (max-width: 750px) { .form-list-item:nth-child(odd) { padding-left: 0; padding-right: 0; } }

.form-list-item:nth-child(even) { padding-left: 40px; padding-right: 60px; }

@media (max-width: 750px) { .form-list-item:nth-child(even) { padding-left: 0; padding-right: 0; } }

.form-list-item > label { display: block; width: 106px; height: 28px; font-size: 16px; line-height: 28px; font-weight: bold; }

@media (max-width: 750px) { .form-list-item > label { width: 36.50794%; height: 24px; font-size: 13px; line-height: 24px; } }

.form-list-item > label[for=form-category] { letter-spacing: 0.05em; }

.form-list-item > label[for=form-lastname], .form-list-item > label[for=form-company], .form-list-item > label[for=form-department] { letter-spacing: 1.1em; }

.form-list-item > label[for=form-tel-1] { letter-spacing: 0.4em; }

.form-list-item > label[for=form-email] { letter-spacing: 0.1em; }

.form-list-item > label[for=form-detail] { letter-spacing: 0em; }

.form-select-wrapper, .form-list-item > input { width: 360px; height: 28px; border: 1px solid #333; line-height: 26px; border-radius: 0; background: transparent; font-size: 16px; }

@media (max-width: 750px) { .form-select-wrapper, .form-list-item > input { height: 24px; border: 1px solid #333; line-height: 22px; font-size: 13px; } }

.form-select-wrapper:placeholder-shown, .form-list-item > input:placeholder-shown { color: rgba(34, 34, 34, 0.5); }

.form-select-wrapper::-webkit-input-placeholder, .form-list-item > input::-webkit-input-placeholder { color: rgba(34, 34, 34, 0.5); }

.form-select-wrapper:-moz-placeholder, .form-list-item > input:-moz-placeholder { color: rgba(34, 34, 34, 0.5); }

.form-select-wrapper::-moz-placeholder, .form-list-item > input::-moz-placeholder { color: rgba(34, 34, 34, 0.5); }

.form-select-wrapper:-ms-input-placeholder, .form-list-item > input:-ms-input-placeholder { color: rgba(34, 34, 34, 0.5); }

.form-list-item > input { padding-left: 18px; padding-right: 18px; }

@media (max-width: 750px) { .form-list-item > input { padding-left: 10px; padding-right: 10px; width: 55.55556%; } }

.form-list-item > input[name$="name1"], .form-list-item > input[name$="name2"], .form-list-item > input[name=form-lastname], .form-list-item > input[name=form-firstname] { width: 160px; }

@media (max-width: 750px) { .form-list-item > input[name$="name1"], .form-list-item > input[name$="name2"], .form-list-item > input[name=form-lastname], .form-list-item > input[name=form-firstname] { width: 25.39683%; } }

.form-list-item > input[name$="name2"], .form-list-item > input[name=form-firstname] { margin-left: 40px; }

@media (max-width: 750px) { .form-list-item > input[name$="name2"], .form-list-item > input[name=form-firstname] { margin-left: 4.7619%; } }

.form-list-item > input[name^=form-tel] { width: 100px; }

@media (max-width: 750px) { .form-list-item > input[name^=form-tel] { width: 15.87302%; } }

.form-select-wrapper { position: relative; }

@media (max-width: 750px) { .form-select-wrapper { width: 55.55556%; } }

.form-select-wrapper:before { content: ''; position: absolute; top: 0; right: 30px; display: block; width: 1px; height: 100%; background: #333; }

@media (max-width: 750px) { .form-select-wrapper:before { right: 24px; width: 1px; } }

.form-select-wrapper:after { content: ''; position: absolute; top: 7px; right: 11px; display: block; width: 9px; height: 9px; border-left: 2px solid #333; border-bottom: 2px solid #333; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

@media (max-width: 750px) { .form-select-wrapper:after { top: 5.5px; right: 8px; width: 9px; height: 9px; border-left: 2px solid #333; border-bottom: 2px solid #333; } }

.form-select-wrapper > select { width: 100%; height: 100%; padding-left: 18px; padding-right: 48px; margin-top: -3px; }

@media (max-width: 750px) { .form-select-wrapper > select { padding-left: 10px; padding-right: 34px; width: 100%; } }

.form-list-item-wide { width: 100%; height: auto; padding-left: 60px; padding-right: 60px; }

@media (max-width: 750px) { .form-list-item-wide { width: 92.06349%; padding-left: 0; padding-right: 0; margin-top: 42px; } }

.form-list-item-wide > textarea { width: 940px; height: 200px; border: 1px solid #333; line-height: 26px; padding-left: 18px; padding-right: 18px; font-size: 16px; }

@media (max-width: 750px) { .form-list-item-wide > textarea { width: 100%; height: 166px; border: 1px solid #333; line-height: 22px; padding-left: 10px; padding-right: 10px; font-size: 13px; margin-top: 10px; } }

@media (max-width: 750px) { .form-list-item-wide > label { margin-top: -5.5px; } }

.form-hyphen { display: block; width: 30px; height: 28px; position: relative; }

@media (max-width: 750px) { .form-hyphen { width: 3.96825%; height: 24px; } }

.form-hyphen:after { content: ''; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); display: block; width: 10px; height: 1px; background: #333; }

@media (max-width: 750px) { .form-hyphen:after { width: 50%; height: 1px; } }

.form-button.btn.btn-black { margin-top: 80px; display: block; margin-left: auto; margin-right: auto; cursor: pointer; }

@media (max-width: 750px) { .form-button.btn.btn-black { margin-top: 60px; } }

.form-list-lower-row { font-size: 12px; line-height: 18px; margin-top: 3px; margin-bottom: -3px; display: flex; width: 100%; }

@media (max-width: 750px) { .form-list-lower-row { font-size: 10px; line-height: 14px; margin-top: 8px; margin-bottom: -13px; } }

.form-list-lower-row > *:first-child { margin-left: 106px; }

@media (max-width: 750px) { .form-list-lower-row > *:first-child { margin-left: 36.50794%; } }

.form-list-lower-row > label[for=form-lastname] { width: 160px; }

@media (max-width: 750px) { .form-list-lower-row > label[for=form-lastname] { width: 25.39683%; } }

.form-list-lower-row > label[for=form-firstname] { width: 160px; margin-left: 40px; }

@media (max-width: 750px) { .form-list-lower-row > label[for=form-firstname] { width: 25.39683%; margin-left: 4.7619%; } }

.form-required { position: relative; }

.form-required:nth-child(odd):after { right: 40px; }

@media (max-width: 750px) { .form-required:nth-child(odd):after { right: 0; } }

.form-required:nth-child(even):after { right: 60px; }

@media (max-width: 750px) { .form-required:nth-child(even):after { right: 0; } }

.form-required:after { content: '●'; position: absolute; top: 0; display: block; width: 34px; height: 28px; line-height: 28px; font-size: 8px; color: #ff4141; text-align: center; }

@media (max-width: 750px) { .form-required:after { width: auto; height: 24px; line-height: 24px; font-size: 7px; } }

.form-error-message { display: none; }

.form.form-error { position: relative; }

.form.form-error > .form-error-message { position: absolute; bottom: 56px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); display: block; color: #ff4141; text-align: center; font-size: 12px; line-height: 15px; margin-top: -1.5px; margin-bottom: -1.5px; }

@media (max-width: 750px) { .form.form-error > .form-error-message { bottom: 44px; width: 100%; padding-left: 20px; padding-right: 20px; font-size: 10px; line-height: 12.5px; margin-top: -1.25px; margin-bottom: -1.25px; } }

.form-list-item.form-error { position: relative; }

.form-list-item.form-error > .form-error-message { position: absolute; bottom: calc(100% + 6px); display: block; padding-left: 106px; color: #ff4141; font-size: 12px; line-height: 15px; margin-top: -1.5px; margin-bottom: -1.5px; }

@media (max-width: 750px) { .form-list-item.form-error > .form-error-message { bottom: calc(100% + 4px); padding-left: 36.50794%; font-size: 10px; line-height: 14px; margin-top: -2px; margin-bottom: -2px; } }

.form-list-item.form-error .form-select-wrapper, .form-list-item.form-error > input { background: #ffc6c5; }

.form-error-message-empty, .form-error-message-invalid { display: none; }

.form-error-empty > .form-error-message .form-error-message-empty { display: inline; }

@media (max-width: 640px) { .form-error-empty > .form-error-message .form-error-message-empty { margin-right: -5px; } }

.form-error-invalid > .form-error-message .form-error-message-invalid { display: inline; }

@media (max-width: 640px) { .form-error-invalid > .form-error-message .form-error-message-invalid { margin-right: -20px; } }

.btn { border-radius: 0; cursor: pointer; }

.btn.btn-black { color: #ffffff; background-color: #000; font-size: 14px; font-weight: bold; display: inline-block; border: 1px solid #000; padding: 3px 17px; padding-right: 50px; position: relative; transition: color 0.3s ease, background-color 0.3s ease; }

@media (max-width: 750px) { .btn.btn-black { font-size: 14px; line-height: 24px; padding: 0 35px 0 16px; border: 1px solid #000; } }

.btn.btn-black:hover { color: #000; background-color: #fff; }

.btn.btn-black:hover:after { background-color: #000; }

.btn.btn-black:hover .btn-icon svg { fill: #000; }

.btn.btn-black:after { content: ''; height: 29px; width: 1px; background-color: #fff; display: block; position: absolute; top: -1px; right: 28px; transition: background-color 0.3s ease; }

@media (max-width: 750px) { .btn.btn-black:after { width: 1px; height: 26px; top: -1px; right: 24px; } }

.btn.btn-black .btn-icon { background-color: transparent; display: block; position: absolute; top: 0; bottom: 0; margin: auto; right: 10px; width: 8px; height: 12px; }

@media (max-width: 750px) { .btn.btn-black .btn-icon { right: 8px; width: 7.5px; height: 12px; } }

.btn.btn-black .btn-icon svg { fill: #fff; width: 8px; height: 12px; display: block; transition: fill 0.3s ease; }

@media (max-width: 750px) { .btn.btn-black .btn-icon svg { width: 7.5px; height: 12px; } }

.btn.btn-transparent { color: #ffffff; background-color: rgba(255, 255, 255, 0); font-size: 14px; font-weight: bold; line-height: 26px; letter-spacing: 0em; display: inline-block; padding: 0 46px 0 20px; border: 1px solid #fff; position: relative; transition: color 0.3s ease, background-color 0.3s ease; }

@media (max-width: 750px) { .btn.btn-transparent { font-size: 14px; line-height: 22px; padding: 0 36px 0 17px; border: 1px solid #fff; } }

.btn.btn-transparent:hover { color: #000; background-color: white; }

.btn.btn-transparent:hover:after { background-color: #000; }

.btn.btn-transparent:hover .btn-icon svg { fill: #000; }

.btn.btn-transparent:after { content: ''; height: 28px; width: 1px; background-color: #fff; display: block; position: absolute; top: -1px; right: 26px; transition: background-color 0.3s ease; }

@media (max-width: 750px) { .btn.btn-transparent:after { width: 1px; height: 24px; top: -1px; right: 24px; } }

.btn.btn-transparent .btn-icon { background-color: transparent; display: block; position: absolute; top: 0; bottom: 0; margin: auto; right: 9px; width: 8px; height: 12px; }

@media (max-width: 750px) { .btn.btn-transparent .btn-icon { right: 8px; width: 7.5px; height: 12px; } }

.btn.btn-transparent .btn-icon svg { fill: #fff; width: 8px; height: 12px; display: block; transition: fill 0.3s ease; }

@media (max-width: 750px) { .btn.btn-transparent .btn-icon svg { width: 7.5px; height: 12px; } }

.btn.btn-white { color: #000; background-color: #fff; font-size: 14px; font-weight: bold; line-height: 27px; letter-spacing: 0em; display: inline-block; padding: 0 46px 0 20px; border: 1px solid #000; position: relative; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }

@media (max-width: 750px) { .btn.btn-white { font-size: 14px; line-height: 22px; padding: 0 36px 0 17px; border: 1px solid #000; } }

.btn.btn-white:hover { color: #fff; background-color: #000; border-color: #000; }

.btn.btn-white:hover:after { background-color: #fff; }

.btn.btn-white:hover .btn-icon svg { fill: #fff; }

.btn.btn-white:after { content: ''; height: 29px; width: 1px; background-color: #000; display: block; position: absolute; top: -1px; right: 26px; transition: background-color 0.3s ease; }

@media (max-width: 750px) { .btn.btn-white:after { width: 1px; height: 24px; top: -1px; right: 24px; } }

.btn.btn-white .btn-icon { background-color: transparent; display: block; position: absolute; top: 0; bottom: 0; margin: auto; right: 9px; width: 8px; height: 12px; }

@media (max-width: 750px) { .btn.btn-white .btn-icon { right: 8px; width: 7.5px; height: 12px; } }

.btn.btn-white .btn-icon svg { fill: #000; width: 8px; height: 12px; display: block; transition: fill 0.3s ease; }

@media (max-width: 750px) { .btn.btn-white .btn-icon svg { width: 7.5px; height: 12px; } }

.btn.btn-reverse { padding: 0 20px 0 46px; }

@media (max-width: 750px) { .btn.btn-reverse { padding: 0 36px 0 17px; } }

.btn.btn-reverse:after { left: 26px; right: auto; }

@media (max-width: 750px) { .btn.btn-reverse:after { left: auto; right: 24px; } }

.btn.btn-reverse .btn-icon { left: 9px; right: auto; }

@media (max-width: 750px) { .btn.btn-reverse .btn-icon { left: auto; right: 8px; } }

.btn.btn-reverse .btn-icon svg { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

@media (max-width: 750px) { .btn.btn-reverse .btn-icon svg { -webkit-transform: none; transform: none; } }

@media (max-width: 750px) { .btn.btn-case-study { letter-spacing: -0.11em; } }

.btn.btn-arrow-bottom svg { -webkit-transform: rotate(90deg); transform: rotate(90deg); }

.btn-locater-case-study { margin-top: 40px; padding-right: 40px; text-align: right; }

@media (max-width: 750px) { .btn-locater-case-study { margin-top: 30px; padding-right: 0; padding-left: 10px; text-align: left; } }

.br-pc { display: inline; }

@media (max-width: 750px) { .br-pc { display: none; } }

.br-sp { display: none; }

@media (max-width: 750px) { .br-sp { display: inline; } }

@media all and (-ms-high-contrast: none) { .main-visual-copy-row { padding-top: .4em !important; }
  .btn-black { padding-top: 6px !important; line-height: 18px !important; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .btn-black { padding-top: 5px !important; line-height: 19px !important; } }

@media all and (-ms-high-contrast: none) { .btn-transparent { padding-top: 6px !important; line-height: 20px !important; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .btn-transparent { padding-top: 6px !important; line-height: 16px !important; } }

@media all and (-ms-high-contrast: none) { .btn-white { padding-top: 6px !important; line-height: 21px !important; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .btn-white { padding-top: 6px !important; line-height: 16px !important; } }

@media all and (-ms-high-contrast: none) { .static-nav-link-text, .header-link-text { -webkit-transform: translateY(0.3em) !important; transform: translateY(0.3em) !important; }
  .static-nav-link-text:after, .header-link-text:after { bottom: 0 !important; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .static-nav-link-text, .header-link-text { -webkit-transform: none; transform: none; } }

@media all and (-ms-high-contrast: none) { .heading-bordered-body-text { line-height: 18px !important; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .heading-bordered-body-text { line-height: 18px !important; } }

@media all and (-ms-high-contrast: none) { .figured-text-heading-inner { padding-top: 8px !important; line-height: 18px !important; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .figured-text-heading-inner { padding-top: 6px !important; line-height: 11px !important; } }

@media all and (-ms-high-contrast: none) { .footer-link-text { padding-bottom: 0; }
  .main-visual-heading { padding-top: 6px; line-height: 22px; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .main-visual-heading { padding-top: 4px !important; line-height: 8px !important; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .form-select-wrapper { line-height: 30px !important; } }

@media all and (-ms-high-contrast: none) { .form-select-wrapper > [name=form-category] { padding-top: 6px; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .form-select-wrapper > [name=form-category] { padding-top: 0; } }

@media all and (-ms-high-contrast: none) { .form-list-item > [name=form-company], .form-list-item > [name=form-tel-1], .form-list-item > [name=form-tel-2], .form-list-item > [name=form-tel-3], .form-list-item > [name=form-department], .form-list-item > [name=form-email], .form-list-item > [name=form-detail] { padding-top: 3px; } }

@media all and (-ms-high-contrast: none) and (max-width: 750px) { .form-list-item > [name=form-company], .form-list-item > [name=form-tel-1], .form-list-item > [name=form-tel-2], .form-list-item > [name=form-tel-3], .form-list-item > [name=form-department], .form-list-item > [name=form-email], .form-list-item > [name=form-detail] { padding-top: 4px !important; } }
