@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 { /*Montserrat*/
font-family: "Montserrat"; src: url("../fonts/font/Montserrat-Regular.ttf"); src: url("../fonts/font/Montserrat-Regular.woff2") format("woff2"), url("../fonts/font/Montserrat-Regular.woff") format("woff"), url("../fonts/font/Montserrat-Regular.ttf") format("truetype"); font-weight: 400; }
@font-face { /*Montserratボールド*/
font-family: "Montserrat"; src: url("../fonts/font/Montserrat-Bold.ttf"); src: url("../fonts/font/Montserrat-Bold.woff2") format("woff2"), url("../fonts/font/Montserrat-Bold.woff") format("woff"), url("../fonts/font/Montserrat-Bold.ttf") format("truetype"); font-weight: 700; }
/* Link
=========================================== */
a:link, a:visited { color: #1E1E1E; text-decoration: none; }

a:hover, a:active { color: #1E1E1E; 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: #1E1E1E; background: #FFFFFF; font-size: 15px; 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 { margin: 30px auto 0; text-align: center; }

.btn01 a { display: inline-flex; align-items: center; }

.btn01 a .btn-text .appear { font-size: 16px; font-weight: 700; }

.btn01 a .btn-text .hover-appear { display: none; }

.btn01 a > span.arrow { display: inline-block; width: 50px; height: 50px; background: url(../img/common/btn_arrow.svg) no-repeat center, #0E82DB; background-size: 14px; border-radius: 50%; margin-left: 8px; }

.btn02 { width: 100%; height: 60px; }

.btn02 a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 18px 0 19px; box-sizing: border-box; position: relative; background: #0E82DB; border-radius: 30px; }

.btn02 a .waku { position: relative; padding-left: 29px; box-sizing: border-box; }

.btn02 a .waku::before { content: ""; display: block; width: 21px; height: 16px; background: url("../img/common/icon_mail.svg") no-repeat center; background-size: contain; position: absolute; top: 4px; left: 0; }

.btn02 a .waku .appear { transition: 0.3s; line-height: 23px; font-size: 16px; font-weight: 700; color: #FFFFFF; }

.btn02 a .waku .hover-appear { display: none; }

.btn02.recruit_btn a { background: #011F3F; }

.btn02.recruit_btn a .waku { padding-left: 22px; }

.btn02.recruit_btn a .waku::before { width: 14px; height: 18px; background: url("../img/common/icon_recruit.svg") no-repeat center; background-size: contain; top: 3px; }

.btn02.visit_btn a { background: #F8B500; }

.btn02.visit_btn a .waku { padding-left: 30px; }

.btn02.visit_btn a .waku::before { width: 22px; height: 16px; background: url("../img/common/icon_visit.svg") no-repeat center; background-size: contain; }

.btn02.visit_btn a .waku .appear { color: #1E1E1E; }

.title01 { margin-bottom: 20px; }

.title01 .en { display: block; font-family: "Montserrat"; font-size: 50px; color: #47A1E6; line-height: 1.22; }

.title01 .ja { display: block; color: #135080; }

.title02 { margin-bottom: 20px; }

.title02 .en { display: block; font-family: "Montserrat"; font-size: 15px; color: #47A1E6; line-height: 1.22; margin-bottom: 10px; }

.title02 .ja { display: block; font-size: 22px; }

.tel_box { text-align: center; }

.tel_box .tel .num { display: inline-block; font-size: 35px; line-height: 43px; padding-left: 20px; position: relative; }

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

.tel_box .tel-text { font-size: 15px; line-height: 1.5; margin-top: 5px; }

.under-cont > section:first-child { position: relative; }

.under-cont .bg-bubble { width: 113.2vw; position: absolute; top: -49.4vw; left: -7.5vw; }

/*singleページ*/
body.single .under-cont > section:first-child::before { display: none; }

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

.medium { font-weight: 500; }

.bold { font-weight: 700; }

.common_text { line-height: 2; letter-spacing: 0.025em; }

.tcenter { text-align: center; }

.tleft { text-align: left; }

.tright { text-align: right; }

.mont { font-family: "Montserrat"; }

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

.mizu { color: #0E82DB; }

.kon { color: #011F3F; }

.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: 70px; position: fixed; transition: 0.3s; left: 0; right: 0; top: 0; margin: auto; z-index: 100; }

#header .header_inner { height: 100%; justify-content: space-between; align-items: center; flex-wrap: nowrap; }

#header .header_inner .logo_box { width: 250px; margin-left: 10px; position: relative; z-index: 1; }

#header .header_inner .logo { width: 250px; height: 20px; }

#header .header_inner .logo a { display: block; width: 100%; height: 100%; background: url("../img/common/logo02.png") no-repeat center; background-size: contain; }

#header .header_inner .logo a:hover { text-decoration: none; opacity: 0.7; }

#header .header_inner .logo_tamada { width: 137px; height: 14px; background: url("../img/common/logo_tamada.png") no-repeat center; background-size: contain; margin: 10px auto 0; }

#header .header_inner .right .btn_box { display: none; }

.fixed #header { background: #FFFFFF; }

.fixed #header .header_inner .logo a { background: url("../img/common/logo.png") no-repeat center; background-size: contain; }

.fixed #header .header_inner .logo_tamada { background: url("../img/common/logo_tamada02.png") no-repeat center; background-size: contain; }

/*singleページ*/
body.single #header { background: #FFFFFF; }

body.single #header .header_inner .logo a { background: url("../img/common/logo.png") no-repeat center; background-size: contain; }

body.single #header .header_inner .logo_tamada { background: url("../img/common/logo_tamada02.png") no-repeat center; background-size: contain; }

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

/* nav
=========================================== */
.sp-nav-btn { width: 50px; height: 50px; position: relative; z-index: 101; box-sizing: border-box; text-align: center; transition: 0.3s; background: #FFFFFF; border-radius: 100%; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2); position: absolute; top: 10px; right: 10px; }

.sp-nav-btn > span { width: 26px; height: 2px; background: #0E82DB; position: absolute; left: 50%; transform: translateX(-50%); transition: 0.3s; }

.sp-nav-btn .border01 { top: 20px; }

.sp-nav-btn .border02 { bottom: 20px; }

.sp-nav-btn.opon { box-shadow: none; }

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

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

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

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

.sp-nav-list .nav-list { position: fixed; width: 100%; height: 100%; z-index: 99; top: 0; background: #fff; right: -100%; transition: 0.3s; overflow-x: hidden; overflow-y: auto; padding-top: 70px; box-sizing: border-box; }

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

.sp-nav-list .nav-list > ul { margin-bottom: 18px; }

.sp-nav-list .nav-list ul > li { border-bottom: 1px solid #E8E8E8; }

.sp-nav-list .nav-list ul > li:last-child { border-bottom: 0; }

.sp-nav-list .nav-list ul > li > a, .sp-nav-list .nav-list ul li .nav-midashi { display: block; padding: 22px 40px 22px 20px; box-sizing: border-box; color: #000000; font-size: 16px; font-weight: 700; line-height: 23px; position: relative; }

.sp-nav-list .nav-list ul > li > a { background-image: url("../img/common/sp-arrow.svg"); background-size: 8px; background-position: center right 27px; background-repeat: no-repeat; }

.sp-nav-list .nav-list ul li .nav-midashi { background-image: url("../img/common/sp-open.svg"); background-size: 16px; background-position: center right 20px; background-repeat: no-repeat; }

.sp-nav-list .nav-list > ul li:has(.nav-midashi.on) { border-bottom: 0; }

.sp-nav-list .nav-list ul li .nav-midashi.on { background-image: url("../img/common/sp-close.svg"); }

.sp-nav-list .nav-list > ul li .nav-midashi.on { color: #0E82DB; background-color: rgba(14, 130, 219, 0.08); }

.sp-nav-list .nav-list > ul li .sp-nav { background-color: rgba(14, 130, 219, 0.08); border-top: 1px solid #D8E3EB; }

.sp-nav-list .nav-list > ul li .sp-nav li { border-bottom: 1px solid #D8E3EB; }

.sp-nav-list .nav-list .recruit-wrap { background: url("../img/common/sp-recruit_bg.jpg") no-repeat center top; background-size: cover; padding: 50px 20px; box-sizing: border-box; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box { background: #FFFFFF; border-radius: 15px; padding: 10px 20px 30px; box-sizing: border-box; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box ul > li:last-child { border-bottom: 1px solid #E8E8E8; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box ul > li > a, .sp-nav-list .nav-list .recruit-wrap .recruit-box ul > li .nav-midashi { padding: 20px 20px 20px 0; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box ul > li > a { background-position: center right 5px; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box ul > li .nav-midashi { background-position: center right; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box ul > li .sp-nav { border-top: 1px solid #E8E8E8; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box ul > li .sp-nav li:last-child { border-bottom: 0; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box .btn-box { margin-top: 30px; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box .btn-box .btn02 { margin-bottom: 20px; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box .btn-box .btn02:last-child { margin-bottom: 0; }

.sp-nav-list .nav-list .recruit-wrap .recruit-box .btn-box .btn02.entry_btn a .waku::before { width: 20px; height: 18px; background: url("../img/common/icon_entry.svg") no-repeat center; background-size: contain; }

/* fixed-nav
=========================================== */
#fixed-box { position: fixed; bottom: 0; right: 0; z-index: 100; transition: 0.3s; }

#fixed-box.none { z-index: 99; }

.fixed-btn { align-items: center; width: 165px; height: 60px; padding: 17px 15px 18px 40px; box-sizing: border-box; transition: 0.3s; background: url("../img/common/icon_fixed-btn.svg") no-repeat center left 15px, #011F3F; background-size: 20px; border-top-left-radius: 30px; position: relative; z-index: 100; }

.fixed-btn > span { font-size: 18px; }

.fixed-btn .line_box { width: 26px; height: 10px; position: relative; z-index: 101; margin-left: 10px; }

.fixed-btn .line_box span { width: 100%; height: 2px; background: #FFFFFF; position: absolute; left: 0; transition: 0.3s; }

.fixed-btn .line_box span.border01 { top: 0; }

.fixed-btn .line_box span.border02 { bottom: 0; }

.fixed-btn.opon .line_box span.border01 { transform: translateY(-50%) rotateZ(40deg); top: 50%; }

.fixed-btn.opon .line_box span.border02 { transform: translateY(50%) rotateZ(-40deg); bottom: 50%; }

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

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

.fixed-nav-list .nav-list { position: fixed; width: 100%; height: 100%; z-index: 99; bottom: -100%; background: #fff; right: 0; transition: 0.3s; overflow-x: hidden; overflow-y: auto; background: url("../img/common/sp-recruit_bg.jpg") no-repeat center top; background-size: cover; padding: 50px 20px; box-sizing: border-box; }

.fixed-nav-list .nav-list.opon { bottom: 0; }

.fixed-nav-list .nav-list .recruit-box { background: #FFFFFF; border-radius: 15px; padding: 10px 20px 30px; box-sizing: border-box; }

.fixed-nav-list .nav-list .recruit-box ul > li .nav-midashi, .fixed-nav-list .nav-list .recruit-box ul > li .sp-nav li > a { display: block; padding: 20px 20px 20px 0; box-sizing: border-box; color: #000000; font-size: 16px; font-weight: 700; line-height: 23px; position: relative; }

.fixed-nav-list .nav-list .recruit-box ul > li .nav-midashi { background-image: url("../img/common/sp-open.svg"); background-size: 16px; background-position: center right; background-repeat: no-repeat; border-bottom: 1px solid #E8E8E8; }

.fixed-nav-list .nav-list .recruit-box ul > li .nav-midashi.on { background-image: url("../img/common/sp-close.svg"); }

.fixed-nav-list .nav-list .recruit-box ul > li .sp-nav li { border-bottom: 1px solid #E8E8E8; }

.fixed-nav-list .nav-list .recruit-box ul > li .sp-nav li > a { background-image: url("../img/common/sp-arrow.svg"); background-size: 8px; background-position: center right 5px; background-repeat: no-repeat; }

.fixed-nav-list .nav-list .recruit-box .btn-box { margin-top: 30px; }

.fixed-nav-list .nav-list .recruit-box .btn-box .btn02 { margin-bottom: 20px; }

.fixed-nav-list .nav-list .recruit-box .btn-box .btn02:last-child { margin-bottom: 0; }

.fixed-nav-list .nav-list .recruit-box .btn-box .btn02.entry_btn a .waku::before { width: 20px; height: 18px; background: url("../img/common/icon_entry.svg") no-repeat center; background-size: contain; }

/* main */
/*-------------------------------------------*/
/* スライド共通 */
#main.home_main .main_slide { width: 100%; height: 100%; margin-bottom: 0; }

#main.home_main .main_slide .slide-img { width: 100%; height: 100vh; max-height: 518px; position: relative; }

#main.home_main .main_slide .slide-img .main_box { width: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); text-align: center; }

#main.home_main .main_slide .slide-img .main_box::before { content: ""; display: block; width: 300px; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; }

#main.home_main .main_slide .slide-img .main_box .main_list { justify-content: center; align-items: center; max-width: 300px; margin: 0 auto 15px; }

#main.home_main .main_slide .slide-img .main_box .main_list li { width: 143px; font-size: 14px; line-height: 20px; padding: 3px 15px 4px; box-sizing: border-box; background: #FFFFFF; border-radius: 14px; margin: 8px 8px 0 0; }

#main.home_main .main_slide .slide-img .main_box .main_list li:nth-child(-n+2) { margin-top: 0; }

#main.home_main .main_slide .slide-img .main_box .main_list li:nth-child(2n) { margin-right: 0; }

#main.home_main .main_slide .slide-img .main_box .main_title { font-size: 30px; line-height: 43px; text-shadow: 0 1px 5px rgba(1, 31, 63, 0.6); margin-bottom: 20px; }

#main.home_main .main_slide .slide-img .main_box .main_sub_text span { display: inline-block; font-size: 16px; padding: 0 54px; box-sizing: border-box; position: relative; }

#main.home_main .main_slide .slide-img .main_box .main_sub_text span::before, #main.home_main .main_box .main_sub_text span::after { content: ""; display: block; width: 50px; height: 1px; background: #FFFFFF; position: absolute; top: 50%; transform: translateY(-50%); }

#main.home_main .main_slide .slide-img .main_box .main_sub_text span::before { left: 0; }

#main.home_main .main_slide .slide-img .main_box .main_sub_text span::after { right: 0; }

/* スライド1枚目 */
#main.home_main .main_slide .slide-img.slide-img01 { background: url("../img/main/main_bg_sp.png") no-repeat center bottom; background-size: cover; }

#main.home_main .main_slide .slide-img.slide-img01 .main_box::before { background: linear-gradient(90deg, rgba(14, 58, 76, 0.29) 0%, rgba(14, 58, 76, 0.2) 75%, rgba(1, 31, 63, 0) 100%); filter: blur(30px); }

/* スライド2枚目 */
#main.home_main .main_slide .slide-img.slide-img02 { background: url("../img/main/main_bg02_sp.png") no-repeat center bottom; background-size: cover; }

#main.home_main .main_slide .slide-img.slide-img02 .main_box::before { background: rgba(90, 90, 90, 0.7); filter: blur(50px); }

/* スライド3枚目 */
#main.home_main .main_slide .slide-img.slide-img03 { background: url("../img/main/main_bg03_sp.png") no-repeat center bottom; background-size: cover; }

#main.home_main .main_slide .slide-img.slide-img03 .main_box::before { background: rgba(90, 90, 90, 0.7); filter: blur(50px); }

#main.home_main .main_slide .slide-img.slide-img03 .main_box .main_list li { width: 95px; padding: 3px 12px 4px; margin: 5px 5px 0 0; }

#main.home_main .scroll_box { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); text-align: center; padding-bottom: 54px; }

#main.home_main .scroll_box .scroll_text { font-size: 14px; }

#main.home_main .scroll_box .scroll_line { display: block; width: 1px; height: 50px; background: #FFFFFF; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }

/* 下層 main */
/*-------------------------------------------*/
#main.kasou { width: 100%; aspect-ratio: 5 / 4; background: rgba(14, 130, 219, 0.3); position: relative; }

#main.kasou::before { content: ""; display: block; width: 100%; aspect-ratio: 250 / 69; background: url("../img/main/main_kasou_sp.png") no-repeat center bottom; background-size: cover; position: absolute; bottom: -1px; left: 0; }

#main.kasou .wrap { height: 100%; z-index: 1; }

#main.kasou h1 { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; aspect-ratio: 250 / 69; position: absolute; left: 0; bottom: 0; }

#main.kasou h1 .ja { display: block; font-size: 30px; line-height: 1.45; color: #47A1E6; }

#main.kasou h1 .en { display: block; font-family: "Montserrat"; font-size: 15px; color: #135080; line-height: 1.22; margin-top: 3px; }

body.page-pool #main.kasou { background: url("../img/main/p02_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-can #main.kasou { background: url("../img/main/p03_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-plumbing #main.kasou { background: url("../img/main/p04_bg_sp.jpg") no-repeat center; background-size: cover; }

body.post-type-archive-works #main.kasou, body.tax-works_cate #main.kasou { background: url("../img/main/p05_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-facility #main.kasou { background: url("../img/main/p06_bg_sp.jpg") no-repeat center; background-size: cover; }

body.post-type-archive-news #main.kasou, body.tax-news_cate #main.kasou { background: url("../img/main/p07_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-company #main.kasou { background: url("../img/main/p08_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-contact #main.kasou, body.page-thanks #main.kasou { background: url("../img/main/p09_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-recruit-works #main.kasou { background: url("../img/main/p10_bg_sp.jpg") no-repeat center; background-size: cover; }

body.post-type-archive-recruit-staff #main.kasou { background: url("../img/main/p11_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-job #main.kasou { background: url("../img/main/p12_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-factory-tour #main.kasou, body.page-thanks02 #main.kasou { background: url("../img/main/p13_bg_sp.jpg") no-repeat center; background-size: cover; }

body.page-entry #main.kasou, body.page-thanks03 #main.kasou { background: url("../img/main/p14_bg_sp.jpg") no-repeat center; background-size: cover; }

/*パンくず*/
div#bread { width: 100%; margin-top: 21px; position: relative; z-index: 1; }

div#bread .wrap { padding: 0 5%; box-sizing: border-box; }

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

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

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

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

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

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

/*singleページ*/
body.single div#bread { margin-top: 73px; }

/* 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 */
/*-------------------------------------------*/
#entry-sec { padding: 80px 5% 276px; border-radius: 40px 40px 0 0; background: url("../img/common/entry-bg_sp.png") no-repeat center bottom; background-size: cover; position: relative; }

#entry-sec h2 { font-size: 22px; letter-spacing: 0.025em; text-align: center; margin-bottom: 30px; }

#entry-sec .btn_box { display: block; }

#entry-sec .btn_box .box { width: 100%; padding: 20px 20px 30px; box-sizing: border-box; background: #FFFFFF; border-radius: 15px; text-align: center; margin-bottom: 20px; }

#entry-sec .btn_box .box:last-child { margin-bottom: 0; }

#entry-sec .btn_box .box h3 { font-size: 20px; margin-bottom: 10px; }

#entry-sec .btn_box .box p.common_text { line-height: 22px; font-weight: 500; }

#entry-sec .btn_box .box .btn02 { margin-top: 20px; }

#entry-sec #slide-bg { width: 100%; height: 226px; animation: bgMove 50s linear infinite; background: url("../img/common/img-slide.png") repeat-x; background-size: cover; position: absolute; bottom: 0; left: 0; }

@keyframes bgMove { 0% { background-position: 0; }
  100% { background-position: -1766px; } }
#contact-sec { padding: 60px 5%; }

#contact-sec .cnt { display: block; }

#contact-sec .cnt .title01 { text-align: center; }

#contact-sec .cnt .text01 { text-align: center; }

#contact-sec .btn_box { display: block; margin-top: 30px; background: #F5F5F5; border-radius: 10px; }

#contact-sec .btn_box .box { padding: 20px 20px 30px; box-sizing: border-box; text-align: center; }

#contact-sec .btn_box .box h3 { font-size: 20px; margin-bottom: 15px; }

#contact-sec .btn_box .box.left { border-bottom: 5px solid #FFFFFF; }

#contact-sec .btn_box .box.left h3 { margin-bottom: 12px; }

#footer { padding: 0 5% 70px; }

#footer .footer_box { display: block; margin-bottom: 20px; padding-top: 50px; border-top: 1px solid #DBDBDB; }

#footer .footer_box .left { margin-top: 50px; }

#footer .footer_box .left .logo { width: 243px; }

#footer .footer_box .left .logo a { display: block; width: 100%; }

#footer .footer_box .left .logo a:hover { text-decoration: none; opacity: 0.7; }

#footer .footer_box .left .info_box { width: 100%; margin-top: 15px; }

#footer .footer_box .left .info_box .address { font-size: 14px; margin-bottom: 10px; }

#footer .footer_box .left .info_box .list { font-size: 14px; }

#footer .footer_box .right .navs-list { width: 100%; display: flex; justify-content: space-between; }

#footer .footer_box .right .navs-list > ul.navs-list00 { width: 48%; margin-top: 40px; }

#footer .footer_box .right .navs-list > ul.navs-list01, #footer .footer_box .right .navs-list > ul.navs-list02 { margin-top: 0; }

#footer .footer_box .right .navs-list > ul.navs-list00 > li { margin-bottom: 20px; font-weight: 700; }

#footer .footer_box .right .navs-list > ul.navs-list00 > li:last-child { margin-bottom: 0; }

#footer .bottom_box { display: block; }

#footer .bottom_box .link_list li { font-size: 13px; line-height: 18px; }

#footer .bottom_box .link_list li a { color: #707070; }

#footer .bottom_box .link_list li::after { content: "｜"; margin: 0 10px; }

#footer .bottom_box .link_list li:last-child::after { display: none; }

#footer .bottom_box .copyright { font-size: 12px; line-height: 17px; color: #707070; margin-top: 20px; }

/*parts
=========================================== */
.slider01 .slick-list { overflow: visible; }

.cate-list { width: auto; }
.cate-list li { font-size: 13px; font-weight: 500; line-height: 18px; color: #0E82DB; padding: 2px 5px; box-sizing: border-box; border: 1px solid #0E82DB; border-radius: 3px; margin-right: 6px; }
.cate-list li:last-child { margin-right: 0; }

.works01 a { display: block; width: 100%; }
.works01 a .img { width: 100%; aspect-ratio: 590 / 393; border-radius: 10px; overflow: hidden; }
.works01 a .img .img_in { width: 100%; height: 100%; transition: 0.6s; }
.works01 a .info { margin-left: -6px; align-items: center; }
.works01 a .info .cate-list { margin: 10px 0 0 6px; }
.works01 a .info .info-list { width: auto; margin: 10px 0 0 6px; }
.works01 a .info .info-list li { display: inline-block; font-size: 14px; line-height: 20px; color: #707070; }
.works01 a .info .info-list li:last-child::after { display: none; }
.works01 a .info .info-list li::after { content: "｜"; }
.works01 a .title { font-size: 17px; margin-top: 5px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.news01 a { display: block; }
.news01 a .img { width: 100%; aspect-ratio: 295 / 197; border-radius: 10px; border: 1px solid #DBDBDB; overflow: hidden; }
.news01 a .img .img_in { width: 100%; height: 100%; transition: 0.6s; }
.news01 a .text_box { margin-top: 10px; }
.news01 a .text_box .info .time { margin-left: 6px; font-size: 14px; line-height: 20px; color: #707070; margin-top: 2px; }
.news01 a .text_box .title { font-size: 17px; margin-top: 10px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.news01 a .text_box p.common_text { margin-top: 10px; line-height: 2; letter-spacing: 0.025em; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }

.interview01 a { display: block; width: 100%; }
.interview01 a .img { width: 100%; aspect-ratio: 59 / 71; border-radius: 10px; overflow: hidden; }
.interview01 a .img .img_in { width: 100%; height: 100%; transition: 0.6s; }
.interview01 a .title { font-size: 18px; margin-top: 8px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.interview01 a .info-list { margin-top: 5px; }
.interview01 a .info-list li { display: inline-block; font-size: 14px; line-height: 20px; }
.interview01 a .info-list li:last-child::after { display: none; }
.interview01 a .info-list li::after { content: "/"; font-size: 14px; color: #A1A1A1; margin: 0 5px; }

.job01 a { display: block; width: 100%; }
.job01 a .img { width: 100%; aspect-ratio: 590 / 393; border-radius: 10px; overflow: hidden; box-sizing: border-box; }
.job01 a .img .img_in { width: 100%; height: 100%; transition: 0.6s; }
.job01 a .info { margin-left: -6px; align-items: center; }
.job01 a .info .cate-list { margin: 12px 0 0 6px; }
.job01 a .info .title { font-size: 18px; margin: 10px 0 0 6px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
.job01 a .info-list { margin-top: 8px; }
.job01 a .info-list li { align-items: center; margin-bottom: 5px; }
.job01 a .info-list li:last-child { margin-bottom: 0; }
.job01 a .info-list li .th, .job01 a .info-list li .td { display: inline-block; }
.job01 a .info-list li .th { width: 70px; font-weight: 500; }
.job01 a .info-list li .td { width: calc(100% - 70px); display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }

#works-sec { padding: 40px 5% 80px; }
#works-sec .cnt { display: block; margin-bottom: 20px; }
#works-sec .cnt .left { margin-bottom: 30px; }
#works-sec .point { display: block; font-size: 18px; }
#works-sec .point .text { display: block; }
#works-sec .point .num { display: block; line-height: 52px; }
#works-sec .point .num em { font-size: 43px; margin-right: 2px; }
#works-sec #works-slider { margin-bottom: 0 !important; }
#works-sec #works-slider .works01 { margin: 0 10px; }

.wrap.twin div#two-side { margin-bottom: 30px; }
.wrap.twin div#two-side .side_box { margin-bottom: 20px; }
.wrap.twin div#two-side .side_box:last-child { margin-bottom: 0; }
.wrap.twin div#two-side .side_box .side-title { font-size: 16px; line-height: 1.44; text-align: center; color: #FFFFFF; padding: 13px 0 14px; box-sizing: border-box; background: #0E82DB; border-radius: 5px 5px 0 0; }
.wrap.twin div#two-side .side_box .side-inner { padding: 15px; box-sizing: border-box; background: #F2F9FD; border-radius: 5px 5px 0 0; }
.wrap.twin div#two-side .side_box .side-inner select { width: 100%; height: 60px; padding: 18px 40px 18px 14px; box-sizing: border-box; font-size: 16px; line-height: 1.5; font-weight: 400; border: 0; font-family: 'NotoSansJP'; background: url("../img/common/select_arrow.svg") no-repeat center right 15px, #FFFFFF; background-size: 18px; border-radius: 5px; -webkit-appearance: none; appearance: none; cursor: pointer; color: #000000 !important; }
.wrap.twin div#two-side .side_box .side-inner select option { color: #000000 !important; }
.wrap.twin div#two-side .side_box .side-inner select option:first-child { color: #000000 !important; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; width: 35px; height: 35px; background: #F5F5F5; border-radius: 5px; margin: 0 4px; text-decoration: none; font-size: 15px; font-weight: 400; color: #000000; line-height: 35px; transition: 0.3s; }

.wp-pagenavi { text-align: center; margin-top: 50px; position: relative; }
.wp-pagenavi a:hover, .wp-pagenavi span.current { background: #0E82DB; color: #FFFFFF; }
.wp-pagenavi a.page { position: relative; }
.wp-pagenavi span.extend { width: auto; margin: 0; background: transparent; }
.wp-pagenavi span.pages { display: none; }
.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink { width: 10px; position: relative; color: transparent; background: transparent; margin: 0 8px; }
.wp-pagenavi a.previouspostslink::before, .wp-pagenavi a.nextpostslink::before { content: ""; display: block; width: 100%; height: 20px; 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 { width: 20px; position: relative; color: transparent; background: transparent; margin: 0; }
.wp-pagenavi a.first::before, .wp-pagenavi a.last::before { content: ""; display: block; width: 100%; height: 20px; background: url("../img/common/page_arrow02.svg") no-repeat center; background-size: cover; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.wp-pagenavi a.first::before { transform: translate(-50%, -50%) scale(-1, 1); }

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

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

.post-navigation ul > li { width: 32%; max-width: 110px; height: 60px; }
.post-navigation ul > li a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #F5F5F5; box-sizing: border-box; font-size: 15px; font-weight: 400; line-height: 60px; color: #000000; position: relative; }
.post-navigation ul > li a::before { content: ""; display: block; width: 7px; height: 14px; background-image: url("../img/common/page_arrow03.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 50%; transform: translateY(-50%); }

.post-navigation ul > li.prev a { padding: 0 10px 0 20px; border-radius: 10px 0 0 10px; text-align: right; }
.post-navigation ul > li.prev a::before { left: 10px; transform: translateY(-50%) scale(-1, 1); }

.post-navigation ul > li.next a { padding: 0 20px 0 10px; border-radius: 0 10px 10px 0; }
.post-navigation ul > li.next a::before { right: 10px; }

.post-navigation ul > li.blog-back { margin: 0 5px; }
.post-navigation ul > li.blog-back a::before { display: none; }

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

/*TOPページ　p01
=========================================== */
.home #works-sec { padding-bottom: 40px; }
.home #works-sec > .wrap .bg-bubble { width: 93px; position: absolute; top: -30px; left: 205px; z-index: -1; }
.home #works-sec .cnt { margin-bottom: 30px; }
.home #works-sec .cnt .text01 { line-height: 25px; }
.home #works-sec .cnt02 { display: block; margin-bottom: 30px; }
.home #works-sec .cnt02 .point { display: inline-flex; align-items: center; justify-content: space-between; }
.home #works-sec .cnt02 .point .text { display: inline-block; width: 180px; border-right: 1px solid #DBDBDB; line-height: 26px; margin-right: 18px; box-sizing: border-box; }
.home #works-sec .cnt02 .point .num { display: inline-block; width: calc(100% - 198px); }
.home #works-sec .cnt02 .btn01 { display: none; }

#topbox01 { padding: 60px 5% 50px; }
#topbox01 > .wrap .bg-bubble01 { width: 69px; position: absolute; top: -30px; left: 265px; z-index: -1; }
#topbox01 .cnt .bg-bubble02 { width: 57px; position: absolute; bottom: -33px; right: 20px; }
#topbox01 .cnt .text_box .title01 { margin-bottom: 30px; }
#topbox01 .cnt .text_box .midashi { font-size: 22px; font-weight: 700; margin-bottom: 30px; }
#topbox01 .cnt .img_box { width: 100%; aspect-ratio: 670 / 447; border-radius: 10px; overflow: hidden; margin-top: 30px; }

#topbox02 { padding: 30px 5% 40px; position: relative; }
#topbox02 > .wrap .bg-bubble { width: 65px; position: absolute; top: 45px; left: -15px; z-index: -1; }
#topbox02::before { content: ""; display: block; width: 100%; aspect-ratio: 25 / 7; background: url("../img/top/bg01_sp.png") no-repeat center bottom; background-size: contain; position: absolute; top: -28vw; left: 50%; transform: translateX(-50%); z-index: -1; }
#topbox02 .title01 { text-align: center; margin-bottom: 32px; }
#topbox02 .text01 { text-align: center; line-height: 25px; }
#topbox02 .business-list { display: block; margin-top: 30px; }
#topbox02 .business-list .business00 { margin-bottom: 30px; }
#topbox02 .business-list .business00 a { display: block; width: 100%; aspect-ratio: 335 / 223; border-radius: 10px; overflow: hidden; position: relative; }
#topbox02 .business-list .business00 a .bg-img { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.6s; }
#topbox02 .business-list .business00 a .text_box { align-items: center; justify-content: space-between; padding: 15px 15px 15px 20px; box-sizing: border-box; position: absolute; left: 0; bottom: 0; }
#topbox02 .business-list .business00 a .text_box h3 { width: calc(100% - 50px); font-size: 25px; }
#topbox02 .business-list .business00 a .text_box .arrow { display: block; width: 40px; height: 40px; background-color: rgba(255, 255, 255, 0.25); background-image: url(../img/common/btn_arrow.svg); background-repeat: no-repeat; background-position: center; background-size: 12px; border-radius: 50%; }
#topbox02 .business-list .business00 .text { margin-top: 10px; line-height: 22px; }
#topbox02 .business-list .business01 a .bg-img { background: url("../img/top/img02.png") no-repeat center; background-size: cover; }
#topbox02 .business-list .business02 a .bg-img { background: url("../img/top/img03.png") no-repeat center; background-size: cover; }
#topbox02 .business-list .business03 { margin-bottom: 0; }
#topbox02 .business-list .business03 a .bg-img { background: url("../img/top/img04.png") no-repeat center; background-size: cover; }

#topbox03 { padding: 40px 5% 60px; }
#topbox03 > .wrap .bg-bubble { width: 381px; position: absolute; top: -50px; left: -35px; z-index: -1; }
#topbox03 .cnt .text_box .title01 { margin-bottom: 30px; }
#topbox03 .cnt .text_box .midashi { font-size: 22px; font-weight: 700; margin-bottom: 30px; }
#topbox03 .cnt .text_box .btn01 { margin-top: 30px; }
#topbox03 .cnt .img_box { width: 95vw; aspect-ratio: 355 / 237; border-radius: 0 15px 15px 0; overflow: hidden; margin: 0 0 30px -5vw; }

#topbox04 { padding: 60px 5% 165px; background: #F5F5F5; border-radius: 40px 40px 0 0; }
#topbox04 .title_box { justify-content: space-between; align-items: flex-end; margin-bottom: 30px; }
#topbox04 .title_box .title01 { margin: 0; }
#topbox04 .title_box .btn01 { margin: 0; text-align: right; }
#topbox04 .title_box .btn01 a > span.arrow { width: 40px; height: 40px; background-size: 12px; }
#topbox04 #news-slider { margin-bottom: 0 !important; position: relative; z-index: 1; }
#topbox04 #news-slider .news01 { margin: 0 10px; }
#topbox04 #news-slider .news01 a .text_box .title { font-size: 15px; font-weight: 400; margin-top: 5px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#topbox04 #news-slider .news01 a .text_box p.common_text { display: none; }

#topbox05 { padding: 30px 5%; position: relative; }
#topbox05 > .wrap .bg-bubble { width: 84px; position: absolute; top: -75px; left: 210px; }
#topbox05::before { content: ""; display: block; width: 100%; aspect-ratio: 25 / 7; background: url("../img/top/bg02_sp.png") no-repeat center bottom; background-size: contain; position: absolute; top: -28vw; left: 50%; transform: translateX(-50%); }
#topbox05 .cnt { margin-bottom: 50px; }
#topbox05 .cnt .text01 { line-height: 25px; }
#topbox05 .job_box { display: block; position: relative; }
#topbox05 .job_box .bg-bubble02 { width: 80px; position: absolute; top: -10px; left: 130px; z-index: -1; }
#topbox05 .job_box .text_box .title01 { display: inline-flex; align-items: center; }
#topbox05 .job_box .text_box .title01 .en { display: inline-block; font-size: 35px; color: #5D9ECF; }
#topbox05 .job_box .text_box .title01 .ja { display: inline-block; margin-left: 10px; }
#topbox05 .job_box .text_box .job-list li:first-child a { padding-top: 0; }
#topbox05 .job_box .text_box .job-list li a { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; border-bottom: 1px solid #DBDBDB; box-sizing: border-box; }
#topbox05 .job_box .text_box .job-list li a .text { width: calc(100% - 50px); }
#topbox05 .job_box .text_box .job-list li a .text h4 { font-size: 20px; margin-bottom: 5px; }
#topbox05 .job_box .text_box .job-list li a .text p.common_text { letter-spacing: 0; line-height: 22px; }
#topbox05 .job_box .text_box .job-list li a .arrow { display: block; width: 40px; height: 40px; background-color: #0E82DB; background-image: url(../img/common/btn_arrow.svg); background-repeat: no-repeat; background-position: center; background-size: 12px; border-radius: 50%; }
#topbox05 .job_box .img_box { display: none; }

#topbox06 { padding: 30px 5%; }
#topbox06 .wrap .bg-bubble { width: 106px; position: absolute; top: -25px; left: 210px; z-index: -1; }
#topbox06 .title01 { display: inline-block; }
#topbox06 .title01 .en { font-size: 35px; color: #5D9ECF; }
#topbox06 .text01 { letter-spacing: 0; }
#topbox06 #interview-slider { margin-top: 30px; margin-bottom: 0 !important; }
#topbox06 #interview-slider .interview01 { margin: 0 10px; }

#topbox07 { padding: 30px 5% 80px; }
#topbox07 .wrap .bg-bubble { width: 411px; position: absolute; top: -58px; left: -45px; z-index: -1; }
#topbox07 .title01 { display: inline-block; margin-bottom: 30px; }
#topbox07 .title01 .en { font-size: 35px; color: #5D9ECF; letter-spacing: -0.01em; }
#topbox07 #job-slider { margin-bottom: 0 !important; }
#topbox07 #job-slider .job01 { margin: 0 10px; }

/*共通パーツ　p02~p04
=========================================== */
.businessBox01 { padding: 60px 5% 40px; }
.businessBox01 .cnt { display: block; }
.businessBox01 .cnt .text_box { margin-bottom: 30px; }

.businessBox02 { padding: 40px 5%; }
.businessBox02 .cnt { display: block; margin-bottom: 150px; }
.businessBox02 .cnt .left { margin-bottom: 30px; }
.businessBox02 .cnt .left .text01 { line-height: 2; letter-spacing: 0.025em; }
.businessBox02 .cnt .right { width: 100%; max-width: 340px; padding: 8px 68px 8px 20px; box-sizing: border-box; background: #135080; border-radius: 10px; position: relative; margin: 0 auto; }
.businessBox02 .cnt .right p { display: flex; align-items: center; flex-wrap: wrap; font-size: 16px; line-height: 35px; }
.businessBox02 .cnt .right p em { font-size: 24px; margin-left: 7px; }
.businessBox02 .cnt .right img { width: 90px; position: absolute; top: -24px; right: 0; }
.businessBox02 .construction-list { position: relative; }
.businessBox02 .construction-list::before { content: ""; display: block; width: 100vw; aspect-ratio: 25 / 7; background: url("../img/p02/bg01_sp.png") no-repeat center bottom; background-size: contain; position: absolute; top: -105px; left: 50%; transform: translateX(-50%); z-index: -1; }
.businessBox02 .construction-list .construction01 { width: calc(50% - 6px); margin: 20px 12px 0 0; }
.businessBox02 .construction-list .construction01:nth-child(-n+2) { margin-top: 0; }
.businessBox02 .construction-list .construction01:nth-child(2n) { margin-right: 0; }
.businessBox02 .construction-list .construction01 .midashi { font-size: 17px; margin-top: 10px; }

.businessBox03 { padding: 40px 5%; }
.businessBox03 .feature-list .feature01 { background: #F2F9FD; border-radius: 0 0 10px 10px; margin-bottom: 50px; }
.businessBox03 .feature-list .feature01:last-child { margin-bottom: 0; }
.businessBox03 .feature-list .feature01 .img_box { margin-bottom: -15px; }
.businessBox03 .feature-list .feature01 .text_box { padding: 58px 20px 20px; box-sizing: border-box; position: relative; }
.businessBox03 .feature-list .feature01 .text_box .num { width: 45px; height: 45px; border-radius: 50%; background: #0E82DB; padding-top: 5px; box-sizing: border-box; font-size: 30px; line-height: 36px; position: absolute; top: -8px; left: 50%; transform: translateX(-50%); z-index: 1; }
.businessBox03 .feature-list .feature01 .text_box h3 { font-size: 18px; margin-bottom: 10px; }

/*プール工事　p02
=========================================== */
body.page-pool #works-sec { padding-top: 80px; }

#p02box03.businessBox03 { padding-bottom: 80px; }

#p02box04 { padding: 50px 5%; background: #F5F5F5; border-radius: 40px 40px 0 0; }
#p02box04 .cnt { display: block; margin-bottom: 20px; }
#p02box04 .cnt .right .text01 { line-height: 2; letter-spacing: 0.025em; }
#p02box04 .flow_box .flow-list { display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; margin-bottom: 10px; }
#p02box04 .flow_box .flow-list .flow-list_in { display: block; width: 100%; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 { display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 10px; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01:last-child { margin-bottom: 0; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 h3 { width: 23px; writing-mode: vertical-rl; white-space: pre; letter-spacing: -0.4em; text-align: center; margin-right: 10px; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 h3 span { font-size: 16px; padding: 13px 0 19px; position: relative; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 h3 span::before, #p02box04 .flow_box .flow-list .flow-list_in .flow01 h3 span::after { content: ""; display: block; width: 2px; height: 13px; position: absolute; left: 50%; transform: translateX(-50%); }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 h3 span::before { top: 0; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 h3 span::after { bottom: 0; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 .img { width: calc(100% - 33px); aspect-ratio: 518 / 345; border-radius: 10px; position: relative; }
#p02box04 .flow_box .flow-list .flow-list_in .flow01 .img::before { content: ""; display: block; width: 40px; height: 40px; background: url("../img/p02/arrow_sp.svg") no-repeat center, #F5F5F5; background-size: 17px; border-radius: 50%; position: absolute; bottom: -25px; left: 50%; transform: translateX(-50%) rotate(90deg); z-index: 1; }
#p02box04 .flow_box .flow-list .flow_text { width: 40px; border-radius: 0 10px 10px 0; writing-mode: vertical-rl; white-space: pre; letter-spacing: -0.3em; text-align: center; }
#p02box04 .flow_box .flow-list .flow_text span { line-height: 40px; font-weight: 700; }
#p02box04 .flow_box .flow-list01 .flow-list_in .flow01:last-child { margin-right: 0; }
#p02box04 .flow_box .flow-list01 .flow-list_in .flow01:last-child .img::before { display: block; }
#p02box04 .flow_box .flow-list01 .flow-list_in .flow01 h3 span { color: #47A1E6; }
#p02box04 .flow_box .flow-list01 .flow-list_in .flow01 h3 span::before, #p02box04 .flow_box .flow-list01 .flow-list_in .flow01 h3 span::after { background: #47A1E6; }
#p02box04 .flow_box .flow-list01 .flow_text { background: #47A1E6; }
#p02box04 .flow_box .flow-list02 .flow-list_in .flow01 h3 span { color: #0E82DB; }
#p02box04 .flow_box .flow-list02 .flow-list_in .flow01 h3 span::before, #p02box04 .flow_box .flow-list02 .flow-list_in .flow01 h3 span::after { background: #0E82DB; }
#p02box04 .flow_box .flow-list02 .flow_text { background: #0E82DB; }
#p02box04 .flow_box .flow-list03 { margin-bottom: 0; }
#p02box04 .flow_box .flow-list03 .flow-list_in .flow01:last-child .img::before { display: none; }
#p02box04 .flow_box .flow-list03 .flow-list_in .flow01 h3 span { color: #135080; }
#p02box04 .flow_box .flow-list03 .flow-list_in .flow01 h3 span::before, #p02box04 .flow_box .flow-list03 .flow-list_in .flow01 h3 span::after { background: #135080; }
#p02box04 .flow_box .flow-list03 .flow_text { background: #135080; }

/*製缶加工　p03
=========================================== */
#p03box01.businessBox01 .kakou_box { padding: 20px; box-sizing: border-box; background: #F2F9FD; border-radius: 10px; margin-top: 50px; }
#p03box01.businessBox01 .kakou_box .kakou_box_in { display: block; margin-bottom: 15px; }
#p03box01.businessBox01 .kakou_box .kakou_box_in h3 { font-size: 18px; margin-bottom: 5px; }
#p03box01.businessBox01 .kakou_box .kakou_box_in p { line-height: 2; letter-spacing: 0.025em; }
#p03box01.businessBox01 .kakou_box .info_box { background: #FFFFFF; border-radius: 10px; }
#p03box01.businessBox01 .kakou_box .info_box .box_in { display: block; padding: 15px; box-sizing: border-box; border-bottom: 2px solid #F2F9FD; }
#p03box01.businessBox01 .kakou_box .info_box .box_in:last-child { border-bottom: 0; }
#p03box01.businessBox01 .kakou_box .info_box .box_in .midashi { font-size: 16px; font-weight: 700; margin-bottom: 5px; }
#p03box01.businessBox01 .kakou_box .info_box .box_in .text { line-height: 2; }

/*据付・配管工事　p04
=========================================== */
/*実績紹介　p05
=========================================== */
#p05box01 { padding: 60px 5% 80px; }
#p05box01 .works-all-list { display: block; padding: 0 20px; box-sizing: border-box; }
#p05box01 .works-all-list .works01 { margin-bottom: 30px; }
#p05box01 .works-all-list .works01:last-child { margin-bottom: 0; }

#worksBox01 { padding: 60px 5% 80px; }
#worksBox01 div#two-side { margin: 50px 0 0; }
#worksBox01 .info { margin-bottom: 10px; }
#worksBox01 .info .cate-list { margin-right: 6px; }
#worksBox01 .info .info-list { width: auto; margin-top: 2px; }
#worksBox01 .info .info-list li { display: inline-block; font-size: 14px; line-height: 20px; color: #707070; }
#worksBox01 .info .info-list li:last-child::after { display: none; }
#worksBox01 .info .info-list li::after { content: "｜"; }
#worksBox01 .title { font-size: 22px; }
#worksBox01 .gallery_img { display: block; margin-top: 20px; }
#worksBox01 .gallery_img .gallery_main { margin-bottom: 15px !important; }
#worksBox01 .gallery_img .gallery_main .slick-list { overflow: visible; }
#worksBox01 .gallery_img .gallery_main .gallery_main01 { width: 100%; aspect-ratio: 67 / 50; position: relative; }
#worksBox01 .gallery_img .gallery_main .gallery_main01 a { display: block; width: 100vw; aspect-ratio: 3 / 2; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
#worksBox01 .gallery_img .gallery_main .gallery_main01 a::before { content: ""; width: 50px; height: 50px; border-top-left-radius: 10px; background-color: rgba(255, 255, 255, 0.8); background-image: url("../img/p05/icon-zoom.svg"); background-position: center; background-size: 21px; background-repeat: no-repeat; position: absolute; bottom: 0; right: 0; z-index: 1; transition: 0.3s; }
#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% - 5px); aspect-ratio: 160 / 107; border-radius: 5px; overflow: hidden; margin: 5px 5px 0 0; }
#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.slick-current::before { content: ""; width: 100%; height: 100%; border-radius: 5px; background: rgba(14, 130, 219, 0.6); position: absolute; left: 0; top: 0; z-index: 2; box-sizing: border-box; }
#worksBox01 .waku { padding: 20px; box-sizing: border-box; background: #F5F5F5; border-radius: 10px; margin-top: 30px; }
#worksBox01 .waku .info_box { background: #FFFFFF; border-radius: 10px; }
#worksBox01 .waku .info_box .box_in { display: block; padding: 15px; box-sizing: border-box; border-bottom: 2px solid #F5F5F5; }
#worksBox01 .waku .info_box .box_in:last-child { border-bottom: 0; }
#worksBox01 .waku .info_box .box_in .midashi { font-size: 16px; font-weight: 700; margin-bottom: 5px; }
#worksBox01 .waku .info_box .box_in .text { line-height: 2; }

/*設備紹介　p06
=========================================== */
#p06box01 { padding: 60px 5% 80px; }
#p06box01 .facility-list { display: block; margin-bottom: 30px; }
#p06box01 .facility-list .facility01 { margin-bottom: 20px; }
#p06box01 .facility-list .facility01:last-child { margin-bottom: 0; }
#p06box01 .facility-list .facility01 .img { width: 100%; aspect-ratio: 670 / 447; border-radius: 10px; border: 1px solid #DBDBDB; box-sizing: border-box; }
#p06box01 .facility-list .facility01 .midashi { font-size: 17px; margin-top: 6px; }
#p06box01 .facility-table { width: 685px; }
#p06box01 .facility-table tr { border-bottom: 2px solid #FFFFFF; }
#p06box01 .facility-table tr:last-child { border-bottom: 0; }
#p06box01 .facility-table tr:last-child td:first-child { border-bottom-left-radius: 5px; }
#p06box01 .facility-table tr:last-child td:last-child { border-bottom-right-radius: 5px; }
#p06box01 .facility-table tr th, #p06box01 .facility-table tr td { box-sizing: border-box; border-right: 1px solid #FFFFFF; }
#p06box01 .facility-table tr th:first-child, #p06box01 .facility-table tr td:first-child { width: 365px; }
#p06box01 .facility-table tr th:nth-child(2), #p06box01 .facility-table tr td:nth-child(2) { width: 114px; }
#p06box01 .facility-table tr th:nth-child(3), #p06box01 .facility-table tr td:nth-child(3) { width: 131px; }
#p06box01 .facility-table tr th:last-child, #p06box01 .facility-table tr td:last-child { width: 75px; border-right: 0; }
#p06box01 .facility-table tr th { padding: 13px 0 14px; background: #0E82DB; font-size: 16px; text-align: center; color: #FFFFFF; }
#p06box01 .facility-table tr th:first-child { border-top-left-radius: 5px; }
#p06box01 .facility-table tr th:last-child { border-top-right-radius: 5px; }
#p06box01 .facility-table tr td { padding: 14px 10px; background: #F2F9FD; vertical-align: middle; }

/*お知らせ　p07
=========================================== */
#p07box01 { padding: 60px 5% 80px; }
#p07box01 .news-all-list { padding: 0 20px; box-sizing: border-box; }
#p07box01 .news-all-list .news01 { padding-bottom: 30px; border-bottom: 1px solid #DBDBDB; margin-bottom: 30px; }
#p07box01 .news-all-list .news01:last-child { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }

#newsBox01 { padding: 60px 5% 80px; }
#newsBox01 div#two-side { margin: 50px 0 0; }
#newsBox01 .info { margin-bottom: 10px; }
#newsBox01 .info .time { margin-left: 6px; font-size: 14px; line-height: 20px; color: #707070; margin-top: 2px; }
#newsBox01 .title { font-size: 22px; }
#newsBox01 .news-text { margin-top: 20px; line-height: 2; letter-spacing: 0.025em; }

/*会社案内　p08
=========================================== */
#p08box01 { padding: 60px 5% 80px; }
#p08box01 .waku { padding: 20px; box-sizing: border-box; background: #F5F5F5; border-radius: 10px; }
#p08box01 .waku .info_box { background: #FFFFFF; border-radius: 10px; }
#p08box01 .waku .info_box .box_in { display: block; padding: 15px; box-sizing: border-box; border-bottom: 2px solid #F5F5F5; }
#p08box01 .waku .info_box .box_in:last-child { border-bottom: 0; }
#p08box01 .waku .info_box .box_in .midashi { font-size: 16px; font-weight: 700; margin-bottom: 5px; }
#p08box01 .waku .info_box .box_in .text { line-height: 2; }
#p08box01 .waku .info_box .box_in .text a { display: block; text-decoration: underline; }
#p08box01 .waku .info_box .box_in .text a.map-link { padding-left: 10px; box-sizing: border-box; position: relative; }
#p08box01 .waku .info_box .box_in .text a.map-link::before { content: ">"; display: block; position: absolute; top: 0; left: 0; }
#p08box01 .waku .info_box .box_in .text.tel span { display: block; }

#p08box02 { padding: 50px 5%; background: #F2F9FD; border-radius: 40px 40px 0 0; }
#p08box02 .shikaku-list { display: block; margin-bottom: 10px; }
#p08box02 .shikaku-list li { justify-content: space-between; margin-bottom: 4px; }
#p08box02 .shikaku-list li:last-child { margin-bottom: 0; }
#p08box02 .shikaku-list li span { display: block; box-sizing: border-box; background: #FFFFFF; }
#p08box02 .shikaku-list li span.text { width: calc(100% - 52px); padding: 14px; }
#p08box02 .shikaku-list li span.num { width: 50px; padding: 14px 0; text-align: center; }

#p08box03 { padding: 80px 5% 40px; }
#p08box03 .box { display: block; }
#p08box03 .box .img { max-width: 450px; margin: 0 auto 30px; }
#p08box03 .box .text_box p { margin-top: 30px; }
#p08box03 .box .text_box p:first-child { margin-top: 0; }
#p08box03 .box .text_box .name { font-size: 13px; }
#p08box03 .box .text_box .name img { width: 116px; margin: 0 0 -2px 16px; }

#p08box04 { padding: 40px 5%; }
#p08box04 .cnt { display: block; }
#p08box04 .cnt .title02 { width: 130px; }
#p08box04 .cnt .text01 { font-size: 18px; line-height: 34px; }

#p08box05 { padding: 40px 5% 80px; }
#p08box05 .cnt { display: block; background: #F2F9FD; padding: 50px 20px; box-sizing: border-box; border-radius: 10px; }
#p08box05 .cnt .title02 { margin-bottom: 0; }
#p08box05 .cnt .history-list .history01 { align-items: flex-start; padding: 20px 0; box-sizing: border-box; position: relative; z-index: 1; }
#p08box05 .cnt .history-list .history01:first-child::before { height: calc(100% - 25px); top: 25px; }
#p08box05 .cnt .history-list .history01:last-child::before { height: 25px; }
#p08box05 .cnt .history-list .history01:last-child::after { display: none; }
#p08box05 .cnt .history-list .history01::before { content: ""; display: block; width: 1px; height: 100%; background-image: repeating-linear-gradient(180deg, #707070, #707070 10px, transparent 10px, transparent 20px); background-position: right top; background-repeat: repeat-y; background-size: 1px 100%; position: absolute; top: 0; left: 11px; z-index: -1; }
#p08box05 .cnt .history-list .history01::after { content: ""; display: block; width: calc(100% - 26px); height: 1px; background: #DBDBDB; position: absolute; bottom: 0; right: 0; }
#p08box05 .cnt .history-list .history01 .circle { width: 22px; height: 22px; background: #0E82DB; border-radius: 50%; margin-right: 4px; }
#p08box05 .cnt .history-list .history01 .text_box { display: block; width: calc(100% - 26px); padding-left: 11px; box-sizing: border-box; }
#p08box05 .cnt .history-list .history01 .text_box .date { margin-bottom: 8px; }

/*お問い合わせ　p09
=========================================== */
#p09box01 { padding: 60px 5% 40px; }
#p09box01 .cnt { display: block; }
#p09box01 .cnt .text { line-height: 2; letter-spacing: 0.025em; }
#p09box01 .btn_box { display: block; margin-top: 20px; background: #F5F5F5; border-radius: 10px; position: relative; }
#p09box01 .btn_box .box { box-sizing: border-box; text-align: center; }
#p09box01 .btn_box .box h3 { font-size: 20px; margin-bottom: 12px; }
#p09box01 .btn_box .box .fax_box .num { font-size: 35px; line-height: 1.22; padding-left: 30px; position: relative; }
#p09box01 .btn_box .box .fax_box .num::before { content: ""; display: block; width: 25px; height: 23px; background: url("../img/p09/icon_fax.svg") no-repeat center; background-size: contain; position: absolute; top: 11px; left: 0; }
#p09box01 .btn_box .box .fax_box .fax-text { margin-top: 5px; }
#p09box01 .btn_box .box.left { padding: 20px 20px 30px; border-bottom: 5px solid #FFFFFF; }
#p09box01 .btn_box .box.right { padding: 25px 10px; }

#p09box02 { padding: 40px 5% 80px; }
#p09box02 .cnt { display: block; }
#p09box02 .cnt .text-list li { line-height: 2; letter-spacing: 0.025em; padding-left: 1em; text-indent: -1em; }
#p09box02 .contactTBL textarea.wpcf7-form-control.wpcf7-textarea { height: 200px; }

/*仕事を知る　p10
=========================================== */
#p10box01 { padding: 60px 5% 40px; }
#p10box01 .text01 { line-height: 2; letter-spacing: 0.025em; }
#p10box01 .occupation-list { display: block; margin-top: 30px; }
#p10box01 .occupation-list .occupation01 { margin-bottom: 25px; }
#p10box01 .occupation-list .occupation01:last-child { margin-bottom: 0; }
#p10box01 .occupation-list .occupation01 .img { margin-bottom: 6px; }
#p10box01 .occupation-list .occupation01 h3 { font-size: 18px; margin-bottom: 5px; }

#p10box02 { padding: 40px 5% 40px; }
#p10box02 .cnt { display: block; }
#p10box02 .cnt .text { line-height: 2; letter-spacing: 0.025em; }
#p10box02 .table_box { margin-top: 10px; }
#p10box02 .table_box .text01 { font-size: 16px; margin-bottom: 10px; }
#p10box02 .table_box .plan-table { border: 1px solid #DBDBDB; margin-bottom: 30px; }
#p10box02 .table_box .plan-table:last-child { margin-bottom: 0; }
#p10box02 .table_box .plan-table tr:first-child th { width: calc((100% - 54px) / 2); border-left: 1px solid #DBDBDB; }
#p10box02 .table_box .plan-table tr:first-child th:first-child { width: 54px; border-left: 0; }
#p10box02 .table_box .plan-table tr:nth-child(2) td { text-align: center; }
#p10box02 .table_box .plan-table tr:last-child th, #p10box02 .table_box .plan-table tr:last-child td { border-bottom: 0; }
#p10box02 .table_box .plan-table tr th, #p10box02 .table_box .plan-table tr td { border-bottom: 1px solid #DBDBDB; padding: 8px 5px; box-sizing: border-box; vertical-align: middle; }
#p10box02 .table_box .plan-table tr th { width: 54px; background: #F2F9FD; text-align: center; font-weight: 400; }
#p10box02 .table_box .plan-table tr td { width: calc((100% - 54px) / 2); border-left: 1px solid #DBDBDB; }

#p10box00 { padding: 40px 5% 80px; }
#p10box00 .cnt { display: block; }
#p10box00 .cnt .box { margin-bottom: 11px; }
#p10box00 .cnt .box:last-child { margin-bottom: 0; }
#p10box00 .cnt .box h3 { padding: 13px 0 14px; box-sizing: border-box; border-radius: 10px 10px 0 0; font-size: 16px; }
#p10box00 .cnt .box .time-list { padding-left: 42px; box-sizing: border-box; position: relative; }
#p10box00 .cnt .box .time-list::before { content: ""; display: block; width: 1px; height: calc(100% - 50px); background-image: repeating-linear-gradient(180deg, #707070, #707070 5px, transparent 5px, transparent 10px); background-position: right top; background-repeat: repeat-y; background-size: 1px 100%; position: absolute; top: 25px; left: 27px; }
#p10box00 .cnt .box .time-list li { display: flex; align-items: center; padding: 20px 0; box-sizing: border-box; border-bottom: 1px solid #DBDBDB; position: relative; }
#p10box00 .cnt .box .time-list li::before { content: ""; display: block; width: 22px; height: 22px; border-radius: 50%; position: absolute; top: 50%; left: -26px; transform: translateY(-50%); }
#p10box00 .cnt .box .time-list li:last-child { border-bottom: 0; }
#p10box00 .cnt .box .time-list li .time { display: inline-block; width: 85px; padding-left: 32px; box-sizing: border-box; position: relative; }
#p10box00 .cnt .box .time-list li .time::before { content: ""; display: block; width: 15px; height: 15px; background: url("../img/p11/icon_time.png") no-repeat center; background-size: contain; position: absolute; top: 4px; left: 12px; }
#p10box00 .cnt .box .time-list li .text { display: inline-block; width: calc(100% - 85px); }
#p10box00 .cnt .box01 h3 { background: #0E82DB; }
#p10box00 .cnt .box01 .time-list li::before { background: #0E82DB; }
#p10box00 .cnt .box02 h3 { background: #135080; }
#p10box00 .cnt .box02 .time-list li::before { background: #135080; }

#p10box03 { padding: 50px 5%; border-radius: 40px 40px 0 0; background: url("../img/p10/bg01.jpg") no-repeat center top; background-size: cover; }
#p10box03 .cnt { display: block; }
#p10box03 .cnt .title02 .en { color: #FFFFFF; }
#p10box03 .cnt .text { line-height: 2; letter-spacing: 0.025em; }
#p10box03 .data-list { margin-top: 20px; }
#p10box03 .data-list .data00 { width: calc(50% - 5px); padding: 15px; box-sizing: border-box; background: #FFFFFF; border-radius: 10px; margin: 10px 10px 0 0; }
#p10box03 .data-list .data00:nth-child(-n+2) { margin-top: 0; }
#p10box03 .data-list .data00:nth-child(2n) { margin-right: 0; }
#p10box03 .data-list .data00 h3 { font-size: 18px; color: #135080; margin-bottom: 22px; }
#p10box03 .data-list .data00 .img { width: 100%; height: 83px; margin-bottom: 20px; position: relative; }
#p10box03 .data-list .data00 .img img { width: auto; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#p10box03 .data-list .data00 .num { font-size: 16px; color: #135080; margin-bottom: 5px; }
#p10box03 .data-list .data00 .num em { font-size: 30px; line-height: 1.2; margin-right: 3px; }
#p10box03 .data-list .data05 .num_box { width: 100%; max-width: 140px; margin: 0 auto 5px; justify-content: space-between; }
#p10box03 .data-list .data05 .num_box .num { display: inline-block; margin-bottom: 0; }
#p10box03 .data-list .data05 .num_box .num span.tate { display: block; font-size: 10px; margin-bottom: -5px; text-align: left; }
#p10box03 .data-list .data06 .img img { height: 60px; }

#p10box04 { padding: 80px 5% 40px; }
#p10box04 .cnt { display: block; }
#p10box04 .cnt .text { line-height: 2; letter-spacing: 0.025em; }
#p10box04 .benefits-list { display: block; margin-top: 20px; }
#p10box04 .benefits-list .benefits00 { background: #F2F9FD; padding: 30px 20px; box-sizing: border-box; border-radius: 10px; margin-bottom: 10px; }
#p10box04 .benefits-list .benefits00:last-child { margin-bottom: 0; }
#p10box04 .benefits-list .benefits00 h3 { font-size: 18px; color: #135080; margin-bottom: 15px; }

#p10box05 { padding: 40px 5% 80px; position: relative; }
#p10box05::before { content: ""; display: block; width: 100%; height: calc(100% - 200px); background: #F2F9FD; position: absolute; bottom: -41px; left: 0; z-index: -1; }
#p10box05 .cnt { display: block; }
#p10box05 .cnt .text { line-height: 2; letter-spacing: 0.025em; }
#p10box05 .gallery_img { margin-top: 20px; }
#p10box05 .gallery_img .gallery_main { margin-bottom: 15px !important; }
#p10box05 .gallery_img .gallery_main .slick-prev, #p10box05 .gallery_img .gallery_main .slick-next { width: 50px; height: 50px; background: #0E82DB; border-radius: 50%; border: none; box-sizing: border-box; transition: 0.3s; top: 50%; transform: translateY(-50%); z-index: 1; }
#p10box05 .gallery_img .gallery_main .slick-prev::before, #p10box05 .gallery_img .gallery_main .slick-next::before { content: ""; width: 14px; height: 14px; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 1; transition: 0.3s; }
#p10box05 .gallery_img .gallery_main .slick-prev { left: -3vw; }
#p10box05 .gallery_img .gallery_main .slick-prev::before { transform: translate(-50%, -50%) scale(-1, 1); }
#p10box05 .gallery_img .gallery_main .slick-next { right: -3vw; }
#p10box05 .gallery_img .gallery_main .slick-list { overflow: visible; }
#p10box05 .gallery_img .gallery_main .gallery_main01 { width: 100%; aspect-ratio: 67 / 60; position: relative; }
#p10box05 .gallery_img .gallery_main .gallery_main01 a { display: block; width: 100vw; aspect-ratio: 5 / 4; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
#p10box05 .gallery_img .gallery_main .gallery_main01 a img { height: 100%; }
#p10box05 .gallery_img .gallery_thum { margin-bottom: 0 !important; }
#p10box05 .gallery_img .gallery_thum .slick-track { width: 100% !important; }
#p10box05 .gallery_img .gallery_thum .gallery_thum01 { cursor: pointer; position: relative; overflow: hidden; width: calc((100% / 3) - 4px); aspect-ratio: 216 / 143; border-radius: 5px; overflow: hidden; margin: 6px 6px 0 0; }
#p10box05 .gallery_img .gallery_thum .gallery_thum01:nth-child(-n+3) { margin-top: 0; }
#p10box05 .gallery_img .gallery_thum .gallery_thum01:nth-child(3n) { margin-right: 0; }
#p10box05 .gallery_img .gallery_thum .gallery_thum01.slick-current::before { content: ""; width: 100%; height: 100%; border-radius: 5px; background: rgba(14, 130, 219, 0.6); position: absolute; left: 0; top: 0; z-index: 2; box-sizing: border-box; }

/*社員を知る　p11
=========================================== */
#p11box01 { padding: 60px 5% 80px; }
#p11box01 .interview-all-list { display: block; padding: 0 20px; box-sizing: border-box; margin-top: 20px; }
#p11box01 .interview-all-list .interview01 { margin-bottom: 30px; }
#p11box01 .interview-all-list .interview01:last-child { margin-bottom: 0; }
#p11box01 .interview-all-list .interview01 a .img { aspect-ratio: 118 / 143; }
#p11box01 .interview-all-list .interview01 a .title { font-size: 17px; margin-top: 10px; }
#p11box01 .interview-all-list .interview01 a .info-list { margin-top: 10px; }
#p11box01 .interview-all-list .interview01 a .info-list li { margin-right: 6px; }
#p11box01 .interview-all-list .interview01 a .info-list li:last-child { margin-right: 0; }
#p11box01 .interview-all-list .interview01 a .info-list li::after { display: none; }
#p11box01 .interview-all-list .interview01 a .info-list li.text01 { padding: 1px 5px; box-sizing: border-box; border: 1px solid #0E82DB; border-radius: 3px; font-size: 13px; font-weight: 500; color: #0E82DB; }
#p11box01 .interview-all-list .interview01 a .info-list li.text02 { color: #707070; margin-top: 2px; }

.single-recruit-staff .post-navigation { padding: 0 5%; box-sizing: border-box; margin-bottom: 80px; }

#interviewBox01 { padding: 60px 5%; }
#interviewBox01 h1.title { font-size: 22px; margin-bottom: 30px; }
#interviewBox01 .cnt { display: block; }
#interviewBox01 .cnt .img { width: 100%; max-width: 295px; aspect-ratio: 59 / 66; border-radius: 10px; margin: 0 auto 10px; }
#interviewBox01 .cnt .info-table tr { display: block; padding: 20px; box-sizing: border-box; border-bottom: 1px solid #DBDBDB; }
#interviewBox01 .cnt .info-table tr:last-child { border-bottom: 0; }
#interviewBox01 .cnt .info-table tr th { display: block; font-size: 16px; margin-bottom: 5px; }
#interviewBox01 .cnt .info-table tr td { display: block; }

#interviewBox02 { padding: 50px 5%; background: #F2F9FD; border-radius: 40px 40px 0 0; }
#interviewBox02 .qa-list .qa01 { display: block; padding-bottom: 30px; border-bottom: 1px solid #DBDBDB; margin-bottom: 30px; }
#interviewBox02 .qa-list .qa01:last-child { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
#interviewBox02 .qa-list .qa01 .text_box { margin-bottom: 20px; }
#interviewBox02 .qa-list .qa01 .text_box h2 { font-size: 18px; padding-left: 83px; box-sizing: border-box; margin-bottom: 20px; position: relative; }
#interviewBox02 .qa-list .qa01 .text_box h2 span { display: flex; align-items: center; justify-content: center; width: 68px; height: 100%; background: #0E82DB; border-radius: 5px; position: absolute; top: -2px; left: 0; }
#interviewBox02 .qa-list .qa01 .img_box { width: 100%; aspect-ratio: 670 / 447; border-radius: 10px; }

#interviewBox04 { padding: 80px 5% 0; }
#interviewBox04 .cnt { display: block; }
#interviewBox04 .cnt .img_box { width: 100%; aspect-ratio: 335 / 223; border-radius: 10px 10px 0 0; }
#interviewBox04 .cnt .text_box { padding: 20px; box-sizing: border-box; background: #0E82DB; border-radius: 0 0 10px 10px; }
#interviewBox04 .cnt .text_box.full { border-radius: 10px; }

/*募集要項　p12
=========================================== */
.p12box00 { padding: 80px 5%; }
.p12box00:first-child { padding-top: 60px; }
.p12box00:nth-child(2n) { background: #F2F9FD; border-radius: 40px 40px 0 0; }
.p12box00:nth-child(2n) .sec_in02 .text_box { background: #FFFFFF; }
.p12box00 .sec_in { margin-bottom: 80px; }
.p12box00 .sec_in:last-child { margin-bottom: 0; }
.p12box00 .sec_in01 .img-list { display: block; margin-top: 30px; }
.p12box00 .sec_in01 .img-list .img { width: 100%; aspect-ratio: 670 / 447; border-radius: 10px; margin-bottom: 15px; }
.p12box00 .sec_in01 .img-list .img:last-child { margin-bottom: 0; }
.p12box00 .sec_in02 .text_box { padding: 20px; box-sizing: border-box; background: #F2F9FD; border-radius: 10px; }
.p12box00 .sec_in03 > .waku { padding: 20px; box-sizing: border-box; background: #F5F5F5; border-radius: 10px; }
.p12box00 .sec_in03 > .waku .info_box { background: #FFFFFF; border-radius: 10px; }
.p12box00 .sec_in03 > .waku .info_box .box_in { display: block; padding: 15px; box-sizing: border-box; border-bottom: 2px solid #F5F5F5; }
.p12box00 .sec_in03 > .waku .info_box .box_in:last-child { border-bottom: 0; }
.p12box00 .sec_in03 > .waku .info_box .box_in .midashi { font-size: 16px; font-weight: 700; margin-bottom: 5px; }
.p12box00 .sec_in03 > .waku .info_box .box_in .text { line-height: 2; }
.p12box00 .sec_in03 .btn02 { width: 100%; max-width: 295px; margin: 50px auto 0; }
.p12box00 .sec_in03 .btn02 a { padding: 0 40px; background: url("../img/p09/btn_arrow01.svg") no-repeat center right 25px, #0E82DB; background-size: 6px; }
.p12box00 .sec_in03 .btn02 a .waku { padding-left: 0; }
.p12box00 .sec_in03 .btn02 a .waku::before { display: none; }

/*工場見学のご案内　p13
=========================================== */
#p13box01 { padding: 60px 5%; }
#p13box01 h2.title { font-size: 22px; margin-bottom: 20px; }
#p13box01 .cnt { display: block; margin-top: 50px; }
#p13box01 .cnt .img { width: 100%; max-width: 295px; margin: 0 auto 30px; }
#p13box01 .cnt .text_box h3 { font-size: 17px; }
#p13box01 .cnt .text_box .info-table tr { display: block; padding: 20px; box-sizing: border-box; border-bottom: 1px solid #DBDBDB; }
#p13box01 .cnt .text_box .info-table tr:last-child { border-bottom: 0; }
#p13box01 .cnt .text_box .info-table tr th { display: block; font-size: 16px; margin-bottom: 5px; }
#p13box01 .cnt .text_box .info-table tr td { line-height: 2; }

#p13box02 { padding: 50px 5%; background: #F2F9FD; border-radius: 40px 40px 0 0; }
#p13box02 .title { margin-bottom: 35px; }
#p13box02 .title span { display: inline-block; padding: 0 30px; box-sizing: border-box; font-size: 22px; line-height: 1.45; position: relative; }
#p13box02 .title span::before, #p13box02 .title span::after { content: ""; display: block; width: 23px; height: 54px; background: url("../img/p13/line_sp.svg") no-repeat center; background-size: contain; position: absolute; bottom: 5px; }
#p13box02 .title span::before { transform: scale(-1, 1); left: 0; }
#p13box02 .title span::after { right: 0; }
#p13box02 .list { display: block; }
#p13box02 .list .list_in { width: 100%; max-width: 350px; padding-bottom: 48px; box-sizing: border-box; position: relative; margin: 0 auto 15px; }
#p13box02 .list .list_in:last-child { margin-bottom: 0; }
#p13box02 .list .list_in .text { width: 230px; height: 136px; padding-top: 45px; box-sizing: border-box; background: url("../img/p13/hukidashi_sp.png") no-repeat center top; background-size: contain; }
#p13box02 .list .list_in .text p { font-size: 16px; }
#p13box02 .list .list_in .img { width: 110px; position: absolute; bottom: 0; right: 0; }

#p13box03 { padding: 80px 5% 40px; }
#p13box03 .title_box { position: relative; margin-bottom: 20px; }
#p13box03 .title_box .title02 { margin-bottom: 0; }
#p13box03 .title_box .sub_text { padding: 5px 6px; box-sizing: border-box; background: #707070; border-radius: 5px; line-height: 22px; position: absolute; top: -14px; left: 84px; }
#p13box03 .title_box .sub_text::before { content: ""; display: block; width: 12px; height: 12px; background: url("../img/p13/triangle.png") no-repeat center; background-size: contain; position: absolute; top: 12px; left: -7px; }
#p13box03 .flow-list { justify-content: space-between; }
#p13box03 .flow-list .flow00 { display: block; width: calc((100% / 3) - 7px); padding: 20px 0; border-radius: 10px; box-sizing: border-box; position: relative; }
#p13box03 .flow-list .flow00::after { content: ""; display: block; width: 35px; height: 35px; border-radius: 50%; border: 4px solid #FFFFFF; box-sizing: border-box; background: url("../img/common/btn_arrow.svg") no-repeat center, #DBDBDB; background-size: 12px; position: absolute; top: 50%; right: -23px; transform: translateY(-50%); z-index: 1; }
#p13box03 .flow-list .flow00 .img { width: 56px; margin: 0 auto 5px; }
#p13box03 .flow-list .flow00 p { font-size: 19px; text-align: center; }
#p13box03 .flow-list .flow01 { border: 2px solid #47A1E6; }
#p13box03 .flow-list .flow01 p { color: #47A1E6; }
#p13box03 .flow-list .flow02 { padding-top: 27px; border: 2px solid #0E82DB; }
#p13box03 .flow-list .flow02 .img { margin-bottom: 12px; }
#p13box03 .flow-list .flow02 p { color: #0E82DB; }
#p13box03 .flow-list .flow03 { padding-top: 14px; border: 2px solid #135080; }
#p13box03 .flow-list .flow03::after { display: none; }
#p13box03 .flow-list .flow03 .img { width: 70px; }
#p13box03 .flow-list .flow03 p { color: #135080; }

#p13box04 { padding: 40px 5% 80px; }
#p13box04 .cnt { display: block; }
#p13box04 .cnt .text-list li { line-height: 2; letter-spacing: 0.025em; padding-left: 1em; text-indent: -1em; }

/*エントリーフォーム　p14
=========================================== */
#p14box01 { padding: 60px 5% 40px; }
#p14box01 .flow-list .flow00 { display: block; background: #FFFFFF; border: 1px solid #DBDBDB; border-radius: 10px; padding: 30px 20px 20px; box-sizing: border-box; margin-bottom: 20px; position: relative; }
#p14box01 .flow-list .flow00:last-child { margin-bottom: 0; }
#p14box01 .flow-list .flow00:last-child::after { display: none; }
#p14box01 .flow-list .flow00::after { content: ""; display: block; width: 45px; height: 45px; border-radius: 50%; border: 3px solid #FFFFFF; box-sizing: border-box; background: url("../img/p14/arrow.png") no-repeat center, #DBDBDB; background-size: 17px; position: absolute; bottom: -32px; left: 50%; transform: translateX(-50%); z-index: 1; }
#p14box01 .flow-list .flow00 .img { margin: 0 auto 20px; }
#p14box01 .flow-list .flow00 .text_box h3 { font-size: 18px; line-height: 25px; margin-bottom: 10px; }
#p14box01 .flow-list .flow00 .text_box h3 .num { display: inline-block; width: 25px; height: 25px; background: #0E82DB; border-radius: 50%; padding-top: 2px; box-sizing: border-box; line-height: 22px; text-align: center; margin-right: 5px; }
#p14box01 .flow-list .flow01 .img { width: 154px; }
#p14box01 .flow-list .flow02 .img { width: 100px; }
#p14box01 .flow-list .flow03 .img { width: 153px; }
#p14box01 .flow-list .flow04 .img { width: 102px; }

#p14box02 { padding: 40px 5% 80px; }
#p14box02 .cnt { display: block; }
#p14box02 .cnt .text-list li { line-height: 2; letter-spacing: 0.025em; padding-left: 1em; text-indent: -1em; }

/*お問い合わせフォーム
=========================================== */
.form_box { margin-top: 20px; padding: 50px 0; box-sizing: border-box; position: relative; }
.form_box::before { content: ""; width: 100vw; height: 100%; background: #F2F9FD; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }

ul.contact-state { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; max-width: 400px; margin: 0 auto 50px; position: relative; }
ul.contact-state::before { content: ""; display: block; width: calc(100% - 50px); height: 1px; background-image: repeating-linear-gradient(90deg, #707070, #707070 10px, transparent 10px, transparent 20px); background-position: left top; background-repeat: repeat-x; background-size: 100% 1px; position: absolute; top: 9px; left: 50%; transform: translateX(-50%); }
ul.contact-state > li { position: relative; }
ul.contact-state > li span.circle { display: block; width: 18px; height: 18px; box-sizing: border-box; border-radius: 50%; background: #FFFFFF; border: 1px solid #707070; margin: 0 auto 5px; position: relative; }
ul.contact-state > li span.text { display: block; font-size: 16px; font-weight: 700; text-align: center; }

ul.contact-state.contact-state01 > li.state01 span.circle { background: #0E82DB; border: 1px solid #0E82DB; }

ul.contact-state.contact-state02 > li.state02 span.circle { background: #0E82DB; border: 1px solid #0E82DB; }

.contactTBL { /*お問い合わせ項目*/ /*見学希望日*/ /*住所*/ /*doui-check*/ /*送信ボタン*/ }
.contactTBL ::placeholder { color: #DBDBDB; }
.contactTBL tr { display: block; margin-bottom: 25px; }
.contactTBL tr:last-child { margin-bottom: 0; }
.contactTBL th, .contactTBL td { font-size: 15px; line-height: 1.5; color: #000000; }
.contactTBL th { display: flex; align-items: center; font-weight: 400; margin-bottom: 10px; }
.contactTBL th .hissu, .contactTBL th .ninni { display: inline-block; font-size: 13px; line-height: 19px; padding: 2px 4px 3px; box-sizing: border-box; border-radius: 2px; margin-left: 10px; }
.contactTBL th .hissu { color: #0E82DB; border: 1px solid #0E82DB; }
.contactTBL th .ninni { color: #707070; border: 1px solid #707070; }
.contactTBL input.wpcf7-text, .contactTBL textarea.wpcf7-form-control.wpcf7-textarea, .contactTBL select.wpcf7-form-control.wpcf7-select, .contactTBL input.date-select { width: 100%; height: 50px; padding: 13px 15px; box-sizing: border-box; background: #FFFFFF; border: 0; border-radius: 5px; font-family: 'NotoSansJP'; font-size: 16px; font-weight: 400; line-height: 1.5; color: #000000; cursor: pointer; }
.contactTBL textarea.wpcf7-form-control.wpcf7-textarea { height: 150px; }
.contactTBL select.wpcf7-form-control.wpcf7-select { padding-right: 40px; background: url("../img/common/select_arrow.svg") no-repeat center right 15px, #FFFFFF; background-size: 17px; -webkit-appearance: none; appearance: none; }
.contactTBL select.wpcf7-form-control.wpcf7-select option { color: #000000; }
.contactTBL td { display: block; }
.contactTBL tr.koumoku th { margin-bottom: 0; }
.contactTBL tr.koumoku th .sub_text { font-size: 13px; margin-left: 5px; }
.contactTBL tr.koumoku .wpcf7-list-item { margin: 15px 20px 0 0; }
.contactTBL tr.koumoku .wpcf7-list-item label { display: flex; align-items: center; cursor: pointer; }
.contactTBL tr.koumoku .wpcf7-list-item label input[type="checkbox"] { width: 15px; height: 15px; background: #FFFFFF; border: 1px solid #DBDBDB; accent-color: #0E82DB; margin-right: 5px; border-radius: 2px; cursor: pointer; }
.contactTBL tr.koumoku .wpcf7-list-item.first { margin-left: 0; }
.contactTBL .date-list li { display: flex; align-items: center; margin-bottom: 5px; }
.contactTBL .date-list li:last-child { margin-bottom: 0; }
.contactTBL .date-list li span.sub_text { display: inline-block; width: 80px; font-size: 14px; }
.contactTBL .date-list li span.wpcf7-form-control-wrap { width: calc(100% - 80px); max-width: 260px; }
.contactTBL tr.address_box td .address-list li { display: flex; align-items: center; margin-bottom: 5px; }
.contactTBL tr.address_box td .address-list li:last-child { margin-bottom: 0; }
.contactTBL tr.address_box td .address-list li .sub_text { font-size: 14px; margin-left: 10px; }
.contactTBL tr.address_box td .address-list li.zip01 .wpcf7-form-control-wrap { width: calc(100% - 150px); max-width: 185px; }
.contactTBL tr.address_box td .address-list li.address01 .wpcf7-form-control-wrap { width: 100%; }
.contactTBL tr.doui-box td .wpcf7-list-item { margin: 0; }
.contactTBL tr.doui-box td .wpcf7-list-item label { display: flex; align-items: center; cursor: pointer; }
.contactTBL tr.doui-box td .wpcf7-list-item label input[type="radio"] { width: 15px; height: 15px; background: #FFFFFF; border: 1px solid #DBDBDB; accent-color: #0E82DB; margin-right: 5px; border-radius: 2px; cursor: pointer; }
.contactTBL tr.doui-box td .doui-text { margin-top: 15px; line-height: 2; }
.contactTBL tr.doui-box td .doui-text a { display: block; }
.contactTBL .contact-submit.flex { display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 50px; }
.contactTBL .contact-submit.flex .btn { width: 100%; max-width: 295px; height: 60px; }
.contactTBL .contact-submit.flex .btn input.wpcf7-form-control { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 0 40px; box-sizing: border-box; white-space: normal; border-radius: 30px; background-color: #0E82DB; background-image: url("../img/p09/btn_arrow01.svg"); background-repeat: no-repeat; background-position: center right 25px; background-size: 6px; border: 1px solid #0E82DB; 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 .btn input.wpcf7-form-control:hover { text-decoration: none; opacity: 0.7; }
.contactTBL .contact-submit.flex .btn:has(.wpcf7c-force-hide) { display: none; }
.contactTBL .contact-submit.flex .btn.back { margin-top: 20px !important; }
.contactTBL .contact-submit.flex .btn.back input.wpcf7-form-control { background-color: #FFFFFF; background-image: url("../img/p09/btn_arrow02.svg"); background-position: center left 25px; color: #0E82DB; }
.contactTBL .contact-submit.flex .wpcf7c-elm-step2.mt20 { margin-top: 20px; text-align: center; }
.contactTBL .contact-submit.flex input.wpcf7-form-control:focus { outline: none; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
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: 60px 5% 80px; text-align: center; }
#other h2 { font-size: 24px; margin-bottom: 30px; }
#other p { position: relative; }
#other .btn01 { margin-top: 40px; }

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

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: 415px) { #works-sec .point .num { font-size: 14px; }
  #works-sec .point .num em { font-size: 34px; } }
@media screen and (min-width: 0px) and (max-width: 370px) { .wp-pagenavi > span, .wp-pagenavi > a { width: 29px; }
  .wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink { margin: 0 4px; }
  .post-navigation ul > li a { font-size: 14px; }
  .post-navigation ul > li.prev a { padding: 0 5px 0 15px; }
  .post-navigation ul > li.prev a::before { left: 5px; }
  .post-navigation ul > li.next a { padding: 0 15px 0 5px; }
  .post-navigation ul > li.next a::before { right: 5px; }
  .home #works-sec .cnt02 .point .text { width: 155px; font-size: 16px; line-height: 24px; margin-right: 10px; }
  .home #works-sec .cnt02 .point .num { width: calc(100% - 165px); }
  #p13box02 .title span { padding: 0 24px; font-size: 20px; line-height: 1.5; }
  #p13box02 .list .list_in { padding-bottom: 43px; }
  #p13box02 .list .list_in .text { width: 220px; height: 130px; padding-top: 38px; }
  #p13box02 .list .list_in .img { width: 100px; } }
@media screen and (min-width: 0px) and (max-width: 350px) { .tel_box .tel .num { font-size: 32px; }
  #p09box01 .btn_box .box .fax_box .num { font-size: 32px; }
  #p09box01 .btn_box .box .fax_box .num::before { top: 8px; } }
@media screen and (min-width: 0px) and (max-width: 340px) { #works-sec .point .num em { font-size: 30px; margin-right: 0px; }
  #p13box02 .list .list_in { padding-bottom: 35px; }
  #p13box02 .list .list_in .text { width: 210px; }
  #p13box02 .list .list_in .text p { font-size: 15px; }
  #p13box02 .list .list_in .img { width: 90px; } }
@media screen and (min-width: 0px) and (max-width: 330px) { #topbox04 .title_box .title01 .en { font-size: 45px; } }
/*safari用
=========================================== */
