@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;600;700&display=swap");
body { -webkit-text-size-adjust: 100%; }

body, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, figure { margin: 0; padding: 0; box-sizing: border-box; }

img { line-height: 0; }

figure { line-height: 1; }

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

fieldset, img { border: 0; }

address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; }

li { list-style: none; }

caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

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

abbr, acronym { border: 0; font-variant: normal; }

sup { vertical-align: text-top; }

sub { vertical-align: text-bottom; }

input, textarea, select { font-family: inherit; font-size: inherit; font-weight: inherit; }

input, textarea, select { *font-size: 100%; }

legend { color: #000; }

strong { font-weight: normal; }

* { box-sizing: border-box; }

*:focus { outline: none; }

/* cyrillic-ext */
body { -webkit-text-size-adjust: 100%; position: relative; }

html { line-height: 1.8; color: #333; text-align: justify; text-justify: inter-ideograph; }
@media screen and (min-width: 768px) { html { font-size: 14px; } }
@media screen and (max-width: 767px) { html { font-size: 3vw; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { html { font-size: 1.5vw; } }

div { box-sizing: border-box; }

h1, h2, h3, h4, h5, h6, p, li, dt, dd, th, td, a { box-sizing: border-box; letter-spacing: 1px; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ",  sans-serif; }
@media screen\0  { h1, h2, h3, h4, h5, h6, p, li, dt, dd, th, td, a { font-family: 'Noto Sans JP', sans-serif; /*
font-family: 'Segoe UI', //Windowsの欧文
Meiryo,     //メイリオ
sans-serif;
*/ } }

a { color: #000; }

.wrappar { overflow: hidden; }

.scroll-stop { overflow: hidden; }

.layer-txt { font-size: 3.2vw; color: #fff; display: inline-block; overflow: hidden; position: relative; line-height: 1; }
.layer-txt span { padding: 12px 25px; display: inline-block; position: relative; z-index: 2; }
.layer-txt .layer-before, .layer-txt .layer-after { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
.layer-txt .layer-before { z-index: 1; background: #3FABB9; }
.layer-txt .layer-after { z-index: 3; background: #fff; }

.megabnr-field { transition: 0.5s; position: fixed; width: 100%; z-index: 5; height: calc(100vw - 80px); top: 80px; opacity: 0; transform: scaleY(0); transform-origin: 0% 0%; }
@media screen and (max-width: 767px) { .megabnr-field { display: none; } }
.megabnr-field .megabnr-field-inner { background: #efefef; padding: 35px 0; width: 100%; position: relative; z-index: 6; }
.megabnr-field .megabnr-field-inner .in { width: 1000px; margin: 0 auto; display: flex; justify-content: center; flex-wrap: wrap; }
.megabnr-field .megabnr-field-inner a { background: #fff; display: flex; align-items: center; width: 30%; margin-right: 3%; margin-bottom: 12px; }
.megabnr-field .megabnr-field-inner figure { width: 80px; height: 80px; }
.megabnr-field .megabnr-field-inner p { font-size: 0.7rem; padding: 0px 12px; }
.megabnr-field .megabnr-bg { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: rgba(255, 255, 255, 0.8); z-index: 5; }

.megabnr-open { opacity: 1; transform: scaleY(1); }

.ac-container .cross { display: inline-block; }
.ac-container .cross i { display: inline-block; transition: 0.5s; transform-origin: 50%; width: 40px; height: 40px; background: #EBEBEB; border-radius: 50%; position: relative; }
.ac-container .cross i:after, .ac-container .cross i:before { transition: 0.5s; position: absolute; transform-origin: 50%; transition: 0.5s; content: ""; background: #B4B4B4; width: 20px; height: 1px; top: 18px; left: 10px; }
.ac-container .cross i:before { transform: rotate(90deg); }
.ac-container .more { padding: 20px 0; text-align: center; }
.ac-container .more a { padding: 8px 25px; display: inline-block; border: 1px solid #ccc; }
.ac-container .cross .accordion-btn-open { transform: rotate(135deg); }

.ac-contents { overflow: hidden; height: 0; transition: 0.5s; }

.fadein { opacity: 0; transition: 1.3s; }
@media screen and (min-width: 768px) { .fadein { transform: translate(0, 40px); } }
@media screen and (max-width: 767px) { .fadein { transform: translate(0, 2vw); } }
.fadein.active { opacity: 1; transform: translate(0, 0); }

/*パンクズ*/
#pankuzu { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 30px 0 0 0; }
#pankuzu li { line-height: 1em; margin-right: 5px; }
#pankuzu li:before { content: ">"; font-size: 11px; padding-right: 5px; }
#pankuzu li:first-child:before { display: none; }
#pankuzu li a, #pankuzu li span { color: #666; font-size: 12px; }
@media screen and (max-width: 767px) { #pankuzu li a, #pankuzu li span { font-size: 1rem; } }
#pankuzu li a:hover { text-decoration: underline; }

a .link_img { overflow: hidden; }
a .link_img span { display: block; background-repeat: no-repeat; background-size: cover; background-position: center; padding-top: 100%; height: 0; width: 100%; transform: scale(1); transition: 0.5s all; }

a:hover .link_img span { transform: scale(1.1); }

#page_title { background: #f5f5f5; padding: 100px 4rem 2rem; overflow: hidden; }
@media screen and (max-width: 767px) { #page_title { padding: 60px 2rem 2rem; } }
#page_title .title_box { position: relative; }
#page_title .title_box .en { font-family: "Cabin"; font-weight: bold; font-size: 10rem; line-height: 1em; letter-spacing: 0.1em; color: #ddd; }
@media screen and (max-width: 767px) { #page_title .title_box .en { font-size: 8rem; } }
#page_title .title_box .title { position: absolute; bottom: 0; left: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; color: #000; line-height: 1em; padding: 0.5em 1em; font-size: 1.76rem; font-weight: bold; letter-spacing: 0.1em; }
@media screen and (max-width: 767px) { #page_title .title_box .title { font-size: 1.58rem; } }
#page_title .title_box .title span { display: inline-block; transform: skewX(-15deg); }
#page_title.single_title { background: none; padding: 100px 4rem 2rem; }
@media screen and (max-width: 767px) { #page_title.single_title { padding: 60px 2rem 5vw; } }
#page_title.single_title .title_box .en { font-size: 12rem; line-height: 1; font-weight: normal; }
@media screen and (max-width: 767px) { #page_title.single_title .title_box .en { font-size: 5rem; } }
#page_title.single_title #pankuzu { position: relative; z-index: 5; padding: 5px 0 0 0; }

.page_lead h2 { font-size: 2.85rem; letter-spacing: 0.05em; font-weight: bold; font-style: italic; line-height: 1.3; }
@media screen and (max-width: 767px) { .page_lead h2 { font-size: 2.57rem; } }
.page_lead h2 strong { font-size: 127.5%; color: #fff; font-style: italic; font-weight: bold; -webkit-text-stroke: 1px #000; text-stroke: 1px #000; }
.page_lead p { line-height: 2.06; margin-top: 3rem; padding: 2rem 0 2rem 3rem; border-left: 1px solid #000; font-size: 1.2rem; }
@media screen and (max-width: 767px) { .page_lead p { font-size: 1.07rem; padding: 3vw 0 3vw 8vw; } }

@media all and (-ms-high-contrast: none) { *::-ms-backdrop, .page_lead h2 strong { text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000; font-weight: normal; } }
.btn_border { text-align: center; margin-top: 4rem; }
.btn_border a { display: inline-block; padding: 1rem; width: 29rem; border-top: 1px solid #000; border-bottom: 1px solid #000; position: relative; font-size: 1.5rem; letter-spacing: 0.2em; text-decoration: none; }
.btn_border a:before, .btn_border a:after { content: ""; display: block; width: 1.5rem; height: 1px; background: #000; position: absolute; top: 50%; right: 0; }
.btn_border a:before { transform: translateY(-50%); }
.btn_border a:after { transform: translateY(-50%) rotate(90deg); }
.btn_border a:hover { opacity: 0.8; }

/*
フォームリセット
==================*/
.contact-form input, .contact-form button, .contact-form select, .contact-form textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; border-radius: 0; font: inherit; outline: none; }
.contact-form textarea { resize: vertical; }
.contact-form input[type='checkbox'], .contact-form input[type='radio'] { display: none; }
.contact-form input[type='submit'], .contact-form input[type='button'], .contact-form label, .contact-form button, .contact-form select { cursor: pointer; }
.contact-form select::-ms-expand { display: none; }

/*
基本装飾
==================*/
.contact-form input, .contact-form button, .contact-form select, .contact-form textarea { font-size: 0.8em; }
.contact-form input, .contact-form textarea { border: 1px solid #ddd; border-radius: 5px; }
.contact-form input { font-size: 17px; padding: 10px; }
.contact-form input[type="file"] { border: none; }
.contact-form .checkbox label, .contact-form .radio label { position: relative; padding-left: 1.7em; margin: 10px 1em 10px 0; display: inline-block; line-height: 1em; }
.contact-form .checkbox label::before, .contact-form .radio label::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 15px; height: 15px; border: 1px solid #ddd; border-radius: 50%; background: #eee; }
.contact-form .checkbox label::before { border-radius: 0; }
.contact-form .radio input:checked + label::after { content: ""; display: block; position: absolute; top: 3px; left: 3px; width: 11px; height: 11px; background: #2a5c27; border-radius: 50%; }
.contact-form .checkbox input:checked + label::after { content: ''; display: block; position: absolute; top: 3px; left: 3px; width: 10px; height: 5px; border-left: 2px solid #2a5c27; border-bottom: 2px solid #2a5c27; transform: rotate(-45deg); }
.contact-form select { border: 1px solid #ddd; padding: 10px; border-radius: 5px; font-size: 16px; margin-right: 10px; background: url(/recruit/assets/images/common/pulldown.svg) no-repeat right center; background-size: auto 100%; padding-right: 35px; }
.contact-form textarea { margin: 10px 0 0; padding: 5px; width: 100%; height: 8em; }
.contact-form .button { text-align: center; }
.contact-form .button input { background: #A66970; padding: 15px 30px; color: #fff; border: none; font-size: 16px; }
.contact-form .button input:hover { opacity: 0.7; cursor: pointer; }

/*
エントリーフォーム
==================*/
#entry_wrap { max-width: 980px; }
#entry_wrap .read_text { font-size: 18px; letter-spacing: 0.1em; font-family: YuMincho, 'Yu Mincho', "Sawarabi Mincho", serif; text-align: center; margin-bottom: 50px; }
@media screen and (max-width: 767px) { #entry_wrap .read_text br { display: none; } }
#entry_wrap table { width: 100%; table-layout: fixed; }
@media screen and (max-width: 767px) { #entry_wrap table tr { display: block; border-top: 1px dotted #CCC; padding: 25px 0; } }
#entry_wrap table th, #entry_wrap table td { font-size: 17px; vertical-align: top; }
@media screen and (min-width: 768px) { #entry_wrap table th, #entry_wrap table td { border-top: 1px dotted #CCC; padding: 25px 0; } }
@media screen and (max-width: 767px) { #entry_wrap table th, #entry_wrap table td { display: block; width: 100%; } }
#entry_wrap table th p, #entry_wrap table td p { margin-bottom: 15px; }
#entry_wrap table th p:last-child, #entry_wrap table td p:last-child { margin-bottom: 0; }
@media screen and (min-width: 768px) { #entry_wrap table th { width: 200px; } }
@media screen and (max-width: 767px) { #entry_wrap table th { margin-bottom: 10px; }
  #entry_wrap table th br { display: none; } }
@media screen and (min-width: 768px) { #entry_wrap table .must, #entry_wrap table .any { width: 60px; } }
@media screen and (max-width: 767px) { #entry_wrap table .must, #entry_wrap table .any { width: auto; float: left; margin-right: 10px; } }
#entry_wrap table .must span, #entry_wrap table .any span { background: #a5a5a5; padding: 5px; line-height: 1em; font-size: 12px; color: #FFF; }
#entry_wrap table .must span { background: #2a5c27; }
#entry_wrap .w100 input { width: 100%; box-sizing: border-box; }
#entry_wrap .w50 { display: flex; justify-content: space-between; }
#entry_wrap .w50 input { width: 49%; box-sizing: border-box; }
#entry_wrap .wrap_box { display: flex; }
#entry_wrap .wrap_box p { margin-right: 1em; }
#entry_wrap .note { color: #cb2b00; font-display: 12px; }
#entry_wrap .check_privacy { margin: 50px 0; font-size: 16px; text-align: center; background: #f5f5f5; padding: 10px; }
@media screen and (max-width: 767px) { #entry_wrap .check_privacy label { line-height: 1.4em; } }
#entry_wrap .submit_btn { text-align: center; }
#entry_wrap .submit_btn input { background: #2b5d26; color: #FFF; font-size: 22px; letter-spacing: 0.2em; padding: 20px 3em; cursor: pointer; }
#entry_wrap .submit_btn input:hover { background-color: #5d8a4e; }

/*
@include animation(animationSample 1.2s ease 0.15s);
*/
.anime1 { clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); opacity: 1; }
.anime1.active { animation: figAnime 1.2s ease 0.2s infinite; -moz-animation: figAnime 1.2s ease 0.2s infinite; animation: figAnime 1.2s ease 0.2s infinite; animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }

@-webkit-keyframes figAnime { 0% { transform: translate(0) rotate(0); }
  25% { transform: translate(10px) rotate(10deg); }
  50% { transform: translate(0px) rotate(0); }
  75% { transform: translate(-10px) rotate(-10deg); }
  100% { transform: translate(0px) rotate(0); } }
@-moz-keyframes figAnime { 0% { transform: translate(0) rotate(0); }
  25% { transform: translate(10px) rotate(10deg); }
  50% { transform: translate(0px) rotate(0); }
  75% { transform: translate(-10px) rotate(-10deg); }
  100% { transform: translate(0px) rotate(0); } }
@keyframes figAnime { 0% { transform: translate(0) rotate(0); }
  25% { transform: translate(10px) rotate(10deg); }
  50% { transform: translate(0px) rotate(0); }
  75% { transform: translate(-10px) rotate(-10deg); }
  100% { transform: translate(0px) rotate(0); } }
.ppLazyBg { display: block; height: 100%; background-size: cover; background-position: center; }

@media screen and (min-width: 768px) { .pc-non { display: none !important; } }

@media screen and (max-width: 767px) { .sp-non { display: none !important; } }

.inner { max-width: 1160px; margin: 0 auto; padding: 0 30px; box-sizing: border-box; }
@media screen and (max-width: 767px) { .inner { padding: 0 7%; } }
.inner._w1200 { max-width: 1260px; }
.inner._w1300 { max-width: 1360px; }

.page_contents { padding: 8.5rem 0; }
@media screen and (max-width: 767px) { .page_contents { padding: 15vw 0; } }

body { font-family: 'Noto Sans JP',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }

header { position: fixed; top: 0; left: 0; display: flex; align-items: center; align-items: stretch; z-index: 999; }
@media screen and (min-width: 768px) { header { height: 100px; } }
@media screen and (max-width: 767px) { header { height: 60px; } }
header .logo { padding: 0 0 0 1.8rem; display: flex; align-items: center; }
header .logo a { line-height: 1em; display: block; text-decoration: none; }
header .logo a:hover { opacity: 0.8; }
header .logo span { display: block; font-size: 11px; color: #555; padding: 8px 0 0 50px; }
header .logo img { width: 100%; max-width: 304px; height: auto; }
@media screen and (max-width: 767px) { header .logo img { width: 200px; } }
header .btn_recruit { line-height: 0; position: fixed; top: 0; right: 0; }
header .btn_recruit a { display: block; padding: 4em 1.4em; transition: padding-right 0.2s; border: 1px solid #190045; background: #190045; color: #FFF; border-right: none; }
header .btn_recruit a:hover { padding-right: 2.2em; }
header .btn_corporate { line-height: 0; position: fixed; top: 200px; right: 0; }
header .btn_corporate a { display: block; padding: 2em 1.4em; transition: padding-right 0.2s; border: 1px solid #190045; background: #FFF; border-right: none; }
header .btn_corporate a:hover { padding-right: 2.2em; }
header .btn_recruit_sp { position: fixed; bottom: 0; left: 0; width: 100%; display: flex; }
header .btn_recruit_sp p { width: 50%; }
header .btn_recruit_sp p:first-child a { border-right: 1px solid #FFF; }
header .btn_recruit_sp a { display: block; background: #190045; text-align: center; padding: 0.5em 0; color: #FFF; text-decoration: none; font-size: 1.42rem; letter-spacing: 0.1em; font-weight: bold; }

footer { position: relative; line-height: 0; overflow: hidden; }
@media screen and (min-width: 768px) { footer { height: 70vh; } }
@media screen and (max-width: 767px) { footer { margin-bottom: 35px; } }
footer video { width: 100%; z-index: 1; }
@media screen and (min-width: 768px) { footer video { min-height: 70vh; } }
footer .footer_inner { width: 100%; position: absolute; top: 0; left: 0; z-index: 1; display: flex; justify-content: center; align-items: center; }
@media screen and (min-width: 768px) { footer .footer_inner { height: 100%; } }
@media screen and (max-width: 767px) { footer .footer_inner { height: 100%; padding: 15%; } }
footer .footer_inner .copy { margin-bottom: 2em; }
footer .footer_inner .copy img { width: 100%; }
footer .footer_inner .btn_entry a { margin: auto; display: block; background: rgba(255, 255, 255, 0.9); padding: 1.6em 2em; text-align: center; max-width: 400px; text-decoration: none; font-weight: bold; font-size: 1.72rem; letter-spacing: 0.3em; font-weight: bold; transition: background 0.3s; }
footer .footer_inner .btn_entry a:hover { background: rgba(255, 255, 255, 0.7); }
footer .text { position: absolute; bottom: 40px; left: 50%; margin-left: -165px; }
@media screen and (max-width: 767px) { footer .text { display: none; } }
footer .text img { max-width: 330px; width: 100%; }

.navi__button { top: 410px; right: 0; width: 60px; height: 60px; position: fixed; z-index: 1100; background: rgba(255, 255, 255, 0.6); cursor: pointer; }
@media screen and (min-width: 1025px) { .navi__button { width: 56px; height: 62px; } }
@media screen and (max-width: 767px) { .navi__button { top: 0; } }
.navi__button .nbInner { pointer-events: none; width: 40%; margin: 0 auto; position: relative; top: 31px; z-index: 1200; }
@media screen and (max-width: 767px) { .navi__button .nbInner { top: 30px; } }
.navi__button .nbInner i { width: 100%; position: absolute; height: 3px; background: #190045; transition: 0.3s; opacity: 1; left: 0; top: 0; }
.navi__button .nbInner:after, .navi__button .nbInner:before { content: ""; position: absolute; transform: rotate(0deg); top: -12px; left: 0; width: 100%; height: 3px; background: #190045; transition: 0.3s; }
.navi__button .nbInner:before { top: 12px; width: 70%; }

.navi-button-on .nbInner i { opacity: 0; transform: translateX(2.5vw); }
.navi-button-on .nbInner:after, .navi-button-on .nbInner:before { background: #190045; }
.navi-button-on .nbInner:after { top: 0; transform: rotate(-45deg); }
.navi-button-on .nbInner:before { width: 100%; top: 0; transform: rotate(45deg); }

.slideMenu { position: fixed; z-index: 1000; width: 100%; height: 100vh; min-height: 610px; padding: 35px; background: #edf2f3; height: 100vh; top: 0; box-sizing: border-box; overflow-y: auto; transition: 0.5s; opacity: 0; right: -100%; overflow-y: auto; }
@media screen and (min-width: 768px) { .slideMenu { display: flex; align-items: center; } }
@media screen and (max-width: 767px) { .slideMenu { padding: 20% 7% 0; } }
.slideMenu ._inner { width: 100%; padding-bottom: 40vw; padding-bottom: 25px; max-width: 1230px; margin: 0 auto; }
@media screen and (min-width: 768px) { .slideMenu ._inner { display: flex; flex-direction: row-reverse; } }
@media screen and (min-width: 768px) { .slideMenu ._inner .slide_left { width: 30%; } }
@media screen and (max-width: 767px) { .slideMenu ._inner .slide_left { text-align: center; } }
.slideMenu ._inner .slide_left .logo { width: 100%; margin-bottom: 1em; }
.slideMenu ._inner .slide_left .logo:hover { opacity: 0.7; }
@media screen and (max-width: 767px) { .slideMenu ._inner .slide_left .logo { max-width: 300px; } }
.slideMenu ._inner .slide_left .logo img { width: 100%; }
.slideMenu ._inner .slide_left .address { font-size: 1.15rem; margin-bottom: 1em; }
.slideMenu ._inner .slide_left .copyright { font-size: 0.9rem; margin-bottom: 3em; }
@media screen and (max-width: 767px) { .slideMenu ._inner .slide_left ul { margin: 4em 0; } }
.slideMenu ._inner .slide_left .link_recruit, .slideMenu ._inner .slide_left .link_corporate { margin-top: 1em; }
.slideMenu ._inner .slide_left .link_recruit a, .slideMenu ._inner .slide_left .link_corporate a { display: block; border: 2px solid #190045; padding: 1.2em; text-align: center; text-decoration: none; font-size: 1.25rem; color: #190045; font-weight: bold; letter-spacing: 0.1em; transition: background-color 0.3s 0s ease,color 0.3s 0s ease; }
@media screen and (max-width: 767px) { .slideMenu ._inner .slide_left .link_recruit a, .slideMenu ._inner .slide_left .link_corporate a { font-size: 1.58rem; } }
.slideMenu ._inner .slide_left .link_recruit a span, .slideMenu ._inner .slide_left .link_corporate a span { background: url(/recruit/assets/images/common/icon_window.svg) no-repeat left center; padding-left: 1.5em; }
.slideMenu ._inner .slide_left .link_recruit a:hover, .slideMenu ._inner .slide_left .link_corporate a:hover { background-color: #FFF; color: #190045; }
.slideMenu ._inner .slide_left .link_recruit a:hover span, .slideMenu ._inner .slide_left .link_corporate a:hover span { background: url(/recruit/assets/images/common/icon_window.svg) no-repeat left center; }
.slideMenu ._inner .slide_left .link_recruit a { background: #190045; color: #FFF; }
.slideMenu ._inner .slide_left .link_recruit a span { background: url(/recruit/assets/images/common/icon_window_w.svg) no-repeat left center; }
.slideMenu ._inner .nav_list { margin-left: auto; }
@media screen and (min-width: 768px) { .slideMenu ._inner .nav_list { width: 60%; } }
@media screen and (min-width: 768px) { .slideMenu ._inner .nav_list { display: flex; justify-content: space-between; } }
@media screen and (min-width: 768px) { .slideMenu ._inner .nav_list > ul { width: 47%; } }
.slideMenu ._inner .nav_list > ul > li { border-bottom: 1px solid #190045; transition: background-color 0.3s 0s ease; }
.slideMenu ._inner .nav_list > ul > li:hover { background-color: #FFF; }
.slideMenu ._inner .nav_list > ul > li > a { display: block; text-decoration: none; padding: 1.5em 1em; font-size: 1.15rem; font-weight: bold; color: #1a1a1a; line-height: 1.6em; position: relative; }
@media screen and (max-width: 767px) { .slideMenu ._inner .nav_list > ul > li > a { font-size: 1.42rem; } }
.slideMenu ._inner .nav_list > ul > li > a:before { content: ""; display: block; width: 15px; height: 15px; position: absolute; top: 50%; right: 20px; margin-top: -7px; background: url(/recruit/assets/images/common/side_nav_arrow.svg) no-repeat center; background-size: cover; transition: all 0.3s 0s ease; transform: rotate(0deg); }
.slideMenu ._inner .nav_list > ul > li > a .en { display: block; font-weight: normal; font-size: 0.9rem; color: #808080; }
.slideMenu ._inner .nav_list > ul > li > a:hover:before { width: 20px; height: 20px; margin-top: -10px; right: 17px; transform: rotate(180deg); }
.slideMenu ._inner .nav_list > ul > li:first-child { border-top: 1px solid #190045; }
@media screen and (max-width: 767px) { .slideMenu ._inner .nav_list > ul > li.sub { border-top: none; } }
.slideMenu ._inner .nav_list > ul > li.sub > a { padding-bottom: 0.3em; }
.slideMenu ._inner .nav_list > ul > li ul { display: flex; }
.slideMenu ._inner .nav_list > ul > li ul li a { font-size: 1rem; display: block; text-decoration: none; padding: 0 1em 1em 1em; cursor: pointer; }
@media screen and (max-width: 767px) { .slideMenu ._inner .nav_list > ul > li ul li a { font-size: 1.2rem; } }
.slideMenu ._inner .nav_list > ul > li ul li a:hover { text-decoration: underline; }

.menu-open { opacity: 1; right: 0; top: 0px; }

.sns_icon img { width: 30px; margin-inline: 10px; margin-block: 10px; }

.sns_icon._pc { display: grid; position: fixed; top: 500px; right: 5px; z-index: 2; }
.sns_icon._pc a { text-align: end; }

#_LOADER { position: fixed; width: 100%; height: 100vh; background: #efefef; z-index: 9999; }
#_LOADER ._inner { width: 100%; height: 100vh; display: flex; align-items: center; justify-content: center; }
#_LOADER ._inner figure { transform-origin: bottom center; animation: figAnime 1.2s ease 0.2s infinite; -moz-animation: figAnime 1.2s ease 0.2s infinite; animation: figAnime 1.2s ease 0.2s infinite; animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }

.body-lock { width: 100%; height: 100vh; }

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { content: ""; display: table; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; display: none; }
[dir="rtl"] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

/* Slider */
.slick-loading .slick-list { background: #fff url("../slick/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face { font-family: "slick"; src: url("../slick/fonts/slick.eot"); src: url("../slick/fonts/slick.eot?#iefix") format("embedded-opentype"), url("../slick/fonts/slick.woff") format("woff"), url("../slick/fonts/slick.ttf") format("truetype"), url("../slick/fonts/slick.svg#slick") format("svg"); font-weight: normal; font-style: normal; }
/* Arrows */
.slick-prev, .slick-next { z-index: 5; position: absolute; font-size: 0px; top: 40%; height: 40px; width: 40px; }
@media screen and (max-width: 767px) { .slick-prev, .slick-next { height: 28px; width: 28px; } }

.slick-next { left: 20px; }

.slick-prev { right: 20px; }

/* Dots */
.slick-dotted.slick-slider { margin-bottom: 30px; }

.slick-dots { position: absolute; bottom: 0px; list-style: none; display: block; text-align: center; padding: 0; margin: 0; width: 100%; }
.slick-dots li { position: relative; display: inline-block; height: 20px; width: 20px; margin: 0 0px; padding: 0; cursor: pointer; }
.slick-dots li button { border: 0; background: transparent; display: block; height: 20px; width: 20px; outline: none; line-height: 0px; font-size: 0px; color: transparent; padding: 5px; cursor: pointer; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; }
.slick-dots li button:before { position: absolute; top: 0; left: 0; background: #000; border-radius: 50%; content: ""; width: 8px; height: 8px; font-family: "slick"; font-size: 6px; line-height: 20px; text-align: center; color: black; opacity: 0.25; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { color: black; opacity: 0.75; }

.page_top .inner_w { max-width: 1200px; margin: 0 auto; padding: 0 30px; box-sizing: border-box; }
.page_top .block_title .en { margin-bottom: -1.5rem; }
.page_top .block_title .en img { max-width: 100%; padding-top: 5em; }
.page_top .block_title .title { border-top: 2px solid #000; border-bottom: 2px solid #000; padding: 0.5em 0.8em; line-height: 1em; font-size: 1.76rem; letter-spacing: 0.1em; font-weight: bold; color: #000; display: inline-block; margin-left: 2em; z-index: 2; position: relative; }
.page_top .btn_more a { display: inline-block; text-decoration: none; border-top: 2px solid #000; border-bottom: 2px solid #000; padding: 1em 3.3rem 1em 1em; font-size: 1.42rem; font-weight: bold; letter-spacing: 0.2em; background-size: 1.1em; position: relative; }
@media screen and (max-width: 767px) { .page_top .btn_more a { display: block; text-align: center; } }
.page_top .btn_more a:after { content: ""; display: block; width: 22px; height: 22px; position: absolute; top: 50%; right: 10px; margin-top: -11px; background: url(/recruit/assets/images/common/side_nav_arrow.svg) no-repeat center; background-size: cover; transition: all 0.3s 0s ease; transform: rotate(0deg); }
.page_top .btn_more a:hover:after { transform: rotate(180deg); }
.page_top .btn_more.center { text-align: center; }
.page_top .btn_more.center a { display: block; max-width: 350px; text-align: center; margin: 0 auto; }
@media screen and (min-width: 768px) { .page_top .btn_more.center a { max-width: 350px; } }
.page_top .mv_block { background: url(/recruit/assets/images/top/mv_01.jpg) no-repeat; background-size: cover; height: 100vh; position: relative; }
.page_top .mv_block .copy_box { position: absolute; z-index: 1; bottom: 10rem; left: 5rem; }
@media screen and (max-width: 767px) { .page_top .mv_block .copy_box { bottom: 8rem; right: 7rem; } }
.page_top .mv_block .copy_box .copy span { transform: skewX(-15deg); color: #FFF; text-shadow: 0px 0px 13px rgba(0, 0, 0, 0.3); padding: 0.2em 0 0.2em 0.2em; line-height: 1em; display: inline-block; font-size: 3.6rem; font-weight: bold; letter-spacing: 0.1em; margin-bottom: 20px; }
@media screen and (max-width: 767px) { .page_top .mv_block .copy_box .copy span { font-size: 2.6rem; padding: 0; } }
.page_top .mv_block .copy_box .en { letter-spacing: 0.2em; font-weight: bold; font-size: 2rem; font-family: Cabin; color: #FFF; text-shadow: 0px 0px 13px rgba(0, 0, 0, 0.3); }
@media screen and (max-width: 767px) { .page_top .mv_block .copy_box .en { font-size: 1.5rem; } }
.page_top .mv_block .wrap { margin: 0 calc(50% - 50vw); max-width: 100vw; height: 100vh; position: relative; overflow: hidden; }
@keyframes zoom-in { 0% { transform: scale(1); }
  100% { transform: scale(1.2); } }
.page_top .mv_block .swiper-slide-active .slide-img, .page_top .mv_block .swiper-slide-duplicate-active .slide-img, .page_top .mv_block .swiper-slide-prev .slide-img { animation: zoom-in 10s linear 0s 1 normal both; }
.page_top .mv_block .slide-text { position: absolute; top: 50%; left: 50%; font-size: 3vw; font-family: serif; font-weight: bold; text-shadow: 2px 2px 8px #000; color: #fff; transform: translate(-50%, -50%); }
.page_top .mv_block .slide-img img { object-fit: cover; height: 100vh; width: 100vw; }
.page_top .mv_block .news_topic { position: absolute; background: #f0f0f0; padding: 2rem 2.5rem; z-index: 1; max-width: 700px; }
@media screen and (min-width: 768px) { .page_top .mv_block .news_topic { display: flex; bottom: -2em; left: 0; }
  .page_top .mv_block .news_topic:after { position: absolute; top: 0; right: -29px; content: ""; width: 30px; height: 100%; background: url(/recruit/assets/images/top/topic_bg.svg) no-repeat top left; } }
@media screen and (max-width: 767px) { .page_top .mv_block .news_topic { width: 100%; position: relative; } }
.page_top .mv_block .news_topic .title { font-family: Cabin; font-size: 1.42rem; line-height: 1em; font-weight: bold; margin-right: 1em; }
@media screen and (max-width: 767px) { .page_top .mv_block .news_topic .title { margin-bottom: 1em; } }
.page_top .mv_block .news_topic ul li { margin-top: 0.9em; padding-top: 0.9em; border-top: 1px dotted #555; }
.page_top .mv_block .news_topic ul li:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.page_top .mv_block .news_topic ul li a { text-decoration: none; letter-spacing: 2px; line-height: 1.4em; }
@media screen and (min-width: 768px) { .page_top .mv_block .news_topic ul li a { display: flex; } }
.page_top .mv_block .news_topic ul li a .day { font-size: 1.15rem; margin-right: 1em; }
@media screen and (max-width: 767px) { .page_top .mv_block .news_topic ul li a .day { display: block; font-size: 1rem; margin-bottom: 0.3em; color: #555; } }
.page_top .mv_block .news_topic ul li a .text { text-decoration: underline; font-size: 1.15rem; }
.page_top .mv_block .news_topic ul li a:hover { color: #666; }
.page_top footer { height: 100vh; }
.page_top footer video { position: fixed; right: 0; bottom: 0; min-width: 100%; min-height: 100%; width: auto; height: auto; z-index: -100; background: url("poster.jpg") no-repeat; background-size: cover; z-index: -1; }
.page_top .omoi_block { margin-top: 28rem; background: #FFF; padding-bottom: 15em; }
@media screen and (min-width: 768px) { .page_top .omoi_block .inner { margin-top: -1em; display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; } }
@media screen and (min-width: 768px) { .page_top .omoi_block .inner .text_box { width: 48%; } }
.page_top .omoi_block .inner .text_box .block_copy span { transform: skewX(-15deg); line-height: 1em; display: inline-block; font-size: 3.6rem; letter-spacing: 0.1em; margin-bottom: 0.4em; font-weight: bold; }
.page_top .omoi_block .inner .text_box .block_copy span b { color: #FFF; -webkit-text-stroke: 1.5px #000; }
@media screen and (max-width: 767px) { .page_top .omoi_block .inner .text_box .block_copy { margin-top: 3rem; } }
.page_top .omoi_block .inner .text_box .copy { font-size: 1.42rem; line-height: 2.4em; font-weight: bold; margin-top: 1.3em; }
@media screen and (max-width: 767px) { .page_top .omoi_block .inner .text_box .copy br { display: none; } }
.page_top .omoi_block .inner figure { position: relative; }
@media screen and (max-width: 767px) { .page_top .omoi_block .inner figure { margin-top: 3rem; } }
@media screen and (min-width: 768px) { .page_top .omoi_block .inner figure { width: 48%; } }
.page_top .omoi_block .inner figure:after { content: ""; position: absolute; top: 3rem; left: -5rem; width: 100%; height: 100%; background: #f5f5f5; margin-top: 30px; }
.page_top .omoi_block .inner figure img { position: relative; width: 100%; z-index: 1; }
@media screen and (min-width: 768px) { .page_top .omoi_block .inner figure img { top: -3em; } }
.page_top .omoi_block .btn_more { margin-top: 4rem; }
.page_top .stance_block { padding-bottom: 8rem; background: url(/recruit/assets/images/top/world_map_bg.svg) no-repeat bottom 8rem right #f5faff; overflow: hidden; }
.page_top .stance_block .inner { position: relative; }
.page_top .stance_block .block_copy { margin: 4rem 0 3rem; }
.page_top .stance_block .block_copy img { max-width: 100%; }
.page_top .stance_block .copy { font-size: 1.42rem; line-height: 2.4em; font-weight: bold; margin-top: 1.3em; }
@media screen and (max-width: 767px) { .page_top .stance_block .copy br { display: none; } }
.page_top .stance_block .btn_more { margin-top: 4rem; }
@media screen and (min-width: 768px) { .page_top .stance_block figure { position: absolute; width: 47%; bottom: -3rem; right: -3rem; } }
@media screen and (max-width: 767px) { .page_top .stance_block figure { margin-top: 3rem; } }
.page_top .stance_block figure img { width: 100%; }
.page_top .person_block { background: #FFF; margin-top: 25rem; position: relative; padding-bottom: 8rem; }
.page_top .person_block .num_block .num { position: absolute; left: 20px; }
@media screen and (min-width: 768px) { .page_top .person_block .num_block .num { top: -130px; } }
.page_top .person_block .num_block .photo { position: absolute; top: -18rem; right: 2rem; }
.page_top .person_block .num_block .photo figure { position: absolute; }
@media screen and (min-width: 768px) { .page_top .person_block .num_block .photo figure { width: 20rem; } }
.page_top .person_block .num_block .photo figure img { width: 100%; }
.page_top .person_block .num_block .photo figure:first-child { right: 0; top: 0; transform: rotate(10deg); }
.page_top .person_block .num_block .photo figure:last-child { right: 1rem; top: 1rem; transform: rotate(-10deg); }
.page_top .person_block .copy_box { padding-left: 3rem; border-left: 2px solid #000; margin: 2rem 0; }
.page_top .person_block .copy_box .copy { line-height: 1.4em; display: inline-block; font-size: 2.5rem; letter-spacing: 0.3rem; font-weight: bold; margin: 1.5rem 0; }
@media screen and (min-width: 768px) { .page_top .person_block .copy_box .copy { transform: skewX(-15deg); } }
.page_top .person_block .copy_box .copy b { color: #FFF; -webkit-text-stroke: 1.5px #000; }
@media screen and (max-width: 767px) { .page_top .person_block .copy_box { margin-top: 3rem; } }
@media screen and (min-width: 768px) { .page_top .person_block ul { display: flex; justify-content: space-between; flex-wrap: wrap; position: relative; } }
.page_top .person_block ul li { margin-bottom: 1%; display: none; }
.page_top .person_block ul li:nth-child(1), .page_top .person_block ul li:nth-child(2), .page_top .person_block ul li:nth-child(3), .page_top .person_block ul li:nth-child(4) { display: block; }
@media screen and (min-width: 768px) { .page_top .person_block ul li { width: 33%; }
  .page_top .person_block ul li:first-child, .page_top .person_block ul li.clone { width: 100%; }
  .page_top .person_block ul li:first-child a .link_img span, .page_top .person_block ul li.clone a .link_img span { padding-top: 50%; transition: 0.5s transform; }
  .page_top .person_block ul li:first-child a .text_box, .page_top .person_block ul li.clone a .text_box { left: 2.5rem; bottom: 2.5rem; }
  .page_top .person_block ul li:first-child a .copy, .page_top .person_block ul li.clone a .copy { font-size: 2.15rem; }
  .page_top .person_block ul li:first-child a .status span, .page_top .person_block ul li.clone a .status span { margin-top: 0.5em; }
  .page_top .person_block ul li:first-child { z-index: 1; }
  .page_top .person_block ul li.clone { position: absolute; top: 0; left: 0; } }
@media screen and (max-width: 767px) { .page_top .person_block ul li { margin-bottom: 6rem; } }
.page_top .person_block ul li a { display: block; text-decoration: none; position: relative; }
.page_top .person_block ul li a .link_img span { padding-top: 70%; }
.page_top .person_block ul li a .text_box { position: absolute; bottom: -4.5rem; left: 0; }
.page_top .person_block ul li a .copy { box-decoration-break: clone; -webkit-box-decoration-break: clone; display: inline; background: #FFF; color: #000; font-weight: bold; font-size: 1.76rem; letter-spacing: 0.1em; padding: 0.3em; line-height: 1.8em; position: relative; z-index: 1; }
.page_top .person_block ul li a .status span { display: inline-block; padding: 0.4em 0.7em; background: #FFF; font-weight: bold; font-size: 1.15rem; }
.page_top .person_block .btn_more { text-align: center; margin: 8rem 0 0; }
.page_top .story_block { background: #FFF; position: relative; padding-bottom: 12rem; }
.page_top .story_block .num { text-align: right; padding: 30px 30px 20px 0; }
.page_top .story_block .swiper-container_2 { position: relative; overflow: hidden; }
.page_top .story_block .swiper-container_2 .swiper-slide { padding: 0 5%; }
@media screen and (max-width: 767px) { .page_top .story_block .swiper-container_2 .swiper-slide { padding: 0; } }
.page_top .story_block .swiper-container_2 .slide_in { display: block; text-decoration: none; margin: 3rem 0 0; }
.page_top .story_block .swiper-container_2 .slide_in .ps_post_ttl { text-align: center; font-size: 3.7rem; margin-bottom: -0.4em; line-height: 1.2em; position: relative; z-index: 1; font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; }
@media screen and (max-width: 767px) { .page_top .story_block .swiper-container_2 .slide_in figure { padding: 0 8%; } }
.page_top .story_block .swiper-container_2 .slide_in figure span { padding-top: 55%; }
.page_top .story_block .swiper-container_2 .slide_in .text { margin-top: 1em; font-size: 1.72rem; font-weight: bold; line-height: 1.5em; }
.page_top .story_block .swiper-container_2 .slide_in .read { font-size: 1.15rem; margin-top: 0.8em; }
.page_top .career_block { background: #FFF; padding-bottom: 7rem; position: relative; }
.page_top .career_block .num { padding: 30px 0 20px 30px; }
.page_top .career_block .photo { position: absolute; top: -6rem; right: 2rem; }
.page_top .career_block .photo figure { position: absolute; }
@media screen and (min-width: 768px) { .page_top .career_block .photo figure { width: 20rem; } }
.page_top .career_block .photo figure img { width: 100%; }
.page_top .career_block .photo figure:first-child { right: 0; top: 0; transform: rotate(10deg); }
.page_top .career_block .photo figure:last-child { right: 1rem; top: 1rem; transform: rotate(-10deg); }
@media screen and (max-width: 767px) { .page_top .career_block .inner_w { padding: 0; } }
.page_top .career_block .swiper-container_3 { position: relative; max-width: 1200px; overflow: hidden; }
.page_top .career_block .swiper-container_3 .swiper-button-prev { position: absolute; }
@media screen and (max-width: 767px) { .page_top .career_block .swiper-container_3 .swiper-button-prev { margin-top: 0; } }
.page_top .career_block .swiper-container_3 .swiper-button-next { position: absolute; }
@media screen and (max-width: 767px) { .page_top .career_block .swiper-container_3 .swiper-button-next { margin-top: 0; } }
.page_top .career_block ul { margin: 4rem auto; }
.page_top .career_block ul li { padding: 0 3rem; }
.page_top .career_block ul li a { text-decoration: none; }
@media screen and (min-width: 768px) { .page_top .career_block ul li a { display: flex; align-items: stretch; } }
@media screen and (min-width: 768px) { .page_top .career_block ul li a figure { width: 50%; } }
.page_top .career_block ul li a figure span { padding-top: 70%; }
.page_top .career_block ul li a .text_box { background: url(/recruit/assets/images/top/career_bg.svg) no-repeat center; background-size: cover; padding: 2.5rem; }
@media screen and (min-width: 768px) { .page_top .career_block ul li a .text_box { width: 50%; display: flex; align-items: center; } }
.page_top .career_block ul li a .text_box .title { font-size: 2.35rem; font-weight: bold; letter-spacing: 0.1em; margin-bottom: 1em; }
@media screen and (max-width: 767px) { .page_top .career_block ul li a .text_box .title { font-size: 2rem; line-height: 1.5em; }
  .page_top .career_block ul li a .text_box .title br { display: none; } }
.page_top .career_block ul li a .text_box .status { font-size: 1.15rem; font-weight: bold; letter-spacing: 0.1em; }
.page_top .career_block ul li a .text_box .en { font-size: 1.15rem; font-weight: bold; letter-spacing: 0.1em; }
.page_top .company_block { background: #f5faff; padding-bottom: 7rem; }
.page_top .company_block .num { text-align: right; padding: 30px 30px 20px 0; }
@media screen and (min-width: 768px) { .page_top .company_block .inner_w ul { display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 20px; } }
@media screen and (min-width: 768px) { .page_top .company_block .inner_w ul li { width: 48%; } }
.page_top .company_block .inner_w ul li a { display: block; position: relative; text-decoration: none; }
.page_top .company_block .inner_w ul li a figure span { padding-top: 70%; }
.page_top .company_block .inner_w ul li a .text { position: absolute; width: 100%; height: 100%; top: 0; left: 0; display: flex; justify-content: center; align-items: center; background: rgba(0, 0, 0, 0.5); font-size: 1.42rem; letter-spacing: 0.1em; font-weight: bold; color: #FFF; text-align: center; }
.page_top .company_block .inner_w .btn_more { text-align: center; margin-top: 4rem; }
.page_top .company_block .inner_w .btn_more a { background: #FFF; }
.page_top .news_block { background: #FFF; padding-bottom: 8rem; }
.page_top .news_block .num { padding: 30px 0 20px 30px; }
.page_top .news_block ul { margin: 3rem 0; }
@media screen and (min-width: 768px) { .page_top .news_block ul { display: flex; justify-content: space-between; flex-wrap: wrap; } }
@media screen and (min-width: 768px) { .page_top .news_block ul li { width: 32%; } }
.page_top .news_block ul li a { display: block; position: relative; text-decoration: none; }
.page_top .news_block ul li a figure span { padding-top: 70%; background: url(/assets/images/news/article_img.png) no-repeat center; background-size: cover; }
.page_top .news_block ul li a .text { font-size: 1.42rem; font-weight: bold; line-height: 1.6em; margin-top: 1em; background: url(/recruit/assets/images/top/icon_window_g.svg) no-repeat top right; padding-right: 30px; }
.page_top .news_block ul li a .day { font-size: 1rem; color: #555; }
.page_top .news_block .btn_more { text-align: center; }
.page_top .swiper-button-next, .page_top .swiper-container-rtl .swiper-button-prev { background-image: url(/assets/images/common/slide_arrow_right.svg); background-size: 100%; right: 5px; }
@media screen and (max-width: 767px) { .page_top .swiper-button-next, .page_top .swiper-container-rtl .swiper-button-prev { background-size: 100%; width: 18px; margin-top: 90px; } }
.page_top .swiper-button-prev, .page_top .swiper-container-rtl .swiper-button-next { background-image: url(/assets/images/common/slide_arrow_left.svg); background-size: 100%; left: 5px; }
@media screen and (max-width: 767px) { .page_top .swiper-button-prev, .page_top .swiper-container-rtl .swiper-button-next { background-size: 100%; width: 18px; margin-top: 90px; } }

.insta_list li { overflow: hidden; margin-top: 30px; }
.insta_list li a { transition: 0.5s all ease-in-out; }
.insta_list li a:hover { transform: scale(1.1); transition: 0.5s all ease-in-out; }
.insta_list li a figure img { width: 100%; object-fit: cover; height: 230px; }

.page_note { /*===============*/ }
.page_note .news_wrap { display: flex; justify-content: space-between; }
.page_note .news_wrap .new_blcok, .page_note .news_wrap .article_blcok { width: 70%; }
.page_note .news_wrap .side_block { width: 25%; }
.page_note .news_list li a { display: block; border: 1px solid #CCC; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); display: flex; justify-content: space-between; align-items: center; padding: 1.8rem; border-radius: 10px; margin-bottom: 2em; text-decoration: none; }
.page_note .news_list li a figure { width: 30%; line-height: 0; }
.page_note .news_list li a figure img { width: 100%; }
.page_note .news_list li a .text_box { width: 67%; }
.page_note .news_list li a .text_box .title { font-size: 1.42rem; font-weight: 500; margin-bottom: 0.6em; letter-spacing: 1px; line-height: 1.6em; }
.page_note .news_list li a .text_box .day { font-size: 1.15rem; color: #333; }
.page_note .news_list li a .text_box .category span { color: #f2876a; margin-right: 1em; }
.page_note .side_block .category_box { background: #edefe8; padding: 17px; margin-bottom: 2rem; }
.page_note .side_block .category_box ul { background: #FFF; }
.page_note .side_block .category_box ul li a { display: block; padding: 0.7em 1em; border-bottom: 1px dotted #555; font-size: 1.2rem; font-weight: 500; text-decoration: none; background: url("/assets/images/common/arrow_default.svg") no-repeat center right 16px; }
.page_note .side_block .category_box ul li:last-child a { border-bottom: none; }
.page_note .side_block .bnr { margin-bottom: 1em; }
.page_note .side_block .bnr img { width: 100%; }
.page_note .side_block .rank_box ul li { margin-bottom: 1em; }
.page_note .side_block .rank_box ul li a { display: flex; justify-content: space-between; align-items: center; border: 1px solid #CCC; padding: 1em; text-decoration: none; }
.page_note .side_block .rank_box ul li a figure { width: 30%; line-height: 0; }
.page_note .side_block .rank_box ul li a figure img { width: 100%; }
.page_note .side_block .rank_box ul li a .title { width: 65%; font-size: 1.07rem; font-weight: 500; margin-bottom: 0.6em; letter-spacing: -1px; line-height: 1.4em; }
.page_note .article_blcok { /*目次*/ /*フリーエリア*/ }
.page_note .article_blcok .article_title { font-size: 2.15rem; font-weight: 500; padding-bottom: 0.5em; border-bottom: 3px solid #a3ce45; margin-bottom: 1em; }
.page_note .article_blcok .day_box { margin-bottom: 2em; }
.page_note .article_blcok .day_box .day { font-size: 1.15rem; color: #555; font-weight: 500; margin-right: 1em; }
.page_note .article_blcok .day_box .category { font-size: 1.07rem; color: #f2876a; text-decoration: underline; margin-right: 1em; }
.page_note .article_blcok .main_photo { text-align: center; margin-bottom: 2em; }
.page_note .article_blcok .main_photo img { max-width: 100%; }
.page_note .article_blcok .info_box { padding: 2rem; margin-bottom: 3rem; background: #edefe8; }
.page_note .article_blcok .info_box .title { font-size: 1.15rem; font-weight: 600; text-align: center; margin-bottom: 1em; }
.page_note .article_blcok .info_box ol { margin-left: 1em; }
.page_note .article_blcok .info_box ol li { list-style-type: decimal; }
.page_note .article_blcok .info_box ol li a { font-size: 1.07rem; font-weight: 400; text-decoration: underline; }
.page_note .article_blcok .free_area .title { background: #a3ce45; color: #FFF; padding: 0.3em 1em; font-size: 1.58rem; font-weight: bold; margin-bottom: 1.5em; }
.page_note .article_blcok .free_area p { font-size: 1.15rem; color: #000; line-height: 1.8em; margin: 1.5em 0; }

.career_index { margin-top: 7.14rem; }
.career_index ul li { margin-bottom: 3.8rem; }
.career_index ul li:last-child { margin-bottom: 0; }
.career_index ul li a { display: flex; text-decoration: none; position: relative; }
@media screen and (max-width: 767px) { .career_index ul li a { display: block; } }
.career_index ul li a:after { content: ""; display: block; width: 5.43rem; height: 0.6rem; background-image: url(/recruit/assets/images/career/arw.svg); background-position: center; background-repeat: no-repeat; background-size: contain; position: absolute; right: 2.41rem; bottom: 2.41rem; z-index: 10; }
.career_index ul li a > * { width: 50%; }
@media screen and (max-width: 767px) { .career_index ul li a > * { width: 100%; } }
.career_index ul li a > figure { overflow: hidden; }
.career_index ul li a > figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 69.23%; background-size: cover; background-position: center; background-repeat: no-repeat; transition: 0.3s; }
.career_index ul li a > div { display: flex; justify-content: center; flex-direction: column; padding: 0 6.4rem; position: relative; }
@media screen and (max-width: 767px) { .career_index ul li a > div { padding: 8vw 10vw 10vw; } }
.career_index ul li a > div:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background-image: url("/recruit/assets/images/career/career_bg.jpg"); background-position: center; background-size: cover; background-repeat: no-repeat; opacity: 0.3; transition: 0.3s; }
.career_index ul li a > div > * { position: relative; z-index: 5; }
.career_index ul li a > div h3 { font-size: 2.35rem; font-weight: bold; letter-spacing: 0.1rem; line-height: 1em; margin-bottom: 2.5rem; }
@media screen and (max-width: 767px) { .career_index ul li a > div h3 { font-size: 1.85rem; margin-bottom: 5vw; } }
.career_index ul li a > div p { font-size: 1.15rem; font-weight: bold; letter-spacing: 0.24rem; }
.career_index ul li a:hover > figure span { transform: scale(1.05); }
.career_index ul li a:hover > div:before { opacity: 0.75; }

.career_mv { position: relative; max-width: 1500px; margin: 0 auto 10rem; }
@media screen and (max-width: 767px) { .career_mv { margin-bottom: 10vw; } }
.career_mv > figure { width: 58%; position: relative; z-index: 5; }
@media screen and (max-width: 767px) { .career_mv > figure { width: 95%; } }
.career_mv > figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 69.23%; background-size: cover; background-position: center; background-repeat: no-repeat; transition: 0.3s; }
.career_mv > div { width: 50%; height: 100%; display: flex; justify-content: center; flex-direction: column; padding: 0 3rem 0 13%; position: absolute; right: 0; top: 5rem; z-index: 1; }
@media screen and (max-width: 767px) { .career_mv > div { padding: 12vw 10vw 10vw; width: 100%; position: relative; top: -5vw; left: 5vw; } }
.career_mv > div:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background-image: url("/recruit/assets/images/career/career_bg.jpg"); background-position: center; background-size: cover; background-repeat: no-repeat; opacity: 0.75; transition: 0.3s; }
.career_mv > div > * { position: relative; z-index: 5; }
.career_mv > div h1 { font-size: 2.35rem; font-weight: bold; letter-spacing: 0.1rem; line-height: 1.97; margin-bottom: 2.5rem; }
@media screen and (max-width: 767px) { .career_mv > div h1 { font-size: 1.85rem; margin-bottom: 5vw; } }
.career_mv > div p { font-size: 1.15rem; font-weight: bold; letter-spacing: 0.24rem; }

.career_path { padding: 0 3.57rem; margin-bottom: 10rem; }
@media screen and (max-width: 767px) { .career_path { padding: 0; } }
.career_path h2 { color: #e6e6e6; font-size: 7.85rem; letter-spacing: 0.05em; font-family: 'Cabin', sans-serif; position: relative; z-index: 1; line-height: 1; }
@media screen and (max-width: 767px) { .career_path h2 { font-size: 5rem; } }
.career_path ul { position: relative; z-index: 5; margin-top: -2.5rem; display: flex; justify-content: flex-end; }
@media screen and (max-width: 767px) { .career_path ul { display: block; margin-top: 0; } }
.career_path ul:after { content: ""; display: block; position: absolute; top: 0; z-index: 1; }
@media screen and (max-width: 767px) { .career_path ul:after { display: none; } }
.career_path ul:after { width: calc(50vw - 50% - 3.5rem); height: 100%; background: #e6e6e6; left: calc(100% + 3.5rem); }
.career_path ul li { position: relative; background: #190045; color: #fff; padding: 0 1rem; width: 30%; display: flex; align-items: center; justify-content: center; margin-left: 4%; }
@media screen and (max-width: 767px) { .career_path ul li { width: 100%; margin: 0 auto 8vw; } }
@media screen and (min-width: 768px) { .career_path ul li:last-child:after { background-color: #e6e6e6; } }
.career_path ul li:after { content: ""; display: block; position: absolute; top: 0; z-index: 1; }
.career_path ul li:after { background: url(/recruit/assets/images/career/arrow_bg.svg) no-repeat center right; width: 50px; height: 100%; right: -49px; }
@media screen and (min-width: 768px) { .career_path ul li:after { background-color: #190045; } }
.career_path ul li:first-child { margin-left: 0; }
@media screen and (max-width: 767px) { .career_path ul li:first-child { margin-left: auto; } }
.career_path ul li:first-child:before { border-color: #190045; }
.career_path ul li div { position: relative; z-index: 5; padding: 1rem; }
@media screen and (max-width: 767px) { .career_path ul li div { text-align: center; } }
.career_path ul li .sub { font-size: 1.25rem; line-height: 1.4em; margin-bottom: 1em; font-weight: bold; letter-spacing: 0.1em; }
@media screen and (max-width: 767px) { .career_path ul li .sub { font-size: 1.07rem; } }
.career_path ul li .main { font-size: 1.8rem; line-height: 1.4em; font-weight: bold; letter-spacing: 0.025em; }
@media screen and (max-width: 767px) { .career_path ul li .main { font-size: 1.8rem; } }

.career_content { border-top: 1px solid #000; padding-bottom: 15rem; }
@media screen and (max-width: 767px) { .career_content { padding-bottom: 20vw; } }
.career_content > div { padding-top: 7.14rem; }
@media screen and (max-width: 767px) { .career_content > div { padding-top: 10vw; } }
.career_content > div > div { padding: 0 10rem; }
@media screen and (max-width: 767px) { .career_content > div > div { padding: 0; } }
.career_content > div > div .num { color: #e6e6e6; font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; font-size: 18.64rem; letter-spacing: 0.02em; line-height: 1; }
@media screen and (max-width: 767px) { .career_content > div > div .num { font-size: 10rem; } }
.career_content > div > div h2 { margin-top: -5.5rem; margin-bottom: 5rem; }
@media screen and (max-width: 767px) { .career_content > div > div h2 { margin-top: -10vw; margin-bottom: 8vw; } }
.career_content > div > div h2 span { display: block; }
.career_content > div > div h2 span.sub { font-size: 2.15rem; letter-spacing: 0.1em; font-weight: bold; line-height: 1.3; }
@media screen and (max-width: 767px) { .career_content > div > div h2 span.sub { font-size: 1.58rem; margin-bottom: 3vw; } }
.career_content > div > div h2 span.main { font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; font-size: 6.42rem; letter-spacing: 0.02em; line-height: 1.5; }
@media screen and (max-width: 767px) { .career_content > div > div h2 span.main { font-size: 4rem; line-height: 1.2; } }
.career_content > div > div h3 { font-size: 1.8rem; letter-spacing: 0.05em; font-weight: bold; margin-bottom: 1rem; }
@media screen and (max-width: 767px) { .career_content > div > div h3 { font-size: 1.58rem; } }
.career_content > div > div p:last-child { font-size: 1.2rem; line-height: 2; }
@media screen and (max-width: 767px) { .career_content > div > div p:last-child { font-size: 1.07rem; } }
.career_content > div > figure { margin-top: 7rem; }
@media screen and (max-width: 767px) { .career_content > div > figure { margin-top: 10vw; } }
.career_content > div > figure img { width: 100%; height: auto; }

.other_cp { background: #f2f2f2; padding: 10rem 0 10.7rem; }
@media screen and (max-width: 767px) { .other_cp { padding: 15vw 0; } }
.other_cp h2 { text-align: center; margin-bottom: 3rem; }
.other_cp h2 span { display: inline-block; padding: 0.3rem 2rem; color: #fff; background: #000; font-weight: bold; font-style: italic; font-size: 1.8rem; letter-spacing: 0.2em; }
.other_cp ul { display: flex; justify-content: center; margin-bottom: 7rem; padding: 0 1.78rem; }
@media screen and (max-width: 767px) { .other_cp ul { padding: 0; display: block; } }
.other_cp ul li { width: 31.36%; margin-right: 2.96%; }
@media screen and (max-width: 767px) { .other_cp ul li { width: 100%; margin-bottom: 5vw; } }
.other_cp ul li:last-child { margin-right: 0; }
.other_cp ul li a { position: relative; text-decoration: none; }
.other_cp ul li a:after { content: ""; display: block; width: 3rem; height: 0.6rem; background-image: url(/recruit/assets/images/career/arw.svg); background-position: center; background-repeat: no-repeat; background-size: contain; position: absolute; right: 1.8rem; bottom: 1.8rem; z-index: 10; }
.other_cp ul li a > figure { overflow: hidden; }
.other_cp ul li a > figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 69.23%; background-size: cover; background-position: center; background-repeat: no-repeat; transition: 0.3s; }
.other_cp ul li a > div { display: flex; justify-content: center; flex-direction: column; padding: 3rem 3rem; position: relative; }
@media screen and (max-width: 767px) { .other_cp ul li a > div { padding: 8vw 10vw 10vw; } }
.other_cp ul li a > div:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background-image: url("/recruit/assets/images/career/career_bg.jpg"); background-position: center; background-size: cover; background-repeat: no-repeat; opacity: 0.3; transition: 0.3s; }
.other_cp ul li a > div > * { position: relative; z-index: 5; }
.other_cp ul li a > div h3 { font-size: 1.58rem; font-weight: bold; letter-spacing: 0.1rem; line-height: 1.97; margin-bottom: 2rem; }
@media screen and (max-width: 767px) { .other_cp ul li a > div h3 { margin-bottom: 5vw; } }
.other_cp ul li a > div p { font-size: 1.25rem; font-weight: bold; letter-spacing: 0.24rem; }
.other_cp ul li a:hover > figure span { transform: scale(1.05); }
.other_cp ul li a:hover > div:before { opacity: 0.75; }

.page_contents.person { overflow-x: hidden; width: 100%; }

.hr_block { padding-bottom: 5rem; margin-bottom: 5rem; border-bottom: 1px solid #000; text-align: center; }
.hr_block .title { font-size: 1.72rem; font-weight: bold; line-height: 1em; margin-bottom: 2em; }
@media screen and (max-width: 767px) { .hr_block .title { font-size: 1.58rem; } }
.hr_block .title span { line-height: 1.2em; border-top: 2px solid #000; border-bottom: 2px solid #000; padding: 0.5em 1em; letter-spacing: 0.2em; display: inline-block; }
.hr_block .title span b { display: inline-block; transform: skewX(-10deg); }
.hr_block .copy { font-size: 3.5rem; font-weight: bold; line-height: 1.2em; letter-spacing: 0.1em; margin-bottom: 2.5rem; letter-spacing: 0.2em; }
@media screen and (max-width: 767px) { .hr_block .copy { font-size: 3.4rem; letter-spacing: 0.1em; } }
.hr_block .text_box p { margin: 1em 0; line-height: 1.7em; font-size: 1.58rem; font-weight: bold; }
@media screen and (max-width: 767px) { .hr_block .text_box p { font-size: 1.42rem; } }

.person_index { margin-top: 7.14rem; padding-bottom: 10rem; }
@media screen and (max-width: 767px) { .person_index { margin-top: 15vw; padding: 0 0 30vw; } }
.person_index ul { display: flex; justify-content: space-between; flex-wrap: wrap; position: relative; }
.person_index ul:after { content: "interview"; display: inline-block; position: absolute; left: 100%; top: 0; font-size: 12.14rem; letter-spacing: 0.1em; opacity: 0.06; transform-origin: left top; transform: translateX(16rem) rotate(90deg); }
.person_index ul li { width: 48.18%; margin-top: 10rem; }
.person_index ul li:nth-child(-n+2) { margin-top: 0; }
@media screen and (max-width: 767px) { .person_index ul li { width: 100%; margin-top: 20vw; }
  .person_index ul li:nth-child(-n+2) { margin-top: 20vw; }
  .person_index ul li:nth-child(1) { margin-top: 0; } }
.person_index ul li a { display: block; width: 100%; height: 100%; position: relative; }
.person_index ul li a:hover { opacity: 0.8; }
.person_index ul li a figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 72.581268%; background-size: cover; background-position: center; background-repeat: no-repeat; }
.person_index ul li a div { position: absolute; bottom: 0; left: 0; transform: translateY(4.5rem); }
.person_index ul li a div h3 strong { background: #FFF; font-weight: bold; letter-spacing: 0.15em; font-size: 2.15rem; display: inline-block; padding: 0 0.5em; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .person_index ul li a div h3 strong { font-size: 1.8rem; } }
@media screen and (max-width: 767px) { .person_index ul li a div h3 strong { font-size: 1.72rem; } }
.person_index ul li a div p { font-weight: bold; font-size: 1.15rem; letter-spacing: 0.24em; padding-left: 1.3rem; padding-top: 0.5em; }

.person_mv { position: relative; width: 100%; height: 42.85rem; background-size: cover; background-position: center; background-repeat: no-repeat; }
@media screen and (max-width: 767px) { .person_mv { height: 70vw; } }
.person_mv .inner { position: absolute; bottom: 7.35rem; left: 50%; transform: translateX(-50%); z-index: 5; width: 100%; }
@media screen and (max-width: 767px) { .person_mv .inner { bottom: 5vw; } }
.person_mv .inner h1 strong { background: #000; color: #fff; margin-bottom: 0.3em; font-weight: bold; letter-spacing: 0.24em; font-size: 2.85rem; display: inline-block; padding: 0.1em 0.5em; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .person_mv .inner h1 strong { font-size: 2.57rem; } }
@media screen and (max-width: 767px) { .person_mv .inner h1 strong { font-size: 1.42rem; } }
.person_mv .inner p { margin-top: 0.5em; display: inline-block; font-weight: bold; font-size: 1.15rem; letter-spacing: 0.24em; padding: 0.3em 1em; background: #fff; }
@media screen and (max-width: 767px) { .person_mv .inner p { font-size: 1rem; } }
.person_mv .inner p span { display: inline-block; color: #599db8; margin-left: 1.5rem; }

.person_overview { padding: 0 9.857rem 8.57rem; border-bottom: 1px solid #000; margin-top: 7.85rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .person_overview { padding: 0 5vw 8.57rem; } }
@media screen and (max-width: 767px) { .person_overview { padding: 0 5vw 10vw; margin-top: 10vw; } }
.person_overview h2 { font-family: 'Cabin', sans-serif; font-size: 5.48rem; letter-spacing: 0.1em; opacity: 0.06; line-height: 1; }
@media screen and (max-width: 767px) { .person_overview h2 { font-size: 4rem; } }
.person_overview p { font-size: 1.2rem; line-height: 2.058; }
@media screen and (max-width: 767px) { .person_overview p { font-size: 1.15rem; } }

.person_box { padding: 0 9.857rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .person_box { padding: 0 5vw; } }
@media screen and (max-width: 767px) { .person_box { padding: 0 5vw; } }

.person_content { margin-top: 8.57rem; margin-bottom: 10rem; }
@media screen and (max-width: 767px) { .person_content { margin-top: 10vw; } }
.person_content .con_block { margin-bottom: 8.57rem; }
@media screen and (max-width: 767px) { .person_content .con_block { margin-bottom: 10vw; } }
.person_content .con_block h3 { font-weight: bold; font-size: 1.8rem; letter-spacing: 0.05em; margin-bottom: 1em; }
.person_content .con_block p { font-size: 1.2rem; line-height: 2.058; }
.person_content .con_flex { display: flex; justify-content: space-between; align-items: center; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .person_content .con_flex { align-items: stretch; } }
@media screen and (max-width: 767px) { .person_content .con_flex { display: block; } }
.person_content .con_flex > figure { width: 46.67%; }
@media screen and (max-width: 767px) { .person_content .con_flex > figure { width: 100%; margin-bottom: 5vw; } }
.person_content .con_flex > figure img { width: 100%; height: auto; }
.person_content .con_flex > div { width: 47.55%; }
@media screen and (max-width: 767px) { .person_content .con_flex > div { width: 100%; } }
.person_content .con_img figure { width: 100%; }
@media screen and (max-width: 767px) { .person_content .con_img figure { width: 100vw; margin-left: -7vw; } }
.person_content .con_img figure img { width: 100%; height: auto; }
.person_content .con_h2 h2 { position: relative; padding-top: 1em; font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; line-height: 1.5; letter-spacing: 0.02em; font-size: 6.428rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .person_content .con_h2 h2 { font-size: 4.5rem; } }
@media screen and (max-width: 767px) { .person_content .con_h2 h2 { font-size: 4rem; line-height: 1.3; } }
.person_content .con_h2 h2:before { content: ""; display: block; width: 1px; height: 100%; position: absolute; top: 0; left: -0.8em; background: #000; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .person_content .con_h2 h2:before { left: -0.5em; } }
@media screen and (max-width: 767px) { .person_content .con_h2 h2:before { left: -7vw; } }

.other_person { background: #f2f2f2; padding: 10rem 0 10.7rem; }
@media screen and (max-width: 767px) { .other_person { padding: 15vw 0; } }
.other_person h2 { text-align: center; margin-bottom: 3rem; }
.other_person h2 span { display: inline-block; padding: 0.3rem 2rem; color: #fff; background: #000; font-weight: bold; font-style: italic; font-size: 1.8rem; letter-spacing: 0.2em; }
.other_person ul { display: flex; justify-content: center; flex-wrap: wrap; margin-bottom: 11rem; padding: 0 1.78rem; }
@media screen and (max-width: 767px) { .other_person ul { padding: 0; display: block; margin-bottom: 30vw; } }
.other_person ul li { width: 24%; margin: 0.5%; margin-top: 9rem; }
.other_person ul li:nth-child(1), .other_person ul li:nth-child(2), .other_person ul li:nth-child(3), .other_person ul li:nth-child(4) { margin-top: 0; }
@media screen and (max-width: 767px) { .other_person ul li { width: 100%; margin-bottom: 27vw; } }
.other_person ul li a { display: block; width: 100%; height: 100%; position: relative; }
.other_person ul li a:hover { opacity: 0.8; }
.other_person ul li a figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 72.581268%; background-size: cover; background-position: center; background-repeat: no-repeat; }
.other_person ul li a div { position: absolute; bottom: -2rem; left: 0; transform: translateY(4.5rem); }
.other_person ul li a div h3 strong { background: #000; color: #fff; margin-bottom: 0.3rem; font-weight: bold; letter-spacing: 0.1em; font-size: 1.5rem; display: inline-block; padding: 0.1em 0.5em; }
@media screen and (max-width: 767px) { .other_person ul li a div h3 strong { font-size: 1.58rem; } }
.other_person ul li a div p { display: inline-block; margin-top: 0.2rem; font-weight: bold; font-size: 1.07rem; letter-spacing: 0.1em; padding: 0.2rem 0.7rem; background: #fff; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .other_person ul li a div p { font-size: 1.07rem; } }

.story_index { margin-top: 7.14rem; padding-bottom: 10rem; }
@media screen and (max-width: 767px) { .story_index { margin-top: 15vw; padding: 0 0 30vw; } }
.story_index > ul li { max-width: 1220px; margin: 6rem auto 0; padding: 0 0 5rem; border-bottom: 1px solid #000; }
.story_index > ul li:nth-child(1) { margin-top: 0; }
@media screen and (max-width: 767px) { .story_index > ul li { width: 100%; margin-top: 20vw; }
  .story_index > ul li:nth-child(1) { margin-top: 0; } }
.story_index > ul li a { display: block; width: 100%; position: relative; text-decoration: none; }
.story_index > ul li a:hover { opacity: 0.8; }
.story_index > ul li a figure { margin-bottom: 2rem; }
.story_index > ul li a figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 36.88%; background-size: cover; background-position: center; background-repeat: no-repeat; }
.story_index > ul li a div h3 { font-weight: bold; font-size: 1.8rem; letter-spacing: 0.05em; margin-bottom: 1rem; }
.story_index > ul li a div p { font-size: 1.2rem; line-height: 2.058; }
.story_index .pagination ul { display: flex; justify-content: flex-end; margin-top: 3rem; }
.story_index .pagination ul li { margin-left: 1rem; }
.story_index .pagination ul li > * { width: 4rem; height: 4rem; display: block; border-radius: 50%; border: 1px solid #cacaca; line-height: 4rem; font-size: 1.76rem; text-align: center; color: #979797; text-decoration: none; font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; position: relative; }
.story_index .pagination ul li > *.current { color: #687893; border-color: #687893; }
.story_index .pagination ul li > *.next { display: none; /*
&:after{
	content: "";
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	border-top: 1px solid #979797;
	border-right: 1px solid #979797;
	position: absolute;
	z-index: 10;
	top: 50%;
	left: calc(50% - 0.2rem);
	transform: translate(-50%,-50%) rotate(45deg);
}
*/ }
.story_index .pagination ul li > *.prev { display: none; }

.story_ttl { width: 100%; max-width: 1155px; margin: 3rem auto 5rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_ttl { padding: 0 30px; } }
@media screen and (max-width: 767px) { .story_ttl { padding: 0 7vw; margin: 5vw auto 8vw; } }
.story_ttl h1 { padding-left: 2rem; border-left: 1px solid #000; font-size: 2.85rem; letter-spacing: 0.2em; line-height: 1.625; font-weight: bold; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_ttl h1 { font-size: 2.57rem; } }
@media screen and (max-width: 767px) { .story_ttl h1 { font-size: 1.76rem; padding-left: 3vw; } }

.story_mv { position: relative; width: 100%; height: 42.85rem; background-size: cover; background-position: center; background-repeat: no-repeat; }
@media screen and (max-width: 767px) { .story_mv { height: 0; box-sizing: content-box; padding-bottom: 40%; } }

.story_overview { padding: 0 9.857rem 8.57rem; margin-top: 7.85rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_overview { padding: 0 5vw 8.57rem; } }
@media screen and (max-width: 767px) { .story_overview { padding: 0 5vw 10vw; margin-top: 10vw; } }
.story_overview p { font-size: 1.2rem; line-height: 2.058; }
@media screen and (max-width: 767px) { .story_overview p { font-size: 1.15rem; } }

.story_member { max-width: 1222px; margin: 0 auto; background: #edf2f4; border-top: 1px solid #000; padding: 5rem 3rem; display: flex; justify-content: space-between; align-items: center; }
@media screen and (max-width: 767px) { .story_member { display: block; padding: 5vw 5vw; } }
.story_member h3 { width: 34.5%; font-size: 2.0714rem; letter-spacing: 0.2em; font-style: italic; font-weight: bold; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_member h3 { width: 30%; } }
@media screen and (max-width: 767px) { .story_member h3 { width: 100%; margin-bottom: 5vw; } }
.story_member ul { width: 65.5%; display: flex; flex-wrap: wrap; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_member ul { width: 70%; } }
@media screen and (max-width: 767px) { .story_member ul { width: 100%; display: block; } }
.story_member ul li { width: 23.6%; margin-right: 14.6%; margin-top: 3rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_member ul li { width: 28%; margin-right: 8%; } }
.story_member ul li:nth-child(3n) { margin-right: 0; }
.story_member ul li:nth-child(-n+3) { margin-top: 0; }
@media screen and (max-width: 767px) { .story_member ul li { display: flex; justify-content: space-between; width: 100%; margin-right: 0; margin-top: 5vw; }
  .story_member ul li:nth-child(-n+3) { margin-top: 5vw; } }
.story_member ul li figure { margin-bottom: 1rem; }
@media screen and (max-width: 767px) { .story_member ul li figure { margin-bottom: 0; width: 30%; } }
.story_member ul li figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; }
@media screen and (max-width: 767px) { .story_member ul li div { width: 65%; } }
.story_member ul li div p { font-weight: bold; font-size: 1.15rem; line-height: 1.8; }

.story_box { padding: 0 9.857rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_box { padding: 0 5vw; } }
@media screen and (max-width: 767px) { .story_box { padding: 0 5vw; } }

.story_content { margin-top: 8.57rem; margin-bottom: 10rem; }
@media screen and (max-width: 767px) { .story_content { margin-top: 10vw; } }
.story_content .con_block { margin-bottom: 8.57rem; }
@media screen and (max-width: 767px) { .story_content .con_block { margin-bottom: 10vw; } }
.story_content .con_block dl { display: flex; justify-content: space-between; margin-bottom: 3rem; }
.story_content .con_block dl:last-child { margin-bottom: 0; }
@media screen and (max-width: 767px) { .story_content .con_block dl { display: block; } }
.story_content .con_block dl dt { width: 14%; font-weight: bold; font-size: 1.2rem; }
@media screen and (max-width: 767px) { .story_content .con_block dl dt { width: 100%; margin-bottom: 1rem; } }
.story_content .con_block dl dd { width: 86%; font-size: 1.2rem; line-height: 2.058; }
@media screen and (max-width: 767px) { .story_content .con_block dl dd { width: 100%; } }
.story_content .con_flex { display: flex; justify-content: space-between; align-items: center; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_content .con_flex { align-items: stretch; } }
@media screen and (max-width: 767px) { .story_content .con_flex { display: block; } }
.story_content .con_flex > figure { width: 46.67%; }
@media screen and (max-width: 767px) { .story_content .con_flex > figure { width: 100%; margin-bottom: 5vw; } }
.story_content .con_flex > figure img { width: 100%; height: auto; }
.story_content .con_flex > div { width: 47.55%; }
@media screen and (max-width: 767px) { .story_content .con_flex > div { width: 100%; } }
.story_content .con_flex > div dl { display: block; }
.story_content .con_flex > div dl dt { width: 100%; margin-bottom: 1rem; }
.story_content .con_flex > div dl dd { width: 100%; }
.story_content .con_img figure { width: 100%; }
@media screen and (max-width: 767px) { .story_content .con_img figure { width: 100vw; margin-left: -7vw; } }
.story_content .con_img figure img { width: 100%; height: auto; }
.story_content .con_free { font-size: 1.2rem; line-height: 2.058; }
.story_content .con_free strong { font-weight: bold; }
.story_content .con_free a { text-decoration: underline; color: #19b6dd; }
.story_content .con_h2 h2 { position: relative; padding: 1.3em 0 0.3em; line-height: 1.5; letter-spacing: 0.02em; font-size: 3rem; font-weight: bold; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_content .con_h2 h2 { font-size: 3rem; } }
@media screen and (max-width: 767px) { .story_content .con_h2 h2 { font-size: 2.5rem; line-height: 1.3; } }
.story_content .con_h2 h2:before { content: ""; display: block; width: 1px; height: 100%; position: absolute; top: 0; left: -2.2em; background: #000; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .story_content .con_h2 h2:before { left: -0.5em; } }
@media screen and (max-width: 767px) { .story_content .con_h2 h2:before { left: -7vw; } }

.other_story { background: #f2f2f2; padding: 10rem 0 10.7rem; }
@media screen and (max-width: 767px) { .other_story { padding: 15vw 0; } }
.other_story h2 { text-align: center; margin-bottom: 3rem; }
.other_story h2 span { display: inline-block; padding: 0.3rem 2rem; color: #fff; background: #000; font-weight: bold; font-style: italic; font-size: 1.8rem; letter-spacing: 0.2em; }
.other_story ul { display: flex; justify-content: center; margin-bottom: 11rem; padding: 0 1.78rem; }
@media screen and (max-width: 767px) { .other_story ul { padding: 0; display: block; margin-bottom: 15vw; } }
.other_story ul li { width: 32.97%; margin-right: 0.545%; }
@media screen and (max-width: 767px) { .other_story ul li { width: 100%; margin-bottom: 5vw; } }
.other_story ul li:last-child { margin-right: 0; }
.other_story ul li a { display: block; width: 100%; height: 100%; position: relative; text-decoration: none; }
.other_story ul li a:hover { opacity: 0.8; }
.other_story ul li a figure { margin-bottom: 1rem; }
.other_story ul li a figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 72.581268%; background-size: cover; background-position: center; background-repeat: no-repeat; }
.other_story ul li a h3 { padding: 0 0.5rem; font-weight: bold; font-size: 1.25rem; letter-spacing: 0.2em; text-align: left; }

/*共通*/
.com_nav { max-width: 1260px; padding: 0 30px; margin: 0 auto; }
@media screen and (max-width: 767px) { .com_nav { padding: 0 7vw; } }
.com_nav ul { display: flex; justify-content: space-between; }
.com_nav ul li { width: 48%; text-align: center; position: relative; border-top: 1px solid #808080; border-bottom: 1px solid #808080; }
.com_nav ul li a { text-decoration: none; display: flex; align-items: center; padding: 0.7em 0; height: 5.214rem; }
.com_nav ul li a:hover { opacity: 0.8; }
.com_nav ul li a span { display: block; width: 100%; font-size: 1.5rem; letter-spacing: 0.2em; font-weight: bold; color: #808080; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .com_nav ul li a span { font-size: 1.2rem; } }
@media screen and (max-width: 767px) { .com_nav ul li a span { font-size: 1.1rem; line-height: 1.3; } }
.com_nav ul li.current { border-color: #000; }
.com_nav ul li.current a span { color: #000; }
.com_nav.com_nav_top { margin-bottom: 10rem; }
@media screen and (max-width: 767px) { .com_nav.com_nav_top { margin-bottom: 18vw; } }
.com_nav.com_nav_top ul li.current:before, .com_nav.com_nav_top ul li.current:after { content: ""; position: absolute; top: 100%; left: 50%; background: #000; }
.com_nav.com_nav_top ul li.current:before { width: 1px; height: 1.7rem; transform: translate(-50%, -0.28rem); }
.com_nav.com_nav_top ul li.current:after { width: 8px; height: 8px; transform: translate(-50%, 1.3rem); border-radius: 50%; }
.com_nav.com_nav_bottom { margin-top: 10rem; padding-bottom: 4rem; }

.com_box { margin-bottom: 12rem; }
@media screen and (max-width: 767px) { .com_box { margin-bottom: 20vw; } }
.com_box h2 { margin-bottom: 4.5rem; }
.com_box h2 strong { border-top: 2px solid #000; border-bottom: 2px solid #000; line-height: 1em; padding: 0.5em 1em; font-size: 1.76rem; font-weight: bold; letter-spacing: 0.1em; font-style: italic; }
@media screen and (max-width: 767px) { .com_box h2 strong { font-size: 1.58rem; } }

/*会社概要*/
#com_overview > div dl { padding: 3rem 0; border-top: 1px solid #000; display: flex; }
#com_overview > div dl:last-child { border-bottom: 1px solid #000; }
@media screen and (max-width: 767px) { #com_overview > div dl { padding: 5vw; } }
#com_overview > div dl dt { font-size: 1.42rem; font-weight: bold; letter-spacing: 0.2em; padding-left: 3rem; width: 33%; }
@media screen and (max-width: 767px) { #com_overview > div dl dt { padding-left: 0; font-size: 1.2rem; } }
#com_overview > div dl dd { font-size: 1.25rem; letter-spacing: 0.1em; width: 67%; }
@media screen and (max-width: 767px) { #com_overview > div dl dd { font-size: 1.15rem; } }
#com_overview > div dl dd .img_icon { margin-top: 1rem; }
#com_overview > div dl dd .img_icon img { width: 15%; margin: 1%; }

#base > ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
#base > ul li { width: 48.1818%; margin-top: 8rem; padding-bottom: 9rem; position: relative; }
#base > ul li:nth-child(-n+2) { margin-top: 0; }
@media screen and (max-width: 767px) { #base > ul li { width: 100%; margin-top: 15vw; padding-bottom: 0; }
  #base > ul li:nth-child(-n+2) { margin-top: 15vw; }
  #base > ul li:nth-child(1) { margin-top: 0; } }
#base > ul li h3 { font-size: 1.8rem; font-weight: bold; letter-spacing: 0.2em; margin-bottom: 0.5em; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #base > ul li h3 { font-size: 1.72rem; } }
@media screen and (max-width: 767px) { #base > ul li h3 { font-size: 1.42rem; } }
#base > ul li figure { width: 100%; margin-bottom: 1.5rem; display: block; }
#base > ul li figure span { display: block; width: 100%; height: 0; box-sizing: content-box; padding-bottom: 54.71%; background-position: center; background-size: cover; background-repeat: no-repeat; }
#base > ul li p { font-size: 1.42rem; letter-spacing: 0.1em; line-height: 1.55; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #base > ul li p { font-size: 1.25rem; } }
@media screen and (max-width: 767px) { #base > ul li p { font-size: 1.25rem; } }
#base > ul li .btn_border { position: absolute; bottom: 0; left: 0; width: 100%; }
@media screen and (max-width: 767px) { #base > ul li .btn_border { position: static; margin-top: 8vw; } }
#base > ul li .btn_border a { width: 100%; }
@media screen and (max-width: 767px) { #base > ul li .btn_border a { font-size: 1.15rem; } }
#base > ul li .btn_border a:before, #base > ul li .btn_border a:after { display: none; }

/*リクルートメッセージ*/
.com_message { margin-bottom: 10rem; }
@media screen and (max-width: 767px) { .com_message { margin-bottom: 15vw; } }
.com_message:last-child { margin-bottom: 0; }
.com_message figure img { width: 100%; height: auto; }
.com_message h2 { margin-left: 3.5rem; margin-bottom: 3rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .com_message h2 { margin-left: 1rem; } }
@media screen and (max-width: 767px) { .com_message h2 { margin-left: 0; margin-bottom: 0; } }
.com_message h2 strong { padding-top: 2em; display: inline-block; color: #190045; font-size: 3.214rem; letter-spacing: 0.1em; font-weight: bold; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .com_message h2 strong { font-size: 2.8rem; } }
@media screen and (max-width: 767px) { .com_message h2 strong { font-size: 1.8rem; padding: 2em 0; } }
.com_message h2 { font-weight: bold; }
.com_message > div { max-width: 1035px; margin: 0 auto; }
.com_message > div > p { font-size: 1.42rem; letter-spacing: 0.2em; line-height: 2; margin-bottom: 3rem; }
@media screen and (max-width: 767px) { .com_message > div > p { font-size: 1.15rem; } }
.com_message > div .sign { display: flex; justify-content: flex-end; }
.com_message > div .sign > div { flex-shrink: 0; }
.com_message > div .sign > div .posi { font-size: 1.42rem; letter-spacing: 0.1em; margin-bottom: 0.2rem; }
@media screen and (max-width: 767px) { .com_message > div .sign > div .posi { font-size: 1.15rem; } }
.com_message > div .sign > div .name strong { font-size: 2.28rem; font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; font-weight: 600; display: inline-block; letter-spacing: 0.2em; }
@media screen and (max-width: 767px) { .com_message > div .sign > div .name strong { font-size: 1.42rem; } }
.com_message > div .sign > div .name span { font-size: 1.25rem; display: inline-block; letter-spacing: 0.1em; margin-left: 1rem; }
@media screen and (max-width: 767px) { .com_message > div .sign > div .name span { font-size: 1.15rem; } }

#com_data > div { display: flex; justify-content: space-between; flex-wrap: wrap; }
#com_data > div ._1col { width: 31.33%; }
@media screen and (max-width: 767px) { #com_data > div ._1col { width: 100%; } }
#com_data > div ._2col { width: 65.56%; }
@media screen and (max-width: 767px) { #com_data > div ._2col { width: 100%; } }
#com_data > div ._hol { display: flex; justify-content: space-between; flex-direction: column; }
#com_data > div .databox { background: #edf2f4; padding: 3rem 3.57rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox { padding: 3vw 3.5vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox { padding: 6vw; } }
#com_data > div .databox h3 { text-align: center; font-size: 1.8rem; font-weight: bold; letter-spacing: 0.2em; margin-bottom: 1rem; }
@media screen and (max-width: 767px) { #com_data > div .databox h3 { font-size: 1.42rem; } }
#com_data > div .databox .txt { font-size: 1.2rem; letter-spacing: 0.1em; line-height: 1.58; }
@media screen and (max-width: 1400px) { #com_data > div .databox .txt { font-size: 1.3vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox .txt { font-size: 1.07rem; } }
#com_data > div .databox.data1 { margin-bottom: 2.3rem; position: relative; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data1 { margin-bottom: 3vw; } }
#com_data > div .databox.data1:after { content: ""; display: block; width: 1px; height: 7rem; background: #000; position: absolute; top: 100%; left: 50%; transform: translate(-50%, -2rem); }
@media screen and (max-width: 1400px) { #com_data > div .databox.data1:after { height: 7vw; transform: translate(-50%, -2vw); } }
@media screen and (max-width: 767px) { #com_data > div .databox.data1:after { display: none; } }
#com_data > div .databox.data1 > div { padding-top: 2rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data1 > div { padding-top: 2vw; } }
#com_data > div .databox.data1 > div p { text-align: center; font-size: 2.5rem; letter-spacing: 0.2em; line-height: 1; font-weight: bold; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data1 > div p { font-size: 2.5vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data1 > div p { font-size: 1.42rem; } }
#com_data > div .databox.data1 > div p strong { font-size: 434.28%; font-weight: bold; font-style: italic; letter-spacing: 0; display: inline-block; margin-right: 1rem; }
#com_data > div .databox.data2 { margin-bottom: 2.3rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data2 { margin-bottom: 3vw; } }
#com_data > div .databox.data2 h3 { text-align: left; }
#com_data > div .databox.data2 > div { display: flex; justify-content: space-between; }
@media screen and (max-width: 767px) { #com_data > div .databox.data2 > div { display: block; } }
#com_data > div .databox.data2 > div ul li { font-size: 1.25rem; letter-spacing: 0.05em; line-height: 1.66; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data2 > div ul li { font-size: 1.5vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data2 > div ul li { font-size: 1.07rem; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data3 { margin-bottom: 3vw; } }
#com_data > div .databox.data3 h3 { font-size: 4.28rem; letter-spacing: 0.14em; font-weight: bold; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data3 h3 { font-size: 4.28vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data3 h3 { font-size: 2rem; } }
#com_data > div .databox.data3 h3 strong { font-size: 133.33%; letter-spacing: 0.2em; font-weight: bold; }
#com_data > div .databox.data3 > div { padding-bottom: 3rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data3 > div { padding-bottom: 3vw; } }
#com_data > div .databox.data3 > div figure img { width: 100%; height: auto; }
#com_data > div .databox.data3 > div p { margin-top: 2.8rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data3 > div p { margin-top: 2.8vw; } }
#com_data > div .databox.data4 { height: 48%; }
@media screen and (max-width: 767px) { #com_data > div .databox.data4 { height: auto; margin-bottom: 3vw; } }
#com_data > div .databox.data4 > div p:first-child { text-align: center; }
#com_data > div .databox.data4 > div p:first-child span, #com_data > div .databox.data4 > div p:first-child strong { font-weight: bold; letter-spacing: 0.1em; line-height: 1; }
#com_data > div .databox.data4 > div p:first-child span:nth-child(1), #com_data > div .databox.data4 > div p:first-child span:nth-child(5) { font-size: 2.5rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data4 > div p:first-child span:nth-child(1), #com_data > div .databox.data4 > div p:first-child span:nth-child(5) { font-size: 2.5vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data4 > div p:first-child span:nth-child(1), #com_data > div .databox.data4 > div p:first-child span:nth-child(5) { font-size: 1.8rem; } }
#com_data > div .databox.data4 > div p:first-child span:nth-child(3) { font-size: 3.45rem; display: inline-block; transform: translateY(-1rem); margin: 0 1rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data4 > div p:first-child span:nth-child(3) { font-size: 3.45vw; transform: translateY(-1vw); margin: 0 1vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data4 > div p:first-child span:nth-child(3) { font-size: 4rem; transform: translateY(-1rem); margin: 0 1vw 0 2vw; } }
#com_data > div .databox.data4 > div p:first-child strong { font-size: 7.928rem; font-style: italic; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data4 > div p:first-child strong { font-size: 7.928vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data4 > div p:first-child strong { font-size: 6.2rem; } }
#com_data > div .databox.data4 > div p.txt { margin-top: 1.5rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data4 > div p.txt { margin-top: 1.5vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data4 > div p.txt { margin-top: 3vw; } }
#com_data > div .databox.data5 { height: 48%; }
@media screen and (max-width: 767px) { #com_data > div .databox.data5 { height: auto; } }
#com_data > div .databox.data5 > div { padding-top: 2rem; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data5 > div { padding-top: 2vw; } }
#com_data > div .databox.data5 > div p { text-align: center; font-size: 2.5rem; letter-spacing: 0.2em; line-height: 1; font-weight: bold; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data5 > div p { font-size: 2.5vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data5 > div p { font-size: 1.42rem; } }
#com_data > div .databox.data5 > div p strong { font-size: 434.28%; font-weight: bold; font-style: italic; letter-spacing: 0; display: inline-block; margin-right: 1rem; }
#com_data > div .databox.data5 > div p.txt { margin-top: 1.5srem; font-size: 1.3vw; font-weight: normal; }
@media screen and (max-width: 1400px) { #com_data > div .databox.data5 > div p.txt { margin-top: 1.5vw; } }
@media screen and (max-width: 767px) { #com_data > div .databox.data5 > div p.txt { margin-top: 3vw; } }

#com_environment { border-top: 1px solid #000; padding-top: 12rem; }
@media screen and (max-width: 767px) { #com_environment { padding-top: 20vw; } }
#com_environment ul li { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; }
@media screen and (max-width: 767px) { #com_environment ul li { display: block; margin-bottom: 15vw; } }
#com_environment ul li > figure { width: 49.16%; }
@media screen and (max-width: 767px) { #com_environment ul li > figure { width: 100%; margin-bottom: 5vw; } }
#com_environment ul li > figure img { width: 100%; height: auto; }
#com_environment ul li > div { width: 45.83%; }
@media screen and (max-width: 767px) { #com_environment ul li > div { width: 100%; } }
#com_environment ul li > div h3 { font-size: 2.15rem; font-weight: bold; letter-spacing: 0.05em; margin-bottom: 1rem; }
@media screen and (max-width: 767px) { #com_environment ul li > div h3 { font-size: 1.8rem; } }
#com_environment ul li > div p { font-size: 1.25rem; letter-spacing: 0.1em; line-height: 2.222; }
@media screen and (max-width: 767px) { #com_environment ul li > div p { font-size: 1.15rem; } }

#contents.concept { padding-bottom: 0; }

.concept_mv { position: relative; margin-top: -7rem; pointer-events: none; margin-bottom: 10rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_mv { margin-bottom: 0; } }
@media screen and (max-width: 767px) { .concept_mv { margin-top: 0; margin-bottom: 0; } }
.concept_mv:before { content: ""; display: block; width: 100%; height: 82%; position: absolute; left: 0; top: 0; z-index: -1; background: #f5f5f5; }
@media screen and (max-width: 767px) { .concept_mv:before { height: 90%; } }
.concept_mv .inner { position: relative; z-index: 10; }
.concept_mv .inner p { padding-top: 10rem; font-size: 4.63rem; letter-spacing: 0.1em; font-weight: bold; font-style: italic; line-height: 1.75; }
@media screen and (max-width: 1400px) { .concept_mv .inner p { padding-top: 10vw; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_mv .inner p { font-size: 3.8rem; } }
@media screen and (max-width: 767px) { .concept_mv .inner p { font-size: 3rem; padding-top: 6vw; } }
.concept_mv .inner p strong { color: #fff; font-style: italic; font-weight: bold; -webkit-text-stroke: 1px #000; text-stroke: 1px #000; }
.concept_mv .inner figure { position: absolute; max-width: 53.57rem; width: 50vw; top: 0; left: 50%; }
@media screen and (max-width: 767px) { .concept_mv .inner figure { position: static; margin-left: auto; width: 80vw; margin-right: -7vw; } }
.concept_mv .inner figure img { width: 100%; height: auto; }

#concept_omoi { padding-bottom: 18rem; position: relative; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #concept_omoi { padding-bottom: 13rem; } }
@media screen and (max-width: 767px) { #concept_omoi { padding-bottom: 30vw; } }
#concept_omoi:after { content: ""; display: block; position: absolute; bottom: 0; left: 50%; height: 7rem; width: 1px; background: #000; z-index: 10; transform: translateY(-20%); }
@media screen and (max-width: 767px) { #concept_omoi:after { height: 15vw; } }
#concept_omoi h2 { margin-bottom: 7rem; }
@media screen and (max-width: 767px) { #concept_omoi h2 { margin-bottom: 10vw; } }
#concept_omoi h2 strong { color: #000; line-height: 1em; padding: 0.5em 1em; font-size: 1.76rem; font-weight: bold; border-top: 2px solid #000; border-bottom: 2px solid #000; letter-spacing: 0.1em; font-style: italic; }
@media screen and (max-width: 767px) { #concept_omoi h2 strong { font-size: 1.58rem; } }
#concept_omoi h3 { font-size: 2.85rem; letter-spacing: 0.1em; line-height: 1.5; margin-bottom: 4rem; font-weight: bold; }
@media screen and (max-width: 767px) { #concept_omoi h3 { margin-bottom: 5vw; font-size: 2.15rem; } }
#concept_omoi p { font-size: 1.58rem; letter-spacing: 0.1em; line-height: 2.045; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #concept_omoi p { font-size: 1.25rem; } }
@media screen and (max-width: 767px) { #concept_omoi p { font-size: 1.25rem; } }

.cpt_ttl { text-align: left; margin-bottom: 7rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .cpt_ttl { margin-bottom: 4rem; } }
@media screen and (max-width: 767px) { .cpt_ttl { margin-bottom: 10vw; } }
.cpt_ttl p { color: #190045; font-weight: bold; font-style: italic; font-size: 2.68rem; letter-spacing: 0.2em; margin-bottom: 2rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .cpt_ttl p { font-size: 2rem; } }
@media screen and (max-width: 767px) { .cpt_ttl p { font-size: 2rem; } }
.cpt_ttl h2 { padding-left: 3rem; font-size: 5.3rem; letter-spacing: 0.1em; font-weight: bold; font-style: italic; line-height: 1.27; }
@media screen and (max-width: 1400px) { .cpt_ttl h2 { font-size: 4.8rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .cpt_ttl h2 { font-size: 3.8rem; } }
@media screen and (max-width: 767px) { .cpt_ttl h2 { font-size: 3rem; padding-left: 1rem; } }
.cpt_ttl h2 strong { color: #e9edee; font-style: italic; font-weight: bold; -webkit-text-stroke: 1px #000; text-stroke: 1px #000; }

.concept_block { position: relative; padding: 7.14rem 0 0; background: #e9edee; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_block { padding: 5rem 0 0; } }
@media screen and (max-width: 767px) { .concept_block { padding: 10vw 0 0; } }

._top_tilt { position: relative; }
._top_tilt:before { content: ""; display: block; width: 100%; height: 10rem; position: absolute; bottom: 100%; left: 0; transform: skewY(-1.4deg) translateY(50%); transform-origin: center center; background: #e9edee; }
@media screen and (max-width: 767px) { ._top_tilt:before { height: 22vw; } }

.concept_box { padding-bottom: 12.85rem; border-bottom: 1px solid #000; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box { padding-bottom: 8rem; } }
@media screen and (max-width: 767px) { .concept_box { padding-bottom: 15vw; } }
.concept_box .flex { display: flex; justify-content: space-between; align-items: center; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box .flex { align-items: flex-start; } }
@media screen and (max-width: 767px) { .concept_box .flex { display: block; } }
.concept_box .flex > figure { width: 45.8%; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box .flex > figure { width: 40%; } }
@media screen and (max-width: 767px) { .concept_box .flex > figure { width: 100%; } }
.concept_box .flex > figure img { width: 100%; height: auto; }
.concept_box .flex > div { width: 54.2%; padding: 0 4rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box .flex > div { width: 60%; } }
@media screen and (max-width: 767px) { .concept_box .flex > div { width: 100%; padding: 0; margin-top: 5vw; } }
.concept_box .flex > div h3 { font-size: 2.85rem; letter-spacing: 0.1em; line-height: 1.5; margin-bottom: 2rem; font-weight: bold; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box .flex > div h3 { font-size: 2.15rem; } }
@media screen and (max-width: 767px) { .concept_box .flex > div h3 { margin-bottom: 5vw; font-size: 2.15rem; } }
.concept_box .flex > div p { font-size: 1.58rem; letter-spacing: 0.1em; line-height: 2.045; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box .flex > div p { font-size: 1.25rem; } }
@media screen and (max-width: 767px) { .concept_box .flex > div p { font-size: 1.25rem; } }
.concept_box ul { display: flex; justify-content: space-between; margin-top: 8rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box ul { margin-top: 5rem; } }
@media screen and (max-width: 767px) { .concept_box ul { margin-top: 10vw; flex-wrap: wrap; } }
.concept_box ul li { width: 18%; }
@media screen and (max-width: 767px) { .concept_box ul li { width: 48%; margin-top: 5vw; }
  .concept_box ul li:nth-child(-n+2) { margin-top: 0; } }
.concept_box ul li a { text-decoration: none; }
.concept_box ul li figure img { width: 100%; height: auto; }
.concept_box ul li figure figcaption { display: block; margin-top: 1.5rem; font-size: 1.42rem; letter-spacing: 0.1em; font-weight: bold; text-align: center; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .concept_box ul li figure figcaption { font-size: 1.15rem; } }
@media screen and (max-width: 767px) { .concept_box ul li figure figcaption { font-size: 1.15rem; margin-top: 3vw; } }

#concept_challenge .concept_box { border-bottom: none; }

@media all and (-ms-high-contrast: none) { *::-ms-backdrop, .concept_mv .inner p strong { text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000; font-weight: normal; }
  *::-ms-backdrop, .cpt_ttl h2 strong { text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000; font-weight: normal; } }
.page_contents.stance { padding-bottom: 0; }

#stance_lead .stance_lead_box { width: 45%; }
@media screen and (min-width: 1025px) { #stance_lead .stance_lead_box { min-width: 480px; } }
@media screen and (max-width: 767px) { #stance_lead .stance_lead_box { width: 100%; } }
#stance_lead .stance_lead_box .sl_box_head p { color: #190045; font-weight: bold; font-style: italic; font-size: 2.68rem; letter-spacing: 0.2em; margin-bottom: 1rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_lead .stance_lead_box .sl_box_head p { font-size: 2rem; } }
@media screen and (max-width: 767px) { #stance_lead .stance_lead_box .sl_box_head p { font-size: 2rem; } }
#stance_lead .stance_lead_box .sl_box_head h2 { font-size: 3.6rem; font-weight: bold; letter-spacing: 0.1em; margin-bottom: 2rem; line-height: 1.5; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_lead .stance_lead_box .sl_box_head h2 { font-size: 2.85rem; } }
@media screen and (max-width: 767px) { #stance_lead .stance_lead_box .sl_box_head h2 { font-size: 2.57rem; } }
#stance_lead .stance_lead_box > p { font-size: 1.58rem; letter-spacing: 0.1em; line-height: 2.045; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_lead .stance_lead_box > p { font-size: 1.25rem; } }
@media screen and (max-width: 767px) { #stance_lead .stance_lead_box > p { font-size: 1.25rem; } }
#stance_lead .stance_current1 { background-image: url(../images/stance/stance_current_img1.png); background-size: contain; background-repeat: no-repeat; background-position: right top; padding: 3.57rem 0 2.5rem; margin-bottom: 9rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_lead .stance_current1 { padding: 2rem 0 1.8rem; background-size: 80%; } }
@media screen and (max-width: 767px) { #stance_lead .stance_current1 { padding: 5vw 0 15vw; margin-bottom: 0; } }
#stance_lead .stance_current2 { position: relative; z-index: 20; padding: 12.85rem 0 7rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_lead .stance_current2 { padding: 8rem 0 5rem; } }
@media screen and (max-width: 767px) { #stance_lead .stance_current2 { padding: 15vw 0 0; } }
#stance_lead .stance_current2 .inner { position: relative; }
#stance_lead .stance_current2 .inner figure { position: absolute; z-index: 10; top: 36%; left: 52.67%; width: 59.17%; max-width: 50.714rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_lead .stance_current2 .inner figure { left: auto; right: 0; width: 50%; } }
@media screen and (max-width: 767px) { #stance_lead .stance_current2 .inner figure { position: static; width: 93vw; margin-left: auto; margin-right: -7vw; margin-top: 10vw; } }
#stance_lead .stance_current2 .inner figure img { width: 100%; height: auto; }

.stance_lead_slider { width: 100%; }
.stance_lead_slider #SL-SLIDER { width: 100%; }
.stance_lead_slider #SL-SLIDER .item figure { width: 22.857rem; }
@media screen and (max-width: 767px) { .stance_lead_slider #SL-SLIDER .item figure { width: 40vw; } }
.stance_lead_slider #SL-SLIDER .item figure .bg { display: block; width: 100%; height: 0; padding-bottom: 68.75%; box-sizing: content-box; background-size: cover; background-position: center; background-repeat: no-repeat; }

.stance_block .sb_ttl { background: #e3ebf0; padding: 14rem 0 10rem; position: relative; }
@media screen and (max-width: 1400px) { .stance_block .sb_ttl { padding: 10rem 0 9rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_ttl { padding: 22vw 0 27vw; } }
.stance_block .sb_ttl:before, .stance_block .sb_ttl:after { content: ""; display: block; width: 100%; height: 6rem; position: absolute; z-index: 2; left: 0; transform-origin: center center; background: #fff; }
@media screen and (max-width: 767px) { .stance_block .sb_ttl:before, .stance_block .sb_ttl:after { height: 22vw; } }
.stance_block .sb_ttl:before { bottom: 100%; transform: skewY(-1.4deg) translateY(50%); }
.stance_block .sb_ttl:after { top: 100%; transform: skewY(-1.4deg) translateY(-50%); }
.stance_block .sb_ttl .inner > div { position: relative; text-align: left; }
.stance_block .sb_ttl .inner > div .num { position: absolute; left: -0.5em; top: -0.52em; font-size: 25.5rem; line-height: 1; color: #fff; letter-spacing: 0.02em; font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; z-index: 10; }
@media screen and (max-width: 1400px) { .stance_block .sb_ttl .inner > div .num { left: calc(50% - 50vw); top: -0.45em; font-size: 20rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_ttl .inner > div .num { font-size: 12rem; } }
.stance_block .sb_ttl .inner > div .sub { position: relative; z-index: 15; font-size: 2.64rem; letter-spacing: 0.2em; font-weight: bold; font-style: italic; margin-bottom: 0.5em; }
@media screen and (max-width: 767px) { .stance_block .sb_ttl .inner > div .sub { font-size: 2rem; } }
.stance_block .sb_ttl .inner > div h2 { position: relative; z-index: 15; font-size: 6rem; letter-spacing: 0.08em; font-weight: bold; font-style: italic; line-height: 1.33; }
@media screen and (max-width: 1400px) { .stance_block .sb_ttl .inner > div h2 { font-size: 4.5rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .stance_block .sb_ttl .inner > div h2 { font-size: 4rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_ttl .inner > div h2 { font-size: 2.5rem; } }
.stance_block .sb_ttl .inner > div h2 strong { color: #e3ebf0; font-style: italic; font-weight: bold; -webkit-text-stroke: 1px #000; text-stroke: 1px #000; }
.stance_block .sb_content { position: relative; top: 0; left: 0; z-index: 20; margin-top: -6rem; }
.stance_block .sb_content.sb1_content .flex { display: flex; justify-content: space-between; align-items: flex-end; }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex { display: block; } }
.stance_block .sb_content.sb1_content .flex > figure { width: 50%; }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > figure { width: 100%; margin-bottom: 5vw; } }
.stance_block .sb_content.sb1_content .flex > figure img { width: 100%; height: auto; }
.stance_block .sb_content.sb1_content .flex > div { width: 43.66%; }
@media screen and (max-width: 1300px) { .stance_block .sb_content.sb1_content .flex > div { width: 45%; } }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > div { width: 100%; } }
.stance_block .sb_content.sb1_content .flex > div dl:first-child { margin-bottom: 4rem; padding-bottom: 2rem; border-bottom: 1px solid #000; }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > div dl:first-child { margin-bottom: 1rem; padding-bottom: 1rem; } }
.stance_block .sb_content.sb1_content .flex > div dl dt { font-size: 2.21rem; font-weight: bold; letter-spacing: 0.1em; }
@media screen and (max-width: 1300px) { .stance_block .sb_content.sb1_content .flex > div dl dt { font-size: 2vw; } }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > div dl dt { font-size: 1.5rem; margin-bottom: 3vw; } }
.stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) { line-height: 1.3; display: flex; justify-content: space-between; align-items: baseline; }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) { justify-content: flex-end; } }
.stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) strong, .stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) span { font-weight: bold; }
.stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) strong { font-size: 7.1rem; letter-spacing: 0.03em; font-style: italic; }
@media screen and (max-width: 1300px) { .stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) strong { font-size: 8vw; } }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) strong { font-size: 4rem; margin-right: 1rem; } }
.stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) span { font-size: 3.5rem; letter-spacing: 0.08em; }
@media screen and (max-width: 1300px) { .stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) span { font-size: 4vw; } }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > div dl dd p:not(.chosa) span { font-size: 2rem; } }
.stance_block .sb_content.sb1_content .flex > div dl dd .chosa { margin-top: 1rem; font-size: 2.85rem; border: solid 2px #000000; letter-spacing: 0.1em; padding: 0.1em 1.2em; text-align: center; font-weight: bold; }
@media screen and (max-width: 1300px) { .stance_block .sb_content.sb1_content .flex > div dl dd .chosa { font-size: 2.15rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb1_content .flex > div dl dd .chosa { font-size: 1.42rem; } }
.stance_block .sb_content.sb1_content .flex > div > p { font-size: 1.07rem; letter-spacing: 0.1em; text-align: right; margin-top: 2rem; }
.stance_block .sb_content .sb_slider { margin-top: 10rem; }
@media screen and (max-width: 1300px) { .stance_block .sb_content .sb_slider { padding: 0 2.5rem; margin-top: 7rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider { padding: 0; margin-top: 5vw; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item { padding: 0 0.5vw; } }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item { padding: 0 1vw; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item .cate { position: relative; z-index: 10; transform: translateY(50%) translateX(3.21rem); }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item .cate { transform: translateY(50%) translateX(5vw); } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item .cate h3 { padding: 0.1em 3em; display: inline-block; transform: skewX(-10deg); border: solid 2px #000000; background: #FFF; }
.stance_block .sb_content .sb_slider .SB-SLIDER .item .cate h3 span { display: block; font-weight: bold; font-size: 2.15rem; letter-spacing: 0.2em; transform: skewX(10deg); }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item .cate h3 span { font-size: 1.42rem; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) { border: 1px solid #000; padding: 3.21rem; display: flex; justify-content: space-between; align-items: flex-end; height: 100%; background: #fff; }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) { padding: 8vw 5vw 5vw; display: block; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div { width: 49%; }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div { width: 100%; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .head p { font-size: 1.58rem; font-weight: bold; }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .head p { font-size: 1.25rem; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .head h4 { font-size: 2.85rem; font-weight: bold; letter-spacing: 0.05em; margin-bottom: 1rem; line-height: 1.375; }
@media screen and (max-width: 1300px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .head h4 { font-size: 2.57rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .head h4 { font-size: 2.15rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .head h4 { font-size: 1.85rem; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div > p { font-size: 1.58rem; letter-spacing: 0.1em; line-height: 2.045; }
@media screen and (max-width: 1300px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div > p { font-size: 1.15rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div > p { font-size: 1.15rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div > p { font-size: 1.15rem; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block { background: #edf2f4; text-align: center; display: flex; justify-content: center; align-items: baseline; padding: 2rem 0; margin-top: 1rem; }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block { padding: 3vw 0; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p { font-weight: bold; letter-spacing: 0.1em; line-height: 1; }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.before { font-size: 2.15rem; }
@media screen and (max-width: 1300px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.before { font-size: 1.85rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.before { font-size: 1.58rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.before { font-size: 1.42rem; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.num { font-size: 5.714rem; letter-spacing: 0.05em; font-style: italic; margin: 0 0.1em; }
@media screen and (max-width: 1300px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.num { font-size: 4.5rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.num { font-size: 4.3rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.num { font-size: 3.8rem; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.after { font-size: 2.85rem; }
@media screen and (max-width: 1300px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.after { font-size: 2.57rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.after { font-size: 2rem; } }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > div .gray_block p.after { font-size: 1.8rem; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > figure { width: 45%; }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > figure { width: 100%; margin-top: 5vw; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .item > div:not(.cate) > figure img { width: 100%; height: auto; }
.stance_block .sb_content .sb_slider .SB-SLIDER .vsArwPrev, .stance_block .sb_content .sb_slider .SB-SLIDER .vsArwNext { background: #190045; width: 4.28rem; height: 4.28rem; cursor: pointer; position: absolute; top: calc(50% + 2rem); z-index: 20; }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .vsArwPrev, .stance_block .sb_content .sb_slider .SB-SLIDER .vsArwNext { top: 50%; } }
.stance_block .sb_content .sb_slider .SB-SLIDER .vsArwPrev:before, .stance_block .sb_content .sb_slider .SB-SLIDER .vsArwNext:before { content: ""; display: block; border-top: 1px solid #FFF; border-right: 1px solid #FFF; width: 1rem; height: 1rem; position: absolute; top: 50%; left: 50%; }
.stance_block .sb_content .sb_slider .SB-SLIDER .vsArwPrev:hover, .stance_block .sb_content .sb_slider .SB-SLIDER .vsArwNext:hover { opacity: 0.8; }
.stance_block .sb_content .sb_slider .SB-SLIDER .vsArwPrev { right: 100%; transform: translateY(-50%) translateX(0.8rem); }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .vsArwPrev { transform: scale(0.8) translateX(90%); } }
.stance_block .sb_content .sb_slider .SB-SLIDER .vsArwPrev:before { transform: translate(-30%, -50%) rotate(-135deg); }
.stance_block .sb_content .sb_slider .SB-SLIDER .vsArwNext { left: 100%; transform: translateY(-50%) translateX(-0.8rem); }
@media screen and (max-width: 767px) { .stance_block .sb_content .sb_slider .SB-SLIDER .vsArwNext { transform: scale(0.8) translateX(-90%); } }
.stance_block .sb_content .sb_slider .SB-SLIDER .vsArwNext:before { transform: translate(-70%, -50%) rotate(45deg); }
.stance_block .sb_content.sb2_content .inner > figure { margin-bottom: 3rem; }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb2_content .inner > figure { margin-bottom: 5vw; } }
.stance_block .sb_content.sb2_content .inner > figure img { width: 100%; height: auto; }
.stance_block .sb_content.sb2_content .inner > ul { display: flex; justify-content: space-between; flex-wrap: wrap; width: 87.3%; margin: 0 auto; }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb2_content .inner > ul { width: 100%; } }
.stance_block .sb_content.sb2_content .inner > ul li { padding: 0.1em 0; display: block; background: #e3ebf0; transform: skewX(-10deg); width: 48.5%; margin-top: 2rem; text-align: center; }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb2_content .inner > ul li { margin-top: 3vw; } }
.stance_block .sb_content.sb2_content .inner > ul li:nth-child(-n+2) { margin-top: 0; }
.stance_block .sb_content.sb2_content .inner > ul li span { display: block; font-weight: bold; color: #190045; font-size: 2.5rem; letter-spacing: 0.1em; transform: skewX(10deg); }
@media screen and (max-width: 767px) { .stance_block .sb_content.sb2_content .inner > ul li span { font-size: 1.25rem; } }
.stance_block .sb_content.sb2_content .sb_slider .SB-SLIDER .item > div:not(.cate) { align-items: center; }

#stance_shutsudou { background: #f5faff; text-align: center; padding: 10rem 3rem 14.28rem; margin-top: -3rem; position: relative; }
@media screen and (max-width: 767px) { #stance_shutsudou { padding: 15vw 7vw; } }
#stance_shutsudou:after { content: ""; display: block; width: 1px; height: 9rem; background: #000; position: absolute; top: 100%; left: 50%; transform: translate(-50%, -50%); }
@media screen and (max-width: 767px) { #stance_shutsudou:after { height: 5rem; } }
#stance_shutsudou .frame { width: 100%; max-width: 785px; margin: 0 auto; font-size: 2.5rem; font-weight: bold; position: relative; padding: 2rem 0; color: #1b0045; letter-spacing: 0.1em; line-height: 1.57; }
@media screen and (max-width: 1400px) { #stance_shutsudou .frame { font-size: 2rem; } }
@media screen and (max-width: 767px) { #stance_shutsudou .frame { font-size: 1.4rem; } }
#stance_shutsudou .frame:before, #stance_shutsudou .frame:after { content: ""; display: block; position: absolute; width: 5.21rem; height: 5.21rem; }
@media screen and (max-width: 767px) { #stance_shutsudou .frame:before, #stance_shutsudou .frame:after { width: 2rem; height: 2rem; } }
#stance_shutsudou .frame:before { top: 0; left: 0; border-top: 1px solid #000; border-left: 1px solid #000; }
#stance_shutsudou .frame:after { right: 0; bottom: 0; border-right: 1px solid #000; border-bottom: 1px solid #000; }
#stance_shutsudou .sub { margin-top: 3rem; font-size: 2.5rem; letter-spacing: 0.1em; line-height: 1.5; font-style: italic; font-weight: bold; }
@media screen and (max-width: 1400px) { #stance_shutsudou .sub { font-size: 2rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_shutsudou .sub { font-size: 1.8rem; } }
@media screen and (max-width: 767px) { #stance_shutsudou .sub { font-size: 1.4rem; } }
#stance_shutsudou .main { font-size: 5.14rem; font-style: italic; font-weight: bold; }
@media screen and (max-width: 1400px) { #stance_shutsudou .main { font-size: 3.8rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_shutsudou .main { font-size: 3.2rem; } }
@media screen and (max-width: 767px) { #stance_shutsudou .main { font-size: 2.8rem; line-height: 1.35; margin-top: 2rem; } }

#stance_omoi { text-align: center; padding: 12.5rem 0 18.57rem; }
@media screen and (max-width: 767px) { #stance_omoi { padding: 15vw 0 20vw; } }
#stance_omoi h3 { line-height: 1.2; }
#stance_omoi h3 span { display: inline-block; font-weight: bold; color: #1b0045; letter-spacing: 0.1em; padding: 0.1rem 1.5rem; }
#stance_omoi h3 span:first-child { font-size: 3.928rem; margin-bottom: 1.2rem; }
@media screen and (max-width: 767px) { #stance_omoi h3 span:first-child { font-size: 2.2rem; margin-bottom: 0.7rem; } }
#stance_omoi h3 span:last-child { font-size: 5rem; }
@media screen and (max-width: 767px) { #stance_omoi h3 span:last-child { font-size: 3rem; } }
#stance_omoi p { font-size: 1.8rem; letter-spacing: 0.1em; line-height: 2.68; font-weight: bold; margin-top: 5rem; }
@media screen and (max-width: 767px) { #stance_omoi p { margin-top: 10vw; font-size: 1.25rem; padding: 0 7vw; line-height: 2.5; } }

#stance_sekai { position: relative; background-color: #f5faff; background-image: url(../images/stance/stance_bottom_bg.png); background-position: 60% -10%; background-repeat: no-repeat; background-size: 80%; padding: 25vw 0 11.57rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_sekai { padding-bottom: 8rem; } }
@media screen and (max-width: 767px) { #stance_sekai { padding-bottom: 15vw; background-position: center top; background-size: 130%; } }
#stance_sekai h2 { position: absolute; top: -0.7em; left: 0; line-height: 1.375; font-size: 9.5vw; font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho",'Noto Serif JP', serif; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_sekai h2 { font-size: 9.8vw; } }
@media screen and (max-width: 767px) { #stance_sekai h2 { font-size: 9.6vw; } }
#stance_sekai > div { display: flex; justify-content: space-between; align-items: center; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_sekai > div { align-items: stretch; } }
@media screen and (max-width: 767px) { #stance_sekai > div { display: block; } }
#stance_sekai > div > figure { width: 47.33%; }
@media screen and (max-width: 767px) { #stance_sekai > div > figure { margin-bottom: 5vw; width: 100%; } }
#stance_sekai > div > figure img { width: 100%; height: auto; }
#stance_sekai > div > div { width: 48.33%; }
@media screen and (max-width: 767px) { #stance_sekai > div > div { width: 100%; padding: 0 7vw; } }
#stance_sekai > div > div h3 { font-size: 2.85rem; font-weight: bold; letter-spacing: 0.05em; margin-bottom: 3rem; line-height: 1.375; }
@media screen and (max-width: 1300px) { #stance_sekai > div > div h3 { font-size: 2.57rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_sekai > div > div h3 { font-size: 2.15rem; margin-bottom: 2rem; } }
@media screen and (max-width: 767px) { #stance_sekai > div > div h3 { font-size: 1.85rem; margin-bottom: 2rem; } }
#stance_sekai > div > div p { font-size: 1.58rem; letter-spacing: 0.1em; line-height: 2.045; width: 90%; max-width: 538px; }
@media screen and (max-width: 1300px) { #stance_sekai > div > div p { font-size: 1.15rem; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { #stance_sekai > div > div p { font-size: 1.15rem; } }
@media screen and (max-width: 767px) { #stance_sekai > div > div p { font-size: 1.15rem; width: 100%; max-width: none; } }

#stance_work { padding: 11rem 0; background-image: url(../images/stance/stance_work_bg.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; }
@media screen and (max-width: 767px) { #stance_work { padding: 15vw 0; } }
#stance_work .btn_border { margin-top: 0; }
#stance_work .btn_border a { border-color: #fff; color: #fff; }
#stance_work .btn_border a:before, #stance_work .btn_border a:after { background: #fff; }

@media all and (-ms-high-contrast: none) { *::-ms-backdrop, .stance_block .sb_ttl .inner > div h2 strong { text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000; font-weight: normal; } }
.page_jobs { max-width: 1000px; margin: 7rem auto; padding: 0 50px; }
@media screen and (max-width: 767px) { .page_jobs { padding: 0 3rem; } }
.page_jobs ._job_post { border-bottom: 1px solid #190045; }
.page_jobs ._job_post:first-child { border-top: 1px solid #190045; }
.page_jobs ._job_post a { text-decoration: none; padding: 2rem 4rem 2rem 2rem; transition: background-color 0.3s; background-color: #FFF; cursor: pointer; background: url(/recruit/assets/images/common/arrow_next.svg) no-repeat right 1rem center; display: flex; align-items: center; justify-content: space-between; }
.page_jobs ._job_post a:hover { background-color: #edf2f4; }
@media screen and (max-width: 767px) { .page_jobs ._job_post a { padding: 2rem 4rem 2rem 0; align-items: flex-start; } }
.page_jobs ._job_post a figure { width: 30%; }
@media screen and (max-width: 767px) { .page_jobs ._job_post a figure { width: 35%; } }
.page_jobs ._job_post a figure img { width: 100%; height: auto; }
.page_jobs ._job_post a ._text_box { flex: 1; }
.page_jobs ._job_post a ._text_box h2 { font-size: 1.8rem; font-weight: bold; color: #190045; letter-spacing: 0.1em; line-height: 1.3em; margin-bottom: 0.7rem; }
.page_jobs ._job_post a ._text_box p { font-size: 1.25rem; line-height: 1.4em; }
.page_jobs ._job_post a ._text_box .--term { background: #190045; color: #FFF; font-weight: bold; display: inline-block; line-height: 1em; padding: 0.5rem 0.8rem; font-size: 1rem; margin-top: 1em; }

.jobs_single ._job_contents { max-width: 1000px; margin: 7rem auto; padding: 0 50px; }
@media screen and (max-width: 767px) { .jobs_single ._job_contents { padding: 0 3rem; } }
.jobs_single ._job_contents .__headline .read_tag { font-size: 1rem; letter-spacing: 0.1em; color: #190045; margin: 0 0 0.5rem; }
.jobs_single ._job_contents .__headline h1 { font-size: 2.35rem; letter-spacing: 0.1em; font-weight: bold; color: #190045; line-height: 1.2em; margin-bottom: 1rem; }
.jobs_single ._job_contents .__headline figure { margin: 1rem 0; }
.jobs_single ._job_contents .__headline figure img { width: 100%; height: auto; }
.jobs_single ._job_contents .__headline .main_description { font-size: 1.72rem; font-weight: bold; letter-spacing: 0.1em; color: #190045; margin-top: 5rem; }
.jobs_single ._job_contents .title_obi { margin-top: 5rem; margin-bottom: 1rem; background: #190045; color: #FFF; font-weight: bold; font-size: 1.25rem; letter-spacing: 0.1em; padding: 0.8rem 1rem; line-height: 1.2em; }
@media screen and (max-width: 767px) { .jobs_single ._job_contents .title_obi { font-size: 1.42rem; } }
.jobs_single ._job_contents p { margin: 1.5rem 0; font-size: 1.25rem; }
.jobs_single ._job_contents dl { margin-top: 25px; display: grid; grid-template-columns: 2fr 8fr; border-top: 1px solid #ccc; }
@media screen and (max-width: 767px) { .jobs_single ._job_contents dl { display: block; } }
.jobs_single ._job_contents dl dt, .jobs_single ._job_contents dl dd { padding: 0.8rem 0; border-bottom: 1px solid #ccc; font-size: 1.25rem; }
@media screen and (max-width: 767px) { .jobs_single ._job_contents dl dt, .jobs_single ._job_contents dl dd { font-size: 1.25rem; } }
.jobs_single ._job_contents dl dt { font-weight: bold; }
@media screen and (max-width: 767px) { .jobs_single ._job_contents dl dt { color: #190045; border-bottom: none; padding-bottom: 0; } }
.jobs_single ._job_contents dl dd { line-height: 1.5em; }
@media screen and (max-width: 767px) { .jobs_single ._job_contents dl dd { padding-top: 0.4rem; } }
.jobs_single ._job_contents .--entry_btn a { display: block; margin: 2rem auto 0; max-width: 400px; background: #190045; font-size: 1.58rem; letter-spacing: 0.2em; color: #FFF; padding: 2rem; text-align: center; line-height: 1em; text-decoration: none; font-weight: bold; transition: background-color 0.3s; }
.jobs_single ._job_contents .--entry_btn a:hover { background: #310b74; }
.jobs_single ._job_contents .__flow > div { background: #f5f5f5; padding: 2rem; }

#footer.entry-no { height: 40vh; }

/*# sourceMappingURL=style.min.css.map */
