@charset "UTF-8";
/* TOP
------------------------------------------*/
/*TOPアニメーション*/
.anima-t { opacity: 0; transform: translate(0, 50px); transition: 1.2s; }

.anima-t.anima { opacity: 1.0; transform: translate(0, 0); }

.anima-t.anima:nth-child(2) { transition-delay: 0.2s; }

.anima-t.anima:nth-child(3) { transition-delay: 0.5s; }

.anima-t.anima:nth-child(4) { transition-delay: 0.8s; }

.anima-t.anima:nth-child(5) { transition-delay: 1.2s; }

/*----------------------*/
.mv-cont { width: 1100px; margin: 0 auto; position: absolute; z-index: 6; left: 0; right: 0; bottom: 80px; }

.mv-copy { margin-bottom: 40px; }

.mv-state.flex > div.box { border-radius: 10px; box-sizing: border-box; width: 114px; height: 80px; display: table; margin-right: 10px; }
.mv-state.flex > div.box > div { display: table-cell; text-align: center; vertical-align: middle; color: #fff; font-weight: 700; line-height: 1.47; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); background: rgba(51, 102, 204, 0.4); border: solid 1px #6D84B2; border-radius: 10px; }
.mv-state.flex > div.box:last-child { margin-right: 0; }

.mv-scroll { position: absolute; z-index: 5; right: 55px; top: 285px; }
.mv-scroll .bar-wrap { width: 10px; height: 70px; margin-bottom: 10px; position: relative; overflow: hidden; }
.mv-scroll .bar-wrap .ball { width: 10px; height: 10px; background: #fff; border-radius: 100%; display: block; position: absolute; left: 0; top: 0; animation: scr01 1.6s linear 0.2s infinite forwards; }
.mv-scroll .bar-wrap:before { content: ""; width: 1px; height: 70px; position: absolute; background: #fff; border-radius: 1px; top: 0; left: 0; right: 0; margin: 0 auto; }

@keyframes scr01 { 0% { top: -35px; }
  100% { top: 105px; } }
.slide-img { height: 700px; width: 100%; border-radius: 0 0 80px 80px; }

.m-slider01 .slide-img { background: url("../img/main/slide01.png") no-repeat center top; }

.m-slider02 .slide-img { background: url("../img/main/slider02.png") no-repeat center top; }

.m-slider03 .slide-img { background: url("../img/main/slider03.png") no-repeat center top; }

.m-slider04 .slide-img { background: url("../img/main/slide04.png") no-repeat center top; }

.m-slider05 .slide-img { background: url("../img/main/slide05.png") no-repeat center top; }

div#top-newsBox { padding: 40px 0; }
div#top-newsBox .wrap { display: flex; flex-wrap: wrap; align-items: center; box-sizing: border-box; padding: 0 50px; }
div#top-newsBox h2.tit { width: 148px; font-size: 22px; font-weight: 700; }

.top-news-list { width: 724px; }

.more { margin-left: auto; }
.more a { display: flex; flex-wrap: wrap; align-items: center; text-decoration: none; }
.more a span.arrow { margin-right: 5px; }
.more a span.arrow img { display: block; opacity: 1; transition: 0.3s; }
.more a:hover { color: #3366CC; }
.more a:hover span.arrow img { filter: brightness(0) saturate(100%) invert(29%) sepia(86%) saturate(1241%) hue-rotate(201deg) brightness(95%) contrast(87%); }

span.arrow img { opacity: 1; transition: 0.3s; display: block; }

article.top-nes-art a { align-items: center; text-decoration: none; }
article.top-nes-art a .n-date { width: 82px; font-size: 13px; color: #BCBCBC; transition: 0.3s; }
article.top-nes-art a h3.tit { width: calc(100% - 82px); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-bottom: 1px; }
article.top-nes-art a:hover { color: #3366CC; }
article.top-nes-art a:hover .n-date { color: #3366CC; }

section#about-sec { padding: 110px 0 150px; overflow: hidden; }
section#about-sec .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
section#about-sec .wrap > .cont { width: 418px; }
section#about-sec .wrap > .cont .btn01 { margin-top: 50px; }
section#about-sec .wrap > .img { width: 818px; margin-right: -215px; position: relative; }
section#about-sec .wrap > .img:before { content: ""; background: url("../img/top/img01-c01.png") no-repeat center; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-size: contain; animation: spin01 30s linear infinite; z-index: 3; }
section#about-sec .wrap > .img:after { content: ""; background: url("../img/top/img01-c02.png") no-repeat center; width: calc(100% + 18px); height: calc(100% + 18px); position: absolute; left: -9px; top: -9px; background-size: contain; animation: spin02 28s linear infinite; z-index: 4; }

@keyframes spin01 { 0% { transform: rotateZ(0deg); }
  100% { transform: rotateZ(-360deg); } }
@keyframes spin02 { 0% { transform: rotateZ(0deg); }
  100% { transform: rotateZ(360deg); } }
section#business-sec { position: relative; display: flex; flex-wrap: wrap; width: 100%; justify-content: space-between; }
section#business-sec h2.titles01.v-type { width: 87px; height: 395px; position: absolute; left: 0; right: 0; top: 80px; margin: 0 auto; }
section#business-sec h2.titles01.v-type .en { white-space: nowrap; writing-mode: vertical-rl; text-orientation: mixed; }
section#business-sec h2.titles01.v-type .en > span { padding-bottom: 25px; }
section#business-sec h2.titles01.v-type .en > span:before { left: 15px; }
section#business-sec h2.titles01.v-type .en > span:after { width: 28px; height: 2px; border-radius: 0 2px 2px 0; right: auto; left: 30px; }
section#business-sec h2.titles01.v-type .jp { width: 40px; padding-left: 26px; margin-top: 16px; }
section#business-sec h2.titles01.v-type span.v-tit-jp { display: block; text-align: center; width: 13px; margin: 0 auto; }
section#business-sec h2.titles01.v-type span.v-tit-jp > span { display: block; line-height: 1.07; }

.business-box { height: 491px; width: calc(50% - 90px); border-radius: 0 20px 20px 0; color: #fff; background: url("../img/top/bu01.jpg") no-repeat center; background-size: cover; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; overflow: hidden; position: relative; }
.business-box .cont { width: 610px; }
.business-box .cont .sub01 { text-align: center; margin-bottom: 30px; }
.business-box .btn { position: absolute; bottom: 0; width: 170px; left: 0; right: 0; margin: 0 auto; z-index: 3; }
.business-box .btn a { text-decoration: none; display: flex; flex-wrap: wrap; justify-content: center; background: #fff; border-radius: 85px 85px 0 0; height: 85px; align-items: flex-end; box-sizing: border-box; padding-bottom: 20px; }
.business-box .btn a .btn-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; line-height: 1.45; }
.business-box .btn a .btn-in span.arrow { margin-right: 7px; }
.business-box .btn a:hover { background: #3366CC; color: #fff; }
.business-box .btn a:hover span.arrow img { filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(202deg) brightness(106%) contrast(104%); }

.sub01 { line-height: 1.45; font-weight: 700; font-size: 22px; }
.sub01 .komoji { font-size: 16px; }

.business-box.business02 { background-image: url("../img/top/bu02.jpg"); border-radius: 20px 0 0 20px; margin-top: 160px; }

section#works-sec { padding: 120px 0 215px; background: url("../img/top/bg01.jpg") no-repeat center top; background-size: cover; }
section#works-sec .btn01 { position: absolute; right: 25px; top: 60px; }

.works-list01.flex article.works-art { margin-right: 40px; }
.works-list01.flex article.works-art:nth-child(2) { margin-top: 50px; }
.works-list01.flex article.works-art:nth-child(3) { margin-top: 100px; margin-right: 0; }

article.works-art { width: 340px; }
article.works-art a { display: block; text-decoration: none; }
article.works-art a .img { border-radius: 20px; overflow: hidden; margin-bottom: 20px; }
article.works-art a .img .in-img { padding-top: 75%; border-radius: 20px; transition: 0.3s; }
article.works-art a .tit { padding-left: 13px; line-height: 1.45; font-size: 22px; font-weight: 700; margin-bottom: 20px; background: url("../img/common/nav-arrow-blue.svg") no-repeat left top 13px; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
article.works-art a:hover .img .in-img { transform: scale(1.1); }
article.works-art a:hover .tit { text-decoration: underline; color: #3366CC; }

.w-data dl { align-items: flex-start; justify-content: space-between; margin-bottom: 15px; }
.w-data dl dt { width: 92px; height: 33px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; border-radius: 5px; color: #fff; font-weight: 700; font-size: 13px; background: #727171; }
.w-data dl dd { width: calc(100% - 102px); line-height: 1.5; padding-top: 4px; }
.w-data dl:last-child { margin-bottom: 0; }

.curtain-area { background: url("../img/top/curtain01.jpg") no-repeat center; background-attachment: fixed; border-radius: 60px; margin-top: -65px; overflow: hidden; background-size: cover; position: relative; z-index: 2; }

.over01 { background: rgba(0, 9, 28, 0.5); }

.over02 { padding: 120px 0; -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); background: rgba(255, 255, 255, 0.7); }

section#reason-sec > .wrap.box01 { padding: 120px 0 180px; }
section#reason-sec > .wrap.box01 h2.titles02 { width: fit-content; margin-left: auto; margin-right: auto; }

.reason-list01.flex > div.box { width: 340px; margin-right: 40px; -webkit-backdrop-filter: blur(20px) brightness(2); backdrop-filter: blur(20px) brightness(2); background: rgba(255, 255, 255, 0.25); box-sizing: border-box; border-radius: 20px; padding: 38px 35px 35px; }
.reason-list01.flex > div.box .ico { margin-bottom: 30px; text-align: center; }
.reason-list01.flex > div.box .tit { font-size: 22px; margin-bottom: 20px; line-height: 1.45; }
.reason-list01.flex > div.box:nth-child(3n) { margin-right: 0; }

div.top-greeting { border-radius: 60px 60px 0 0; -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px); color: #fff; }
div.top-greeting .wrap { box-sizing: border-box; padding: 80px 470px 127px 0; }
div.top-greeting .img { position: absolute; position: absolute; right: 0; top: -80px; }
div.top-greeting h3.tit { line-height: 1.45; font-size: 22px; font-weight: 700; margin-bottom: 40px; }
div.top-greeting .top-name { text-align: right; margin-top: 30px; font-size: 13px; }
div.top-greeting .top-name .line02 { margin-left: 20px; font-size: 22px; }

section#news-sec { padding-top: 120px; }
section#news-sec h2.titles01 { width: fit-content; margin-left: auto; margin-right: auto; }
section#news-sec .btn01 { margin: 70px auto 0; }

.news-list01.flex article.blog-art { margin-right: 40px; }
.news-list01.flex article.blog-art:nth-child(4n) { margin-right: 0; }

article.blog-art { width: 245px; }
article.blog-art a { display: block; text-decoration: none; }
article.blog-art a .img { margin-bottom: 20px; border-radius: 10px; overflow: hidden; }
article.blog-art a .img .in-img { padding-top: 75.1%; transition: 0.3s; border-radius: 10px; }
article.blog-art a .infos.flex { width: calc(100% + 10px); margin-left: -10px; align-items: center; margin-top: -10px; }
article.blog-art a .infos.flex > div { margin: 10px 0 0 10px; }
article.blog-art a .infos.flex .a-date { font-size: 13px; line-height: 1.45; }
article.blog-art a .tit { font-weight: 500; width: 100%; line-height: 1.71; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: 15px; }
article.blog-art a:hover .img .in-img { transform: scale(1.1); }

.cate { padding: 7px 7px 7px; color: #fff; font-weight: 700; font-size: 13px; line-height: 1.45; border-radius: 5px; background: #727171; }

section#rec-sec { padding: 120px 0; }

.rec-cont { width: 500px; margin-left: auto; box-sizing: border-box; border-radius: 20px; padding: 70px 60px; -webkit-backdrop-filter: blur(30px) brightness(1.2); backdrop-filter: blur(30px) brightness(1.2); }
.rec-cont h2.titles01 { width: fit-content; margin-left: auto; margin-right: auto; margin-bottom: 40px; }
.rec-cont .text { width: fit-content; margin-left: auto; margin-right: auto; }
.rec-cont .btn01 { margin: 40px auto 0; }

.copy01 { text-align: center; margin-bottom: 20px; font-size: 30px; line-height: 1.5; font-weight: 700; }
.copy01 > span { display: inline-block; position: relative; padding: 0 41px; background: url("../img/top/quo01.svg") no-repeat left top, url("../img/top/quo02.svg") no-repeat right top; }

div#btn-list01 { padding: 205px 0 220px; background: #F5F5F5; margin-top: -80px; }

div.bi-g-btn:after { content: ""; width: 1px; height: 100%; background: #BCBCBC; position: absolute; right: 0; bottom: 0; }

div.bi-g-btn:last-child:after { content: none; }

div.bi-g-btn { width: 33.33%; height: 200px; display: table; position: relative; }
div.bi-g-btn a { text-decoration: none; display: table-cell; text-align: center; vertical-align: middle; }
div.bi-g-btn a span.arrow { display: inline-block; width: 12px; margin-right: 6px; }
div.bi-g-btn a span.arrow img { max-width: none; width: 12px; }
div.bi-g-btn a .titles03 .en { transition: 0.3s; }
div.bi-g-btn a:hover { background: #3366CC; color: #fff; }
div.bi-g-btn a:hover span.arrow img { filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(202deg) brightness(106%) contrast(104%); }
div.bi-g-btn a:hover .titles03 .en { color: #fff; }

div.bi-g-btn.big-btn02 a:hover { background: #00A1AC; }

div.bi-g-btn.big-btn03 a:hover { background: #C644B1; }

/*　02 協栄について
----------------------------------*/
section#p02Box01 { padding: 100px 0 120px; }

section#p02Box02 { padding: 110px 0 120px; background: url("../img/p02/bg01.jpg") no-repeat center top #F7F7F7; }
section#p02Box02 .titles01 { margin-bottom: 56px; }

section#p02Box03 { padding: 110px 0 120px; }

.p02-cont01.flex { justify-content: space-between; margin-bottom: 80px; }
.p02-cont01.flex > .cont { width: 580px; line-height: 1.8; }
.p02-cont01.flex > .cont .copy03 { font-weight: 700; line-height: 1.6; font-size: 41px; margin-bottom: 40px; }
.p02-cont01.flex > .cont .copy04 { margin-bottom: 32px; }
.p02-cont01.flex > .cont > .text { line-height: 2; }
.p02-cont01.flex > .img { width: 402px; }

.copy03 { font-weight: 700; line-height: 1.5; font-size: 30px; margin-bottom: 24px; }

.copy04 { font-weight: 700; line-height: 1.5; font-size: 24px; margin-bottom: 24px; }

.p02-cont01-2 .titles01 { margin-bottom: 40px; }

.st-list02 > div.box { width: 245px; margin-right: 40px; }
.st-list02 > div.box .img { margin-bottom: 16px; }
.st-list02 > div.box .num { margin-bottom: 12px; width: 49px; border-radius: 20px; color: #fff; font-weight: 700; font-size: 14px; line-height: 1.2; background: #3366CC; padding: 2px 2px 3px; text-align: center; box-sizing: border-box; }
.st-list02 > div.box .text { line-height: 1.8; }
.st-list02 > div.box:last-child { margin-right: 0; }

.sub02 { font-size: 24px; line-height: 1.4; margin-bottom: 12px; font-weight: 700; }

.p02-cont02.flex { justify-content: space-between; margin: 0 auto 56px; width: 960px; }
.p02-cont02.flex .copy04 { margin-bottom: 0; font-size: 28px; line-height: 1.8; }
.p02-cont02.flex .ph-text01 { width: 480px; line-height: 2; }

.phBox02 { box-sizing: border-box; width: 960px; background: #fff; border: solid 1px #3366CC; border-radius: 20px; margin: 0 auto; padding: 59px 79px; display: flex; flex-wrap: wrap; justify-content: space-between; }
.phBox02 > .tit { font-size: 32px; line-height: 1.1; font-weight: 700; }
.phBox02 > .tit > span { display: block; }

.ph-list02 { width: 687px; }

h4.num-tit06 { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 4px; }
h4.num-tit06 span.num { font-size: 14px; font-weight: 700; margin-right: 8px; color: #3366CC; line-height: 1.2; }
h4.num-tit06 span.text { line-height: 1.6; font-weight: 700; font-size: 20px; }

div.ph-in { margin-bottom: 16px; padding-bottom: 16px; border-bottom: solid 1px #ECECEC; }
div.ph-in > .text { line-height: 1.6; }

div.ph-in:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.p02-cont03.flex { justify-content: space-between; }
.p02-cont03.flex > .cont { width: 740px; }
.p02-cont03.flex > .cont .copy04 { font-size: 32px; font-weight: 700; margin-bottom: 23px; line-height: 1.5; }
.p02-cont03.flex > .cont > .text { line-height: 1.8; }
.p02-cont03.flex > .right { width: 280px; }

.p02-name { margin-top: 20px; text-align: right; line-height: 1.2; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
.p02-name > span { margin-right: 8px; }
.p02-name > span.line02 { margin-right: 0; font-size: 20px; }

/*　03 樹脂（プラスチック）の研磨加工  サンディング加工
----------------------------------*/
body:not(.home) div#footer aside.aside01 { margin-top: 135px; }
body:not(.home) div#btn-list01 { padding: 120px 0 140px; margin: 0; }
body:not(.home) section#rec-sec { margin-top: -20px; border-radius: 50px; background: url("../img/p03/rec-bg.jpg") no-repeat center top; background-size: cover; padding: 120px 0; }

body:not(.home) div#contents { line-height: 1.8; }

div#umv.umv01 { background: url("../img/main/umv.jpg") no-repeat center top; color: #fff; height: 284px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }

.mv-tit { width: 1100px; }
.mv-tit .en { display: block; color: #3366CC; line-height: 1; font-size: 18px; text-transform: uppercase; margin-bottom: 24px; }
.mv-tit .jp { display: block; line-height: 1.2; font-size: 40px; font-weight: 700; }
.mv-tit .jp .komoji { font-size: 24px; }
.mv-tit .jp .komoji02 { font-size: 18px; display: block; margin-top: 12px; }

section#p03Box01 { padding: 100px 0 120px; }
section#p03Box01 .twin-cont01.flex { flex-direction: row; }

.twin-cont01.flex { justify-content: space-between; align-items: flex-start; flex-direction: row-reverse; }
.twin-cont01.flex .img { position: relative; width: 480px; }
.twin-cont01.flex .cont { width: 520px; }
.twin-cont01.flex .cont .text { line-height: 1.8; }

.copy02 { margin-bottom: 30px; line-height: 1.5; font-weight: 700; font-size: 36px; }

.im-ov { position: relative; }

.im-ov:before { content: ""; background: url("../img/p03/img-over.svg") no-repeat left top; width: 531px; height: 377px; position: absolute; left: -34px; top: -19px; }

.bg-box01.p03-cont01 { margin-top: 80px; }

.bg-box01 { position: relative; background: #F5F8FF; border-radius: 20px; padding: 0 64px 40px; }
.bg-box01 > .tit { text-align: center; margin-bottom: 25px; font-size: 20px; }
.bg-box01 > .tit > span { padding: 5px 24px 7px; border-radius: 0 0 10px 10px; color: #fff; background: #3366CC; line-height: 1.5; display: inline-block; }
.bg-box01 > .text { text-align: center; margin-bottom: 24px; line-height: 1.8; }

.tri-list01.flex { margin-top: -40px; }
.tri-list01.flex > div.box { margin-right: 40px; margin-top: 40px; text-align: center; width: 286px; }
.tri-list01.flex > div.box .ico { border-radius: 10px; background: #fff; width: 100%; height: 120px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin-bottom: 8px; }
.tri-list01.flex > div.box .tri-top.flex { align-items: center; justify-content: space-between; }
.tri-list01.flex > div.box .tri-top.flex .ico02 { width: 80px; }
.tri-list01.flex > div.box .tri-top.flex .text01 { width: calc(100% - 100px); text-align: left; }
.tri-list01.flex > div.box .text01 { line-height: 1.8; font-weight: 700; font-size: 20px; }
.tri-list01.flex > div.box .text02 { text-align: left; margin-top: 8px; }
.tri-list01.flex > div.box:nth-child(3n), .tri-list01.flex > div.box:last-child { margin-right: 0; }

section#p03Box02 { padding: 120px 0; background: url("../img/p03/bg01.png") no-repeat center top; background-size: cover; }
section#p03Box02 .btn01 { margin: 56px 0 0 auto; }

.tite-head.flex { justify-content: space-between; align-items: center; margin-bottom: 55px; }
.tite-head.flex .titles01 { margin-bottom: 0; }
.tite-head.flex .text { width: 500px; }

.border-box01 { margin-bottom: 55px; border-radius: 20px; border: solid 1px #3366CC; padding: 39px; background: #fff; }
.border-box01 .detailBox { margin-bottom: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; }
.border-box01 .detailBox > h3 { width: 100px; height: 27px; display: table; }
.border-box01 .detailBox > h3 > span { display: table-cell; text-align: center; vertical-align: middle; background: #3366CC; color: #fff; line-height: 1.2; font-weight: 700; border-radius: 5px; }
.border-box01 .detailBox > .cont { width: calc(100% - 140px); }
.border-box01 .detailBox > .cont.cont02 { display: flex; flex-wrap: wrap; }
.border-box01 .detailBox > .cont.cont02 > ul { width: 50%; box-sizing: border-box; padding-right: 10px; }
.border-box01 .detailBox:last-child { margin-bottom: 0; }

.border-box01.works-detail01.works-detail300 .detailBox .inner200.flex .cont { width: 425px; margin-left: auto; padding-top: 27px; }
.border-box01.works-detail01.works-detail300 .detailBox.box01 { margin-bottom: 50px; }
.border-box01.works-detail01.works-detail300 .detailBox.box01 .inner200.flex .img { margin-top: -2px; }
.border-box01.works-detail01.works-detail300 .detailBox.box02 .inner200.flex .img { padding-left: 82px; margin-top: -28px; }

ul.dot-list01 > li { position: relative; padding-left: 24px; }
ul.dot-list01 > li:before { content: ""; width: 4px; height: 4px; border-radius: 100%; background: #000; position: absolute; left: 10px; top: 12px; }

.works-list02.flex article.works-art { margin-right: 40px; }
.works-list02.flex article.works-art:nth-child(3n) { margin-right: 0; }

section#p03Box03 { padding: 120px 0; }

.twin-box-list01 .twin-cont01.flex { margin-bottom: 40px; }
.twin-box-list01 .twin-cont01.flex .img { width: 480px; }
.twin-box-list01 .twin-cont01.flex .cont { width: 540px; }
.twin-box-list01 .twin-cont01.flex:nth-child(2n) { flex-direction: row; }
.twin-box-list01 .twin-cont01.flex:last-child { margin-bottom: 0; }

.num-tit { margin-bottom: 23px; }
.num-tit .num { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 49px; height: 22px; line-height: 1; color: #fff; background: #3366CC; border-radius: 20px; font-weight: 700; font-size: 14px; margin-bottom: 16px; }
.num-tit .text { display: block; font-weight: 700; line-height: 1.5 !important; font-size: 32px; }

section#p03Box04 { padding: 120px 0; background: #FAFAFA; }
section#p03Box04 .titles01 { margin-bottom: 55px; }

.flow-list02.flex { margin-top: -30px; }
.flow-list02.flex > div.box { width: 252px; margin-right: 30px; margin-top: 30px; }
.flow-list02.flex > div.box .ico { position: relative; width: 100%; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-bottom: 8px; }
.flow-list02.flex > div.box .ico:after { content: ""; width: 0; height: 0; background: url("../img/p03/flow-arrow.svg") no-repeat left center; width: 12px; height: 18px; position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%); }
.flow-list02.flex > div.box:nth-child(4n), .flow-list02.flex > div.box:last-child { margin-right: 0; }
.flow-list02.flex > div.box:nth-child(4n) .ico:after, .flow-list02.flex > div.box:last-child .ico:after { content: none; }

.num-tit02 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.num-tit02 .num { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 41px; height: 22px; line-height: 1; color: #fff; background: #3366CC; border-radius: 20px; font-weight: 700; font-size: 14px; }
.num-tit02 span.text { width: calc(100% - 49px); font-weight: 700; font-size: 18px; position: relative; top: -1px; }

/*　04 自動車部品の組み付け・検査・梱包
----------------------------------*/
.p04Box01 .im-ov:before { background-image: url("../img/p04/img-over.svg"); }

.bg-box01.p04-cont01 { padding-left: 60px; padding-right: 60px; }
.bg-box01.p04-cont01 .tri-list01.flex > div.box { width: 310px; margin-right: 30px; box-sizing: border-box; }
.bg-box01.p04-cont01 .tri-list01.flex > div.box:nth-child(2) { border-left: solid 1px #D3DDF0; border-right: solid 1px #D3DDF0; padding-left: 30px; padding-right: 30px; }
.bg-box01.p04-cont01 .tri-list01.flex > div.box:nth-child(3) { width: 300px; }
.bg-box01.p04-cont01 .tri-list01.flex > div.box:nth-child(3n), .bg-box01.p04-cont01 .tri-list01.flex > div.box:last-child { margin-right: 0; }

/*　05 実績紹介
----------------------------------*/
div#p05Box01 { padding: 100px 0 120px; }

.works-list-all { width: 100%; display: flex; flex-wrap: wrap; margin-top: -40px; }
.works-list-all article.works-art { margin: 40px 40px 0 0; }
.works-list-all article.works-art:nth-child(3n) { margin-right: 0; }

span.wcate:after { content: "、"; }

span.wcate:last-child:after { content: none; }

/*詳細*/
div#p05sBox01 { padding: 40px 0 120px; }

.works-box01.flex { justify-content: space-between; }
.works-box01.flex > .cont { width: 560px; }
.works-box01.flex > .works-cont01 { width: 480px; }
.works-box01.flex .TBL01 tr:first-child th { border-top: solid 1px #5F8CE5; }
.works-box01.flex .TBL01 tr:first-child td { border-top: solid 1px #DBDBDB; }
.works-box01.flex .TBL01 th { width: 140px; }

h1.ws-tit { line-height: 1.6; font-size: 28px; font-weight: 700m; margin-bottom: 40px; }

.gallery-main button.slick-prev.slick-arrow { border-radius: 2px !important; width: 30px; height: 50px; background: url("../img/p09/slide-arrow01.svg") no-repeat center #EAF2F9; top: 200px; transform: translateY(-50%); left: 0; right: auto; border: none; }
.gallery-main button.slick-next.slick-arrow { border-radius: 2px !important; width: 30px; height: 50px; background: url("../img/p09/slide-arrow02.svg") no-repeat center #EAF2F9; top: 200px; transform: translateY(-50%); right: 0; left: auto; border: none; }
.gallery-main button.slick-arrow:hover { opacity: 0.7; }

.gallery-thumb.flex { width: 100%; margin-top: 10px; justify-content: space-between; }
.gallery-thumb.flex .slick-track { display: flex; flex-wrap: wrap; }

.g-main .cap { line-height: 1.4; margin-top: 10px; }

.g-main-img a { position: relative; text-decoration: none; display: block; border-radius: 10px; }
.g-main-img a .in-img { padding-top: 75%; border-radius: 10px; }

.g-thumb { width: 107px; position: relative; margin-right: 10px; cursor: pointer; transition: 0.3s; border-radius: 5px; }
.g-thumb .in-img { padding-top: 74.46%; border-radius: 5px; }

.g-thumb:before { content: ""; width: 100%; height: 100%; border-radius: 5px; background: rgba(0, 0, 0, 0.5); position: absolute; left: 0; top: 0; z-index: 2; opacity: 0; }

.g-thumb:hover, .g-thumb.slick-current:before { opacity: 1; }

/*ページャー*/
div#pager00 { text-align: center; }

div#pager00 .wp-pagenavi { margin-top: 50px; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; margin: 4px; text-decoration: none; width: 46px; height: 46px; text-align: center; line-height: 41px; font-size: 18px; font-weight: 700; color: #3366CC; box-sizing: border-box; border-radius: 100%; border: solid 2px #3366CC; }

.wp-pagenavi a.page { position: relative; }

.wp-pagenavi span.extend { background: none; color: #3366CC; box-shadow: none; border: none; }

.wp-pagenavi > a:hover { color: #fff; background-color: #3366CC; }

.wp-pagenavi a.previouspostslink { color: transparent; background: url("../img/p05/arrow01.svg") no-repeat calc(50% - 2px) center #fff; margin-left: 0; }

.wp-pagenavi a.nextpostslink { color: transparent; background: url("../img/p05/arrow02.svg") no-repeat calc(50% - -2px) center #fff; margin-right: 0; }

.wp-pagenavi span.current { color: #fff; background: #3366CC; }

.wp-pagenavi a.first { border: solid 1px #3366CC; background: url("../img/p05/arrow01.svg") no-repeat center #fff; color: transparent; display: none; }

.wp-pagenavi a.last { border: solid 1px #3366CC; background: url("../img/p05/arrow02.svg") no-repeat center #fff; color: transparent; display: none; }

.wp-pagenavi a.previouspostslink:hover { background-color: #3366CC; color: transparent !important; background-image: url("../img/p05/arrow01h.svg"); }

.wp-pagenavi a.nextpostslink:hover { background-color: #3366CC; color: transparent !important; background-image: url("../img/p05/arrow02h.svg"); }

.wp-pagenavi a.first:hover { background-color: #3366CC; color: transparent; background-image: url("../img/p05/arrow01h.svg"); }

.wp-pagenavi a.last:hover { background-color: #3366CC; color: transparent; background-image: url("../img/p05/arrow02h.svg"); }

.wp-pagenavi span.pages { display: none; }

.post-navigation ul { margin-top: 60px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.post-navigation ul > li { margin-right: 16px; width: 160px; height: 48px; display: table; }
.post-navigation ul > li a { text-decoration: none; display: table-cell; text-align: center; vertical-align: middle; color: #fff; background: #3366CC; border-radius: 5px; border: solid 2px #3366CC; font-weight: 700; border-radius: 30px; }
.post-navigation ul > li:last-child { margin-right: 0; }
.post-navigation ul li.kara { opacity: 0; pointer-events: none; }
.post-navigation ul li.prev.kara { opacity: 0; pointer-events: none; }
.post-navigation ul li.next.kara { opacity: 0; pointer-events: none; }
.post-navigation ul li.prev a { background: url("../img/p05/arrow01.svg") no-repeat top calc(50% + 1px) left 24px #fff; color: #3366CC; padding-left: 20px; }
.post-navigation ul li.prev a:hover { opacity: 0.7; }
.post-navigation ul li.next a { background: url("../img/p05/arrow02.svg") no-repeat top calc(50% + 1px) right 24px #fff; color: #3366CC; padding-right: 20px; }
.post-navigation ul li.next a:hover { opacity: 0.7; }
.post-navigation ul li.blog-back { display: table; }
.post-navigation ul li.blog-back > a { display: table-cell; text-align: center; vertical-align: middle; text-decoration: none; background: #3366CC; color: #fff; weight: 700; }
.post-navigation ul li.blog-back > a:hover { background: #fff; color: #3366CC; }

/*　06 新着情報
----------------------------------*/
div#p06Box01 { padding: 100px 0 120px; }

.news-list-all { display: flex; flex-wrap: wrap; width: 100%; margin-top: -30px; }
.news-list-all article.blog-art.news-art { width: 260px; margin: 30px 30px 0 0; }
.news-list-all article.blog-art.news-art .img { border: solid 1px #ECECEC; border-radius: 20px; margin-bottom: 8px; }
.news-list-all article.blog-art.news-art .img .in-img { border-radius: 20px; }
.news-list-all article.blog-art.news-art .tit { margin-top: 0; }
.news-list-all article.blog-art.news-art .infos.flex { margin-top: -2px; }
.news-list-all article.blog-art.news-art .infos.flex div.a-date { width: 100%; }
.news-list-all article.blog-art.news-art:nth-child(3n) { margin-right: 0; }

/*詳細*/
div#p06sBox01 { padding: 40px 0 120px; }
div#p06sBox01 .infos.flex { align-items: center; }
div#p06sBox01 .infos.flex > div { margin-right: 10px; line-height: 1.22; }
div#p06sBox01 .infos.flex > div:last-child { margin-right: 0; }
div#p06sBox01 div#two-content { margin-top: 40px; }

h1.ns-tit { font-size: 28px; line-height: 1.6; font-weight: 700; margin-bottom: 24px; }

div#two-content { justify-content: space-between; }

div#two-main { width: 840px; }

div#two-side { width: 200px; }

.cont.blog-text { padding: 40px; background: #fff; border-radius: 10px; }

.nh2 { line-height: 1.6; font-weight: 700; font-size: 22px; margin-bottom: 24px; }

.nh3 { line-height: 1.6; font-weight: 700; font-size: 20px; margin-bottom: 24px; }

.nhr1 { display: block; margin: 40px 0; position: relative; border: none; height: 1px; background: #DBDBDB; }

.blog-text div#toc_container { box-sizing: border-box; width: 100%; background: #F5F5F5; border: none; border-radius: 10px; padding: 40px; margin-bottom: 40px; }
.blog-text div#toc_container p.toc_title { text-align: left; line-height: 1.2; font-size: 20px; font-weight: 700; margin-bottom: 30px; }
.blog-text div#toc_container ul.toc_list { margin-top: 0 !important; }
.blog-text div#toc_container ul.toc_list > li { font-size: 16px; font-weight: 500; font-size: 16px; font-weight: 700; line-height: 1.2; margin-bottom: 16px; }
.blog-text div#toc_container ul.toc_list > li span.toc_number { min-width: 15px; display: inline-block; font-size: 20px; color: #3366CC; vertical-align: -2px; margin-right: 10px; font-weight: 700; text-decoration: none !important; }
.blog-text div#toc_container ul.toc_list > li a { text-decoration: underline; }
.blog-text div#toc_container ul.toc_list > li a:hover { text-decoration: none; }
.blog-text div#toc_container ul.toc_list > li > ul { margin-top: 16px; }
.blog-text div#toc_container ul.toc_list > li > ul > li { margin-bottom: 10px; }
.blog-text div#toc_container ul.toc_list > li > ul > li:last-child { margin-bottom: 0; }
.blog-text div#toc_container ul.toc_list > li:last-child { margin-bottom: 0; }
.blog-text p:first-child { margin-top: 0; }
.blog-text p:first-child img { margin-top: 0; }
.blog-text img:first-child { margin-top: 0; }
.blog-text img[class*="wp-image-"] { margin: 20px 0; }
.blog-text iframe { max-width: 100%; }
.blog-text div { max-width: 100%; }
.blog-text a { max-width: 100%; }

h2.side-tit { text-align: center; margin-bottom: 16px; background: #3366CC; border-radius: 5px; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.2; padding: 11px 10px 10px; }

ul.side-links > li { line-height: 1.4; margin-bottom: 16px; }
ul.side-links > li a { font-weight: 700; display: inline-block; padding-left: 20px; background: url("../img/p05/arrow02.svg") no-repeat left top 5px; text-decoration: none; }
ul.side-links > li a:hover { color: #3366CC; }
ul.side-links > li.r_current a { color: #3366CC; pointer-events: none; }
ul.side-links > li:last-child { margin-bottom: 0; }

/*　07 会社概要
----------------------------------*/
section#p07Box01 { padding: 90px 0 120px; }
section#p07Box01 .titles01 { margin-bottom: 55px; }
section#p07Box01 .TBL01 th { width: 160px; }
section#p07Box01 .TBL01 tr:first-child th { border-radius: 10px 0 0 0; border-top: solid 1px #5F8CE5; }
section#p07Box01 .TBL01 tr:first-child td { border-radius: 0 10px 0 0; border-top: solid 1px #DBDBDB; }
section#p07Box01 .TBL01 tr:last-child th { border-radius: 0 0 0 10px; }
section#p07Box01 .TBL01 tr:last-child td { border-radius: 0 0 10px 0; }

.TBL01 table { border-collapse: separate; border-spacing: 0; }
.TBL01 th, .TBL01 td { box-sizing: border-box; line-height: 1.2; vertical-align: top; padding: 22px 16px; }
.TBL01 th { background: #3366CC; color: #fff; border-bottom: solid 1px #5F8CE5; font-weight: 700; }
.TBL01 td { background: #fff; border-bottom: solid 1px #DBDBDB; font-weight: 500; }

section#p07Box02 { padding: 120px 0; background: url("../img/p07/bg02.png") no-repeat center top #F8F8F8; }
section#p07Box02 .titles01 { margin-bottom: 55px; }

.access-list07.flex { justify-content: space-between; margin-top: -80px; }
.access-list07.flex > div.box { margin-top: 80px; width: calc(50% - 20px); display: flex; flex-wrap: wrap; }
.access-list07.flex > div.box .tit { font-size: 24px; font-weight: 700; line-height: 1.5; margin-bottom: 16px; width: 100%; }
.access-list07.flex > div.box .map-wrap { height: 280px; margin-bottom: 16px; width: 100%; }
.access-list07.flex > div.box .map-wrap iframe { width: 100%; height: 100%; border-radius: 20px; }
.access-list07.flex > div.box .access-data { width: 100%; }
.access-list07.flex > div.box.box1 { width: 100%; }
.access-list07.flex > div.box.box1 .map-wrap { height: 400px; }

.access-data dl.flex { align-items: flex-start; justify-content: space-between; margin-bottom: 8px; }
.access-data dl.flex dt { line-height: 1.2; font-weight: 700; color: #fff; border-radius: 3px; background: #3366CC; padding: 3px 8px 5px; box-sizing: border-box; width: 48px; }
.access-data dl.flex dd { line-height: 1.6; width: calc(100% - 56px); padding-top: 2px; }
.access-data dl.flex:last-child { margin-bottom: 0; }

section#p07Box03 { padding: 120px 0; background: #fff; }
section#p07Box03 .titles01 { margin-bottom: 55px; }

.historyBox { display: flex; flex-wrap: wrap; width: 100%; box-sizing: border-box; padding-bottom: 16px; margin-bottom: 16px; border-bottom: solid 1px #DBDBDB; padding-left: 24px; position: relative; }
.historyBox .age { position: relative; padding-left: 30px; line-height: 1.2; font-weight: 700; font-size: 16px; font-weight: 700; box-sizing: border-box; width: 205px; }
.historyBox .age .big { display: inline-block; width: 25px; text-align: right; }
.historyBox .age span.seireki { font-size: 20px; }
.historyBox .age span.seireki .komoji { font-size: 16px; }
.historyBox .age:before { content: ""; width: 11px; height: 11px; border-radius: 100%; background: #3366CC; position: absolute; left: 0; top: 8px; }
.historyBox .cont { width: calc(100% - 205px); }
.historyBox .cont dl dt { line-height: 1.2; font-size: 16px; font-weight: 700; width: 82px; }
.historyBox .cont dl dd { width: calc(100% - 82px); }
.historyBox .big { font-size: 20px; }

.historyBox:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.historyBox:before { content: ""; width: 1px; height: calc(100% + 16px); border-left: dashed 1px #3366CC; position: absolute; left: 29px; top: 15px; }

.historyBox:last-child:before { content: none; }

/*　08 お問い合わせ
----------------------------------*/
div#contents.bg08 { background: #F5F5F5; }

div#p08Box01 { padding: 100px 0 120px; }
div#p08Box01 .tel-num a { font-size: 40px; color: #000; line-height: 1; }
div#p08Box01 .tel-set .bh { font-size: 16px; font-weight: 700; }

.fax-set { text-align: center; font-weight: 700; }
.fax-set .fax-num > span { display: inline-block; font-size: 40px; color: #000; line-height: 1; }
.fax-set .bh { font-size: 16px; font-weight: 700; }

.contact-list.flex { justify-content: space-between; }
.contact-list.flex > div { background: #fff; box-sizing: border-box; border-radius: 20px; width: calc(50% - 20px); padding: 40px 60px; }
.contact-list.flex > div > h2.tit { text-align: center; padding-top: 48px; line-height: 1.2; font-size: 24px; background: url("../img/p08/ico01.svg") no-repeat center top; margin-bottom: 24px; font-weight: 700; }
.contact-list.flex > div.box02 > h2.tit { background-image: url("../img/p08/ico02.svg"); }
.contact-list.flex > div.box03 { margin-top: 40px; width: 100%; padding: 40px 60px 60px; }
.contact-list.flex > div.box03 > h2.tit { background-image: url("../img/p08/ico03.svg"); margin-bottom: 40px; }

.contact-text01 p { padding-left: 14px; position: relative; font-size: 14px; }
.contact-text01 p:before { content: "※"; position: absolute; left: 0; top: 0; }

/*フォーム*/
.file-bikou { font-size: 14px; }

ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 40px auto 10px; }

ul.contact-state > li { display: table; width: 316px; height: 40px; position: relative; }

ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; color: #2951A1; font-size: 18px; font-weight: 700; background: #E6EFFF; }

ul.contact-state > li.state01 { margin-left: 0; }

ul.contact-state > li.state01, ul.contact-state > li.state02 { clip-path: polygon(0 0, calc(100% - 8px) 0%, 100% 50%, calc(100% - 8px) 100%, 0 100%, 0% 50%); }

ul.contact-state > li.state01 > span { background: #3366CC; color: #fff; }

ul.contact-state.contact-state02 > li.state02 > span { background: #3366CC; color: #fff; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }

a.green { text-decoration: underline; }

a.green:hover { text-decoration: none; }

.contactTBL th, .contactTBL td { display: block; box-sizing: border-box; font-size: 16px; padding: 28px 0; color: #000000; line-height: 1.2; }
.contactTBL th { padding-bottom: 15px; }
.contactTBL td { padding-top: 0; }
.contactTBL .wpcf7-list-item { margin-left: 0; display: block; margin-bottom: 10px; margin-right: 25px; }
.contactTBL input[type="checkbox"], .contactTBL input[type="radio"] { transform-origin: left center; transform: scale(1.5); margin-right: 8px; }
.contactTBL tr.pp-tr th, .contactTBL tr.pp-tr td { background: #FFF4F4; padding-left: 40px; padding-right: 40px; }

span.hissu { display: inline-block; color: #fff; padding: 2px 6px 3px 6px; background: #D50000; margin-right: 4px; box-sizing: border-box; font-size: 14px; font-weight: 700; }

span.nini { display: inline-block; padding: 2px 6px 3px 6px; margin-right: 4px; font-size: 14px; font-weight: 700; background: #E0E0E0; }

input.wpcf7-number, input.wpcf7-date, input.wpcf7-text { box-sizing: border-box; height: 48px; border: solid 1px #D4D4D4; padding: 3px 16px; font-size: 16px; background: #fff; width: 100%; }

input.wpcf7-date { padding: 3px 16px; }

select.wpcf7-select { box-sizing: border-box; height: 48px; border: solid 1px #D4D4D4; padding: 3px 45px 3px 16px; font-size: 16px; width: auto; }

select { background: url("../img/p06/select-arrow.svg") no-repeat center right 15px #fff; border-radius: 0; padding-right: 45px; -webkit-appearance: none; appearance: none; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 160px; border: solid 1px #D4D4D4; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; }

.okomari-list span.wpcf7-list-item { display: block; }

.radio-list span.wpcf7-list-item { display: block; }

.pop-btn.opcl-btn { margin-bottom: 0; width: 320px; height: 60px; border-radius: 30px; padding: 14px 20px; }
.pop-btn.opcl-btn .inner { justify-content: center; }
.pop-btn.opcl-btn .inner .text { width: calc(100% - 32px); font-size: 16px; padding-left: 32px; box-sizing: border-box; text-align: center; }
.pop-btn.opcl-btn .inner .plus:after { content: ""; width: 15px; height: 1px; background: #fff; position: absolute; left: 0; right: 0; top: 50%; margin: 0 auto; opacity: 0; }

.pop-btn.opcl-btn.on:hover .plus:after { background: #004798; }

.pop-btn.opcl-btn.on { margin-bottom: 40px; }
.pop-btn.opcl-btn.on .plus img { opacity: 0; }
.pop-btn.opcl-btn.on .plus:after { opacity: 1; }

.opcl-wrap { display: none; }

div.opcl-inBox { background: #F8F8F8; padding: 1px 40px 40px; }

.hyo-de { margin-top: 10px; }
.hyo-de .tit { margin-bottom: 5px; }

.contactTBL .select-con .wpcf7-list-item { display: block; margin-right: 10px !important; }

.select-con { margin-bottom: 15px; }

input#your-name, input#your-kana { width: 400px; }

.cours-area { margin-top: 5px; }

input.wpcf7-text.tel01, input#zip01 { width: 200px; }

select#pref3 { width: auto; }

span.form-bikou { display: block; }

ul.address-list > li { margin-bottom: 30px; }
ul.address-list > li:last-child { margin-bottom: 0; }
ul.address-list .th { font-size: 14px; margin-bottom: 5px; }

.contactArea .codedropz-upload-container { padding: 0; }

.contactArea .codedropz-upload-handler { border: solid 1px #D4D4D4; border-radius: 0; background: url("../img/p14/ico-file.svg") no-repeat center top 56px #fff; padding: 84px 30px 56px; }

.contactArea .codedropz-upload-inner { color: #1C1C1C; line-height: 1.5; font-size: 16px; font-weight: 500; }

.contactArea .codedropz-upload-inner h3 { font-size: 16px; font-weight: 500; margin: 0; }

a.cd-upload-btn { width: 140px; height: 40px; display: inline-block; line-height: 35px; background: #E3E3E3; border: solid 1px #707070; border-radius: 0; padding-top: 3px; font-size: 16px; margin-top: 8px; color: #000000; }

.contact-submit.flex { margin-top: 60px; justify-content: center; position: relative; flex-direction: row-reverse; }

.contact-submit.flex > p { width: 100%; text-align: center; margin-top: 30px; }

.inb { display: inline-block; }

.form-btn { width: 290px; position: relative; height: 60px; }

.form-btn:before { content: ""; position: absolute; width: 220px; height: 54px; background: #F5F5F5; border-radius: 5px; z-index: 1; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; transition: 0.3s; pointer-events: none; box-sizing: border-box; }

.form-btn:after { content: ""; width: 60px; height: 60px; border-radius: 100%; box-sizing: border-box; border: solid 3px #FFFFFF; background: url("../img/p08/btn-arrow01.svg") no-repeat center #3366CC; position: absolute; left: 0; top: 0; transition: 0.3s; z-index: 3; pointer-events: none; }

.form-btn:hover:after { left: calc(100% - 60px); }

.form-btn:hover:before { background: #3366CC; }

.form-btn.form-btn02:after { transform: rotateZ(180deg); left: calc(100% - 60px); }

.form-btn.form-btn02:hover:after { left: 0; }

.form-btn.form-btn03:before { background: #3366CC; }

.form-btn.form-btn03:hover:before { background: #F5F5F5; }

.form-btn.form-btn02:before { border: solid 2px #3366CC; }

.form-btn.form-btn03:before { border: solid 2px #3366CC; }

.form-btn input[type="submit"], .form-btn input[type="button"], .form-btn button { transition: 0.3s; border: none; color: #000; width: 100%; height: 60px; font-size: 16px; font-weight: 500; position: relative; z-index: 6; background: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; box-sizing: border-box; }

.form-btn.form-btn02 { margin-right: 20px; }

.form-btn.form-btn03 input[type="submit"], .form-btn.form-btn03 input[type="button"], .form-btn.form-btn03 button { color: #fff; }

.form-btn input { transition: 0.3s; cursor: pointer; }

.form-btn:hover input, .form-btn:hover button { color: #fff; }

.form-btn.form-btn03 input:hover, .form-btn.form-btn03 button:hover { color: #000; }

span.zip-mark { margin-right: 10px; font-size: 14px; }

span.zip-bikou { margin-left: 15px; font-size: 13px; }

.zip_list > div { margin-bottom: 10px; }
.zip_list > div:last-child { margin-bottom: 0; }
.zip_list .zip00.zip02 > div { margin-bottom: 10px; }
.zip_list .zip00.zip02 > div:last-child { margin-bottom: 0; }

.wpcf7-spinner { position: absolute !important; top: -10px !important; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 120px; margin-top: -120px; }

.wpcf7c-conf { background-color: #e8f0fe !important; }

input:-webkit-autofill, input:-internal-autofill-selected { -webkit-appearance: none; -webkit-box-shadow: 0 0 0px 1000px #e8f0fe inset !important; box-shadow: 0 0 0px 1000px #e8f0fe inset !important; }

::placeholder { font-size: 16px; color: #B2B2B2; line-height: 1.5; }

/*確認画面*/
.contactArea.che { background: #eee; padding: 30px; }
.contactArea.che .pop-btn.opcl-btn.on { pointer-events: none; }
.contactArea.che .opcl-wrap { display: block !important; }
.contactArea.che div.opcl-inBox { padding-top: 20px; }

.contactArea.che .contactTBL tr { border-bottom: solid 1px #000; }

.contactArea.che .contactTBL th, .contactArea.che .contactTBL td { padding-top: 5px; padding-bottom: 5px; vertical-align: middle; }

.contactArea.che .dnd-upload-status .dnd-upload-details .remove-file, .contactArea.che .codedropz-upload-handler, .contactArea.che .bikou-text01, .contactArea.che span.dnd-progress-bar, .contactArea.che input[type=checkbox] { display: none; }

.contactArea.che input[type=checkbox]:checked { display: inline-block; }

.contactArea.che input[type=checkbox] ~ span.wpcf7-list-item-label { display: none; }

.contactArea.che input[type=checkbox]:checked ~ span.wpcf7-list-item-label { display: inline-block; font-weight: 700; }

.contactArea.che input[type=radio] { display: none; }

.contactArea.che input[type=radio]:checked { display: inline-block; }

.contactArea.che input[type=radio] ~ span.wpcf7-list-item-label { display: none; }

.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; }

/*　thanksページ等
----------------------------------*/
div#p100Box01 { padding: 90px 0 120px; }
div#p100Box01 .btn01 { margin: 50px auto 0; }

.pp-title01 { font-size: 22px; border-bottom: solid 2px; margin-bottom: 25px; padding-bottom: 10px; }

.pp-title02:first-child { margin-top: 0; }

.pp-title02 { font-size: 18px; padding-left: 15px; position: relative; color: #3366CC; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #3366CC; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

.page-entry_thanks div#p100Box01 { padding-bottom: 0; }

/*09 採用TOP
----------------------------------*/
div#umv.umv02 { height: 560px; position: relative; background: url("../img/main/umv02.jpg") no-repeat center top; background-size: cover; color: #fff; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; box-sizing: border-box; padding-bottom: 80px; color: #fff; }

.mv-tit02 { margin-bottom: 16px; position: relative; }
.mv-tit02 .en { background: url("../img/p09/umv02-en.svg") no-repeat; width: 167px; height: 68px; left: -80px; top: -90px; position: absolute; }
.mv-tit02 .jp { font-weight: 700; display: block; line-height: 1.2; font-size: 18px; }

.mv-text02 { line-height: 1.3; font-size: 56px; font-weight: 700; }

.page-recruit div#contents { position: relative; }
.page-recruit div#contents:before { content: ""; width: calc(50% - 210px); height: 280px; background: #3366CC; position: absolute; right: 0; top: 0; }

div#p09Box01 { padding: 80px 0 140px; position: relative; }
div#p09Box01 .wrap { z-index: 2; }

div#p09Box01:before { content: ""; width: calc(50% - 160px); height: 600px; background: #E9F7FF; position: absolute; left: 0; bottom: 0; }

section#p09Box02 { padding: 120px 0; }

section#p09Box03 { padding: 120px 0; background: #1B2B4B; color: #fff; }

section#p09Box04 { padding: 110px 0 120px; background: url("../img/p09/ca-arrow02.svg") no-repeat left calc(50% - 20px) top 120px #E9F7FF; margin-top: 120px; width: calc(100% - 200px); margin-left: auto; margin-right: auto; border-radius: 20px; }
section#p09Box04 .titles01 { margin-bottom: 40px; }
section#p09Box04 .wrap { width: 1040px; }
section#p09Box04 .btn01 { margin: -85px 28px 0 auto; position: relative; z-index: 3; }
section#p09Box04 .btn01 a { background: #fff; }
section#p09Box04 .btn01 a .arrow { border-color: #fff; }
section#p09Box04 .btn01 a:hover { background: #3366CC; }
section#p09Box04 .copy04 { font-size: 28px; line-height: 1.8; margin-bottom: 40px; }

section#p09Box05 { padding: 120px 0; }
section#p09Box05 .tit-head.flex > .text { font-size: 28px; font-weight: 700; line-height: 1.8; }
section#p09Box05 .btn01 { margin-top: 56px; margin-left: auto; }

div.p09-cont01 { display: flex; flex-wrap: wrap; margin-bottom: 135px; }
div.p09-cont01 > .img01 { width: 320px; margin-left: -40px; }
div.p09-cont01 > .cont { width: 422px; text-align: center; margin-top: 120px; line-height: 1.8; font-weight: 700; margin-left: 58px; margin-right: 40px; }
div.p09-cont01 > .img02 { width: 380px; margin-right: -80px; margin-top: 40px; }

.p09-cont01-2.flex > .left { min-width: 420px; margin-left: 95px; margin-right: 84px; }
.p09-cont01-2.flex > .left .copy04 { font-size: 38px; font-weight: 700; line-height: 1.8; position: relative; }
.p09-cont01-2.flex > .left .copy04:before { content: ""; background: url("../img/p09/en01.svg") no-repeat; width: 151px; height: 53px; left: -40px; top: -66px; position: absolute; }
.p09-cont01-2.flex > .right { width: 420px; line-height: 1.8; font-weight: 700; padding-top: 15px; }

.p09-bg01 { background: url("../img/p09/bg01.jpg") no-repeat center top; background-size: cover; height: 400px; }

.tit-head.flex { justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
.tit-head.flex .titles01 { margin-bottom: 0; }
.tit-head.flex .copy04 { margin-bottom: 0; font-size: 28px; }

.feat-list.flex > div.box { box-sizing: border-box; width: 340px; margin-right: 40px; }
.feat-list.flex > div.box > .img { margin-bottom: 12px; }
.feat-list.flex > div.box > .tit { font-size: 24px; font-weight: 700; line-height: 1.6; margin-bottom: 8px; }
.feat-list.flex > div.box > .text { line-height: 1.6; }
.feat-list.flex > div.box:last-child { margin-right: 0; }

.p09-cont03.flex { justify-content: center; }
.p09-cont03.flex > div { width: 440px; margin-right: 80px; }
.p09-cont03.flex > div:last-child { margin-right: 0; }
.p09-cont03.flex > .cont .copy04 { font-size: 40px; line-height: 1.8; font-weight: 700; margin-bottom: 40px; }
.p09-cont03.flex > .cont .text { line-height: 1.8; }

.p09-cont04.flex { align-items: flex-start; position: relative; }
.p09-cont04.flex > div.box { width: 245px; background: #fff; position: relative; box-sizing: border-box; border-radius: 10px; border: solid 1px #3366CC; padding: 39px 29px 29px; margin-right: 20px; }
.p09-cont04.flex > div.box .step-num { position: absolute; left: -1px; top: -1px; border-radius: 10px 0 10px 0; color: #fff; line-height: 1.2; font-weight: 700; font-size: 14px; padding: 5px 8px 8px; background: #3366CC; }
.p09-cont04.flex > div.box h3.step-tit { font-weight: 700; font-size: 18px; line-height: 1.6; margin-bottom: 8px; }
.p09-cont04.flex > div.box .text { line-height: 1.6; }
.p09-cont04.flex > div.box:nth-child(2) { top: -40px; }
.p09-cont04.flex > div.box:nth-child(3) { top: -80px; }
.p09-cont04.flex > div.box:nth-child(4) { top: -146px; }
.p09-cont04.flex > div.box:last-child { margin-right: 0; }

.int-list01.flex, .int-list03.flex { margin-bottom: 0 !important; }
.int-list01.flex article.int-art, .int-list03.flex article.int-art { margin-right: 60px; }
.int-list01.flex button.slick-arrow:before, .int-list03.flex button.slick-arrow:before { content: none !important; }
.int-list01.flex button.slick-arrow, .int-list03.flex button.slick-arrow { width: 60px; height: 60px; box-sizing: border-box; border: solid 1px #3366CC; top: auto; bottom: -116px; transform: translateY(0); border-radius: 100%; transition: 0.3s; }
.int-list01.flex button.slick-prev.slick-arrow, .int-list03.flex button.slick-prev.slick-arrow { left: 0; background: url("../img/p09/slide-arrow01.svg") no-repeat center #fff; }
.int-list01.flex button.slick-next.slick-arrow, .int-list03.flex button.slick-next.slick-arrow { right: auto; left: 70px; background: url("../img/p09/slide-arrow02.svg") no-repeat center #fff; }
.int-list01.flex button.slick-prev.slick-arrow:hover, .int-list03.flex button.slick-prev.slick-arrow:hover { background-image: url("../img/p09/slide-arrow01h.svg"); background-color: #3366CC; }
.int-list01.flex button.slick-next.slick-arrow:hover, .int-list03.flex button.slick-next.slick-arrow:hover { background-image: url("../img/p09/slide-arrow02h.svg"); background-color: #3366CC; }

div.int-list03.flex:has(button.slick-arrow) { padding-bottom: 116px; }
div.int-list03.flex:has(button.slick-arrow) button.slick-arrow { bottom: 0; }

div#rec-big-btns02 { background: #E9F7FF; padding: 120px 0; justify-content: center; }

div.rec-big-btn { width: 33.33%; }
div.rec-big-btn a { display: block; text-decoration: none; position: relative; overflow: hidden; }
div.rec-big-btn a picture img { display: block; transition: 0.3s; max-width: none; width: 100%; }
div.rec-big-btn a .titles02 { position: absolute; left: 40px; bottom: 40px; margin-bottom: 0; z-index: 2; }
div.rec-big-btn a .titles02 .en { font-size: 40px; }
div.rec-big-btn a .titles02 .en > span { padding-bottom: 10px; }
div.rec-big-btn a .arrow { width: 60px; height: 60px; border: solid 1px #fff; border-radius: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; box-sizing: border-box; position: absolute; right: 40px; bottom: 40px; z-index: 2; }
div.rec-big-btn a .arrow > img { display: block; }
div.rec-big-btn a:hover picture img { transform: scale(1.1); }

div.rec-big-btn02 { width: 41.4%; margin-right: 10px; }
div.rec-big-btn02 a { display: block; text-decoration: none; position: relative; overflow: hidden; border: solid 3px #3366CC; background: #3366CC; height: 270px; box-sizing: border-box; border-radius: 10px; }
div.rec-big-btn02 a > img { display: block; transition: 0.3s; max-width: none; width: 100%; }
div.rec-big-btn02 a .titles02 { position: absolute; left: 80px; top: 50%; transform: translateY(-50%); margin-bottom: 0; z-index: 2; transition: 0.3s; }
div.rec-big-btn02 a .titles02 .en { font-size: 50px; }
div.rec-big-btn02 a .titles02 .en > span { padding-bottom: 10px; }
div.rec-big-btn02 a .arrow { width: 60px; height: 60px; border: solid 1px #fff; border-radius: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; box-sizing: border-box; position: absolute; right: 40px; bottom: 40px; z-index: 2; transition: 0.3s; }
div.rec-big-btn02 a .arrow > img { display: block; transition: 0.3s; opacity: 1; }
div.rec-big-btn02 a:hover { background: #fff; }
div.rec-big-btn02 a:hover .titles02 .en > span:before { background-image: url("../img/common/tit-line-blue01.svg"); }
div.rec-big-btn02 a:hover .titles02 .en > span:after { background: #3366CC; }
div.rec-big-btn02 a:hover .titles02 { color: #3366CC; }
div.rec-big-btn02 a:hover .arrow { border-color: #3366CC; background: #3366CC; }

div.rec-big-btn02.list02 a { border-color: #29519F; background: #29519F; }
div.rec-big-btn02.list02 a:hover { background: #fff; }
div.rec-big-btn02.list02 a:hover .titles02 .en > span:before { background-image: url("../img/common/tit-line-blue02.svg"); }
div.rec-big-btn02.list02 a:hover .titles02 .en > span:after { background: #29519F; }
div.rec-big-btn02.list02 a:hover .titles02 { color: #29519F; }
div.rec-big-btn02.list02 a:hover .arrow { border-color: #29519F; background: #29519F; }

div.rec-big-btn02:last-child { margin-right: 0; }

/*10 福利厚生・環境
----------------------------------*/
div#p10Box01 { padding: 100px 0 100px; }
div#p10Box01 .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
div#p10Box01 .wrap .copy03 { font-size: 32px; line-height: 1.8; margin-bottom: 0; }
div#p10Box01 .wrap > .text { width: 490px; line-height: 2; }

section#p10Box02 { padding: 210px 0 120px; background: #E9F7FF; margin-top: -100px; }

section.bene-sec { background: #fff; border-top: solid 2px #3366CC; padding: 58px 60px 60px; width: 100%; box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 40px; }
section.bene-sec .left { width: 240px; }
section.bene-sec .left .num { width: 49px; height: 22px; border-radius: 20px; color: #fff; text-align: center; background: #3366CC; line-height: 22px; font-weight: 700; font-size: 14px; margin-bottom: 24px; }
section.bene-sec .left .copy04 { margin-bottom: 16px; font-size: 32px; line-height: 1.6; font-weight: 700; }
section.bene-sec .left > .text { line-height: 1.8; }
section.bene-sec .right { width: 620px; }

section.bene-sec:last-child { margin-bottom: 0; }

.env-list.flex { justify-content: space-between; }
.env-list.flex > div { width: 290px; }
.env-list.flex > div .img { margin-bottom: 8px; }
.env-list.flex > div h4.tit { font-weight: 700; line-height: 1.6; font-size: 25px; margin-bottom: 8px; }
.env-list.flex > div ul.dot-list01 { line-height: 1.6; }

.env-list01.flex { margin-top: -17px; justify-content: space-between; }
.env-list01.flex > div.box { width: 305px; margin-top: 17px; border-radius: 10px; box-sizing: border-box; padding: 20px; background: #EFF5F9; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.env-list01.flex > div.box .ico { width: 64px; }
.env-list01.flex > div.box .cont { width: calc(100% - 84px); }
.env-list01.flex > div.box .cont > .tit { font-size: 18px; line-height: 1.4; font-weight: 700; }
.env-list01.flex > div.box .cont > .text { line-height: 1.6; margin-top: 8px; }

.env-list01.env-list03.flex > div.box { width: 354px; margin-right: 19px; }
.env-list01.env-list03.flex > div.box:nth-child(3n) { margin-right: 0; }

div#belt-slider { overflow: hidden; position: relative; z-index: 3; }

div#belt-slider01 { width: 5520px; }

div#belt-slider02 { width: 5520px; }

.b-slide { width: 440px; margin-right: 20px; }
.b-slide .in-img { padding-top: 75%; }

.belt-slide-wrap { display: flex; flex-wrap: wrap; width: 2760px; }

div#belt-slider01 .belt-slide-wrap:first-child { animation: scr-y01 150s -75s linear infinite; }
div#belt-slider01 .belt-slide-wrap:last-child { animation: scr-y02 150s linear infinite; }

div#belt-slider02 .belt-slide-wrap:first-child { animation: scr-y03 150s -75s linear infinite; }
div#belt-slider02 .belt-slide-wrap:last-child { animation: scr-y04 150s linear infinite; }

@keyframes scr-y01 { 0% { transform: translateX(100%); }
  to { transform: translateX(-100%); } }
@keyframes scr-y02 { 0% { transform: translateX(0); }
  to { transform: translateX(-200%); } }
@keyframes scr-y03 { 0% { transform: translateX(-100%); }
  to { transform: translateX(100%); } }
@keyframes scr-y04 { 0% { transform: translateX(-200%); }
  to { transform: translateX(0); } }
section#p10Box03 { padding: 120px 0; }
section#p10Box03 .tit-head > .text { line-height: 2; }

.support-list01.flex > div.box { width: 340px; margin-right: 40px; box-sizing: border-box; position: relative; }
.support-list01.flex > div.box .img { margin-bottom: 16px; }
.support-list01.flex > div.box > .tit { line-height: 1.6; font-size: 24px; font-weight: 700; margin-bottom: 12px; }
.support-list01.flex > div.box > .text { line-height: 1.8; }
.support-list01.flex > div.box:nth-child(3n) { margin-right: 0; }

/*11 数字で見る協栄
----------------------------------*/
div#contents.bg11 { background: #E9F7FF; }

div#p11Box01 { padding: 100px 0 120px; }

section.data-sec { border-bottom: solid 1px #C4DEED; padding-bottom: 80px; margin-bottom: 60px; }
section.data-sec > .tit { margin-bottom: 20px; font-weight: 700; font-size: 24px; line-height: 1.6; }
section.data-sec > .tit .big { font-size: 40px; line-height: 1.3; }

section.data-sec.box03 { border-bottom: none; padding-bottom: 0; margin-bottom: 60px; }

.data-bikou { text-align: right; }

.data-list01.flex { margin-top: -20px; margin-left: -20px; width: calc(100% + 20px); }
.data-list01.flex > div.box { background: #fff; padding: 20px; margin-top: 20px; margin-left: 20px; box-sizing: border-box; width: 353px; }
.data-list01.flex > div.box > .tit { background: #3366CC; text-align: center; border-radius: 20px; line-height: 32px; color: #fff; font-weight: 700; font-size: 18px; line-height: 1.2; margin-bottom: 24px; line-height: 32px; }
.data-list01.flex > div.box .box-type01.flex { justify-content: center; align-items: center; }
.data-list01.flex > div.box .box-type01.flex > .ilu { margin-right: 16px; }
.data-list01.flex > div.box .box-type02.flex { justify-content: center; align-items: center; }
.data-list01.flex > div.box .box-type02.flex > .ilu { margin-right: 16px; }
.data-list01.flex > div.box .in-data-list01.flex > .box { width: 120px; margin-right: 40px; }
.data-list01.flex > div.box .in-data-list01.flex > .box dl.flex { border-bottom: solid 1px #DBDBDB; padding-bottom: 8px; margin-bottom: 4px; justify-content: space-between; align-items: center; font-weight: 700; line-height: 1.2; }
.data-list01.flex > div.box .in-data-list01.flex > .box dl.flex dd .big { font-size: 24px; }
.data-list01.flex > div.box .in-data-list01.flex > .box dl.flex:last-child { margin-bottom: 0; }
.data-list01.flex > div.box .in-data-list01.flex > .box:last-child { margin-right: 0; }
.data-list01.flex > div.box .in-data-list02.flex { justify-content: center; align-items: center; }
.data-list01.flex > div.box .in-data-list02.flex > div { margin-right: 16px; text-align: center; font-weight: 700; font-size: 18px; line-height: 1.2; }
.data-list01.flex > div.box .in-data-list02.flex > div .ilu { margin-bottom: 8px; }
.data-list01.flex > div.box .in-data-list02.flex > div.center { font-weight: 700; font-size: 48px; }
.data-list01.flex > div.box .in-data-list02.flex > div:last-child { margin-right: 0; }
.data-list01.flex > div.box .numBox { font-weight: 700; line-height: 1.2; }
.data-list01.flex > div.box .numBox span.num { font-size: 48px; }
.data-list01.flex > div.box .numBox span.text { font-size: 18px; }

.box01 .data-list01.flex > div.box04 { width: 600px; }
.box01 .data-list01.flex > div.box05 { width: 480px; }

.box02 .data-list01.flex > div { width: 540px; }
.box02 .data-list01.flex > div.box01 { width: 640px; }
.box02 .data-list01.flex > div.box01 .box-type02.flex > .ilu { margin-right: 40px; }
.box02 .data-list01.flex > div.box02 { width: 440px; }

.box03 .data-list01.flex div.box.box03 .numBox .nami { font-size: 32px; }

/*12 キャリアパス・評価制度
----------------------------------*/
section#p12Box01 { padding: 100px 0 120px; }
section#p12Box01 .titles01 { margin-bottom: 0; }

.p12-cont01.flex { justify-content: space-between; }
.p12-cont01.flex > .cont { width: 520px; padding-bottom: 40px; }
.p12-cont01.flex > .cont .copy04 { font-size: 32px; line-height: 1.8; margin-bottom: 32px; }
.p12-cont01.flex > .cont .text { line-height: 2; }
.p12-cont01.flex > .img { width: 500px; padding-top: 8px; }

.cap-tit { color: #fff; font-size: 16px; font-weight: 700; line-height: 1.2; }
.cap-tit > span { border-radius: 30px; text-align: center; padding: 3px 15px 6px; background: #3366CC; display: inline-block; }

.career-list { margin-top: 120px; }

section.career-sec { position: relative; margin-bottom: 20px; background: #fff; border-top: solid 1px #3366CC; padding: 40px; }
section.career-sec .inBox.flex { justify-content: space-between; min-height: 135px; align-items: flex-start; }
section.career-sec .inBox.flex ul.dot-list01 { width: 440px; line-height: 1.6; }
section.career-sec .inBox.flex .modelBox { width: 510px; box-sizing: border-box; background: #EFF5F9; padding: 20px; margin-top: auto; }
section.career-sec .inBox.flex .modelBox .cap { color: #fff; font-size: 14px; font-weight: 700; margin-bottom: 10px; }
section.career-sec .inBox.flex .modelBox .cap > span { border-radius: 30px; text-align: center; padding: 3px 13px 6px; background: #3366CC; }

.step-num { position: absolute; left: 0; top: -1px; color: #fff; font-weight: 700; font-size: 14px; padding: 5px 8px 8px; border-radius: 0 0 6px 0; background: #3366CC; line-height: 1.2; }

section.career-sec:last-child { margin-bottom: 0; }

section.career-sec.box04, section.career-sec.box05 { border-color: #14419D; }
section.career-sec.box04 .step-num, section.career-sec.box05 .step-num { background: #14419D; }
section.career-sec.box04 .inBox.flex .modelBox .cap > span, section.career-sec.box05 .inBox.flex .modelBox .cap > span { background: #14419D; }

.career-head.flex { align-items: center; margin-bottom: 15px; line-height: 1.6; }
.career-head.flex .tit { font-size: 24px; font-weight: 700; margin-right: 16px; }

.m-age { font-size: 18px; font-weight: 700; margin-bottom: 4px; }

section#p12Box02 { padding: 120px 0; background: #fff; }

/*13 先輩インタビュー
----------------------------------*/
div#p13Box01 { padding: 100px 0 120px; }

.int-list02.flex { margin-top: -60px; }
.int-list02.flex article.int-art { margin-top: 60px; }

/*詳細*/
div#umv.umv03 { background: url("../img/main/umv03.jpg") no-repeat center top; background-size: cover; color: #fff; padding: 80px 0; }
div#umv.umv03 .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
div#umv.umv03 .wrap .cont { width: 640px; }
div#umv.umv03 .wrap .img { width: 400px; }
div#umv.umv03 .wrap .img .in-img { padding-top: 80%; border-radius: 10px; }

h1.int-tit { font-size: 32px; font-weight: 700; line-height: 1.6; margin-bottom: 40px; }

.int-data01 dl { line-height: 26px; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
.int-data01 dl dt { width: 64px; text-align: center; border-radius: 3px; background: #164093; font-weight: 700; }
.int-data01 dl dd { width: calc(100% - 72px); }
.int-data01 dl:last-child { margin-bottom: 0; }

div#p13sBox01 { padding: 100px 0 120px; }

div.intBox { margin-bottom: 40px; }
div.intBox .num { display: block; width: 49px; line-height: 22px; height: 22px; font-weight: 700; text-align: center; border-radius: 20px; background: #3366CC; font-size: 14px; color: #fff; margin-bottom: 8px; }
div.intBox > h2 { margin-bottom: 16px; line-height: 1.5; font-weight: 700; font-size: 24px; }
div.intBox > .text { line-height: 1.8; padding: 40px; background: #F5F8FF; border-radius: 10px; }

div.intBox:last-child { margin-bottom: 0; }

.messageBox { margin-top: 80px; background: #29519F; border-radius: 20px; color: #fff; padding: 80px; width: 1100px; margin-left: -80px; }
.messageBox h2.m-tit { padding-left: 40px; position: relative; font-weight: 700; line-height: 1.5; font-size: 24px; margin-bottom: 16px; }
.messageBox h2.m-tit > span { display: inline-block; position: relative; z-index: 2; }
.messageBox h2.m-tit:before { content: ""; background: url("../img/p13/message.svg") no-repeat; width: 97px; height: 33px; position: absolute; left: 0; top: -10px; }
.messageBox .text { padding: 0 60px 0 40px; }

.int-sche.flex { margin-top: 80px; flex-direction: row-reverse; justify-content: space-between; }
.int-sche.flex > .cont { width: 640px; }
.int-sche.flex > .img { width: 400px; }
.int-sche.flex > .img .in-img { border-radius: 10px; padding-top: 80%; }

.scheBox.flex { position: relative; box-sizing: border-box; padding-bottom: 19px; margin-bottom: 16px; border-bottom: solid 1px #DBDBDB; padding-left: 24px; align-items: flex-start; line-height: 1.6; justify-content: space-between; }
.scheBox.flex .time { box-sizing: border-box; width: 86px; padding-left: 26px; text-align: right; font-weight: 700; position: relative; font-size: 20px; line-height: 1.2; }
.scheBox.flex .time:before { content: ""; width: 11px; height: 11px; border-radius: 100%; background: #3366CC; position: absolute; left: 0; top: 6px; z-index: 2; }
.scheBox.flex .cont { width: calc(100% - 126px); }

.scheBox.flex:before { content: ""; width: 1px; height: calc(100% + 19px); border-left: dashed 1px #3366CC; position: absolute; left: 29px; top: 9px; }

.scheBox.flex:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.scheBox.flex:last-child:before { content: none; }

section#p13sBox02 { padding: 100px 0 120px; background: #F5F5F5; }
section#p13sBox02 .titles01 { margin-bottom: 56px; }

article.int-art { width: 326px; margin-right: 61px; }
article.int-art a { text-decoration: none; display: block; }
article.int-art a .img { overflow: hidden; border-radius: 10px; position: relative; margin-bottom: 17px; }
article.int-art a .img .in-img { padding-top: 110.42%; border-radius: 10px; transition: 0.3s; }
article.int-art a .img .arrow { position: absolute; right: 0; bottom: 0; z-index: 2; width: 40px; height: 40px; background: url("../img/common/btn-arrow-white.svg") no-repeat center #3366CC; border-radius: 10px 0 10px 0; background-size: 7px; }
article.int-art a .tit { line-height: 1.6; font-size: 21px; font-weight: 700; margin-bottom: 16px; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
article.int-art a:hover .img .in-img { transform: scale(1.1); }

article.int-art:nth-child(3n) { margin-right: 0; }

.int-data02 { line-height: 1.2; }
.int-data02 > span:after { content: "/"; }
.int-data02 > span:last-child:after { content: none; }

section#rec-index01 { padding: 120px 0; background: #1B2B4B; }
section#rec-index01 .btn01 { width: calc(100% - 28px); margin-right: auto; margin-bottom: 40px; }
section#rec-index01 .btn01 a { font-weight: 700; text-align: left; font-size: 20px; padding-left: 40px; }
section#rec-index01 .btn01 a:hover .arrow { left: -28px; }
section#rec-index01 div#rec-big-btns02 { padding: 120px 0 0; background: none; }

.rec-indexBox.flex { box-sizing: border-box; background: #fff; border-radius: 20px; padding: 60px; justify-content: space-between; flex-direction: row-reverse; }
.rec-indexBox.flex .img { width: 440px; }
.rec-indexBox.flex > .cont { width: 480px; }
.rec-indexBox.flex > .cont .btn01 { width: calc(100% - 28px); }
.rec-indexBox.flex > .cont .btn01 a { font-weight: 700; text-align: left; font-size: 20px; padding-left: 40px; }

.index-btns .index-btn { padding-bottom: 24px; margin-bottom: 26px; border-bottom: solid 1px #DBDBDB; }
.index-btns .index-btn a { display: block; text-decoration: none; }
.index-btns .index-btn a .tit { display: flex; flex-wrap: wrap; align-items: center; font-size: 18px; margin-bottom: 8px; font-weight: 700; line-height: 1.2; }
.index-btns .index-btn a .tit .arrow { margin-right: 8px; }
.index-btns .index-btn a .tit .arrow img { display: block; }
.index-btns .index-btn a > .text { padding-left: 18px; line-height: 1.2; }
.index-btns .index-btn a:hover { color: #3366CC; }
.index-btns .index-btn a:hover .tit .arrow img { filter: brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1104%) hue-rotate(201deg) brightness(94%) contrast(87%); }
.index-btns .index-btn:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.rec-btns02.flex { margin-top: 56px; justify-content: space-between; }
.rec-btns02.flex .rec-btn { width: 530px; height: 140px; display: table; }
.rec-btns02.flex .rec-btn a { display: table-cell; color: #fff; vertical-align: middle; padding: 10px 40px; border-radius: 20px; background: #396FDA; border: solid 3px #396FDA; text-align: left; text-decoration: none; }
.rec-btns02.flex .rec-btn a .titles03 { text-align: left; }
.rec-btns02.flex .rec-btn a .titles03 .jp { display: flex; flex-wrap: wrap; align-items: center; }
.rec-btns02.flex .rec-btn a .titles03 .jp span.arrow { margin-right: 12px; }
.rec-btns02.flex .rec-btn a .titles03 .jp span.arrow img { max-width: none; width: 15px; display: block; }
.rec-btns02.flex .rec-btn a:hover { color: #396FDA; background: #fff; }
.rec-btns02.flex .rec-btn a:hover .titles03 .jp span.arrow img { filter: brightness(0) saturate(100%) invert(40%) sepia(92%) saturate(592%) hue-rotate(185deg) brightness(88%) contrast(94%); }
.rec-btns02.flex .rec-btn.rec-btn02 a { background: #29519F; border-color: #29519F; }
.rec-btns02.flex .rec-btn.rec-btn02 a:hover { color: #29519F; background: #fff; }
.rec-btns02.flex .rec-btn.rec-btn02 a:hover .titles03 .jp span.arrow img { filter: brightness(0) saturate(100%) invert(29%) sepia(10%) saturate(6608%) hue-rotate(193deg) brightness(92%) contrast(93%); }

/*14 募集要項
----------------------------------*/
div#p14Box01 { padding: 80px 0 120px; }

.rec-list03 article.rec-art { margin-bottom: 24px; background: #fff; border-radius: 10px; border: solid 1px #3366CC; padding: 39px; position: relative; }
.rec-list03 article.rec-art .inner.flex { flex-direction: row-reverse; justify-content: space-between; }
.rec-list03 article.rec-art .inner.flex .img { overflow: hidden; width: 260px; }
.rec-list03 article.rec-art .inner.flex .img .in-img { padding-top: 84.61%; transition: 0.3s; }
.rec-list03 article.rec-art .inner.flex .cont { width: 720px; }
.rec-list03 article.rec-art .inner.flex .cont .tit { font-size: 32px; line-height: 1.5; margin-bottom: 16px; }
.rec-list03 article.rec-art .inner.flex .cont .text { line-height: 1.8; }
.rec-list03 article.rec-art .inner.flex .cont .btn01 { margin-top: 32px; }
.rec-list03 article.rec-art .job_cover { position: absolute; z-index: 3; left: -1px; top: -1px; border-radius: 10px; width: calc(100% + 2px); height: calc(100% + 2px); display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: rgba(0, 0, 0, 0.64); }
.rec-list03 article.rec-art .job_cover > span { display: inline-block; color: #fff; background: rgba(0, 0, 0, 0.64); font-size: 18px; font-weight: 700; line-height: 1.6; padding: 16px 24px; }
.rec-list03 article.rec-art:last-child { margin-bottom: 0; }

/*詳細*/
div#p14sBox01 { padding: 40px 0 120px; }
div#p14sBox01 .TBL01 th { width: 180px; }
div#p14sBox01 .TBL01 th, div#p14sBox01 .TBL01 td { padding: 24px; line-height: 1.6; }
div#p14sBox01 .TBL01 tr:first-child th { border-radius: 10px 0 0 0; border-top: solid 1px #5F8CE5; }
div#p14sBox01 .TBL01 tr:first-child td { border-radius: 0 10px 0 0; border-top: solid 1px #DBDBDB; }
div#p14sBox01 .TBL01 tr:last-child th { border-radius: 0 0 0 10px; }
div#p14sBox01 .TBL01 tr:last-child td { border-radius: 0 0 10px 0; }

h1.rec-tit { font-size: 40px; margin-bottom: 30px; font-weight: 700; line-height: 1.6; }

.job_map { margin-top: 24px; height: 400px; }
.job_map iframe { width: 100%; height: 100%; }

.flow-cont { margin-top: 80px; }
.flow-cont h3.tit { font-weight: 700; margin-bottom: 30px; font-size: 32px; line-height: 1.6; }

.rec-flow-list.flex > div.box { position: relative; width: 252px; background: #fff; box-sizing: border-box; margin-right: 30px; text-align: center; padding: 30px 20px 20px; }
.rec-flow-list.flex > div.box .step-num { width: 42px; box-sizing: border-box; padding-top: 3px; padding-bottom: 4px; top: 0; }
.rec-flow-list.flex > div.box .ico { margin-bottom: 10px; }
.rec-flow-list.flex > div.box .tit { font-weight: 700; font-size: 20px; line-height: 1.6; }
.rec-flow-list.flex > div.box .text { line-height: 1.6; }
.rec-flow-list.flex > div.box:before { content: ""; width: 0; height: 0; border-left: solid 10px #3366CC; border-top: solid 8px transparent; border-bottom: solid 8px transparent; position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%); }
.rec-flow-list.flex > div.box:last-child { margin-right: 0; }
.rec-flow-list.flex > div.box:last-child:before { content: none; }

.ent-btn { margin: 120px auto 0; width: 400px; }
.ent-btn a { display: flex; flex-wrap: wrap; align-items: center; position: relative; text-decoration: none; border-radius: 80px; box-sizing: border-box; height: 88px; background: #29519F; border: solid 3px #29519F; color: #fff; padding-left: 48px; }
.ent-btn a .arrow { width: 40px; height: 40px; border: solid 1px #fff; border-radius: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; box-sizing: border-box; position: absolute; right: 30px; top: 50%; z-index: 2; transition: 0.3s; transform: translateY(-50%); }
.ent-btn a .arrow > img { display: block; transition: 0.3s; opacity: 1; width: 8px; }
.ent-btn a .en-btn-tit { font-weight: 700; line-height: 1.2; }
.ent-btn a .en-btn-tit > span { display: block; }
.ent-btn a .en-btn-tit .en { font-size: 32px; text-transform: uppercase; line-height: 1; }
.ent-btn a .en-btn-tit .jp { font-size: 13px; margin-top: 8px; line-height: 1; }
.ent-btn a:hover { background: #fff; color: #29519F; }
.ent-btn a:hover .arrow { background: #29519F; }

.job_off_text + .btn01 { margin-top: 50px; }

/*15 エントリー
----------------------------------*/
section#p15Box01 { padding: 100px 0 120px; }
section#p15Box01 .flow-cont { margin-top: 0; margin-bottom: 100px; }
section#p15Box01 .flow-cont ul.dot-list01 { margin-top: 24px; }

.form-wrap.form-wrap02 { background: #fff; padding: 48px 40px 48px; margin-top: 32px; }

.birth-list.flex > div.box { width: 146px; margin-right: 20px; display: flex; flex-wrap: wrap; align-items: center; }
.birth-list.flex > div.box span.inp { width: calc(100% - 25px); }
.birth-list.flex > div.box .tani { margin-left: 6px; }
.birth-list.flex > div.box.box02 { width: 105px; }
.birth-list.flex > div.box.box03 { width: 105px; }
.birth-list.flex > div.box:last-child { margin-right: 0; }

.entry-form h2.tit { font-size: 32px; line-height: 1.6; margin-bottom: 32px; font-weight: 700; }
.entry-form ul.contact-state { margin-top: 0; margin-bottom: 18px; position: relative; }
.entry-form ul.contact-state > li { height: 49px; position: relative; z-index: 2; width: 327px; }
.entry-form ul.contact-state > li > span { border-radius: 5px; background: #EDEDED; color: #878787; }
.entry-form ul.contact-state > li.state01, .entry-form ul.contact-state > li.state02 { clip-path: none; }
.entry-form ul.contact-state > li.state01 > span { background: #3366CC; color: #fff; }
.entry-form ul.contact-state:before { content: ""; width: 100%; height: 4px; background: #E0E0E0; position: absolute; left: 0; top: calc(50% - 2px); }
.entry-form ul.contact-state.contact-state02 > li.state01 > span { background: #3366CC; color: #fff; }
.entry-form ul.contact-state.contact-state02 > li.state02 > span { background: #3366CC; color: #fff; }

.form-bikou { line-height: 1.6; }

/*ブラウザごと
----------------------------------*/
.tokushu div.gnav { margin-right: 20px; }
.tokushu div#ftBox01 .wrap .right { width: 715px; }
.tokushu .curtain-area { background-attachment: local; background-size: 100%; background-repeat: repeat-y; background-position: center top; }

/*デバイス幅
----------------------------------*/
@media screen and (min-width: 0px) and (max-width: 1500px) { .business-box { padding-top: 100px; padding-left: 60px; padding-right: 60px; height: 491px; box-sizing: border-box; align-items: flex-start; } }
@media screen and (min-width: 0px) and (max-width: 1330px) { .ft-bg { background-image: url("../img/common/ft-bg02.jpg"); }
  section#p09Box04 { width: calc(100% - 80px); }
  div.rec-big-btn a .arrow { right: 20px; }
  div.rec-big-btn a .titles02 { left: 20px; }
  div.rec-big-btn02 a .arrow { right: 20px; }
  div.rec-big-btn02 a .titles02 { left: 40px; } }
@media screen and (min-height: 0px) and (max-height: 620px) { .head-btn:hover .rec-nav-box { padding-top: 40px; }
  .rec-nav-box ul.nav-list01 > li { margin-bottom: 25px; }
  .rec-nav-box ul.nav-list01 > li:last-child { margin-bottom: 0; }
  .rec-nav-box .rec-btns01.flex { margin-top: 30px; }
  .mv-cont { bottom: 50%; transform: translateY(40%); } }
