@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#111111;}
a:visited{text-decoration:none; color:#111111;}
a:hover{text-decoration:none; color:#111111;}
a:active{text-decoration:none; color:#111111;}

/* Global keyboard focus visibility */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus {
	outline: 3px solid #3366cc;
	outline-offset: 3px;
	box-shadow: 0 0 0 2px #fff;
}

:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 3px solid #3366cc;
	outline-offset: 3px;
	box-shadow: 0 0 0 2px #fff;
}

:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}

.slick-slide:focus,
.slick-slide:focus-visible { outline: 3px solid #3366cc !important; outline-offset: 3px; }

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: initial; overflow-x: clip; }
.container-fluid { max-width: 1230px; }

body { min-width: 1200px; font-size: 16px; line-height: 1.75; letter-spacing: .1em; color: #111111; background-color: #fff; font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 400; font-style: normal; }
header { position: fixed; left: 0; top: 0; width: 100%; z-index: 100; background: #fff; padding: 0 30px; transition: .3s; box-shadow: 0px 8px 8px 0px rgba(17, 17, 17, 0.15); }
html { scroll-padding-top: 120px; }
header .logo img { height: 45px; }
header .wrap { display: flex; justify-content: space-between; align-items: center; }
header .gnav ul { display: flex; align-items: center; }
header .gnav ul li { position: relative; }
header .gnav ul li a { margin: 0 14px; padding: 36px 0; display: block; position: relative; transition: .3s; }
header .gnav ul li a:hover { color: #3366cc; }
header .gnav ul li.drop > a { margin: 0 30px 0 14px; }
header .gnav ul li.drop > a::before { content: ""; width: 8px; height: 8px; border-top: 1px solid #111111; border-right: 1px solid #111111; transform: rotate(135deg); position: absolute; top: 0; bottom: 0; right: -13px; margin: auto 0; transition: .3s; }
header .gnav ul li.drop > a:hover::before { border-color: #3366cc; }
header .gnav ul li.drop .submenu { width: 290px; background-color: #fff; box-shadow: 0px 0px 5px 0px rgba(109, 109, 109, 0.5); border-radius: 10px; list-style: none; opacity: 0; display: block; position: absolute; top: 80%; left: 50%; transform: translateX(-50%); visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; z-index: 10; }
header .gnav ul li.drop:hover > a { color: #3366cc; }
header .gnav ul li.drop:hover > a::before { border-color: #3366cc; }
header .gnav ul li.drop:hover .submenu { opacity: 1; visibility: visible; }
header .gnav ul li.drop:focus-within > a { color: #3366cc; }
header .gnav ul li.drop:focus-within > a::before { border-color: #3366cc; }
header .gnav ul li.drop:focus-within .submenu { opacity: 1; visibility: visible; }
header .gnav ul li.drop .submenu li.submenu-top-link { display: none; }
header .gnav ul li.drop .submenu li a { font-size: 16px; margin: 0; padding: 20px; color: #111111; border-bottom: 1px solid #111111; text-align: center; display: block; }
header .gnav ul li.drop .submenu li:last-child a { border-bottom: none; }
header .gnav ul li.drop .submenu li a:hover { color: #3366cc; }
header .gnav ul li.request a { color: #3366cc; background-color: #fff; border: 1px solid #3366cc; border-radius: 5px; padding: 2px 30px; display: flex; align-items: center; justify-content: center; text-align: center; }
header .gnav ul li.request a:hover { color: #fff; background-color: #3366cc; border-color: #3366cc; }
header .menu-trg-area { position: fixed; top: 10px; right: 15px; margin: auto; display: none; width: 40px; height: 40px; border-radius: 3px; cursor: pointer;}
header .menu-trg-area:focus-visible { outline: 3px solid #3366cc; outline-offset: 2px; }
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 13px; width: 28px; height: 14px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #3366cc;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 6px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -14px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -14px;}
footer { background-color: #3366cc; }
.contact-block { padding: 40px 0 60px; margin-bottom: 60px; }
.contact-wrap { padding: 70px; background-color: rgba(255, 255, 255, 0.9); border-radius: 20px; }
.contact-wrap .sec-ttl .jp { font-size: 32px; font-weight: bold; }
.contact-wrap .sec-ttl .en { font-size: 18px; } 
.contact-wrap .contact-flex { display: flex; align-items: center; justify-content: space-between; }
.contact-wrap .contact-link-wrap { width: 380px; }
.contact-wrap .contact-link { width: 100%; padding: 20px 50px; border: 1px solid #3366cc; border-radius: 40px; display: flex; align-items: center; justify-content: center; position: relative; transition: .3s; }
.contact-wrap .contact-link:hover { background-color: #3366cc; }
.contact-wrap .contact-link img { transition: .3s; }
.contact-wrap .contact-link:hover img { filter: brightness(100); }
.contact-wrap .contact-link .icon { display: flex; align-items: center; position: absolute; top: 0; bottom: 0; left: 50px; margin: auto 0; }
.contact-wrap .contact-link .ttl { font-size: 18px; font-weight: bold; letter-spacing: .05em; color: #3366cc; transition: .3s; }
.contact-wrap .contact-link:hover .ttl { color: #fff; }
.contact-wrap .contact-link .arrow { display: flex; align-items: center; position: absolute; top: 0; bottom: 0; right: 20px; margin: auto 0; }
.contact-wrap .phone-block a { display: flex; align-items: baseline; gap: 10px; }
.contact-wrap .phone-block a .ttl { font-size: 31px; font-weight: bold; letter-spacing: .05em; color: #3366cc; }
.contact-wrap .phone-block p { font-size: 14px; }
.footer-wrap { display: flex; }
.footer-wrap .left { width: 325px; margin-right: 80px; }
.footer-wrap .left .logo img { width: 280px; }
.footer-wrap .left p { color: #fff; }
.footer-wrap .left a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.5); transition: .3s; }
.footer-wrap .left a:hover { opacity: .7; }
.footer-wrap .right { width: calc(100% - 405px); display: flex; }
.footer-wrap .right ul li { margin-bottom: 15px; }
.footer-wrap .right ul li:last-child { margin-bottom: 0; }
.footer-wrap .right ul li a { color: #fff; transition: .3s; }
.footer-wrap .right ul li a:hover { opacity: .7; }
.footer_list_wrap { display: flex; }
.footer_list.first { width: 250px; margin-right: 90px; }
.footer_list.second { width: 110px; }
.footer_list li { width: 100%; }
.footer_list .sublist { margin-top: 20px; }
.footer_list .sublist.recruit-sublist { margin-top: 10px; }
.footer_list .sublist li a { font-size: 14px; padding-left: 12px; display: block; position: relative; }
.footer_list .sublist li a::before { content: ""; width: 6px; height: 6px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); position: absolute; top: 10px; left: 0; }
.footer_list .sublist li.solution-gap-tight { margin-bottom: 8px; }
.footer_list .sublist li.solution-child { margin-left: 14px; }
.footer_list .sublist.recruit-sublist li.solution-child { margin-left: 0; }
.footer_list .sublist li.solution-child a { padding-left: 20px; }
.footer_list .sublist li.solution-child a::before { width: 10px; height: 1px; border: none; background-color: #fff; transform: none; top: 50%; left: 0; margin-top: -1px; }
.footer_list .sublist li.payment-child { margin-left: 14px; }
.footer_list .sublist li.payment-child a { padding-left: 20px; }
.footer_list .sublist li.payment-child a::before { width: 10px; height: 1px; border: none; background-color: #fff; transform: none; top: 50%; left: 0; margin-top: -1px; }
.footer_other { margin-left: auto; }
.footer_bottom { padding: 30px 0; border-top: 1px solid #fff; }
.footer_bottom .footer_sns { display: flex; align-items: center; gap: 20px; }
.footer_bottom .footer_sns a { transition: .3s; }
.footer_bottom .footer_sns a:hover { opacity: .7; }
.copyright { font-size: 14px; letter-spacing: .05em; color: #fff; }
.page-top { position: fixed; right: 20px; bottom: 20px; }
.page-top a { width: 50px; height: 50px; border-radius: 50%; border: 1px solid #fff; background-color: #3366cc; display: block; position: relative; transition: .3s; }
.page-top a:hover { background-color: #fff; border-color: #3366cc; }
.page-top a::before { content: ""; width: 13px; height: 13px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(-45deg); position: absolute; top: 22px; right: 0; left: 0; margin: 0 auto; transition: .3s; }
.page-top a:hover::before { border-color: #3366cc; }

/* common */
.mv_base { opacity: 0; transition: 1s; transform: translate(0, 20px); -webkit-transform: translate(0, 20px); }
.mv { opacity: 1; transform: translate(0, 0); -webkit-transform: translate(0, 0); }
.sec-ttl .jp { font-size: 24px; font-weight: bold; }
.sec-ttl .en { font-size: 12px; color: #3366cc; }
.link-btn { width: 180px; padding: 10px; border: 1px solid #3366cc; border-radius: 30px; display: block; transition: .3s; position: relative; }
.link-btn img { position: absolute; top: 0; bottom: 0; left: 20px; margin: auto 0; transition: .3s; }
.link-btn .text { letter-spacing: .05em; color: #3366cc; margin-left: 20px; text-align: center; }
.link-btn:hover { background-color: #3366cc; }
.link-btn:hover img { filter: brightness(100); }
.link-btn:hover .text { color: #fff; }
.sec-hero { height: 500px; margin-top: 100px; position: relative; }
.sec-hero::before { content: ""; width: 100%; height: 160px; background-image: linear-gradient(0deg, rgba(17, 17, 17, 0.7), rgba(255, 255, 255, 0)); position: absolute; bottom: 0; left: 0; }
.hero_ttl { padding-top: 350px; position: relative; z-index: 1; }
.hero_ttl .jp { font-size: 40px; font-weight: bold; color: #fff; }
.hero_ttl .en { font-size: 20px; font-weight: bold; color: #fff; }
.bread_list { display: flex; align-items: center; }
.bread_list li { margin-right: 25px; position: relative; }
.bread_list li::before { content: ""; width: 7px; height: 7px; border-top: 1px solid #111111; border-right: 1px solid #111111; transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: -12px; margin: auto 0; }
.bread_list li:last-child { margin-right: 0; }
.bread_list li:last-child::before { content: none; }
.bread_list li a { font-size: 14px; display: block; }
.bread_list li:last-child a { color: #565656; pointer-events: none; }
.page-navi { margin: 0 -5px; display: flex; align-items: center; justify-content: center; }
.page-navi li { margin: 0 5px; }
.page-navi li a { width: 30px; height: 30px; letter-spacing: 0; color: #fff; background-color: #3366cc; border: 1px solid #3366cc; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; transition: .3s; }
.page-navi li a:hover { color: #3366cc; background-color: #fff; }
.page-navi li a.arrow { width: 20px; background-color: initial; border: initial; position: relative; }
.page-navi li a.arrow:hover { color: initial; background-color: initial; }
.page-navi li a.arrow::before { content: ""; width: 8px; height: 8px; border-top: 2px solid #3366cc; border-right: 2px solid #3366cc; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
.page-navi li a.arrow.prev::before { transform: rotate(-135deg); }
.page-navi li a.arrow.next::before { transform: rotate(45deg); }

.home-fv { margin-top: 100px; }
.fv_slider .bg { height: calc(100vh - 100px); }
.fv_ttl { display: flex; flex-direction: column; justify-content: center; position: absolute; top: 0; bottom: 0; right: 3%; margin: auto 0; margin-top: 100px; }
.fv_ttl h1 { font-size: 45px; font-weight: bold; color: #fff; text-shadow: 0px 0px 10px rgba(17, 17, 17, 0.5); margin-bottom: 30px; }
.home-story { position: relative; }
.home-story::before { content: ""; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.9); position: absolute; top: 0; left: 0; }
.story_flex { display: flex; }
.story_parallax { width: 52%; padding-top: 110px; padding-right: 110px; position: relative; }
.story_parallax .parallax { width: 75vw; height: 790px; background: 0; float: right; border-top-right-radius: 20px; overflow: hidden; position: relative; overflow: hidden; }
.story_parallax .parallax .bg { width: 100%; height: 120%; background-repeat: no-repeat; background-size: cover; background-position: 40% bottom; position: absolute; left: 0; top: 0; display: block; transition: top 0.2s ease-out; }
.story_text { width: 48%; position: relative; z-index: 0; display: flex; flex-direction: column; justify-content: center; }
.story_text .ttl { font-size: 36px; font-weight: bold; letter-spacing: .15em; color: #3366cc; }
.story_text p { font-size: 18px; line-height: 2; }
.home-business { padding: 120px 0 110px; position: relative; }
.home-business::before { content: ""; height: 100%; background-color: rgba(51, 102, 204, 0.1); position: absolute; top: 0; left: 0; right: 0; clip-path: polygon(0 0, 74% 0, 21% 100%, 0 100%); z-index: -1; pointer-events: none; }
.sticky-wrapper { display: flex; align-items: flex-start; gap: 130px; }
.sticky-wrapper .link-btn { background-color: #fff; }
.sticky-wrapper .link-btn:hover { background-color: #3366cc; }
.sticky-side { width: 375px; position: sticky; top: 120px; flex-shrink: 0; } 
.sticky-content { flex-grow: 1; }
.business-list li { display: flex; align-items: start; gap: 80px; }
.business-list li .num { font-size: 14px; line-height: 1; letter-spacing: 0; color: #939393; position: relative; }
.business-list li .num::before { content: ""; width: 20px; height: 1px; background-color: #939393; position: absolute; top: 0; left: 30px; }
.business-list li .content { padding-top: 80px; padding-bottom: 80px; border-bottom: 1px solid #939393; }
.business-list li:first-child .content { padding-top: 0; }
.business-list li:last-child .content { padding-bottom: 0; border-bottom: none; }
.business-list li .content .left { width: 45%; margin-right: 15px; }
.business-list li .content .right { width: 55%; margin-left: 15px; }
.business-images { width: 100%; border-radius: 20px; overflow: hidden; }
.business-images img { width: 100%; height: auto; display: block; }
.business-wrap .ttl { display: flex;  align-items: baseline; gap: 20px; }
.business-wrap .ttl > div { font-size: 20px; font-weight: bold; }
.business-wrap .link-btn { font-size: 14px; padding: 2px 10px; }
.business-wrap .link-btn img { width: 9px; }
.case-wrapper { display: flex; }
.case-fixed { width: 400px; padding: 100px 0 150px; border-top-right-radius: 20px; border-bottom-right-radius: 20px; background-image: linear-gradient(-45deg, #4ba3cc 23%, #3366cc); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.case-fixed .sec-ttl .jp { font-size: 40px; color: #fff; }
.case-fixed .sec-ttl .en { font-size: 25px; color: #fff; }
.case-fixed .link-btn { border-color: #111111; background-color: #fff; }
.case-fixed .link-btn:hover { background-color: #3366cc; }
.case-fixed .link-btn:hover .text { color: #fff; }
.case-content { width: calc(100% - 400px); margin-left: 50px; overflow: hidden; }
.case_slider { margin: 0 -15px; }
.case_card { width: 410px; max-height: 500px; margin: 0 15px; border-radius: 20px; overflow: hidden; display: block; transition: .3s; }
.case_card:focus-visible { outline: 3px solid #3366cc; outline-offset: 2px; }
.case_card .bg_wrap { padding-top: 50%; overflow: hidden; position: relative; }
.case_card .bg_wrap .bg { width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: .3s; }
.case_card:hover .bg_wrap .bg { transform: scale(1.08) }
.case_card .text { padding: 20px; border: 1px solid #969696; border-top: none; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
.case_card .text .cat { font-size: 14px; letter-spacing: .025em; color: #d32f2f; padding: 0 10px; margin-bottom: 10px; border: 1px solid #d32f2f; border-radius: 5px; display: inline-block; }
.case_card .text .name { font-size: 23px; font-weight: bold; line-height: 1; margin-bottom: 10px; }
.case_card .text p { letter-spacing: .046em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.home-case .case_card .text .name { line-height: 1.25; min-height: 2.5em; margin-bottom: 2px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.home-case .case_card .text p { line-height: 1.6; min-height: 3.2em; margin: 0; }
.home-case .case_card .text p.placeholder { visibility: hidden; }
.case-nav-ui { margin-top: -40px; display: flex; justify-content: flex-end; gap: 15px; }
.case-nav-ui .slick-prev, 
.case-nav-ui .slick-next { width: 40px; height: 40px; border-radius: 50%; background-color: #3366cc; border: 1px solid #fff; position: relative; top: initial; left: initial; right: initial; bottom: initial; transform: initial; transition: .3s; }
.case-nav-ui .slick-prev:hover, 
.case-nav-ui .slick-next:hover { background-color: #fff; border-color: #3366cc; }
.case-nav-ui .slick-prev:before, 
.case-nav-ui .slick-next:before { content: ""; width: 11px; height: 11px; border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; top: 50%; transition: .3s; }
.case-nav-ui .slick-prev:hover::before, 
.case-nav-ui .slick-next:hover::before { border-color: #3366cc; }
.case-nav-ui .slick-prev::before { transform: rotate(-135deg); }
.case-nav-ui .slick-next::before { transform: rotate(45deg); }
.case-nav-ui .slick-prev::before { left: 55%; transform: translate(-50%, -50%) rotate(-135deg); }
.case-nav-ui .slick-next::before { left: 45%; transform: translate(-50%, -50%) rotate(45deg); }
.home-support { padding: 120px 0; overflow: hidden; }
.loop_support { width: 100%; overflow: hidden; }
.support_track { display: flex; align-items: center; gap: 20px; width: max-content; animation: scrollLeft 100s linear infinite; }
.support_track a { flex-shrink: 0; display: block; }
.support_track a img { height: 50px; width: auto; display: block; }
@keyframes scrollLeft { 0% { transform: translateX(0); } 100% { transform: translateX(calc(-50% - 10px)); } }
.home-company { padding-bottom: 140px; position: relative; }
.home-company::before { content: ""; width: 63%; height: 410px; background-color: rgba(51, 102, 204, 0.1); position: absolute; top: 105px; right: 0; }
.company_wrap { border-radius: 20px; overflow: hidden; }
.home-recruit { height: 800px; padding: 150px 0; position: relative; overflow: hidden; background-image: url(../images/top_recruit_bg.jpg); background-size: cover; background-position: center; }
.home-recruit .sec-ttl .jp { font-size: 35px; }
.home-recruit .sec-ttl .en { font-size: 18px; }
.recruit-ttl { font-size: 25px; font-weight: bold; letter-spacing: .15em; }
.vertical-wrap.left { position: absolute; top: 0; right: 47%; }
.vertical-wrap.left .vertical-slider { width: 220px; height: 100%; }
.vertical-wrap.left .vertical-track { display: flex; flex-direction: column; animation: scrollUp 60s linear infinite; }
.vertical-wrap.left .vertical-track img { width: 100%; margin-bottom: 30px; border-radius: 10px; overflow: hidden; height: auto; display: block; object-fit: cover; }
@keyframes scrollUp { 0% { transform: translateY(0); } 100% { transform: translateY(-50%); } }
.vertical-wrap.right { position: absolute; top: 0; right: 15px; }
.vertical-wrap.right .vertical-slider { width: 220px; height: 100%; }
.vertical-wrap.right .vertical-track { display: flex; flex-direction: column; animation: scrollDown 60s linear infinite; }
.vertical-wrap.right .vertical-track img { width: 100%; margin-bottom: 30px; border-radius: 10px; overflow: hidden; height: auto; display: block; object-fit: cover; }
@keyframes scrollDown { 0% { transform: translateY(-50%); } 100% { transform: translateY(0); } }
.interview-wrap { height: 350px; padding: 100px; border-radius: 20px; display: block; overflow: hidden; position: relative; transition: .3s; }
.interview-wrap .bg { height: 100%; position: absolute; top: 0; left: 0; transition: .3s; }
.interview-wrap:hover .bg { transform: scale(1.05); }
.interview-wrap::before { content: ""; width: 100%; height: 100%; background-image: linear-gradient(90deg, rgba(51, 102, 204, 0.6), transparent 70%); position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; z-index: 1; }
.interview-wrap .sec-ttl { position: relative; z-index: 1; }
.interview-wrap .sec-ttl .jp { font-size: 36px; color: #fff; }
.interview-wrap .sec-ttl .en { font-size: 20px; color: #fff; }
.interview-wrap .link-btn { background-color: #fff; position: relative; z-index: 1; }
.interview-wrap:hover .link-btn { color: #3366cc; background-color: #3366cc; border-color: #fff; }
.interview-wrap:hover .link-btn img { filter: brightness(100); }
.interview-wrap:hover .text { color: #fff; }
.news-tab { display: flex; }
.news-tab li { margin-right: 10px; }
.news-tab li:last-child { margin-right: 0; }
.news-tab li a { font-size: 18px; font-weight: 500; color: #3366cc; background-color: #fff; padding: 10px 35px; border: 1px solid #3366cc; border-bottom: none; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; display: block; transition: .3s; }
.news-tab li a:hover,
.news-tab li a.is-active { color: #fff; background-color: #3366cc; }
.news-list { padding: 30px 35px; border: 1px solid #3366cc; border-top-left-radius: 0; border-top-right-radius: 20px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
.news-list li { border-bottom: 1px solid rgba(51, 102, 204, 0.5); }
.news-list li a { padding: 10px 0; display: flex; align-items: center; transition: .3s; }
.news-list li a:hover { opacity: .7; }
.news-list li a .date { width: 83px; font-weight: 500; margin-right: 20px; }
.news-list li a .cat { min-width: 68px; font-size: 12px; font-weight: bold; line-height: 1; color: #fff; background-color: #3366cc; margin-right: 20px; padding: 8px; border-radius: 3px; display: flex; align-items: center; justify-content: center; }
.news-list li a .text { font-weight: 500; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;  }
.business-block { padding: 60px 0 80px; position: relative; }
.business-block::before { content: ""; width: 100vw; height: 100%; background-color: rgba(51, 102, 204, 0.1); border-top-left-radius: 50px; border-bottom-left-radius: 50px; position: absolute; top: 0; left: 10%; }
.business-menu-list { margin-bottom: 70px; padding-bottom: 50px; border-bottom: 1px solid #939393; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 30px 40px; }
.business-menu-list li { width: auto; }
.business-menu-list li .link-btn { width: 100%; }
.sec-business .business-menu-list li .link-btn { padding: 10px 30px 10px 30px; background-color: rgba(51, 102, 204, 0.1); border: none; }
.sec-business .business-menu-list li .link-btn:hover { opacity: .7; }
.sec-business .business-menu-list li .link-btn .text { color: #111111 !important; }
.sec-business .business-menu-list li .link-btn:hover img { filter: initial; }
.sec-business .business-menu-list li .link-btn.no-link { cursor: default; pointer-events: none; }
.business-images-wrap { position: relative; }
.business-images-wrap .bg { width: 45vw; float: right; border-bottom-right-radius: 20px; border-top-right-radius: 20px; overflow: hidden; height: 650px; }
.business-menu li { width: 100%; margin-bottom: 15px; padding: 30px 10px 30px 60px; background-color: #fff; border: 1px solid #3366cc; border-radius: 10px; display: flex; align-items: center; }
.business-menu li:last-child { margin-bottom: 0; }
.business-menu li a { transition: .3s; }
.business-menu li a:hover { opacity: .7; }
.business-menu li .menu-ttl-wrap { width: 240px; }
.business-menu li .menu-ttl-wrap .ttl { font-size: 18px; font-weight: bold; }
.business-menu li .menu-detail-wrap { width: calc(100% - 240px); border-left: 1px solid #3366cc; }
.business-menu li .menu-detail-wrap .ttl { color: #3366cc; padding-left: 30px; padding-right: 40px; position: relative; }
.business-menu li .menu-detail-wrap .ttl::before { content: ""; width: 8px; height: 8px; border-top: 1px solid #3366cc; border-right: 1px solid #3366cc; transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: 0; margin: auto 0; }
.sub-menu-list { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 20px; }
.sub-menu-list li { width: auto; }
.sub-menu-list li a { letter-spacing: .05em; color: #3366cc; background-color: #fff; border: 1px solid #3366cc; border-radius: 30px; padding: 10px 30px; display: block; transition: .3s; }
.sub-menu-list li a:hover { background-color: #3366cc; color: #fff; }
.sub-menu-list li a.no-link { cursor: default; pointer-events: none; transition: none; }
.sub-menu-list li a.no-link:hover { background-color: #fff; color: #3366cc; }
.downlord-area .ttl { font-size: 18px; font-weight: bold; }
.business-block.reverse .business-images-wrap .bg { float: left; border-bottom-right-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 20px; border-top-left-radius: 20px; }
.business-block.reverse::before { border-top-left-radius: 0; border-bottom-left-radius: 0; border-top-right-radius: 50px; border-bottom-right-radius: 50px; left: initial; right: 10%; }
.business-block:nth-of-type(3) .business-images-wrap .bg { height: 380px; }
.business-block:nth-of-type(4) .business-images-wrap .bg { height: 380px; }
.business-block:nth-of-type(5) .business-images-wrap .bg { height: 380px; }
.business_parallax { width: 100vw; height: 500px; background: 0; border-top-left-radius: 20px; border-bottom-left-radius: 20px; position: relative; overflow-y: hidden; overflow-x: visible; }
.business_parallax .bg { width: 100vw; height: 130%; background-repeat: no-repeat; background-size: cover; position: absolute;  top: 0; left: 0; display: block; pointer-events: none; z-index: -1; transition: transform 0.2s ease-out }
.business-title-wrap .ttl { font-size: 30px; font-weight: bold; }
.business-title-wrap p { font-size: 20px; line-height: 2; padding-bottom: 40px; border-bottom: 3px solid #3366cc; }
.system-wrap { padding: 70px 0 80px; border-bottom: 1px solid #939393; }
.system-wrap:last-child { border-bottom: none; }
.system-list { margin-bottom: 30px; }
.system-list li { padding-left: 15px; position: relative; }
.system-list li::before { content: ""; width: 10px; height: 10px; background-color: #003e7e; border-radius: 50%; position: absolute; top: 11px; left: 0; }
.system-list li span { font-size: 12px; }
.inquiry-wrap { width: 700px; padding: 20px; border-radius: 90px; background-color: #3366cc; margin: 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: .3s; }
.inquiry-wrap:hover { opacity: .7; }
.inquiry-wrap .text { font-size: 21px; font-weight: bold; color: #fff; margin-bottom: 20px; }
.inquiry-wrap .phone { display: flex; align-items: center; justify-content: center; gap: 15px; }
.inquiry-wrap .phone .ttl { font-size: 40px; font-weight: bold; line-height: 1; color: #fff; }
.business_blue { padding: 80px 0; background-color: rgba(51, 102, 204, 0.1); }
.business_inner { background-color: #fff; padding: 80px; border-radius: 30px; }
.business_servise { padding: 50px 0; border-bottom: 1px solid #939393; }
.business_servise:first-child { padding-top: 0; }
.business_servise:last-child { border-bottom: none; padding-bottom: 0; }
.merit_card { display: flex; flex-direction: column; height: 100%; background-color: #fff; border-radius: 20px; }
.merit_card .bg { height: 180px; border-top-left-radius: 20px; border-top-right-radius: 20px; }
.merit_card .text { padding: 25px 20px 30px; box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.4); border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; flex-grow: 1; }
.merit_card h3 { font-weight: bold; color: #3366cc; padding-bottom: 15px; margin-bottom: 20px; position: relative; }
.merit_card h3::before { content: ""; width: 40px; height: 3px; background-color: #3366cc; position: absolute; bottom: 0; left: 0; }
.merit_card p { font-size: 16px; }
.merit_card .link-btn { width: 100%; padding: 5px; background-color: #3366cc; color: #fff; text-align: center; }
.merit_card .link-btn .icon img { position: absolute; top: 0; bottom: 0; left: 20px; margin: auto 0; transition: opacity .3s; }
.merit_card .link-btn .icon .icon-blue { opacity: 0; }
.merit_card .link-btn:hover .icon-white { opacity: 0; }
.merit_card .link-btn:hover .icon-blue { opacity: 1 !important; }
.merit_card .link-btn:hover { background-color: #fff; color: #3366cc; }
.merit_card .link-btn:hover img { filter: initial; }
.servise_list li { margin-bottom: 50px; }
.servise_list li:last-child { margin-bottom: 0; }
.servise_list li .title { margin-bottom: 30px; display: flex; align-items: center; gap: 20px; }
.servise_list li .title .num { width: 25px; height: 25px; color: #fff; font-weight: bold; font-size: 14px; line-height: 1; letter-spacing: 0; text-indent: 0; background-color: #3366cc; border-radius: 50%; display: grid; place-items: center; text-align: center; }
.servise_list li .title .num > span { display: block; transform: translateY(-1px); }
.servise_list li .title p { font-size: 12.7px; }
.servise_list li img { height: 145px; margin: 0 auto; display: block; }
.servise_gaiyo_image img { width: min(100%, 1000px); height: auto; margin: 0 auto; display: block; }
.servise_text_list li { margin-bottom: 20px; }
.servise_text_list li:last-child { margin-bottom: 0; }
.servise_text_list li .title { margin-bottom: 0; }
@media (min-width: 768px) {
	.servise_text_list li .title p { font-size: 16px; }
}
.bg-blue { background-color: rgba(51, 102, 204, 0.1); }
.white-card { background-color: #fff; padding: 30px 15px; border-radius: 20px; }
.business2_point_list { max-width: 100%; width: 1000px; margin-left: auto; margin-right: auto; }
.business2_point_list li { padding: 45px 10px; border-bottom: 1px solid #939393; }
.business2_point_list li:last-child { border-bottom: none; }
.business2_point_list .point_ttl { font-size: 14px; color: #3366cc; margin-bottom: 15px; }
.business2_point_list .point_ttl strong { font-size: 26px; font-weight: bold; margin-left: 3px; }
.business2_point_list .point_subttl { font-size: 20px; letter-spacing: .1em; font-weight: 600; margin-bottom: 15px; }
.business2_point_list .point_img img { border-radius: 1em; }
.business2_to_icons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 30px; }
.business2_to_icons .txt { font-weight: bold; font-size: 26px; padding-top: 10px; }
.business2_to_icons .icon { text-align: center; }
.site-hr { border-top: 1px solid #939393; margin: 35px 0; border-bottom: none; }
.shadow-card-photo { border-radius: 1em 1em 0 0; overflow: hidden; }
.shadow-card-photo img { object-fit: cover; aspect-ratio: 15/9; width: 100%; height: 100%; }
.shadow-card-content { box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); padding: 30px 25px; border-radius: 0 0 1em 1em; background-color: #fff; }
.shadow-card-ttl { font-size: 20px; font-weight: bold; letter-spacing: .1em; margin-bottom: 20px; }
.blue-title { font-weight: bold; color: #3366cc; padding-bottom: 12px; position: relative; margin-bottom: 20px; }
.blue-title:before { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background-color: #3366cc; }
.radius-photo img { border-radius: 1em;}
.case-text { line-height: 2.5; }
.case-wrap { height: 100%; padding-bottom: 30px; border-bottom: 1px solid #939393; display: block; transition: .3s; }
.case-wrap:hover { opacity: .7; }
.case-wrap .bg { margin-bottom: 15px; padding-top: 80%; border-radius: 10px; overflow: hidden; }
.case-wrap .name { color: #444444; margin-bottom: 10px; }
.case-wrap .text { font-size: 18px; font-weight: bold; margin-bottom: 10px; }
.case-wrap .tag-list { display: flex; flex-wrap: wrap; gap: 10px 15px ; }
.case-wrap .tag-list li { font-size: 14px; letter-spacing: .025em; color: #d32f2f; padding: 2px 10px; border-radius: 5px; border: 1px solid #d32f2f; }
.case-single-wrap .ttl { font-size: 36px; font-weight: bold; margin-bottom: 20px; }
.case-single-wrap .tag { letter-spacing: .025em; color: #d32f2f; padding: 2px 10px; border-radius: 5px; border: 1px solid #d32f2f; display: inline-block }
.case-images { border-radius: 20px; overflow: hidden; }
.case-images img { object-fit: cover; }
.case-detail .name { font-size: 22px; font-weight: bold; margin-bottom: 10px; }
.case-detail .url { font-size: 12px; line-height: 1; letter-spacing: .025em; color: #3366cc; border: 1px solid #3366cc; padding: 2px 8px; border-radius: 4px; }
.case-detail .address { line-height: 1; letter-spacing: 0; margin-left: 20px; }
.case-detail .blue_wrap { background-color: rgba(51, 102, 204, 0.1); margin-top: 25px; padding: 40px 40px 25px 40px; border-radius: 15px; }
.case-detail .blue_wrap dl { display: flex; align-items: center; gap: 10px; }
.case-detail .blue_wrap dl dt { width: 120px; font-weight: bold; letter-spacing: 0; color: #3366cc; padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #3366cc; }
.case-detail .blue_wrap dl dd { width: calc(100% - 130px); letter-spacing: 0; padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #fff; }
.faq-list li { margin-bottom: 70px; }
.faq-list li:last-child { margin-bottom: 0; }
.faq-list li .question { font-size: 20px; font-weight: bold; letter-spacing: 0; color: #3366cc; margin-bottom: 20px; display: flex; }
.faq-container { display: flex; flex-wrap: wrap; gap: 50px; align-items: flex-start; }
.faq-text { flex: 1; min-width: 300px; }
.faq-image-wrapper { flex-basis: 440px; max-width: 100%; }
.faq-images { border-radius: 20px; overflow: hidden; }
.faq-images img { width: 100%; height: auto; display: block; }
.sec-news .news-cat li { margin-bottom: 20px; }
.sec-news .news-cat li:last-child { margin-bottom: 0; }
.sec-news .news-cat li a { width: 100%; letter-spacing: .15em; color: #3366cc; padding: 10px; background-color: #fff; border: 1px solid #3366cc; border-radius: 5px; text-align: center; display: block; transition: .3s; }
.sec-news .news-cat li a:hover,
.sec-news .news-cat li a.is-active { color: #fff; border-color: #3366cc; background-color: #3366cc; }
.sec-news .news-list  { padding: 0; border: none; }
.sec-news .news-list li { border-color: #939393; margin-bottom: 20px; }
.sec-news .news-list li:last-child { margin-bottom: 0; }
.sec-news .news-list li a { padding: 0; padding: 20px 0; align-items: center; }
.sec-news .news-list li:first-child a { padding-top: 0; }
.sec-news .news-list li a .date { font-weight: 400; }
.sec-news .news-list li a .cat { min-width: 120px; font-size: 14px; font-weight: 400; padding: 6px; }
.sec-news .news-list li a .text { font-size: 14px; letter-spacing: .15em; font-weight: 400; }
.news-single .news-list { padding: 0; border: none; }
.news-single .news-list li { border-bottom: none; }
.news-single .news-list li a { align-items: center; flex-wrap: wrap; padding: 0; }
.news-single .news-list li a:hover { opacity: initial; }
.news-single .news-list li a .date { font-size: 14px; letter-spacing: .15em; color: #565656; }
.news-single .news-list li a .cat { min-width: 120px; font-size: 14px; padding: 6px; }
.news-single .news-list li a .text { width: 100%; font-size: 36px; font-weight: bold; flex: initial; margin-top: 5px; white-space: initial; }
.news-single .single-images { border-radius: 20px; overflow: hidden; }
.news-single .link-btn { width: 300px; margin: 0 auto; } 
.downlord-wrap { margin-bottom: 90px; }
.downlord-wrap:last-child { margin-bottom: 0; }
.downlord-wrap .main-ttl { font-size: 30px; font-weight: bold; padding-bottom: 30px; margin-bottom: 40px; border-bottom: 5px solid #3366cc; }
.downlord-wrap .sub-ttl { display: flex; align-items: center; gap: 30px; }
.downlord-wrap .sub-ttl div { font-size: 22px; font-weight: bold; }
.sorting-ttl { font-weight: bold; color: #3366cc; padding-bottom: 10px; position: relative; }
.sorting-ttl::before { content: ""; width: 40px; height: 3px; background-color: #3366cc; position: absolute; bottom: 0; left: 0; }
.downlord-link { padding: 10px; background-color: #3366cc; border: 1px solid #3366cc; border-radius: 30px; display: block; position: relative; transition: .3s; }
.downlord-link:hover { background-color: #fff; }
.downlord-link .icon img { position: absolute; top: 0; bottom: 0; left: 20px; margin: auto 0; transition: opacity .3s; }
.downlord-link .icon .icon-blue { opacity: 0; }
.downlord-link:hover .icon-white { opacity: 0; }
.downlord-link:hover .icon-blue { opacity: 1; }
.downlord-link div { letter-spacing: .05em; color: #fff; text-align: center; }
.downlord-link:hover div { color: #3366cc; }
.wide-list { display: flex; flex-wrap: wrap; gap: 20px 10px; }
.wide-list li { width: calc((100% - 90px) / 10); }
.wide-list li a { width: 100%; letter-spacing: 0; color: #3366cc; padding: 12px 9px 12px 19px; border: 1px solid #3366cc; border-radius: 10px; display: block; position: relative; transition: .3s; text-align: center; }
.wide-list li a:hover { color: #fff; background-color: #3366cc; }
.wide-list li a::before { content: ""; width: 5px; height: 20px; background-color: #3366cc; position: absolute; top: 0; bottom: 0; left: 10px; margin: auto 0; transition: .3s; }
.wide-list li a:hover::before { background-color: #fff; }
.privacy-text { letter-spacing: 0; }
.privacy-list li { margin-bottom: 80px; }
.privacy-list li:last-child { margin-bottom: 0; }
.privacy-list li .ttl { font-size: 20px; font-weight: bold; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #939393; }
.privacy-madoguchi { width: 830px; margin: 0 auto; padding: 40px 70px; color: #fff; background-color: #3366cc; border-radius: 25px; }
.privacy-madoguchi .ttl { font-size: 21px; padding-bottom: 20px !important; border-bottom: none !important; text-align: center; }
.privacy-madoguchi .privacy-form-link { color: #fff; text-decoration: underline; text-decoration-color: #fff; text-underline-offset: 2px; }
.policy-ttl { font-size: 30px; font-weight: bold; padding-bottom: 25px; margin-bottom: 50px; border-bottom: 5px solid #3366cc; }
.website-text { letter-spacing: 0; }
.website-list li { margin-bottom: 80px; }
.website-list li:last-child { margin-bottom: 0; }
.website-list li .ttl { font-size: 20px; font-weight: bold; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #939393; }
.google-privacy { font-size: 14px; text-align: center; }
.private-marin-wrap { max-width: 980px; }
.private-marin-title { font-size: 34px; font-weight: bold; text-align: center; margin: 0 0 50px; padding-bottom: 30px; border-bottom: 5px solid #3366cc; }
.private-marin-title-break { display: inline; }
.private-marin-section { margin-bottom: 50px; padding-top: 10px; border-top: none; }
.private-marin-section:last-child { margin-bottom: 0; }
.private-marin-wrap .sub-ttl { display: flex; align-items: center; gap: 30px; }
.private-marin-wrap .sub-ttl div { font-size: 22px; font-weight: bold; }
.private-marin-lead { margin-bottom: 8px; }
.private-marin-lead a { color: #3366cc !important; text-decoration: underline; text-underline-offset: 2px; }
.private-marin-note { margin-bottom: 40px; font-size: 13px; }
.private-marin-step-title { font-size: 16px; font-weight: bold; line-height: 1.6; margin: 0 0 10px; }
.private-marin-image-row { margin-bottom: 50px; }
.private-marin-image-row .private-marin-step-title { text-align: center; }
.private-marin-image-row .private-marin-image { margin-bottom: 0; }
.private-marin-image-row .private-marin-image img { aspect-ratio: 4 / 3; object-fit: contain; }
.private-marin-image { margin: 0 0 50px; }
.private-marin-image:last-child { margin-bottom: 0; }
.private-marin-image img { width: 100%; height: auto; border: 1px solid #e1e1e1; display: block; }
.company-wrapper { display: flex; align-items: flex-start; }
.company-side {	width: 250px; position: sticky;	top: 120px;	flex-shrink: 0;	z-index: 10; }
.company-side ul li { margin-bottom: 20px; }
.company-side ul li a { font-weight: bold; padding-left: 40px; display: block; transition: .3s; position: relative; }
.company-side ul li a:hover { color: #3366cc; }
.company-side ul li a::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background-color: #3366cc; position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; } 
.company-side ul li a.is-active { color: #3366cc; font-size: 1.14em; }
.company-content { width: calc(100% - 250px); flex-grow: 1; border-left: 1px solid #939393; }
.company-content .image-layout-zone { position: relative; display: block; }
.company-content .inner { padding: 0 0 0 40px; margin-bottom: 90px; }
.company-content .inner:last-child { margin-bottom: 0; }
.company-content .text-area { width: 600px; max-width: 100%; margin-right: 20px; }
.company-content .fixed-image { height: 100%; position: absolute; top: 0; left: 660px; right: calc((100vw - 100%) / -2); pointer-events: none; }
.fixed-image .sticky-box { position: sticky; top: 100px; width: 100%; height: 100vh; border-top-left-radius: 0; overflow: hidden; }
.fixed-image .image-box { width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity .5s ease-in-out; }
.fixed-image .image-box img { width: 100%; height: 100%; object-fit: cover; }
.fixed-image .image-box.is-show { opacity: 1; }
.company-content .inner.between { width: 100vw; padding: 0; }
.loop_between { width: 100%; overflow: hidden; }
.between_track { display: flex; width: max-content; animation: scrollbetween 50s linear infinite; will-change: transform; }
.between_set { display: flex; flex-shrink: 0; }
.between_set a { flex-shrink: 0; }
.between_set img { height: 230px; width: auto; display: block; }
@keyframes scrollbetween { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.company-ttl .jp { font-size: 26px; font-weight: bold; line-height: 1; margin-left: -.1em; margin-bottom: 2px; }
.company-ttl .en { font-size: 14px; color: #3366cc; }
.company-catch { font-size: 30px; font-weight: bold; }
.company-dl { display: flex; border-bottom: 1px solid #bababa; }
.company-dl:first-of-type { border-top: 1px solid #bababa; }
.company-dl dt { width: 170px; font-weight: bold; letter-spacing: .15em; padding: 25px 20px; background-color: rgba(147, 147, 147, 0.1); }
.company-dl dd { width: calc(100% - 170px); padding: 25px 20px; } 
.sp-scroll-note { display: none; }
.rinen-list li { display: flex; align-items: center; gap: 40px; padding: 20px; border-bottom: 1px solid #939393; }
.rinen-list li .num { font-size: 20px; font-weight: bold; letter-spacing: .05em; color: #3366cc; }
.rinen-list li p { font-size: 20px; font-weight: bold; }
.history-text { padding-bottom: 40px; border-bottom: 5px solid #3366cc ; }
.history-wrap { position: relative; }
.history-wrap::before { content: ""; width: 150px; height: 100%; background-color:rgba(51, 102, 204, 0.1); position: absolute; top: 0; right: 20px; }
.history-wrap.top::before { height: calc(100% - 180px); top: 0; }
.history-year { display: flex; align-items: center; justify-content: center; gap: 15px; }
.history-year .number { font-size: 36px; font-weight: bold; line-height: 1; display: flex; align-items: end; }
.history-year .number span { font-size: 20px; font-weight: bold; line-height: 1; margin-left: 5px; }
.history-year .bet { font-size: 30px; font-weight: bold; line-height: 1; }
.history-dl { margin-bottom: 20px; border-bottom: 1px solid #939393; display: flex; align-items: flex-start; }
.history-dl dt { width: 110px; font-size: 22px; font-weight: bold; color: #3366cc; }
.history-dl dd { width: calc(100% - 110px); line-height: 2.125; letter-spacing: .05em; padding-left: 20px; position: relative; }
.history-dl dd::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; position: absolute; top: 15px; left: 0; }
.history-img { width: 250px; height: auto; margin-bottom: 40px; }
.history-img:last-child { margin-bottom: 0; }
.history-img:nth-child(even) { margin-left: auto; }
.history-images-inline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 40px; }
.history-images-inline .history-img { width: 100%; margin: 0; }
.history-images-inline .history-img:nth-child(even) { margin-left: 0; }
.history-images-inline .history-img img { width: 100%; height: auto; display: block; }
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.accordion-content.is-open {  max-height: 3000px; }
.accordion-content .history-wrap {  opacity: 0;  transform: translateY(30px);  transition: opacity 0.6s ease, transform 0.6s ease; }
.accordion-content.is-open .history-wrap {  opacity: 1;  transform: translateY(0);  transition-delay: 0.2s; }
.history-toggle-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 450px; padding: 15px; color: #3366cc !important;  border: 1px solid #3366cc; border-radius: 50px; text-decoration: none; transition: all 0.3s; }
.history-toggle-btn:hover { color: #fff !important; }
.history-toggle-btn:hover::before,
.history-toggle-btn:hover::after { background-color: #fff !important; }
.history-toggle-btn::before,
.history-toggle-btn::after { content: ""; position: absolute; right: 25px; top: 50%; width: 20px; height: 2px; background-color: #3366cc; transition: transform .3s ease, opacity .3s ease; }
.history-toggle-btn::before { transform: translateY(-50%); }
.history-toggle-btn::after { transform: translateY(-50%) rotate(90deg); }
.history-toggle-btn.is-active::after { transform: translateY(-50%) rotate(0deg); }
.health-block { width: 700px; margin: 0 auto; padding: 50px 40px; background-color: rgba(147, 147, 147, 0.1); border-radius: 10px; }
.health-block p { font-size: 18px; }
.health-block p.sm { font-size: 16px; }
.group-list { display: flex; flex-wrap: wrap; gap: 30px 60px; }
.group-list li { width: calc((100% - 60px) / 2); border-top: 1px solid #939393; border-bottom: 1px solid #939393; padding: 15px 20px; }
.group-list li .ttl { display: flex; align-items: center; gap: 5px; }
.group-list li dl { display: flex; gap: 15px; }
.group-list li dl dt { font-weight: normal; }
.hero_ttl .jp { margin: 0; }
.recruit-fv { height: 910px; margin-top: 0; position: relative; }
.recruit-page-title { position: absolute; top: 2%; left: 8%; z-index: 10; font-size: 36px; font-weight: bold; color: #fff; line-height: 1.2; letter-spacing: .08em; text-shadow: 0 0 10px rgba(17, 17, 17, 0.45); }
.recruit-main-copy { position: absolute; bottom: 13%; left: 8%; z-index: 10; }
.recruit-move { height: 50px; background-image: linear-gradient(90deg, rgba(186, 30, 1, 0.1) 31%, rgba(255, 255, 255, 0)); position: absolute; }
.recruit-move.move1 { width: 430px; top: 6%; left: 0; }
.recruit-move.move2 { width: 430px; top: 10%; left: 8%; }
.recruit-move.move3 { width: 430px; top: 36%; left: 40%; }
.recruit-move.move4 { width: 430px; top: 39%; left: 48%; }
.recruit-move.move5 { width: 290px; top: 3%; right: 0; }
.recruit-move.move6 { width: 490px; bottom: 10%; left: 4%; }
.recruit-move.move7 { width: 600px; bottom: 23%; right: 0; }
.recruit-move.move8 { width: 565px; bottom: 20%; right: -9%; }
.recruit-loop { width: 100%; padding-top: 100px; overflow: hidden; }
.recruit-loop .track {  width: max-content; display: flex; gap: 40px; animation: loopRecruit 50s linear infinite; will-change: transform; }
.recruit-loop .set { display: flex; gap: 40px; }
.recruit-loop .item { flex-shrink: 0; overflow: hidden; }
.recruit-loop .item img { width: 100%; height: 100%; border-radius: 20px; object-fit: cover; display: block; }
.recruit-loop .item img[src*="recruit_fv1.jpg"] { object-position: 11% center; }
.recruit-loop .item.lg { width: 300px; height: 460px; }
.recruit-loop .item.sm { width: 300px; height: 100%; display: grid; gap: 20px; grid-template-rows: 1fr 1fr; }
@keyframes loopRecruit { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
.recruit-story { padding: 140px 0 130px; position: relative; }
.recruit-story::before { content: ""; width: 100%; height: 100%; background-image: linear-gradient(135deg, rgba(51, 102, 204, 0.85) 22%, rgba(75, 163, 204, 0.85) 80%); position: absolute; top: 0; left: 0; }
.story-loop { width: 50vw; position: absolute; top: 0; right: 0; overflow: hidden; }
.story-loop .track { width: max-content; display: flex; gap: 10px; will-change: transform; animation: loopStory 25s linear infinite; }
.story-loop .set { display: flex; gap: 10px; }
.story-loop .item { flex-shrink: 0; border-radius: 20px; overflow: hidden; }
.story-loop .item img { width: 320px; height: 560px; display: block; object-fit: cover; }
@keyframes loopStory { from { transform: translate3d(-50%, 0, 0); } to { transform: translate3d(0, 0, 0); } }
.recruit-voice .link-btn { width: 300px; margin: 0 auto; }
.story-wrap .ttl { font-size: 22px; font-weight: bold; color: #fff; }
.story-wrap p { color: #fff; }
.story-images { width: 50vw; border-top-left-radius: 20px; border-bottom-left-radius: 20px; overflow: hidden; }
.special-ttl { padding-bottom: 50px; display: flex; align-items: start; gap: 40px; position: relative }
.special-ttl p { margin-top: -5px; }
.special-ttl .lg { font-size: 150px; font-weight: bold; line-height: 100%; letter-spacing: .05em; color: rgba(51, 102, 204, 0.08); position: absolute; bottom: -9px; left: 0; }
.voice-list { display: flex; }
.voice-list li { width: calc(100% / 4); height: 500px; }
.voice-list li a { width: 100%; height: 100%; padding: 30px; display: flex; flex-direction: column; align-items: start; justify-content: end; transition: .3s; }
.voice-list:hover li a { opacity: .5; }
.voice-list li a:hover { opacity: 1; }
.voice-list li a .division-wrap { width: 100%; margin-bottom: 10px; padding: 8px 10px 12px 10px; background-color: #fff; border-radius: 10px; display: flex; align-items: flex-end; justify-content: center;}
.voice-list li a .division-wrap .division { line-height: 1.3125; letter-spacing: 0; margin-right: 10px; }
.voice-list li a .division-wrap .name { font-size: 50px; font-weight: bold; line-height: 1; letter-spacing: 0; margin-right: 5px }
.voice-list li a .division-wrap .san { font-size: 30px; font-weight: bold; line-height: 1; letter-spacing: 0; }
.voice-list li a .join { color: #fff; background-color: #3366cc; padding: 10px 15px; border-radius: 10px; }
.recruit-kankyo .special-ttl { justify-content: end; }
.recruit-kankyo .special-ttl .lg { left: initial; right: 0; }
.kankyo-wrap { padding: 60px 40px; background-color: rgba(51, 102, 204, 0.08); border-radius: 50px; }
.kankyo-inner { padding: 80px 0 60px; background-color: #fff; border-radius: 50px; }
.kankyo-wrapper { display: flex; align-items: flex-start;}
.kankyo-side { width: 250px; position: sticky; top: 140px; flex-shrink: 0; } 
.kankyo-side ul li { margin-bottom: 20px; }
.kankyo-side ul li a { font-weight: bold; padding-left: 40px; display: block; transition: .3s; position: relative; }
.kankyo-side ul li a:hover { color: #3366cc; }
.kankyo-side ul li a::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background-color: #3366cc; position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; } 
.recruit-anchor-nav .anchor-list { display: flex; align-items: center; justify-content: center; gap: 0 40px; }
.recruit-anchor-nav .anchor-list li { width: auto; }
.recruit-anchor-nav .anchor-list li a { font-weight: bold; white-space: nowrap; padding-left: 40px; display: block; position: relative; transition: .3s; }
.recruit-anchor-nav .anchor-list li a:hover { color: #3366cc; }
.recruit-anchor-nav .anchor-list li a::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background-color: #3366cc; position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; }
.kankyo-content { border-left: 1px solid #939393; flex-grow: 1; }
.kankyo-content .inner { padding-left: 45px; }
.kankyo-side ul li a.is-active { color: #3366cc; font-size: 1.14em; }
.kankyo-ttl .jp { font-size: 26px; font-weight: bold; line-height: 1; margin-left: -.1em; margin-bottom: 2px; }
.kankyo-ttl .en { font-size: 14px; color: #3366cc; }
.place-list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.place-list li { width: calc((100% - 40px) / 2); }
.place-list li:nth-child(even) { margin-top: 40px; }
.place-card { padding: 30px 35px 50px 35px; border: 1px solid #939393; border-radius: 10px; }
.place-card .num { font-size: 26px; font-weight: bold; line-height: 1; color: #3366cc; text-indent: .1em; }
.place-card .ttl { font-size: 20px; font-weight: bold; }
.place-images { width: 100%; height: 150px; border-radius: 10px; overflow: hidden; }
.place-images img { width: 100%; height: 100%; object-fit: cover; }
.inner-sub-ttl { display: flex; align-items: center; gap: 30px; }
.inner-sub-ttl div { font-size: 22px; font-weight: bold; }
.health-text { font-size: 18px; font-weight: bold; }
.faq_list li { margin-bottom: 30px; padding: 10px 50px 10px 50px; border: 1px solid #939393; border-radius: 15px; }
.faq_list li:last-child { margin-bottom: 0; }
.faq_list li .text { width: calc(100% - 70px); }
.faq_list li .question { display: flex; align-items: center; justify-content: space-between; position: relative; cursor: pointer; }
.faq_list li .question::before,
.faq_list li .question::after { content: ""; position: absolute; right: 25px; top: 50%; width: 30px; height: 2px; background-color: #939393; transition: transform .3s ease; }
.faq_list li .question::before { transform: translateY(-50%); }
.faq_list li .question::after { transform: translateY(-50%) rotate(90deg); }
.faq_list li .question.active::after { transform: translateY(-50%) rotate(0deg); }
.faq_list li .question .text { font-weight: bold; letter-spacing: .1em; padding: 15px 40px 15px 0; }
.faq_list li .answer { border-top: 1px solid #939393; display: flex; align-items: flex-start; justify-content: space-between; }
.faq_list li .answer .text { padding: 15px 0; }
.leave-policy-text { width: 100% !important; line-height: 1.85; letter-spacing: 0; color: #111111; }
.leave-policy-text,
.leave-policy-text p,
.leave-policy-text li,
.leave-policy-text div { font-size: 14px; }
.leave-policy-lead { font-weight: 700; color: #111111; margin-bottom: 12px; }
.leave-policy-list > li { margin: 0; padding: 12px 0; border: none; border-top: 1px solid #dddddd; border-radius: 0; }
.leave-policy-list > li:first-child { padding-top: 0; border-top: none; }
.leave-policy-head { font-weight: 700; color: #111111; margin-bottom: 5px; }
.leave-policy-sublist { margin-top: 6px; padding-left: 0.9em; }
.leave-policy-sublist li { margin: 0 0 10px; padding: 0; border: none; border-radius: 0; }
.leave-policy-sublist li:last-child { margin-bottom: 0; }
.leave-policy-subhead { font-weight: 700; color: #111111; margin-bottom: 2px; }
.gallery-parent { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(4, 1fr); gap: 30px; }
.gallery-parent > div { border-radius: 15px; overflow: hidden; }
.gallery-parent .div5 { grid-column-start: 1; grid-row-start: 3; }
.gallery-parent .div6 { grid-column: span 2 / span 2; grid-row: span 2 / span 2; grid-column-start: 2; grid-row-start: 2; }
.gallery-parent .div7 { grid-column: span 2 / span 2; grid-row-start: 4; }
.gallery-parent .div8 { grid-column-start: 3; grid-row-start: 4; }
.jobs-dl { display: flex; border-bottom: 1px solid #939393; }
.jobs-dl:first-of-type { border-top: 1px solid #939393; }
.jobs-dl dt { width: 140px; font-weight: bold; letter-spacing: .15em; padding: 15px 30px; background-color: rgba(147, 147, 147, 0.1); }
.jobs-dl dd { width: calc(100% - 140px); padding: 15px 30px; }
.jobs-salary-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 30px; align-items: start; }
.jobs-salary-record { padding-left: 0; border-left: none; }
.jobs-record-date { line-height: 1.4; }
.jobs-salary-record .jobs-record-list li { white-space: nowrap; }
.jobs-results { font-weight: bold; color: #3366cc; padding-bottom: 10px; position: relative; display: inline-block; }
.jobs-results::before { content: ""; width: 100%; height: 3px; background-color: #3366cc; position: absolute; bottom: 0; left: 0; }
.results-list { display: flex; }
.results-list li { line-height: 1.3; padding-right: 20px; margin-right: 20px; border-right: 1px solid #939393; }
.results-list li:last-child { border-right: none; }
.recruit_parallax { height: 500px; background: 0; position: relative; overflow: hidden; }
.recruit_parallax .bg { width: 100%; height: 130%; background-repeat: no-repeat; background-size: cover; position: absolute; left: 0; top: 0; display: block; transition: top 0.2s ease-out; }
.recruit-flow { padding: 120px 0; }
.flow-wrapper { padding: 60px 40px; background-color: rgba(51, 102, 204, 0.08); border-radius: 50px; }
.flow-inner { margin-bottom: 30px; padding: 40px; background-color: #fff; border-radius: 20px; }
.flow-logo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 25px; } 
.recruit-flow .flow-logo > img { width: 100px; height: auto; }
.step-wrap { width: 90px; height: 40px; background-color: #3366cc; border-radius: 5px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.step-wrap .step { line-height: 1; letter-spacing: 0; font-weight: bold; color: #fff; }
.step-wrap .num { font-size: 26px; font-weight: bold; line-height: 1; letter-spacing: 0; color: #fff; }
.flow-text .ttl { font-size: 20px; font-weight: bold; }
.recruit-rikunavi-col { display: flex; justify-content: center; }
.recruit-rikunavi-link { width: min(100%, 340px); padding: 14px 20px; border: 2px solid #3366cc; border-radius: 10px; display: flex; justify-content: center; align-items: center; background-color: #fff; }
.recruit-rikunavi-link img { width: min(100%, 240px); height: auto; display: block; }
.recruit-rikunavi-link-wide { width: min(100%, 420px); padding: 16px 28px; border-radius: 10px; }
.recruit-rikunavi-link-wide img { width: min(100%, 200px); }
.entry-rikunavi-link { width: min(100%, 340px); padding: 14px 20px; border: 2px solid #3366cc; border-radius: 10px; display: flex; justify-content: center; align-items: center; background-color: #fff; margin-left: auto; margin-right: auto; }
.entry-rikunavi-link img { width: min(100%, 240px); height: auto; display: block; }
.recruit-faq .faq_list li .question { font-size: 20px; color: #3366cc; justify-content: initial; }
.recruit-faq .faq_list li .question .q { font-weight: bold; margin-right: 5px; }
.recruit-faq .faq_list li .answer { justify-content: initial; padding-top: 15px; padding-left: 30px; }
.recruit-faq .faq_list li .answer .a { font-size: 20px; font-weight: bold; color: #d32f2f; margin-right: 5px; margin-top: -4px; }
.recruit-faq .faq_list li .answer .text { padding-top: 0; }
.recruit-faq .faq_list li .answer .text a { text-decoration: underline; text-underline-offset: 2px; }
.sec-voice .voice-list { display: flex; flex-wrap: wrap; margin: 0 -50px; }
.sec-voice .voice-list li { width: 50%; padding: 0 50px; margin-bottom: 50px; }
.sec-voice .voice-list li:nth-child(odd) { margin-top: 50px; }
.sec-voice .voice-list:hover li a { opacity: 1; }
.sec-voice .voice-list li a:hover { opacity: 1; }
.sec-voice .voice-list li a { border-radius: 30px; overflow: hidden; position: relative; background-position: center; background-size: cover; }
.sec-voice .voice-list li a::before { content: ""; position: absolute; inset: 0; background-image: inherit; background-repeat: no-repeat; background-position: center; background-size: cover; transition: transform .35s ease; z-index: 0; }
.sec-voice .voice-list li a:hover::before { transform: scale(1.08); }
.sec-voice .voice-list li a > * { position: relative; z-index: 1; }
.sec-voice .voice-list li a .division-wrap { width: auto; padding: 8px 20px 12px 20px; }
.sec-voicesingle { position: relative; }
.sec-voicesingle::before { content: ""; width: 100%; height: 150%; background-color: rgba(51, 102, 204, 0.1); position: absolute; bottom: 0; left: 0; z-index: -1; }
.voicesingle-wrapper { display: flex; align-items: flex-start; gap: 50px; }
.voicesingle-side { width: 400px; height: min(68vh, 580px); border-radius: 25px; overflow: hidden; position: sticky; top: 100px; flex-shrink: 0; } 
.voicesingle-side img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.voicesingle-content { flex-grow: 1; }
.message-wrap { padding: 50px 50px 20px 50px; background-color: #fff; border-radius: 50px; position: relative; z-index: 1; }
.message-wrap .ttl { font-size: 30px; font-weight: bold; }
.message-wrap .division-wrapper { padding: 50px 0; border-top: 1px solid #939393; border-bottom: 1px solid #939393; display: flex; align-items: center; gap: 30px; }
.message-wrap .division-wrapper .join { font-size: 14px; color: #fff; background-color: #3366cc; padding: 8px 15px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.message-wrap .division-wrap { display: flex; align-items: flex-end; }
.message-wrap .division-wrap .division { line-height: 1.3125; margin-right: 20px; }
.message-wrap .division-wrap .name { font-size: 50px; font-weight: bold; line-height: 1; letter-spacing: 0; margin-right: 10px; }
.message-wrap .division-wrap .san { font-size: 30px; font-weight: bold; line-height: 1.3; letter-spacing: 0; }
.exchange-wrap { margin-top: 40px; display: flex; flex-direction: column; }
.exchange-wrap .question { display: flex; align-self: flex-end; color: #fff; margin-bottom: 30px; padding: 17px 30px; background-color: #3366cc; border-radius: 10px; margin-right: 12px; position: relative; }
.exchange-wrap .question::before { content: ""; border-style: solid; border-width: 0 8px 12px 8px; border-color: transparent transparent #3366cc; transform: rotate(90deg); position: absolute; top: 23px; right: -14px; }
.exchange-wrap .question .q { margin-right: 5px; }
.exchange-wrap .answer { display: flex; align-self: flex-start; margin-bottom: 30px; padding: 17px 30px; background-color: rgba(51, 102, 204, 0.1);; border-radius: 10px; margin-left: 12px; position: relative; }
.exchange-wrap .answer::before { content: ""; border-style: solid; border-width: 0 8px 12px 8px; border-color: transparent transparent rgba(51, 102, 204, 0.1);; transform: rotate(-90deg); position: absolute; top: 23px; left: -14px; }
.schedule-wrap { margin-top: -110px; padding: 75px 90px 60px; background-color: #fff; overflow: hidden; border: 3px solid #3366cc; border-radius: 40px; position: relative; z-index: 2; }
.schedule-dl { display: flex; }
.schedule-dl dt { width: 150px; font-size: 32px; font-weight: bold; line-height: 1; color: #3366cc; padding-bottom: 60px; position: relative; }
.schedule-dl dt::before { content: ""; width: 20px; height: 20px; border-radius: 50%; background-color: #fff; border: 6px solid #3366cc; overflow: hidden; position: absolute; top: 7px; right: -12px; z-index: 2; }
.schedule-dl dt::after { content: ""; width: 3px; height: 100%; background-color: #3366cc; position: absolute; top: 15px; right: -3px; }
.schedule-dl:last-child dt { padding-bottom: 0; }
.schedule-dl:last-child dt::after { content: none; }
.schedule-dl:last-child dd { padding-bottom: 0; }
.schedule-dl dd { width: calc(100% - 150px); padding-left: 50px; padding-bottom: 60px; }
.schedule-dl dd .ttl { font-size: 20px; font-weight: bold; }
.sec-schedule .link-btn { margin: 0 auto; }
.sec-related { position: relative; }
.sec-related::before { content: ""; width: 100%; height: 380px; background-color: rgba(51, 102, 204, 0.1); position: absolute; top: 0; left: 0; }
.sec-related .voice-list { margin: 0 -15px; }
.sec-related .voice-list li { width: calc(100% / 3); padding: 0 15px; }
.sec-related .voice-list li a { border-radius: 15px; overflow: hidden; }
.sec-related .voice-list li a .division-wrap { width: auto; padding: 8px 20px 12px 20px; }
.sec-related .link-btn { width: 300px; margin: 0 auto; }
.contact-head { margin: 0; border-top: 1px solid #939393; border-bottom: 1px solid #939393; }
.form-dl { border-bottom: 1px solid #939393; display: flex; align-items: flex-start; }
.form-dl dt { width: 260px; font-size: 18px; margin-top: 13px; padding: 20px 0  20px 20px; display: flex; align-items: center; }
.form-dl dt .req { font-size: 10.15px; font-weight: bold; color: #d32f2f; margin-left: 5px; }
.form-dl dd { width: calc(100% - 260px); padding: 20px 0  20px 20px; }
.form-dl dd input { width: 100%; padding: 15px 30px; border: none; background-color: #f5f5f5; }
.form-dl.address-dl { align-items: flex-start; }
.inner-flex { display: flex; align-items: center; }
.inner-flex dt { width: 90px; font-weight: normal; margin-top: 0; padding-left: 0; padding: 10px 0; }
.inner-flex dd { width: calc(100% - 90px); padding-left: 0; padding: 10px 0; }
.inner-flex.zip dd { width: 160px; }
.inner-flex.zip > span { font-size: 14px; font-weight: bold; color: #8e8e8e; margin-left: 10px; display: block; }
.inner-flex.addr { align-items: baseline; }
.form-dl textarea { width: 100%; height: 300px; padding: 15px 30px; border: none; background-color: #f5f5f5; }
.form-dl dd input[aria-invalid="true"],
.form-dl dd textarea[aria-invalid="true"] { outline: 2px solid #b42318; outline-offset: 1px; background-color: #fff5f5; }
.privacy_contact input[type="checkbox"][aria-invalid="true"] { outline: 2px solid #b42318; outline-offset: 2px; }
.wpcf7-not-valid-tip { display: block; margin-top: 8px; color: #b42318; font-size: 13px; font-weight: 700; line-height: 1.5; letter-spacing: .03em; }
.wpcf7-form-control-wrap.is-error .wpcf7-list-item-label { color: #b42318; }
.contact-tel-wrap { margin: 45px 0; padding-left: 80px; border-right: 1px solid #939393; display: flex; flex-direction: column; }
.contact-tel-wrap .tel { font-size: 32px; font-weight: bold; }
.contact-tel-wrap .tel span { font-size: 18px; font-weight: bold; margin-right: 10px; }
.contact-request { margin: 45px 0; display: flex; flex-direction: column; align-items: center; }
.contact-request .link-btn { width: 300px; }
.privacy_contact { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.privacy_contact .pll label { cursor: pointer; }
.privacy_contact .pll input { border-radius: 0; cursor: pointer; }
.privacy_contact .pll a { color: #6c635e; text-decoration: underline; }
.privacy_contact .submit input { width: 300px; padding: 10px; color: #3366cc; background-color: #fff; border-radius: 30px; border: 1px solid #3366cc; }
.privacy_contact .submit .wpcf7-spinner { display: none; }
.privacy_contact .submit .wpcf7-spinner.is-active {
    display: inline-block;
    margin-left: 10px;
    vertical-align: middle;
}
.privacy_contact .submit .wpcf7-submit {
    transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    cursor: pointer;
}
.privacy_contact .submit .wpcf7-submit:hover:not([disabled]) {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
.privacy_contact .submit .wpcf7-submit:active:not([disabled]) {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.privacy_contact .submit .wpcf7-submit:focus-visible {
    outline: 2px solid #0b61ff;
    outline-offset: 3px;
}
.privacy_contact .submit .wpcf7-submit[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
}
.wpcf7-response-output {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f5f7fb;
    border: 1px solid #dfe5f1;
    color: #1a1a1a;
    font-weight: 600;
    white-space: pre-line;
}
.wpcf7-response-output.is-sending {
    background: #eef4ff;
    border-color: #cfe0ff;
    color: #0b61ff;
}
.wpcf7-response-output.sent {
    background: #e9f7ef;
    border-color: #bfe5d1;
    color: #1e7a4b;
}
.wpcf7-response-output.failed {
    background: #fdecea;
    border-color: #f5c2c7;
    color: #b42318;
}
.wpcf7-response-output { display: none; }
.wpcf7-response-output.is-visible { display: block; }
.privacy_contact .wpcf7-list-item-label {
    margin-left: 8px;
    display: inline-block;
}
#autozip { display: none !important; }
.data-list { display: flex; flex-wrap: wrap; gap: 25px 30px; }
.data-list li { width: calc((100% - 60px) / 3); padding: 35px 30px; border-radius: 15px; box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.4); display: flex; flex-direction: column; align-items: center; }
.data-list li .ttl { font-size: 18px; font-weight: bold; margin-bottom: 8px; }
.data-list li.overtime .ttl,
.data-list li.people .ttl { margin-bottom: 18px; }
.data-list li .data { font-size: 60px; font-weight: bold; line-height: 1; color: #3366cc; }
.data-list li .data span { font-size: 20px; margin-left: 5px; }
.data-list li.full { width: 100%; }
.data-list li .data-dl { margin-bottom: 10px; gap: 10px; display: flex; align-items: center; justify-content: center; }
.data-list li .data-dl dt { width: 80px; margin-top: 10px; display: flex; align-items: center; justify-content: space-between; }
.data-list li .data-dl dd { width: calc(100% - 90px); }
.data-list li .data-dl dd .subdivision { font-weight: bold; margin-top: 15px; }
.data-list li .data-dl dd .data { font-size: 35px; }
.data-list li .data-dl dd .data span { font-size: 15px; margin-left: 3px; }
.data-list li.overtime .overtime-row { width: 100%; display: flex; justify-content: center; align-items: baseline; flex-wrap: wrap; gap: 10px 18px; }
.data-list li.overtime .overtime-row .data-dl { width: fit-content; margin-bottom: 0; flex-direction: row; gap: 6px; align-items: baseline; justify-content: center; }
.data-list li.overtime .overtime-row .data-dl dt { width: auto; margin-top: 0; justify-content: center; gap: 2px; }
.data-list li.overtime .overtime-row .data-dl dt .partition { display: none; }
.data-list li.overtime .overtime-row .data-dl dd { width: auto; }
.data-list li.overtime .overtime-row .data-dl dd .data { font-size: 34px; }
.data-list li.people .data-dl { width: fit-content; max-width: 100%; margin: 0 auto 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(17, 17, 17, 0.2); display: flex; align-items: baseline; justify-content: flex-start; gap: 0; }
.data-list li.people .data-dl:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.data-list li.people .data-dl dt { width: 92px; min-width: 92px; margin-top: 0; justify-content: flex-start; text-align: left; gap: 0; }
.data-list li.people .data-dl dt .partition { display: none; }
.data-list li.people .data-dl dd { width: auto; flex: 0 0 auto; text-align: left; display: flex; justify-content: flex-start; }
.data-list li.people .data-dl dd .result-note { width: auto; max-width: 100%; margin-top: 0; padding: 0; display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: baseline; list-style: none; overflow: visible; gap: 0; }
.data-list li.people .data-dl dd .result-note .result-item { box-shadow: none; align-items: baseline; width: auto; margin-right: 0; padding: 0 10px 0 0; display: flex; justify-content: flex-start; line-height: 1 !important; letter-spacing: 0 !important; font-size: 12px !important; font-weight: 700 !important; color: #111111 !important; white-space: nowrap; border: none; border-radius: 0; background: none; min-width: 0; }
.data-list li.people .data-dl dd .result-note .result-item:nth-child(1) { width: 110px; }
.data-list li.people .data-dl dd .result-note .result-item:nth-child(2) { width: 130px; }
.data-list li.people .data-dl dd .result-note .result-item:nth-child(3) { width: 120px; }
.data-list li.people .data-dl dd .result-note .result-item:last-child { padding-right: 0; }
.data-list li.people .data-dl dd .result-note .result-item .label { margin-right: 6px; line-height: 1; display: block; }
.data-list li.people .data-dl dd .result-note .result-item .value { font-size: 34px; font-weight: bold; line-height: 1; letter-spacing: 0; color: #3366cc; display: block; }
.data-list li.people .data-dl dd .result-note .result-item .value span { font-size: 15px; margin-left: 3px; line-height: 1; }

@media (max-width: 1024px) {
	html { scroll-padding-top: 80px; }
	body.menu-open { position: fixed; left: 0; width: 100%; overflow: hidden; }
	header { padding: 0 15px; background: rgba(255,255,255,.9); box-shadow: 0px 5px 5px 0px rgba(17, 17, 17, 0.15); }
	header .wrap { height: 60px; }
	header .logo img { width: auto; height: 45px; }
	header .gnav { position: fixed; left: 0; top: 60px; width: 100%; background: rgba(255,255,255,.9); height: 100%; opacity: 0; visibility: hidden; transition: .3s; }
	header .gnav.active { opacity: 1; visibility: visible; overflow: scroll; }
	header .gnav > ul { display: block; padding: 50px 30px 80px; }
	header .gnav ul li { padding-left: 0; padding-right: 0; }
	header .gnav ul li:before { display: none; }
	header .gnav ul li a { margin: 0; padding: 15px 0; border-bottom: 1px solid #E0E2E3; font-weight: bold; position: relative; }
	header .gnav ul li.drop > a { margin: 0; }
	header .gnav ul li.drop .submenu { width: 100%; border-radius: 0; position: static; transform: initial; opacity: 1; visibility: visible; display: block; overflow: hidden; max-height: 0; transition: max-height 0.3s ease-in-out; box-shadow: none; }
	header .gnav ul li.drop.open .submenu,
	header .gnav ul li.drop:hover .submenu,
	header .gnav ul li.drop:focus-within .submenu { max-height: 500px; }
	header .gnav ul li.drop .submenu li.submenu-top-link { display: list-item; }
	header .gnav ul li.drop > a::before { width: 7px; height: 7px; right: 7px; }
	header .gnav ul li.drop.open > a::before { transform: rotate(-45deg); top: 5px; }
	header .gnav ul li.drop .submenu li a { font-size: 12px; padding: 12px; padding-left: 20px; border-bottom: 1px solid #E0E2E3; text-align: left; }
	header .gnav ul li.request a { padding: 10px 30px; }
	header .menu-trg-area { display: block; }
}

@media (max-width: 767px) {
	html { scroll-padding-top: 80px; }
	body { font-size: 14px; min-width: 375px; }
	body.menu-open { position: fixed; left: 0; width: 100%; overflow: hidden; }
	header { padding: 0 15px; background: rgba(255,255,255,.9); box-shadow: 0px 5px 5px 0px rgba(17, 17, 17, 0.15); }
	header .wrap { height: 60px; }
	header .logo img { width: auto; height: 28px; }
	header .gnav { position: fixed; left: 0; top: 0; width: 100%; top: 60px; background: rgba(255,255,255,.9); height: 100%; opacity: 0; visibility: hidden; transition: .3s; }
	header .gnav.active { opacity: 1; visibility: visible; overflow: scroll; }
	header .gnav > ul { display: block; padding: 50px 30px 80px; }
	header .gnav ul li { padding-left: 0; padding-right: 0; }
	header .gnav ul li:before { display: none; }
	header .gnav ul li a { margin: 0; padding: 15px 0; border-bottom: 1px solid #E0E2E3; font-weight: bold; position: relative; }
	header .gnav ul li.drop > a { margin: 0; }
	header .gnav ul li.drop .submenu { width: 100%; border-radius: 0; position: static; transform: initial; opacity: 1; visibility: visible; display: block; overflow: hidden; max-height: 0; transition: max-height 0.3s ease-in-out; box-shadow: none; }
    header .gnav ul li.drop.open .submenu,
    header .gnav ul li.drop:hover .submenu,
    header .gnav ul li.drop:focus-within .submenu { max-height: 500px; }
	header .gnav ul li.drop .submenu li.submenu-top-link { display: list-item; }
	header .gnav ul li.drop > a::before { width: 7px; height: 7px; right: 7px; }	
    header .gnav ul li.drop.open > a::before { transform: rotate(-45deg); top: 5px; }
	header .gnav ul li.drop .submenu li a { font-size: 12px; padding: 12px; padding-left: 20px; border-bottom: 1px solid #E0E2E3; text-align: left; }
	header .gnav ul li.request a { padding: 10px 30px; }
    header .menu-trg-area { display: block; }
	.contact-block { margin-bottom: 50px; padding: 50px 0; }
	.contact-wrap { padding: 30px 15px; }
	.contact-wrap .contact-flex { flex-direction: column; text-align: center; }
	.contact-wrap .sec-ttl .jp { font-size: 20px; }
	.contact-wrap .sec-ttl .en { font-size: 14px; }
	.contact-wrap .contact-link-wrap { width: 100%; }
	.contact-wrap .contact-link { padding: 10px 30px; }
	.contact-wrap .contact-link .icon { left: 20px; }
	.contact-wrap .contact-link .ttl { font-size: 16px; }
	.contact-wrap .phone-block a { gap: 5px; }
	.contact-wrap .phone-block a .ttl { font-size: 25px; line-height: 1.5; }
	.footer-wrap { flex-direction: column; }
	.footer-wrap .left { width: 100%; margin-right: 0; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #fff; }
	.footer-wrap .left .logo { text-align: center; }
	.footer-wrap .left .logo img { width: 230px; }
	.footer-wrap .right { width: 100%; flex-direction: column; }
	.footer-wrap .right ul li { margin-bottom: 12px; }
	.footer_list_wrap { flex-direction: column; }
	.footer_list.first { width: 100%; margin-right: 0; }
	.footer_list.second { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 10px; row-gap: 5px; }
	.footer_list.second > li { margin-bottom: 0; }
	.footer_list.second .sublist.recruit-sublist { margin: 8px 0 0; margin-left: 1em; text-align: left; }
	.footer_list.second .sublist.recruit-sublist li { margin-bottom: 0; }
	.footer_list .sublist { margin-left: 1.1rem; margin-top: 5px; margin-bottom: 15px; }
	.footer_list .sublist.recruit-sublist { margin-top: 10px; }
	.footer_list .sublist li a { font-size: 12px; }
	.footer_list .sublist li a::before { width: 5px; height: 5px; top: 9px; }
	.footer_list .sublist li.solution-gap-tight { margin-bottom: 6px; }
	.footer_list .sublist li.solution-child { margin-left: 8px; }
	.footer_list .sublist.recruit-sublist li.solution-child { margin-left: 0; }
	.footer_list .sublist li.solution-child a { padding-left: 16px; }
	.footer_list .sublist li.solution-child a::before { width: 8px; height: 1px; top: 50%; margin-top: -1px; }
	.footer_list.second .sublist.recruit-sublist li.solution-child a { display: block; padding-left: 13px; }
	.footer_list.second .sublist.recruit-sublist li.solution-child a::before { width: 6px; left: 0; }
	.footer_list .sublist li.payment-child { margin-left: 8px; }
	.footer_list .sublist li.payment-child a { padding-left: 16px; }
	.footer_list .sublist li.payment-child a::before { width: 8px; height: 1px; top: 50%; margin-top: -1px; }
	.footer_other { margin-left: 0; margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: space-between; }
	.footer_other li { margin: 0 0 8px 0 !important; }
	.footer_bottom { padding: 15px 0; margin: 0 15px; }
	.footer_bottom .footer_sns { gap: 15px; }
	.copyright { font-size: 9px; }
	.page-top { right: 15px; bottom: 15px; }
	.page-top a { width: 40px; height: 40px; }
	.page-top a::before { width: 10px; height: 10px; top: 17px; }

	/* common */
	.sec-ttl { display: flex; flex-direction: column; align-items: center; justify-content: center; }
	.sec-ttl .jp { font-size: 20px; }
	.sec-ttl .en { font-size: 11px; }
	.link-btn { padding: 8px; }	
	.sec-hero { height: 250px; margin-top: 60px; display: flex; align-items: center; }
	.sec-hero::before { height: 90px; }
	.hero_ttl { padding-top: 0; width: 100%; }
	.hero_ttl .jp { font-size: 22px; line-height: 1.5; }
	.hero_ttl .en { font-size: 14px; }
	.bread_list { flex-wrap: wrap; }
	.bread_list li { margin-right: 20px; }
	.bread_list li a { font-size: 11px; }
	.bread_list li::before { width: 6px; height: 6px; right: -10px; }

	.home-fv { margin-top: 60px; }
	.home-fv .fv_slider:not(.slick-initialized) > div:nth-child(2) .bg,
	.home-fv .fv_slider .slick-slide[data-slick-index="1"] .bg { background-image: url(../images/top_fv_img1_sp.jpg) !important; }
	.fv_ttl { right: initial; left: 3%; margin-top: 60px; }
	.fv_ttl h1 { font-size: 23px; margin-bottom: 15px; }
	.fv_slider .bg { height: calc(100vh - 60px); }
		.story_parallax .parallax .bg { background-position: 70% bottom; }
	.home-story { padding: 40px 0 50px; }
	.story_flex { flex-direction: column; }
		.story_parallax { width: 100%; padding-top: 0; padding-right: 0; }
			.story_parallax .parallax { width: calc(100% + (50vw - 50%)); height: 330px; float: none; margin-left: calc(50% - 50vw); margin-right: 0; border-bottom-right-radius: 20px; }
	.story_parallax .parallax .bg { height: 125%; }
	.story_text { width: 100%; margin-top: 20px; }
	.story_text .ttl { font-size: 22px; }
	.story_text p { font-size: 13px; }
	.home-business { padding: 50px 0; }
	.sticky-wrapper { flex-direction: column; gap: 20px; }
	.sticky-side { width: 100%; position: static; } 
	.sticky-content { width: 100%; flex: initial; }
	.business-list li { padding-top: 40px; flex-direction: column; gap: 15px; }
	.business-list li .num { font-size: 14px; }
	.business-list li .num::before { width: 30px; left: 20px; top: 7px; } 
	.business-list li .content { padding-bottom: 40px; padding-top: 0; } 
	.business-list li .content .left { width: 100%; }
	.business-list li .content .right { width: 100%; margin-left: 0; } 
	.business-wrap { margin-top: 15px; }
	.business-wrap .ttl { gap: 10px; }
	.business-wrap .ttl > div { font-size: 16px; } 
	.home-case { position: relative; }
	.case-wrapper { flex-direction: column; }
	.case-fixed { width: 100%; padding: 40px 0 50px; margin-bottom: 30px; border-radius: 0; }
	.case-fixed .sec-ttl .jp { font-size: 22px; }
	.case-fixed .sec-ttl .en { font-size: 18px; }
	.case-content { width: 100%; margin-left: 0; }
	.case_card { width: 100%; margin: 0; }
	.case_card .bg_wrap { padding-top: 56%; }
	.case_slider { margin: 0 -5px; }
    .case_slider .slick-slide { padding: 0 5px; }
    .case_card { width: auto; margin: 0; }
	.case_card .text { padding: 10px 15px 15px 15px; }
	.case_card .text .cat { font-size: 11px; }
	.case_card .text .name { font-size: 18px; }
	.case_card .text p { font-size: 13px; line-height: 1.4; }
	.home-case .case_card .text .name { min-height: 2.5em; margin-bottom: 2px; }
	.home-case .case_card .text p { min-height: 2.8em; }
	.case-nav-ui { margin-top: 20px; gap: 10px; justify-content: end; }
	body.home .case-nav-ui { justify-content: flex-end; }
	.case-nav-ui .slick-prev, 
	.case-nav-ui .slick-next { width: 30px; height: 30px; }
	.case-nav-ui .slick-prev:before, 
	.case-nav-ui .slick-next:before { width: 7px; height: 7px; }
	.home-support { padding: 60px 0; }
	.support_track { gap: 20px; animation: scrollLeft 100s linear infinite; }
	.support_track a img { height: 30px; }
	.home-company { padding-bottom: 50px; }
	.home-company::before { width: 76%; height: 450px; top: 20px; }
	.home-company .link-btn { margin: 0 auto; }
	.home-recruit { height: auto; padding: 50px 0; background-image: url(../images/top_recruit_bg_sp.jpg); background-size: cover; background-position: center; }
	.home-recruit .sec-ttl .jp { font-size: 20px; }
	.home-recruit .sec-ttl .en { font-size: 11px; }
	.home-recruit .link-btn { margin: 0 auto; }
	.recruit-ttl { font-size: 18px; }
	.vertical-wrap.left { margin-bottom: 15px; }
    .vertical-wrap.left, 
    .vertical-wrap.right { position: static; top: initial; bottom: initial; left: initial; right: initial; }
    .vertical-wrap.left .vertical-track,
    .vertical-wrap.right .vertical-track { flex-direction: row; width: max-content; }
	.vertical-wrap.left .vertical-track img,
    .vertical-wrap.right .vertical-track img { width: 150px; margin-bottom: 0; margin-right: 15px; }
	.vertical-wrap.left .vertical-track { animation: slideLeft 60s linear infinite; }
    .vertical-wrap.right .vertical-track { animation: slideRight 60s linear infinite; }
    @keyframes slideLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
    @keyframes slideRight { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }
	.interview-wrap { height: 300px; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
	.interview-wrap::before { height: 70%; background-image: linear-gradient(180deg, rgba(51, 102, 204, 0.6), transparent 70%); margin: 0 auto; }
	.interview-wrap .bg { object-fit: cover; }
	.interview-wrap .sec-ttl .jp { font-size: 28px; }
	.interview-wrap .sec-ttl .en { font-size: 14px; }
	.interview-wrap .link-btn { margin: 0 auto; }
	.home-news .link-btn { margin: 0 auto; }
	.news-tab li { margin-right: 5px; }
	.news-tab li a { font-size: 14px; padding: 5px 20px; }
	.news-list { padding: 25px 20px; }
	.news-list li a { flex-wrap: wrap; align-items: start; }
	.news-list li a .date { width: 75px; margin-right: 10px; }
	.news-list li a .cat {  min-width: 62px; font-size: 11px; padding: 6px; margin-right: 0; }
	.news-list li a .text { width: 100%; margin-top: 5px; flex: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; white-space: normal; }
	.business-menu-list { gap: 15px; margin-bottom: 40px; padding-bottom: 30px; }
	.business-menu-list li { width: 100%; }
	.business-menu-list li .link-btn { border-radius: 40px; }
	.business-block { padding: 50px 0; }
	.business-block::before { border-top-left-radius: 25px; border-bottom-left-radius: 25px; left: 0; }
	.business-images-wrap .bg { width: calc(100vw - 15px); height: 350px; }
	.business-content { padding: 0 15px; }
	.business-menu li { padding: 15px; flex-direction: column; }
	.business-menu li .menu-ttl-wrap { width: 100%; text-align: center; }
	.business-menu li .menu-ttl-wrap .ttl { font-size: 15px; margin-bottom: 10px; }
	.business-menu li .menu-detail-wrap { width: 100%; border-left: none; border-top: 1px solid #3366cc; text-align: center; }
	.business-menu li .menu-detail-wrap .ttl { padding: 0 20px; margin-top: 10px; display: block; }
	.business-menu li .menu-detail-wrap .ttl::before { width: 6px; height: 6px; right: 10px; }
	.sub-menu-list { gap: 10px; }
	.sub-menu-list li a { padding: 8px 20px; }
	.downlord-area .ttl { font-size: 16px; }
	.business-block.reverse::before { border-top-right-radius: 25px; border-bottom-right-radius: 25px; right: 0; }
	.business-block:nth-of-type(3) .business-images-wrap .bg { height: 350px; }
	.business-block:nth-of-type(4) .business-images-wrap .bg { height: 300px; }
	.business-block:nth-of-type(5) .business-images-wrap .bg { height: 350px; }
	.business_parallax { height: 300px; border-top-left-radius: 15px; border-bottom-left-radius: 15px; }
	.business_parallax .bg { height: 135%; } 
	.business-title-wrap .ttl { font-size: clamp(16px, 5.6vw, 23px); line-height: 1.3; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.business-title-wrap .ttl br { display: none; }
	.business-title-wrap p { font-size: 16px; padding-bottom: 20px; }
	.inquiry-wrap { width: 100%; padding: 20px; }
	.inquiry-wrap .text { font-size: 16px; margin-bottom: 10px; text-align: center; }
	.inquiry-wrap .phone { gap: 10px; }
	.inquiry-wrap .phone img { width: 20px; margin-top: 5px; }
	.inquiry-wrap .phone .ttl { font-size: 30px; }
	.system-list { margin-bottom: 20px; }
	.system-list:last-child { margin-bottom: 0; }
	.system-wrap { padding: 40px 0; }
	.system-list li::before { width: 8px; height: 8px; top: 8px; }
	.business_blue { padding: 40px 0; }
	.business_inner { padding: 30px 15px; border-radius: 15px; }
	.business_servise { padding: 30px 0; }
	.merit_card p { font-size: 13px; }
	.servise_list li .title { gap: 15px; margin-bottom: 15px; align-items: flex-start; }
	.servise_list li .title .num { margin-top: 5px; }
	.servise_list li img { height: 100%; }
		.servise_list li .title p { width: calc(100% - 40px); }
		.servise_gaiyo_image { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
		.servise_gaiyo_image img { width: 700px; max-width: none; min-width: 700px; margin: 0; }
		.servise_text_list li { margin-bottom: 15px; }
		.servise_text_list li .title { margin-bottom: 0; }
	.business2_point_list li { padding: 30px 10px; }
		.business2_point_list .point_subttl { font-size: 16px; }
		.business2_to_icons .txt { font-size: 16px; }
		.business2-report-lines span { display: block; padding-left: 1em; text-indent: -1em; }
		.business2-report-lines span + span { margin-top: 0.15em; }
		.shadow-card-ttl { font-size: 16px; margin-bottom: 15px; }
	.case-text { font-size: 13px; line-height: 2; }
	.case-wrap { padding-bottom: 20px; }
	.case-wrap .bg { padding-top: 78%; margin-bottom: 10px; }
	.case-wrap .name { font-size: 13px; margin-bottom: 5px; }
	.case-wrap .text { font-size: 15px; line-height: 1.5; }
	.case-wrap .tag-list { gap: 5px 10px; }
	.case-wrap .tag-list li { font-size: 11px; padding: 1px 5px; }
	.sec-case .js-case-list-slider.slick-slider { margin-left: 0; margin-right: 0; }
	.sec-case .js-case-list-slider.slick-slider .slick-list { margin: 0 -6px; overflow: hidden; }
	.sec-case .js-case-list-slider.slick-slider .slick-slide { height: auto; padding: 0 6px; }
	.sec-case .js-case-list-slider.slick-slider .slick-slide > div { height: auto; margin-bottom: 0 !important; }
	.sec-case .js-case-list-slider.slick-slider .slick-slide > div[class*="mgb"] { margin-bottom: 0 !important; }
	.sec-case .js-case-list-slider.slick-slider .slick-dots { position: static; width: auto; margin: 14px 0 0; display: flex !important; align-items: center; justify-content: center; gap: 8px; }
	.sec-case .js-case-list-slider.slick-slider .slick-dots li { width: 8px; height: 8px; margin: 0; }
	.sec-case .js-case-list-slider.slick-slider .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.sec-case .js-case-list-slider.slick-slider .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.sec-case .js-case-list-slider.slick-slider .slick-dots li.slick-active button:before { opacity: 1; }
	.case-single-wrap .ttl { font-size: 20px; line-height: 1.5; margin-bottom: 10px; }
	.case-single-wrap .tag { font-size: 11px; padding: 1px 5px; }
	.case-images { border-radius: 10px; }
	.case-detail .name { font-size: 16px; }
	.case-detail .url { font-size: 10px; }
	.case-detail .address { font-size: 12px; margin-left: 15px; }
	.case-detail .blue_wrap { margin-top: 15px; border-radius: 10px; padding: 20px 20px 10px 20px; }
	.case-detail .blue_wrap dl { gap: 5px; }
	.case-detail .blue_wrap dl dt { width: 75px; font-size: 13px; padding-bottom: 10px; margin-bottom: 10px; }
	.case-detail .blue_wrap dl dd { width: calc(100% - 80px); font-size: 13px; padding-bottom: 10px; margin-bottom: 10px; }
	.faq-list li { margin-bottom: 30px; }
	.faq-list li .question { font-size: 16px; line-height: 1.5; margin-bottom: 10px; }
	.faq-text { min-width: initial; width: 100%; font-size: 13px; }
	.faq-container { gap: 15px; }
	.faq-image-wrapper { flex-basis: initial; width: 100%; }
	.sec-news .news-cat { display: flex; flex-wrap: wrap; gap: 5px; }
	.sec-news .news-cat li { width: calc((100% - 10px) / 3); margin-bottom: 0; }
	.sec-news .news-cat li a { padding: 5px; }
	.sec-news .news-list li { margin-bottom: 10px; }
	.sec-news .news-list li a { padding: 10px 0; }
	.sec-news .news-list li a .date { width: 70px; font-size: 13px; }
	.sec-news .news-list li a .cat { min-width: 85px; font-size: 12px; padding: 4px; }
	.sec-news .news-list li a .text { font-size: 13px; }
	.news-single .news-list li a .date { font-size: 13px; }
	.news-single .news-list li a .cat { min-width: 80px; font-size: 12px; }
	.news-single .news-list li a .text { font-size: 18px; line-height: 1.5; display: block; }
	.news-single p { font-size: 12px; }
	.news-single .link-btn { width: 100%; }
	.downlord-wrap { margin-bottom: 60px; }
	.downlord-wrap .main-ttl { font-size: 20px; line-height: 1.5; padding-bottom: 10px; margin-bottom: 20px; border-width: 3px; }
	.downlord-wrap .sub-ttl { gap: 15px; }
	.downlord-wrap .sub-ttl div { font-size: 15px; }
	.downlord-link div { font-size: 13px; }
	.sorting-ttl { padding-bottom: 5px; }
	.sorting-ttl::before { width: 30px; height: 2px; }
	.wide-list li { width: calc((100% - 20px) / 3); }
	.google-privacy { font-size: 11px; }
	.private-marin-title { font-size: 22px; margin-bottom: 25px; padding-bottom: 15px; border-bottom-width: 3px; }
	.private-marin-title-break { display: block; }
	.private-marin-section { margin-bottom: 30px; }
	.private-marin-wrap .sub-ttl { gap: 15px; }
	.private-marin-wrap .sub-ttl div { font-size: 15px; }
	.private-marin-lead { font-size: 12px; }
	.private-marin-step-title { font-size: 14px; margin: 0 0 5px; }
	.private-marin-image-row { margin-bottom: 30px; }
	.private-marin-image-row > div { margin-bottom: 16px; }
	.private-marin-image-row > div:last-child { margin-bottom: 0; }
	.private-marin-note { font-size: 12px; margin-bottom: 30px; }
	.private-marin-image { margin-bottom: 30px; }
	.company-wrapper { flex-direction: column; }
	.company-side { width: 100%; padding-bottom: 15px; border-bottom: 1px solid #939393; margin-bottom: 0; position: static; }
	.company-side ul li { margin-bottom: 15px; }
	.company-side ul li a { padding-left: 22px; }
	.company-side ul li a::before { width: 15px; height: 2px; }
	.company-content { width: 100%; border-left: none; }
	.company-content .inner { padding: 0; padding-top: 60px; margin-bottom: 0;}
	.company-content .text-area { width: 100%; margin: 0; }
	.company-ttl { display: flex; flex-direction: column; align-items: center; justify-content: center; }
	.company-ttl .jp { font-size: 22px; }
	.company-ttl .en { font-size: 12px; }
	.company-catch { font-size: 21px; }
		.company-dl { flex-direction: column; }
		.company-dl dt { width: 100%; padding: 10px 15px; }
		.company-dl dd { width: 100%; padding: 10px 15px; }
		.sp-scroll-note { display: block; font-size: 11px; line-height: 1.5; color: #666; margin: 0 0 6px; }
		.company-content .fixed-image { display: none; }
		.sp_fade_img { height: auto; border-radius: 15px; overflow: hidden; }
	.sp_fade_img img { object-fit: cover; }
	.company-content .inner.between { margin-left: -15px; padding-top: 60px; }
	.between_set img { height: 170px; }
	.rinen-list li { gap: 15px; padding: 10px; }
	.rinen-list li p { font-size: 16px; }
	.rinen-list li .num { font-size: 18px; }
		.over-img { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
		.over-img img { display: block; width: 500px; max-width: none; height: auto; }
		.over-img.second img { min-width: 720px; }
	.history-text { padding-bottom: 20px; border-width: 3px; }
	.history-wrap::before { width: 90px; right: 15px; }
	.history-wrap.top::before { height: calc(100% + 31px); top: 0; }
	.accordion-content .history-wrap::before { top: 31px; height: calc(100% - 31px); }
	.history-year { gap: 10px; }
	.history-year .number { font-size: 25px; }
	.history-year .number span { font-size: 16px; }
	.history-year .bet { font-size: 22px; }
	.history-dl dt { width: 70px; font-size: 16px; }
	.history-dl dd { width: calc(100% - 70px); padding-left: 15px; }
	.history-dl dd::before { width: 6px; height: 6px; top: 12px; }
	.history-img { width: 80%; margin-bottom: 20px; }
	.history-images-inline { gap: 10px; margin-top: 20px; }
	.history-images-inline .history-img { width: 100%; margin: 0; }
	.history-images-wrap.js-history-slider { padding-bottom: 0; }
	.history-images-wrap.js-history-slider .slick-list { margin: 0 -6px; overflow: hidden; }
	.history-images-wrap.js-history-slider .slick-track { display: block; }
	.history-images-wrap.js-history-slider .slick-slide { height: auto; padding: 0 6px; }
	.history-images-wrap.js-history-slider .slick-slide > div { height: auto; }
	.history-images-wrap.js-history-slider .history-img { width: 100%; margin-bottom: 0; margin-left: 0; }
	.history-images-wrap.js-history-slider .history-img img { width: 100%; height: auto; display: block; }
	.history-images-wrap.js-history-slider .slick-dots { position: static; width: auto; margin: 14px 0 0; display: flex !important; align-items: center; justify-content: center; gap: 8px; }
	.history-images-wrap.js-history-slider .slick-dots li { width: 8px; height: 8px; margin: 0; }
	.history-images-wrap.js-history-slider .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.history-images-wrap.js-history-slider .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.history-images-wrap.js-history-slider .slick-dots li.slick-active button:before { opacity: 1; }
	.history-toggle-btn { width: 100%; }
	.history-toggle-btn::before, 
	.history-toggle-btn::after { width: 15px; height: 1px; }
	.health-block { width: 100%; padding: 30px 15px; }
	.health-block p { font-size: 14px; }
	.health-block p.sm { font-size: 12px; }
	.group-list { flex-wrap: wrap; gap: 10px; }
	.group-list li { width: 100%; padding: 10px 15px; }
	.privacy-list li { margin-bottom: 30px; }
	.privacy-list li .ttl { font-size: 16px; padding-bottom: 5px; margin-bottom: 5px; }
	.privacy-madoguchi { width: 100%; padding: 30px 20px; }
	.privacy-madoguchi .ttl { padding-bottom: 15px !important; }
	.privacy-madoguchi p { font-size: 13px }
	.policy-ttl { font-size: 20px; padding-bottom: 10px; margin-bottom: 20px; border-width: 3px; }
	.website-text { font-size: 13px; } 
		.website-list li { margin-bottom: 30px; }
		.website-list li .ttl { font-size: 16px; padding-bottom: 5px; margin-bottom: 5px; }
		.recruit-fv { height: 550px; margin-top: 0; }
		.recruit-page-title { top: 9%; left: 5%; font-size: 22px; letter-spacing: .05em; }
		.recruit-main-copy { right: 17%; bottom: 10%; left: auto; }
		.recruit-move { height: 30px; }
	.recruit-move.move1 { width: 140px; top: 13%; }
	.recruit-move.move2 { width: 200px; top: 17%; }
	.recruit-move.move3 { width: 140px; top: 35%; }
	.recruit-move.move4 { width: 140px; }
	.recruit-move.move5 { width: 120px; }
	.recruit-move.move6 { width: 115px; }
	.recruit-move.move7 { width: 80px; bottom: 16%; }
	.recruit-move.move8 { width: 180px; }
	.recruit-loop .item.lg { width: 170px; height: 260px; }
	.recruit-loop .track { gap: 15px; }
	.recruit-loop .set { gap: 15px; }
	.recruit-loop .item.sm { width: 170px; gap: 8px; }
	.recruit-story { padding: 50px 0; }
	.story-loop { width: 100vw; position: static; overflow: initial; }
	.story-loop .item img { width: 160px; height: 280px; }
	.story-wrap .ttl { font-size: 20px; }
	.story-images { width: 100vw; }
	.special-ttl { flex-direction: column; align-items: center; gap: 20px; padding-bottom: 40px; }
	.special-ttl > img { width: 120px; height: auto; }
	.recruit-kankyo .special-ttl > img { width: 170px; }
	.recruit-voice .special-ttl > img,
	.recruit-jobs .special-ttl > img { width: 110px; }
	.recruit-flow .special-ttl > img,
	.recruit-faq .special-ttl > img { width: 150px; }
	.special-ttl p { text-align: center; }
	.special-ttl .lg { font-size: 85px; bottom: -4px; right: 0; margin: 0 auto; text-align: center; }
	.recruit-voice .link-btn { width: 250px; }
	.voice-list { flex-wrap: wrap; }
	.voice-list li { width: 50%; height: 280px; }
	.voice-list li a { padding: 15px; }
	.voice-list li a .division-wrap { padding: 6px 8px 10px 8px; margin-bottom: 5px; border-radius: 5px; }
	.voice-list li a .division-wrap .division { font-size: 12px; margin-right: 5px; }
	.voice-list li a .division-wrap .name { font-size: 25px; }
	.voice-list li a .division-wrap .san { font-size: 12px; }
	.voice-list li a .join { font-size: 12px; padding: 5px 10px; border-radius: 5px; }
	.recruit-voice .voice-list li a .division-wrap { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: flex-start; column-gap: 4px; row-gap: 2px; }
	.recruit-voice .voice-list li a .division-wrap .division { width: 100%; margin-right: 0; }
	.recruit-voice .voice-list li a .division-wrap .name { margin-right: 0; }
	.recruit-kankyo .special-ttl .lg { font-size: 55px; left: 0; }
	.kankyo-wrapper { flex-direction: column; }
	.kankyo-inner { padding: 40px 0 30px; border-radius: 20px; }
	.kankyo-side { width: 100%; margin-bottom: 40px; position: static; }
	.kankyo-side ul { display: flex; flex-wrap: wrap; gap: 0 40px; }
	.kankyo-side ul li { width: auto; margin-bottom: 10px; }
	.kankyo-side ul li a { font-size: 15px; padding-left: 25px; }
	.kankyo-side ul li a::before { width: 15px; }
	.recruit-anchor-nav .anchor-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
	.recruit-anchor-nav .anchor-list li { width: 100%; }
	.recruit-anchor-nav .anchor-list li a { font-size: 15px; padding-left: 25px; }
	.recruit-anchor-nav .anchor-list li a::before { width: 15px; }
	.kankyo-wrap { padding: 30px 15px; border-radius: 20px; }
	.kankyo-content { width: 100%; border-left: none; }
	.kankyo-content .inner { padding-left: 0; }
	.kankyo-ttl .jp { font-size: 19px; } 
	.kankyo-ttl .en { font-size: 11px; }
	.place-list { flex-wrap: wrap; }
	.place-list > li,
	.place-list .slick-track > li { width: 100%; margin-bottom: 15px; }
	.place-list > li:nth-child(even),
	.place-list .slick-track > li:nth-child(even) { margin-top: 0; }
	.js-workplace-slider.slick-slider { margin-left: 0; margin-right: 0; }
	.js-workplace-slider.slick-slider .slick-list { margin: 0 -6px; overflow: hidden; }
	.js-workplace-slider.slick-slider .slick-slide { height: auto; padding: 0 6px; }
	.js-workplace-slider.slick-slider .slick-slide > div { height: auto; margin-bottom: 0 !important; }
	.js-workplace-slider.slick-slider .slick-slide > div[class*="mgb"] { margin-bottom: 0 !important; }
	.js-workplace-slider.slick-slider .slick-dots { position: static; width: 100%; margin: 4px auto 0; padding: 0; display: flex !important; align-items: center; justify-content: center; gap: 8px; }
	.js-workplace-slider.slick-slider .slick-dots li { width: 8px; height: 8px; margin: 0; }
	.js-workplace-slider.slick-slider .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.js-workplace-slider.slick-slider .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.js-workplace-slider.slick-slider .slick-dots li.slick-active button:before { opacity: 1; }
	.js-workplace-slider.slick-slider .mv_base { opacity: 1; transform: translate(0, 0); -webkit-transform: translate(0, 0); }
	.js-workplace-slider.slick-slider .slick-slide > div > li { height: auto; }
	.js-workplace-slider.slick-slider .place-card { height: auto; }
	.place-card { padding: 20px 20px 30px 20px } 
	.place-card .num { font-size: 22px; }
	.place-card .ttl { font-size: 16px; }
	.place-card p { font-size: 13px; }
	.place-images { height: 125px; }
	.inner-sub-ttl { gap: 15px; }
	.inner-sub-ttl div { font-size: 18px; }
	.health-text { font-size: 16px; }
	.faq_list li { margin-bottom: 15px; padding: 5px 15px 5px 15px; border-radius: 5px; }
	.faq_list li .question .text { width: calc(100% - 35px); padding: 10px 0 }
	.faq_list li .question::before, 
	.faq_list li .question::after { width: 14px; height: 1px; right: 10px; }
	.faq_list li .answer .text { width: 100%; padding: 10px 0; } 
	.leave-policy-text,
	.leave-policy-text p,
	.leave-policy-text li,
	.leave-policy-text div { font-size: 13px !important; line-height: 1.9; }
	.leave-policy-lead { font-size: 13px !important; margin-bottom: 12px; }
	.leave-policy-head,
	.leave-policy-subhead { font-size: 13px !important; }
	.leave-policy-list > li { padding: 12px 0; }
	.leave-policy-sublist { margin-top: 6px; padding-left: 0.8em; }
	.leave-policy-sublist li { margin-bottom: 10px; }
	.gallery-parent  { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(6, 1fr); gap: 10px; }
	.gallery-parent .div5 { grid-column-start: 1; grid-row-start: 5; }
	.gallery-parent .div6 { grid-column: span 2 / span 2; grid-row: span 2 / span 2; grid-column-start: 1; grid-row-start: 3; }
	.gallery-parent .div7 { grid-column: span 2 / span 2; grid-column-start: 1; grid-row-start: 6; }
	.gallery-parent .div8 { grid-column-start: 2; grid-row-start: 5; }
	.js-gallery-slider.slick-slider { display: block; margin: 0; margin-top: 40px; position: relative; }
	.js-gallery-slider.slick-slider .slick-list { margin: 0 -6px; overflow: hidden; }
	.js-gallery-slider.slick-slider .slick-slide { height: auto; padding: 0 6px; }
	.js-gallery-slider.slick-slider .slick-slide > div { height: auto; }
	.js-gallery-slider.slick-slider .slick-slide img { width: 100%; height: auto; display: block; }
	.js-gallery-slider.slick-slider .slick-dots { position: absolute; top: -40px; right: 8px; width: auto; margin: 0; padding: 0; z-index: 5; }
	.js-gallery-slider.slick-slider .slick-dots li { width: 8px; height: 8px; margin: 0 0 0 6px; display: inline-block; }
	.js-gallery-slider.slick-slider .slick-dots li:first-child { margin-left: 0; }
	.js-gallery-slider.slick-slider .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.js-gallery-slider.slick-slider .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.js-gallery-slider.slick-slider .slick-dots li.slick-active button:before { opacity: 1; }
	.jobs-dl dt { width: 100px; padding: 10px 15px; }
	.jobs-dl dd { width: calc(100% - 100px); padding: 10px 15px; }
	.jobs-salary-grid { grid-template-columns: 1fr; gap: 12px; }
	.jobs-salary-record { padding-left: 0; padding-top: 12px; border-left: none; border-top: 1px solid #d9d9d9; }
	.jobs-results { padding-bottom: 10px; }
	.jobs-results::before { width: 100%; }
	.results-list { flex-wrap: nowrap; justify-content: space-between; gap: 8px; }
	.results-list li { flex: 1 1 0; width: auto; font-size: 12px; line-height: 1.45; border-right: 1px solid #939393; padding-right: 8px; margin-right: 0; white-space: normal; }
	.results-list li:last-child { border-right: none; padding-right: 0; margin-right: 0; }
	.jobs-salary-record .jobs-record-list { justify-content: flex-start; overflow-x: auto; }
	.jobs-salary-record .jobs-record-list li { flex: 0 0 auto; width: auto; white-space: nowrap; }
		.recruit_parallax { height: 300px; }
		.recruit_parallax .bg { background-position: 80% center; }
		.recruit_parallax.recruit_parallax-voice-4ui5x1gzd .bg { background-position: 40% center; }
		.recruit_parallax.recruit_parallax-voice-22rdy7hztf2 .bg { background-position: 40% center; }
		.recruit-flow { padding: 60px 0 80px; }
		.recruit-flow .special-ttl .lg { font-size: 65px; }
	.flow-wrapper { padding: 30px 15px; border-radius: 20px; }
	.recruit-flow > .flow-wrapper.slick-slider { padding: 30px 15px; position: relative; }
	.recruit-flow > .flow-wrapper .slick-list { margin: 0 -8px; }
	.recruit-flow > .flow-wrapper .slick-track { display: block; }
	.recruit-flow > .flow-wrapper .slick-slide { height: auto; padding: 30px 8px; }
	.recruit-flow > .flow-wrapper .slick-slide > div { width: 100%; height: auto; }
	.recruit-flow > .flow-wrapper.slick-slider .flow-inner { height: auto; margin-bottom: 0; background-color: transparent; border-radius: 0; }
	.recruit-flow > .flow-wrapper.slick-slider .flow-inner > .container-fluid { height: auto; min-height: 0; box-sizing: border-box; padding-top: 24px; padding-bottom: 24px; background-color: #fff; border-radius: 20px; overflow: hidden; position: relative; }
	.recruit-flow .entry-rikunavi-link { margin-top: 30px; border-radius: 10px; }
	.recruit-flow .entry-rikunavi-link img { width: min(100%, 160px); height: auto; display: block; margin: 0 auto; }
	.recruit-flow > .flow-wrapper .slick-dots { position: absolute; top: 25px; right: 20px; width: auto; margin: 0; padding: 0; z-index: 5; }
	.recruit-flow > .flow-wrapper .slick-dots li { width: 8px; height: 8px; margin: 0 0 0 6px; }
	.recruit-flow > .flow-wrapper .slick-dots li:first-child { margin-left: 0; }
	.recruit-flow > .flow-wrapper .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.recruit-flow > .flow-wrapper .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.recruit-flow > .flow-wrapper .slick-dots li.slick-active button:before { opacity: 1; }
	.recruit-flow .flow-inner { margin: 0 0 20px; padding: 32px 15px; }
	.flow-inner { margin-bottom: 20px; padding: 25px 15px; }
	.step-wrap { gap: 5px; } 
	.step-wrap .num { font-size: 20px; }
	.step-wrap { width: 70px; height: 35px; }
	.flow-logo { gap: 20px; margin-bottom: 15px; }
	.flow-text .ttl { font-size: 18px; }
	.recruit-faq .special-ttl .lg { font-size: 65px; }
	.recruit-faq .flow-inner { padding: 25px 0; }
	.recruit-faq .faq_list li { margin-bottom: 15px; }
	.recruit-faq .faq_list li .question { font-size: 14px; }
	.recruit-faq .faq_list li .question .text { padding: 10px 10px 10px 5px; }
	.recruit-faq .faq_list li .question .q { margin-right: 0; }
	.recruit-faq .faq_list li .answer { padding-top: 10px; padding-left: 0px; }
	.recruit-faq .faq_list li .answer .a { font-size: 14px; margin-top: 0; }
	.sec-voice .special-ttl .lg { font-size: 75px; }
	.sec-voice .voice-list { flex-wrap: wrap; margin: 0; }
	.sec-voice .voice-list li { width: 100%; margin-bottom: 15px; }
	.sec-voice .voice-list li:last-child { margin-bottom: 0; }
	.sec-voice .voice-list li:nth-child(odd) { margin-top: 0; }
	.sec-voice .js-voice-list-slider li { height: 330px; }
	.sec-voice .js-voice-list-slider.slick-slider { margin-left: 0; margin-right: 0; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-list { margin: 0 -6px; overflow: hidden; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-track { display: block; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-slide { height: 330px; padding: 0 6px; margin-bottom: 0; box-sizing: border-box; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-slide > div { width: 100%; height: 100%; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-slide > div > li { width: 100%; height: 100%; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-slide > div > li > a {
		width: 100%;
		height: 100%;
		min-height: 0;
		padding: 18px;
	}
	.sec-voice .voice-list li a,
	.sec-voice .voice-list li a:hover {
		opacity: 1;
		transition: none;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		backface-visibility: hidden;
	}
	.sec-voice .voice-list li a::before,
	.sec-voice .voice-list li a:hover::before {
		content: none;
		transform: none;
	}
	.sec-voice .js-voice-list-slider .division-wrap { width: 100%; max-width: 100%; padding: 8px 12px 10px; }
	.sec-voice .js-voice-list-slider .division-wrap .division { font-size: 12px; margin-right: 8px; }
	.sec-voice .js-voice-list-slider .division-wrap .name { font-size: 34px; margin-right: 4px; }
	.sec-voice .js-voice-list-slider .division-wrap .san { font-size: 20px; }
	.sec-voice .js-voice-list-slider .join { font-size: 12px; padding: 6px 10px; border-radius: 8px; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-dots { position: static; width: 100%; margin: 16px auto 0; padding: 0; display: flex !important; align-items: center; justify-content: center; gap: 8px; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-dots li { width: 8px; height: 8px; margin: 0; padding: 0; border: none; border-radius: 0; box-shadow: none; display: block; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.sec-voice .js-voice-list-slider.slick-slider .slick-dots li.slick-active button:before { opacity: 1; }
		.voicesingle-wrapper { flex-direction: column; gap: 20px; }
		.voicesingle-side { width: 100%; height: auto; border-radius: 15px; position: static; }
		.voicesingle-side img { width: 100%; height: 380px; object-position: 0 20%; }
		.voicesingle-content { width: 100%; }
	.message-wrap { border-radius: 15px; padding: 30px 15px 20px 15px }
	.message-wrap .ttl { font-size: 20px; }
	.message-wrap .division-wrapper { padding: 20px 0; flex-direction: column; align-items: start; gap: 15px; }
	.message-wrap .division-wrapper .join { padding: 5px 10px; }
	.message-wrap .division-wrap .division { margin-right: 15px; } 
	.message-wrap .division-wrap .name { font-size: 40px; margin-right: 5px; } 
	.message-wrap .division-wrap .san { font-size: 20px; }
	.exchange-wrap { margin-top: 30px; }
	.exchange-wrap .question { margin-bottom: 20px; margin-right: 10px; padding: 12px 20px; }
	.exchange-wrap .question::before { border-width: 0 6px 10px 6px; top: 20px; right: -10px; }
	.exchange-wrap .answer { margin-bottom: 20px; margin-left: 10px; padding: 12px 20px; }
	.exchange-wrap .answer::before { border-width: 0 6px 10px 6px; top: 20px; left: -11px; }
	.schedule-wrap { margin-top: -50px; padding: 40px 15px 30px 15px; border-width: 2px; border-radius: 20px; }
	.schedule-wrap .special-ttl .lg { font-size: 65px; }
	.schedule-dl dt { width: 85px; font-size: 25px; padding-bottom: 30px; }
	.schedule-dl dt::before { width: 15px; height: 15px; border-width: 4px; right: -10px; }
	.schedule-dl dt::after { width: 2px; }
	.schedule-dl dd { width: calc(100% - 85px); padding-bottom: 30px; padding-left: 30px; }
	.schedule-dl dd .ttl { font-size: 18px; line-height: 1.3; }
	.schedule-dl dd p { font-size: 13px; }
	.sec-related .voice-list { margin: 0; flex-wrap: wrap; }
	.sec-related .voice-list li { width: 100%; padding: 0; margin-bottom: 15px; }
	.sec-related .voice-list:hover li a { opacity: 1; }
	.sec-related .voice-list li a:hover { opacity: 1; }
	.sec-related .js-voice-list-slider li { height: 340px; }
	.sec-related .js-voice-list-slider.slick-slider { margin-left: 0; margin-right: 0; }
	.sec-related .js-voice-list-slider.slick-slider .slick-list { margin: 0 -2px; padding: 0 24px; overflow: hidden; }
	.sec-related .js-voice-list-slider.slick-slider .slick-track { display: block; }
	.sec-related .js-voice-list-slider.slick-slider .slick-slide { height: 340px; padding: 0 6px; margin-bottom: 0; box-sizing: border-box; }
	.sec-related .js-voice-list-slider.slick-slider .slick-slide > div { height: 100%; }
	.sec-related .js-voice-list-slider.slick-slider .slick-slide > div > li { height: 100%; margin-bottom: 0; }
	.sec-related .js-voice-list-slider.slick-slider .slick-slide > div > li > a { height: 100%; min-height: 0; }
	.sec-related .js-voice-list-slider.slick-slider .slick-dots { position: static; width: 100%; margin: 16px auto 0; padding: 0; display: flex !important; align-items: center; justify-content: center; gap: 8px; }
	.sec-related .js-voice-list-slider.slick-slider .slick-dots li { width: 8px; height: 8px; margin: 0; padding: 0; border: none; border-radius: 0; box-shadow: none; display: block; }
	.sec-related .js-voice-list-slider.slick-slider .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.sec-related .js-voice-list-slider.slick-slider .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.sec-related .js-voice-list-slider.slick-slider .slick-dots li.slick-active button:before { opacity: 1; }
	.contact-tel-wrap { margin: 0; padding: 20px 0; padding-left: 0; border-right: none; border-bottom: 1px solid #939393; align-items: center; }
	.contact-tel-wrap .tel { font-size: 28px; }
	.contact-tel-wrap .tel span { font-size: 16px; }
	.contact-request { margin: 0; padding: 20px 0; }
	.form-dl { flex-direction: column; }
	.form-dl dt { width: 100%; font-size: 16px; padding: 15px 0 5px; margin-top: 0; }
	.form-dl dd { width: 100%; font-size: 16px; padding: 5px 0 15px; }
	.form-dl dd input { padding: 10px 15px }
	.inner-flex { flex-direction: column; align-items: flex-start; }
	.inner-flex.zip { margin-bottom: 15px; flex-direction: initial; display: flex; align-items: center; }
	.inner-flex.zip dt { width: 80px; }
	.inner-flex.zip > span { font-size: 12px; }
	.inner-flex.zip dd { width: 95px; padding-bottom: 0; }
	.inner-flex dt { padding-top: 10px; }
	.form-dl textarea { height: 200px; padding: 10px 20px; }
	.privacy_contact .submit input { width: 230px; padding: 8px; }
	.data-list { gap: 20px; }
	.data-list > li,
	.data-list .slick-track > li,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide { width: 100%; padding: 40px 26px !important; box-sizing: border-box; border: 1px solid #939393; border-radius: 15px; background-color: #fff; box-shadow: none; text-align: center; }
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide > div > li { padding: 0 !important; border: none; border-radius: 0; background: transparent; }
	.data-list > li,
	.data-list .slick-track > li { box-shadow: none; border: 1px solid #939393; text-align: center; }
	.data-list > li.full,
	.data-list .slick-track > li.full,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.full { width: 100%; }
	.data-list > li .ttl,
	.data-list .slick-track > li .ttl,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide .ttl { font-size: 17px; line-height: 1.5; margin-bottom: 12px; text-align: center; }
	.data-list > li.overtime .ttl,
	.data-list .slick-track > li.overtime .ttl,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.overtime .ttl,
	.data-list > li.people .ttl,
	.data-list .slick-track > li.people .ttl,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .ttl { margin-bottom: 16px; }
	.data-list > li .data,
	.data-list .slick-track > li .data,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide .data { font-size: 35px; }
	.data-list > li .data span,
	.data-list .slick-track > li .data span,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide .data span { font-size: 20px; }
	.data-list > li .data-dl,
	.data-list .slick-track > li .data-dl,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide .data-dl { margin-bottom: 14px; }
	.data-list > li .data-dl dt,
	.data-list .slick-track > li .data-dl dt,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide .data-dl dt { width: 90px; min-width: 90px; margin-top: 0; justify-content: center; gap: 4px; }
	.data-list > li .data-dl dd,
	.data-list .slick-track > li .data-dl dd,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide .data-dl dd { width: auto; text-align: center; }
	.data-list > li .data-dl dd .subdivision,
	.data-list .slick-track > li .data-dl dd .subdivision,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide .data-dl dd .subdivision { margin-top: 0; }
	.data-list > li.people .data-dl dt,
	.data-list .slick-track > li.people .data-dl dt,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dt { width: 78px; min-width: 78px; justify-content: center; text-align: center; gap: 2px; }
	.data-list > li.people .data-dl dt .partition,
	.data-list .slick-track > li.people .data-dl dt .partition,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dt .partition { display: none; }
	.data-list > li.overtime .overtime-row,
	.data-list .slick-track > li.overtime .overtime-row,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.overtime .overtime-row { width: 100%; display: grid; grid-template-columns: 1fr; gap: 10px 0; }
	.data-list > li.overtime .overtime-row .data-dl,
	.data-list .slick-track > li.overtime .overtime-row .data-dl,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.overtime .overtime-row .data-dl { width: fit-content; margin: 0 auto; display: grid; grid-template-columns: 64px auto; column-gap: 6px; align-items: baseline; justify-content: center; }
	.data-list > li.overtime .overtime-row .data-dl dt,
	.data-list .slick-track > li.overtime .overtime-row .data-dl dt,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.overtime .overtime-row .data-dl dt { width: 64px; min-width: 64px; margin-top: 0; justify-content: flex-start; text-align: left; gap: 2px; }
	.data-list > li.overtime .overtime-row .data-dl dt .partition,
	.data-list .slick-track > li.overtime .overtime-row .data-dl dt .partition,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.overtime .overtime-row .data-dl dt .partition { display: none; }
	.data-list > li.overtime .overtime-row .data-dl dd,
	.data-list .slick-track > li.overtime .overtime-row .data-dl dd,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.overtime .overtime-row .data-dl dd { width: auto; text-align: left; }
	.data-list > li.overtime .overtime-row .data-dl dd .data,
	.data-list .slick-track > li.overtime .overtime-row .data-dl dd .data,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.overtime .overtime-row .data-dl dd .data { font-size: 24px; }
	.data-list > li.people .data-dl,
	.data-list .slick-track > li.people .data-dl,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl { width: fit-content; max-width: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 6px; margin: 0 auto 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(17, 17, 17, 0.2); }
	.data-list > li.people .data-dl:last-child,
	.data-list .slick-track > li.people .data-dl:last-child,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
	.data-list > li.people .data-dl dt,
	.data-list .slick-track > li.people .data-dl dt,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dt { width: auto; min-width: 0; margin-top: 0; justify-content: flex-start; text-align: left; gap: 0; }
	.data-list > li.people .data-dl dd,
	.data-list .slick-track > li.people .data-dl dd,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd { width: auto; flex: 0 0 auto; text-align: left; display: flex; justify-content: flex-start; }
	.data-list > li.people .data-dl dd .result-note,
	.data-list .slick-track > li.people .data-dl dd .result-note,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note { width: auto; max-width: 100%; margin-top: 0; padding: 0; display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: baseline; list-style: none; overflow: visible; gap: 0; }
	.data-list > li.people .data-dl dd .result-note .result-item,
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item { box-shadow: none; align-items: baseline; width: auto; margin-right: 0; padding: 0 4px 0 0; display: flex; justify-content: flex-start; font-size: 10px !important; line-height: 1 !important; letter-spacing: 0 !important; font-weight: 700 !important; color: #111111 !important; white-space: nowrap; border: none; border-radius: 0; background: none; }
	.data-list > li.people .data-dl dd .result-note .result-item:nth-child(1),
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item:nth-child(1),
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item:nth-child(1) { width: 74px; }
	.data-list > li.people .data-dl dd .result-note .result-item:nth-child(2),
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item:nth-child(2),
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item:nth-child(2) { width: 86px; }
	.data-list > li.people .data-dl dd .result-note .result-item:nth-child(3),
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item:nth-child(3),
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item:nth-child(3) { width: 74px; }
	.data-list > li.people .data-dl dd .result-note .result-item:last-child,
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item:last-child,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item:last-child { padding-right: 0; }
	.data-list > li.people .data-dl dd .result-note .result-item .label,
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item .label,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item .label { margin-right: 3px; line-height: 1; display: block; }
	.data-list > li.people .data-dl dd .result-note .result-item .value,
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item .value,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item .value { font-size: 24px; font-weight: bold; line-height: 1; letter-spacing: 0; color: #3366cc; display: block; }
	.data-list > li.people .data-dl dd .result-note .result-item .value span,
	.data-list .slick-track > li.people .data-dl dd .result-note .result-item .value span,
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide.people .data-dl dd .result-note .result-item .value span { font-size: 12px; margin-left: 2px; line-height: 1; }
	.js-workstyle-slider.slick-slider { margin-top: 30px; padding: 10px 0 18px; position: relative; }
	.js-workstyle-slider.slick-slider .slick-list { margin: 0 -6px; padding-bottom: 2px; overflow: hidden; }
	.js-workstyle-slider.slick-slider .slick-slide { height: auto; padding: 0 6px; }
	.js-workstyle-slider.slick-slider .slick-track > .slick-slide { margin: 0 6px 2px; }
	.js-workstyle-slider.slick-slider .slick-slide > div { height: auto; }
	.js-workstyle-slider.slick-slider .slick-dots { position: absolute; top: -25px; right: 8px; width: auto; margin: 0; padding: 0; z-index: 5; }
	.js-workstyle-slider.slick-slider .slick-dots li { width: 8px; height: 8px; margin: 0 0 0 6px; padding: 0; border: none; border-radius: 0; box-shadow: none; display: inline-block; }
	.js-workstyle-slider.slick-slider .slick-dots li:first-child { margin-left: 0; }
	.js-workstyle-slider.slick-slider .slick-dots li button { width: 8px; height: 8px; padding: 0; }
	.js-workstyle-slider.slick-slider .slick-dots li button:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: #3366cc; opacity: 0.35; top: 0; left: 0; }
	.js-workstyle-slider.slick-slider .slick-dots li.slick-active button:before { opacity: 1; }
}
