@charset "UTF-8";
/* CSS Document */
/* font
=========================================== */
@font-face { /*NotoSansJP*/
font-family: 'NotoSansJP'; src: url("../fonts/font/NotoSansJP-Regular.ttf"); src: url("../fonts/font/NotoSansJP-Regular.woff2") format("woff2"), url("../fonts/font/NotoSansJP-Regular.woff") format("woff"), url("../fonts/font/NotoSansJP-Regular.ttf") format("truetype"); font-weight: 400; }
@font-face { /*NotoSansJPミディアム*/
font-family: 'NotoSansJP'; src: url("../fonts/font/NotoSansJP-Medium.ttf"); src: url("../fonts/font/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/font/NotoSansJP-Medium.woff") format("woff"), url("../fonts/font/NotoSansJP-Medium.ttf") format("truetype"); font-weight: 500; }
@font-face { /*NotoSansJPボールド*/
font-family: 'NotoSansJP'; src: url("../fonts/font/NotoSansJP-Bold.ttf"); src: url("../fonts/font/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/font/NotoSansJP-Bold.woff") format("woff"), url("../fonts/font/NotoSansJP-Bold.ttf") format("truetype"); font-weight: 700; }
@font-face { /*NotoSansJPエクストラボールド*/
font-family: 'NotoSansJP'; src: url("../fonts/font/NotoSansJP-ExtraBold.ttf"); src: url("../fonts/font/NotoSansJP-ExtraBold.woff2") format("woff2"), url("../fonts/font/NotoSansJP-ExtraBold.woff") format("woff"), url("../fonts/font/NotoSansJP-ExtraBold.ttf") format("truetype"); font-weight: 800; }
@font-face { /*Interミディアム*/
font-family: "Inter"; src: url("../fonts/font/Inter-Medium.ttf"); src: url("../fonts/font/Inter-Medium.woff2") format("woff2"), url("../fonts/font/Inter-Medium.woff") format("woff"), url("../fonts/font/Inter-Medium.ttf") format("truetype"); font-weight: 500; }
@font-face { /*Interボールド*/
font-family: "Inter"; src: url("../fonts/font/Inter-Bold.ttf"); src: url("../fonts/font/Inter-Bold.woff2") format("woff2"), url("../fonts/font/Inter-Bold.woff") format("woff"), url("../fonts/font/Inter-Bold.ttf") format("truetype"); font-weight: 700; }
/* Link
=========================================== */
a:link, a:visited { color: #0F0F0F; text-decoration: none; }

a:hover, a:active { color: #0F0F0F; text-decoration: underline; }

a { outline: none; transition: 0.3s; }

a img { transition: 0.3s; }

:focus { outline: none; }

/* LAYOUT
=========================================== */
body { overflow: hidden; width: 100%; }

.pc { display: none !important; }

.sp { display: block; }

body { color: #0F0F0F; background: #FFFFFF; font-size: 16px; line-height: 1.5; font-family: 'NotoSansJP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-weight: 400; font-style: normal; word-break: break-all; }

img { width: 100%; height: auto; }

table { width: 100%; table-layout: fixed; }

h1, h2, h3, h4, h5, h6 { font-weight: 700; }

.wrap { position: relative; }

input, select { -webkit-appearance: auto; appearance: auto; }

/*共通設定*/
.btn01 { width: 100%; max-width: 340px; height: 70px; margin: 60px auto 0; }

.btn01 a { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 100%; padding: 22px 23px 22px 39px; box-sizing: border-box; position: relative; background: #FFFFFF; border: 1px solid #0B50CF; border-radius: 35px; }

.btn01 a .btn-text { color: #0B50CF; font-weight: 700; }

.btn01 a .arrow { display: block; width: 22px; height: 22px; background: #0A50CF; border-radius: 50%; position: relative; }

.btn01 a .arrow::before { content: ""; display: block; width: 9px; height: 9px; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.btn01 a:hover { text-decoration: none; }

.btn01.shiro a { background: transparent; border: 1px solid #FFFFFF; }

.btn01.shiro a .btn-text { color: #FFFFFF; }

.btn01.shiro a .arrow { background: #FFFFFF; }

.btn01.shiro a .arrow::before { filter: brightness(0) saturate(100%) invert(25%) sepia(52%) saturate(3365%) hue-rotate(207deg) brightness(92%) contrast(98%); }

.contact_btn { width: 100%; max-width: 295px; height: 50px; margin: 0 auto; }

.contact_btn a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 11px 18px 12px; box-sizing: border-box; background: #FFF000; border: 2px solid #0F0F0F; border-radius: 50px; }

.contact_btn a .btn-text { font-weight: 700; padding-left: 25px; box-sizing: border-box; position: relative; transition: 0.3s; }

.contact_btn a .btn-text::before { content: ""; display: block; width: 15px; height: 12px; background: url("../img/common/icon_mail.svg"); background-size: contain; position: absolute; top: 7px; left: 0; }

.title01 { margin-bottom: 60px; }

.title01 .ja { display: block; font-size: 18px; line-height: 1.44; padding-left: 16px; box-sizing: border-box; position: relative; margin-bottom: 10px; }

.title01 .ja::before { content: ""; display: block; width: 8px; height: 8px; background: #0B50CF; border-radius: 50%; position: absolute; top: 11px; left: 0; }

.title01 .en { display: block; font-family: "Inter"; font-size: 40px; color: #0B50CF; line-height: 1.2; font-weight: 500; }

.title01.shiro .ja::before { background: #FFFFFF; }

.title01.shiro .en { color: #FFFFFF; }

.tel_box { display: inline-block; }

.tel_box .tel .num { font-size: 40px; font-weight: 500; line-height: 1.2; color: #0B50CF; padding-left: 40px; position: relative; }

.tel_box .tel .num::before { content: ""; display: block; width: 36px; height: 36px; background: url("../img/common/icon_tel_sp.svg") no-repeat center; background-size: contain; position: absolute; top: 6px; left: 0; }

.tel_box .tel-text { font-size: 14px; line-height: 1.43; font-weight: 500; text-align: right; }

.fax-num { font-size: 14px; font-weight: 500; text-align: center; }

.fax-num em { font-size: 24px; }

.common_line { width: 100%; height: 1px; background: #0A50CF; position: relative; }

.common_line::before, .common_line::after { content: ""; display: block; width: 4px; height: 4px; background: #0A50CF; border-radius: 50%; position: absolute; top: 50%; transform: translateY(-50%); }

.common_line::before { left: 0; }

.common_line::after { right: 0; }

.common_line.gray { background: #EEEEEE; }

.common_line.gray::before, .common_line.gray::after { background: #EEEEEE; }

.text-bg { display: inline-block; padding: 1px 5px 3px; box-sizing: border-box; background: #0B50CF; color: #FFFFFF; margin: 6px 5px 6px 0; }

.under-cont > section { padding: 100px 5%; background: #F7F9FF; }

.under-cont > section:first-child { padding-top: 68px; }

.under-cont > section:nth-child(2n) { background: #FFFFFF; }

.grecaptcha-badge { visibility: hidden; }

/*ウェブフォント*/
.normal { font-weight: 400; }

.medium { font-weight: 500; }

.bold { font-weight: 700; }

.black { font-weight: 900; }

.common_text { line-height: 2; }

.tcenter { text-align: center; }

.tleft { text-align: left; }

.tright { text-align: right; }

.inter { font-family: "Inter"; }

/*色*/
.shiro { color: #fff; }

.ao { color: #0A50CF; }

.ao02 { color: #0B50CF; }

.yellow { color: #FFF000; }

.mt20 { margin-top: 20px; }

.flex { width: 100%; margin: 0; padding: 0; display: -webkit-box; display: -moz-box; display: -ms-box; display: -webkit-flexbox; display: -moz-flexbox; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

/*header
---------------------------------------------------------------*/
#header { width: 100%; height: 63px; position: fixed; transition: 0.3s; left: 0; right: 0; top: 0; margin: auto; z-index: 100; background: #fff; }

#header .header_inner { height: 100%; padding: 0 20px; box-sizing: border-box; justify-content: space-between; align-items: center; flex-wrap: nowrap; }

#header .header_inner .logo_box { width: 130px; position: relative; z-index: 1; }

#header .header_inner .logo { display: block; width: 100%; }

#header .header_inner .logo a { display: block; width: 100%; position: relative; }

#header .header_inner .logo a .logo-img02 { position: absolute; top: 0; left: 0; opacity: 0; }

#header .header_inner .logo .logo-text { display: none; }

#header .header_inner .right { width: 40px; height: 100%; justify-content: flex-end; margin-right: 50px; }

#header .header_inner .right .right_top { width: 100%; height: 100%; justify-content: flex-end; align-items: center; }

#header .header_inner .right .right_top .icon_text { display: none; }

#header .header_inner .right .right_top .tel_box { width: 100%; height: 40px; }

#header .header_inner .right .right_top .tel_box .tel { width: 100%; height: 100%; }

#header .header_inner .right .right_top .tel_box .tel a { display: block; width: 100%; height: 100%; background: url("../img/common/icon_tel02.svg") no-repeat center, #0A50CF; border-radius: 50%; background-size: 16px; }

#header .header_inner .right .right_top .tel_box .tel .num { display: none; }

#header .header_inner .right .right_top .tel_box .tel-text { display: none; }

#header .header_inner .right .right_top .contact_btn { display: none; }

/*gnav*/
.gnav { display: none; }

/* CTA */
#fixed-box { display: block; width: 100%; background: #F7F9FF; position: fixed; bottom: -1px; left: 0; z-index: 10; transition: 0.3s; }

.fixed #fixed-box { bottom: -1px; }

#fixed-box .close-btn { display: flex;justify-content: center;align-items: center;width: 100%; height: 25px; background: #0A50CF; cursor: pointer; position: relative; transition: 0.3s; }

#fixed-box .close-btn img { display: block;width: 8px; transform: rotate(-90deg); }

#fixed-box .close-btn .text {font-size: 13px;color: #FFF;margin-right: 10px;}

#fixed-box .close-btn .text .close-text {display: none;}

#fixed-box .close-btn .text .open-text {display: block;}

#fixed-box .box_in { width: 100%; padding: 10px 10px 15px; box-sizing: border-box; max-width: 350px; margin: 0 auto; }

#fixed-box .box_in .midashi { font-weight: 800; line-height: 1.44; margin-bottom: 7px; }

#fixed-box .box_in .box { width: 100%; padding-right: 70px; box-sizing: border-box; position: relative; z-index: 1; }

#fixed-box .box_in .box .sub_text { font-size: 12px; line-height: 1.46; }

#fixed-box .box_in .box .sub_text span { display: inline-block; padding: 2px 10px; background: #0A50CF; border-radius: 18px; box-sizing: border-box; margin-right: 5px; }

#fixed-box .box_in .box .contact_btn { width: 100%; max-width: 240px; height: 40px; margin: 12px 0 0; }

#fixed-box .box_in .box .contact_btn a { padding: 9px 8px; border-radius: 20px; }

#fixed-box .box_in .box .contact_btn a .btn-text { font-size: 12px; line-height: 1.46; padding-left: 20px; }

#fixed-box .box_in .box .contact_btn a .btn-text::before { width: 14px; height: 11px; top: 5px; }

#fixed-box .box_in .box .img { width: 97px; position: absolute; bottom: -5px; right: -5px; z-index: -1; }

#fixed-box.is-closed { bottom: -129px; }

#fixed-box.is-closed .close-btn img { transform: rotate(90deg); }

#fixed-box.is-closed .close-btn .text .close-text {display: block;}

#fixed-box.is-closed .close-btn .text .open-text {display: none;}

/* nav
=========================================== */
.sp-nav-btn { width: 40px; height: 40px; background: #FFFFFF; border: 2px solid #0B50CF; border-radius: 50%; position: relative; z-index: 101; box-sizing: border-box; transition: 0.3s; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); }

.sp-nav-btn .sp-nav-btn_in { width: 14px; height: 12px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.sp-nav-btn span { width: 100%; height: 2px; background: #0B50CF; border-radius: 2px; position: absolute; left: 0; transition: 0.3s; }

.sp-nav-btn .border01 { top: 0; }

.sp-nav-btn .border02 { top: 50%; transform: translateY(-50%); }

.sp-nav-btn .border03 { bottom: 0; }

.sp-nav-btn.opon .border01 { transform: translate(-50%, -50%) rotateZ(45deg); top: 50%; left: 50%; }

.sp-nav-btn.opon .border02 { display: none; }

.sp-nav-btn.opon .border03 { transform: translate(-50%, 50%) rotateZ(-45deg); bottom: 50%; left: 50%; }

.sp-nav-list .overlay-nav { visibility: hidden; width: 100%; height: 100%; position: fixed; top: 0; right: 0; background: rgba(0, 0, 0, 0.4); opacity: 0; }

.sp-nav-list .overlay-nav.opon { visibility: visible; opacity: 1; }

.sp-nav-list .navs-list { position: fixed; width: 100%; height: calc(100% - 62px); z-index: 99; top: 62px; right: -100%; transition: 0.3s; overflow-x: hidden; overflow-y: auto; background: #FFFFFF; padding: 40px 20px; box-sizing: border-box; text-align: center; }

.sp-nav-list .navs-list.opon { right: 0; }

.sp-nav-list .navs-list > ul { margin-bottom: 60px; text-align: left; }

.sp-nav-list .navs-list .contact_btn { margin-bottom: 40px; }

.sp-nav-list .navs-list .fax-num { margin-top: 15px; }

/* main */
/*-------------------------------------------*/
#main { margin-top: 63px; }

#main.home_main { width: 100%; padding: 100px 5% 50px; box-sizing: border-box; background: url("../img/main/main_bg_sp.jpg") no-repeat center top; background-size: cover; position: relative; margin-top: 0; }

#main.home_main .bg-text { width: 100%; height: 109px; background: url("../img/main/main_text.png") repeat-X center; background-size: cover; position: absolute; bottom: 152px; left: 0; animation: bgMoveMain 80s linear infinite; }

@keyframes bgMoveMain { 0% { background-position: 0 0; }
  100% { background-position: -1955px 0; } }
#main.home_main .main_box { display: block; width: 100%; position: relative; z-index: 1; }

#main.home_main .main_box .text_box { position: relative; z-index: 1; max-width: 350px; margin: 0 auto; }

#main.home_main .main_box .text_box .sub_title { font-size: 21px; line-height: 58px; }

#main.home_main .main_box .text_box .sub_title em { display: inline-block; font-size: 40px; position: relative; }

#main.home_main .main_box .text_box .sub_title em::before { content: "ゼロ"; display: block; width: 24px; font-size: 12px; line-height: 17px; position: absolute; top: -2px; left: 50%; transform: translateX(-50%); }

#main.home_main .main_box .text_box h2 { margin-bottom: 30px; }

#main.home_main .main_box .text_box h2 > span { display: block; font-size: 40px; line-height: 1.45; }

#main.home_main .main_box .text_box h2 > span .mini { font-size: 35px; }

#main.home_main .main_box .text_box .main-list { justify-content: center; }

#main.home_main .main_box .text_box .main-list li { display: table; width: 95px; height: 95px; border: 2px solid #FFFFFF; box-sizing: border-box; border-radius: 50%; text-align: center; margin-right: 15px; }

#main.home_main .main_box .text_box .main-list li:last-child { margin-right: 0; }

#main.home_main .main_box .text_box .main-list li span { display: table-cell; font-size: 17px; vertical-align: middle; }

#main.home_main .main_box .img_box { width: 100%; max-height: 240px; margin: 19px auto 10px; position: relative;aspect-ratio: 67 / 48; }

#main.home_main .main_box .img_box img {width: 100vw;max-width: 410px;position: absolute;top: 0;left: 50%;transform: translateX(-50%);}

#main.home_main .main_news_box { display: block; padding: 25px 20px 30px; box-sizing: border-box; background: #FFFFFF; border-radius: 10px; position: relative; z-index: 1; }

#main.home_main .main_news_box h2 { align-items: flex-end; margin-bottom: 20px; }

#main.home_main .main_news_box h2 .ja { font-size: 14px; }

#main.home_main .main_news_box h2 .en { font-size: 12px; font-weight: 500; margin-left: 8px; }

#main.home_main .main_news_box .top-news01 a { display: block; width: 100%; }

#main.home_main .main_news_box .top-news01 a .time { display: block; font-size: 12px; line-height: 15px; }

#main.home_main .main_news_box .top-news01 a .title { font-size: 14px; line-height: 20px; font-weight: 400; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }

#main.home_main .main_news_box .btn { width: 100px; height: 30px; position: absolute; top: 20px; right: 20px; }

#main.home_main .main_news_box .btn a { display: block; width: 100%; height: 100%; padding: 8px 18px; box-sizing: border-box; background-image: url("../img/common/btn_arrow.svg"); background-repeat: no-repeat; background-position: center right 11px; background-size: 7px; background-color: #0B50CF; border-radius: 18px; }

#main.home_main .main_news_box .btn a .btn-text { display: block; font-size: 11px; line-height: 14px; font-weight: 500; color: #FFFFFF; }

/* 下層 main */
/*-------------------------------------------*/
#main.kasou { width: 100%; position: relative; background: url("../img/main/kasou_bg_sp.jpg") no-repeat center; background-size: cover; }

#main.kasou .wrap { width: 100%; min-height: 130px; padding: 62px 5% 30px; box-sizing: border-box; }

#main.kasou img { display: block; width: auto; height: 53px; position: absolute; top: 30px; left: 40px; }

#main.kasou h1.main_title { font-size: 26px; line-height: 1.44; color: #FFFFFF; position: relative; z-index: 1; }

/*パンくず*/
div#bread { width: 100%; padding: 4px 5% 0; box-sizing: border-box; background: #F7F9FF; }

ul.bread-list { font-size: 13px; justify-content: flex-end; }

ul.bread-list li { line-height: 19px; }

ul.bread-list li a { text-decoration: none; line-height: 19px; }

ul.bread-list li a:hover { text-decoration: underline; }

ul.bread-list li::after { content: "＞"; margin: 0 4px; }

ul.bread-list li:last-child::after { display: none; }

/* TOPへ戻る・追従 */
/*-------------------------------------------*/
#fixed_trigger { position: absolute; left: 0; top: 50px; z-index: -100; }

/* CLEARFIX
=========================================== */
.cf:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; overflow: hidden; font-size: 0.1em; line-height: 0; }

.cf { min-height: 1px; }

* html .cf { height: 1px; /*¥*/ 	                 /*/ height: auto; overflow: hidden; /**/ }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }

input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

/*ライトボックス設定*/
#fancybox-wrap { padding: 0 !important; width: 100% !important; left: 0 !important; }

div#fancybox-content { border: none; width: 92% !important; padding: 2%; margin: 2%; height: auto !important; }

div#fancybox-outer { background: none; }

#fancybox-close { position: absolute; top: 0 !important; right: 0 !important; }

section { position: relative; }

/* footer */
/*-------------------------------------------*/
#contact-sec { padding: 100px 5% 137px; background: url("../img/common/contact_bg_sp.png") no-repeat right bottom; background-size: cover; color: #FFFFFF; }

#contact-sec .title { margin-bottom: 30px; }

#contact-sec .title .en { display: block; font-size: 22px; font-weight: 600; line-height: 1.2; margin-bottom: 10px; }

#contact-sec .title .ja { display: block; font-size: 40px; line-height: 1.45; }

#contact-sec .list { justify-content: center; margin-bottom: 30px; }

#contact-sec .list li { padding: 4px 30px; box-sizing: border-box; background: #0B50CF; border-radius: 35px; font-weight: 700; margin: 0 5px 10px 0; }

#contact-sec .list li:last-child { margin-right: 0; }

#contact-sec .box-list { display: block; margin-top: 60px; }

#contact-sec .box-list .box { padding: 60px 0; text-align: center; box-sizing: border-box; position: relative; }

#contact-sec .box-list .box::before { content: ""; display: block; width: 100vw; height: 1px; background: #174BAA; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }

#contact-sec .box-list .box.box_left .tel_box .tel .num { color: #FFF000; }

#contact-sec .box-list .box.box_left .tel_box .tel .num::before { background: url("../img/common/icon_tel03.svg") no-repeat center; background-size: contain; }

#contact-sec .box-list .box.box_left .fax-num { margin-top: 20px; }

#contact-sec .box-list .box.box_right { padding-bottom: 0; }

#contact-sec .box-list .box.box_right .box_in { display: block; }

#contact-sec .box-list .box.box_right .box_in h3 { text-align: center; }

#contact-sec .box-list .box.box_right .box_in h3 .en { display: block; font-size: 40px; font-weight: 500; line-height: 1.25; margin-bottom: 10px; }

#contact-sec .box-list .box.box_right .box_in h3 .ja { display: block; font-size: 18px; line-height: 1.45; }

#contact-sec .box-list .box.box_right .box_in a { display: block; width: 70px; height: 70px; background: #FFF000; border: 1px solid #FFF000; box-sizing: border-box; border-radius: 50%; position: relative; margin: 40px auto 0; }

#contact-sec .box-list .box.box_right .box_in a img { display: block; width: 20px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0s; }

#map-sec { width: 100%; height: 100%; aspect-ratio: 1 / 1; position: relative; margin-top: -30px; z-index: -1; }

#map-sec iframe { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

#footer { padding: 55px 5% 25px; }

#footer .footer_box { display: block; margin-bottom: 63px; }

#footer .footer_box .left { max-width: 220px; margin: 0 auto 60px; text-align: center; }

#footer .footer_box .left .logo { display: block; }

#footer .footer_box .left .logo a { display: block; width: 130px; margin: 0 auto 12px; }

#footer .footer_box .left .logo .logo-text { font-size: 11px; font-weight: 400; }

#footer .footer_box .left .address { font-size: 11px; margin-top: 20px; }

#footer .footer_box .left .address span { display: block; }

#footer .footer_box .right { display: block; }

#footer .footer_box .right .navs-list { display: block; }

#footer .footer_box .right .navs-list > ul.navs-list01 { display: none; }

#footer .footer_box .right .navs-list > ul > li:first-child { padding-top: 25px; }

#footer .footer_box .right .navs-list > ul.navs-list02 > li:first-child { padding-top: 0; }

.navs-list > ul { padding: 0 20px; box-sizing: border-box; }

.navs-list > ul > li { padding: 25px 10px; box-sizing: border-box; border-bottom: 1px solid #EEEEEE; }

.navs-list > ul > li:first-child { padding-top: 0; }

.navs-list > ul > li > a, .navs-list > ul > li .nav-midashi { display: block; font-size: 18px; font-weight: 500; position: relative; color: #0F0F0F; transition: 0.3s; }

.navs-list > ul > li .nav-midashi span { display: inline-block; padding-right: 20px; box-sizing: border-box; position: relative; }

.navs-list > ul > li .nav-midashi span::after { content: ""; display: block; width: 13px; height: 7px; background: url("../img/common/spnav_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; right: 0; transform: translateY(-50%); transition: 0.3s; }

.navs-list > ul > li:has(.nav-midashi.on) { border-bottom: 1px solid #0B50CF; }

.navs-list > ul > li .nav-midashi.on { color: #0B50CF; }

.navs-list > ul > li .nav-midashi.on span::after { transform: translateY(-50%) rotate(180deg); }

.navs-list > ul > li .sp-nav { justify-content: space-between; }

.navs-list > ul > li .sp-nav li { width: calc(50% - 15px); margin-top: 15px; }

.navs-list > ul > li .sp-nav li a { display: block;padding-left: 23px; box-sizing: border-box; position: relative; }

.navs-list > ul > li .sp-nav li a::before { content: ""; display: block; width: 16px; height: 16px; background: url(../img/common/btn_arrow.svg) no-repeat center, #0A50CF; background-size: 5px; border-radius: 50%; position: absolute; top: 4px; left: 0; }

#footer .bottom_box { margin-top: 23px; }

#footer .bottom_box .bottom_box_in { display: block; }

#footer .bottom_box .link_list { width: auto; justify-content: center; }

#footer .bottom_box .link_list li { font-size: 12px; line-height: 1.42; margin-right: 30px; }

#footer .bottom_box .link_list li:last-child { margin-right: 0; }

#footer .bottom_box .copyright { font-size: 11px; line-height: 1.3; text-align: center; margin-top: 20px; }

#footer .bottom_box .bottom_text { padding: 30px 20px; box-sizing: border-box; background: #F6F6F6; font-size: 12px; margin-top: 40px; }

/*parts
=========================================== */
.slider01 { margin-bottom: 0 !important; }
.slider01 .slick-list { overflow: visible; }
.slider01 .slick-prev, .slider01 .slick-next { width: 50px; height: 50px; background: transparent; border-radius: 50%; border: 1px solid #DDDDDD; box-sizing: border-box; top: auto; bottom: 0; transform: translate(0, 0); transition: 0.3s; }
.slider01 .slick-prev::before, .slider01 .slick-next::before { content: ""; display: block; width: 13px; height: 14px; opacity: 1; background: url("../img/common/slide_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.slider01 .slick-prev { left: 50%; transform: translateX(-58px); }
.slider01 .slick-prev::before { transform: translate(-50%, -50%) scale(-1, 1); }
.slider01 .slick-next { left: auto; right: 50%; transform: translateX(58px); }

.slider01:has(.slick-prev) { padding-bottom: 90px; }

.slider01:has(.slick-next) { padding-bottom: 90px; }

.works01 a { display: block; width: 100%; position: relative; }
.works01 a .img { width: 100%; aspect-ratio: 335 / 241; position: relative; margin-bottom: 22px; overflow: hidden; }
.works01 a .img .img_in { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; }
.works01 a .title { font-size: 22px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.works01 a .works-cate-list { margin-bottom: 20px; }
.works01 a .works-cate-list li { padding: 3px 19px; box-sizing: border-box; border: 1px solid #0F0F0F; border-radius: 18px; font-size: 14px; line-height: 1.43; font-weight: 500; margin: 8px 10px 0 0; }
.works01 a .works-cate-list li:last-child { margin-right: 0; }
.works01 a .info-list { padding-right: 30px; box-sizing: border-box; margin-top: 20px; }
.works01 a .info-list li { font-size: 14px; margin-bottom: 4px; }
.works01 a .info-list li:last-child { margin-bottom: 0; }
.works01 a .info-list li .th { display: block; width: 70px; padding-right: 14px; box-sizing: border-box; font-weight: 500; position: relative; }
.works01 a .info-list li .th::before { content: "："; display: block; font-weight: 400; position: absolute; top: 0; right: 0; }
.works01 a .info-list li .td { display: block; width: calc(100% - 70px); padding-left: 13px; box-sizing: border-box; }
.works01 a .arrow { display: block; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #0B50CF; box-sizing: border-box; position: absolute; bottom: 0; right: 0; transition: 0.3s; z-index: 1; }
.works01 a .arrow::before { content: ""; display: block; width: 9px; height: 9px; background: url(../img/common/btn_arrow.svg) no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: brightness(0) saturate(100%) invert(12%) sepia(82%) saturate(6894%) hue-rotate(217deg) brightness(95%) contrast(91%); }

.blog01 a { display: block; width: 100%; padding: 40px 20px 30px 0; box-sizing: border-box; border-right: 1px solid #EEEEEE; position: relative; }
.blog01 a::before, .blog01 a::after { content: ""; display: block; width: 4px; height: 4px; background: #EEEEEE; border-radius: 50%; position: absolute; right: -2px; }
.blog01 a::before { top: 0; }
.blog01 a::after { bottom: 0; }
.blog01 a .img { width: 100%; aspect-ratio: 11 / 8; position: relative; margin-bottom: 30px; overflow: hidden; }
.blog01 a .img .img_in { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; }
.blog01 a .title { font-weight: 400; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.blog01 a .blog_cate_box { align-items: flex-start; justify-content: space-between; margin-top: 10px; }
.blog01 a .blog_cate_box .cate-list { width: auto; }
.blog01 a .blog_cate_box .cate-list li { padding: 3px 19px; box-sizing: border-box; border: 1px solid #0F0F0F; border-radius: 18px; font-size: 12px; font-weight: 500; margin: 10px 10px 0 0; }
.blog01 a .blog_cate_box .cate-list li:last-child { margin-right: 0; }
.blog01 a .blog_cate_box .time { font-size: 14px; margin-top: 15px; color: #AAAAAA; }

.blog02.blog01 { width: 100%; }
.blog02.blog01 a { padding: 0; border-right: 0; }
.blog02.blog01 a::before, .blog02.blog01 a::after { display: none; }
.blog02.blog01 a .img { aspect-ratio: 335 / 214; margin-bottom: 0; }
.blog02.blog01 a .title { font-size: 18px; font-weight: 700; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; margin-top: 20px; }
.blog02.blog01 a .blog_cate_box { margin-top: 20px; }
.blog02.blog01 a .blog_cate_box .cate-list li { border: 1px solid #0B50CF; font-size: 14px; line-height: 1.43; color: #0B50CF; }
.blog02.blog01 a .blog_cate_box .time { margin-top: 20px; font-weight: 500; color: #0F0F0F; }

.wrap.twin div#two-side { margin-top: 100px; }
.wrap.twin div#two-side .side_box .side-title { padding: 18px 20px; box-sizing: border-box; background: #0B50CF; margin-bottom: 20px; }
.wrap.twin div#two-side .side_box .side-link > li:first-child a { padding-top: 0; }
.wrap.twin div#two-side .side_box .side-link > li:first-child a::before { top: 7px; transform: translateY(0); }
.wrap.twin div#two-side .side_box .side-link > li > a { display: block; padding: 20px 15px 20px 0; box-sizing: border-box; border-bottom: 1px solid #A6B4CE; font-weight: 700; position: relative; }
.wrap.twin div#two-side .side_box .side-link > li > a:hover { text-decoration: none; }
.wrap.twin div#two-side .side_box .side-link > li > a::before { content: ""; display: block; width: 9px; height: 13px; background: url("../img/common/side_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; right: 0; transform: translateY(-50%); }
.wrap.twin div#two-side .side_box .side-link > li.on_cat > a { color: #0B50CF; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; width: 37px; height: 37px; border: 1px solid #0B50CF; border-radius: 50%; box-sizing: border-box; background: #FFFFFF; margin: 0 1px; text-decoration: none; font-family: "Inter"; font-size: 15px; font-weight: 500; color: #0B50CF; line-height: 37px; transition: 0.3s; }

.wp-pagenavi { text-align: center; margin-top: 90px; }
.wp-pagenavi a:hover, .wp-pagenavi span.current { background: #0B50CF; color: #FFFFFF; }
.wp-pagenavi a.page { position: relative; }
.wp-pagenavi span.extend { width: auto; margin: 0; border: 0; background: transparent; font-size: 12px; }
.wp-pagenavi span.pages { display: none; }
.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink { position: relative; color: transparent; }
.wp-pagenavi a.previouspostslink:hover, .wp-pagenavi a.nextpostslink:hover { color: transparent; }
.wp-pagenavi a.previouspostslink:hover::before, .wp-pagenavi a.nextpostslink:hover::before { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(2deg) brightness(100%) contrast(107%); }
.wp-pagenavi a.previouspostslink::before, .wp-pagenavi a.nextpostslink::before { content: ""; width: 8px; height: 14px; background: url("../img/common/page_arrow01.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.wp-pagenavi a.previouspostslink::before { transform: translate(-50%, -50%) scale(-1, 1); }
.wp-pagenavi a.first, .wp-pagenavi a.last { position: relative; color: transparent; }
.wp-pagenavi a.first:hover, .wp-pagenavi a.last:hover { color: transparent; }
.wp-pagenavi a.first:hover::before, .wp-pagenavi a.last:hover::before { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(2deg) brightness(100%) contrast(107%); }
.wp-pagenavi a.first::before, .wp-pagenavi a.last::before { content: ""; width: 14px; height: 14px; background: url("../img/common/page_arrow02.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.wp-pagenavi a.first { margin-left: 0; }
.wp-pagenavi a.first::before { transform: translate(-50%, -50%) scale(-1, 1); }
.wp-pagenavi a.last { margin-top: 0; }

.post-navigation { margin-top: 60px; }

.post-navigation ul { justify-content: center; align-items: center; position: relative; }

.post-navigation ul > li a { display: block; width: 45px; height: 45px; padding: 0; box-sizing: border-box; position: relative; color: transparent; }
.post-navigation ul > li a:focus, .post-navigation ul > li a:hover { text-decoration: none; }
.post-navigation ul > li a:focus::before, .post-navigation ul > li a:hover::before { background: url("../img/common/page_arrow03_h.png") no-repeat center; background-size: contain; }
.post-navigation ul > li a::before { content: ""; display: block; width: 100%; height: 100%; background: url("../img/common/page_arrow03.png") no-repeat center; background-size: contain; position: absolute; top: 0; left: 0; transition: 0.3s; }

.post-navigation ul > li.prev a::before { transform: scale(-1, 1); }

.post-navigation ul > li.blog-back { margin: 0 10px; }
.post-navigation ul > li.blog-back a { width: 165px; padding: 10px 0; background: #FFFFFF; border: 1px solid #0B50CF; border-radius: 40px; color: #0B50CF; text-align: center; font-size: 15px; line-height: 22px; font-weight: 700; }
.post-navigation ul > li.blog-back a:focus, .post-navigation ul > li.blog-back a:hover { background: #0B50CF; color: #FFFFFF; }
.post-navigation ul > li.blog-back a::before { display: none; }

.post-navigation ul > li.kara { opacity: 0; pointer-events: none; }

/*TOPページ　p01
=========================================== */
.home #header { background: transparent; color: #FFFFFF; }
.home #header .header_inner .logo a .logo-img01 { opacity: 0; }
.home #header .header_inner .logo a .logo-img02 { opacity: 1; }

.home.fixed #header, .home:has(.navs-list.opon) #header { background: #FFFFFF; color: #0F0F0F; }
.home.fixed #header .header_inner .logo a .logo-img01, .home:has(.navs-list.opon) #header .header_inner .logo a .logo-img01 { opacity: 1; }
.home.fixed #header .header_inner .logo a .logo-img02, .home:has(.navs-list.opon) #header .header_inner .logo a .logo-img02 { opacity: 0; }

#num_slider { padding: 30px 0; }

.num-list .num_box { padding: 12px 30px 13px; box-sizing: border-box; border-right: 1px solid #0B50CF; position: relative; }
.num-list .num_box:last-child { border-right: 0; }
.num-list .num_box:last-child::before, .num-list .num_box:last-child::after { display: none; }
.num-list .num_box::before, .num-list .num_box::after { content: ""; display: block; width: 7px; height: 7px; background: #0B50CF; border-radius: 50%; position: absolute; right: -3.5px; }
.num-list .num_box::before { top: 0; }
.num-list .num_box::after { bottom: 0; }
.num-list .num_box .midashi { padding-left: 12px; box-sizing: border-box; font-size: 12px; line-height: 1.46; position: relative; }
.num-list .num_box .midashi::before { content: ""; display: block; width: 6px; height: 6px; background: #0B50CF; border-radius: 50%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
.num-list .num_box .num { font-size: 18px; }
.num-list .num_box .num em { font-size: 40px; line-height: 1.2; font-weight: 700; }
.num-list .num_box .num .big { font-size: 18px; }
.num-list .num_box.num_box06 .num .big { margin-left: 3px; }

#topbox01 { padding: 90px 5% 100px; background: #F7F9FF; }
#topbox01 .img { width: 100vw; position: relative; margin-bottom: 60px; }
#topbox01 .img img { display: block; width: 100%; }
#topbox01 .midashi { font-size: 26px; line-height: 1.42; margin-bottom: 60px; }

#topbox02 { padding: 100px 5%; position: relative; }
#topbox02::before { content: ""; display: block; width: 247px; height: 278px; background: url("../img/top/img02.png") no-repeat center; background-size: contain; position: absolute; top: -96px; right: -14px; z-index: 1; }
#topbox02::after { content: ""; display: block; width: 147px; height: 31px; background: url("../img/top/bg01_i_sp.png") no-repeat bottom right; background-size: cover; position: absolute; bottom: -30px; left: 0; z-index: 1; }
#topbox02 .cnt { display: block; }
#topbox02 .cnt .right .strengths-list li a { display: block; padding: 33px 0; box-sizing: border-box; position: relative; }
#topbox02 .cnt .right .strengths-list li a .text_box { justify-content: space-between; align-items: center; padding: 20px 20px 0; box-sizing: border-box; position: relative; }
#topbox02 .cnt .right .strengths-list li a .text_box .num { font-size: 12px; font-weight: 500; position: absolute; top: 0; left: 0; }
#topbox02 .cnt .right .strengths-list li a .text_box p { width: calc(100% - 30px); }
#topbox02 .cnt .right .strengths-list li a .text_box .arrow { display: block; width: 22px; height: 22px; border-radius: 50%; border: 1px solid #0A50CF; box-sizing: border-box; position: relative; transition: 0.3s; }
#topbox02 .cnt .right .strengths-list li a .text_box .arrow::before { content: ""; display: block; width: 9px; height: 9px; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: brightness(0) saturate(100%) invert(22%) sepia(62%) saturate(2654%) hue-rotate(209deg) brightness(101%) contrast(106%); }
#topbox02 .cnt .right .strengths-list li a .common_line.gray { background: #0A50CF; position: absolute; bottom: 0; left: 0; }
#topbox02 .cnt .right .strengths-list li a .common_line.gray::before, #topbox02 .cnt .right .strengths-list li a .common_line.gray::after { background: #0A50CF; }

#industry-sec { padding: 130px 5% 100px; background: url("../img/top/bg01_sp.jpg") no-repeat center; background-size: cover; color: #FFFFFF; }
#industry-sec .title_box { display: block; margin-bottom: 60px; }
#industry-sec .title_box .title01 { margin-bottom: 56px; }
#industry-sec .industry-list { position: relative; }
#industry-sec .industry-list .industry01 { width: 50%; padding: 30px 20px 30px 0; border-right: 1px solid #326CD7; box-sizing: border-box; position: relative; }
#industry-sec .industry-list .industry01:nth-child(-n+2)::after { content: ""; display: block; width: 50vw; height: 1px; background: #326CD7; position: absolute; top: 0; right: 0; }
#industry-sec .industry-list .industry01:nth-child(2)::after { right: auto; left: 0; }
#industry-sec .industry-list .industry01:nth-child(2n) { border-right: 0; padding-left: 20px; padding-right: 0; }
#industry-sec .industry-list .industry01:nth-child(2n)::before { right: auto; left: 0; }
#industry-sec .industry-list .industry01::before { content: ""; display: block; width: 50vw; height: 1px; background: #326CD7; position: absolute; bottom: 0; right: 0; }
#industry-sec .industry-list .industry01 a { display: block; }
#industry-sec .industry-list .industry01 a .img { width: 100%; aspect-ratio: 59 / 50; position: relative; overflow: hidden; }
#industry-sec .industry-list .industry01 a .img .img_in { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; }
#industry-sec .industry-list .industry01 a .midashi { display: inline-block; padding-left: 20px; box-sizing: border-box; position: relative; margin-top: 8px; }
#industry-sec .industry-list .industry01 a .midashi .arrow { display: block; width: 15px; height: 15px; border-radius: 50%; background: #FFFFFF; position: absolute; top: 5px; left: 0; }
#industry-sec .industry-list .industry01 a .midashi .arrow::before { content: ""; display: block; width: 6px; height: 6px; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: brightness(0) saturate(100%) invert(22%) sepia(62%) saturate(2654%) hue-rotate(209deg) brightness(101%) contrast(106%); }
#industry-sec .industry-list .industry01 a .midashi .text { color: #FFFFFF; font-weight: 500; }
#industry-sec .text_box { padding: 30px 20px; box-sizing: border-box; background: #0A46B4; margin-top: 60px; }
#industry-sec .order_banner { margin-top: 40px; }
#industry-sec .order_banner a { display: block; padding-top: 30px; background: url("../img/p02/banner_bg_sp.jpg") no-repeat center; background-size: cover; position: relative; text-align: center; }
#industry-sec .order_banner a::before { content: ""; display: block; width: 80px; height: 60px; background: url("../img/p02/banner_img_sp01.png") no-repeat center; background-size: contain; position: absolute; top: 85px; left: 20px; }
#industry-sec .order_banner a::after { content: ""; display: block; width: 77px; height: 57px; background: url("../img/p02/banner_img_sp02.png") no-repeat center; background-size: contain; position: absolute; top: 86px; right: 20px; }
#industry-sec .order_banner a .sub { display: inline-block; padding-bottom: 21px; box-sizing: border-box; font-size: 14px; line-height: 1.43; margin-bottom: 10px; position: relative; }
#industry-sec .order_banner a .sub::before { content: ""; display: block; width: 100%; height: 24px; background: url("../img/p02/banner_midashi_sp.png") no-repeat center bottom; background-size: contain; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
#industry-sec .order_banner a h3 { font-size: 19px; line-height: 1.35; }
#industry-sec .order_banner a h3 em { display: block; font-size: 33px; }
#industry-sec .order_banner a .arrow_box { width: 100%; justify-content: center; align-items: center; padding: 15px 20px; box-sizing: border-box; background: #0F0F0F; margin-top: 20px; }
#industry-sec .order_banner a .arrow_box .text { display: inline-block; font-size: 18px; line-height: 1.45; margin-right: 8px; }
#industry-sec .order_banner a .arrow_box .arrow { display: inline-block; width: 18px; height: 18px; background: #FFFFFF; border-radius: 50%; position: relative; }
#industry-sec .order_banner a .arrow_box .arrow::before { content: ""; display: block; width: 7px; height: 7px; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: brightness(0) saturate(100%) invert(3%) sepia(1%) saturate(366%) hue-rotate(314deg) brightness(100%) contrast(94%); }

.range-list { display: block; }
.range-list .range00 { margin-bottom: 40px; }
.range-list .range00:last-child { margin-bottom: 0; }
.range-list .range00 h3 { font-size: 22px; margin-bottom: 15px; }
.range-list .range00 .common_line { margin-bottom: 23px; }
.range-list .range00 .range-table tr { border-bottom: 1px solid #F7F9FF; }
.range-list .range00 .range-table tr th, .range-list .range00 .range-table tr td { padding: 9px 12px 8px; box-sizing: border-box; }
.range-list .range00 .range-table tr th { width: 90px; background: #646E84; color: #FFFFFF; }
.range-list .range00 .range-table tr td { background: #FFFFFF; }
.range-list .range00 .text-list li { font-size: 12px; margin-bottom: 5px; padding-left: 1em; text-indent: -1em; }
.range-list .range00 .text-list li:last-child { margin-bottom: 0; }
.range-list .range02 .point { font-size: 18px; line-height: 31px; margin-bottom: 15px; }
.range-list .range02 .point span { display: inline-block; padding: 4px 20px; box-sizing: border-box; background: #646E84; border-radius: 18px; font-size: 16px; line-height: 23px; margin-left: 15px; }
.range-list .range03 .list { margin-top: 10px; }
.range-list .range03 .list li { padding: 4px 20px; box-sizing: border-box; background: #646E84; border-radius: 18px; margin: 5px 5px 0 0; }
.range-list .range03 .list li:last-child { margin-right: 0; }

#topbox03 { padding: 100px 5%; background: #F7F9FF; }
#topbox03 .title_box { display: block; margin-bottom: 60px; }

.onestop_img { display: block; margin-top: 60px; }
.onestop_img .box00 { padding: 20px 20px 30px; box-sizing: border-box; }
.onestop_img .box00 h3 { display: inline-block; padding: 4px 20px; box-sizing: border-box; border-radius: 18px; }
.onestop_img .box01 { background: #F6F6F6; margin-bottom: 10px; }
.onestop_img .box01 h3 { background: #0F0F0F; }
.onestop_img .box01 .img { width: 100%; max-width: 390px; margin: 0 auto; }
.onestop_img .box01 .sub_text { display: block; margin-top: 15px; }
.onestop_img .box02 { background: #F7F9FF; }
.onestop_img .box02 h3 { background: #0A50CF; }
.onestop_img .box02 .sub_text { display: block; font-size: 18px; margin: 20px 0; }
.onestop_img .box02 .img { width: 100%; max-width: 430px; margin: 0 auto; }

.onestop_box { display: flex; justify-content: space-between; flex-direction: row-reverse; margin-top: 60px; }
.onestop_box .onestop-list { display: block; width: calc(100% - 45px); }
.onestop_box .onestop-list > div { padding: 13px 19px; background: #F7F9FF; border: 1px solid #0B50CF; box-sizing: border-box; border-radius: 25px; margin-bottom: 10px; }
.onestop_box .onestop-list > div:last-child { margin-bottom: 0; }
.onestop_box .onestop-list > div p { width: 100%; text-align: left; }
.onestop_box .onestop-list > div p span { display: inline-block; font-size: 12px; font-weight: 600; margin-right: 11px; }
.onestop_box .onestop-list > div.last { background: #0B50CF; }
.onestop_box .onestop-list > div.last p { text-align: center; }
.onestop_box .arrow_box { width: 31px; position: relative; z-index: 1; }
.onestop_box .arrow_box .line { display: block; width: 2px; height: calc(100% - 10px); background: #0B50CF; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.onestop_box .arrow_box .line::before { content: ""; display: block; width: 10px; height: 10px; background: #0A50CF; border-radius: 50%; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
.onestop_box .arrow_box .line::after { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: #0b50cf transparent transparent transparent; border-width: 15px 10px 0px 10px; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); }
.onestop_box .arrow_box .text { display: inline-block; padding: 4px 20px; box-sizing: border-box; background: #0B50CF; border-radius: 18px; white-space: nowrap; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(90deg); }

#topbox04 { padding: 264px 5% 100px; position: relative; }
#topbox04::after { content: ""; display: block; width: 145px; height: 31px; background: url("../img/top/bg04_i_sp.png") no-repeat top right; background-size: cover; position: absolute; top: 156px; left: 0; }
#topbox04 #bg-img01 { width: 100%; height: 186px; background: url("../img/top/bg02_sp.jpg") no-repeat center top; background-size: cover; position: absolute; top: 0; left: 0; }
#topbox04 .wrap { z-index: 1; }
#topbox04 .title { margin-bottom: 60px; }
#topbox04 .title .en { display: block; font-size: 18px; font-weight: 600; line-height: 1.2; margin-bottom: 20px; }
#topbox04 .title .ja { display: block; font-size: 26px; line-height: 1.44; }

#works-sec { padding: 100px 5%; background: url("../img/top/bg01_sp.jpg") center top; background-size: cover; }
#works-sec #works-slider { margin-top: 60px; }
#works-sec #works-slider .slick-track { display: flex; border-top: 1px solid rgba(255, 255, 255, 0.16); border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
#works-sec #works-slider .works01 { height: auto; margin-right: 20px; border-right: 1px solid rgba(255, 255, 255, 0.16); }
#works-sec #works-slider .works01 a { padding: 30px 20px 40px 0; box-sizing: border-box; color: #FFFFFF; }
#works-sec #works-slider .works01 a .img { aspect-ratio: 11 / 8; margin-bottom: 30px; }
#works-sec #works-slider .works01 a .title { font-size: 16px; font-weight: 400; margin-top: 10px; }
#works-sec #works-slider .works01 a .works-cate-list { margin-bottom: 0; margin-top: 10px; }
#works-sec #works-slider .works01 a .works-cate-list li { font-size: 12px; border: 1px solid #FFFFFF; }
#works-sec #works-slider .works01 a .arrow { border: 1px solid #FFFFFF; bottom: 40px; right: 20px; }
#works-sec #works-slider .works01 a .arrow::before { filter: none; }

#topbox05 { padding: 70px 5% 100px; background: #646E84; position: relative; }
#topbox05::before { content: ""; display: block; width: 145px; height: 30px; background: #646E84; clip-path: polygon(0 0, 115px 0, 100% 100%, 0% 100%); position: absolute; top: -29px; left: 0; z-index: 1; }
#topbox05 .cnt { display: block; margin-bottom: 60px; }
#topbox05 .cnt .title01 { margin-bottom: 40px; }
#topbox05 .cnt .img { width: 100%; aspect-ratio: 71 / 44; position: relative; }
#topbox05 .cnt .img .img_in { width: calc(100vw - 20px); height: 100%; background: url("../img/top/bg04_sp.jpg") no-repeat left top; background-size: cover; position: absolute; top: 0; left: 0; }
#topbox05 .cnt02 { display: block; }
#topbox05 .cnt02 .left .midashi { font-size: 30px; line-height: 1.45; margin-bottom: 60px; }
#topbox05 .cnt02 .left .midashi .text-bg { background: #0038A0; padding: 2px 10px; margin: 0 0 10px 0; }
#topbox05 .cnt02 .left .midashi .text-bg:last-child { margin-bottom: 0; }
#topbox05 .cnt02 .left .text_box p { margin-bottom: 30px; }
#topbox05 .cnt02 .left .text_box p:last-child { margin-bottom: 0; }
#topbox05 .cnt02 .btn01.shiro a .arrow::before {filter: brightness(0) saturate(100%) invert(41%) sepia(19%) saturate(455%) hue-rotate(183deg) brightness(99%) contrast(88%);}
#topbox05 .bg-img { width: 100%; height: 181px; background: url("../img/top/bg05.png") repeat-X center; background-size: cover; position: absolute; bottom: -100px; left: 0; animation: bgMove01 80s linear infinite; z-index: 2; }
@keyframes bgMove01 { 0% { background-position: 0 0; }
  100% { background-position: -1741px 0; } }
#btn-sec { padding: 155px 5% 130px; background: #F7F9FF; }
#btn-sec .btn-list { display: block; }
#btn-sec .btn-list .btn_box { width: 100%; height: 335px; margin-bottom: 20px; }
#btn-sec .btn-list .btn_box:last-child { margin-bottom: 0; }
#btn-sec .btn-list .btn_box a { display: flex; align-items: center; width: 100%; height: 100%; padding: 0 50px; box-sizing: border-box; overflow: hidden; position: relative; z-index: 1; }
#btn-sec .btn-list .btn_box a .bg-img { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; z-index: -1; }
#btn-sec .btn-list .btn_box a .title01 { font-weight: 700; margin-bottom: 0; }
#btn-sec .btn-list .btn_box a .title01 .en { font-size: 40px; }
#btn-sec .btn-list .btn_box a .arrow { display: block; width: 70px; height: 70px; border-radius: 50%; border: 1px solid #FFFFFF; box-sizing: border-box; position: absolute; bottom: 20px; right: 20px; transition: 0.3s; }
#btn-sec .btn-list .btn_box a .arrow::before { content: ""; display: block; width: 17px; height: 17px; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#btn-sec .btn-list .btn_box01.btn_box a .bg-img { background: url("../img/top/btn_bg01.jpg") no-repeat center; background-size: cover; }
#btn-sec .btn-list .btn_box02.btn_box a .bg-img { background: url("../img/top/btn_bg02.jpg") no-repeat center; background-size: cover; }

#blog-sec { padding: 70px 5% 100px; background: #FFFFFF; position: relative; }
#blog-sec::before { content: ""; display: block; width: 145px; height: 30px; background: #FFFFFF; clip-path: polygon(0 0, 115px 0, 100% 100%, 0% 100%); position: absolute; top: -29px; left: 0; z-index: 1; }
#blog-sec #blog-slider .blog01 { margin-right: 20px; }

/*蝶番加工範囲・技術力　p02
=========================================== */
.page-hinge #industry-sec { padding-top: 70px; background: #FFFFFF; color: #0F0F0F; position: relative; margin-top: -70px; }
.page-hinge #industry-sec::after { content: ""; display: block; width: 145px; height: 30px; background: url("../img/p02/bg02_i_sp.png") no-repeat top right; background-size: contain; position: absolute; top: -29px; left: 0; z-index: 1; }
.page-hinge #industry-sec .industry-list .industry01 { width: calc(50% - 12px); padding: 0; border-right: 0; margin: 50px 23px 0 0; }
.page-hinge #industry-sec .industry-list .industry01:nth-child(-n+2) { margin-top: 0; }
.page-hinge #industry-sec .industry-list .industry01:nth-child(-n+2)::after { display: none; }
.page-hinge #industry-sec .industry-list .industry01:nth-child(2n) { margin-right: 0; }
.page-hinge #industry-sec .industry-list .industry01::before { display: none; }
.page-hinge #industry-sec .industry-list .industry01 a .midashi .arrow { background: #0F0F0F; }
.page-hinge #industry-sec .industry-list .industry01 a .midashi .arrow::before { filter: none; }
.page-hinge #industry-sec .industry-list .industry01 a .midashi .text { color: #0F0F0F; }
.page-hinge #industry-sec .text_box { background: #F6F6F6; padding: 40px 20px; margin-top: 50px; }
.page-hinge #industry-sec .text_box h3 { font-size: 18px; margin-bottom: 20px; }

#p02box01 .title { font-size: 17px; line-height: 1.44; margin-bottom: 30px; }
#p02box01 .title .text-bg { margin: 0 4px 6px 0; }
#p02box01 .cnt { display: block; }
#p02box01 .cnt .text_box { margin-bottom: 40px; }
#p02box01 .cnt .text_box .about_box { margin-top: 30px; }
#p02box01 .cnt .text_box .about_box .t_text { background: #646E84; padding: 12px 50px 13px 17px; box-sizing: border-box; position: relative; cursor: pointer; transition: 0.3s; }
#p02box01 .cnt .text_box .about_box .t_text:hover { opacity: 0.7; }
#p02box01 .cnt .text_box .about_box .t_text::before { content: ""; display: block; width: 20px; height: 20px; background: url("../img/p02/icon_open.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); transition: 0.3s; }
#p02box01 .cnt .text_box .about_box .t_text h3 { padding-left: 39px; box-sizing: border-box; font-size: 22px; line-height: 1.45; position: relative; }
#p02box01 .cnt .text_box .about_box .t_text h3::before { content: ""; display: block; width: 32px; height: 32px; background: url("../img/p02/icon_about.png") no-repeat center; background-size: contain; position: absolute; top: 1px; left: 0; }
#p02box01 .cnt .text_box .about_box .t_text.on::before { background: url("../img/p02/icon_close.svg") no-repeat center; background-size: contain; }
#p02box01 .cnt .text_box .about_box .c_text { padding: 20px; box-sizing: border-box; background: #FFFFFF; }

#p02box02 { position: relative; }
#p02box02::after { content: ""; display: block; width: 145px; height: 30px; background: url("../img/p02/bg01_i_sp.png") no-repeat top right; background-size: contain; position: absolute; bottom: -29px; left: 0; z-index: 1; }
#p02box02 .img01 { display: block; width: 800px; border: 2px solid #646E84; box-sizing: border-box; }
#p02box02 .feat-list { display: block; margin-top: 40px; }
#p02box02 .feat-list .feat01 { margin-bottom: 60px; }
#p02box02 .feat-list .feat01:last-child { margin-bottom: 0; }
#p02box02 .feat-list .feat01 .num { display: block; font-size: 12px; color: #A6B4CE; margin-bottom: 6px; }
#p02box02 .feat-list .feat01 h3 { font-size: 24px; }
#p02box02 .feat-list .feat01 .common_line { margin: 18px 0 28px; }

#p02box03 { padding-top: 130px; background: url("../img/p02/bg01_sp.jpg") no-repeat center top; background-size: cover; }
#p02box03 .types-list { margin-top: 40px; }
#p02box03 .types-list .type01 { width: calc(50% - 12px); margin: 50px 23px 0 0; }
#p02box03 .types-list .type01:nth-child(-n+2) { margin-top: 0; }
#p02box03 .types-list .type01:nth-child(2n) { margin-right: 0; }
#p02box03 .types-list .type01 p { margin-top: 8px; }
#p02box03 .other_box { display: block; margin-top: 60px; background: #FFFFFF; }
#p02box03 .other_box h3 { padding: 20px; box-sizing: border-box; background: #646E84; }
#p02box03 .other_box h3 span { font-size: 22px; }
#p02box03 .other_box .text01 { padding: 20px; box-sizing: border-box; }

#p02box04 { background: #F7F9FF; }
#p02box04 .range-list { display: block; }
#p02box04 .range-list .range00 .text-list { margin-top: 15px; }
#p02box04 .range-list .range00 .text-list li { font-size: 12px; margin-bottom: 0; }
#p02box04 .range-list .range02 .point span { display: block; width: 136px; margin-top: 5px; margin-left: 0; }
#p02box04 .range-list .range03 .range-table { margin-top: 40px; }
#p02box04 .range-list .range03 .range-table tr { display: block; border-bottom: 0; margin-bottom: 40px; }
#p02box04 .range-list .range03 .range-table tr:last-child { margin-bottom: 0; }
#p02box04 .range-list .range03 .range-table tr th, #p02box04 .range-list .range03 .range-table tr td { display: block; }
#p02box04 .range-list .range03 .range-table tr th { width: 100%; }
#p02box04 .range-list .range03 .range-table tr td { padding-top: 20px; padding-bottom: 20px; }
#p02box04 .range-list .range03 .range-table tr td ul.flex { display: block; }
#p02box04 .range-list .range03 .range-table tr td ul.flex li { margin-bottom: 17px; }
#p02box04 .range-list .range03 .range-table tr td ul.flex li:last-child { margin-bottom: 0; }

#p02box04 + #bg-img01 { width: 100%; aspect-ratio: 25 / 13; background: url("../img/p02/bg02.jpg") no-repeat center top; background-size: cover; }

/*オーダー特殊蝶番製造　p03
=========================================== */
#p03box01 { padding-bottom: 0; }
#p03box01 .sub { font-size: 18px; margin-bottom: 20px; }
#p03box01 .title { font-size: 24px; line-height: 1.6; margin-bottom: 60px; }
#p03box01 .title .text-bg { line-height: 1.46; margin-top: 0; }
#p03box01 .num-list { display: block; margin-top: 60px; }
#p03box01 .num-list .num_box { padding: 40px 0 43px; border-right: 0; border-bottom: 1px solid #0B50CF; }
#p03box01 .num-list .num_box:first-child { padding-top: 0; }
#p03box01 .num-list .num_box:last-child::before, #p03box01 .num-list .num_box:last-child::after { display: block; }
#p03box01 .num-list .num_box::before, #p03box01 .num-list .num_box::after { bottom: -3.5px !important; }
#p03box01 .num-list .num_box::before { top: auto; left: 0; }
#p03box01 .num-list .num_box::after { right: 0; }
#p03box01 .num-list .num_box .midashi { padding-left: 16px; font-size: 21px; margin-bottom: 40px; }
#p03box01 .num-list .num_box .midashi::before { width: 8px; height: 8px; }
#p03box01 .num-list .num_box .num { font-size: 25px; text-align: center; }
#p03box01 .num-list .num_box .num em { font-size: 63px; margin-right: 3px; }
#p03box01 .box { padding-bottom: 60px; margin-top: 100px; position: relative; z-index: 1; }
#p03box01 .box::before { content: ""; display: block; width: 100vw; height: 100%; background: linear-gradient(180deg, #F7F9FF 0%, #F7F9FF 40%, #FFFFFF 40%, #FFFFFF 100%); position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
#p03box01 .box .nayami_box { width: 100%; padding: 40px 20px; box-sizing: border-box; background: #E7E9EF; position: relative; z-index: 1; margin-bottom: 52px; }
#p03box01 .box .nayami_box::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: #e7e9ef transparent transparent transparent; border-width: 27px 50px 0px 50px; position: absolute; bottom: -26px; left: 50%; transform: translateX(-50%); }
#p03box01 .box .nayami_box h3 { padding-left: 35px; box-sizing: border-box; font-size: 20px; line-height: 1.45; position: relative; margin-bottom: 30px; }
#p03box01 .box .nayami_box h3::before { content: ""; display: block; width: 29px; height: 1px; background: #0F0F0F; position: absolute; top: 16px; left: 0; }
#p03box01 .box .nayami_box ul.flex { display: block; }
#p03box01 .box .nayami_box ul.flex li { padding-left: 23px; box-sizing: border-box; line-height: 1.4; font-weight: 700; position: relative; margin-bottom: 20px; }
#p03box01 .box .nayami_box ul.flex li:last-child { margin-bottom: 0; }
#p03box01 .box .nayami_box ul.flex li::before { content: ""; display: block; width: 15px; height: 15px; background: url("../img/p03/icon_check.png") no-repeat center; background-size: contain; position: absolute; top: 5px; left: 0; }
#p03box01 .box .midashi { font-size: 18px; line-height: 1.44; }
#p03box01 .box .midashi img { display: inline-block; width: 57px; margin: 14px 5px 0 0; }
#p03box01 .box .text01 { margin-top: 29px; text-align: left; }

#p03box02 { background: url("../img/p03/bg01_sp.jpg") no-repeat center top; background-size: cover; }
#p03box02 h2 { font-size: 26px; margin-bottom: 30px; }
#p03box02 .text01 { text-align: left; }
#p03box02 .contact-list { display: block; margin-top: 40px; }
#p03box02 .contact-list .box00 { padding: 50px 20px; box-sizing: border-box; background: #FFFFFF; text-align: center; margin-bottom: 20px; }
#p03box02 .contact-list .box00:last-child { margin-bottom: 0; }
#p03box02 .contact-list .box00 img { display: block; width: 58px; height: 58px; margin: 0 auto 20px; }
#p03box02 .contact-list .box00 h3 { font-size: 22px; margin-bottom: 10px; }
#p03box02 .contact-list .box00.box01 .tel_box .tel .num { padding-left: 0; }
#p03box02 .contact-list .box00.box01 .tel_box .tel .num::before { display: none; }
#p03box02 .contact-list .box00.box01 .tel_box .tel-text { font-size: 16px; font-weight: 400; }
#p03box02 .contact-list .box00.box02 .fax_box { display: inline-block; }
#p03box02 .contact-list .box00.box02 .fax_box .fax-num span { display: none; }
#p03box02 .contact-list .box00.box02 .fax_box .fax-num em { font-size: 40px; line-height: 1.2; color: #0B50CF; }
#p03box02 .contact-list .box00.box02 .fax_box .sub_text { line-height: 1.43; font-weight: 400; }
#p03box02 .contact-list .box00.box03 h3 { margin-bottom: 15px; }
#p03box02 .contact-list .box00.box03 .btn01 { height: 55px; max-width: 295px; margin-top: 0; }
#p03box02 .contact-list .box00.box03 .btn01 a { justify-content: center; background: #FFF000; padding: 14px 40px 14px 16px; border: 2px solid #0F0F0F; }
#p03box02 .contact-list .box00.box03 .btn01 a .btn-text { color: #0F0F0F; }
#p03box02 .contact-list .box00.box03 .btn01 a .arrow { background: #0F0F0F; position: absolute; top: 50%; right: 16px; transform: translateY(-50%); }

#p03box03 .cnt { display: block; }
#p03box03 .cnt .text_box { margin-bottom: 40px; }
#p03box03 .cnt .text_box h2 { font-size: 26px; line-height: 1.44; margin-bottom: 60px; }
#p03box03 .box { padding: 32px 20px; box-sizing: border-box; background: #FFFFFF; position: relative; margin-top: 40px; }
#p03box03 .box img { display: block; width: 164px; position: absolute; top: -17px; right: 3px; }
#p03box03 .box h3 { font-size: 24px; line-height: 1.44; margin-bottom: 25px; }

#p03box04 { padding: 128px 0 0; position: relative; }
#p03box04 .bg-img01 { width: 100%; aspect-ratio: 25 / 13; background: url("../img/p03/bg02_sp.jpg") no-repeat center top; background-size: cover; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
#p03box04 .sec-in { width: 100%; padding: 70px 5% 100px; box-sizing: border-box; background: #FFFFFF; position: relative; z-index: 1; }
#p03box04 .sec-in::after { content: ""; display: block; width: 145px; height: 30px; background: url("../img/p02/bg02_i_sp.png") no-repeat top right; background-size: contain; position: absolute; top: -29px; left: 0; z-index: 1; }
#p03box04 .slider-cont { display: block; }
#p03box04 .slider-cont .text_box { margin-bottom: 60px; }
#p03box04 .slider-cont .text_box .common-num02 { margin-bottom: 50px; }
#p03box04 .slider-cont #works-slider { padding-right: 20px; box-sizing: border-box; }
#p03box04 .slider-cont #works-slider .slick-prev, #p03box04 .slider-cont #works-slider .slick-next { width: 70px; height: 70px; border: 1px solid #0A50CF; }
#p03box04 .slider-cont #works-slider .slick-prev::before, #p03box04 .slider-cont #works-slider .slick-next::before { width: 15px; height: 16px; filter: brightness(0) saturate(100%) invert(18%) sepia(97%) saturate(2717%) hue-rotate(215deg) brightness(98%) contrast(93%); }
#p03box04 .slider-cont #works-slider .slick-prev { transform: translateX(-77px); }
#p03box04 .slider-cont #works-slider .slick-next { transform: translateX(77px); }
#p03box04 .slider-cont #works-slider .works01 { margin-right: 40px; }
#p03box04 .slider-cont #works-slider .works01:last-child { margin-right: 0; }
#p03box04 .slider-cont #works-slider:has(.slick-prev) { padding-bottom: 132px; }
#p03box04 .box { background: #F7F9FF; border: 1px solid #0B50CF; box-sizing: border-box; margin-top: 60px; }
#p03box04 .box h3 { padding: 19px; box-sizing: border-box; background: #0B50CF; font-size: 18px; }
#p03box04 .box p.common_text { padding: 19px; box-sizing: border-box; }

#p03box05 .title_box { display: block; margin-bottom: 60px; }
#p03box05 .voice-list .voice_box01 { display: block; padding-bottom: 70px; border-bottom: 1px solid #A6B4CE; margin-bottom: 70px; }
#p03box05 .voice-list .voice_box01:last-child { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
#p03box05 .voice-list .voice_box01 .text_box .title { padding-left: 20px; box-sizing: border-box; position: relative; margin-bottom: 40px; }
#p03box05 .voice-list .voice_box01 .text_box .title::before { content: ""; display: block; width: 2px; height: calc(100% + 7px); background: #0B50CF; position: absolute; top: 0; left: 0; }
#p03box05 .voice-list .voice_box01 .text_box .title h3 { font-size: 26px; line-height: 1.44; }
#p03box05 .voice-list .voice_box01 .text_box .title a { display: inline-block; padding-right: 24px; box-sizing: border-box; line-height: 1.44; text-decoration: underline; position: relative; margin-top: 10px; }
#p03box05 .voice-list .voice_box01 .text_box .title a::after { content: ""; display: block; width: 14px; height: 14px; background: url("../img/p03/icon_link.svg") no-repeat center; background-size: contain; position: absolute; top: 7px; right: 0; }
#p03box05 .voice-list .voice_box01 .text_box .copy { font-size: 22px; margin-bottom: 30px; }
#p03box05 .voice-list .voice_box01 .img_box { width: 100%; aspect-ratio: 335 / 281; margin-top: 40px; }

/*一貫生産体制　p04
=========================================== */
.page-onestop .under-cont > section { background: #FFFFFF; }
.page-onestop .under-cont > section:nth-child(2n) { background: #F7F9FF; }
.page-onestop div#bread { background: #FFFFFF; }

#p04box01 .sub { font-size: 18px; margin-bottom: 20px; }
#p04box01 .title { font-size: 24px; line-height: 1.46; margin-bottom: 90px; }
#p04box01 .title01 { margin-bottom: 50px; }
#p04box01 .title01 .en { font-size: 18px; }
#p04box01 .title01 .ja { font-size: 26px; line-height: 1.45; padding-left: 0; margin-bottom: 0; margin-top: 20px; }
#p04box01 .title01 .ja::before { display: none; }

#p04box02 .process-list .process_box { justify-content: space-between; margin-bottom: 90px; }
#p04box02 .process-list .process_box:last-child { margin-bottom: 0; }
#p04box02 .process-list .process_box:last-child .num::before { display: none; }
#p04box02 .process-list .process_box .num { width: 42px; position: relative; z-index: 1; }
#p04box02 .process-list .process_box .num::before { content: ""; display: block; width: 1px; height: calc(100% + 90px); background: #0B50CF; position: absolute; top: 42px; left: 50%; transform: translateX(-50%); }
#p04box02 .process-list .process_box .num span { display: block; width: 100%; height: 42px; padding-top: 13px; background: #FFFFFF; border: 1px solid #0B50CF; box-sizing: border-box; border-radius: 50%; font-size: 12px; line-height: 1.2; }
#p04box02 .process-list .process_box .box_in { display: block; width: calc(100% - 52px); }
#p04box02 .process-list .process_box .box_in .text_box { margin-top: 3px; }
#p04box02 .process-list .process_box .box_in .text_box h3 { font-size: 24px; line-height: 1.46; margin-bottom: 30px; }
#p04box02 .process-list .process_box .box_in .img_box { margin-top: 30px; }

/*品質管理　p05
=========================================== */
#p05box01 .title_box { display: block; margin-bottom: 60px; }
#p05box01 .box-list { display: block; }
#p05box01 .box-list .box01 { margin-bottom: 60px; }
#p05box01 .box-list .box01:last-child { margin-bottom: 0; }
#p05box01 .box-list .box01 h3 { font-size: 24px; line-height: 1.44; margin: 20px 0; }

#p05box02 .testing-list .testing01 { display: block; margin-bottom: 60px; }
#p05box02 .testing-list .testing01:last-child { margin-bottom: 0; }
#p05box02 .testing-list .testing01 .text_box { margin-bottom: 30px; }
#p05box02 .testing-list .testing01 .text_box .num { display: block; font-size: 12px; color: #A6B4CE; margin-bottom: 6px; }
#p05box02 .testing-list .testing01 .text_box h3 { font-size: 26px; line-height: 1.44; }
#p05box02 .testing-list .testing01 .text_box h3 .sub { display: block; font-size: 15px; margin-top: 8px; font-weight: 700; }
#p05box02 .testing-list .testing01 .text_box .common_line { margin: 28px 0 33px; }

/*設備紹介　p06
=========================================== */
#p06box01 .title { font-size: 24px; margin-bottom: 60px; }
#p06box01 .facilities-list { display: block; }
#p06box01 .facilities-list .facility01 { margin-bottom: 60px; }
#p06box01 .facilities-list .facility01:last-child { margin-bottom: 0; }
#p06box01 .facilities-list .facility01 .img { width: 100%; aspect-ratio: 134 / 97; margin-bottom: 20px; }
#p06box01 .facilities-list .facility01 h3 { font-size: 24px; line-height: 1.43; margin-bottom: 20px; }
#p06box01 .facilities-list .facility01 .info-table tr:last-child th { border-bottom: 0; }
#p06box01 .facilities-list .facility01 .info-table tr:last-child td { border-bottom: 0; }
#p06box01 .facilities-list .facility01 .info-table tr th, #p06box01 .facilities-list .facility01 .info-table tr td { padding: 12px; box-sizing: border-box; }
#p06box01 .facilities-list .facility01 .info-table tr th { width: 100px; padding-left: 7px; padding-right: 7px; background: #646E84; border-bottom: 1px solid #BAC1D1; color: #FFFFFF; }
#p06box01 .facilities-list .facility01 .info-table tr td { background: #FFFFFF; border-bottom: 1px solid #EEEEEE; }

/*選ばれる理由　p07
=========================================== */
.icon-list { justify-content: space-between; }
.icon-list .icon { width: calc(50% - 4px); padding: 20px 10px; box-sizing: border-box; background: #FFFFFF; text-align: center; margin: 7px 7px 0 0; }
.icon-list .icon:nth-child(-n+2) { margin-top: 0; }
.icon-list .icon:nth-child(2n) { margin-right: 0; }
.icon-list .icon img { width: 57px; }
.icon-list .icon p { margin-top: 7px; }

#p07box01 h2.title { text-align: center; }
#p07box01 h2.title span { display: inline-flex; align-items: flex-end; padding-bottom: 15px; box-sizing: border-box; position: relative; }
#p07box01 h2.title span::before { content: ""; display: block; width: 100%; height: 9px; background: url("../img/p07/title_arrow_sp.png") no-repeat center bottom; background-size: contain; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
#p07box01 h2.title span em { display: inline-block; font-size: 24px; line-height: 1.46; margin-right: 2px; }
#p07box01 h2.title span img { display: inline-block; width: 42px; margin: 0 5px 2px; }
#p07box01 .point { font-size: 24px; line-height: 1.46; margin-top: 20px; }
#p07box01 .point .text-bg { margin: 6px 5px 6px 0; }
#p07box01 .icon-list { margin-top: 54px; }
#p07box01 .title01 { margin-top: 90px; }
#p07box01 .strength-list .strength01 { display: block; margin-bottom: 60px; }
#p07box01 .strength-list .strength01:last-child { margin-bottom: 0; }
#p07box01 .strength-list .strength01 .text_box { margin-bottom: 25px; }
#p07box01 .strength-list .strength01 .text_box .num { display: block; font-size: 18px; color: #0B50CF; margin-bottom: 15px; }
#p07box01 .strength-list .strength01 .text_box h3 { font-size: 24px; }
#p07box01 .strength-list .strength01 .text_box .common_line { margin: 26px 0; }

/*実績紹介　p08
=========================================== */
img#fancybox-img { pointer-events: none; }

.common-num { display: flex; justify-content: space-between; align-items: flex-end; }
.common-num .midashi { line-height: 1.4; margin-bottom: 9px; }
.common-num .midashi em { display: block; font-size: 27px; }
.common-num .num { font-size: 25px; line-height: 1.44; }
.common-num .num em { display: inline-block; font-size: 63px; line-height: 1.2; margin-right: 3px; }

.common-num02.common-num .midashi em { font-size: 21px; }

#p08box01 .common-num-list { display: block; margin-bottom: 60px; }
#p08box01 .common-num-list .common-num { padding: 30px 15px; box-sizing: border-box; background: #FFFFFF; align-items: center; }
#p08box01 .common-num-list .common-num .midashi { font-size: 14px; margin-bottom: 0; }
#p08box01 .common-num-list .common-num .num { font-size: 20px; line-height: 1.44; }
#p08box01 .common-num-list .common-num .num em { font-size: 40px; }
#p08box01 .common-num-list .common-num01.common-num { margin-bottom: 10px; }
#p08box01 .common-num-list .common-num02.common-num .midashi { font-size: 15px; }
#p08box01 .common-num-list .common-num02.common-num .midashi em { font-size: 27px; }
#p08box01 .works_cate_box > div.flex { display: block; margin-bottom: 30px; }
#p08box01 .works_cate_box > div.flex:last-child { margin-bottom: 0; }
#p08box01 .works_cate_box > div.flex .midashi { margin-bottom: 12px; font-size: 18px; line-height: 1.45; }
#p08box01 .works_cate_box > div.flex .cate-inner select { width: 100%; height: 40px; box-sizing: border-box; padding: 8px 35px 8px 20px; font-size: 16px; line-height: 1.5; font-weight: 500; border: 1px solid #646E84; font-family: 'NotoSansJP'; background: url("../img/p12/select_arrow.svg") no-repeat center right 20px, #FFFFFF; background-size: 11px; border-radius: 0; -webkit-appearance: none; appearance: none; cursor: pointer; color: #0F0F0F !important; }
#p08box01 .works_cate_box > div.flex .cate-inner select option { color: #0F0F0F !important; }
#p08box01 #works-list_box { padding-top: 60px; }
#p08box01 #works-list_box .works-title { padding-left: 27px; box-sizing: border-box; font-size: 24px; line-height: 1.45; position: relative; margin-bottom: 40px; }
#p08box01 #works-list_box .works-title::before { content: ""; display: block; width: 17px; height: 2px; background: #0F0F0F; position: absolute; top: 19px; left: 0; }
#p08box01 #works-list_box .works-all-list { display: block; }
#p08box01 #works-list_box .works-all-list .works01 { margin-bottom: 60px; }
#p08box01 #works-list_box .works-all-list .works01:last-child { margin-bottom: 0; }

#worksBox01 .works-cate-list { margin-bottom: 5px; }
#worksBox01 .works-cate-list li { padding: 3px 19px; box-sizing: border-box; border: 1px solid #0B50CF; border-radius: 18px; font-size: 14px; line-height: 1.43; font-weight: 500; color: #0B50CF; margin: 0 10px 10px 0; }
#worksBox01 .works-cate-list li:last-child { margin-right: 0; }
#worksBox01 .title { font-size: 22px; line-height: 1.45; margin-bottom: 10px; }
#worksBox01 .title + .time { font-size: 14px; line-height: 1.2; margin-bottom: 25px; }
#worksBox01 .gallery_img { display: block; }
#worksBox01 .gallery_img .gallery_main { padding: 0 16px; box-sizing: border-box; margin-bottom: 30px !important; }
#worksBox01 .gallery_img .gallery_main .slick-prev, #worksBox01 .gallery_img .gallery_main .slick-next { width: 32px; height: 32px; background: #0B50CF; border-radius: 50%; border: 1px solid #0B50CF; box-sizing: border-box; top: 20.67vw; transform: translate(0, 0); transition: 0.3s; z-index: 1; }
#worksBox01 .gallery_img .gallery_main .slick-prev::before, #worksBox01 .gallery_img .gallery_main .slick-next::before { content: ""; display: block; width: 5px; height: 9px; opacity: 1; background: url("../img/p08/gallery_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#worksBox01 .gallery_img .gallery_main .slick-prev { left: 0; }
#worksBox01 .gallery_img .gallery_main .slick-next { right: 0; }
#worksBox01 .gallery_img .gallery_main .slick-next::before { transform: translate(-50%, -50%) scale(-1, 1); }
#worksBox01 .gallery_img .gallery_main .gallery_main01 .gallery_main_box { width: 100%; aspect-ratio: 18 / 11; position: relative; }
#worksBox01 .gallery_img .gallery_main .gallery_main01 .gallery_main_box a { display: inline-block; height: 40px; padding: 10px 16px 10px 38px; box-sizing: border-box; background: #646E84; font-size: 14px; line-height: 1.43; font-weight: 700; color: #FFFFFF; position: absolute; bottom: 0; right: 0; z-index: 1; }
#worksBox01 .gallery_img .gallery_main .gallery_main01 .gallery_main_box a:hover { text-decoration: none; opacity: 0.7; }
#worksBox01 .gallery_img .gallery_main .gallery_main01 .gallery_main_box a::before { content: ""; display: block; width: 18px; height: 18px; background: url("../img/p08/icon_kakudai.svg") no-repeat center; background-size: contain; position: absolute; top: 11px; left: 16px; }
#worksBox01 .gallery_img .gallery_main .gallery_main01 .img-caption { width: 100%; font-weight: 700; margin-top: 10px; }
#worksBox01 .gallery_img .gallery_thum { margin-bottom: 0 !important; }
#worksBox01 .gallery_img .gallery_thum .slick-track { width: 100% !important; }
#worksBox01 .gallery_img .gallery_thum .gallery_thum01 { cursor: pointer; position: relative; overflow: hidden; width: calc(25% - 4px); aspect-ratio: 40 / 27; margin: 4px 5px 0 0; transition: 0.3s; }
#worksBox01 .gallery_img .gallery_thum .gallery_thum01:nth-child(-n+4) { margin-top: 0; }
#worksBox01 .gallery_img .gallery_thum .gallery_thum01:nth-child(4n) { margin-right: 0; }
#worksBox01 .gallery_img .gallery_thum .gallery_thum01::after { content: ""; width: 100%; height: 100%; background: rgba(15, 15, 15, 0.7); position: absolute; left: 0; top: 0; z-index: 2; box-sizing: border-box; opacity: 0; transition: 0.3s; }
#worksBox01 .gallery_img .gallery_thum .gallery_thum01.slick-current::after { opacity: 1; }
#worksBox01 .info-table { margin-top: 60px; }
#worksBox01 .info-table tr { display: block; }
#worksBox01 .info-table tr th, #worksBox01 .info-table tr td { display: block; padding: 20px; box-sizing: border-box; }
#worksBox01 .info-table tr th { background: #646E84; color: #FFFFFF; }
#worksBox01 .info-table tr td { background: #FFFFFF; }

#worksBox02 { padding-top: 0; background: #F7F9FF; }
#worksBox02 .other-works_box #works-slider { padding-right: 20px; padding-bottom: 0 !important; box-sizing: border-box; }
#worksBox02 .other-works_box #works-slider .slick-prev, #worksBox02 .other-works_box #works-slider .slick-next { display: none !important; }
#worksBox02 .other-works_box #works-slider .works01 { margin-right: 40px; }
#worksBox02 .other-works_box #works-slider .works01:last-child { margin-right: 0; }

/*会社概要　p09
=========================================== */
.page-company .under-cont > section { background: #FFFFFF; }
.page-company .under-cont > section:nth-child(2n) { background: #F7F9FF; }
.page-company div#bread { background: #FFFFFF; }

#p09box01 .cnt { display: block; }
#p09box01 .cnt .text_box { margin-bottom: 40px; }
#p09box01 .cnt .text_box .midashi { font-size: 24px; margin-bottom: 40px; }
#p09box01 .cnt .text_box p.common_text { margin-bottom: 20px; }
#p09box01 .cnt .text_box p.common_text:last-child { margin-bottom: 0; }
#p09box01 .cnt .img_box .name { margin-top: 10px; }

#p09box02 .list { padding: 30px 20px; box-sizing: border-box; background: #FFFFFF; }
#p09box02 .list li { padding: 50px 0 30px 12px; box-sizing: border-box; border-bottom: 1px solid #DFEAFE; font-size: 23px; font-weight: 700; position: relative; }
#p09box02 .list li:first-child { padding-top: 20px; }
#p09box02 .list li:first-child .num { top: 0; }
#p09box02 .list li:last-child { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
#p09box02 .list li .num { display: inline-block; font-size: 12px; line-height: 1.2; position: absolute; top: 30px; left: 0; }
#p09box02 .list li em { color: #0B50CF; }

#p09box03 { padding: 122px 0 0; position: relative; }
#p09box03 .bg-img01 { width: 100%; aspect-ratio: 25 / 13; background: url("../img/p09/bg01_sp.jpg") no-repeat center top; background-size: cover; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
#p09box03 .sec-in { width: 100%; padding: 70px 5% 100px; box-sizing: border-box; background: #FFFFFF; position: relative; z-index: 1; }
#p09box03 .sec-in::after { content: ""; display: block; width: 145px; height: 30px; background: url("../img/p02/bg02_i_sp.png") no-repeat top right; background-size: contain; position: absolute; top: -29px; left: 0; z-index: 1; }
#p09box03 .company-table tr { display: block; }
#p09box03 .company-table tr:last-child td { border-bottom: 1px solid #EEEEEE; }
#p09box03 .company-table tr th, #p09box03 .company-table tr td { display: block; padding: 20px; box-sizing: border-box; }
#p09box03 .company-table tr th { background: #646E84; color: #FFFFFF; }
#p09box03 .company-table tr td { border-left: 1px solid #EEEEEE; border-right: 1px solid #EEEEEE; }
#p09box03 .company-table tr td a.map_link { display: block; padding-left: 20px; box-sizing: border-box; line-height: 1.44; text-decoration: underline; position: relative; margin-top: 10px; }
#p09box03 .company-table tr td a.map_link::before { content: ""; display: block; width: 16px; height: 22px; background: url("../img/p09/icon_map.svg") no-repeat center; background-size: contain; position: absolute; top: 1px; left: 0; }

#p09box04 .title_box { display: block; margin-bottom: 60px; }
#p09box04 .clients-list { display: block; }
#p09box04 .clients-list li { padding-bottom: 20px; border-bottom: 1px solid #A6B4CE; box-sizing: border-box; font-size: 17px; line-height: 1.44; margin-bottom: 30px; }
#p09box04 .clients-list li:last-child { margin-bottom: 0; }
#p09box04 .sub_text { margin-top: 20px; }

#p09box05 .cnt { display: block; margin-bottom: 120px; }
#p09box05 .cnt img { display: block; width: 100%; max-width: 275px; margin: 0 auto 30px; }
#p09box05 .sdgs-list .sdgs_box { padding: 90px 20px 30px; box-sizing: border-box; background: #F6F6F6; margin-bottom: 120px; position: relative; }
#p09box05 .sdgs-list .sdgs_box:last-child { margin-bottom: 0; }
#p09box05 .sdgs-list .sdgs_box .img { width: 120px; height: 120px; position: absolute; top: -60px; left: 50%; transform: translateX(-50%); z-index: 1; }
#p09box05 .sdgs-list .sdgs_box h3 { font-size: 22px; line-height: 1.45; text-align: center; margin-bottom: 30px; }
#p09box05 .sdgs-list .sdgs_box ul.list-text li { padding-left: 1em;text-indent: -1em; }

#p09box06 .history-list { padding-left: 20px; box-sizing: border-box; }
#p09box06 .history-list .history01 { display: block; padding-bottom: 30px; box-sizing: border-box; border-bottom: 1px solid #E1E8F3; margin-bottom: 30px; position: relative; }
#p09box06 .history-list .history01:last-child { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
#p09box06 .history-list .history01:last-child::before { display: none; }
#p09box06 .history-list .history01::before { content: ""; display: block; width: 1px; height: calc(100% + 30px); background: #0B50CF; position: absolute; top: 25px; left: -18px; }
#p09box06 .history-list .history01::after { content: ""; display: block; width: 13px; height: 13px; background: #0B50CF; border-radius: 50%; position: absolute; top: 12px; left: -24px; }
#p09box06 .history-list .history01 .year { font-size: 15px; line-height: 1.47; }
#p09box06 .history-list .history01 .year em { display: inline-block; font-size: 30px; line-height: 1.2; margin-right: 3px; }
#p09box06 .history-list .history01 .info_box { align-items: flex-start; margin-top: 12px; }
#p09box06 .history-list .history01 .info_box .month { width: 53px; line-height: 32px; }
#p09box06 .history-list .history01 .info_box .month em { display: inline-block; font-size: 20px; margin-right: 1px; }
#p09box06 .history-list .history01 .info_box .text { width: calc(100% - 53px); }

#p09box07 .cnt { display: block; }
#p09box07 .cnt .text_box { margin-bottom: 40px; }
#p09box07 .cnt .text_box .info { margin-bottom: 40px; }
#p09box07 .cnt .text_box .info:last-child { margin-bottom: 0; }
#p09box07 .cnt .text_box .info h3 { padding-left: 25px; box-sizing: border-box; font-size: 19px; line-height: 1.45; position: relative; margin-bottom: 20px; }
#p09box07 .cnt .text_box .info h3 img { display: block; width: 20px; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#p09box07 .cnt .map_box { width: 100%; height: 100%; aspect-ratio: 335 / 224; position: relative; }
#p09box07 .cnt .map_box iframe { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

/*お知らせ　p10
=========================================== */
#p10box01 .blog-all-list .blog02 { padding-bottom: 60px; border-bottom: 1px solid #A6B4CE; margin-bottom: 60px; }
#p10box01 .blog-all-list .blog02:last-child { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }

#toc_container { background: #FFFFFF !important; border: 0 !important; padding: 40px 20px !important; margin-bottom: 50px !important; width: 100% !important; font-size: 16px !important; box-sizing: border-box; }
#toc_container p.toc_title { text-align: left !important; margin: 0 0 20px !important; padding: 0 !important; font-family: "Inter"; font-size: 20px; color: #0B50CF; font-weight: 500 !important; line-height: 25px; }
#toc_container ul.toc_list { margin-top: 0 !important; }
#toc_container ul.toc_list > li { padding-left: 34px; box-sizing: border-box; margin-bottom: 20px; }
#toc_container ul.toc_list > li:last-child { margin-bottom: 0; }
#toc_container ul.toc_list > li > a { position: relative; font-weight: 700; color: #0F0F0F; }
#toc_container ul.toc_list > li > a .toc_number { font-family: "Inter"; font-size: 18px; line-height: 22px; font-weight: 500; color: #0B50CF; position: absolute; top: 1px; left: -34px; }

.keyword_box { margin-top: 60px; }
.keyword_box .keyword-list { margin-top: 10px; }
.keyword_box .keyword-list li { display: inline-block; margin: 15px 10px 0 0; }
.keyword_box .keyword-list li:last-child { margin-right: 0; }
.keyword_box .keyword-list li a { display: inline-block; padding: 3px 13px 4px; box-sizing: border-box; background: #FFFFFF; border: 1px solid #0B50CF; border-radius: 35px; font-size: 14px; font-weight: 500; line-height: 1.43; color: #0B50CF; }

.writer_box { margin-top: 60px; }
.writer_box .box_in { display: block; padding: 40px 20px; box-sizing: border-box; background: #FFFFFF; border: 1px solid #A6B4CE; }
.writer_box .box_in .img { width: 120px; height: 120px; border-radius: 50%; margin: 0 auto 20px; }
.writer_box .box_in .info_box .name_box { display: block; text-align: center; }
.writer_box .box_in .info_box .name_box h4 { font-size: 19px; }
.writer_box .box_in .info_box .name_box .cate { margin-top: 8px; }
.writer_box .box_in .info_box .name_box .cate span { display: inline-block; font-size: 19px; }
.writer_box .box_in .info_box .name_box .cate span:last-child::after { display: none; }
.writer_box .box_in .info_box .name_box .cate span::after { content: "/"; }
.writer_box .box_in .info_box .text { margin-top: 30px; line-height: 1.56; }
.writer_box .box_in .info_box .shikaku-list { margin-top: 20px; }
.writer_box .box_in .info_box .shikaku-list li { padding-left: 1em; text-indent: -1em; }

.edit-midashi01 { font-size: 20px; line-height: 1.5; margin-bottom: 20px; }

.edit-midashi02 { padding-left: 12px; box-sizing: border-box; font-size: 18px; line-height: 1.45; position: relative; margin-bottom: 20px; }
.edit-midashi02::before { content: ""; display: block; width: 2px; height: calc(100% - 2px); background: #0F0F0F; position: absolute; bottom: 0; left: 0; }

#blogBox01 .cate-list { margin-bottom: 5px; }
#blogBox01 .cate-list li { padding: 3px 19px; box-sizing: border-box; border: 1px solid #0B50CF; border-radius: 18px; font-size: 14px; line-height: 1.43; font-weight: 500; color: #0B50CF; margin: 0 10px 10px 0; }
#blogBox01 .cate-list li:last-child { margin-right: 0; }
#blogBox01 .title { font-size: 22px; line-height: 1.45; margin-bottom: 18px; }
#blogBox01 .time { font-size: 14px; font-weight: 500; margin-bottom: 25px; }

/*採用情報　p11
=========================================== */
.page-recruit .under-cont > section { background: #FFFFFF; }
.page-recruit .under-cont > section:nth-child(2n) { background: #F7F9FF; }
.page-recruit div#bread { background: #FFFFFF; }
.page-recruit section .title_box { display: block; margin-bottom: 40px; }

#p11box01 .cnt { display: block; }
#p11box01 .cnt .text_box { margin-bottom: 50px; }
#p11box01 .cnt .text_box .midashi { font-size: 24px; margin-bottom: 40px; }
#p11box01 .cnt .text_box .name { margin-top: 20px; }

#p11box02 .people-list .people_box { margin-bottom: 60px; }
#p11box02 .people-list .people_box:last-child { margin-bottom: 0; }
#p11box02 .people-list .people_box .t_text { background: #0B50CF; padding: 20px 50px 20px 20px; box-sizing: border-box; position: relative; cursor: pointer; transition: 0.3s; }
#p11box02 .people-list .people_box .t_text::before { content: ""; display: block; width: 24px; height: 24px; background: url("../img/p11/icon_open.png") no-repeat center; background-size: contain; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); transition: 0.3s; }
#p11box02 .people-list .people_box .t_text h3 { color: #FFFFFF; }
#p11box02 .people-list .people_box .t_text.on::before { background: url("../img/p11/icon_close.png") no-repeat center; background-size: contain; }
#p11box02 .people-list .people_box .c_text { display: none; padding: 30px 20px; box-sizing: border-box; background: #FFFFFF; }
#p11box02 .people-list .people_box .c_text .box_in { display: block; }
#p11box02 .people-list .people_box .c_text .box_in .text_box .midashi { font-size: 20px; }
#p11box02 .people-list .people_box .c_text .box_in .text_box .name { font-size: 18px; margin-top: 30px; }
#p11box02 .people-list .people_box .c_text .box_in .text_box .text01 { font-size: 18px; margin-top: 10px; }
#p11box02 .people-list .people_box .c_text .box_in .text_box .info { margin-top: 10px; }
#p11box02 .people-list .people_box .c_text .box_in .text_box .info span:last-child::after { display: none; }
#p11box02 .people-list .people_box .c_text .box_in .text_box .info span::after { content: "｜"; }
#p11box02 .people-list .people_box .c_text .box_in .img { width: 100%; aspect-ratio: 118 / 115; margin-top: 30px; }
#p11box02 .people-list .people_box .c_text .qa-list { margin-top: 40px; border-top: 1px solid #A6B4CE; padding-top: 40px; }
#p11box02 .people-list .people_box .c_text .qa-list .qa_box { margin-bottom: 40px; }
#p11box02 .people-list .people_box .c_text .qa-list .qa_box:last-child { margin-bottom: 0; }
#p11box02 .people-list .people_box .c_text .qa-list .qa_box h4 { padding-left: 38px; box-sizing: border-box; font-size: 18px; line-height: 1.44; margin-bottom: 20px; position: relative; }
#p11box02 .people-list .people_box .c_text .qa-list .qa_box h4 .mark { display: inline-block; width: 32px; height: 32px; padding-top: 4px; box-sizing: border-box; background: #0B50CF; border-radius: 50%; font-size: 14px; line-height: 1.34; text-align: center; position: absolute; top: 0; left: 0; }

#p11box03 .number-list { display: block; }
#p11box03 .number-list .number_box00 { padding: 30px 20px 52px; box-sizing: border-box; background: #F7F9FF; margin-bottom: 30px; }
#p11box03 .number-list .number_box00:last-child { margin-bottom: 0; }
#p11box03 .number-list .number_box00 h3 { padding-left: 16px; box-sizing: border-box; font-size: 18px; line-height: 1.45; position: relative; margin-bottom: 35px; }
#p11box03 .number-list .number_box00 h3::before { content: ""; display: block; width: 8px; height: 8px; background: #0B50CF; position: absolute; top: 9px; left: 0; }
#p11box03 .number-list .number_box00 .box_in { justify-content: center; align-items: flex-end; }
#p11box03 .number-list .number_box00 .box_in img { display: block; width: 63px; margin-right: 9px; }
#p11box03 .number-list .number_box00 .box_in .num { font-size: 20px; line-height: 1.45; }
#p11box03 .number-list .number_box00 .box_in .num em { display: inline-block; font-size: 55px; line-height: 1.2; margin-right: 3px; }
#p11box03 .number-list .number_box00 .sub_text { margin-top: 20px; }
#p11box03 .number-list .number_box03.number_box00 .box-list { justify-content: center; }
#p11box03 .number-list .number_box03.number_box00 .box-list .box { min-width: 84px; text-align: center; margin-right: 30px; }
#p11box03 .number-list .number_box03.number_box00 .box-list .box:last-child { margin-right: 0; }
#p11box03 .number-list .number_box03.number_box00 .box-list .box img { display: block; width: auto; height: 51px; margin: 0 auto 8px; }
#p11box03 .number-list .number_box03.number_box00 .box-list .box span { display: block; width: 100%; padding: 1px 10px 2px; box-sizing: border-box; background: #0B50CF; border-radius: 18px; font-size: 14px; line-height: 1.43; }
#p11box03 .number-list .number_box03.number_box00 .box-list .box .num { font-size: 18px; }
#p11box03 .number-list .number_box03.number_box00 .box-list .box .num em { font-size: 48px; margin-right: 2px; }
#p11box03 .number-list .number_box04.number_box00 .box_in img { width: 58px; margin-bottom: 4px; }
#p11box03 .number-list .number_box05.number_box00 .box_in img { width: 58px; margin-bottom: 4px; }
#p11box03 .number-list .number_box06.number_box00 .box_in img { width: 58px; margin-bottom: 4px; }

#p11box04 .workplace-list { display: block; }
#p11box04 .workplace-list .workplace_box { padding: 50px 20px; box-sizing: border-box; background: #FFFFFF; margin-bottom: 20px; }
#p11box04 .workplace-list .workplace_box:last-child { margin-bottom: 0; }
#p11box04 .workplace-list .workplace_box h3 { font-size: 20px; line-height: 1.45; text-align: center; position: relative; margin-bottom: 20px; }
#p11box04 .workplace-list .workplace_box h3 img { display: block; width: 84px; margin: 0 auto 30px; }

#p11box05 .requirement-list .requirement_box { margin-bottom: 60px; }
#p11box05 .requirement-list .requirement_box:last-child { margin-bottom: 0; }
#p11box05 .requirement-list .requirement_box .info-cate { margin-bottom: 10px; }
#p11box05 .requirement-list .requirement_box .info-cate li { padding: 3px 19px; box-sizing: border-box; border: 1px solid #0B50CF; border-radius: 18px; font-size: 14px; line-height: 1.43; font-weight: 500; color: #0B50CF; margin: 0 10px 10px 0; }
#p11box05 .requirement-list .requirement_box .info-cate li:last-child { margin-right: 0; }
#p11box05 .requirement-list .requirement_box .t_text { background: #0B50CF; padding: 20px 50px 20px 20px; box-sizing: border-box; position: relative; cursor: pointer; transition: 0.3s; }
#p11box05 .requirement-list .requirement_box .t_text::before { content: ""; display: block; width: 24px; height: 24px; background: url("../img/p11/icon_open.png") no-repeat center; background-size: contain; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); transition: 0.3s; }
#p11box05 .requirement-list .requirement_box .t_text h3 { color: #FFFFFF; }
#p11box05 .requirement-list .requirement_box .t_text.on::before { background: url("../img/p11/icon_close.png") no-repeat center; background-size: contain; }
#p11box05 .requirement-list .requirement_box .c_text { display: none; padding: 40px 20px; box-sizing: border-box; background: #F7F9FF; }
#p11box05 .requirement-list .requirement_box .c_text .comment_box { margin-bottom: 40px; }
#p11box05 .requirement-list .requirement_box .c_text .info-table tr { display: block; margin-bottom: 30px; }
#p11box05 .requirement-list .requirement_box .c_text .info-table tr:last-child { margin-bottom: 0; }
#p11box05 .requirement-list .requirement_box .c_text .info-table tr th, #p11box05 .requirement-list .requirement_box .c_text .info-table tr td { display: block; }
#p11box05 .requirement-list .requirement_box .c_text .info-table tr th { padding-bottom: 15px; border-bottom: 1px solid #0B50CF; font-size: 18px; margin-bottom: 20px; }
#p11box05 .requirement-list .requirement_box .c_text .info-table tr td .btn01 { margin-top: 20px; }
#p11box05 .requirement-list .requirement_box02 .info-cate li { border: 1px solid #646E84; color: #646E84; }
#p11box05 .requirement-list .requirement_box02 .t_text { background: #646E84; }

#p11box06 .flow-list { display: block; }
#p11box06 .flow-list .flow01 { padding: 40px 20px; box-sizing: border-box; background: #FFFFFF; margin-bottom: 52px; position: relative; }
#p11box06 .flow-list .flow01:last-child { margin-bottom: 0; }
#p11box06 .flow-list .flow01:last-child::before { display: none; }
#p11box06 .flow-list .flow01::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: #a6b4ce transparent transparent transparent; border-width: 12px 9px 0px 9px; position: absolute; bottom: -32px; left: 50%; transform: translateX(-50%); }
#p11box06 .flow-list .flow01 .num { font-size: 18px; line-height: 1.2; margin-bottom: 5px; }
#p11box06 .flow-list .flow01 h3 { font-size: 22px; line-height: 1.45; }
#p11box06 .flow-list .flow01 .sub_text { margin-top: 5px; }
#p11box06 .flow-list .flow01 img { display: block; width: 135px; margin: 30px auto 0; }

#p11box07 { padding: 100px 0 0; background: #0B50CF; }
#p11box07 .wrap { padding: 0 5%; box-sizing: border-box; }
#p11box07 .title01 { margin-bottom: 40px; }
#p11box07 .title01 .ja { font-size: 26px; line-height: 1.45; padding-left: 0; margin-bottom: 0; margin-top: 20px; }
#p11box07 .title01 .ja::before { display: none; }
#p11box07 .title01 .en { font-size: 18px; }
#p11box07 .btn01 { margin: 0; }
#p11box07 .btn01 a { border: 1px solid #FFFFFF; }
#p11box07 .bg-img { margin-top: 60px; width: 100%; }

/*お見積もり・お問い合わせ　p12
=========================================== */
.page-contact #contact-sec { display: none; }
.page-contact #map-sec { margin-top: 0; }
.page-contact .grecaptcha-badge { visibility: visible; }

#p12box01 .title { font-size: 20px; margin-bottom: 40px; }
#p12box01 .example_box { display: block; background: #FFFFFF; }
#p12box01 .example_box h3 { padding: 18px 10px; box-sizing: border-box; background: #646E84; text-align: center; }
#p12box01 .example_box h3 span { font-size: 18px; }
#p12box01 .example_box .text_box { padding: 30px 20px; box-sizing: border-box; }
#p12box01 .example_box .text_box .check-list li { padding-left: 23px; box-sizing: border-box; font-weight: 700; position: relative; margin-bottom: 20px; }
#p12box01 .example_box .text_box .check-list li:last-child { margin-bottom: 0; }
#p12box01 .example_box .text_box .check-list li::before { content: ""; display: block; width: 15px; height: 12px; background: url("../img/p12/icon_check.svg") no-repeat center; background-size: contain; position: absolute; top: 8px; left: 0; }
#p12box01 .example_box .text_box .sub_text { display: block; font-weight: 700; text-align: right; margin-top: 20px; }
#p12box01 .num_box-list { display: block; margin-top: 60px; }
#p12box01 .num_box-list .num_box { padding: 40px 20px; box-sizing: border-box; background: #FFFFFF; text-align: center; margin-bottom: 20px; }
#p12box01 .num_box-list .num_box:last-child { margin-bottom: 0; }
#p12box01 .num_box-list .num_box img.icon { display: block; width: 58px; margin: 0 auto 20px; }
#p12box01 .num_box-list .num_box h3 { font-size: 22px; margin-bottom: 10px; }
#p12box01 .num_box-list .num_box .tel_box .tel .num { padding-left: 0; }
#p12box01 .num_box-list .num_box .tel_box .tel .num::before { display: none; }
#p12box01 .num_box-list .num_box .tel_box .tel-text { font-size: 16px; font-weight: 400; }
#p12box01 .num_box-list .num_box .fax_box { display: inline-block; }
#p12box01 .num_box-list .num_box .fax_box .fax-num { text-align: center; }
#p12box01 .num_box-list .num_box .fax_box .fax-num span { display: none; }
#p12box01 .num_box-list .num_box .fax_box .fax-num em { font-size: 40px; line-height: 1.2; color: #0B50CF; }
#p12box01 .num_box-list .num_box .fax_box .sub_text { line-height: 1.43; font-weight: 400; }
#p12box01 .form_wrap { padding: 40px 20px 50px; box-sizing: border-box; background: #FFFFFF; margin-top: 30px; }
#p12box01 .form_wrap > img.icon { display: block; width: 58px; margin: 0 auto 20px; }
#p12box01 .form_wrap > h3 { font-size: 22px; margin-bottom: 40px; }
#p12box01 .form_wrap .bikou-list li { font-weight: 700; padding-left: 1em; text-indent: -1em; margin-bottom: 20px; }
#p12box01 .form_wrap .bikou-list li:last-child { margin-bottom: 0; }
#p12box01 .form_wrap .form_box { padding: 30px 20px 60px; box-sizing: border-box; background: #F6F6F6; margin-top: 40px; }

ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 40px; }
ul.contact-state > li { display: table; width: calc((100% / 3) - 9px); height: 67px; position: relative; }
ul.contact-state > li:last-child::before { display: none; }
ul.contact-state > li::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #a6b4ce; border-width: 4px 0px 4px 4px; position: absolute; top: 50%; right: -9px; transform: translateY(-50%); }
ul.contact-state > li > span.text { display: table-cell; text-align: center; vertical-align: middle; background: #FFFFFF; font-size: 14px; font-weight: 700; line-height: 1.43; color: #0F0F0F; }
ul.contact-state > li > span.text .num { display: block; font-weight: 400; line-height: 1.2; }
ul.contact-state > li.state01 > span { background: #0F0F0F; color: #FFFFFF; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }
ul.contact-state.contact-state02 > li.state02 > span { background: #0F0F0F; color: #FFFFFF; }

.state-text { display: none; text-align: center; color: red; font-weight: 700; font-size: 18px; margin-bottom: 40px; }

.wpcf7-form.custom-wpcf7c-confirmed .state-text { display: block; }
.wpcf7-form.custom-wpcf7c-confirmed ul.contact-state { margin-bottom: 20px; }

.contactTBL { /*お問い合わせ項目*/ /*住所*/ /*添付ファイル*/ /*doui-check*/ /*送信ボタン*/ }
.contactTBL::placeholder { color: #9A9A9A; }
.contactTBL th, .contactTBL td { display: block; font-size: 16px; line-height: 24px; }
.contactTBL th { padding-left: 46px; box-sizing: border-box; position: relative; margin-bottom: 10px; }
.contactTBL th .hissu, .contactTBL th .ninni { display: inline-block; font-size: 14px; line-height: 20px; font-weight: 700; padding: 1px 5px 2px; box-sizing: border-box; border: 1px solid #0B50CF; position: absolute; top: 0; left: 0; }
.contactTBL th .hissu { background: #0B50CF; color: #FFFFFF; }
.contactTBL th .ninni { background: #FFFFFF; color: #0B50CF; }
.contactTBL td { margin-bottom: 40px; }
.contactTBL input.wpcf7-text, .contactTBL textarea.wpcf7-form-control.wpcf7-textarea, .contactTBL select.wpcf7-form-control.wpcf7-select, .contactTBL input.wpcf7-date { width: 100%; height: 40px; padding: 8px 10px; box-sizing: border-box; background: #FFFFFF; border: 1px solid #D4D4D4; border-radius: 2px; font-family: 'NotoSansJP'; font-size: 16px; font-weight: 400; line-height: 1.5; color: #0F0F0F; cursor: pointer; }
.contactTBL input.wpcf7-text.tel01 { max-width: 140px; }
.contactTBL textarea.wpcf7-form-control.wpcf7-textarea { height: 120px; }
.contactTBL select.wpcf7-form-control.wpcf7-select { padding: 8px 30px 8px 20px; background: url("../img/p12/select_arrow.svg") no-repeat center right 15px, #FFFFFF; background-size: 11px; -webkit-appearance: none; appearance: none; }
.contactTBL select.wpcf7-form-control.wpcf7-select option { color: #0F0F0F; }
.contactTBL .koumoku .wpcf7-list-item { display: block; margin: 15px 0 0 0; }
.contactTBL .koumoku .wpcf7-list-item label { display: flex; align-items: center; cursor: pointer; }
.contactTBL .koumoku .wpcf7-list-item label input[type="radio"] { width: 20px; height: 20px; background: #FFFFFF; border: 1px solid #D4D4D4; margin-right: 10px; cursor: pointer; }
.contactTBL .koumoku .wpcf7-list-item label span.wpcf7-list-item-label { font-weight: 500; }
.contactTBL .koumoku .wpcf7-list-item.first { margin-top: 0; }
.contactTBL .address_box .address-list li { margin-bottom: 20px; }
.contactTBL .address_box .address-list li:last-child { margin-bottom: 0; }
.contactTBL .address_box .address-list li .th { font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.contactTBL .address_box .address-list li.zip1 .td input.wpcf7-text { width: 90px; padding-left: 10px; padding-right: 10px; }
.contactTBL .address_box .address-list li.zip1 .td .sub_text { display: block; margin-top: 10px; }
.contactTBL .text-list { margin-top: 15px; }
.contactTBL .text-list li { padding-left: 1em; text-indent: -1em; margin-bottom: 10px; }
.contactTBL .text-list li:last-child { margin-bottom: 0; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler { border: none; border-radius: 0; margin-bottom: 0; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container { padding: 0; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner { width: auto; text-align: left; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner h3, .contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner span { display: none; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap::after { display: block; content: "※ファイルが選択されていません"; font-size: 15px; color: #0F0F0F; margin-top: 4px; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn { display: inline-block; height: 41px; padding: 10px 22px; box-sizing: border-box; background: #D9D9D9; border: 1px solid #0F0F0F; border-radius: 2px; font-size: 14px; font-weight: 500; line-height: 20px; color: #0F0F0F; transition: 0.3s; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .dnd-upload-counter { display: none; }
.contactTBL .codedropz-upload-wrapper .wpcf7c-conf.wpcf7c-conf-hidden { display: none; }
.contactTBL .codedropz-upload-wrapper:has(.dnd-upload-status) .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap::after { display: none; }
.contactTBL .doui-box th { margin-bottom: 15px; }
.contactTBL .doui-box .doui-text { font-weight: 500; margin-top: 10px; }
.contactTBL .doui-box .doui-text a { font-weight: 700; text-decoration: underline; }
.contactTBL .doui-box .wpcf7-list-item { display: block; margin-left: 0; }
.contactTBL .doui-box .wpcf7-list-item label { display: flex; align-items: center; justify-content: flex-start; }
.contactTBL .doui-box .wpcf7-list-item label span.wpcf7-list-item-label { position: relative; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.contactTBL .doui-box .wpcf7-list-item label input[type="checkbox"] { width: 23px; height: 23px; margin-right: 5px; background: #FFFFFF; border: 1px solid #D4D4D4; border-radius: 2px; cursor: pointer; }
.contactTBL .contact-submit.flex { display: block; }
.contactTBL .contact-submit.flex .btn01 { margin-top: 0; }
.contactTBL .contact-submit.flex .btn01 input.wpcf7-form-control { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 0 20px; box-sizing: border-box; white-space: normal; border-radius: 35px; background: #0B50CF; border: 2px solid #0B50CF; cursor: pointer; transition: 0.3s; font-size: 16px; line-height: 1.5; color: #FFFFFF; font-weight: 700; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.contactTBL .contact-submit.flex .btn01:has(.wpcf7c-force-hide) { display: none; }
.contactTBL .contact-submit.flex .btn01.back { margin-top: 20px !important; }
.contactTBL .contact-submit.flex .btn01.back input.wpcf7-form-control { background: #FFFFFF; color: #0B50CF; }
.contactTBL .contact-submit.flex .wpcf7c-elm-step2.mt20 { width: 100%; text-align: center; margin-top: 20px; }
.contactTBL .contact-submit.flex input.wpcf7-form-control:focus { outline: none; }

/*確認画面時の表示設定*/
#p12box01 .form_wrap .form_box:has(.contactArea.che) { background: #e6e6e6; }

.contactArea.che .contactTBL td { margin-bottom: 20px; }
.contactArea.che .address_box .address-list li { margin-bottom: 10px; }
.contactArea.che .address_box .address-list li:last-child { margin-bottom: 0; }
.contactArea.che .address_box .address-list li .sub_text { display: none !important; }
.contactArea.che .dnd-upload-status .dnd-upload-details .remove-file, .contactArea.che .codedropz-upload-handler, .contactArea.che .text-list, .contactArea.che span.dnd-progress-bar, .contactArea.che input[type=checkbox], .contactArea.che input[type=radio] { display: none; }
.contactArea.che input[type=checkbox]:checked, .contactArea.che input[type=radio]:checked { display: inline-block; }
.contactArea.che input[type=checkbox] ~ span.wpcf7-list-item-label, .contactArea.che input[type=radio] ~ span.wpcf7-list-item-label { display: none; }
.contactArea.che input[type=checkbox]:checked ~ span.wpcf7-list-item-label, .contactArea.che input[type=radio]:checked ~ span.wpcf7-list-item-label { display: inline-block; font-weight: 700; }
.contactArea.che textarea.wpcf7-textarea, .contactArea.che input.wpcf7-number, .contactArea.che input.wpcf7-date, .contactArea.che input.wpcf7-text, .contactArea.che select { font-weight: 700; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 185px; margin-top: -185px; }

.wpcf7c-conf { background-color: #D4D4D4 !important; }

input:-webkit-autofill, input:-internal-autofill-selected { -webkit-appearance: none; -webkit-box-shadow: 0 0 0px 1000px #D4D4D4 inset !important; box-shadow: 0 0 0px 1000px #D4D4D4 inset !important; }

.wpcf7 .ajax-loader { display: none !important; }

.wpcf7-spinner { display: none !important; }

/*Thanks・404
=========================================== */
#other { padding: 100px 5%; text-align: center; background: #F7F9FF; }
#other h2 { font-size: 24px; margin-bottom: 30px; }
#other p { position: relative; }

/*プライバシーポリシー
=========================================== */
div#pageBox01 { padding: 100px 5%; background: #F7F9FF; }

h2.pp-title01 { font-size: 24px; border-bottom: solid 2px; margin-bottom: 30px; padding-bottom: 10px; }

h3.pp-title02 { font-size: 20px; position: relative; margin: 20px 0; padding-left: 10px; }
h3.pp-title02::before { content: ""; width: 2px; height: 65%; background: #000; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*ウインドー幅ごと
=========================================== */
@media screen and (min-width: 0px) and (max-width: 374px) { .tel_box .tel .num { font-size: 10.67vw; padding-left: 8.53vw; }
  .tel_box .tel .num::before { width: 9.6vw; height: 9.6vw; top: 1.6vw; }
  #p03box02 .contact-list .box00.box02 .fax_box .fax-num em, #p12box01 .num_box-list .num_box .fax_box .fax-num em { font-size: 10.67vw; }
  .wp-pagenavi > span, .wp-pagenavi > a { width: 9.8vw; height: 9.8vw; line-height: 9.8vw; }
  #industry-sec .order_banner a::before { width: 21.33vw; left: 2vw; }
  #industry-sec .order_banner a::after { width: 20.53vw; right: 2vw; }
  #topbox01 .midashi { font-size: 6.93vw; }
  #topbox05 .cnt02 .left .midashi { font-size: 8vw; }
  .common-num .midashi { margin-bottom: 2.4vw; }
  .common-num .midashi em { font-size: 7.2vw; }
  .common-num .num { font-size: 6.67vw; }
  .common-num .num em { font-size: 16.8vw; }
  .common-num02.common-num .midashi em { font-size: 5.6vw; }
  #p02box01 .title { font-size: 4.53vw; }
  #p03box03 .cnt .text_box h2 { font-size: 6.93vw; }
  #p08box01 .common-num-list .common-num .midashi { font-size: 3.73vw; }
  #p08box01 .common-num-list .common-num .num { font-size: 5.33vw; }
  #p08box01 .common-num-list .common-num .num em { font-size: 10.67vw; }
  #p08box01 .common-num-list .common-num02.common-num .midashi { font-size: 4vw; }
  #p08box01 .common-num-list .common-num02.common-num .midashi em { font-size: 7.2vw; } }
@media screen and (min-width: 0px) and (max-width: 350px) { #main.home_main .main_box .text_box h2 > span { font-size: 37px; }
  #main.home_main .main_box .text_box h2 > span .mini { font-size: 32px; }
  #main.home_main .main_box .text_box .main-list li { width: 90px; height: 90px; margin-right: 9px; }
  #main.home_main .main_box .text_box .main-list li:last-child { margin-right: 0; } }
/*safari用
=========================================== */
