@charset "utf-8";
/* =======================================================================================



LOWER



======================================================================================= */
.wrapper { overflow: hidden; }
.low_unit { padding-top: 32px; margin: auto; }
.low_unit > .narrow { max-width: 800px; }
.b_unit { max-width: 1280px; }
.low_unit > .lfv { position: relative; display: flex; overflow: visible; }
.low_unit > .lfv > p { padding-right: 0; }
.panel.lfv { padding-right: 0 !important; }
.low_ttl .vertical_txt { font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem); }
.low_body { max-width: 1200px; width: 100%; margin: auto; padding-top: 24px; }
.low_inner { max-width: 880px; width: 100%; padding: 0 40px; margin-left: auto; }

.sub_ttl { position: absolute; right: 0; bottom: -20px; line-height: 1.2; background-color: rgba(255,255,255,.96); color: #ddd; padding: 0 16px 0 8px; font-size: clamp(1.125rem, -1.648rem + 13.86vw, 8.75rem); }

.normal_ttl { position: relative; }
.nowprinting_ttl { font-weight: 700; color: #888; text-align: center; padding: 80px 0; font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); }
.nowprinting_ttl b { display: block; font-size: 18px; }
.normal_ttl span { font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); }
.normal_ttl:after { display: block; width: 100%; margin: 4px auto 40px; height: 4px; background-color: #cfcfcf; content: ''; }
.normal_box p { line-height: 1.8; margin-bottom: 2em; }
.normal_box { padding-bottom: 40px; }
.normal_link { text-decoration: underline; }
.normal_link:hover { text-decoration: none; }

.lmv_unit { flex: 1; padding-left: 4%; margin-bottom: 20px; }
.lmv_img { text-align: right; }
.lmv_img img { width: calc(100% - 32px); }

.thm_box { justify-content: center; padding-top: 0; }

.yt_box { max-width: 100%; aspect-ratio: 16 / 9; }
.yt_box + .yt_box { margin-top: 40px;}
.yt_box iframe { width: 100%; height: 100%; }

.b_ttl.right { text-align: left; }
@media screen and (min-width: 640px) {
.low_unit > .lfv > p,
.thm_unit > .panel > p { padding-right: 48px; }
.low_body { padding-top: 56px; }
.sub_ttl { right: auto; left: 0; }
}
@media screen and (min-width: 800px) {
.low_body { padding-top: 88px; }
.b_ttl.right { text-align: right; }
.lmv_unit { padding-left: 0; margin-left: 11.5%; margin-right: calc(50% - 50vw); margin-bottom: 40px; }
.lmv_img img { width: 100%; }
.low_inner { padding: 0 32px; }
}
@media screen and (min-width: 960px) {
.low_unit { padding-top: 0; margin-bottom: 88px; }
}

@media screen and (min-width: 1100px) {
.lmv_unit { margin-left: 11.5%; }
.low_inner { padding: 0; margin-right: 72px; }
.yt_box { width: 880px; margin-left: auto; }
}
@media screen and (min-width: 1280px) {
.sub_ttl { left: -2%; }
}
@media screen and (min-width: 1600px) {
.sub_ttl { left: -10%; }
}
/* =======================================================================================



Font Awesome
疑似要素
content: '\〇〇〇〇';
font: var(--fa-font-brands);
font: var(--fa-font-solid);
font: var(--fa-font-regular);
Unicode
HTML SOURCE⇒ value="&#x〇〇〇〇;&#160;"


======================================================================================= */
.tag_box li a:before { font-family: 'Font Awesome 6 Free'; display: inline-block; text-rendering: auto; -webkit-font-smoothing: antialiased; }

.tag_box li a:before { content: '\23'; font-weight: 900; }



/* =======================================================================================



SERVICE



======================================================================================= */
.service_unit { overflow: hidden; }
.service_unit .b_unit { max-width: 1200px; }

.service_unit + .service_unit  { margin-top: 40px; }

.service_box { display: flex; max-width: 1200px; overflow: visible !important; position: relative;  margin: 20px auto 0; padding-bottom: 24px; }
.left .service_box { flex-direction: row-reverse; justify-content: space-between; }


.service_img img {  }
.left .service_img { flex-basis: 72%; text-align: right; }
.left .service_img img { border-radius: 88px 0 0 88px; }

.right .service_img { flex-basis: 72%; }
.right .service_img img { border-radius: 0 88px 88px 0; }

.service_body { position: relative; z-index: 2; padding: 16px 24px; display: flex;  }
.service_ttl { margin: 0 auto; font-size: clamp(1.125rem, 0.898rem + 1.14vw, 1.65rem);  }

.left .low_ttl { padding-right: 2em; }
.right .low_ttl { padding-left: 2em; }
.service_name { margin-bottom: 20px; }
.service_name dt { font-size: 12px; }
.service_name dd { font-size: 18px; }
.service_txt { max-width: 1200px; margin: auto; padding: 0 16px 24px; }
.service_txt h4 { font-size: 16px; margin-bottom: 20px; line-height: 1.8; }

.service_inner.pt2 { width: 84%; }

.service_inner { padding-left: 8%; }

.service_txt h4 br { display: none; }

.thm_unit .low_ttl { padding-top: 2em; padding-right: 1em; }

.thm_foot_txt br { display: none; }

.thm_unit.pt2 { margin-bottom: 40px; }
.thm_unit.pt2 .thm_box ul,
.thm_unit.pt2 .thm_box ol { margin: auto 0; width: 100%; }
.thm_unit.pt2 .thm_box dl:before { background-color: transparent; }
.thm_unit.pt2 .thm_box span dt,
.thm_unit.pt2 .thm_box span dd { background-color: rgba(43, 43, 43, .45); }

.sflow_unit { padding: 16px 16px 64px; background-color: #d5d5d5; border-bottom: 1px solid #efefef; }
.sflow_ttl { font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); margin-bottom: .5em; text-align: center; }
.sflow_txt { margin-bottom: 2em; font-size: 16px; text-align: center; }
.sflow_box { position: relative; list-style: none; display: flex; flex-wrap: wrap; max-width: 920px; margin: auto -16px; padding: 0; }
.sflow_box li { position: relative; display: flex; flex-direction: column; flex-basis: 100%; padding: 0 8px 32px; }
.sflow_box dl { width: 100%; flex-grow: 1; position: relative; max-width: 280px; min-height: 240px; margin: auto; background-image: url("../img/sflow_frame_head.png"), url("../img/sflow_frame_foot.png"), url("../img/sflow_frame_body.png"); background-repeat: no-repeat, no-repeat, repeat-y; background-position: right top, right bottom, right center; background-size: contain; text-align: center; }
.sflow_box dt { padding-top: 32px; background-position: 94% 3px; background-repeat: no-repeat; background-size: 32px; }
.sflow_box li:first-child dt { background-image: url("../svg/sflow01.svg"); } 
.sflow_box li:nth-of-type(2) dt { background-image: url("../svg/sflow02.svg"); }
.sflow_box li:nth-of-type(3) dt { background-image: url("../svg/sflow03.svg"); }
.sflow_box li:nth-of-type(4) dt { background-image: url("../svg/sflow04.svg"); }
.sflow_box li:nth-of-type(5) dt { background-image: url("../svg/sflow05.svg"); }
.sflow_box li:nth-of-type(6) dt { background-image: url("../svg/sflow06.svg"); }
.sflow_box li:nth-of-type(7) dt { background-image: url("../svg/sflow07.svg"); }
.sflow_box li:nth-of-type(8) dt { background-image: url("../svg/sflow08.svg"); }

.sflow_box dt { font-weight: 700; }
.sflow_box dt span { display: block; }
.sflow_box dd { padding: 24px 24px 64px; line-height: 1.8; font-size: 14px; }
.sflow_box dd br { display: none; }

@media screen and (min-width: 520px) {
.sflow_unit { padding-top: 80px; }
.sflow_box { margin: auto; }
.sflow_box dt { padding-top: 48px; }
.sflow_box dd { padding-bottom: 48px; }
}

@media screen and (min-width: 640px) {
.sflow_box li { flex-basis: 50%; }
.sflow_box li:after { z-index: 2; position: absolute; right: -16px; width: 32px; height: 90%; background-image: url("../svg/arrow01.svg"); background-position: center center; background-repeat: no-repeat; background-size: contain; content: ''; }
.sflow_box li:nth-child(even):after { content: none; }
}

@media screen and (min-width: 800px) {
.sflow_box li { flex-basis: calc(100% / 3); padding: 0 18px 32px; }
.sflow_box li:nth-child(even):after { content: ''; }
.sflow_box li:nth-child(3n):after { content: none; }
.sflow_box dl { max-width: 256px; min-height: 320px; }
.sflow_box dd { padding: 24px 16px; font-size: 13px; }
.service_body { flex-basis: 32%; }

.left .service_img { flex-basis: auto; }
.right .service_img { flex-basis: auto; }

.thm_foot_txt br { display: inline; }
}

@media screen and (min-width: 880px) {
.sflow_box dd br { display: inline; }
}

@media screen and (min-width: 1280px) {
.sflow_unit { padding-top: 120px; }
.left .service_img img { border-radius: 200px 0 0 200px; }
.right .service_img img { border-radius: 0 200px 200px 0; }
}



@media screen and (min-width: 640px) {
.thm_unit.pt2 .thm_box ul,
.thm_unit.pt2 .thm_box ol { margin: auto 0; width: 88%; }
.thm_foot_txt { width: 88%; }
}

@media screen and (min-width: 800px) {
.service_unit + .service_unit  { margin-top: 80px; }
.thm_unit.pt2 { margin-bottom: 80px; }
.service_txt h4 br { display: inline; }
.service_name { margin-bottom: 40px; }
.service_txt h4 { margin-bottom: 40px; }
.service_img {  }
.service_img img { width: 100%; }

.thm_unit .low_ttl { padding-top: 4em; padding-right: 2em; }

.service_inner { padding-left: 0; }

.service_body { margin: auto; }

.service_inner { margin: auto; }

.left .service_img { width: 88%; margin-right: calc(50% - 50vw); }

.right .service_img { width: 88%; margin-left: calc(50% - 50vw); }

}

@media screen and (min-width: 1280px) {
.service_txt h4 { line-height: 2; }
.left .service_txt { /*max-width: 100%; padding: 0 32px 24px 30%;*/ }
}
/* =======================================================================================



NEWS



======================================================================================= */
.news_toc_unit .low_body { margin-top: 0;}
.news_list { list-style: none; margin-bottom: 40px; padding: 0; }
.news_list li { border-bottom: 1px solid #000; }
.news_list li:first-child { border-top: 1px solid #000; }
.news_list dl { display: flex; font-size: 16px; padding: 1em 0; }
.news_list dt { padding-right: 10%; }
.news_list dd { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.news_list a:hover dd  { text-decoration: underline; }

.news_ttl { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; }
.news_ttl span { padding-right: 30px; font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); }
.news_ttl time { font-size: 13px; }
.news_ttl:after { display: block; width: 100%; margin: 4px auto 40px; height: 4px; background-color: #cfcfcf; content: ''; }
.news_box p { line-height: 1.8; margin-bottom: 2em; }
.news_box { padding-bottom: 40px; }
.news_box a { text-decoration: underline; }
.news_box a:hover { text-decoration: none; }

.gallery_toc_unit .thm_box.pt2 ul,
.gallery_toc_unit .thm_box.pt2 ol { width: 100%; }
.gallery_toc_unit .thm_box.pt2 dt { font-size: 14px; }
.gallery_toc_unit .thm_box.pt2 dd { font-size: 12px; }
.gallery_toc_unit .thm_box { width: 100%; }
.gallery_toc_unit .thm_box a,
.gallery_toc_unit .thm_box span { background-size: cover; }
.gallery_toc_unit .thm_box .np dl:before { background-color: transparent; }

.tag_unit { position: relative; padding-bottom: 32px; }
.tag_box { list-style: none; padding: 0; }
.tag_box li { display: inline-block; padding: 0 1em 1em 0; }
.tag_box li a { color: #386589; }
.tag_box li a:before { padding-right: .25em; }

.gallery_unit .tag_unit { padding-top: 32px; }
.gallery_unit .tag_unit:before { position: absolute; top:0; left: 0; display: block; content: ''; width: 100%; height: 2px; border-top: 1px solid #ccc; border-bottom: 1px solid #fff; }

@media screen and (min-width: 720px) {
.tag_unit { padding-bottom: 64px; }
}

/* =======================================================================================



GALLERY



======================================================================================= */
.news_box figure img { margin-bottom: 2em; }
.news_box .gallery_lightbox { margin-bottom: 2em; display: flex; flex-wrap: wrap; }
.news_box .gallery_lightbox a { display: block; flex-basis: calc(100% / 3); aspect-ratio: 1 / 1; padding: 2px; }
.news_box .gallery_lightbox img { width: 100%; height: 100%; object-fit: cover; }
.news_box p + .gallery_lightbox { margin-top: -1em; }
@media screen and (min-width: 720px) {
.news_box .gallery_lightbox a { flex-basis: calc(100% / 6); padding: 4px; }
}
/* =======================================================================================



CONTACT



======================================================================================= */
.form_unit {}
.form_unit form > .err { color: red; margin-bottom: 32px; }
.form_box { font-size: 16px; }
.form_box label { display: inline-block; }
.form_box input[type="text"],
.form_box textarea,
.form_box select { border-radius: 8px; }
.form_box input[type="text"] { width: 100%; min-height: 48px; }
.form_box input.short { width: 10em; max-width: 100%; }
.form_box textarea { width: 100%; height: 320px; }
.form_box select {  }
.form_box dd + dt { padding-top: 24px; }
.form_box dd + dd:not(.err_box) { padding-top: 8px; }
.form_box dt { padding-bottom: 8px; line-height: 1; }
.form_box .required_txt { font-weight: 700; display: inline-block; margin-left: 1em; padding: 2px 4px; background-color: #ffe1e1; color: #dc2929; font-size: 11px; line-height: 1; vertical-align: middle;  }
.form_box .err_box { color: red; font-size: 13px; padding-left: 1em; }
.form_box .ppy_box small { display: block; padding-left: 32px; }
.form_unit .btn_box { padding: 34px 0 0; }
.form_unit .btn_box > *:first-child { }
.form_unit .btn_box > *:nth-child(2) { text-align: center; }
.form_unit .btn_box > *:last-child { text-align: right; }
.form_unit .btn_box [class*="_btn"] { width: 200px; max-width: 100%; }
.form_unit .echo_txt { display: block; padding: .5em 0; }
.confirm_box { border-bottom: 1px solid #555; }
.confirm_box dd + dt { border-top: 1px solid #555; }
/* =======================================================================================



RECRUIT



======================================================================================= */
.rec_unit { overflow: hidden; }
.rec_box { overflow: visible !important; position: relative;  margin: 20px auto 0; padding-bottom: 32px; }

.left .rec_img { padding-left: 32px; }
.left .rec_img img { border-radius: 88px 0 0 88px; }

.right .rec_img { padding-right: 32px; }
.right .rec_img img { border-radius: 0 88px 88px 0; }

.rec_body { position: relative; z-index: 2; padding: 16px 24px; display: flex;  }
.rec_ttl { margin-bottom: 1em; font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);  }
.left .low_ttl { padding-right: 2em; }
.right .low_ttl { padding-left: 2em; }
.rec_txt h4 { font-size: 14px; margin-bottom: 20px; }
.rec_inner { padding-left: 40px; }
.rec_inner.pt2 { width: 84%; }

.rec_ttl br { display: none; }

.rec_slide_unit { margin: 10px auto 32px; }
.rec_slick .slick-slide { padding: 4px; }


.rec_unit.yt_unit { margin: 40px auto 0; }

.rec_unit.number_unit { margin: 40px auto 0; background-color: #d8d8d8; padding: 40px 0; }

.number_box ol,
.number_box ul { list-style: none; padding: 0; }
.number_box li { padding: 8px; }
.number_box li img { border-radius: 16px; }

@media screen and (min-width: 680px) {
.number_box ol,
.number_box ul { display: flex; flex-wrap: wrap; }
.number_box li { width: 50%; }
}

@media screen and (min-width: 800px) {
.rec_box { display: flex; max-width: 1200px; }
.rec_ttl {  }
.rec_ttl br { display: inline; }
.rec_txt h4 { margin-bottom: 40px; }
.rec_img {  }
.rec_img img { width: 100%; }

.rec_body { flex-basis: 48%; }
.rec_body.pt2 { flex-basis: 100%; }
.rec_inner { margin: auto; }
.rec_inner.pt2 { margin: 0 0 0 auto;  }
.rec_txt { }

.left .rec_img { order: 99; flex: 1; margin-right: calc(50% - 50vw); }

.right .rec_img { flex: 1; margin-left: calc(50% - 50vw); margin-right: 4%; }

.rec_unit.number_unit { padding: 80px 0; }
.number_box li { padding: 12px; }
}

@media screen and (min-width: 1024px) {
.rec_inner.pt2 {  }
}
@media screen and (min-width: 1200px) {
.rec_txt {}
}


.talk_unit { padding-top: 64px; }
.talk_ttl { margin-bottom: 1em; font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); text-align: center; }
.talk_ttl small { display: block; font-size: 14px; }

.talk_ttl2 { margin-bottom: 1em; font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem); }
.talk_ttl3 { position: relative; margin-bottom: 1em; padding-left: 2em; font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem); }
.talk_ttl3:before { position: absolute; top: .75em; left: 0; width: 24px; height: 1px; background-color: #000; content: ''; }
.talk_img { margin-bottom: 20px; }
.talk_img img { border-radius: 40px; }
.talk_txt1 { margin-bottom: 1em; }
.talk_txt2 { display: flex; flex-wrap: wrap; margin-bottom: 1em; }
.talk_txt2 > *:nth-child(odd) { flex-basis: 3.5em; padding-bottom: .5em; }
.talk_txt2 > *:nth-child(even) { flex-basis: calc(100% - 3.5em); padding-bottom: .5em;  }


p + .talk_img { margin-top: 20px; }

.talk_toc_unit { margin: 40px auto; }
.talk_toc_box { margin: 20px 0 0; }
.talk_toc_box .low_ttl { margin-left: auto; }
.talk_toc_txt { display: flex; }
.talk_toc_ttl { display: block; margin-bottom: 1em; font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); }
.talk_toc_inner { position: relative;
    z-index: 2;
    padding: 16px 24px 16px 64px;
    display: flex;
    justify-content: center;
    align-items: center;
}


.talk_toc_imgs ul,
.talk_toc_imga ol { list-style: none; padding: 0; display: flex; }
.talk_toc_imgs li { padding: 0 8px 16px; text-align: center; }
.talk_toc_imgs li .thm_interview { display: block; width: 100%; margin-bottom: 8px; border-radius: 8px; }
.talk_toc_imgs li .thm_interview_arrow { vertical-align: baseline; padding-left: 5px; }

@media screen and (min-width: 800px) {
.talk_unit { padding-top: 120px; }
.talk_img { margin-bottom: 40px; }
.talk_img img { border-radius: 80px; }
p + .talk_img { margin-top: 40px; }
.talk_toc_unit { margin: 80px auto; }
.talk_toc_box { display: flex; margin: 40px 0 0; }
.talk_toc_imgs { flex-basis: 50%; }
.talk_toc_txt { flex-basis: 50%; flex-direction: row-reverse; }
.talk_toc_inner { margin: auto; width: 72%; padding-left: 24px; }
}



.job_desc_unit { margin-bottom: 0; }

.job_desc_unit .rflow_unit { margin-top: 40px; }
.job_desc_unit .rflow_unit .panel { max-width: 860px; }
.rflow_unit { padding: 16px 16px 64px; background-color: #d5d5d5; border-bottom: 1px solid #efefef; }
.rflow_ttl { font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); margin-bottom: 2em; text-align: center; }
.rflow_txt { margin-bottom: 2em; font-size: 16px; text-align: center; }
.rflow_txt2 { margin: 1.5em auto 0; max-width: 860px; font-size: 14px; text-align: left; }
.rflow_box { position: relative; list-style: none; display: flex; flex-wrap: wrap; max-width: 920px; margin: auto -16px; padding: 0; }
.rflow_box li { position: relative; display: flex; flex-direction: column; flex-basis: 100%; padding: 0 8px 32px; }
.rflow_box dl { width: 100%; flex-grow: 1; position: relative; max-width: 280px; min-height: 240px; margin: auto; background-image: url("../img/sflow_frame_head.png"), url("../img/sflow_frame_foot.png"), url("../img/sflow_frame_body.png"); background-repeat: no-repeat, no-repeat, repeat-y; background-position: right top, right bottom, right center; background-size: contain; text-align: center; }
.rflow_box dt { padding-top: 32px; background-position: 94% 3px; background-repeat: no-repeat; background-size: 32px; }
.rflow_box li:first-child dt { background-image: url("../svg/sflow01.svg"); } 
.rflow_box li:nth-of-type(2) dt { background-image: url("../svg/sflow02.svg"); }
.rflow_box li:nth-of-type(3) dt { background-image: url("../svg/sflow03.svg"); }
.rflow_box li:nth-of-type(4) dt { background-image: url("../svg/sflow04.svg"); }
.rflow_box li:nth-of-type(5) dt { background-image: url("../svg/sflow05.svg"); }
.rflow_box li:nth-of-type(6) dt { background-image: url("../svg/sflow06.svg"); }
.rflow_box li:nth-of-type(7) dt { background-image: url("../svg/sflow07.svg"); }
.rflow_box li:nth-of-type(8) dt { background-image: url("../svg/sflow08.svg"); }

.rflow_box dt { font-weight: 700; }
.rflow_box dt span { display: block; }
.rflow_box dd { padding: 24px 24px 64px; line-height: 1.8; font-size: 14px; }
.rflow_box dd br { display: none; }

@media screen and (min-width: 520px) {
.rflow_unit { padding-top: 80px; }
.rflow_box { margin: auto; }
.rflow_box dt { padding-top: 48px; }
.rflow_box dd { padding-bottom: 48px; }
}

@media screen and (min-width: 640px) {
.rflow_box li { flex-basis: 50%; }
.rflow_box li:after { z-index: 2; position: absolute; right: -16px; width: 32px; height: 90%; background-image: url("../svg/arrow01.svg"); background-position: center center; background-repeat: no-repeat; background-size: contain; content: ''; }
.rflow_box li:last-child:after,
.rflow_box li:nth-child(even):after { content: none; }
}

@media screen and (min-width: 800px) {
.job_desc_unit .rflow_unit { margin-top: 80px; }
.rflow_box li { flex-basis: calc(100% / 3); padding: 0 18px 32px; }
.rflow_box li:nth-child(even):after { content: ''; }
.rflow_box li:nth-child(3n):after { content: none; }
.rflow_box dl { max-width: 256px; min-height: 320px; }
.rflow_box dd { padding: 24px 16px; font-size: 13px; }
}

@media screen and (min-width: 880px) {
.rflow_box dd br { display: inline; }
}

@media screen and (min-width: 1280px) {
.rflow_unit { padding-top: 64px; }
}


/* =======================================================================================



STAFF



======================================================================================= */
.staff_unit { overflow: hidden; }
.staff_unit:last-child { margin-bottom: 40px; }
.staff_group { overflow: visible !important; position: relative;  margin: 20px auto 0; padding-bottom: 32px; }

.left .staff_img { padding-left: 16px; }
.left .staff_img img { border-radius: 44px 0 0 44px; }

.right .staff_img { padding-right: 16px; }
.right .staff_img img { border-radius: 0 44px 44px 0; }

.staff_box { position: relative; z-index: 2; padding: 16px 24px; display: flex;  }
.staff_ttl { margin-bottom: 2em; font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);  }
.staff_ttl.cacco { text-indent: -.5em; padding-left: .5em; }
.staff_group2 .staff_ttl { margin-bottom: .5em; }
.left .low_ttl { padding-right: 2em; }
.right .low_ttl { padding-left: 2em; }
.staff_name { margin-bottom: 10px; }
.staff_name em { font-style: normal; }
.staff_name > *:first-child { font-size: 12px; }
.staff_name > *:last-child { font-size: 18px; line-height: 1.3/* 調整 */; }
.staff_txt h3 { font-size: 14px; margin-bottom: 20px; }
.staff_inner.pt2 { width: 84%; }

.staff_inner { padding-left: 8%; }

.staff_ttl br { display: none; }

.staff_unit2 { padding-top: 40px; }
.staff_unit3 { padding-bottom: 40px; }
.staff_group2 { list-style: none; padding: 0; display: flex; flex-wrap: wrap; }
.staff_group2 > * { flex-basis: 50%; padding: 0 8px 40px; }
.staff_group2 dt .staff_name { padding-left: 12px; }
.staff_box2 { height: 100%; }
.staff_box2,
.staff_img2 img { border-radius: 56px 0 0 0;}
.staff_img2 img { margin-bottom: 20px; }
.staff_txt { line-height: 1.8; }

.staff_box2.pt2 { border-top: 1px solid #231815; border-left: 1px solid #231815;}
.staff_box2.pt2 dt { padding: 24px 16px 0 24px; }
.staff_box2.pt2 dd { padding: 10px 16px 0 24px; }

.staff_box2b { display: flex; flex-direction: column; }
.staff_box2b > .staff_ttl { min-height: 3em; }

@media screen and (min-width: 640px) {
.left .staff_img { padding-left: 32px; }
.left .staff_img img { border-radius: 88px 0 0 88px; }
.right .staff_img { padding-right: 32px; }
.right .staff_img img { border-radius: 0 88px 88px 0; }

.staff_name  { display: flex; align-items: flex-end; }
.staff_name > *:first-child { padding-right: 1em; }
.staff_name > *:last-child { white-space: nowrap; }

.staff_group2 > * { padding: 0 16px 40px; }
.staff_group2 dt .staff_name { justify-content: flex-end; padding-left: 0; }


}

@media screen and (min-width: 800px) {
.staff_unit:last-child { margin-bottom: 80px; }

.staff_group { display: flex; max-width: 1200px;  }
.staff_name {  }
.staff_txt h3 { margin-bottom: 40px; }
.staff_img {  }
.staff_img img { width: 100%; }

.staff_inner { padding-left: 0; }

.staff_box { flex-basis: 48%; }
.staff_box.pt2 { flex-basis: 100%; }
.staff_inner { margin: auto; }
.staff_inner.pt2 { margin: 0 0 0 auto; }

.left .staff_img { order: 99; flex: 1; margin-right: calc(50% - 50vw); }
.right .staff_img { flex: 1; margin-left: calc(50% - 50vw); margin-right: 4%; }

.staff_unit2 { padding-top: 80px; }
.staff_unit3 { padding-bottom: 80px; }

.staff_img2 img { margin-bottom: 40px; }
.staff_group2 > * { flex-basis: calc(100% / 3); }



}

@media screen and (min-width: 960px) {
.staff_box2,
.staff_img2 img { border-radius: 88px 0 0 0;}
.staff_box2.pt2 dt { padding: 40px 16px 0 40px; }
.staff_box2.pt2 dd { padding: 20px 16px 0 40px; }
}

@media screen and (min-width: 1080px) {
.staff_box2.pt2 dt { padding: 72px 24px 0 56px; }
.staff_box2.pt2 dd { padding-right: 16px; padding-left: 64px; }
.staff_txt2.lot { font-size: 16px; }
.staff_unit3 .staff_box2.pt2 dt { padding: 56px 24px 0 56px; }
.staff_unit3 .staff_box2.pt2 dd { padding-right: 16px; padding-left: 56px; }
.staff_group2 > * { padding: 0 32px 56px; }
.staff_ttl br { display: inline; }
}

/* =======================================================================================



RELATIONSHIP



======================================================================================= */
.rela_unit { padding-top: 64px;}
.rela_ttl_box { text-align: center; }
.rela_ttl { display: inline-block; margin: auto; font-size: 16px; border-bottom: 2px solid #000; }

.rela1_unit,
.rela2_unit,
.rela3_unit,
.rela4_unit { display: flex; justify-content: space-between; max-width: 1200px; margin: auto; }

.rela1_unit,
.rela2_unit,
.rela3_unit,
.rela4_unit,
.rela1_dl,
.rela3_dl { padding: 24px; }

.rela1_dl.mbl,
.rela3_dl.mbl { display: block; }
.rela1_dl.oth,
.rela3_dl.oth { display: none; }

.rela_wrapper { overflow: hidden; background-position: top center; background-repeat: no-repeat; background-size: cover; }
.rela_wrapper1 { background-image: url("../img/rela_bg01.png"); }
.rela_wrapper2 { background-image: url("../img/rela_bg02.png"); }

.rela1_unit { padding-top: 64px; padding-bottom: 0; }
.rela1_dl.mbl { padding-top: 0; }
.rela1_box {}

.rela1_box,
.rela3_box { position: relative; }

.rela1_box1 {
width: 65%;
flex: 1;
margin-left: calc(50% - 50vw);
margin-right: 4%;
}
.rela1_img {}

.rela1_img img { border-radius: 0 80px 0 0; }

.rela1_img img,
.rela2_img img,
.rela3_img img,
.rela4_img img { width: 100%; }

.rela1_box2 { width: 35%; margin: -40px -12px 0 0; display: flex; align-items: flex-end; }

.rela_corner {  }
.rela_corner1 { }

.rela_maru { position: absolute; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #d8d8d8; font-weight: 700; text-align: center; font-size: 13px; }
.rela_corner1 .rela_maru1 { right: 0; }
.rela_corner1 .rela_maru2 { right: 64px; top: 48px; }
.rela_maru1 { top: 0; width: 100px; height: 100px; background-color: #d8d8d8; }
.rela_maru2 { width: 120px; height: 120px; background-color: #fff; }

.rela_corner2 {}
.rela_corner2 .rela_maru1 { left: 0; }
.rela_corner2 .rela_maru2 { left: 64px; top: 48px; }

.rela1_dl { }
.rela1_dt,
.rela2_dt,
.rela3_dt,
.rela4_dt { padding-top: 10px; margin-bottom: 8px; font-weight: 700; }
.rela1_dd { }

.rela2_unit,
.rela4_unit { display: flex; justify-content: space-between; margin: auto; }

.rela2_unit { flex-direction: row-reverse; }

.rela2_box,
.rela4_box { width: 48%; }
.rela2_box1 {}
.rela2_img,
.rela4_img { overflow: hidden; height: 138px; border-radius: 0 80px 0 0; }
.rela2_img img,
.rela4_img img { object-fit: cover; height: 100%; }
.rela2_img1 {}

.rela2_box2 {}
.rela2_dl {}
.rela2_dt { }
.rela2_dd {}
.rela2_img2 {}

.rela_slider .slick-slide { padding: 4px; }
.rela_slider .slick-slide img { min-width: 120px; max-width: 120px; width: 100%; }
.rela_slider1 { padding: 24px 0 40px; }
.rela_slide_slick {}
.rela_slide_slick1 {}
.rela_slide_box {}
.rela_slide_box1 {}

.rela_wrapper2 { padding-top: 32px;}

.rela3_unit { flex-direction: row-reverse; padding-bottom: 0; }
.rela3_box {}
.rela3_box1 {
width: 65%;
flex: 1;
margin-right: calc(50% - 50vw);
margin-left: 4%;
}
.rela3_img {}
.rela3_img1 {}
.rela3_img1 img { border-radius: 0 0 0 80px;}

.rela3_box2 { width: 35%; margin: -40px 0 0 -12px; display: flex; align-items: flex-end; }


.rela3_dl { padding-top: 0; }
.rela3_dt {}
.rela3_dd {}

.rela4_unit {  }
.rela4_box {}
.rela4_box1 { max-width: 394px; }
.rela4_box2 { max-width: 412px; }

.rela4_img {}
.rela4_img1 {}

.rela4_dl {}
.rela4_dl1 {}
.rela4_dl2 {}
.rela4_dt {}
.rela4_dt1 {}
.rela4_dt2 {}
.rela4_dd {}
.rela4_dd1 {}
.rela4_dd2 {}
 
.rela4_box2 {}

.rela4_img {}
.rela4_img2 {}

.rela_slider2 { padding-bottom: 40px; }
.rela_slide_slick2 {}
.rela_slide_box2 {}


@media screen and (min-width: 800px) {
.rela1_dl.mbl,
.rela3_dl.mbl { display: none; }
.rela1_dl.oth,
.rela3_dl.oth { display: block; }

.rela_unit { padding-top: 100px;}

.rela1_unit,
.rela2_unit,
.rela3_unit,
.rela4_unit,
.rela1_dl,
.rela3_dl { padding: 40px; }

.rela1_dl { padding-top: 180px; padding-bottom: 0; }
.rela3_dl { padding-top: 240px; padding-bottom: 0; }

.rela1_dl { padding-left: 0; }
.rela3_dl { padding-right: 0; }

.rela1_unit { padding-bottom: 24px; }
.rela2_unit { padding-top: 0; }
.rela1_box2 { padding-top: 0; }
.rela1_dt,
.rela2_dt,
.rela3_dt,
.rela4_dt { padding-top: 16px; font-size: 18px; margin-bottom: 1em; }

.rela1_box1,
.rela3_box1 { width: 48%; }
.rela1_box2,
.rela3_box2 { width: 48%; }


.rela2_box1 { width: 32%; }
.rela2_box2 { width: 68%; padding: 48px 0 0 0; display: flex; align-items: flex-end; }
.rela2_dl { padding-left: 2em; }
.rela2_dl2 { width: 52%; padding-left: 1em; }
.rela2_img,
.rela4_img { height: auto; }
.rela2_img img,
.rela4_img img { object-fit: cover; height: auto; }
.rela2_img2 { max-width: 300px; width: 48%;}

.rela_slider .slick-slide img { min-width: 240px; max-width: 240px; }


.rela_slider2 { padding-bottom: 80px; }

}


@media screen and (min-width: 1080px) {
.rela_maru { font-size: 14px; }
.rela_maru1 { width: 140px; height: 140px; }
.rela_maru2 { width: 168px; height: 168px; }
.rela_corner1 .rela_maru2 { right: 96px; }
.rela_corner2 .rela_maru2 { left: 96px; }
.rela1_dd {padding-bottom: 80px; }
.rela4_unit { padding-left: 80px; align-items: flex-end; }
}

@media screen and (min-width: 1800px) {
.rela1_dd {padding-bottom: 0; }
.rela1_box2 { align-items: center; }
}

