@charset "UTF-8";
/* CSS Document */
/*parts
=========================================== */
.facilities00 .img { width: 100%; aspect-ratio: 67 / 49; margin-bottom: 16px; }
.facilities00 h3 { font-size: 19px; padding-left: 36px; box-sizing: border-box; background: url("../img/common/ico-heart.svg") no-repeat top 4px left; background-size: 28px; }
.facilities00 .text { margin-top: 12px; }
.facilities00 .info-table { margin-top: 24px; }
.facilities00 .info-table tr:first-child th { border-top: 1px solid #BEBEBE; }
.facilities00 .info-table tr:first-child td { border-top: 1px solid #DEDEDE; }
.facilities00 .info-table tr th { width: 125px; padding: 12px 15px; box-sizing: border-box; background: #E8E9EB; border-bottom: 1px solid #BEBEBE; line-height: 1.5; }
.facilities00 .info-table tr td { padding: 12px 15px; box-sizing: border-box; background: #FFFFFF; border-bottom: 1px solid #DEDEDE; line-height: 1.5; }

.wrap.twin div#two-main { margin-bottom: 80px; }
.wrap.twin div#two-side .side_box .side-title { font-size: 20px; line-height: 1.5; margin-bottom: 16px; }
.wrap.twin div#two-side .side_box .side-link > li { border-top: 1px solid #DEDEDE; }
.wrap.twin div#two-side .side_box .side-link > li:last-child { border-bottom: 1px solid #DEDEDE; }
.wrap.twin div#two-side .side_box .side-link > li > a { display: block; padding: 20px 0 20px 18px; box-sizing: border-box; position: relative; font-weight: 700; line-height: 1.5; }
.wrap.twin div#two-side .side_box .side-link > li > a::before { content: ""; display: block; width: 14px; height: 14px; background-color: #2D2C2C; background-image: url("../img/common/btn-arrow01.svg"); background-position: center; background-size: 4px; background-repeat: no-repeat; border-radius: 100%; position: absolute; top: 24px; left: 0; transition: 0.3s; }
.wrap.twin div#two-side .side_box .side-link > li .child-link { padding-left: 18px; box-sizing: border-box; margin-bottom: 20px; }
.wrap.twin div#two-side .side_box .side-link > li .child-link > li { margin-bottom: 12px; line-height: 1.5; }
.wrap.twin div#two-side .side_box .side-link > li .child-link > li:last-child { margin-bottom: 0; }
.wrap.twin div#two-side .side_box .side-link > li .child-link > li.on_cat > a { color: #DE274C; }
.wrap.twin div#two-side .side_box .side-link > li.on_cat > a::before { background-color: #DE274C; }
.wrap.twin div#two-side .side_box .side-inner select { width: 100%; height: 40px; box-sizing: border-box; padding: 7px 40px 9px 10px; font-size: 16px; line-height: 1.5; font-weight: 400; border: 1px solid #D4D4D4; font-family: 'NotoSansJP'; background: url("../img/p13/select_arrow.svg") no-repeat center right 20px, #FFFFFF; -webkit-appearance: none; appearance: none; border-radius: 0; cursor: pointer; color: #2D2C2C !important; }
.wrap.twin div#two-side .side_box .side-inner select option { color: #2D2C2C !important; }
.wrap.twin div#two-side .side_box .side-inner select option:first-child { color: #9A9A9A !important; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; width: 40px; height: 40px; margin: 0 2px; text-decoration: none; text-align: center; font-size: 13px; font-weight: 700; color: #000000; border: 1px solid #000000; box-sizing: border-box; background: #FFFFFF; line-height: 40px; }

.wp-pagenavi { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 60px; position: relative; }
.wp-pagenavi a:hover, .wp-pagenavi span.current { background: #000000; color: #FFFFFF; }
.wp-pagenavi a.page { position: relative; }
.wp-pagenavi span.extend { width: auto; color: #000000; background: transparent; border: 0; margin: 0; }
.wp-pagenavi span.pages { display: none; }
.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink { position: relative; color: transparent; }
.wp-pagenavi a.previouspostslink:hover, .wp-pagenavi a.nextpostslink:hover { color: transparent; }
.wp-pagenavi a.previouspostslink:hover::before, .wp-pagenavi a.nextpostslink:hover::before { background: url("../img/common/page_arrow01_h.svg") no-repeat center; background-size: contain; }
.wp-pagenavi a.previouspostslink::before, .wp-pagenavi a.nextpostslink::before { content: ""; display: block; width: 5px; height: 9px; background: url("../img/common/page_arrow01.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.wp-pagenavi a.previouspostslink::before { transform: translate(-50%, -50%) scale(-1, 1); }
.wp-pagenavi a.first, .wp-pagenavi a.last { position: relative; color: transparent; }
.wp-pagenavi a.first:hover, .wp-pagenavi a.last:hover { color: transparent; }
.wp-pagenavi a.first:hover::before, .wp-pagenavi a.last:hover::before { background: url("../img/common/page_arrow02_h.svg") no-repeat center; background-size: contain; }
.wp-pagenavi a.first::before, .wp-pagenavi a.last::before { content: ""; display: block; width: 9px; height: 9px; background: url("../img/common/page_arrow02.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.wp-pagenavi a.first::before { transform: translate(-50%, -50%) scale(-1, 1); }

.post-navigation { margin-top: 60px; }

.post-navigation ul { justify-content: center; }

.post-navigation ul > li { max-width: 110px; width: 32%; }
.post-navigation ul > li a { display: flex; align-items: center; justify-content: center; background: transparent; border: 1px solid #000000; box-sizing: border-box; height: 100%; padding: 15px 10px; position: relative; font-size: 14px; font-weight: 700; line-height: 1.5; color: #000000; text-align: center; }
.post-navigation ul > li a:focus, .post-navigation ul > li a:hover { text-decoration: none; background: #000000; color: #FFFFFF; }
.post-navigation ul > li a:focus::before, .post-navigation ul > li a:hover::before { background: url("../img/common/page_arrow01_h.svg") no-repeat center; background-size: contain; }
.post-navigation ul > li a::before { content: ""; display: block; width: 8px; height: 12px; background: url("../img/common/page_arrow01.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; transform: translateY(-50%); transition: 0.3s; }

.post-navigation ul > li.prev a { padding-left: 20px; }
.post-navigation ul > li.prev a::before { left: 7px; transform: translateY(-50%) scale(-1, 1); }

.post-navigation ul > li.next a { padding-right: 20px; }
.post-navigation ul > li.next a::before { right: 7px; }

.post-navigation ul > li.blog-back { margin: 0 5px; }
.post-navigation ul > li.blog-back a { padding: 0 18px; background: #000000; color: #FFFFFF; }
.post-navigation ul > li.blog-back a::before { display: none; }
.post-navigation ul > li.blog-back a:focus, .post-navigation ul > li.blog-back a:hover { background: transparent; color: #000000; }

.post-navigation ul > li.kara { opacity: 0; pointer-events: none; }

/*ナベセイとは　p02
=========================================== */
#p02box01 h2.sec-title { width: 100%; max-width: 245px; margin: 0 auto 40px; }
#p02box01 .text01 { font-size: 16px; }
#p02box01 .text01 span.icon { position: relative; z-index: 1; }
#p02box01 .text01 span.icon::before { content: ""; display: block; width: 28px; height: 25px; background: url("../img/p02/ico-heart.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; }
#p02box01 .point-list { display: block; margin: 70px 0 60px; }
#p02box01 .point-list .point00 { border-radius: 5px; background: #FFFFFF; padding: 112px 20px 28px; box-sizing: border-box; position: relative; margin-bottom: 50px; }
#p02box01 .point-list .point00:last-child { margin-bottom: 0; }
#p02box01 .point-list .point00 .img { width: 130px; height: 130px; border-radius: 50%; border: 10px solid #FFFFFF; box-sizing: border-box; position: absolute; top: -30px; left: 50%; transform: translateX(-50%); }
#p02box01 .point-list .point00 .img img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#p02box01 .point-list .point00 h3 { margin-bottom: 12px; font-size: 20px; color: #2D2C2C; }
#p02box01 .point-list .point01 .img { background: #FFEBD5; }
#p02box01 .point-list .point01 .img img { width: 51.5px; }
#p02box01 .point-list .point02 .img { background: #E9F5D8; }
#p02box01 .point-list .point02 .img img { width: 83px; }
#p02box01 .point-list .point03 .img { background: #FFF1F4; }
#p02box01 .point-list .point03 .img img { width: 68.5px; }
#p02box01 .titles03 { margin-bottom: 25px; }
#p02box01 .cnt { display: block; }
#p02box01 .cnt .img_box { width: 200px; margin: 0 auto 30px; }

#p02box02 .cnt { display: block; }
#p02box02 .cnt .text_box { margin-bottom: 40px; }
#p02box02 .cnt .text_box .sub01 { font-size: 18px; line-height: 1.4; margin-bottom: 24px; padding-left: 0; }
#p02box02 .cnt .text_box .sub01 span { display: block; font-size: 32px; margin-top: 8px; }
#p02box02 .cnt .img_box { width: 100%; padding-bottom: 20px; background: #F1F2F4; }
#p02box02 .cnt .img_box .box_top { padding: 20px 0; background: #E1E1E1; position: relative; }
#p02box02 .cnt .img_box .box_top::after { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: #e1e1e1 transparent transparent transparent; border-width: 20px 37.5px 0px 37.5px; position: absolute; bottom: -19px; left: 50%; transform: translateX(-50%); }
#p02box02 .cnt .img_box .box_top .img01 { display: block; width: 100%; max-width: 300px; margin: 0 auto; }
#p02box02 .cnt .img_box .box_top .text01 { line-height: 1.45; margin-top: 9px; }
#p02box02 .cnt .img_box .text02 { font-size: 20px; line-height: 29px; padding-top: 86.5px; }
#p02box02 .cnt .img_box .text02 span { display: inline-block; width: 100px; margin: 0 4px; position: relative; z-index: 1; }
#p02box02 .cnt .img_box .text02 span:first-child { margin-left: 0; }
#p02box02 .cnt .img_box .text02 span em { display: inline-block; width: 100%; padding: 2px 0 4px; box-sizing: border-box; background: #DE274C; border-radius: 3px; color: #FFFFFF; }
#p02box02 .cnt .img_box .text02 span img { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: -1; }

#p02box03 .strength-list .strength00 { padding-bottom: 40px; border-bottom: 1px solid #DEDEDE; margin-bottom: 40px; }
#p02box03 .strength-list .strength00 .text_box { margin-bottom: 32px; }
#p02box03 .strength-list .strength00 .text_box .title { margin-bottom: 24px; line-height: 1.45; }
#p02box03 .strength-list .strength00 .text_box .title .num { display: block; font-size: 20px; padding-left: 22px; background: url("../img/common/ico-heart.svg") no-repeat left top 7px; background-size: 16px; margin-bottom: 12px; }
#p02box03 .strength-list .strength00 .text_box .title .text { display: block; font-size: 28px; }
#p02box03 .strength-list .strength00 .btn01 { justify-content: flex-end; margin-top: 20px; }
#p02box03 .strength-list .strength00.flex { display: block; }
#p02box03 .strength-list .strength02 .text_box { display: block; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00 { width: calc(50% - 8px); background: #FFFFFF; border-radius: 3px; margin: 15px 15px 0 0; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00:nth-child(-n+2) { margin-top: 0; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00:nth-child(2n) { margin-right: 0; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00 a .img { width: 100%; aspect-ratio: 160 / 123; border-radius: 3px 3px 0 0; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00 a .info { padding: 10px 15px 15px; box-sizing: border-box; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00 a .info h4 { display: flex; align-items: center; margin-bottom: 8px; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00 a .info h4 .arrow { display: inline-block; width: 16px; height: 16px; border-radius: 100%; background: url("../img/common/btn-arrow01.svg") no-repeat center left calc(50% + 1px), #2D2C2C; background-size: 5px; margin-right: 6px; transition: 0.3s; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00 a .info h4 .text { width: calc(100% - 22px); font-size: 16px; }
#p02box03 .strength-list .strength02 .kakou-list .kakou00 a .info > p { line-height: 1.4; }
#p02box03 .strength-list .strength04.flex { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
#p02box03 .strength-list .strength04.flex .text_box { order: 0; }
#p02box03 .strength-list .strength04.flex .img_box { height: 339.5px; background: url("../img/p02/img09.jpg") repeat-x center; background-size: cover; animation: bgMove01 80s linear infinite; }
@keyframes bgMove01 { 0% { background-position: 0 0; }
  100% { background-position: -2260.5px 0; } }
/*汎用旋盤、NC旋盤、マシニング加工　p03、p04、p05
=========================================== */
#works-slider .cnt { display: block; margin-bottom: 40px; }
#works-slider .cnt .text_box .midashi { font-size: 18px; line-height: 1.5; margin-bottom: 16px; }
#works-slider .cnt .text_box .midashi em { font-size: 24px; }
#works-slider .btn01 { justify-content: flex-end; margin-top: 40px; }

#engineer-slider .copy { font-size: 18px; line-height: 1.5; margin-bottom: 30px; }
#engineer-slider .slider01 .slick-list { overflow: hidden; }
#engineer-slider .slider01 button.slick-prev.slick-arrow { left: calc(50% - 66px); }
#engineer-slider .slider01 button.slick-next.slick-arrow { right: calc(50% - 66px); left: auto; }
#engineer-slider .engineer-art { background: #FFFFFF; border-radius: 5px; }
#engineer-slider .engineer-art .img { width: 100%; aspect-ratio: 335 / 256; border-radius: 5px 5px 0 0; overflow: hidden; position: relative; }
#engineer-slider .engineer-art .img .in-img { width: 100%; height: 100%; }
#engineer-slider .engineer-art .img .name { display: inline-flex; align-items: flex-start; flex-direction: column; position: absolute; bottom: 20px; left: 20px; }
#engineer-slider .engineer-art .img .name span { display: inline-block; padding: 1px 6px 3px; box-sizing: border-box; font-weight: 700; line-height: 1.45; }
#engineer-slider .engineer-art .img .name span.text01 { background: #DE274C; font-size: 18px; color: #FFFFFF; }
#engineer-slider .engineer-art .img .name span.text02 { background: #FFFFFF; font-size: 21px; }
#engineer-slider .engineer-art .info-list { padding: 20px 20px 24px; box-sizing: border-box; }
#engineer-slider .engineer-art .info-list .info { margin-bottom: 20px; }
#engineer-slider .engineer-art .info-list .info:last-child { margin-bottom: 0; }
#engineer-slider .engineer-art .info-list .info .midashi { line-height: 1.5; padding-left: 12px; box-sizing: border-box; position: relative; margin-bottom: 8px; }
#engineer-slider .engineer-art .info-list .info .midashi::before { content: ""; display: block; width: 4px; height: 4px; background: #2D2C2C; border-radius: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#engineer-slider .engineer-art .info-list .info ul { line-height: 1.5; }
#engineer-slider .engineer-art .info-list .info ul li { display: inline-block; }
#engineer-slider .engineer-art .info-list .info ul li:last-child::after { content: none; }
#engineer-slider .engineer-art .info-list .info ul li::after { content: "/"; margin: 0 1px 0 3px; display: inline-block; position: relative; }
#engineer-slider .engineer-art .info-list .info .text { line-height: 1.5; }

.tecbox01 .cnt { display: block; margin-bottom: 60px; }
.tecbox01 .cnt .text_box { margin-bottom: 26px; }
.tecbox01 .cnt .text_box .titles01 { margin-bottom: 28px; }
.tecbox01 .cnt .text_box .titles01 .en { line-height: 1.4; font-size: 28px; font-family: 'Noto Sans JP'; font-weight: 700; margin-top: 12px; }
.tecbox01 .cnt .img_box { width: calc(100% + 35px); max-width: 400px; margin: 0 auto; }
.tecbox01 .box { display: block; margin-bottom: 40px; }
.tecbox01 .box .titles03 { margin-bottom: 26px; text-align: center; }
.tecbox01 .box .titles03::before { left: 50%; transform: translateX(-50%); }
.tecbox01 .info-table { margin-bottom: 60px; }
.tecbox01 .info-table tr:first-child th { border-top: 1px solid #C5314F; }
.tecbox01 .info-table tr:first-child td { border-top: 1px solid #DEDEDE; }
.tecbox01 .info-table tr th, .tecbox01 .info-table tr td { padding: 12px 15px; box-sizing: border-box; font-size: 15px; line-height: 1.6; }
.tecbox01 .info-table tr th { width: 120px; background: #EB3B5E; border-bottom: 1px solid #C5314F; color: #FFFFFF; vertical-align: top; }
.tecbox01 .info-table tr td { background: #FFFFFF; border-bottom: 1px solid #DEDEDE; }
.tecbox01 .knowledge-list { display: block; margin-top: 25px; }
.tecbox01 .knowledge-list .knowledge00 { margin-bottom: 40px; }
.tecbox01 .knowledge-list .knowledge00:last-child { margin-bottom: 0; }
.tecbox01 .knowledge-list .knowledge00 .img { width: 100%; height: 180px; background: #FFFFFF; margin-bottom: 12px; position: relative; }
.tecbox01 .knowledge-list .knowledge00 .img img { width: auto; height: 140px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.tecbox01 .knowledge-list .knowledge00 .num-tit { margin-bottom: 12px; display: flex; flex-wrap: wrap; align-items: center; }
.tecbox01 .knowledge-list .knowledge00 .num-tit span.num {
color: #fff;font-weight: 900;background: url(../img/common/ico-heart.svg) no-repeat center;width: 38px;
height: 35px;line-height: 32px;text-align: center;margin-right: 8px;background-size: contain;font-family: 'pop';font-size: 12px;text-indent: -3px;}
.tecbox01 .knowledge-list .knowledge00 .num-tit span.text { width: calc(100% - 50px); font-size: 20px; line-height: 1.45; }
.tecbox01 .knowledge-list .knowledge00 .text { line-height: 1.7; }

.tecbox02 .btn01 { justify-content: flex-end; margin-top: 40px; }

.tecbox03 .titles01 .en { font-size: 58px; }
.tecbox03 .strength-list .strength00 { display: block; margin-bottom: 60px; }
.tecbox03 .strength-list .strength00:last-child { margin-bottom: 0; }
.tecbox03 .strength-list .strength00 .img_box { margin-bottom: 32px; }
.tecbox03 .strength-list .strength00 .text_box .title { margin-bottom: 24px; line-height: 1.45; }
.tecbox03 .strength-list .strength00 .text_box .title .num { display: block; font-size: 20px; padding-left: 22px; background: url("../img/common/ico-heart.svg") no-repeat left top 7px; background-size: 16px; margin-bottom: 12px; }
.tecbox03 .strength-list .strength00 .text_box .title .text { display: block; font-size: 28px; }

/*その他加工　p06
=========================================== */
#p06box01 .cnt { display: block; }
#p06box01 .cnt01 { margin-bottom: 60px; }
#p06box01 .cnt01 .text_box { margin-bottom: 40px; }
#p06box01 .cnt01 .img_box { width: 100%; }
#p06box01 .cnt02 .text_box { margin-bottom: 30px; }
#p06box01 .cnt02 .text_box .titles01 { margin-bottom: 28px; }
#p06box01 .cnt02 .text_box .titles01 .en { line-height: 1.4; font-size: 28px; font-family: 'Noto Sans JP'; font-weight: 700; margin-top: 12px; }
#p06box01 .cnt02 .img_box .box { width: calc(50% - 11px); margin-right: 22px; }
#p06box01 .cnt02 .img_box .box:last-child { margin-right: 0; }
#p06box01 .cnt02 .img_box .box:last-child .img::after { display: none; }
#p06box01 .cnt02 .img_box .box .img { width: 100%; height: 180px; background: #F1F2F4; margin-bottom: 4px; position: relative; }
#p06box01 .cnt02 .img_box .box .img::after { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #eb3b5e; border-width: 7px 0px 7px 9px; position: absolute; top: 50%; right: -15.5px; transform: translateY(-50%); }
#p06box01 .cnt02 .img_box .box .img img { width: 112px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#p06box01 .cnt02 .img_box .box .midashi { font-size: 16px; line-height: 1.5; }

#p06box02 .cnt { display: block; }
#p06box02 .cnt .text_box { margin-bottom: 40px; }
#p06box02 .cnt .img_box .box_in .img { width: calc((100% / 3) - 12px); padding: 12px 5px; box-sizing: border-box; background: #FFFFFF; position: relative; margin-right: 18px; }
#p06box02 .cnt .img_box .box_in .img:last-child { margin-right: 0; }
#p06box02 .cnt .img_box .box_in .img:last-child::after { display: none; }
#p06box02 .cnt .img_box .box_in .img::after { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #eb3b5e; border-width: 6px 0px 6px 8px; position: absolute; top: 50%; right: -13px; transform: translateY(-50%); }
#p06box02 .cnt .img_box .box_in .img img { width: 100%; }
#p06box02 .cnt .img_box .text01 { line-height: 1.5; margin-top: 12px; }

/*総合加工サービス　p07
=========================================== */
#p07box01 { position: relative; }
#p07box01::after { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: #f1f2f4 transparent transparent transparent; border-width: 30px 60px 0px 60px; position: absolute; bottom: -29px; left: 50%; transform: translateX(-50%); }
#p07box01 .title_box { position: relative; margin-bottom: 40px; }
#p07box01 .title_box h2 { font-size: 22px; position: relative; z-index: 1; }
#p07box01 .title_box .img { width: 140px; position: absolute; top: 50%; right: 0; transform: translateY(-50%); }
#p07box01 .list_box { display: block; }
#p07box01 .list_box .list:last-child li:last-child { margin-bottom: 0; }
#p07box01 .list_box .list li { font-weight: 700; line-height: 1.5; padding-left: 12px; box-sizing: border-box; position: relative; margin-bottom: 12px; }
#p07box01 .list_box .list li::before { content: ""; display: block; width: 4px; height: 4px; background: #2D2C2C; border-radius: 100%; position: absolute; top: 9px; left: 0; }

#p07box02 .cnt { display: block; margin-bottom: 32px; }
#p07box02 .cnt .left { margin-bottom: 40px; }
#p07box02 .cnt .left h2 { font-size: 27px; margin-bottom: 32px; }
#p07box02 .cnt .right .hukidashi { text-align: center; padding: 5px 10px 9px; background: #FFFFFF; border: 1px solid #2D2C2C; box-sizing: border-box; border-radius: 22px; font-size: 15px; line-height: 30px; position: relative; }
#p07box02 .cnt .right .hukidashi::before, #p07box02 .cnt .right .hukidashi::after { content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 10px 11px 0px 11px; position: absolute; left: 50%; transform: translateX(-50%); }
#p07box02 .cnt .right .hukidashi::before { border-color: #2D2C2C transparent transparent transparent; bottom: -10px; }
#p07box02 .cnt .right .hukidashi::after { border-color: #ffffff transparent transparent transparent; bottom: -8.5px; }
#p07box02 .cnt .right .hukidashi em { font-size: 20px; }
#p07box02 .cnt .right .box_in { align-items: flex-start; margin-top: 12px; }
#p07box02 .cnt .right .box_in .box { width: 105px; position: relative; z-index: 1; }
#p07box02 .cnt .right .box_in .box .midashi { width: 100%; padding: 1px 10px 3px; background: #FFFFFF; border: 1px solid #2D2C2C; border-radius: 12px; box-sizing: border-box; line-height: 1.5; position: absolute; bottom: 0; left: 0; }
#p07box02 .cnt .right .box_in .box01 .midashi { border: 1px solid #2D2C2C; }
#p07box02 .cnt .right .box_in .box02 .midashi { border: 1px solid #DE274C; color: #DE274C; }
#p07box02 .cnt .right .box_in .arrow_box { width: calc(100% - 210px); margin-top: 8px; }
#p07box02 .cnt .right .box_in .arrow_box .arrow { width: 100%; }
#p07box02 .cnt .right .box_in .arrow_box .arrow .line { width: calc(100% - 2.5px); height: 16px; background: #DE274C; position: relative; }
#p07box02 .cnt .right .box_in .arrow_box .arrow .line::after { content: ""; display: block; width: 0; height: 0; border-style: solid; position: absolute; top: 50%; transform: translateY(-50%); }
#p07box02 .cnt .right .box_in .arrow_box .arrow span { display: block; font-size: 16px; line-height: 1.5; text-align: center; padding: 0 10px; box-sizing: border-box; }
#p07box02 .cnt .right .box_in .arrow_box .arrow01 { margin-bottom: 12px; }
#p07box02 .cnt .right .box_in .arrow_box .arrow01 .line { margin-left: -10px; }
#p07box02 .cnt .right .box_in .arrow_box .arrow01 .line::after { border-color: transparent transparent transparent #de274c; border-width: 10.5px 0px 10.5px 8px; right: -7px; }
#p07box02 .cnt .right .box_in .arrow_box .arrow01 span { margin-bottom: 3px; }
#p07box02 .cnt .right .box_in .arrow_box .arrow02 .line { margin-right: -10px; margin-left: auto; }
#p07box02 .cnt .right .box_in .arrow_box .arrow02 .line::after { border-color: transparent #de274c transparent transparent; border-width: 10.5px 8px 10.5px 0px; left: -7px; }
#p07box02 .cnt .right .box_in .arrow_box .arrow02 span { margin-top: 3px; }
#p07box02 .onestop_box { max-width: 450px; margin: 0 auto; overflow: hidden; }
#p07box02 .onestop_box h3 { font-size: 20px; margin-bottom: 8px; }
#p07box02 .onestop_box .arrow { width: 100%; margin-bottom: 5px; position: relative; }
#p07box02 .onestop_box .arrow::before { content: ""; display: block; width: 4.3vw; height: 4.3vw; background: #FFFFFF; border: 3.5px solid #DE274C; box-sizing: border-box; border-radius: 100%; position: absolute; top: -0.8vw; left: -2.14vw; z-index: 1; animation: suii 10s linear 0.2s infinite forwards; }
#p07box02 .onestop_box .arrow.arrow01 { aspect-ratio: 670 / 21; background: url(../img/top/sp-line01.svg) no-repeat center right; background-size: cover; }
#p07box02 .onestop_box .arrow.arrow02 { aspect-ratio: 335 / 16; background: url("../img/top/sp-line02.svg") no-repeat center right; background-size: cover; }
#p07box02 .onestop_box .arrow.arrow02::before { top: 0; animation-delay: -5s; }
#p07box02 .onestop_box .flow_box { display: block; }
#p07box02 .onestop_box .flow_box .box_in { margin-bottom: 15px; }
#p07box02 .onestop_box .flow_box .box_in:last-child { margin-bottom: 0; }
#p07box02 .onestop_box .flow_box .box_in .flow00 { width: calc(25% - 4px); padding: 10px 5px; background: #FFFFFF; border: 1px solid #DE274C; box-sizing: border-box; border-radius: 3px; margin-right: 5px; }
#p07box02 .onestop_box .flow_box .box_in .flow00:last-child { margin-right: 0; }
#p07box02 .onestop_box .flow_box .box_in .flow00 .num { font-size: 10px; line-height: 1.5; }
#p07box02 .onestop_box .flow_box .box_in .flow00 .text { font-size: 11px; line-height: 1.5; }

#p07box03.tecbox03 .strength-list .strength00 .text_box .title .text { font-size: 24px; }

#p07box04 .cnt { display: block; margin-bottom: 60px; }
#p07box04 .cnt .text_box { margin-bottom: 40px; }
#p07box04 .titles03 { margin-bottom: 25px; }
#p07box04 .torikumi-list { display: block; }
#p07box04 .torikumi-list .torikumi { margin-bottom: 40px; }
#p07box04 .torikumi-list .torikumi:last-child { margin-right: 0; }
#p07box04 .torikumi-list .torikumi .img { margin-bottom: 16px; }
#p07box04 .torikumi-list .torikumi .num-tit { margin-bottom: 12px; display: flex; flex-wrap: wrap; align-items: flex-start; }
#p07box04 .torikumi-list .torikumi .num-tit span.num { color: #fff; font-weight: 600; background: url("../img/common/ico-heart.svg") no-repeat center; width: 36px; height: 30px; line-height: 30px; text-align: center; margin-right: 8px; background-size: contain; font-family: 'pop'; }
#p07box04 .torikumi-list .torikumi .num-tit span.text { width: calc(100% - 44px); font-size: 20px; line-height: 1.45; }
#p07box04 .torikumi-list .torikumi .text { line-height: 1.7; }
#p07box04 .btn { margin-top: 60px; }
#p07box04 .btn a { display: block; background: url("../img/p07/btn-bg.jpg") no-repeat center; background-size: cover; border: 2px solid #2D2C2C; border-radius: 5px; overflow: hidden; position: relative; }
#p07box04 .btn a .btn-text { display: block; width: 200px; height: 100%; padding: 26px 25px 28px 15px; box-sizing: border-box; background: #F5D84A; font-size: 20px; line-height: 1.4; clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%); }
#p07box04 .btn a span.arrow { display: block; width: 40px; height: 40px; border-radius: 100%; background: url("../img/p03/btn-arrow03.svg") no-repeat center #2D2C2C; background-size: 6px; transition: 0.3s; position: absolute; bottom: 10px; right: 10px; }

/*設備紹介　p08
=========================================== */
#p08box01 .cnt { display: block; margin-bottom: 40px; }
#p08box01 .cnt .title { font-size: 28px; line-height: 1.4; margin-bottom: 32px; }
#p08box01 .btn-list { display: block; }
#p08box01 .btn-list .btn { width: 100%; height: 50px; margin-bottom: 8px; }
#p08box01 .btn-list .btn:last-child { margin-bottom: 0; }
#p08box01 .btn-list .btn a { display: flex; width: 100%; height: 100%; padding: 10px 40px; align-items: center; justify-content: center; background: url("../img/p08/btn_arrow.svg") no-repeat center right 17px, #FFFFFF; background-size: 16px; border: 1px solid #2D2C2C; box-sizing: border-box; border-radius: 30px; }
#p08box01 .btn-list .btn a .btn-text { font-size: 15px; font-weight: 700; line-height: 1.5; }

#p08box02 .facilities_box { margin-bottom: 80px; }
#p08box02 .facilities_box:last-child { margin-bottom: 0; }
#p08box02 .facilities_box .titles03 { margin-bottom: 25px; }
#p08box02 .facilities_box .facilities-list { display: block; margin-top: 40px; }
#p08box02 .facilities_box .facilities-list .facilities00 { margin-bottom: 60px; }
#p08box02 .facilities_box .facilities-list .facilities00:last-child { margin-bottom: 0; }

/*実績紹介　p09
=========================================== */
#p09box01 .works-all-list article.works-art { margin-bottom: 60px; }
#p09box01 .works-all-list article.works-art:last-child { margin-bottom: 0; }

#worksBox01 { padding-top: 42px; }
#worksBox01 .works-cont { padding: 24px 20px; box-sizing: border-box; background: #FFFFFF; }
#worksBox01 .works-cont .w-date { line-height: 1.5; margin-bottom: 12px; }
#worksBox01 .works-cont .title { font-size: 21px; margin-bottom: 20px; }
#worksBox01 .works-cont .gallery_img { display: block; margin-top: 40px; }
#worksBox01 .works-cont .gallery_img .gallery_main { margin-bottom: 20px !important; }
#worksBox01 .works-cont .gallery_img .gallery_main .gallery_main01 .gallery_main_box { width: 100%; }
#worksBox01 .works-cont .gallery_img .gallery_main .gallery_main01 .gallery_main_box a { display: block; width: 100%; height: 100%; position: relative; }
#worksBox01 .works-cont .gallery_img .gallery_main .gallery_main01 .gallery_main_box a::before { content: ""; width: 30px; height: 30px; background-color: rgba(0, 0, 0, 0.64); background-image: url("../img/p09/ico-zoom.svg"); background-position: center; background-size: 15px; background-repeat: no-repeat; position: absolute; bottom: 0; right: 0; z-index: 1; transition: 0.3s; }
#worksBox01 .works-cont .gallery_img .gallery_main .gallery_main01 .img-caption { margin-top: 8px; line-height: 1.5; text-align: center; }
#worksBox01 .works-cont .gallery_img .gallery_thum { margin-bottom: 0 !important; }
#worksBox01 .works-cont .gallery_img .gallery_thum .gallery_thum01 { cursor: pointer; position: relative; overflow: hidden; width: 90px; height: 70px; margin-right: 4px; }
#worksBox01 .works-cont .gallery_img .gallery_thum .gallery_thum01:last-child { margin-right: 0; }
#worksBox01 .works-cont .gallery_img .gallery_thum .gallery_thum01.slick-current::before { content: ""; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); position: absolute; left: 0; top: 0; z-index: 2; box-sizing: border-box; }
#worksBox01 .works-cont .info-table { margin-top: 40px; }
#worksBox01 .works-cont .info-table tr { border-bottom: 1px solid #DEDEDE; }
#worksBox01 .works-cont .info-table tr:first-child { border-top: 1px solid #DEDEDE; }
#worksBox01 .works-cont .info-table tr th { width: 80px; background: #F1F2F4; padding: 12px 15px; box-sizing: border-box; font-size: 16px; font-weight: 500; line-height: 1.5; }
#worksBox01 .works-cont .info-table tr td { padding: 12px 15px; box-sizing: border-box; font-size: 16px; line-height: 1.5; }
#worksBox01 .works-cont .works_box { margin-top: 40px; }
#worksBox01 .works-cont .works_box .img_box { display: block; }
#worksBox01 .works-cont .works_box .img_box .img { width: 100%; aspect-ratio: 295 / 213; position: relative; }
#worksBox01 .works-cont .works_box .img_box .img .icon { font-size: 16px; line-height: 1.44; color: #FFFFFF; padding: 2px 6px 3px; box-sizing: border-box; border-bottom-right-radius: 5px; position: absolute; top: 0; left: 0; z-index: 1; }
#worksBox01 .works-cont .works_box .img_box .img .in-img { width: 100%; height: 100%; }
#worksBox01 .works-cont .works_box .img_box .img.before .icon { background: #2D2C2C; }
#worksBox01 .works-cont .works_box .img_box .img.after { margin-top: 26px; position: relative; }
#worksBox01 .works-cont .works_box .img_box .img.after::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: #de274c transparent transparent transparent; border-width: 10px 10px 0px 10px; position: absolute; top: -18px; left: 50%; transform: translateX(-50%); }
#worksBox01 .works-cont .works_box .img_box .img.after .icon { background: #EB3B5E; }
#worksBox01 .works-cont .works_box .text { margin-top: 20px; }

/*会社案内　p10
=========================================== */
#p10box01 .cnt { display: block; margin-bottom: 40px; }
#p10box01 .cnt .text_box { margin-bottom: 40px; }
#p10box01 .quality-list { margin-bottom: 40px; }
#p10box01 .quality-list li { display: flex; align-items: flex-start; flex-wrap: wrap; padding: 20px 0; border-bottom: 1px solid #DEDEDE; }
#p10box01 .quality-list li:first-child { padding-top: 0; }
#p10box01 .quality-list li span.num { display: inline-block; color: #fff;font-weight: 900;background: url(../img/common/ico-heart.svg) no-repeat center;width: 38px;
height: 35px;line-height: 32px;text-align: center;margin-right: 4px;background-size: contain;font-family: 'pop';font-size: 12px;text-indent: -3px; }
#p10box01 .quality-list li span.text { display: inline-block; width: calc(100% - 50px); font-size: 16px; line-height: 1.5; font-weight: 700; margin-top: 2px; }
#p10box01 .iso_box { padding: 20px; box-sizing: border-box; background: #F1F2F4; align-items: flex-start; justify-content: space-between; }
#p10box01 .iso_box .img_box { width: 80px; }
#p10box01 .iso_box .text_box { width: calc(100% - 95px); }
#p10box01 .iso_box .text_box h3 { font-size: 20px; margin-bottom: 8px; }
#p10box01 .iso_box .text_box p { line-height: 1.4; }

#p10box02 .table_box { display: block; }
#p10box02 .table_box .company-table:first-child tr:first-child { border-top: 1px solid #DEDEDE; }
#p10box02 .table_box .company-table tr { border-bottom: 1px solid #DEDEDE; }
#p10box02 .table_box .company-table tr th, #p10box02 .table_box .company-table tr td { padding: 20px 0; line-height: 1.5; }
#p10box02 .table_box .company-table tr th { width: 80px; }
#p10box02 .table_box .company-table tr td .list { margin-bottom: 12px; }
#p10box02 .table_box .company-table tr td .list:last-child { margin-bottom: 0; }
#p10box02 .table_box .company-table tr td a.link { display: flex; align-items: flex-start; line-height: 1.5; margin-bottom: 8px; }
#p10box02 .table_box .company-table tr td a.link:last-child { margin-bottom: 0; }
#p10box02 .table_box .company-table tr td a.link span.arrow { display: inline-block; width: 16px; height: 16px; border-radius: 100%; background: url("../img/p03/btn-arrow03.svg") no-repeat center #2D2C2C; background-size: 7px; margin: 2px 4px 0 0; transition: 0.3s; }
#p10box02 .table_box .company-table tr td a.link span.text { width: calc(100% - 20px); text-decoration: underline; }

#p10box03 .img_box { width: 100%; aspect-ratio: 134 / 65; position: relative; margin-bottom: 20px; }
#p10box03 .img_box img { width: 100vw; max-width: 100vw; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
#p10box03 .history_box .history00 { padding: 20px 0; border-bottom: 1px solid #DEDEDE; align-items: flex-start; position: relative; }
#p10box03 .history_box .history00:first-child::before { height: calc(100% - 35px); }
#p10box03 .history_box .history00:last-child { padding-bottom: 0; border-bottom: 0; }
#p10box03 .history_box .history00:last-child::before { height: 35px; top: 0; bottom: auto; }
#p10box03 .history_box .history00::before { content: ""; display: block; width: 1px; height: 100%; background-image: repeating-linear-gradient(180deg, #eb3b5e, #eb3b5e 1px, transparent 1px, transparent 4px); background-position: left top; background-repeat: repeat-y; background-size: 1px 100%; position: absolute; bottom: 0; left: 71px; }
#p10box03 .history_box .history00::after { content: ""; display: block; width: 8px; height: 8px; background: #EB3B5E; border-radius: 100%; position: absolute; top: 32px; left: 67px; z-index: 1; }
#p10box03 .history_box .history00 .year { width: 90px; font-size: 24px; line-height: 1.4; }
#p10box03 .history_box .history00 .cont { width: calc(100% - 90px); margin-top: 2px; }
#p10box03 .btn { width: 100%; max-width: 400px; margin: 60px auto 0; }
#p10box03 .btn a { display: block; background: #FFFFFF; border: 1px solid #2D2C2C; border-radius: 5px; overflow: hidden; position: relative; }
#p10box03 .btn a .logo-img { height: 75px; padding: 12px 15px; box-sizing: border-box; background: #FFF3F4; }
#p10box03 .btn a .logo-img img { width: auto; height: 50px; }
#p10box03 .btn a .btn-text { padding: 15px 15px 18px; box-sizing: border-box; line-height: 1.5; }
#p10box03 .btn a .btn-text img { display: inline-block; width: 92px; margin: 0 4px 3px 0; }
#p10box03 .btn a span.arrow { display: block; width: 40px; height: 40px; border-radius: 100%; background: url("../img/p03/btn-arrow03.svg") no-repeat center #2D2C2C; background-size: 6px; transition: 0.3s; position: absolute; top: 18px; right: 15px; }

#p10box04 .cnt { display: block; margin-bottom: 40px; }
#p10box04 .sdgs-list { margin-bottom: 20px; }
#p10box04 .sdgs-list .img { width: calc((100% / 3) - 4px); margin: 4px 5px 0 0; }
#p10box04 .sdgs-list .img:nth-child(-n+3) { margin-top: 0; }
#p10box04 .sdgs-list .img:nth-child(3n) { margin-right: 0; }
#p10box04 .img_box { width: 100%; }

/*ブログ　p11
=========================================== */
#p11box01 .blog-all-list .blog-art { width: 100%; margin-bottom: 60px; }
#p11box01 .blog-all-list .blog-art:last-child { margin-bottom: 0; }

h2.midashi01 { font-size: 16px; padding: 0 0 12px 22px; box-sizing: border-box; border-bottom: 1px solid #DEDEDE; margin-bottom: 20px; position: relative; }
h2.midashi01::before { content: ""; display: block; width: 19px; height: 17px; background: url("../img/common/ico-heart.svg") no-repeat center; background-size: contain; position: absolute; top: 5px; left: 0; }

#toc_container { background: transparent !important; border: none !important; padding: 0 !important; margin-bottom: 40px !important; width: 100% !important; display: block !important; }
#toc_container p.toc_title { text-align: left !important; font-size: 16px; line-height: 24px; padding: 0 0 12px 22px !important; box-sizing: border-box; border-bottom: 1px solid #DEDEDE; margin-bottom: 20px !important; position: relative; }
#toc_container p.toc_title::before { content: ""; display: block; width: 16px; height: 15px; background: url("../img/common/ico-heart.svg") no-repeat center; background-size: contain; position: absolute; top: 5px; left: 0; }
#toc_container ul.toc_list { margin-top: 0 !important; }
#toc_container ul.toc_list > li { margin-bottom: 8px; line-height: 22px; }
#toc_container ul.toc_list > li:last-child { margin-bottom: 0; }
#toc_container ul.toc_list > li > a { font-size: 15px; font-weight: 700; color: #2D2C2C; line-height: 22px; }
#toc_container ul.toc_list > li > a > .toc_number { display: inline-block; font-family: 'pop'; font-weight: 600; font-size: 16px; margin-right: 4px; }

#newsBox01 { padding-top: 42px; }
#newsBox01 .blog-cont { padding: 24px 20px 22px; box-sizing: border-box; background: #FFFFFF; }
#newsBox01 .blog-cont .title { font-size: 21px; }
#newsBox01 .blog-cont .blog-text { margin-top: 24px; }
#newsBox01 .blog-cont .blog-text .keyword_box { margin-top: 40px; }
#newsBox01 .blog-cont .blog-text .keyword_box .keyword-list { margin-top: -4px; }
#newsBox01 .blog-cont .blog-text .keyword_box .keyword-list li { display: inline-block; font-size: 14px; line-height: 1.4; padding: 1px 6px 2px; box-sizing: border-box; border: 1px solid #D2D2D2; border-radius: 12px; margin: 4px 4px 0 0; }
#newsBox01 .blog-cont .blog-text .keyword_box .keyword-list li:last-child { margin-right: 0; }
#newsBox01 .blog-cont .blog-text .keyword_box .keyword-list li span { margin-right: 1px; }
#newsBox01 .blog-cont .blog-text .writer_box { margin-top: 60px; padding: 16px 20px 28px; box-sizing: border-box; background: #F1F2F4; }
#newsBox01 .blog-cont .blog-text .writer_box .box_in { align-items: flex-start; }
#newsBox01 .blog-cont .blog-text .writer_box .box_in .img { width: 100px; height: 65px; margin-right: 15px; position: relative; }
#newsBox01 .blog-cont .blog-text .writer_box .box_in .img .img_in { width: 100%; height: 100px; border: 8px solid #F1F2F4; border-radius: 100%; box-sizing: border-box; position: absolute; bottom: 0; left: 0; }
#newsBox01 .blog-cont .blog-text .writer_box .box_in .name_box { width: calc(100% - 115px); }
#newsBox01 .blog-cont .blog-text .writer_box .box_in .name_box .cate { display: inline-block; background: #DE274C; border-radius: 11px; padding: 1px 8px 2px; font-size: 13px; line-height: 16px; color: #fff; margin-bottom: 4px; }
#newsBox01 .blog-cont .blog-text .writer_box .box_in .name_box .name { font-size: 18px; line-height: 1.44; }
#newsBox01 .blog-cont .blog-text .writer_box .box_in .name_box.full { width: 100%; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list { margin-top: 8px; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info { margin-bottom: 20px; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info:last-child { margin-bottom: 0; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info .midashi { line-height: 1.5; padding-left: 12px; box-sizing: border-box; position: relative; margin-bottom: 8px; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info .midashi::before { content: ""; display: block; width: 4px; height: 4px; background: #2D2C2C; border-radius: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info ul { line-height: 1.5; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info ul li { display: inline-block; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info ul li:last-child::after { content: none; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info ul li::after { content: "/"; margin: 0 1px 0 3px; display: inline-block; position: relative; }
#newsBox01 .blog-cont .blog-text .writer_box .info-list .info .text { line-height: 1.5; }

/*採用情報　p12
=========================================== */
#p12box01 .cnt { display: block; }
#p12box01 .cnt .text_box { margin-top: 40px; }
#p12box01 .cnt .text_box h2 { font-size: 24px; line-height: 38px; margin-bottom: 32px; }
#p12box01 .cnt .text_box h2 em { font-size: 28px; }
#p12box01 .cnt .img_box { position: relative; }
#p12box01 .cnt .img_box .hukidashi { display: inline-block; min-width: 220px; padding: 4px 25px 5px; box-sizing: border-box; background: #EB3B5E; border-radius: 16px; line-height: 1.4; color: #FFFFFF; position: absolute; top: -10px; left: 50%; transform: translateX(-50%); z-index: 1; }
#p12box01 .cnt .img_box .hukidashi::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: #eb3b5e transparent transparent transparent; border-width: 10px 9.5px 0px 9.5px; position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%); }

#bg-img { width: 100%; height: 280px; animation: bgMove02 90s linear infinite; background: url("../img/p12/slide-img.jpg") repeat-x; background-size: cover; }

@keyframes bgMove02 { 0% { background-position: 0; }
  100% { background-position: -1916px; } }
#p12box02 .interview-list .interview00 { padding: 24px 20px; box-sizing: border-box; background: #FFFFFF; margin-bottom: 20px; }
#p12box02 .interview-list .interview00:last-child { margin-bottom: 0; }
#p12box02 .interview-list .interview00 .cnt { display: flex; align-items: center; flex-wrap: wrap; padding-bottom: 24px; border-bottom: 1px solid #DEDEDE; margin-bottom: 20px; }
#p12box02 .interview-list .interview00 .cnt .img { width: 125px; height: 125px; margin-right: 20px; }
#p12box02 .interview-list .interview00 .cnt .info { width: calc(100% - 145px); }
#p12box02 .interview-list .interview00 .cnt .info .cate { display: inline-block; padding: 0 8px 1px; box-sizing: border-box; background: #DE274C; border-radius: 11px; font-size: 13px; line-height: 18px; color: #FFFFFF; margin-bottom: 4px; }
#p12box02 .interview-list .interview00 .cnt .info .info_in { display: block; line-height: 1.5; }
#p12box02 .interview-list .interview00 .cnt .info .info_in h3 { font-size: 20px; }
#p12box02 .interview-list .interview00 .cnt .info .info_in p span:last-child::after { content: none; }
#p12box02 .interview-list .interview00 .cnt .info .info_in p span::after { content: "/"; margin: 0 4px; display: inline-block; position: relative; }
#p12box02 .interview-list .interview00 .box-list .box { margin-bottom: 24px; }
#p12box02 .interview-list .interview00 .box-list .box:last-child { margin-bottom: 0; }
#p12box02 .interview-list .interview00 .box-list .box p.midashi { font-size: 15px; line-height: 22px; margin-bottom: 8px; }
#p12box02 .interview-list .interview00 .box-list .box p.midashi span { font-size: 16px; margin-right: 4px; }
#p12box02 .interview-list .interview00.full .cnt .info { width: 100%; }

#p12box03 .recruitment_list .recruitment_box { margin-bottom: 40px; background: #FFFFFF; border-radius: 5px; border: 1px solid #EB3B5E; box-sizing: border-box; overflow: hidden; }
#p12box03 .recruitment_list .recruitment_box:last-child { margin-bottom: 0; }
#p12box03 .recruitment_list .recruitment_box .t_text { background: url("../img/p12/icon_open.svg") no-repeat top 11px right 20px; background-size: 24px; padding: 11px 60px 12px 20px; box-sizing: border-box; cursor: pointer; }
#p12box03 .recruitment_list .recruitment_box .t_text h3 { font-size: 16px; color: #EB3B5E; }
#p12box03 .recruitment_list .recruitment_box .t_text.on { background: url("../img/p12/icon_close.svg") no-repeat top 11px right 20px, #EB3B5E; background-size: 24px; }
#p12box03 .recruitment_list .recruitment_box .t_text.on h3 { color: #FFFFFF; }
#p12box03 .recruitment_list .recruitment_box .c_text { display: none; padding: 24px 20px; box-sizing: border-box; }
#p12box03 .recruitment_list .recruitment_box .c_text .cate-list { margin-left: -5px; }
#p12box03 .recruitment_list .recruitment_box .c_text .cate-list li { display: inline-block; padding: 0 6px 1px; box-sizing: border-box; border: 1px solid #EB3B5E; border-radius: 12px; font-size: 13px; line-height: 18px; color: #EB3B5E; margin: 0 0 4px 5px; }
#p12box03 .recruitment_list .recruitment_box .c_text .title { font-size: 20px; line-height: 1.5; padding-bottom: 24px; border-bottom: 1px solid #DEDEDE; margin-bottom: 24px; }
#p12box03 .recruitment_list .recruitment_box .c_text h4 { font-size: 16px; padding-left: 20px; box-sizing: border-box; position: relative; margin-bottom: 12px; }
#p12box03 .recruitment_list .recruitment_box .c_text h4::before { content: ""; display: block; width: 16px; height: 15px; background: url("../img/common/ico-heart.svg") no-repeat center; background-size: contain; position: absolute; top: 5px; left: 0; }
#p12box03 .recruitment_list .recruitment_box .c_text .cnt { display: block; margin-bottom: 32px; }
#p12box03 .recruitment_list .recruitment_box .c_text .cnt .text_box { margin-bottom: 20px; }
#p12box03 .recruitment_list .recruitment_box .c_text .cnt .img { width: 100%; aspect-ratio: 59 / 46; }
#p12box03 .recruitment_list .recruitment_box .c_text .info-table tr th, #p12box03 .recruitment_list .recruitment_box .c_text .info-table tr td { display: block; box-sizing: border-box; line-height: 1.5; }
#p12box03 .recruitment_list .recruitment_box .c_text .info-table tr th { padding: 20px 10px 19px; background: #F1F2F4; }
#p12box03 .recruitment_list .recruitment_box .c_text .info-table tr td { padding: 20px 0; vertical-align: middle; }

#p12box04 .cnt { display: block; margin-bottom: 40px; }
#p12box04 .flow-list .flow00 { width: calc(50% - 13px); padding: 26px 5px 24px; box-sizing: border-box; background: #FFFFFF; line-height: 1.5; margin: 20px 25px 0 0; position: relative; }
#p12box04 .flow-list .flow00:nth-child(-n+2) { margin-top: 0; }
#p12box04 .flow-list .flow00:nth-child(2n) { margin-right: 0; }
#p12box04 .flow-list .flow00:nth-child(2n)::before { display: none; }
#p12box04 .flow-list .flow00:nth-child(2n) img { margin-bottom: 13px; }
#p12box04 .flow-list .flow00::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: transparent transparent transparent #de274c; border-width: 6px 0px 6px 8px; position: absolute; top: 50%; right: -17px; transform: translateY(-50%); }
#p12box04 .flow-list .flow00 .num { display: inline-block; width: 30px; height: 30px; background: #EB3B5E; padding-top: 4px; box-sizing: border-box; font-size: 15px; line-height: 22px; color: #FFFFFF; position: absolute; top: 0; left: 0; }
#p12box04 .flow-list .flow00 img { width: auto; height: 40px; margin-bottom: 4px; }
#p12box04 .flow-list .flow00 > p { font-size: 12px; margin-top: -3px; }
#p12box04 .flow-list .flow00 .midashi { font-size: 16px; margin-top: 0; }

/*お問い合わせ　p13
=========================================== */
#p13box01 .title { font-size: 28px; margin-bottom: 40px; }
#p13box01 .list { display: block; }
#p13box01 .list li { margin-bottom: 12px; line-height: 1.5; font-weight: 700; padding-left: 12px; box-sizing: border-box; position: relative; }
#p13box01 .list li:last-child { margin-bottom: 0; }
#p13box01 .list li::before { content: ""; display: block; width: 4px; height: 4px; background: #2D2C2C; border-radius: 100%; position: absolute; top: 8px; left: 0; }
#p13box01 .cont-list { display: block; margin-top: 60px; }
#p13box01 .cont-list .cont-box { box-sizing: border-box; background: #fff; text-align: center; padding: 40px 20px 60px; margin-bottom: 20px; }
#p13box01 .cont-list .cont-box:last-child { margin-bottom: 0; }
#p13box01 .cont-list .cont-box > h3 { font-size: 24px; line-height: 1.45; font-weight: 700; padding-top: 60px; position: relative; }
#p13box01 .cont-list .cont-box > h3::before { content: ""; width: 44px; height: 44px; border-radius: 100%; box-sizing: border-box; background-image: url("../img/p13/ico-tel.svg"); background-position: center; background-color: #EB3B5E; background-repeat: no-repeat; background-size: 20px; position: absolute; left: 0; right: 0; top: 0; margin: 0 auto; }
#p13box01 .cont-list .cont-box .tel-num > a, #p13box01 .cont-list .cont-box .tel-num > p { font-size: 40px; }
#p13box01 .cont-list .cont-box .tel-bh { margin-top: 10px; }
#p13box01 .cont-list .cont-box .tel-bh br { display: none; }
#p13box01 .cont-list .cont-box.box02 > h3::before { background-image: url("../img/p13/ico-fax.svg"); }
#p13box01 .cont-list .cont-box.box03 { padding-bottom: 40px; }
#p13box01 .cont-list .cont-box.box03 > h3 { margin-bottom: 24px; }
#p13box01 .cont-list .cont-box.box03 > h3::before { background-image: url("../img/p13/ico-mail.svg"); }
#p13box01 .cont-list .cont-box.box03 .box-text li { text-align: left; line-height: 1.5; padding-left: 1em; text-indent: -1em; margin-bottom: 8px; }
#p13box01 .cont-list .cont-box.box03 .box-text li:last-child { margin-bottom: 0; }
#p13box01 .cont-list .cont-box.box03 .form_box { text-align: left; margin-top: 40px; }

ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 40px; }
ul.contact-state > li { display: table; width: 32%; height: 40px; position: relative; }
ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; background: #D4D4D4; font-weight: 700; color: #737373; font-size: 14px; line-height: 1.5; }
ul.contact-state > li.state01 { clip-path: polygon(0 0, calc(100% - 5px) 0%, 100% 50%, calc(100% - 5px) 100%, 0 100%, 0% 50%); }
ul.contact-state > li.state01 > span { background: #EB3B5E; color: #FFFFFF; }
ul.contact-state li.state02 { clip-path: polygon(0 0, calc(100% - 5px) 0%, 100% 50%, calc(100% - 5px) 100%, 0 100%, 0% 50%); }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }
ul.contact-state.contact-state02 > li.state02 > span { background: #EB3B5E; color: #FFFFFF; }

.contactTBL { /*お問い合わせ項目*/ /*添付ファイル*/ /*doui-check*/ /*送信ボタン*/ }
.contactTBL ::placeholder { color: #9A9A9A; }
.contactTBL th, .contactTBL td { display: block; font-size: 14px; line-height: 24px; }
.contactTBL th { margin-bottom: 10px; }
.contactTBL th .hissu, .contactTBL th .ninni { display: inline-block; font-size: 13px; line-height: 19px; font-weight: 700; color: #FFFFFF; padding: 2px 4px 3px; border: 1px solid #EB3B5E; box-sizing: border-box; margin-right: 8px; }
.contactTBL th .hissu { background: #EB3B5E; }
.contactTBL th .ninni { color: #EB3B5E; }
.contactTBL td { margin-bottom: 40px; }
.contactTBL input.wpcf7-text, .contactTBL textarea.wpcf7-form-control.wpcf7-textarea, .contactTBL select.wpcf7-form-control.wpcf7-select, .contactTBL input.wpcf7-date { width: 100%; height: 40px; padding: 8px 10px; box-sizing: border-box; background: #FFFFFF; border: 1px solid #D4D4D4; border-radius: 0; font-family: 'NotoSansJP'; font-size: 16px; font-weight: 500; line-height: 1.5; color: #2D2C2C; cursor: pointer; }
.contactTBL input.wpcf7-text.your-name, .contactTBL input.wpcf7-text.tel01 { width: 170px; }
.contactTBL textarea.wpcf7-form-control.wpcf7-textarea { height: 160px; }
.contactTBL select.wpcf7-form-control.wpcf7-select { padding: 8px 30px 8px 10px; background: url("../img/p13/select_arrow.svg") no-repeat center right 15px, #FFFFFF; background-size: 10px; -webkit-appearance: none; appearance: none; }
.contactTBL select.wpcf7-form-control.wpcf7-select option { color: #2D2C2C; }
.contactTBL .koumoku th { margin-bottom: 20px; }
.contactTBL .koumoku .wpcf7-list-item { display: block; margin: 20px 0 0 0; }
.contactTBL .koumoku .wpcf7-list-item label { display: flex; align-items: center; cursor: pointer; }
.contactTBL .koumoku .wpcf7-list-item label input[type="radio"] { width: 20px; height: 20px; background: #FFFFFF; border: 1px solid #D4D4D4; accent-color: #EB3B5E; margin-right: 10px; border-radius: 100%; cursor: pointer; }
.contactTBL .koumoku .wpcf7-list-item label span.wpcf7-list-item-label { font-weight: 400; }
.contactTBL .koumoku .wpcf7-list-item.first { margin-top: 0; }
.contactTBL .text-list { margin-top: 12px; }
.contactTBL .text-list li { padding-left: 1em; text-indent: -1em; margin-bottom: 8px; }
.contactTBL .text-list li:last-child { margin-bottom: 0; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler { border: none; border-radius: 0; margin-bottom: 0; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container { padding: 0; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner { width: auto; text-align: left; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner h3, .contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner span { display: none; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap::after { display: block; content: "選択されていません"; font-size: 14px; color: #2D2C2C; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn { display: inline-block; height: 40px; padding: 10px 15px 10px; box-sizing: border-box; background: #000000; border: 0; border-radius: 0; font-size: 14px; font-weight: 400; line-height: 20px; color: #FFFFFF; transition: 0.3s; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .dnd-upload-counter { display: none; }
.contactTBL .codedropz-upload-wrapper .wpcf7c-conf.wpcf7c-conf-hidden { display: none; }
.contactTBL .codedropz-upload-wrapper:has(.dnd-upload-status) .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap::after { display: none; }
.contactTBL .doui-box td { margin-bottom: 0; }
.contactTBL .doui-box td .wpcf7-list-item { margin-left: 0; }
.contactTBL .doui-box td .wpcf7-list-item label { display: flex; align-items: center; cursor: pointer; }
.contactTBL .doui-box td .wpcf7-list-item label input[type="radio"] { width: 20px; height: 20px; background: #FFFFFF; border: 1px solid #BEBEBE; accent-color: #EB3B5E; margin-right: 10px; cursor: pointer; }
.contactTBL .doui-box td .wpcf7-list-item label span.wpcf7-list-item-label { font-size: 14px; line-height: 20px; font-weight: 400; }
.contactTBL .doui-box td .doui-text { font-size: 13px; line-height: 22px; font-weight: 400; margin-top: 10px; }
.contactTBL .doui-box td .doui-text a { display: block; text-decoration: underline; }
.contactTBL .contact-submit.flex { display: block; margin-top: 40px; }
.contactTBL .contact-submit.flex .btn { width: 100%; height: 60px; }
.contactTBL .contact-submit.flex .btn input.wpcf7-form-control { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 0 40px; box-sizing: border-box; white-space: normal; border-radius: 30px; background: url("../img/p13/btn_arrow01.svg") no-repeat center right 20px; background-size: 10px; border: 1px solid #2D2C2C; cursor: pointer; transition: 0.3s; font-size: 15px; line-height: 1.5; color: #2D2C2C; font-weight: 700; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.contactTBL .contact-submit.flex .btn:has(.wpcf7c-force-hide) { display: none; }
.contactTBL .contact-submit.flex .btn.back { margin-top: 20px !important; }
.contactTBL .contact-submit.flex .btn.back input.wpcf7-form-control { background: url("../img/p13/back_arrow01.svg") no-repeat center left 20px; background-size: 10px; }
.contactTBL .contact-submit.flex .btn.submit input.wpcf7-form-control { background: url("../img/p13/btn_arrow01_h.svg") no-repeat center right 20px, #2D2C2C; background-size: 10px; color: #FFFFFF; }
.contactTBL .contact-submit.flex .wpcf7c-elm-step2.mt20 { margin-top: 20px; text-align: center; }
.contactTBL .contact-submit.flex input.wpcf7-form-control:focus { outline: none; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 185px; margin-top: -185px; }

.wpcf7c-conf { background-color: #D4D4D4 !important; }

input:-webkit-autofill, input:-internal-autofill-selected { -webkit-appearance: none; -webkit-box-shadow: 0 0 0px 1000px #D4D4D4 inset !important; box-shadow: 0 0 0px 1000px #D4D4D4 inset !important; }

.wpcf7 .ajax-loader { display: none !important; }

.wpcf7-spinner { display: none !important; }

/*Thanks・404
=========================================== */
div#p100Box01 { padding: 58px 5% 80px; text-align: center; }
div#p100Box01 .thanks-text { font-size: 16px; }
div#p100Box01 .btn01 { margin-top: 40px; justify-content: center; }

/*プライバシーポリシー
=========================================== */
div#pageBox01 { padding: 58px 5% 80px; }

h2.pp-title01 { font-size: 22px; border-bottom: solid 2px; margin-bottom: 25px; padding-bottom: 10px; }

h3.pp-title02 { font-size: 18px; position: relative; margin: 20px 0; padding-left: 10px; }
h3.pp-title02::before { content: ""; width: 2px; height: 65%; background: #000; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*ウインドー幅ごと
=========================================== */
@media screen and (min-width: 0px) and (max-width: 400px) { #p07box02 .cnt .right .box_in .arrow_box .arrow01 span { text-align: right; padding: 0 25px 0 10px; }
  #p07box02 .cnt .right .box_in .arrow_box .arrow02 span { text-align: left; padding: 0 10px 0 20px; } }
@media screen and (min-width: 0px) and (max-width: 370px) { .wp-pagenavi > span, .wp-pagenavi > a { width: 32px; height: 32px; font-size: 12px; line-height: 32px; } }
@media screen and (min-width: 0px) and (max-width: 330px) { #p02box02 .cnt .img_box .text02 { font-size: 18px; line-height: 27px; } }
/*ipad対策
=========================================== */
/*Firefox用
=========================================== */
@-moz-document url-prefix() {}
/*safari用
=========================================== */
