@charset "UTF-8";
/*webフォント読み込み*/
@font-face { /*notosansミディアム*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Medium.otf"); src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP-Medium.otf") format("truetype"); font-weight: 500; }
@font-face { /*NotoSansJP-Bold*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Bold.otf"); src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP-Bold.otf") format("truetype"); font-weight: 700; }
@font-face { /*NotoSansJP-Black*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Black.otf"); src: url("../fonts/NotoSansJP-Black.woff2") format("woff2"), url("../fonts/NotoSansJP-Black.woff") format("woff"), url("../fonts/NotoSansJP-Black.otf") format("truetype"); font-weight: 900; }
/* Link
=========================================== */
a:link, a:visited { color: #000000; text-decoration: none; }

a { outline: none; transition: 0.3s; color: #000000; text-decoration: none; }

a img { transition: 0.3s; }

:focus { outline: none; }

/* 共通設定
=========================================== */
.pc { display: none !important; }

body { overflow: hidden; background: #fff; color: #000000; font-size: 16px; line-height: 2.1875; font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-style: normal; font-weight: 500; overflow-wrap: anywhere; /* 収まらない場合に折り返す */ word-break: normal; /* 単語の分割はデフォルトに依存 */ line-break: strict; /* 禁則処理を厳格に適用 */ }

h1, h2, h3, h4, h5, h6 { line-height: 1.45; font-weight: 700; }

body#tinymce { min-width: inherit !important; }

input, select, textarea { font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; color: #404040; }

table { width: 100%; }

img { max-width: 100%; height: auto; width: 100%; }

.no-pc { display: inline-block; text-decoration: none !important; }

.inb { display: inline-block; }

.block { display: block; }

.wrap { position: relative; }

/*共通見出し設定*/
.titles01 { margin-bottom: 30px; line-height: 1.45; }
.titles01 > span { display: block; }
.titles01 .en { font-weight: 700; font-size: 40px; text-transform: uppercase; }
.titles01 .en > span { display: inline-block; position: relative; padding-bottom: 5px; }
.titles01 .en > span:before { content: ""; background: url("../img/common/tit-line-black.svg") no-repeat left bottom; width: 18px; height: 21px; position: absolute; left: 0; bottom: -21px; }
.titles01 .en > span:after { content: ""; width: calc(100% - 18px); height: 2px; border-radius: 0 2px 2px 0; background: #000000; position: absolute; right: 0; bottom: -2px; transform: translate3d(0, 0, 0); backface-visibility: hidden; }
.titles01 .jp { font-size: 13px; font-weight: 900; margin-top: 15px; padding-left: 21px; }

.titles02 { margin-bottom: 30px; line-height: 1.45; color: #fff; }
.titles02 > span { display: block; }
.titles02 .en { font-weight: 700; font-size: 40px; text-transform: uppercase; }
.titles02 .en > span { display: inline-block; position: relative; padding-bottom: 5px; }
.titles02 .en > span:before { content: ""; background: url("../img/common/tit-line-white.svg") no-repeat left bottom; width: 18px; height: 21px; position: absolute; left: 0; bottom: -21px; }
.titles02 .en > span:after { content: ""; width: calc(100% - 18px); height: 2px; border-radius: 0 2px 2px 0; background: #fff; position: absolute; right: 0; bottom: -2px; transform: translate3d(0, 0, 0); backface-visibility: hidden; }
.titles02 .jp { font-size: 13px; font-weight: 900; margin-top: 15px; padding-left: 21px; }

.titles03 { line-height: 1.45; text-align: center; }
.titles03 .jp { display: block; font-size: 30px; font-weight: 700; }
.titles03 .en { display: block; font-weight: 500; font-size: 15px; margin-top: 5px; text-transform: uppercase; margin-top: 2.13vw; color: #727171; }

/*共通ボタン設定*/
.btn01 { width: 220px; height: 54px; display: table; }
.btn01 a { text-decoration: none; display: table-cell; text-align: center; vertical-align: middle; font-weight: 500; font-size: 16px; background: #F5F5F5; position: relative; border-radius: 5px; position: relative; left: 28px; }
.btn01 a .arrow { transition: 0.3s; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 100%; position: absolute; left: -28px; top: -1px; border-radius: 100%; z-index: 2; box-sizing: border-box; border: solid 3px #F5F5F5; background: #3366CC; }
.btn01 a .arrow img { display: block; opacity: 1; width: 11px; }

/*グラデーション*/
.gra-bg { display: inline-block; padding: 5px 12px; background: linear-gradient(120deg, #D80000 0%, #D80000 20%, #D85E00 100%); color: #fff; border-radius: 10px; }

.gra-text { background: linear-gradient(180deg, #D80000 0%, #D85E00 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }

/*スライダー　ふわっ*/
div#mv-slider, div.slider01, div.gallery-main, div.gallery-thumb, div.belt-slider { opacity: 0; transition: opacity .3s linear; }

div#mv-slider.slick-initialized, div.slider01.slick-initialized, div.gallery-main.slick-initialized, div.gallery-thumb.flex.slick-initialized, div.belt-slider.slick-initialized { opacity: 1; }

/*font*/
.tright { text-align: right; }

.tleft { text-align: left; }

.tcenter { text-align: center; }

.flL { float: left; }

.flR { float: right; }

.bold { font-weight: bold; }

.inb { display: inline-block; }

.block { display: block; }

.red { color: #E30606; }

.blue { color: #0D0485; }

.blue02 { color: #0093D6; }

.yellow { color: #FECF00; }

.orange { color: #EE5A35; }

.green { color: #087F82; }

.d-green { color: #005E4B; }

.green02 { color: #01A9AE; }

.navy { color: #374b8e; }

.pink { color: #ff7373; }

.gray { color: #818181; }

/*header
---------------------------------------------------------------*/
div#header { background: #fff; width: 100%; position: relative; z-index: 170; height: 80px; display: flex; flex-wrap: wrap; align-items: center; box-sizing: border-box; }
div#header .logo { width: 150px; line-height: 1.45; }

.head-text01 { font-size: 10px; color: #727171; position: absolute; left: 5.33vw; line-height: 1.6; top: 10px; }

div.head-inner.flex { padding: 40px 60px 0 5.33vw; height: 80px; box-sizing: border-box; position: relative; display: block; }

/* nav
=========================================== */
html.huopen { overflow: hidden; }

.sp-nav-btn { width: 50px; height: 50px; position: fixed; top: 15px; right: 0; z-index: 202; box-sizing: content-box; background: #3366CC; border-radius: 5px 0 0 5px; transition: right 0.3s; }

.sp-nav-btn span.bar01 { content: ""; width: 26px; height: 1px; position: absolute; top: 18px; right: 12px; transition: 0.3s; background: #fff; border-radius: 2px; }

.sp-nav-btn span.bar03 { content: ""; width: 26px; height: 1px; position: absolute; top: 32px; right: 12px; transition: 0.3s; background: #ffff; border-radius: 1px; }

.sp-nav-btn span.bar02 { position: absolute; width: 26px; height: 1px; top: 25px; right: 12px; transition: 0.3s; background: #fff; border-radius: 2px; }

.sp-nav-btn > span { overflow: hidden; }

.fixed .sp-nav-btn { box-shadow: 0 0 3px rgba(64, 64, 64, 0.2); }

.sp-nav-btn.opon { box-shadow: none !important; right: calc(100% - 75px); }

.sp-nav-btn.opon span.bar02 { opacity: 0; }

.sp-nav-btn.opon span.bar01 { box-shadow: none; transform: rotateZ(45deg); top: 24px; background: #fff; }

.sp-nav-btn.opon span.bar03 { transform: rotateZ(-45deg); top: 24px; width: 50%; right: 25%; background: #fff; }

.overlay-nav { position: fixed; left: 0; top: 0; width: 100%; height: 0; z-index: -5; background: rgba(64, 64, 64, 0); pointer-events: none; }

.overlay-nav.opon { z-index: 175; opacity: 1; pointer-events: auto; height: 100%; }

div.navs-list-wrap { position: fixed; width: calc(100% - 75px); height: 100%; z-index: 200; top: 0; box-sizing: border-box; background: rgba(51, 102, 204, 0.85); right: calc(-100% - 75px); transition: 0.3s; padding: 8vw 5.33vw 8vw; -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }

div.navs-list-wrap.opon { right: 0; }

ul.navs-list { height: calc(100vh - 70px); overflow: auto; box-sizing: border-box; padding: 0 0 95px; width: 100%; }

.navs-list > li { width: 100%; }
.navs-list > li > a { text-decoration: none; display: block; box-sizing: border-box; padding: 8vw 2.66vw; font-size: 4.26vw; line-height: 1.5; justify-content: space-between; color: #fff; }
.navs-list > li > a > span { padding-left: 3.46vw; display: inline-block; background: url("../img/common/btn-arrow-white.svg") no-repeat left top 1.7vw; background-size: 1.86vw; }
.navs-list > li > .dr-tit { color: #fff; box-sizing: border-box; padding: 8vw 2.66vw; font-size: 4.26vw; line-height: 1.5; }
.navs-list > li > .dr-tit > span { display: inline-block; background: url("../img/common/dr-arrow02.svg") no-repeat left top 2.3vw; background-size: 3.2vw; padding-left: 4.26vw; }
.navs-list > li > .dr-tit.on > span { display: inline-block; background-image: url("../img/common/dr-arrow03.svg"); }

ul.dr-list { padding-left: 10px; }

ul.dr-list > li { width: 100%; border-top: dashed 1px #7490C8; }
ul.dr-list > li > a { text-decoration: none; display: block; box-sizing: border-box; padding: 8vw 2.66vw; font-size: 4.26vw; line-height: 1.5; justify-content: space-between; color: #fff; }
ul.dr-list > li > a > span { padding-left: 3.46vw; display: inline-block; background: url("../img/common/btn-arrow-white.svg") no-repeat left top 1.7vw; background-size: 1.86vw; }

.drp-wrap { display: none; }

.navs-list > li { border-bottom: solid 1px #7490C8; }

.navs-list > li .drop-wrap { display: none; }

.navs-list > li:last-child { border-top: none; border-bottom: none; }

.navs-list > li.sp-nav01 { border-bottom: none; }

.navs-list > li { box-sizing: border-box; width: 100%; }

li.sp-contact-li { border-bottom: none !important; }
li.sp-contact-li .bh { text-align: right; color: #fff; font-size: 3.46vw; }

.btns-sp.flex { justify-content: space-between; margin-bottom: 2vw; }
.btns-sp.flex > div { width: 32vw; height: 18.66vw; display: table; }
.btns-sp.flex > div a { background: #fff; display: table-cell; vertical-align: middle; line-height: 4.8vw; font-weight: 700; font-size: 3.46vw; border-radius: 2.66vw; padding: 2.66vw; }
.btns-sp.flex > div a .big { font-size: 4.26vw; }
.btns-sp.flex > div.left a > span { display: inline-block; padding-left: 9.33vw; background: url("../img/common/ico-mail-black.svg") no-repeat left center; background-size: 6.66vw; }
.btns-sp.flex > div.right a { padding-left: 3.73vw; }
.btns-sp.flex > div.right a > span { display: inline-block; padding-left: 7.2vw; background: url("../img/common/ico-tel-black.svg") no-repeat left center; background-size: 4.53vw; }

/* contents */
/*-------------------------------------------*/
.bg-blue { background: #F5F9FF; }

/*パンくず
---------------------------------------------------------------*/
div#bread { z-index: 2; position: relative; padding: 12px 5.33vw; }

#bread ul { display: flex; flex-wrap: wrap; align-items: center; }

#bread ul li { display: flex; flex-wrap: wrap; align-items: center; font-size: 13px; font-weight: 400; color: #000; vertical-align: middle; line-height: 1.54; }

ul.bread-list li a { font-size: 13px; color: #3366CC; text-decoration: underline; }

ul.bread-list li:after { content: "-"; display: inline-block; position: relative; margin: 0 8px; }

ul.bread-list li:last-child:after { content: none; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv { position: relative; z-index: 3; letter-spacing: 0; }

/* footer */
/*-------------------------------------------*/
.tel-set { text-align: center; }
.tel-set .bh { font-size: 13px; }

.tel-num { line-height: 1.45; }
.tel-num a { display: inline-block; color: #fff; font-size: 30px; font-weight: 700; }

.contact-btn { width: 59.2vw; height: 13.33vw; display: table; margin: 0 auto; }
.contact-btn a { text-decoration: none; display: table-cell; text-align: center; vertical-align: middle; border-radius: 2.66vw; background: #fff; border: solid 1px #fff; font-size: 4.26vw; }
.contact-btn a > span { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.contact-btn a > span .arrow { margin-right: 1.6vw; display: inline-block; position: relative; top: 0.1vw; width: 1.86vw; }
.contact-btn a > span .arrow img { opacity: 1; display: block; transition: 0.3s; }

aside.aside01 { width: 89.34vw; margin: 0 auto; box-sizing: border-box; border-radius: 5.33vw; padding: 5.33vw; background: url("../img/common/aside-bg-sp.jpg") no-repeat center; background-size: cover; color: #fff; }
aside.aside01 .inner { padding: 13.33vw 6.66vw; border: solid 1px #4D6B95; box-sizing: border-box; width: 100%; border-radius: 5.33vw; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); background: rgba(0, 42, 101, 0.45); }
aside.aside01 .inner .left { margin-bottom: 10.66vw; }
aside.aside01 .inner .left .text { line-height: 1.84; font-size: 4.26vw; }
aside.aside01 .tel-num a { font-size: 6.93vw; }
aside.aside01 .bh { font-size: 3.46vw; }

h3.ct-tit { padding-left: 6.93vw; background: url("../img/common/ico-tel-white.svg") no-repeat left top; background-size: 4.53vw; line-height: 1.45; font-size: 4.26vw; display: inline-block; }
h3.ct-tit .big { font-size: 4.8vw; }

h2.aside-tit { line-height: 1.45; font-size: 6.93vw; margin-bottom: 5.33vw; text-align: center; }

.contact-type01 { text-align: center; justify-content: space-between; width: 100%; padding-bottom: 8vw; margin-bottom: 8vw; border-bottom: solid 1px #4D6B95; box-sizing: border-box; }

.contact-type02 { text-align: center; width: 100%; }
.contact-type02 h3.ct-tit { background: url("../img/common/ico-mail-white.svg") no-repeat left top 1.73vw; padding-left: 8vw; background-size: 6.4vw; margin-bottom: 5.33vw; }

div#footer { background: #fff; position: relative; z-index: 3; padding-top: 1px; }
div#footer aside.aside01 { margin-bottom: 80px; margin-top: -100px; position: relative; z-index: 5; }

div.map-list { padding: 0 5.33vw; }
div.map-list .mapBox { width: 100%; margin-bottom: 13.33vw; text-align: center; }
div.map-list .mapBox .m-wrap { height: 89.33vw; }
div.map-list .mapBox .m-wrap iframe { width: 100%; height: 100%; border-radius: 5.33vw; }
div.map-list .mapBox:last-child { margin-bottom: 0; }

.rad-tit { line-height: 1.5; margin: -6.13vw auto 2.66vw; position: relative; z-index: 3; text-align: center; }
.rad-tit > span { display: inline-block; min-width: 32vw; border-radius: 10.66vw; color: #fff; padding: 2.66vw 5.33vw; box-sizing: border-box; background: #3366CC; }

.mapBox.map02 .rad-tit > span { background: #00A1AC; }

.mapBox.map03 .rad-tit > span { background: #C644B1; }

.address-text { font-size: 4.26vw; }

div#ftBox01 { position: relative; z-index: 2; padding: 150px 5.33vw 0; }
div#ftBox01 .wrap .ft-copy { width: 250px; margin: 0 auto 80px; }

div.ft-info h2.ft-logo { width: 200px; margin: 0 auto 40px; text-align: center; }
div.ft-info h2.ft-logo img { display: block; }

.ft-tel-fax { font-size: 22px; line-height: 1.45; width: fit-content; margin: 0 auto; }
.ft-tel-fax > div { margin-bottom: 20px; }
.ft-tel-fax > div:last-child { margin-bottom: 0; }

.tel-num01 { font-size: 22px; }
.tel-num01 a { padding-left: 19px; background: url("../img/common/ico-tel.svg") no-repeat left top 5px; }
.tel-num01 a span.komoji { font-size: 13px; }

.fax-num01 { font-size: 22px; }
.fax-num01 > span { padding-left: 22px; background: url("../img/common/ico-fax.svg") no-repeat left top 5px; display: inline-block; }

div#fnav { display: none; }

ul.fs > li { line-height: 1.6; font-size: 13px; margin-bottom: 20px; }
ul.fs > li a { display: flex; flex-wrap: wrap; align-items: flex-start; }
ul.fs > li a span.arrow { width: 16px; position: relative; top: 5px; }
ul.fs > li a span.arrow img { opacity: 1; display: block; transition: 0.3s; }
ul.fs > li:last-child { margin-bottom: 0; }

.fnav03 .inner { display: flex; flex-wrap: wrap; }
.fnav03 .inner ul.fs { margin-right: 40px; }
.fnav03 .inner ul.fs:last-child { margin-right: 0; }

.ft-tit { font-size: 13px; padding-left: 16px; margin-bottom: 20px; line-height: 1.6; }

ul.fs > li:last-child { margin-bottom: 0; }

.ft-bottom.flex { display: block; text-align: center; margin-top: 80px; margin-bottom: 30px; }

.copyright { font-size: 10px; }

ul.pp-list { font-size: 10px; display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 30px; }
ul.pp-list > li { margin-left: 15px; }
ul.pp-list > li:first-child { margin-left: 0; }

.copyright { font-size: 10px; text-align: center; }

.ft-bg { height: 133.33vw; background: url("../img/common/ft-bg-sp.jpg") no-repeat center top; background-size: cover; margin-top: -95px; }

/* TOPへ戻る */
/*-------------------------------------------*/
div#top-link { position: absolute; left: 0; top: 0; opacity: 0; z-index: -20; }

div#page-top { position: absolute; right: 5.33vw; top: -25px; opacity: 0; z-index: -3; transition: opacity 0.3s; width: 50px; }

div#page-top a { display: block; width: 50px; height: 50px; border-radius: 100%; text-align: center; box-sizing: border-box; line-height: 1; font-size: 15px; font-weight: 700; text-decoration: none; position: relative; }

.fixed div#page-top { opacity: 1; z-index: 6; }

/* iOSでのデフォルトスタイルをリセット */
input[type="password"], textarea, input[type="text"], input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; box-sizing: border-box; cursor: pointer; }

input[type="password"]::-webkit-search-decoration, textarea::-webkit-search-decoration, select::-webkit-search-decoration, input[type="text"]::-webkit-search-decoration, input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }

input[type="password"]::focus, textarea::focus, select::focus, input[type="text"]::focus, input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

select { color: #222; padding: 5px; box-sizing: border-box; }

/* TOP
------------------------------------------*/
/*TOPアニメーション*/
.anima-t { opacity: 0; transform: translate(0, 50px); transition: 1.2s; }

.anima-t.anima { opacity: 1.0; transform: translate(0, 0); }

/*----------------------*/
.home div#mv { background: #fff; }

.mv-cont { width: 89.34vw; margin: 0 auto; position: absolute; z-index: 6; left: 0; right: 0; bottom: 13.33vw; }

.mv-copy { margin: 0 auto 8vw; width: 80vw; }

.mv-state.flex { justify-content: space-between; }
.mv-state.flex > div.box { border-radius: 2.66vw; box-sizing: border-box; width: 20.53vw; height: 16vw; display: table; }
.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(2.66vw); backdrop-filter: blur(2.66vw); background: rgba(51, 102, 204, 0.4); border: solid 1px #6D84B2; border-radius: 2.66vw; font-size: 3.46vw; }
.mv-state.flex > div.box:last-child { margin-right: 0; }

.mv-scroll { position: absolute; z-index: 5; right: 55px; top: 285px; display: none; }
.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: 133.33vw; width: 100%; border-radius: 0 0 16vw 16vw; }

.m-slider01 .slide-img { background: url("../img/main/sp-slide01.jpg") no-repeat center top; background-size: cover; }

.m-slider02 .slide-img { background: url("../img/main/sp-slide02.jpg") no-repeat center top; background-size: cover; }

.m-slider03 .slide-img { background: url("../img/main/sp-slide03.jpg") no-repeat center top; background-size: cover; }

.m-slider04 .slide-img { background: url("../img/main/sp-slide04.png") no-repeat center top; background-size: cover; }

.m-slider05 .slide-img { background: url("../img/main/sp-slide05.png") no-repeat center top; background-size: cover; }

div#top-newsBox { padding: 30px 5.33vw 80px; position: relative; z-index: 3; background: #fff; }
div#top-newsBox h2.tit { font-size: 22px; font-weight: 700; margin-bottom: 20px; }

.more { margin-left: auto; width: fit-content; margin-top: 35px; }
.more a { display: flex; flex-wrap: wrap; align-items: center; }
.more a span.arrow { margin-right: 5px; }

span.arrow img { opacity: 1; transition: 0.3s; display: block; }

article.top-nes-art a { align-items: center; }
article.top-nes-art a .n-date { width: 82px; font-size: 13px; color: #BCBCBC; margin-bottom: 10px; line-height: 1.3; }
article.top-nes-art a h3.tit { width: 100%; font-weight: 500; width: 100%; line-height: 1.6875; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

section#about-sec { padding: 50px 5.33vw 100px; overflow: hidden; position: relative; z-index: 3; background: #fff; }
section#about-sec .wrap > .cont { margin-bottom: 50px; }
section#about-sec .wrap > .cont .text p { display: inline; }
section#about-sec .wrap > .img { width: 133.33vw; margin-left: -21.33vw; position: relative; }
section#about-sec .wrap > .img img { max-width: none; }
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; }
section#about-sec .btn01 { margin: 50px auto 0; }

@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; padding: 0 5.33vw 100px; position: relative; z-index: 3; background: #fff; }

.business-box { width: 94.67vw; border-radius: 0 5.33vw 5.33vw 0; color: #fff; background: url("../img/top/bu01-sp.jpg") no-repeat center; background-size: cover; overflow: hidden; position: relative; padding: 50px 6.66vw 117px; box-sizing: border-box; }
.business-box .cont .sub01 { text-align: center; margin-bottom: 30px; line-height: 1.9; }
.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; }

.sub01 { line-height: 1.45; font-weight: 700; font-size: 18px; }
.sub01 .komoji { font-size: 16px; }

.business-box.business01 { margin-left: -5.33vw; }

.business-box.business02 { background-image: url("../img/top/bu02-sp.jpg"); border-radius: 5.33vw 0 0 5.33vw; margin-top: 50px; padding-top: 75px; }

section#works-sec { padding: 0 5.33vw 100px; background: url("../img/top/bg01-sp.jpg") no-repeat center bottom #fff; background-size: 100%; position: relative; z-index: 3; }
section#works-sec .btn01 { margin: 50px auto 0; }
section#works-sec .kado01 { width: 32vw; height: 32vw; overflow: hidden; position: absolute; left: 0; top: 100%; }
section#works-sec .kado01:before { content: ""; width: 32vw; height: 32vw; border-radius: 100%; box-shadow: -16vw -16vw 0 0 #E8E8E8; position: absolute; bottom: 0; right: 0; }
section#works-sec .kado02 { width: 32vw; height: 32vw; overflow: hidden; position: absolute; right: 0; top: 100%; }
section#works-sec .kado02:before { content: ""; width: 32vw; height: 32vw; border-radius: 100%; box-shadow: 16vw -16vw 0 0 #EDEDED; position: absolute; bottom: 0; left: 0; }

.works-list01.flex { display: block; }
.works-list01.flex article.works-art { margin-bottom: 50px; }
.works-list01.flex article.works-art:last-child { margin-bottom: 0; }

article.works-art { width: 100%; }
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: 18px; font-weight: 700; margin-bottom: 20px; background: url("../img/common/nav-arrow-blue.svg") no-repeat left top 9px; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.w-data dl { align-items: flex-start; justify-content: space-between; margin-bottom: 8px; }
.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 { border-radius: 16vw; overflow: hidden; background-size: 100%; position: relative; z-index: 2; }

.curtain-area::before { content: ""; display: block; position: fixed; /* これで固定を実現 */ top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background-image: url("../img/top/curtain-sp.jpg"); background-size: 100%; background-position: center; }

.over01 { background: rgba(0, 9, 28, 0.5); }

.over02 { padding: 80px 5.33vw; -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); background: rgba(255, 255, 255, 0.7); overflow: hidden; }

section#reason-sec > .wrap.box01 { padding: 80px 5.33vw; }
section#reason-sec > .wrap.box01 h2.titles02 { width: fit-content; margin-left: auto; margin-right: auto; }

.reason-list01.flex { display: block; }
.reason-list01.flex > div.box { width: 100%; margin-bottom: 30px; -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: 0 auto 30px; text-align: center; width: 43.2vw; }
.reason-list01.flex > div.box .tit { font-size: 18px; margin-bottom: 20px; line-height: 1.45; text-align: center; }
.reason-list01.flex > div.box:last-child { margin-bottom: 0; }

div.top-greeting { border-radius: 16vw 16vw 0 0; -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px); color: #fff; }
div.top-greeting .wrap { box-sizing: border-box; padding: 60px 5.33vw 80px; }
div.top-greeting .img { margin-top: 50px; }
div.top-greeting h3.tit { line-height: 1.88; font-size: 18px; font-weight: 700; margin-bottom: 30px; }
div.top-greeting .top-name { text-align: center; margin-top: 30px; font-size: 13px; }
div.top-greeting .top-name .line02 { margin-left: 20px; font-size: 22px; }

section#news-sec { padding-top: 80px; }
section#news-sec h2.titles01 { width: fit-content; margin-left: auto; margin-right: auto; }
section#news-sec .btn01 { margin: 50px auto 0; }

.news-list01.flex .slick-list { overflow: visible; }
.news-list01.flex article.blog-art { margin-right: 40px; width: 245px; }

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; }

.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: 80px 5.33vw; }

.rec-cont { box-sizing: border-box; border-radius: 5.33vw; padding: 60px 18px; -webkit-backdrop-filter: blur(30px) brightness(1.2); backdrop-filter: blur(30px) brightness(1.2); background: rgba(255, 255, 255, 0.6); }
.rec-cont h2.titles01 { width: fit-content; margin-left: auto; margin-right: auto; margin-bottom: 30px; }
.rec-cont .text { width: fit-content; margin-left: auto; margin-right: auto; padding: 0 6px; }
.rec-cont .btn01 { margin: 40px auto 0; }

.copy01 { text-align: center; margin-bottom: 20px; font-size: 24px; line-height: 1.5; font-weight: 700; }
.copy01 > span { display: inline-block; position: relative; padding: 0 30px; background: url("../img/top/quo01.svg") no-repeat left top, url("../img/top/quo02.svg") no-repeat right top; background-size: 20px; }

div#btn-list01 { padding: 80px 5.33vw 130px; background: #F5F5F5; box-sizing: border-box; position: relative; z-index: 3; }
div#btn-list01 .kado01 { width: 32vw; height: 32vw; overflow: hidden; position: absolute; left: 0; bottom: 100%; }
div#btn-list01 .kado01:before { content: ""; width: 32vw; height: 32vw; border-radius: 100%; box-shadow: -16vw 16vw 0 0 #F5F5F5; position: absolute; bottom: 0; right: 0; }
div#btn-list01 .kado02 { width: 32vw; height: 32vw; overflow: hidden; position: absolute; right: 0; bottom: 100%; }
div#btn-list01 .kado02:before { content: ""; width: 32vw; height: 32vw; border-radius: 100%; box-shadow: 16vw 16vw 0 0 #F5F5F5; position: absolute; bottom: 0; left: 0; }

div.bi-g-btn:after { content: ""; width: 100%; height: 1px; background: #BCBCBC; position: absolute; right: 0; bottom: 0; }

div.bi-g-btn:last-child:after { content: none; }

div.bi-g-btn { width: 100%; height: 43.46vw; 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: 3.2vw; margin-right: 1.6vw; }
div.bi-g-btn a span.arrow img { max-width: none; width: 3.2vw; }
div.bi-g-btn a .titles03 span.jp { font-size: 6.93vw; }
div.bi-g-btn a .titles03 span.en { font-size: 4vw; margin-top: 1.33vw; }

/*　02 協栄について
----------------------------------*/
section#p02Box01 { padding: 80px 5.33vw; }

section#p02Box02 { padding: 80px 5.33vw 80px; background: #F7F7F7; }
section#p02Box02 .titles01 { margin-bottom: 40px; }

section#p02Box03 { padding: 80px 5.33vw; }

.p02-cont01.flex { display: block; margin-bottom: 80px; }
.p02-cont01.flex > .cont { line-height: 1.8; }
.p02-cont01.flex > .cont .copy03 { font-weight: 700; line-height: 1.6; font-size: 28px; margin-bottom: 32px; }
.p02-cont01.flex > .cont .copy04 { margin-bottom: 24px; font-size: 18px; line-height: 1.6; }
.p02-cont01.flex > .cont > .text { line-height: 2; }
.p02-cont01.flex > .img { margin-bottom: 48px; }

.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: 100%; margin-bottom: 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-bottom: 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 40px; }
.p02-cont02.flex .copy04 { margin-bottom: 32px; font-size: 28px; line-height: 1.6; }
.p02-cont02.flex .ph-text01 { width: 480px; line-height: 2; }

.phBox02 { box-sizing: border-box; background: #fff; border: solid 1px #3366CC; border-radius: 20px; margin: 0 auto; padding: 39px 19px; }
.phBox02 > .tit { font-size: 28px; line-height: 1.1; font-weight: 700; margin-bottom: 30px; }

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 { display: block; }
.p02-cont03.flex > .cont .copy04 { font-size: 28px; font-weight: 700; margin-bottom: 23px; line-height: 1.6; }
.p02-cont03.flex > .cont > .text { line-height: 1.8; }
.p02-cont03.flex > .right { margin-top: 40px; }

.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; width: 129px; }

/*　03 樹脂（プラスチック）の研磨加工  サンディング加工
----------------------------------*/
body:not(.home) div#footer aside.aside01 { margin-top: 80px; margin-bottom: 80px; }
body:not(.home) div#btn-list01 { padding: 50px 5.33vw; margin: 0; }
body:not(.home) div#btn-list01 span.kado01, body:not(.home) div#btn-list01 span.kado02 { display: none; }
body:not(.home) div#btn-list01 div.bi-g-btn a .titles03 span.en { color: #727171; }
body:not(.home) section#rec-sec { margin-top: 0; border-radius: 0; background: url("../img/top/curtain-sp.jpg") no-repeat center; background-size: cover; }

body:not(.home) div#contents { line-height: 1.8; }

div#umv.umv01 { background: url("../img/main/umv-sp.jpg") no-repeat center top; color: #fff; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; padding: 17.06vw 5.3vw; background-size: 100%; }

.mv-tit .en { display: block; color: #3366CC; line-height: 1; font-size: 4.26vw; text-transform: uppercase; margin-bottom: 6.4vw; }
.mv-tit .jp { display: block; line-height: 1.6; font-size: 7.46vw; font-weight: 700; }
.mv-tit .jp .komoji { font-size: 4.26vw; }
.mv-tit .jp .komoji02 { font-size: 4.26vw; display: block; margin-top: 3.2vw; }

section#p03Box01 { padding: 80px 5.33vw; }

.twin-cont01.flex { display: block; }
.twin-cont01.flex .img { position: relative; margin-bottom: 48px; }
.twin-cont01.flex .cont .text { line-height: 1.8; }

.copy02 { margin-bottom: 30px; line-height: 1.5; font-weight: 700; font-size: 25px; }

.im-ov { position: relative; }

.im-ov:before { content: ""; background: url("../img/p03/img-over-sp.svg") no-repeat left top; width: 95.73vw; height: 70.13vw; position: absolute; left: -2.66vw; top: -3.56vw; background-size: contain; }

.bg-box01.p03-cont01 { margin-top: 40px; }

.bg-box01 { position: relative; background: #F5F8FF; border-radius: 20px; padding: 0 20px 40px; }
.bg-box01 > .tit { text-align: center; margin-bottom: 25px; }
.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; font-size: 18px; }
.bg-box01 > .text { margin-bottom: 24px; line-height: 1.8; }

.tri-list01.flex > div.box { text-align: center; width: 100%; margin-bottom: 30px; }
.tri-list01.flex > div.box .ico { border-radius: 10px; background: #fff; width: 100%; height: 32vw; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin-bottom: 2.13vw; }
.tri-list01.flex > div.box .ico img { width: 21.33vw; }
.tri-list01.flex > div.box .text01 { line-height: 1.8; font-weight: 700; font-size: 5.33vw; }
.tri-list01.flex > div.box .text02 { text-align: left; margin-top: 2.13vw; }
.tri-list01.flex > div.box:last-child { margin-bottom: 0; }

section#p03Box02 { padding: 80px 5.33vw; background: #F7F7F7; }
section#p03Box02 .btn01 { margin: 40px auto 0; }
section#p03Box02 .tite-head.flex .text > p { display: inline; }

.tite-head.flex { display: block; margin-bottom: 40px; }
.tite-head.flex .titles01 { margin-bottom: 40px; }

.border-box01 { margin-bottom: 40px; border-radius: 20px; border: solid 1px #3366CC; padding: 19px; background: #fff; }
.border-box01 .detailBox { margin-bottom: 24px; }
.border-box01 .detailBox > h3 { width: 100px; height: 27px; display: table; margin-bottom: 8px; }
.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:last-child { margin-bottom: 0; }

.border-box01.works-detail01.works-detail300 .detailBox .inner200.flex { display: block; }
.border-box01.works-detail01.works-detail300 .detailBox .inner200.flex .cont { margin-top: 20px; }
.border-box01.works-detail01.works-detail300 .detailBox.box01 { margin-bottom: 40px; }

ul.num-list01 > li { padding-left: 16px; text-indent: -16px; }

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 { display: block; }
.works-list02.flex article.works-art { margin: 0 0 40px; }
.works-list02.flex article.works-art:last-child { margin-bottom: 0; }

section#p03Box03 { padding: 80px 5.33vw; }

.twin-box-list01 .twin-cont01.flex { margin-bottom: 40px; }
.twin-box-list01 .twin-cont01.flex .img { margin-bottom: 24px; }
.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: 24px; }

section#p03Box04 { padding: 80px 5.33vw; background: #FAFAFA; }
section#p03Box04 .titles01 { margin-bottom: 40px; }

.flow-list02.flex { margin-top: -5.33vw; justify-content: space-between; }
.flow-list02.flex > div.box { width: 41.86vw; margin-top: 5.33vw; }
.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: 3.2vw; height: 5.33vw; position: absolute; left: calc(100% + 1.33vw); top: 50%; transform: translateY(-50%); background-size: contain; }
.flow-list02.flex > div.box:nth-child(2n) .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; margin-top: 2.13vw; }
.num-tit02 .num { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 10.93vw; height: 5.86vw; line-height: 1; color: #fff; background: #3366CC; border-radius: 5.33vw; font-weight: 700; font-size: 3.73vw; }
.num-tit02 span.text { width: 100%; font-weight: 700; font-size: 4.26vw; position: relative; }

/*　04 自動車部品の組み付け・検査・梱包
----------------------------------*/
.p04Box01 .im-ov:before { background-image: url("../img/p04/img-over-sp.svg"); }

.bg-box01.p04-cont01 .tri-list01.flex > div.box { box-sizing: border-box; padding-bottom: 30px; border-bottom: solid 1px #D3DDF0; }
.bg-box01.p04-cont01 .tri-list01.flex .tri-top.flex { align-items: center; justify-content: space-between; }
.bg-box01.p04-cont01 .tri-list01.flex .tri-top.flex .ico02 { width: 80px; }
.bg-box01.p04-cont01 .tri-list01.flex .tri-top.flex .text01 { width: calc(100% - 100px); text-align: left; }
.bg-box01.p04-cont01 .tri-list01.flex > div.box:last-child { padding-bottom: 0; border-bottom: none; }

/*　05 実績紹介
----------------------------------*/
div#p05Box01 { padding: 80px 5.33vw; }

.works-list-all { width: 100%; }
.works-list-all article.works-art { margin: 0 0 40px; width: 100%; }
.works-list-all article.works-art:last-child { margin-bottom: 0; }

span.wcate:after { content: "、"; }

span.wcate:last-child:after { content: none; }

/*詳細*/
div#p05sBox01 { padding: 40px 5.33vw 80px; }

.works-box01.flex { display: block; }
.works-box01.flex > .cont { margin-bottom: 40px; }
.works-box01.flex .TBL01 th, .works-box01.flex .TBL01 td { padding: 20px 12px; }
.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: 120px; }

h1.ws-tit { line-height: 1.6; font-size: 20px; font-weight: 700m; margin-bottom: 24px; }

.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-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: 21.33vw; position: relative; margin-right: 2.66vw; cursor: pointer; transition: 0.3s; border-radius: 1.33vw; }
.g-thumb .in-img { padding-top: 74.46%; border-radius: 1.33vw; }

.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.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.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 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: 6px; 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.prev, .post-navigation ul li.next { width: 50px; height: 50px; }
.post-navigation ul li.prev .text, .post-navigation ul li.next .text { display: none; }
.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 calc(50% - 2px) center #fff; border-radius: 100%; }
.post-navigation ul li.next a { background: url("../img/p05/arrow02.svg") no-repeat calc(50% - -2px) center #fff; border-radius: 100%; }
.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; }

/*　06 新着情報
----------------------------------*/
div#p06Box01 { padding: 80px 5.33vw; }
div#p06Box01 div#two-main { width: 100%; order: 2; }
div#p06Box01 div#two-side { width: 100%; margin-top: 0; margin-bottom: 60px; order: 1; }

.news-list-all { width: 100%; }
.news-list-all article.blog-art.news-art { width: 100%; margin: 0 0 40px; }
.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:last-child { margin-bottom: 0; }

/*詳細*/
div#p06sBox01 { padding: 40px 5.33vw 80px; }
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: 20px; line-height: 1.6; font-weight: 700; margin-bottom: 16px; }

div#two-main { width: 100%; }

div#two-side { width: 100%; margin-top: 60px; }

.cont.blog-text { padding: 30px 20px; background: #fff; border-radius: 10px; }

.nh2 { line-height: 1.6; font-weight: 700; font-size: 22px; margin-bottom: 15px; }

.nh3 { line-height: 1.6; font-weight: 700; font-size: 20px; margin-bottom: 15px; }

.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: 20px; margin-bottom: 20px; }
.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 > 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%; }

select { display: block; width: 100%; height: 48px; box-sizing: border-box; border: solid 1px #D4D4D4; padding: 5px 45px 5px 15px; background: url("../img/p06/select-arrow.svg") no-repeat center right 15px #fff; font-size: 16px; -webkit-appearance: none; appearance: none; }

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.r_current a { color: #3366CC; pointer-events: none; }
ul.side-links > li:last-child { margin-bottom: 0; }

/*　07 会社概要
----------------------------------*/
.page-company div#contents.bg08 { background: #FFF; }

section#p07Box01 { padding: 80px 5.33vw; }
section#p07Box01 .titles01 { margin-bottom: 40px; }
section#p07Box01 .TBL01 th { width: auto; }
section#p07Box01 .TBL01 th, section#p07Box01 .TBL01 td { display: block; }
section#p07Box01 .TBL01 tr:first-child th { border-radius: 10px 10px 0 0; border-top: solid 1px #5F8CE5; }

td.tel-fax-com > span { display: block; }

.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: 80px 5.33vw; background: #F7F7F7; }
section#p07Box02 .titles01 { margin-bottom: 40px; }

.access-list07.flex { display: block; }
.access-list07.flex > div.box { margin-bottom: 40px; }
.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: 74.66vw; margin-bottom: 16px; width: 100%; }
.access-list07.flex > div.box .map-wrap iframe { width: 100%; height: 100%; border-radius: 5.33vw; }
.access-list07.flex > div.box .access-data { width: 100%; }
.access-list07.flex > div.box:last-child { margin-bottom: 0; }

.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: 80px 5.33vw; background: #fff; }
section#p07Box03 .titles01 { margin-bottom: 40px; }

.historyBox { display: flex; flex-wrap: wrap; width: 100%; box-sizing: border-box; padding-bottom: 16px; margin-bottom: 16px; border-bottom: solid 1px #DBDBDB; position: relative; align-items: flex-start; }
.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 { align-items: flex-start; }
.historyBox .cont dl dt { line-height: 1.2; font-size: 16px; font-weight: 700; width: 82px; height: 24px; }
.historyBox .cont dl dd { width: calc(100% + 175px); margin-left: -175px; margin-top: 8px; }
.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: 5px; top: 15px; }

.historyBox:last-child:before { content: none; }

/*　08 お問い合わせ
----------------------------------*/
div#contents.bg08 { background: #F5F5F5; }

div#p08Box01 { padding: 80px 5.33vw; }
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 { display: block; }
.contact-list.flex > div { background: #fff; box-sizing: border-box; border-radius: 20px; padding: 40px 20px; margin-bottom: 40px; }
.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 { width: 100%; padding: 40px 20px 60px; margin-bottom: 0; }
.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; margin-bottom: 8px; line-height: 1.6; }
.contact-text01 p:last-child { margin-bottom: 0; }
.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: 31.4%; height: 40px; position: relative; }

ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; color: #2951A1; font-size: 16px; 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; }

.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.3); margin-right: 5px; }
.contactTBL tr.pp-tr th, .contactTBL tr.pp-tr td { background: #FFF4F4; padding-left: 20px; padding-right: 20px; }

tr.sales-tr th { text-indent: -45px; padding-left: 45px; }
tr.sales-tr th span.hissu { text-indent: 0; }
tr.sales-tr label { text-indent: -23px; display: inline-block; padding-left: 25px; line-height: 1.4; }

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 8px; 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 30px 3px 8px; font-size: 16px; background: #fff; width: auto; background: url(../img/p06/select-arrow.svg) no-repeat center right 10px #fff; width: auto; -webkit-appearance: none; appearance: none; width: 100%; }

select { border-radius: 0; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 160px; border: solid 1px #D4D4D4; padding: 10px 8px; font-size: 16px; background: #fff; width: 100%; }

.okomari-list span.wpcf7-list-item { display: block; }

.radio-list span.wpcf7-list-item { display: block; }

.contactTBL .select-con .wpcf7-list-item { display: block; margin-right: 10px !important; }

.select-con { margin-bottom: 15px; }

.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: none; border-radius: 0; background: none; padding: 0; }

.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; display: none; }

.contactArea .codedropz-upload-inner > span { display: none; }

a.cd-upload-btn { width: 100%; height: 35px; line-height: 32px; background: #E3E3E3; border: solid 1px #707070; border-radius: 0; font-size: 16px; margin-top: 0; color: #000; display: block; box-sizing: border-box; padding: 0; }

.contact-submit.flex { margin-top: 40px; justify-content: center; flex-direction: row-reverse; position: relative; width: 255px; margin-left: auto; margin-right: auto; }

.contact-submit.flex > p { width: 100%; text-align: center; margin-top: 30px; }

.inb { display: inline-block; }

.form-btn { width: 255px; position: relative; }

.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.form-btn02:after { transform: rotateZ(180deg); left: calc(100% - 60px); }

.form-btn.form-btn03:before { background: #3366CC; }

.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"] { transition: 0.3s; border: none; color: #000; width: 100%; height: 60px; font-size: 16px; font-weight: 500; position: relative; z-index: 6; background: none; }

.form-btn.form-btn02 { margin-top: 20px; }

.form-btn.form-btn03 input[type="submit"], .form-btn.form-btn03 input[type="button"] { color: #fff; }

.form-btn input { transition: 0.3s; cursor: pointer; }

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 15px; }
.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: 80px 5.33vw; }
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: 135.63vw; position: relative; background: url("../img/main/umv02-sp.png") 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: 10.66vw 5.33vw 16vw; color: #fff; }

.mv-tit02 { margin-bottom: 4.26vw; position: relative; }
.mv-tit02 .en { background: url("../img/p09/umv02-en.svg") no-repeat; width: 44.53vw; height: 18.13vw; left: -0.26vw; top: -27.2vw; position: absolute; background-size: contain; }
.mv-tit02 .jp { font-weight: 700; display: block; line-height: 1.2; font-size: 4.8vw; }

.mv-text02 { line-height: 1.3; font-size: 12.8vw; font-weight: 700; }

.page-recruit div#contents { position: relative; }
.page-recruit div#contents:before { content: ""; width: 53.33vw; height: 80px; background: #3366CC; position: absolute; right: 0; top: 0; }

div#p09Box01 { padding: 80px 5.33vw 0; position: relative; }
div#p09Box01 .wrap { z-index: 2; }

section#p09Box02 { padding: 80px 5.33vw 80px; }
section#p09Box02 .tit-head.flex { margin-bottom: 40px; }
section#p09Box02 .tit-head.flex .titles01 { margin-bottom: 30px; }

section#p09Box03 { padding: 80px 5.33vw 80px; background: #1B2B4B; color: #fff; }
section#p09Box03 .titles02 { margin-bottom: 40px; }
section#p09Box03 .titles02 .en > span { padding-bottom: 12px; line-height: 1.25; }

section#p09Box04 { padding: 80px 5.33vw 80px; background: #E9F7FF; margin: 80px auto 0; box-sizing: border-box; width: 89.34vw; border-radius: 20px; }
section#p09Box04 .titles01 { margin-bottom: 30px; }
section#p09Box04 .btn01 { margin: 40px auto 0; position: relative; z-index: 3; left: -14px; }
section#p09Box04 .btn01 a { background: #fff; }
section#p09Box04 .btn01 a .arrow { border-color: #fff; }
section#p09Box04 .copy04 { font-size: 24px; line-height: 1.6; margin-bottom: 40px; }

section#p09Box05 { padding: 80px 5.33vw; }
section#p09Box05 .tit-head.flex > .text { font-size: 24px; font-weight: 700; line-height: 1.8; }
section#p09Box05 .btn01 { margin: 40px auto 0; }

div.p09-cont01 { margin-bottom: 80px; padding-bottom: calc(60px + 106.66vw); position: relative; }
div.p09-cont01 > .img01 { width: 42.66vw; position: absolute; left: -5.33vw; bottom: 48vw; }
div.p09-cont01 > .cont { text-align: center; line-height: 1.8; font-weight: 700; }
div.p09-cont01 > .img02 { width: 59.2vw; position: absolute; bottom: 0; right: -5.33vw; }

.p09-cont01-2.flex { display: block; position: relative; padding-top: 120px; padding-bottom: 80px; }
.p09-cont01-2.flex > .left { position: relative; z-index: 2; }
.p09-cont01-2.flex > .left .copy04 { font-size: 28px; font-weight: 700; line-height: 1.6; position: relative; }
.p09-cont01-2.flex > .left .copy04:before { content: ""; background: url("../img/p09/en01.svg") no-repeat; width: 151px; height: 53px; left: -9px; top: -66px; position: absolute; background-size: contain; }
.p09-cont01-2.flex > .right { position: relative; z-index: 2; line-height: 1.8; font-weight: 700; }

.p09-cont01-2.flex:before { content: ""; width: 85.33vw; height: 100%; background: #E9F7FF; position: absolute; left: -5.33vw; bottom: 0; }

.p09-bg01 { background: url("../img/p09/bg01-sp.png") no-repeat center top; background-size: cover; height: 85.33vw; }

.tit-head.flex { display: block; margin-bottom: 40px; }
.tit-head.flex .titles01 { margin-bottom: 30px; }
.tit-head.flex .copy04 { margin-bottom: 0; font-size: 24px; }

.feat-list.flex { display: block; }
.feat-list.flex > div.box { box-sizing: border-box; margin-bottom: 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-bottom: 0; }

.p09-cont03.flex { display: block; }
.p09-cont03.flex > div { margin-bottom: 30px; }
.p09-cont03.flex > div:last-child { margin-bottom: 0; }
.p09-cont03.flex > .cont .copy04 { font-size: 24px; line-height: 1.6; font-weight: 700; margin-bottom: 15px; }
.p09-cont03.flex > .cont .text { line-height: 1.8; }

.p09-cont04.flex { align-items: flex-start; position: relative; }
.p09-cont04.flex > div.box { width: 100%; background: #fff; position: relative; box-sizing: border-box; border-radius: 10px; border: solid 1px #3366CC; padding: 39px 29px 29px; margin-bottom: 10px; }
.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:last-child { margin-bottom: 0; }

.int-list01.flex { margin-bottom: 0 !important; }
.int-list01.flex article.int-art { margin: 0 10px; }
.int-list01.flex button.slick-arrow:before { content: none !important; }
.int-list01.flex button.slick-arrow { width: 60px; height: 60px; box-sizing: border-box; border: solid 1px #3366CC; top: auto; bottom: 0; transform: translateY(0); border-radius: 100%; transition: 0.3s; }
.int-list01.flex button.slick-prev.slick-arrow { left: calc(50% - 65px); background: url("../img/p09/slide-arrow01.svg") no-repeat center #fff; }
.int-list01.flex button.slick-next.slick-arrow { right: calc(50% - 65px); background: url("../img/p09/slide-arrow02.svg") no-repeat center #fff; }

div.int-list01.flex:has(button.slick-arrow), div.int-list03.flex:has(button.slick-arrow) { padding-bottom: 100px; }
div.int-list01.flex:has(button.slick-arrow) button.slick-arrow, div.int-list03.flex:has(button.slick-arrow) button.slick-arrow { bottom: 0; }

div#rec-big-btns02 { background: #E9F7FF; padding: 80px 5.33vw; justify-content: center; box-sizing: border-box; }

div.rec-big-btn { width: 100%; }
div.rec-big-btn a { display: block; text-decoration: none; position: relative; overflow: hidden; }
div.rec-big-btn a > img { display: block; transition: 0.3s; max-width: none; width: 100%; }
div.rec-big-btn a .titles02 { position: absolute; left: 5.33vw; bottom: 10.66vw; margin-bottom: 0; z-index: 2; transition: 0.3s; background: url("../img/p09/rec-btn-ico.svg") no-repeat left bottom 2.6vw; background-size: 18.9vw; }
div.rec-big-btn a .titles02 .en { font-size: 10.66vw; }
div.rec-big-btn a .titles02 .en > span { padding-bottom: 2.66vw; }
div.rec-big-btn a .titles02 .en > span:before { content: none; }
div.rec-big-btn a .titles02 .en > span:after { content: none; }
div.rec-big-btn a .titles02 .jp { font-size: 3.46vw; margin-top: 2.66vw; padding-left: 5.6vw; }
div.rec-big-btn a .arrow { width: 10.66vw; height: 10.66vw; 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: 8vw; bottom: 8vw; z-index: 2; transition: 0.3s; }
div.rec-big-btn a .arrow > img { display: block; transition: 0.3s; opacity: 1; width: 2.26vw; right: -0.2vw; position: relative; }

div.rec-big-btn02 { width: 100%; margin-bottom: 2.66vw; box-sizing: border-box; }
div.rec-big-btn02 a { display: block; text-decoration: none; position: relative; overflow: hidden; border: solid 3px #3366CC; background: #3366CC; height: 50.66vw; 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: 5.33vw; top: 50%; transform: translateY(-50%); margin-bottom: 0; z-index: 2; transition: 0.3s; background: url("../img/p09/rec-btn-ico.svg") no-repeat left bottom 2.6vw; background-size: 18.9vw; }
div.rec-big-btn02 a .titles02 .en { font-size: 10.66vw; }
div.rec-big-btn02 a .titles02 .en > span { padding-bottom: 2.66vw; }
div.rec-big-btn02 a .titles02 .en > span:before { content: none; }
div.rec-big-btn02 a .titles02 .en > span:after { content: none; }
div.rec-big-btn02 a .titles02 .jp { font-size: 3.46vw; margin-top: 2.66vw; padding-left: 5.6vw; }
div.rec-big-btn02 a .arrow { width: 10.66vw; height: 10.66vw; 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: 8vw; bottom: 8vw; z-index: 2; transition: 0.3s; }
div.rec-big-btn02 a .arrow > img { display: block; transition: 0.3s; opacity: 1; width: 2.26vw; right: -0.2vw; position: relative; }

div.rec-big-btn02.list02 a { border-color: #29519F; background: #29519F; }

div.rec-big-btn02:last-child { margin-bottom: 0; }

/*10 福利厚生・環境
----------------------------------*/
div#p10Box01 { padding: 50px 5.33vw 60px; }
div#p10Box01 .wrap .copy03 { font-size: 28px; line-height: 1.7; margin-bottom: 24px; }
div#p10Box01 .wrap > .text { line-height: 2; }

section#p10Box02 { padding: 220px 5.33vw 120px; background: #E9F7FF; margin-top: -100px; }

section.bene-sec { background: #fff; border-top: solid 2px #3366CC; padding: 28px 20px 30px; width: 100%; box-sizing: border-box; margin-bottom: 30px; }
section.bene-sec .left { margin-bottom: 32px; }
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: 28px; line-height: 1.6; font-weight: 700; }
section.bene-sec .left > .text { line-height: 1.8; }

section.bene-sec:last-child { margin-bottom: 0; }

.env-list.flex { display: block; }
.env-list.flex > div { margin-bottom: 32px; }
.env-list.flex > div .img { margin-bottom: 8px; }
.env-list.flex > div h4.tit { font-weight: 700; line-height: 1.6; font-size: 24px; margin-bottom: 8px; }
.env-list.flex > div ul.dot-list01 { line-height: 1.6; }
.env-list.flex > div:last-child { margin-bottom: 0; }

.env-list01.flex { display: block; }
.env-list01.flex > div.box { margin-bottom: 15px; 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.flex > div.box:last-child { margin-bottom: 0; }

.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: 4520px; }

div#belt-slider02 { width: 4520px; }

.b-slide { width: 300px; margin-right: 20px; }
.b-slide .in-img { padding-top: 75%; }

.belt-slide-wrap { display: flex; flex-wrap: wrap; width: 1920px; }

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 5.33vw; }
section#p10Box03 .tit-head > .text { line-height: 2; }

.support-list01.flex { display: block; }
.support-list01.flex > div.box { margin-bottom: 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:last-child { margin-bottom: 0; }

/*11 数字で見る協栄
----------------------------------*/
div#contents.bg11 { background: #E9F7FF; }

div#p11Box01 { padding: 80px 5.33vw; }

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: 20px; line-height: 1.6; }
section.data-sec > .tit .big { font-size: 31px; 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 { display: block; }
.data-list01.flex .ilu { width: 80px; }
.data-list01.flex > div.box.box04 .box-type02.flex > .ilu { width: 160px; }
.data-list01.flex > div.box { background: #fff; padding: 20px; margin-bottom: 20px; box-sizing: border-box; }
.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; }
.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; }
.data-list01.flex > div.box:last-child { margin-bottom: 0; }

.box01 .data-list01.flex > div.box04 .box-type02.flex .cont { width: calc(100% - 178px); }

.box02 .data-list01.flex > div.box01 .box-type02.flex { align-items: flex-start; }
.box02 .data-list01.flex > div.box01 .box-type02.flex > .ilu { margin-right: 40px; }
.box02 .data-list01.flex > div.box01 .box-type02.flex .in-data-list01.flex { display: block; }

.box03 .data-list01.flex div.box.box03 .numBox .nami { font-size: 32px; }

/*12 キャリアパス・評価制度
----------------------------------*/
section#p12Box01 { padding: 80px 5.33vw; }
section#p12Box01 .img01 { margin-top: 40px; width: 1100px; padding-right: 5.33vw; }

.p12-cont01.flex { display: block; }
.p12-cont01.flex > .cont .copy04 { font-size: 28px; line-height: 1.7; margin-bottom: 24px; }
.p12-cont01.flex > .cont .text { line-height: 2; }
.p12-cont01.flex > .img { margin-top: 40px; }

.cap-tit { color: #fff; font-size: 16px; font-weight: 700; line-height: 1.2; margin-top: 40px; }
.cap-tit > span { border-radius: 30px; text-align: center; padding: 3px 15px 6px; background: #3366CC; display: inline-block; }

.scr-wrap { width: 94.67vw; overflow: auto; }

.scroll-hint-text { font-size: 0 !important; }

.scroll-hint-text:before { content: "スクロールできます"; font-size: 12px !important; }

.scroll-hint-icon { height: 90px !important; width: 150px !important; top: calc(50% - 45px) !important; }

.career-list { margin-top: 120px; }

section.career-sec { position: relative; margin-bottom: 20px; background: #fff; border-top: solid 1px #3366CC; padding: 40px 20px 40px; }
section.career-sec .inBox.flex { display: block; }
section.career-sec .inBox.flex ul.dot-list01 { line-height: 1.6; margin-bottom: 20px; }
section.career-sec .inBox.flex .modelBox { 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 { margin-bottom: 15px; line-height: 1.6; display: block; }
.career-head.flex .tit { font-size: 24px; font-weight: 700; line-height: 1.6; }
.career-head.flex .c-nen { display: block; line-height: 1.6; margin-top: 8px; }

.m-age { font-size: 18px; font-weight: 700; margin-bottom: 4px; }

section#p12Box02 { padding: 80px 5.33vw; background: #fff; }

/*13 先輩インタビュー
----------------------------------*/
div#p13Box01 { padding: 80px 5.33vw; }

.int-list02.flex { display: block; }
.int-list02.flex article.int-art { margin-bottom: 60px; width: 100%; }
.int-list02.flex article.int-art:last-child { margin-bottom: 0; }

/*詳細*/
div#umv.umv03 { background: url("../img/main/umv03-sp.jpg") no-repeat center top; background-size: cover; color: #fff; padding: 10.66vw 5.33vw; }
div#umv.umv03 .wrap .cont { margin-bottom: 6.4vw; }
div#umv.umv03 .wrap .img .in-img { padding-top: 80%; border-radius: 2.66vw; }

h1.int-tit { font-size: 5.33vw; font-weight: 700; line-height: 1.6; margin-bottom: 6.4vw; }

.int-data01 dl { line-height: 6.93vw; justify-content: space-between; align-items: flex-start; margin-bottom: 2.13vw; font-size: 4.26vw; }
.int-data01 dl dt { width: 17.06vw; text-align: center; border-radius: 0.8vw; background: #164093; font-weight: 700; }
.int-data01 dl dd { width: calc(100% - 19.2vw); }
.int-data01 dl:last-child { margin-bottom: 0; }

div#p13sBox01 { padding: 40px 5.33vw 80px; }

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: 20px; }
div.intBox > .text { line-height: 1.8; padding: 20px; background: #F5F8FF; border-radius: 10px; }

div.intBox:last-child { margin-bottom: 0; }

.messageBox { margin-top: 80px; background: #29519F; border-radius: 20px; color: #fff; padding: 40px; }
.messageBox h2.m-tit { position: relative; font-weight: 700; line-height: 1.5; font-size: 20px; 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: -37px; top: -10px; }

.int-sche.flex { margin-top: 80px; display: block; }
.int-sche.flex > .img { margin-bottom: 25px; }
.int-sche.flex > .img .in-img { border-radius: 2.66vw; 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% - 110px); }

.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: 80px 5.33vw; background: #F5F5F5; }
section#p13sBox02 .titles01 { margin-bottom: 40px; }

article.int-art { width: 100%; margin-bottom: 60px; }
article.int-art a { text-decoration: none; display: block; }
article.int-art a .img { overflow: hidden; border-radius: 2.66vw; position: relative; margin-bottom: 17px; }
article.int-art a .img .in-img { padding-top: 110.42%; border-radius: 2.66vw; transition: 0.3s; }
article.int-art a .img .arrow { position: absolute; right: 0; bottom: 0; z-index: 2; width: 10.66vw; height: 10.66vw; background: url("../img/common/btn-arrow-white.svg") no-repeat center #3366CC; border-radius: 2.66vw 0 2.66vw 0; background-size: 1.86vw; }
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:last-child { margin-bottom: 0; }

.int-data02 { line-height: 1.2; }
.int-data02 > span:after { content: "/"; }
.int-data02 > span:last-child:after { content: none; }

section#rec-index01 { padding: 80px 5.33vw; background: #1B2B4B; }
section#rec-index01 div#rec-big-btns02 { padding: 56px 0 0; background: none; }

.rec-indexBox.flex { box-sizing: border-box; background: #fff; border-radius: 10px; padding: 30px 20px; display: block; }
.rec-indexBox.flex .img { margin-top: 40px; }
.rec-indexBox.flex .img img { border-radius: 2.66vw; }
.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 { margin-top: 32px; }
.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.6; }
.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: 100%; height: 31.46vw; display: table; margin-bottom: 2.66vw; }
.rec-btns02.flex .rec-btn a { display: table-cell; color: #fff; vertical-align: middle; padding: 2.66vw 8vw; border-radius: 2.66vw; 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; font-size: 5.33vw; }
.rec-btns02.flex .rec-btn a .titles03 .jp span.arrow { margin-right: 3.2vw; }
.rec-btns02.flex .rec-btn a .titles03 .jp span.arrow img { max-width: none; width: 4vw; display: block; }
.rec-btns02.flex .rec-btn a .titles03 .en { font-size: 4vw; }
.rec-btns02.flex .rec-btn.rec-btn02 { margin-bottom: 0; }
.rec-btns02.flex .rec-btn.rec-btn02 a { background: #29519F; border-color: #29519F; }

/*14 募集要項
----------------------------------*/
div#p14Box01 { padding: 80px 5.33vw; }

.rec-list03 article.rec-art { margin-bottom: 24px; background: #fff; border-radius: 10px; border: solid 1px #3366CC; padding: 19px 19px 39px; position: relative; }
.rec-list03 article.rec-art .inner.flex { display: block; }
.rec-list03 article.rec-art .inner.flex .img { overflow: hidden; margin-bottom: 20px; }
.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 .tit { font-size: 24px; line-height: 1.6; 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: 32px auto 0; position: relative; left: -14px; }
.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 5.33vw 80px; }
div#p14sBox01 .TBL01 th { width: auto; }
div#p14sBox01 .TBL01 th, div#p14sBox01 .TBL01 td { padding: 16px; line-height: 1.6; display: block; }
div#p14sBox01 .TBL01 tr:first-child th { border-radius: 10px 10px 0 0; border-top: solid 1px #5F8CE5; }
div#p14sBox01 .TBL01 tr:last-child td { border-radius: 0 0 10px 10px; }

h1.rec-tit { font-size: 31px; margin-bottom: 30px; font-weight: 700; line-height: 1.6; }

.job_map { margin-top: 24px; height: 64vw; }
.job_map iframe { width: 100%; height: 100%; }

.flow-cont { margin-top: 80px; }
.flow-cont h3.tit { font-weight: 700; margin-bottom: 16px; font-size: 32px; line-height: 1.6; }

.rec-flow-list.flex { margin-top: -10px; justify-content: space-between; }
.rec-flow-list.flex > div.box { position: relative; width: calc(50% - 5px); background: #fff; box-sizing: border-box; margin-top: 10px; text-align: center; padding: 30px 15px 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: 0 auto 10px; width: 40px; }
.rec-flow-list.flex > div.box .tit { font-weight: 700; font-size: 16px; line-height: 1.6; }
.rec-flow-list.flex > div.box .text { line-height: 1.6; }
.rec-flow-list.flex > div.box:before { content: none; width: 0; height: 0; border-left: solid 10px #3366CC; border-top: solid 8px transparent; border-bottom: solid 8px transparent; position: absolute; left: calc(100% + 7px); top: 50%; transform: translateY(-50%); }
.rec-flow-list.flex > div.box:nth-child(2n) .tit { font-size: 20px; }
.rec-flow-list.flex > div.box:nth-child(2n), .rec-flow-list.flex > div.box:last-child { margin-right: 0; }
.rec-flow-list.flex > div.box:nth-child(2n):before, .rec-flow-list.flex > div.box:last-child:before { content: none; }

.ent-btn { margin: 80px auto 0; }
.ent-btn a { display: flex; flex-wrap: wrap; align-items: center; position: relative; text-decoration: none; border-radius: 80px; box-sizing: border-box; height: 96px; background: #29519F; border: solid 3px #29519F; color: #fff; padding-left: 40px; }
.ent-btn a .arrow { width: 50px; height: 50px; 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: 38px; top: 50%; z-index: 2; transition: 0.3s; transform: translateY(-50%); }
.ent-btn a .arrow > img { display: block; transition: 0.3s; opacity: 1; width: 7px; position: relative; }
.ent-btn a .en-btn-tit { font-weight: 700; line-height: 1; }
.ent-btn a .en-btn-tit > span { display: block; }
.ent-btn a .en-btn-tit .en { font-size: 32px; text-transform: uppercase; }
.ent-btn a .en-btn-tit .jp { font-size: 13px; margin-top: 8px; }

.job_off_text + .btn01 { margin-top: 50px; }

/*15 エントリー
----------------------------------*/
section#p15Box01 { padding: 80px 5.33vw; }
section#p15Box01 .flow-cont { margin-top: 0; margin-bottom: 60px; }
section#p15Box01 .flow-cont ul.dot-list01 { margin-top: 24px; }

.form-wrap.form-wrap02 { background: #fff; padding: 40px 20px; margin-top: 32px; }

.birth-list.flex > div.box { width: 100px; margin-right: 10px; 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: 70px; }
.birth-list.flex > div.box.box03 { width: 70px; }
.birth-list.flex > div.box:last-child { margin-right: 0; }

.entry-form h2.tit { font-size: 32px; line-height: 1.6; margin-bottom: 16px; font-weight: 700; }
.entry-form ul.contact-state { margin-top: 0; margin-bottom: 18px; position: relative; }
.entry-form ul.contact-state > li { position: relative; z-index: 2; width: 32.2%; height: 71px; }
.entry-form ul.contact-state > li > span { border-radius: 5px; background: #EDEDED; color: #878787; }
.entry-form ul.contact-state > li > span .num { display: block; line-height: 1.2; }
.entry-form ul.contact-state > li > span .text { display: block; line-height: 1.2; }
.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; }

/*デバイス幅ごとの調整（必要な幅があれば追加して調整）*/
