@charset "UTF-8";
html{
font-family: 'Noto Sans JP', sans-serif, 'Helvetica Neue', Arial, YuGothic;
color:#111111;
font-size: 62.5%;
height: 100%;
background:#FFF;
touch-action: manipulation;
}
body{
word-wrap: break-word;
/* font-feature-settings: "palt"; */
width: 100%;
min-height: 100%;
height: auto;
overflow-x: hidden;/* 横スクロールを防ぐ */
}
html, body,nav.nav{
overflow-y: scroll;/* スクロールは有効 */
-ms-overflow-style: none;/* IE / Edge */
scrollbar-width: none;/* Firefox */
-webkit-overflow-scrolling: touch;/* iOSスクロールの最適化 */
}
body::-webkit-scrollbar,
nav.nav::-webkit-scrollbar {
display: none; /* Chrome, Safari, Edge */
}
a,
a:link,
a:visited{
text-decoration: none;
}
a:hover{
-webkit-transition: all .3s;
transition: all .3s;
}
a.linktxt{color:#027B3B;text-decoration:underline;font-weight:600;}
a.linktxt:hover{text-decoration: none;}
table{
width:100%;
border:0;
border-collapse:collapse;
}
table th,
table td{
font-size:1.6rem;
line-height: 1.6;
}
img{
display: block;
width: 100%;
height:auto;
}
figure{position: relative;}
figure.img1{max-width:20rem;}
figure.img2,.img2{max-width:10rem;}
figcaption{font-size:1.6rem;margin-top:0.5rem;text-align: center;line-height:1.6;}
button{all: unset; /* すべてのデフォルトスタイルをリセット */
-webkit-tap-highlight-color: transparent;}
.text_c{text-align: center;}
.text_l{text-align: left;}
.text_r{text-align: right;}
.fontwb400{font-weight:400;}
.fontwb500{font-weight:500;}
.fontwb600{font-weight:600;}
.fontwb700{font-weight:700;}
.fontwb800{font-weight:800;}
.fontwb900{font-weight:900;}
.fontsize1{font-size:1.8rem;}
.fontsize2{font-size:2.0rem;}
.fontsize4{font-size:2.2rem;}
.lh14{line-height:1.4;}
.lh16{line-height:1.6;}
.lh18{line-height:1.8;}
.clear{clear: both;}
.indent{text-indent: -1em;margin-left: 1em;}
.mb05{margin-bottom:0.5rem;}
.mb10{margin-bottom:1rem;}
.mb15{margin-bottom:1.5rem;}
.mb20{margin-bottom:2rem;}
.mb25{margin-bottom:2.5rem;}
.mb30{margin-bottom:3rem;}
.mb35{margin-bottom:3.5rem;}
.mb40{margin-bottom:4rem;}
.mb45{margin-bottom:4.5rem;}
.mb50{margin-bottom:5rem;}
.mb55{margin-bottom:5.5rem;}
.mb60{margin-bottom:6rem;}
.mb65{margin-bottom:6.5rem;}
.mb70{margin-bottom:7rem;}
.mgcnter{margin:0 auto;}
.PcB{display: block;}
.ScB{display: none;}
.ScB_SP{display: none;}
sub,
sup{
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub{bottom: -0.25em;}
sub.btm{bottom: 0em;}
sup {top: -0.5em;}
sub,
.subText{font-size:1.2rem;}
.note{
position: relative;
padding: 0 0 0 1.4rem;
font-size:1.4rem;
}
.note::before{
content: "※";
position: absolute;
top:0;
left:0;
}
.line{border-bottom:0.3rem solid #c0d3dd;padding: 0 0 4rem 0;}
.bdr{border-bottom:0.3rem solid #c0d3dd;padding: 0 0 2rem 0;margin-bottom:2rem;}
.jp{font-family: 'Noto Sans JP', sans-serif, 'Helvetica Neue', Arial, YuGothic;}
.en{font-family: 'Lato', sans-serif, 'Helvetica Neue', Arial, YuGothic;}
/* [id] {display: block;margin-top:-8rem;padding-top:-8rem;} */

/* Tab area
-----------------------------------------*/
.tab-container{transition: height 0.35s ease;}
.tab-content{opacity: 0;visibility: hidden;transition: opacity 0.4s ease;height: 0;overflow: hidden;}
.tab-button{cursor: pointer;font-size:1.6rem;}
.tab-content.active{opacity: 1;visibility: visible;height: auto;overflow: visible;}
.tab-button.active{outline: none;}

/* Animation area
-----------------------------------------*/
.fade-in {
opacity: 0;
transform: translateY(2.5rem);
transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
.line-container {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
z-index: 5;
}
#TOP .line-container{
padding:2rem 0 8rem;
}
.line-square1,
.line-square2{
display: inline-block;
animation: moveUpDown 2s infinite alternate;
}
.line-square1 {
width:0.1rem;
height:7rem;
background:#333333;
}
.line-square2{
width:1rem;
height:1rem;
background:#027B3B;
}
@keyframes moveUpDown {
0% {
transform: translateY(0);
}
100% {
transform: translateY(6rem); /* 下に動く距離 */
}
}
.line-bdr{width:auto;height:1rem;background:#F8F8F8;margin:3rem 4rem;}
.line-bdr2{width:auto;height:0.3rem;background:#fff;margin:0 2rem;}
.scroll-txt{
width: 100%;
position: relative;
}
.scroll-img {
position: absolute;
top: 50%;
transform: translateY(-50%);
height: 17rem;
width: auto;
max-width: 300%;
}

/* Header area
-----------------------------------------*/
header{
position: fixed;
height:8rem;
background:#fff;
width:100%;
z-index:11111;
display: grid;
gap:2rem;
grid-template-columns: 40% auto;
justify-content: space-between;
align-items: center;
}
.logo{max-width:50rem;padding:0 2rem;z-index:111;}
.nav{width:auto; padding:0 2rem;}
.nav.gnav{display: grid; gap:2rem; grid-template-columns: repeat(3, 1fr) 15rem 4rem; width:60rem; max-width: 100%;box-sizing: border-box;}
.nav.gnav div.gnav-button,
.nav.gnav a{font-size:1.6rem;text-align: center;cursor: pointer;padding:3rem 0;}
.fgb_info{display: none;}
.nav .gnav-content{
opacity: 0;
visibility: hidden;
height: auto;
overflow: hidden;
transition: opacity 0.4s ease, height 0.35s ease;
position: fixed;
left: 0;
background: #fff;
width:100%;
height:100%;
top:8rem;
left:0;
z-index: 100;
padding:6rem 4rem 3rem;
}
.nav.gnav div.gnav-button.active{
position: relative;
}
.nav.gnav div.gnav-button.active::before{
font-family: 'Material Symbols Sharp';
content: '\f819';
font-weight:600;
position: absolute;
right:0;
left:0;
bottom: 0rem;
color:#027B3B;
font-size:2rem;
transform: rotate(90deg);
z-index:1000;
}
.nav .gnav-content.active{
opacity: 1;
visibility: visible;
height: auto;
overflow: visible;
}
.nav .gnav-close {
position: absolute;
font-size:7rem;
font-weight: 600;
padding:2rem 4rem;
right:0;
top:0;
cursor: pointer;
}
.nav .gnav-close::before{
font-family: 'Material Symbols Sharp';
content: '\e5cd';
font-weight:600;
position: absolute;
right:2.5rem;
bottom: 0;
top: 0;
color:#027B3B;
font-size:4rem;
padding:2rem 0;
}
.nav .search-menu{width:2.4rem;}
.nav .info,
.nav .search-menu{
display: flex;
align-items: center;
justify-content: center;
}
.nav .info a{
position: relative;
padding:3rem 0 3rem 3rem;
}
.nav .info a::before{
font-family: 'Material Symbols Sharp';
content: '\e158';
font-weight:400;
position: absolute;
left:0;
bottom: 0;
top: 0;
color:#027B3B;
font-size:2.4rem;
font-weight:400;
display: flex;
align-items: center;
}
.menu-btn{display: none;}
.nav .gnav-content .tabInner a.navi_tit_link{
font-size:2rem;
text-decoration: underline;
margin-bottom:2rem;
}
.nav .gnav-content .tabInner ul.subnv{
padding:4rem 0;
display: grid;
justify-content: center;
}
.nav .gnav-content .tabInner ul.subnv.c_link{
grid-template-columns: repeat(6, 18rem);}
.nav .gnav-content .tabInner  ul.subnv.b_link{
grid-template-columns: repeat(3, 18rem);}
.nav .gnav-content .tabInner  ul.subnv.r_link{
grid-template-columns: repeat(2, 18rem);}
.nav .gnav-content .tabInner ul.subnv li{position: relative;}
.nav .gnav-content .tabInner ul.subnv li a{
padding: 1rem;
aspect-ratio: 1 / 1;
background: #fff;
display: grid;
justify-content: center;
align-items: center;
font-size:1.5rem;
}
.nav .gnav-content .tabInner ul.subnv li a:hover{background:#F8F8F8;}
.nav .gnav-content .tabInner ul.subnv li a::before{
content: '';
display:block;
width: 8rem;
height: 8rem;
background: url('../img/icon/i_c_9.svg') no-repeat center/contain;
margin:0 auto;
}
/* company icon*/
.nav .gnav-content .tabInner ul.subnv.c_link li:nth-child(1) a::before
{background: url('../img/icon/i_c_9.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.c_link li:nth-child(2) a::before
{background: url('../img/icon/i_c_10.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.c_link li:nth-child(3) a::before
{background: url('../img/icon/i_c_11.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.c_link li:nth-child(4) a::before
{background: url('../img/icon/i_c_12.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.c_link li:nth-child(5) a::before
{background: url('../img/icon/i_c_29.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.c_link li:nth-child(6) a::before
{background: url('../img/icon/i_c_13.svg') no-repeat center/contain;}
/* business icon*/
.nav .gnav-content .tabInner ul.subnv.b_link li:nth-child(1) a::before
{background: url('../img/icon/i_c_1.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.b_link li:nth-child(2) a::before
{background: url('../img/icon/i_c_4.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.b_link li:nth-child(3) a::before
{background: url('../img/icon/i_c_7.svg') no-repeat center/contain;}
/* recruit icon*/
.nav .gnav-content .tabInner ul.subnv.r_link li:nth-child(1) a::before
{background: url('../img/icon/i_c_23.svg') no-repeat center/contain;}
.nav .gnav-content .tabInner ul.subnv.r_link li:nth-child(2) a::before
{background: url('../img/icon/i_c_36.svg') no-repeat center/contain;}
.nav .gb_common{
display: grid;
gap:4rem;
grid-template-columns: 1fr 40rem;
align-items: center;
padding-top:2rem;
border-top:0.3rem solid #F8F8F8;
}
.nav .gb_common .gb_linklist{
display: grid;
gap:4rem;
grid-template-columns:auto auto;
justify-content: center;
}
.gb_search{position: relative;}
.gb_search .search-form{display: block;position: static;}
.gb_search .search-form input[type="text"]{width:100%;}
.nav.gnav div.gnav-button.current,
.nav.gnav div.info.current{font-weight: 600;}
.nav .gnav-content .tabInner ul.subnv li.current_page_item a{background: #F8F8F8;}


/* Search area
-----------------------------------------*/
.search-form{
display: none;
position: absolute;
top: 100%;
right: 0;
background:#fff;
padding:2rem;
}
.search-form input[type="text"] {
border: none;
outline: none;
padding:1.5rem 3rem 1.5rem 1.5rem;
background:#F8F8F8;
border-radius: 3rem;
box-shadow: 0px 0px 0.8rem -0.3rem rgba(0,0,0,0.6) inset;
font-size:16px;
width: 40rem;
}
.search-form input[type="submit"] {
border: none;
background: url("../img/common/Search.svg") no-repeat center center;
background-size: 2rem 2rem;
width: 2.4rem;
height: 2.4rem;
cursor: pointer;
position: absolute;
right:4rem;
top: 50%;
transform: translateY(-50%);
}
.search-form.active {display: block;}
.searchbox:last-child{border-bottom:0.3rem solid #F8F8F8;}
.searchbox a,
.searchbox p{
font-size:1.6rem;
position: relative;
display: block;
line-height:1.4;
font-weight:500;
background:#fff;
padding:3rem 4rem;
border-top:0.3rem solid #F8F8F8;
}
.searchbox a::before{
font-family: 'Material Symbols Sharp';
color:#009B49;
position: absolute;
right:2rem;
top:0;
bottom:0;
font-size:3rem;
display: flex;
align-items: center;
}
.searchbox a.url::before{content: '\e879';}
.searchbox a.pdf::before{content: '\e415'; color:#AE2502;}
.searchbox a.write::before{content: '\ef42';}
.searchbox a:hover{
font-weight:600;
text-decoration: underline;
}
/* Layout area
-----------------------------------------*/
.wrap{
display: flex;
flex-direction: column;
min-height: 100vh;
min-height: 100svh;
}
main.tpInner{margin-top:8rem; flex: 1;}
#mainCon .contents{margin:0 3rem;}
#TOP.contents,
#recruitTOP.contents{margin:0;}
#mainCon .boxInner{max-width:114rem; margin:4rem auto;}
#mainCon .boxsubInner{margin-bottom:4rem;}

/* Title area
-----------------------------------------*/
h1,h2,h3,h4,h5,h6{
margin:0;
padding:0;
line-height: 1;
font-weight: 500;
}
h1{font-size:2.6rem;}
h2{font-size:2.4rem;}
h3{font-size:2.2rem;}
h4{font-size:2.0rem;}
h5{font-size:1.8rem;}

h1.title,
#mainCon .boxsubInner h2,
#mainCon .recruitmentbox h2.bosyu-tit,
#mainCon .boxsubInner h3.title,
#mainCon .boxsubInner h3.title2,
#mainCon .boxsubInner h4.title,
#mainCon .boxsubInner h4.title2{line-height:1.6;}

h1.title{background:#012427;color:#fff;padding:1.5rem 3rem;font-size:2rem;}
#mainCon .boxsubInner h2,
#mainCon .recruitmentbox h2.bosyu-tit{margin-bottom:2.5rem;}
#mainCon .boxsubInner h3.title{text-align: center;font-size: 5rem;margin-bottom: 4rem;color: #a58e5b;}
#mainCon .boxsubInner h3.title2{background: #f1f1f1;padding:1rem;}
#mainCon .boxsubInner h4.title{margin-bottom:1.5rem; color:#027B3B;}
#mainCon .boxsubInner h4.title2{
padding:0.5rem 1rem;
border-radius:3rem;text-align: center;
display: flex;
align-items: center;
justify-content: center;
margin-bottom:1.5rem;
background:#fff;
}
#mainCon .boxsubInner h4.title2::before{
font-family: 'Material Symbols Sharp';
font-weight:400;
color:#027B3B;
font-size:5rem;
margin-right:1rem;
}
#mainCon .boxsubInner h4.title2.iconv1::before{content: '\ea3d';}
#mainCon .boxsubInner h4.title2.iconv2::before{content: '\e30c';}
#mainCon .boxsubInner h4.title2.iconv3::before{content: '\f20e';}
#mainCon .boxsubInner h4.title2.v2{padding: 2rem;}


/* TXT area
-----------------------------------------*/
p{
line-height: 1.8;
font-size: 1.6rem;
}
ul li{
line-height: 1.8;
font-size:1.6rem;
}
dl dt,
dl dd{
font-size:1.6rem;
line-height: 1.8;
font-weight: normal;
}
ul.list1{counter-reset:number01;}
ul.list1 li{padding:0 0 0 4rem;margin:0 0 2rem;position: relative;}
ul.list1 li::before{
counter-increment:number01;
content:"（"counter(number01)"）";
position: absolute;
left:0;
top:0;
bottom:0;
}
ul.list2 li{position: relative;padding: 0 0 0 1.6rem;margin:0 0 1rem;}
ul.list2 li::before{
content:"・";
position: absolute;
top:0;
left:0;
color:#ccc;
}

/* Grid area
----------------------------------------*/
.grid_Box{display: grid;}
.grid_Box.clm2{grid-template-columns: repeat(2, 1fr);}
.grid_Box.clm3{grid-template-columns: repeat(3, 1fr);}
.grid_Box.clm4{grid-template-columns: repeat(4, 1fr);}

/* Contents area
----------------------------------------*/

/* Main Top area
-----------------------------------------*/
.topMainVl{display: grid;grid-template-columns: repeat(2, 1fr);position: relative;aspect-ratio: 16 / 9;}
.topVisual_l,
.topVisual_r {
position: relative;
width:100%;
height:100%;
overflow: hidden;
display: flex;
align-items:center;
}

.topVisual_l .slide,
.topVisual_r .slide{
position: absolute;
top: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
opacity: 0;
}
.topVisual_l .slide{left: 0;animation: slideDown 16s infinite;}
.topVisual_r .slide{right: 0;animation: slideRight 16s infinite;}

.topVisual_l .slide:nth-child(2) {
background-image: url('../img/top/img_top01_L.webp');
}
.topVisual_l .slide:nth-child(3) {
background-image: url('../img/top/img_top02_L.webp');
}
.topVisual_l .slide:nth-child(4) {
background-image: url('../img/top/img_top03_L.webp');
}
.topVisual_l .slide:nth-child(5) {
background-image: url('../img/top/img_top04_L.webp');
}

.topVisual_r .slide:nth-child(2) {
background-image: url('../img/top/img_top01_R.webp');
}
.topVisual_r .slide:nth-child(3) {
background-image: url('../img/top/img_top02_R.webp');
}
.topVisual_r .slide:nth-child(4) {
background-image: url('../img/top/img_top03_R.webp');
}
.topVisual_r .slide:nth-child(5) {
background-image: url('../img/top/img_top04_R.webp');
}

.topVisual_l .slide:nth-child(2),
.topVisual_r .slide:nth-child(2){animation-delay: 0s;}
.topVisual_l .slide:nth-child(3),
.topVisual_r .slide:nth-child(3){animation-delay: 4s;}
.topVisual_l .slide:nth-child(4),
.topVisual_r .slide:nth-child(4){animation-delay: 8s;}
.topVisual_l .slide:nth-child(5),
.topVisual_r .slide:nth-child(5){animation-delay: 12s;}

/* 左（上から降りる） */
@keyframes slideDown {
0%   { opacity: 0; transform: translateY(-30px); }
5%   { opacity: 1; transform: translateY(0); }
25%  { opacity: 1; transform: translateY(0); }
30%  { opacity: 0; transform: translateY(30px); }
100% { opacity: 0; transform: translateY(30px); }
}
/* 右（右からスライドイン → 左に抜ける） */
@keyframes slideRight {
0%   { opacity: 0; transform: translateX(30px); }
5%   { opacity: 1; transform: translateX(0); }
25%  { opacity: 1; transform: translateX(0); }
30%  { opacity: 0; transform: translateX(-30px); }
100% { opacity: 0; transform: translateX(-30px); }
}
.topVisual_l .topTitle_l,
.topVisual_r .topTitle_r{
display: flex;
align-items: center;
position: absolute;
z-index:10;
color:#fff;
text-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-o-writing-mode: vertical-rl;
writing-mode: vertical-rl;
letter-spacing: 0.1em;
font-weight:800;
line-height:1.3;
}
.topVisual_l .topTitle_l{right:0;font-size:9.0rem;}
.topVisual_r .topTitle_r{left:0;font-size:6.0rem;}
.Inner{position: relative;}
.Inner h2{text-align: center; font-size:3.2rem; line-height:1.4; margin-bottom:5rem;}
.Inner h2 span{display: block; font-size:1.4rem;}
.mainTPbox h1,
.abusInner h3,
.rutInner h3{font-size:3.6rem; line-height:1.6;margin-bottom:2rem;}
.mainTPbox .mainTPtxt p,
.abusInner p,
.rutInner p{font-size:1.8rem;line-height:2.4;}
.mainTPbox{padding:8rem 0 0 6rem; position: relative;max-width: 140rem;margin:0 auto;}
.mainTPbox .mainTPtxt{position: relative;}
.mainTPbox .mainTPtxt p{
padding:4rem;
background:rgba(255, 255, 255, 0.8);
position: absolute;
top:0;
left:3rem;
z-index:1;
}
.mainTPbox .mainTPtxt img{
width:70%;
display: block;
margin-left: auto;
margin-right: 0;
}
.jigyoTpBg{margin-bottom: 16rem;}
.mainTPjg h2{padding-top:4rem; color:#fff;}
.mainTPjg .tab-group{padding-bottom:20rem; max-width:114rem; margin:0 auto;}
.mainTPjg .tabs{
display: grid;
grid-template-columns:auto auto auto;
justify-content: center;
align-items: center;
gap:3rem;
margin-bottom:3rem;
}
.mainTPjg .tab-button{
background:rgba(255, 255, 255, 0.6);
border-radius:3rem;
padding:1rem 4rem;
text-align: center;
width:10rem;
}
.mainTPjg .tab-button.active{
background:rgba(255, 255, 255, 1);
position: relative;
}
.mainTPjg .tab-button.active figure{
display: block;
position: absolute;
left: 0;
right: 0;
width: 7rem;
margin: 0 auto;
}
.mainTPjg .tab-button figure{display: none;}
.mainTPjg .tab-container{
background:rgba(255, 255, 255, 0.9);
padding:6rem;
margin:0 4rem;
}
.mainTPjg .jigyouInner .grid_Box{gap:5rem;grid-template-columns: repeat(3, 27rem);justify-content: center;}
.mainTPjg .jigyouInner .grid_Box.v2{grid-template-columns: repeat(2, 27rem);}
.mainTPjg .jigyouInner p{
text-align: center;
margin-bottom:4rem;
}
.mainTPjg .jigyoulist{position: relative; margin-bottom:2rem;}
.mainTPjg .jigyoulist a.linkbtn{
padding: 2rem;
aspect-ratio: 1 / 1;
background: #fff;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
display: grid;
justify-content: center;
align-items: center;
}
.mainTPjg .jigyoulist a.linkbtn:hover{background:#fdfbfb;}
.mainTPjg .jigyoulist figure{
width:auto;
height:8rem;
aspect-ratio: 1 / 1;
object-fit: contain;
margin:0 auto 2rem;
}
.mainTPjg .jigyoulist figure img{height:100%;}
.mainTPjg .jigyoulist p{
text-align: center;
}
.mainTPjg .jigyoulist .btnlnk2{
position: absolute;
bottom:-1rem;
right:2rem;
}
.mainTPjg .scroll-txt{
position:absolute;
bottom:-2rem;
z-index:5;
}
.abusInner p,
.rutInner p{margin-bottom:4rem;}
.mainTPas{max-width:140rem; margin:0 auto;}
.mainTPas .grid_Box{gap:4rem; grid-template-columns: 35rem 1fr;justify-content: center;padding:0 0 55rem;margin:0 4rem;align-items: center;}
.Inner.mainTPas2{max-width:140rem; margin:-45rem auto 0;}
.mainTPas2 .grid_Box{grid-template-columns:1fr 56rem;justify-content: center;align-items: center;}
.mainTPas2 .abusInner{padding:0 8rem;}
.mainTPrt{max-width:114rem; margin:0 auto;}
.mainTPrt .toprutCon{
max-width:72rem;
display: block;
margin-top:6rem;
margin-left: auto;
margin-right: 0;
}
.mainTPrt .toprutCon h3{text-align: center; margin-bottom:2rem;font-size:2.7rem;}
.mainTPrt .grid_Box{gap:4rem;}
.mainTPrt .toprutCon .grid_Box{gap:3rem;grid-template-columns: repeat(3, 22rem);justify-content: center;}
.mainTPrt .toprutCon .recruitlist{position: relative;}
.mainTPrt .toprutCon .recruitlist a.linkarea{
padding: 2rem;
aspect-ratio: 1 / 1;
background: #fff;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
display: grid;
justify-content: center;
align-items: center;
}
.mainTPrt .toprutCon .recruitlist a.linkarea:hover{background:#fdfbfb;}
.mainTPrt .toprutCon .recruitlist figure{
width:auto;
height:8rem;
aspect-ratio: 1 / 1;
object-fit: contain;
margin:0 auto 2rem;
}
.mainTPrt .toprutCon .recruitlist figure img{height:100%;}
.mainTPrt .toprutCon .recruitlist p{
text-align: center;
}
.mainTPrt .toprutCon .recruitlist .btnlnk2 {
position: absolute;
bottom: -1rem;
right: 2rem;
}
.mainTPns{padding:20rem 4rem;}
.mainTPns .NewsList{max-width:114rem; margin:0 auto;}
.mainTPns .btnlnk a{margin:0 auto;}

.top_bg1{
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-image: url('../img/top/img_bg_1.webp');
}
.top_bg2 .Inner,
.top_bg2-2 .Inner{z-index:3;}
.top_bg2,
.top_bg2-2,
.top_bg5,
.top_bg6{
position: relative;
/* overflow:hidden は必要に応じて調整 */
}
.top_bg2::before {
content: '';
position: absolute;
top:0; left:0; right:0; bottom:0;
background: #F8F8F8;
clip-path: polygon(
0 80%,     /* 左上を下げる */
100% 0,    /* 右上を上に */
100% 100%, /* 右下 */
0 100%     /* 左下 */
);
z-index: -1;
}
.top_bg2.v2{margin-top:-8rem;}
.top_bg2.v2::before{
clip-path: polygon(
0 12%,     /* 左上を下げる */
100% 0,    /* 右上を上に */
100% 100%, /* 右下 */
0 100%     /* 左下 */
);
}
.top_bg2-2::before {
content: '';
position: absolute;
top:0; left:0; right:0; bottom:0;
background: #F8F8F8;
clip-path: polygon(
0 0,
100% 0,
100% 100%,
0 80%
);
z-index: -1;
}
.top_bg3{
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-image: url('../img/top/img_bg_2.webp');
}
.top_bg4{
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-image: url('../img/recruit/img_bg_1.webp');
}

.top_bg5::before {
content: '';
position: absolute;
top:0; left:0; right:0; bottom:0;
background: #F8F8F8;
clip-path: polygon(
0 0,       /* 左上 */
100% 0,    /* 右上（水平） */
100% 80%,  /* 右下を少し上げる */
0 100%     /* 左下はそのまま */
);
z-index: -1;
}
.top_bg6::before {
content: '';
position: absolute;
top:0; left:0; right:0; bottom:0;
background: #F8F8F8;
clip-path: polygon(
0 0,       /* 左上 */
100% 10%,  /* 右上を少し下げて緩やかに右下へ */
100% 100%, /* 右下 */
0 100%     /* 左下 */
);
z-index: -1;
}

.groupArea{
background:#fff;
padding:6rem 0;
}
.groupArea h3{margin-bottom:4rem;text-align: center;font-size:2.7rem;}
.groupArea .swiper-container.swiper1 .swiper-wrapper{
-webkit-transition-timing-function: linear;
-o-transition-timing-function: linear;
-ms-transition-timing-function: linear;
transition-timing-function: linear;
}
.groupArea .swiper-container.swiper1 .swiper-slide{background:#fff;}
.groupArea .swiper-container.swiper1 .swiper-slide figure{
height:6rem;
width: auto;
position: relative;
}
.groupArea .swiper-container.swiper1 .swiper-slide figure img{
width:auto;
height:100%;
display: block;
margin: 0 auto;
}
.groupArea .swiper-container.swiper1 .swiper-slide figure a{
position: absolute;
top:0;
left:0;
width:100%;
height: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: center;
}
.groupArea .swiper-container.swiper1 .swiper-slide figure a:hover{
opacity:0.7;
}

/* Recruit Top area
-----------------------------------------*/
.rttop .grid_Box{
grid-template-columns:1fr 15rem;
position: relative;
}
.rttop .grid_Box a.entrybtn{
background:#2691B1;
color:#fff;
display: flex;
align-items: center;
justify-content: center;
font-size:1.6rem;
}
.rttop .grid_Box a.entrybtn:hover{background:#3ab3d8;}
.rttop .grid_Box a.entrybtn.show {opacity: 1;visibility: visible;}
.rttop .grid_Box a.entrybtn.show{
position: fixed;
right:0;
top:14rem;
z-index: 999;
transition: all 0.3s ease;
padding:1rem;
}
.topMainVl2{position: relative;aspect-ratio: 20 / 9;}
.topMainVl2 .topVisual{
width:100%;
height:100%;
background-size: cover;
background-position: top center;
background-image: url('../img/recruit/img_main_1.webp');
background-repeat: no-repeat;
position: relative;
}
.topVisual .rttopTitle{
position: absolute;
bottom:3.5rem;
left:0;
z-index:10;
padding:0 6rem;
color:#fff;
text-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.20);
letter-spacing: 0.1em;
font-weight:800;
line-height:1.3;
font-size:4.2rem;
}
.rtP_1 h2{
font-size:2.4rem;
line-height:1.8;
margin:0 auto 8rem;
padding:6rem 2rem 6rem 10rem;
text-align:left;
}
#pg1{padding: 10rem 0 0;}
.rtP_2{padding: 25rem 4rem 8rem;}
.rtP_2 h2{margin: 0 auto 4rem;max-width: 140rem;text-align:left;font-size:2.2rem;}
.numberInner.no2,
.numberInner.no3{padding:8rem 0 0;}
.numberInner h3{text-align: center;font-size:5rem; margin-bottom:3rem;}
.numberInner p{text-align: center;font-size:1.8rem;line-height:2;margin-bottom:6rem;}
.rtP_2 .numberInner .grid_Box{
grid-template-columns: repeat(3, 28rem);
gap:3rem;
justify-content: center;
}
.rtP_2 .numberInner p{
text-align: center;
margin-bottom:4rem;
}
.rtP_2 .numlist{
padding:5rem 2rem;
background: #fff;
aspect-ratio: 3 / 3.5;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
display: grid;
grid-template-rows:auto 8rem auto;
justify-content: center;
align-items: center;
position: relative;
}
.rtP_2 .numlist figure{
width:auto;
height:8rem;
aspect-ratio: 1 / 1;
object-fit: contain;
margin:0 auto 1rem;
}
.rtP_2 .numlist figure img{height:100%;}
.rtP_2 .numberInner .numlist p{margin:0;text-align: center;line-height:1.6;}
.rtP_2 .numberInner .numlist p.nmbtxt span.counter{
font-size:7rem;
font-weight: bold;
padding:0 1rem;
}
.rtP_2 .numberInner .numlist p.nmbtxt sub{font-size:1.3rem;bottom: -0.15em;}

.rtP_3{padding:6rem 4rem;}
.rtP_3 h2{font-size:4rem; margin-bottom:4rem;text-align: center;}
.rtP_3 .swiper-container{padding:6rem 0;max-width:114rem; margin:0 auto;}
.rtP_3 .tec_msInner{
background:rgb(1, 36, 39,0.8);
padding:4rem;
position: relative;
z-index:1;
}
.rtP_3 .tec_msInner h3,
.rtP_3 .tec_msInner p{
color:#fff;
margin-bottom:2rem;
line-height:1.8;
}
.rtP_3 .tec_msInner .msgrid figure{
position: relative;
top:-8rem;
z-index:3;
padding:0 0 0 4rem;
}
.rtP_3 .tec_msInner .msgrid figure img{margin-bottom:2rem;background:#fff;}
.rtP_3 .tec_msInner .msgrid figure p.mssub_txt1,
.rtP_3 .tec_msInner .msgrid figure p.mssub_txt2{
margin-bottom:0;line-height:1.6;
}
.rtP_3 .tec_msInner .msgrid figure p.mssub_txt2{font-size:2rem;font-weight:600;}
.rtP_3 .tec_msInner .msgrid{display: grid; gap:4rem; grid-template-columns: 1fr 30rem;justify-content: center;
}

.rtP_4{padding:6rem 4rem;}
.rtP_4 h2{
display: flex;
align-items: center;
max-width:140rem;
margin:0 auto 4rem;
font-size:2.2rem;
text-align: left;
}
.rtP_4 h2 span{
font-size:1.6rem;
position: relative;
display: inline-block; /* テキストの長さに合わせる */
padding-left: 6rem;    /* テキストと線の間隔 */
}
.rtP_4 h2 span::before{
content: "";
position: absolute;
top: 50%;
left: 0.5rem; /* テキストの右端から */
width: 5rem; /* 線の長さ */
height: 0.1rem;
background: #333;
transform: translateY(-50%);
}
.rtP_4 .grid_Box{max-width:114rem;margin:0 auto;gap:8rem; grid-template-columns: 1fr 28rem;justify-content: center;align-items: center;}
.rtP_4 .rt_day_l{
background: #fff;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
padding:4rem;
}
.rtP_4 .rt_day_l .grid_Box{gap:4rem; grid-template-columns: 1fr 40%;justify-content: center;margin-bottom: 4rem;}
.rtP_4 .rt_day_l p.rt_time{font-weight:600;margin-bottom:1rem;}
.rtP_4 .rt_day_r{grid-template-rows:auto auto;}
.rtP_4 .rt_day_r .rtbord{
background:#F8F8F8;
padding:6rem 2rem;
position: relative;
}
.rtP_4 .rt_day_r .rtbord.rt_work{margin-bottom:4rem;}
.rtP_4 .rt_day_r .rtbord.rt_work figure{width:9rem;}
.rtP_4 .rt_day_r .rtbord figure{
max-width:14rem;
position: absolute;
top:-1rem;
left:-1rem;
}
.rtP_5 figure.title_icon,
.rtP_6 figure.title_icon{
width: auto;
height: 8rem;
aspect-ratio: 1 / 1;
object-fit: contain;
margin: 0 auto 1rem;
}
.rtP_5 figure.title_icon img,
.rtP_6 figure.title_icon img{
height: 100%;
}
.rtP_5 h2,
.rtP_6 h2{text-align: center;margin-bottom:6rem;font-size:2.2rem;}
.rtP_5,
.rtP_6{padding:6rem 4rem;max-width:114rem;margin:0 auto;}
.rtP_5 .grid_Box{gap:4rem; grid-template-columns: 40rem 1fr;justify-content: center;}
.rtP_5 .rt_systemInner h3{font-size:2.4rem; margin-bottom:2rem;}
.rtP_5 .rt_systemInner p{margin-bottom:4rem;line-height:2;}
.rtP_6 .grid_Box{gap:3rem;grid-template-columns: repeat(4, 20rem);justify-content: center;}
.rtP_6 .rt_employeelist{
padding: 2rem;
aspect-ratio: 1 / 1;
background: #F8F8F8;
display: grid;
justify-content: center;
align-items: center;
position: relative;
}
.rtP_6 .rt_employeelist figure{
width:auto;
height:8rem;
aspect-ratio: 1 / 1;
object-fit: contain;
margin:0 auto;
}
.rtP_6 .rt_employeelist figure img{height:100%;}
.rtP_6 .rt_employeelist p{
text-align: center;
}
.rtP_7{padding:6rem 4rem 20rem;}
.rtP_7 h2{max-width:140rem; margin:0 auto 4rem;font-size:2.2rem;text-align: left;}
.rtP_7 .message-list{margin-bottom:4rem;}
.rtP_7 .message-list .item{position: relative;}
.rtP_7 .message-list .item figure img{width:80%;}
.rtP_7 .message-list .item .name{
position: absolute;
bottom:-3rem;
right:0;
background:#036431;
color:#fff;
padding:1.5rem 4rem;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.rtP_7 .message-list .item .name p{
text-align: center;
line-height:1.6;
}
.rtP_7 .message-list .item .name p.txtnm1{margin-bottom:1rem;}
.rtP_7 .swiper-slide{cursor:pointer;}


/* Message Modal area
-----------------------------------------*/
html.modal-open {overflow: hidden;}
/* モーダル背景 */
#modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.8);
display: none;
align-items: center;
justify-content: center;
z-index: 99999999;
}
#modal.activems {
display: flex;
opacity: 1;
}
#modal .modal-content{
overflow-y: auto;
background: #fff;
padding:8rem 4rem;
width:95%;
max-height:90%;
box-shadow: 0 0.5rem 1.35rem rgba(0,0,0,0.3);
position: relative;
margin:0 4rem;
max-width:114rem;
}
#modal .modal-message{
display: grid;
grid-template-columns: 2fr 1fr; /* 左2：右1 */
grid-template-rows: auto 1fr;   /* 左上 auto、左下 1fr で右列と揃える */
gap: 6rem;
max-width:114rem;margin:0 auto;
}
/* 左側2つを縦に配置 */
#modal .modal-message .modal-area01{
grid-column: 1;
grid-row: 1;
}
#modal .modal-message .modal-area01 h4{line-height:1.6; margin-bottom:2rem;}
#modal .modal-message .modal-area01 p{line-height:1.8;}
#modal .modal-message .modal-area02 {
grid-column: 1;
grid-row: 2;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap:4rem;
padding:4rem;
}
/* 右側1つ */
#modal .modal-message .modal-area03 {
grid-column: 2;
grid-row: 1 / span 2; 
}
#modal .modal-message .modal-area03 figure img{margin-bottom:2rem;}
#modal .modal-message .modal-area03 .mssub_txt1,
#modal .modal-message .modal-area03 .mssub_txt2{line-height:1.6;}
#modal .modal-message .modal-area03 .mssub_txt1{margin-bottom:1rem;}
#closeModal {
position: absolute;
top: 1rem;
right: 1rem;
border: none;
background: transparent;
font-size: 5rem;
cursor: pointer;
color:#099CD5;
}
.rtP_8{padding:6rem 4rem;}
.rtP_8 h2{font-size:2.2rem;text-align: left;}
.rtP_8 h3{margin-bottom:4rem; font-size:2.7rem;}
.rtP_8{display: grid;gap:4rem; grid-template-columns: 25rem 1fr;justify-content: center;
max-width:114rem;margin:0 auto;
}
.rtP_8 .faq-category{margin-bottom:8rem;}
.rtP_8 .faq-category:last-child{margin-bottom:0;}
.rtP_8 .faq-category .fag_c_tit{
font-size:1.6rem;
margin-bottom:2rem;
font-weight:600;
border-left:0.5rem solid #009B49;
padding-left:2rem;
}
.rtP_8 .faqInner{
padding: 4rem;
border-top:1rem solid #F8F8F8;
}
.rtP_8 .faqInner:last-child{border-bottom:1rem solid #F8F8F8;}
.rtP_8 .faqInner .q_area{margin-bottom:5rem;}
.rtP_8 .faqInner .q_area,
.rtP_8 .faqInner .a_area{
display: grid;
gap:4rem;
grid-template-columns: 8rem 1fr;
justify-content: center;
}
.rtP_8 .faqInner .q_area::before,
.rtP_8 .faqInner .a_area::before{
font-family: 'Lato', sans-serif, 'Helvetica Neue', Arial, YuGothic;
font-weight:600;
font-size:3rem;
}
.rtP_8 .faqInner .q_area::before{content:"Q";color:#333;}
.rtP_8 .faqInner .a_area::before{content:"A";color:#027B3B;}
.rtP_8 .faqInner .q_area p,
.rtP_8 .faqInner .a_area p{line-height:2;}
.rtP_8 .faqInner .a_area p{font-weight: bold; font-size:1.8rem;}

.rtP_9{padding:8rem 4rem; max-width:114rem; margin:0 auto;}
.rtP_9 h2{margin-bottom:0;}
.rtP_9 h2 figure{max-width:50rem;}
.rtP_9 p{font-size:2rem; margin-bottom:4rem;}
.rtP_9 .btnlnk{margin-bottom:3rem;}
.rtP_9 .rttxtEy{
position: relative;
z-index:2;
}
.rtP_9 figure.rtImageEy{
position: absolute;
top:20rem;
right:0;
z-index:0;
}


/*Slide pagination*/
.slideCon .swiper-button-next,
.slideCon .swiper-button-prev{
position: static;
top: auto;
right: auto;
left: auto;
width: auto;
height: auto;
margin-top: 0;
display: block;
color: #333;
}
.slideCon .swiper-button-next:hover,
.slideCon .swiper-button-prev:hover{
color: #aeaeae;
}
.slideCon .swiper-button-next:after,
.slideCon .swiper-button-prev:after {
font-family: 'Material Symbols Sharp';
font-weight:600;
font-size:4rem;
}
.slideCon .swiper-button-next:after,
.slideCon .swiper-container-rtl .swiper-button-prev:after {
content: '\e5c4';
}
.slideCon .swiper-button-prev:after,
.slideCon .swiper-container-rtl .swiper-button-next:after{
content: '\e5c8';
}
.slideCon .pagination{
display: flex;
justify-content: flex-end;
padding:2rem 0;
gap:2rem;
}

/* News area
----------------------------------------*/
#mainCon .contents.Nwl p.Nstitle{font-size:2.4rem;font-weight:600;margin-bottom:4.5rem;}
#mainCon .contents.Nwl .NewsList {margin-bottom:6rem;}
#mainCon .contents.Nwl .NewsList h2.title{margin-bottom:4rem;}
.NewsList .Newsbox{
position: relative;
background:#fff;
padding:4rem;
margin-bottom:4rem;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.NewsList .Newsbox .NsGrid{
display: grid;
grid-template-columns: 15rem 1fr;
gap:2rem;
align-items: center;
}
.NewsList .Newsbox .tag span{
display: block;
width:9rem;
padding:0.5rem 1rem;
text-align: center;
font-size:1.4rem;
background:#009b49;
color:#fff;
position: absolute;
top:-5.5rem;
left:0;
}
.NewsList .Newsbox .tag span.c1{background:#3ab3d8;}
.NewsList .Newsbox .tag span.c2{background:#a2a1a1;}
.NewsList .Newsbox a,
.NewsList .Newsbox p{
padding:0 3.5rem 0 0;
font-size:1.6rem;
position: relative;
display: block;
line-height:1.4;
font-weight:500;
}
.NewsList .Newsbox a::before{
font-family: 'Material Symbols Sharp';
color:#009B49;
position: absolute;
right:0;
top:0;
bottom:0;
font-size:3rem;
display: flex;
align-items: center;
}
.NewsList .Newsbox a.url::before{content: '\e879';}
.NewsList .Newsbox a.pdf::before{content: '\e415'; color:#AE2502;}
.NewsList .Newsbox a.write::before{content: '\ef42';}
.NewsList .Newsbox a:hover{
font-weight:600;
text-decoration: underline;
}
.NewsList .Newsbox p{padding:0;}


/* Contents area
----------------------------------------*/
.tobira{gap:2rem}
.tobira a:hover{opacity:0.7;}
.btntit{
background:#F8F8F8;
font-size:1.6rem;
text-align: center;
padding: 20px;
position: relative;
}
.btntit::before{
font-family: 'Material Symbols Sharp';
content: '\e5df';
font-weight:600;
position: absolute;
right:2.5rem;
bottom: 0;
top: 0;
color:#027B3B;
font-size:2.4rem;
display: flex;
align-items: center;
}
.rinen p{
border: 0.2rem solid #a58e5c;
padding: 2rem;
text-align: center;
font-size:2rem;
}
.kokoroe p{padding:2rem 1rem;}
.c_branch{
display: grid;
grid-template-columns: repeat(3, 18rem);
gap:2rem;
justify-content: center;
margin: 0 0 5rem;
}
.c_branch a{display: block;padding:1.5rem 1rem 3rem; font-size:1.6rem;text-align: center;position: relative;background:#F8F8F8;border-radius:6rem;box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);}
.c_branch a:hover{background:#fdfbfb;box-shadow: none;}
.c_branch a::before{
font-family: 'Material Symbols Sharp';
content: '\e5c5';
font-weight:600;
position: absolute;
bottom: 0;
left:0;
right:0;
color:#027B3B;
font-size:2.4rem;
display: flex;
justify-content: center;
}
.mapcon{gap:3rem;margin-bottom:3rem;}
.mapcon h3{margin-bottom:1rem;}
.mapbox.bdrall{
background:#F8F8F8;
padding:2rem;
}
.mapbox.bdrall div{margin: 0 auto;
width: auto!important;
height: auto!important;
aspect-ratio: 1 / 1;
max-width: 30rem;}

.historyline *,
.historyline *:after,
.historyline *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.historyline {
margin: 3rem 0 0 0;
padding: 0;
list-style: none;
position: relative;
}
.historyline p{font-weight: bold;}
/* The line */
.historyline:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
width: 1rem;
background: #607d8b;
left: 20%;
margin-left: -1rem;
}
.historyline li{position: relative;}
/* The date/time */
.historyline li .history_day {
display: block;
width: 25%;
padding-right: 10rem;
position: absolute;
}
.historyline li .history_day span {
display: block;
text-align: right;
}
.history_day{line-height: 1.6;}
.historyline li .history_day span:last-child {
font-size: 2rem;
color:#0d0d0d;
}
.historyline li:nth-child(odd) .history_day span:last-child {
color:#0d0d0d;
}
/* Right content */
.historyline li .history_label {
margin: 0 0 1.5rem 25%;
background: #8bc34a;
color: #fff;
padding: 3rem;
font-weight: 300;
line-height: 1.5;
position: relative;
border-radius: 0.5rem;
}
.historyline li:nth-child(odd) .history_label {
background:#40a355;
}
.historyline li .history_label h2 {
margin-top: 0px;
padding: 0 0 10px 0;
border-bottom: 1px solid rgba(255,255,255,0.4);
}
/* The triangle */
.historyline li .history_label:after {
right: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-right-color: #8bc34a;
border-width: 1rem;
top: 1rem;
}
.historyline li:nth-child(odd) .history_label:after {
border-right-color: #40a355;
}
/* The icons */
.historyline li .history_icon {
width: 4rem;
height: 4rem;
font-family: 'ecoico';
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
font-size: 1.4em;
line-height: 4rem;
-webkit-font-smoothing: antialiased;
position: absolute;
color: #fff;
background: #40a355;
border-radius: 50%;
box-shadow: 0 0 0 8px #afef75;
text-align: center;
left: 20%;
top: 0;
margin: 0 0 0 -2.5rem;
}
.jigyou-imgcon,
.digitalcon{gap:3rem;}
.digital-imgbox,
.bim-cimbox,
.img-bim-cimbox,
.digital-moviebox,
.digitalcon{margin-bottom:4rem;}
.img-bim-cimbox{gap:3rem;}
.digital-moviebox video{width:100%;height:auto;aspect-ratio: 16 / 9; }
.sankaku{padding:2rem;text-align: center;}
.sankaku::before{
font-family: 'Material Symbols Sharp';
content: '\f1e3';
font-weight: 600;
color: #ccc;
font-size: 4rem;
}
.order-article{background:#eaeadf;padding:2rem;}
.order-article02{background:#c7e4c9;padding:2rem;}
.recruitmentbox{padding-top:-8rem; margin-bottom:4rem;}





/* SiteMap area
-----------------------------------------*/
.sitemapList p a{margin-bottom:1rem;font-size:1.8rem;font-weight:600;display: block;}
.sitemapList a:hover{text-decoration: underline;display: block;}
.sitemapList .sitemapInner{margin-bottom:2rem;}

/* tablepress area
-----------------------------------------*/
#tablepress-1,
#tablepress-2{
width: 100%;
border-top: 0.1rem solid #bdbdbd;
border-right: 0.1rem solid #bdbdbd;
}
#tablepress-1 td,
#tablepress-2 th,
#tablepress-2 td{
border-bottom: 0.1rem solid #bdbdbd;
border-left: 0.1rem solid #bdbdbd;
padding: 1.5rem;
text-align: left;
vertical-align: middle;
line-height: 1.8;
}
#tablepress-1 td.column-1{
width: 10rem;
background: #606060;
color: #fff;
}
#tablepress-1 td{
width:35%;
line-height: 1.5;
}
#tablepress-2 th{
background: #606060;
color: #fff;
text-align: center;
}
#tablepress-2 .column-2{
width:8rem;
text-align: center;
}
#tablepress-1 th,
#tablepress-1 td,
#tablepress-2 th,
#tablepress-2 td,
#news_list th,
#news_list td{
font-size:1.6rem;
}
#tablepress-1 td{
width:40%;
}
#recruit_hyo{margin-bottom: 2rem;}
#recruit_hyo table{
width: 100%;
border-top: 0.1rem solid #bdbdbd;
}
#recruit_hyo th,
#recruit_hyo td{
border-bottom: 0.1rem solid #bdbdbd;
border-right: 0.1rem solid #bdbdbd;
padding: 1rem;
text-align: left;
vertical-align: middle;
line-height: 1.8;
font-size: 1.6rem;
}
#recruit_hyo td.column-1{
background: #888888;
color: #fff;
text-align: center;
width:12rem;
}
#recruit_hyo td.column-2{
width: 15rem;
text-align: center;
background: #e4e4e4;
}





/* PageTop area
-----------------------------------------*/
.PageTop{
position: fixed;
right:0;
bottom:0;
z-index: 999;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.PageTop a{width:6rem;display: block;background:#EBEBEB;}
.PageTop a:hover{background:#e0e0e0;}
.PageTop a figure{padding:3rem 1rem;}
.PageTop a figure img{width:3rem;margin:0 auto;}
.PageTop.show {opacity: 1;visibility: visible;}


/* Footer area
-----------------------------------------*/
footer{background:#F8F8F8;}
footer .grid_Box{grid-template-columns: 30% 1fr;}
.ft_Column1,
.ft_Column2{max-width:114rem; margin:0 auto;}
.ft_Column1{padding:6rem 2rem;gap:6rem;}
.ft_Column2{padding:2rem 2rem 2rem;}
.footer_LT figure.ft_logo{max-width:32rem;margin-bottom:2rem;}
.footer_LT .btnlnk3.spitem1{margin-bottom:2rem;}
.footer_LT .btnlnk3.spitem2{margin-bottom:4rem;}
.footer_RT .ftPageCon{margin-bottom:4rem;}
.footer_RT .ftPageCon h4{margin-bottom:2rem;}
.footer_RT .ftPageCon h4 a:hover{text-decoration: underline;}
.footer_RT .ftPageCon ul.ft_list{
display: flex;
flex-wrap: wrap;
gap:2rem;
}
.footer_RT .ftPageCon ul.ft_list li a{
position: relative;
padding:0 0 0 2rem;
display: inline-block;
}
.footer_RT .ftPageCon ul.ft_list li a::before{
font-family: 'Material Symbols Sharp';
content: '\e5df';
font-weight:600;
position: absolute;
left:0;
bottom: 0;
top: 0;
color:#DBDBDB;
font-size:2.4rem;
display: flex;
align-items: center;
}
.footer_RT .ftPageCon ul.ft_list li a:hover{text-decoration: underline;}
.ft_Column2 ul.pglink_sub{
display:grid;
grid-template-columns:auto auto auto;
}
.ft_Column2 ul.pglink_sub li{text-align: center;}
.ft_Column2 ul.pglink_sub li a{font-size:1.4rem;}
.ft_Column2 ul.pglink_sub li a:hover{text-decoration: underline;}

footer .copyright{
text-align:center;
display: block;
}
footer .copyright small{
font-size:1.6rem;
line-height: 1.6;
}

/* Btn area
-----------------------------------------*/
.btnlnk a{
background:#F8F8F8;
color:#333333;
padding:2rem 3.5rem;
border-radius:6rem;
display:block;
font-size:1.6rem;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
max-width:33rem;
position: relative;
}
.btnlnk a.link_icon::before{
font-family: 'Material Symbols Sharp';
content: '\e5df';
font-weight:600;
position: absolute;
right:2.5rem;
bottom: 0;
top: 0;
color:#027B3B;
font-size:2.4rem;
display: flex;
align-items: center;
}
.btnlnk a:hover{box-shadow:none;background:#fdfbfb;}

.btnlnk.entrylink a{background:#2691B1;color:#fff;}
.btnlnk.entrylink a.link_icon::before{color:#fff;}
.btnlnk.entrylink a:hover{background:#3ab3d8;}

.btnlnk2 a{
background:#036431;
color:#fff;
padding:0.5rem 2rem;
border-radius:6rem;
display:inline-block;
font-size:1.4rem;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.btnlnk2 a:hover{box-shadow:none;background:#009b49;}
.btnlnk2.rtlink a{background:#2691B1;}
.btnlnk2.rtlink a:hover{background:#3ab3d8;}

.btnlnk3 a{
background:#F8F8F8;
color:#333333;
border:0.3rem solid #fff;
padding:1.5rem;
font-size:1.6rem;
max-width:28rem;
position: relative;
display: flex;
gap:2rem;
align-items: center;
justify-content: center;
}
.btnlnk3 a::before{
font-family: 'Material Symbols Sharp';
font-size:2.4rem;
font-weight:400;
color:#036431;
}
.btnlnk3 a.map_icon::before{content: '\e7ee';}
.btnlnk3 a.info_icon{font-size:1.7rem;}
.btnlnk3 a.info_icon::before{content: '\e158';}
.btnlnk3 a:hover,
.btnlnk3 a.info_icon.gbmn:hover{background:#EBEBEB;}
.btnlnk3 a.info_icon.gbmn{background:#fff;font-size:1.6rem;border:0.1rem solid #036431;}

.btnlnk4 a{
background:#EFEFEF;
color:#333333;
padding:1.5rem 5.5rem 1.5rem 3.5rem;
display:inline-block;
position: relative;
font-size:1.4rem;
}
.btnlnk4 a::before{
font-family: 'Material Symbols Sharp';
font-weight:400;
position: absolute;
right:2.5rem;
bottom: 0;
top: 0;
font-size:2rem;
display: flex;
align-items: center;
}
.btnlnk4 a.pdf_icon::before{content: '\e415';color:#AE2502;}
.btnlnk4 a.news_icon::before{content: '\ef42';color:#009B49;}
.btnlnk4 a.map_icon::before{content: '\f6ea';color:#009B49;}
.btnlnk4 a:hover{box-shadow:none;background:#fff;}
.btnlnk4 a.pdf_icon.gbmn,
.btnlnk4 a.news_icon.gbmn{background:transparent;padding: 0 5.5rem 0 0;}
.btnlnk4 a.pdf_icon.gbmn:hover,
.btnlnk4 a.news_icon.gbmn:hover{text-decoration:underline;}
.recruitbtn a{
background:#2691B1;
color:#fff;
padding:2rem 3.5rem;
border-radius:6rem;
display:block;
font-size:1.6rem;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
max-width:33rem;
position: relative;
margin:0 auto;
}
.recruitbtn a::before{
font-family: 'Material Symbols Sharp';
content: '\e5df';
font-weight:600;
position: absolute;
right:2.5rem;
bottom: 0;
top: 0;
color:#fff;
font-size:2.4rem;
display: flex;
align-items: center;
}
.recruitbtn a:hover{box-shadow:none;background:#3ab3d8;}


/* Breadcrumb
-----------------------------------------*/
.breadcrumb{margin: 0 3rem;border-bottom:0.3rem solid #fff;}
.breadcrumbInner{
font-size: 1.6rem;
width:auto;
line-height:1.4;
color:#D3D3D3;
max-width:114rem;
margin:0 auto;
padding: 4rem 0 2rem;
}
.breadcrumb a{color:#666666; font-weight: normal;}
.breadcrumb a:hover{text-decoration: underline;}
.breadcrumb .bcicon::before{
font-family: 'Material Symbols Sharp';
content: '／';
color:#737070;
font-size: 1.6rem;
vertical-align: top;
padding:0.5rem 1rem;
}

/* Contact layout
-----------------------------------------*/
#info_hyo{width: 100%;border-top: 0.1rem solid #bdbdbd;}
#info_hyo th,
#info_hyo td{
border-bottom: 0.1rem solid #bdbdbd;
padding: 1rem;
text-align: left;
vertical-align: middle;
line-height: 1.8;
font-size: 1.6rem;
}
#info_hyo th{background:#027B3B;color: #fff;text-align: center;}
.info_sendbox{padding:2rem;}
/*Form Layout*/
.mw_wp_form{background: #fafafa;padding:4rem 2rem;}
.point-info{font-size:1.3rem;margin-bottom: 1rem;}
.form_contents{max-width:68rem; margin:0 auto;}
.formbox{margin-bottom: 3rem;clear: both;overflow: hidden;position: relative;}
.formbox label{font-size:1.9rem;margin-bottom: 0px;border:none;display: block; margin-bottom:2rem;display: flex; align-items: center;font-weight:600;}
.formbox label.formsubtxt{
font-size: 1.7rem;
margin: 0 0 0.5rem;
border:none;
line-height: 1.6;
padding: 1rem 0.5rem 0.5rem;
}
span.required{color:#fff;font-size: 1.3rem;margin-left:1rem;background:#f53f2c;padding:0.5rem 1rem;border-radius:0.5rem;font-weight:600;}
span.rei{
color: #5a5a5a;
font-size:1.4rem;
display: block;
margin-bottom:0.3rem;
line-height: 1.6;
}
.mw_wp_form .error{
font-size: 100%;
font-size: 1.2rem;
clear: both;
color:#fff;
background:#0073ec;
padding:0.5rem 1rem;
border-radius:0.5rem;
font-weight:600;
width:auto;
display: inline-block;
margin:0.5rem 0 0;
}
.formbox input{
border: 0.2rem solid #ccc;
padding: 1.5rem 1rem;
border-radius: 0.5rem;
margin-bottom:0;
width: 100%;
}
.formbox select{
background: #FFF;
border: 0.2rem solid #ccc;
border-radius: 0.5rem;
height: 4rem;
text-indent: 0.5rem;
display: flex;
align-items: center;
justify-content: center;
position: relative;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
background: #fff url('../img/common/select-arrow.svg') no-repeat right 0.5rem center;
padding-right:0;
}
.formbox textarea{
background: #FFF;
border: 0.2rem solid #ccc;
border-radius: 0.5rem;
padding: 1.5rem 1rem;
width: 100%;
}
#radiolist{padding: 1rem 0;display:grid;gap:1rem;}
.Category_list{grid-template-columns:auto auto auto auto;justify-content:start;}
.Category_list2{grid-template-columns:auto auto;justify-content:start;}
.Category_list3{grid-template-columns:auto auto auto;justify-content:start;}
.mw_wp_form .Category_list .error{width:10.5rem;}
.formbox #radiolist label{font-size:1.6rem;margin-bottom:0;}
.mwform-radio-field-text{
padding-left: 2rem;
position:relative;
margin-right: 0.3rem;
}
.mwform-radio-field-text::before{
content: "";
display: block;
position: absolute;
top: 0.2rem;
left: 0;
width: 1.5rem;
height: 1.5rem;
border: 0.2rem solid #ccc;
border-radius: 50%;
}
.radiobtn:checked + .mwform-radio-field-text::after{
content: "";
display: block;
position: absolute;
top: 0.3rem;
left: 0.1rem;
width: 1.3rem;
height: 1.3rem;
background: #40a355;
border-radius: 50%;
}
.radiobtn{display: none;}
/* css checkbox01 */
.douicheck{display: none;}
.mwform-checkbox-field label{font-size:1.8rem;justify-content: center;}
.mwform-checkbox-field-text{
position:relative;
display: flex;
align-items: center;
justify-content:center;
}
.mwform-checkbox-field-text::before{
content: "";
display: block;
width: 1.5rem;
height: 1.5rem;
border: 0.2rem solid #ccc;
border-radius:0.4rem;
margin-right:0.5rem;
}
.douicheck:checked + .mwform-checkbox-field-text::after{
content: "";
display: block;
position: absolute;
top: 0.5rem;
left: 0.5rem;
width: 0.7rem;
height: 1.4rem;
transform: rotate(40deg);
border-bottom: 0.3rem solid #40a355;
border-right: 0.3rem solid #40a355;
}
.formBtn{padding-bottom:3.5rem;margin:0 auto;max-width:25rem;}
.formBtn input {
background:#036431;
color:#fff;
padding:2rem 3.5rem;
border-radius:6rem;
display:block;
font-size:16px;
box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
position: relative;
cursor: pointer;
width:100%;
text-align: center;
}
.formBtn input:hover {background:#009b49;}
.formBtn input.EntryInp{background:#2691B1;}
.formBtn input.EntryInp:hover {background:#3ab3d8;}
.formbox input.douicheck{width:1rem;}
.formbox .birthList{
display: grid;
gap: 1rem;
grid-template-columns: auto auto auto;
justify-content: start;
}
.formbox .birthbox01,
.formbox .birthbox02,
.formbox .birthbox03,
.formbox .sostugyoyear{
font-size:1.4rem;
display: flex;
gap:0.5rem;
align-items: center;
}
.formbox .year-graduation-txt{font-size:1.4rem;}
.formbox input.job-history{width: 8rem;}
.formbox input.year-graduation{width: 7rem;padding: 1rem;}
.formbox input.year-graduation02{width: 7rem;padding:1rem;}
.formbox select.year-form{width: 8rem;}
.formbox select.month-form,
.formbox select.day-form{width: 6rem;}
span.mwform-file-delete{
font-size:2rem;
font-weight:600;
position: absolute;
top:9.2rem;
right: 2rem;
}
.mw-wp-form_file{padding:1rem;font-size:1.6rem;background:#EFEFEF;margin-top:0.5rem;}
input,
select,
textarea{
border: none;
outline: none;
box-sizing: border-box;
font-size: 14px;
background:#fff;
}
/* ホバー時 */
input:hover,
select:hover,
textarea:hover{
border-color: #40a355;
}
/* フォーカス時 */
input:focus,
select:focus,
textarea:focus{
border-color: #40a355;
}
/* 確認用レイアウト */
.mw_wp_form_preview .required,
.mw_wp_form_preview .rei,
.mw_wp_form_preview h2,
.mw_wp_form_preview .point-info,
.mw_wp_form_preview .douicheckarea,
.mw_wp_form_preview .note{
display: none;
}
.mw_wp_form_preview .formbox{font-size:1.6rem;margin-bottom:3rem;background:#fff;padding:2rem;font-weight:600;}
.mw_wp_form_preview .formbox label{font-size:1.4rem;font-weight:500;color: #ccc;}
.mw_wp_form_preview .formbox label.formsubtxt{font-size:1.3rem;font-weight:500;margin:2rem 0 1rem;padding: 0;}
.mw_wp_form_preview .formBtn input {margin: 0 auto 2rem auto;}
.mw_wp_form_complete{display: none;}
.mw_wp_form_preview .formBtn input:nth-child(2){background:#F8F8F8;color:#333333;}
.mw_wp_form_preview .formBtn input:nth-child(2):hover{background:#fdfbfb;}
.mw_wp_form_preview .formbox .birthbox01{width:auto;}
.mw_wp_form_preview .formbox .birthbox02,
.mw_wp_form_preview .formbox .birthbox03{width:auto;}
.mw_wp_form_preview .formbox .birthbox01,
.mw_wp_form_preview .formbox .birthbox02,
.mw_wp_form_preview .formbox .birthbox03,
.mw_wp_form_preview .formbox .sostugyoyear,
.mw_wp_form_preview .formbox .year-graduation-txt{font-size:1.6rem;}

/* Responsible area
-----------------------------------------*/
/* mobile tablet Device*/
@media screen and (min-width:0px) and ( max-width:540px) {
html.LPPageScale{font-size: calc(100vw / 540);}
h1{font-size:26rem;}
h2{font-size:24rem;}
h3{font-size:22rem;}
h4{font-size:20rem;}
h5{font-size:18rem;}
p{font-size: 16rem;}
ul li{font-size:16rem;}
dl dt,dl dd{font-size:16rem;}
.ScB_SP{display: block;}
.mainTPjg .scroll-txt{bottom:-15rem;}
.topVisual_l .topTitle_l{font-size:60rem;}
.topVisual_r .topTitle_r{font-size:40rem;}
h1.title{padding:15rem 30rem;font-size:16rem;}
.mainTPbox h1,
.abusInner h3,
.rutInner h3{font-size:24rem;}
.line-square1{width:2rem;}
.mainTPrt .toprutCon .grid_Box{gap:10rem;}
.mainTPrt .toprutCon .recruitlist figure{height:60rem;}
.mainTPas .grid_Box{padding:400rem 0 0;}
.mainTPas2 .grid_Box{padding-bottom:250rem;}
.mainTPas2 .abusInner{padding:80rem 40rem;}
.nav .gnav-content .tabInner ul.subnv li a{font-size:16rem; padding: 10rem;}
.nav .gnav-content .tabInner ul.subnv li a::before{width: 60rem;height: 60rem;}
.mainTPjg .jigyoulist figure{height:60rem;}
.mainTPjg .jigyouInner .grid_Box{gap:20rem;}
.topVisual .rttopTitle{font-size:26rem;}
.rtP_2 .numberInner .grid_Box{gap:20rem;}
.rtP_2 .numlist figure{height:60rem;}
.rtP_6 .rt_employeelist figure {height: 60em;}
.rtP_8 .faqInner .q_area,
.rtP_8 .faqInner .a_area{display: block;position: relative;}
.rtP_8 .faqInner .q_area p,
.rtP_8 .faqInner .a_area p{padding:0 0 0 40rem;}
.rtP_8 .faqInner .q_area::before,
.rtP_8 .faqInner .a_area::before{font-size:20rem;position:absolute;top:0;}
.rtP_8{display: block;}
.rtP_9 h2 figure{max-width:250rem;}
.rtP_9 figure.rtImageEy{top:130rem;}
.Inner h2{margin-bottom:20rem;}
.mapbox.bdrall div{max-width:100%;aspect-ratio: 1 / 1;}
.search-form input[type="text"]{font-size:14px;}
.form_contents{max-width:100%;}
.topMainVl2{aspect-ratio: 18 / 9;}
}
@media screen and (min-width:0px) and ( max-width:840px) {
.topMainVl{aspect-ratio: 10 / 9;}
.rtP_4 .rt_day_l .grid_Box{gap:40rem; grid-template-columns: repeat(1, minmax(0, 1fr)); margin-bottom: 40rem;}
.rtP_2 .numberInner .grid_Box{grid-template-columns: repeat(1, 1fr);}
.rtP_2 .numlist{
display: grid;
grid-template-columns: 1fr 1fr; /* 左右2列 */
grid-template-rows: 1fr 1fr;   /* 上下2行 */
align-items: center;           /* 行方向の中央揃え */
gap: 10rem;
aspect-ratio: auto;
justify-content: center;
}
.num1 {
grid-column: 1;
grid-row: 1;
justify-self: start;
}
.num2 {
grid-column: 1;
grid-row: 2;
justify-content: center;
}
.num3 {
grid-column: 2;
grid-row: 1 / span 2; /* 右側の中央に配置 */
justify-content: center;
}
.rtP_6 .rt_employeelist p{font-size:14rem;}
.mainTPrt .toprutCon .recruitlist p{font-size:14rem;}
}
@media print, screen and (min-width:541px) and ( max-width:840px) {
html.LPPageScale{font-size: calc(100vw / 840);}
.nav .gnav-content .tabInner ul.subnv li a{padding: 60rem 10rem;}
}

@media screen and (min-width:541px) and (max-width:1140px){
.SP_PcB{display: none;}
h1{font-size:26rem;}
h2{font-size:24rem;}
h3{font-size:22rem;}
h4{font-size:20rem;}
h5{font-size:18rem;}
p{font-size: 16rem;}
ul li{font-size:16rem;}
dl dt,dl dd{font-size:16rem;}
.mainTPjg .scroll-txt{bottom:-20rem;}
h1.title{padding:15rem 30rem;font-size:20rem;}
.topVisual_l .topTitle_l{font-size:90rem;}
.topVisual_r .topTitle_r{font-size:60rem;}
.mainTPbox h1,
.abusInner h3,
.rutInner h3{font-size:36rem;}
.line-square1{width:1rem;}
.mainTPrt .toprutCon .recruitlist figure{height:80rem;}
.mainTPrt .toprutCon .grid_Box{gap:20rem;}
.mainTPas2 .grid_Box{padding-bottom:60rem;}
.mainTPas .grid_Box{padding:0;}
.mainTPas2 .abusInner{padding:80rem;}
.nav .gnav-content .tabInner ul.subnv li a{font-size:18rem;}
.nav .gnav-content .tabInner ul.subnv li a::before{width: 80rem;height: 80rem;}
.mainTPjg .jigyoulist figure{height:80rem;}
.mainTPjg .jigyouInner .grid_Box{gap:30rem;}
.topVisual .rttopTitle{font-size:36rem;}
.rtP_2 .numberInner .grid_Box{gap:30rem;}
.rtP_2 .numlist figure{height:80rem;}
.rtP_6 .rt_employeelist figure {height: 80em;}
.rtP_8 .faqInner .q_area,
.rtP_8 .faqInner .a_area{gap:20rem;grid-template-columns:40rem 1fr;}
.rtP_8 .faqInner .q_area::before,
.rtP_8 .faqInner .a_area::before{font-size:30rem;}
.rtP_9 h2 figure{max-width:500rem;}
.rtP_9 figure.rtImageEy{top:200rem;}
.Inner h2{margin-bottom:50rem;}
.mapbox.bdrall div{max-width:600rem;aspect-ratio: 16 / 9;}
.grid_Box.clm2.jigyou-imgcon{grid-template-columns: repeat(2, 1fr);}
.form_contents{max-width:680rem;}
}

/* mobile Device*/
@media screen and (min-width:0px) and (max-width:1140px){
.mb05{margin-bottom:5rem;}
.mb10{margin-bottom:10rem;}
.mb15{margin-bottom:15rem;}
.mb20{margin-bottom:20rem;}
.mb25{margin-bottom:25rem;}
.mb30{margin-bottom:30rem;}
.mb35{margin-bottom:35rem;}
.mb40{margin-bottom:40rem;}
.mb45{margin-bottom:45rem;}
.mb50{margin-bottom:50rem;}
.mb55{margin-bottom:55rem;}
.mb60{margin-bottom:60rem;}
.mb65{margin-bottom:65rem;}
.mb70{margin-bottom:70rem;}
.mgcnter{margin:0 auto;}
.PcB{display: none;}
.ScB{display: block;}
.sp_mb10{margin-bottom:10rem;}
.sp_mb15{margin-bottom:15rem;}
.sp_mb20{margin-bottom:20rem;}
.sp_ml10{margin-left:10rem;}
.sp_ml15{margin-left:15rem;}
.sp_ml20{margin-left:20rem;}
.fontsize1{font-size:18rem;}
.fontsize2{font-size:20rem;}
.fontsize4{font-size:22rem;}
.txtal{display: block;}
.txtblock{display: block;}
sub,
.subText{font-size:14rem;}
.note{padding: 0 0 0 14rem;font-size:14rem;}
.line{border-bottom:3rem solid #c0d3dd;padding: 0 0 40rem 0;}
.bdr{border-bottom:3rem solid #c0d3dd;padding: 0 0 20rem 0;margin-bottom:20rem;}
.plus{position: relative;height:60rem;margin:30rem 10rem 20rem;}
.plus::before{font-size:60rem;}
figure.img1{max-width:200rem;}
figure.img2,.img2{max-width:100rem;}
figure.mgat{margin:0 auto;}
figcaption{font-size:16rem;margin-top:5rem;}
.ht100{height:auto;}
/* [id] {display: block;margin-top:-80rem;padding-top:-80rem;} */
.scroll-img {height: 170rem;}

/* Tab area
-----------------------------------------*/
.tab-button{font-size:16rem;}

/* Animation area
-----------------------------------------*/
.fade-in {transform: translateY(25rem);}
#TOP .line-container{padding:20rem 0 80rem;}
@keyframes moveUpDown {
0% {
transform: translateY(0);
}
100% {
transform: translateY(60rem); /* 下に動く距離 */
}
}
.line-square1{height:70rem;}
.line-square2{width:10rem;height:10rem;}
.line-bdr{height:10rem;margin:30rem 40rem;}
.line-bdr2{height:3rem;margin:0 20rem;}


/* Header area
-----------------------------------------*/
.menu-btn {
display: block;
position: relative;
width: 40rem;
height: 40rem;
border: none;
background: none;
cursor: pointer;
margin: 0 20rem;
z-index:5;
}
.menu-btn span {
position: absolute;
left: 0;
width: 100%;
height: 4rem;
background: #000;
transition: transform 0.3s ease, opacity 0.3s ease;
}
/* 上中下に均等配置 */
.menu-btn span#line1 {
top: 8rem;
}
.menu-btn span#line2 {
top: 18rem;
}
.menu-btn span#line3 {
top: 28rem;
}
/* 開いたとき */
.menu-btn[aria-expanded="true"] span#line1 {
transform: translateY(10rem) rotate(45deg);
}
.menu-btn[aria-expanded="true"] span#line2 {
opacity: 0;
}
.menu-btn[aria-expanded="true"] span#line3 {
transform: translateY(-10rem) rotate(-45deg);
}
.fgb_info{display: block;margin-bottom:40rem;}
header{height:80rem;grid-template-columns:auto auto;}
.logo{max-width:500rem;padding:0 20rem;}
.nav{padding:0 20rem;}
.nav.gnav{display: none;}
.nav.gnav.open{display:grid;height:100%;background:#fff;width:100%;
position: fixed;padding-top: 20rem;grid-template-columns: repeat(3, 1fr);top:80rem;}
.nav.gnav div.gnav-button,
.nav.gnav a{font-size:20rem;padding:20rem 0;position: relative;}
.nav .info,
.nav .search-menu{display: none;}
.nav .gnav-content{top:80rem;padding:40rem;}
.nav.gnav div.gnav-button::before{
font-family: 'Material Symbols Sharp';
content: '\f819';
font-weight:600;
position: absolute;
right:0;
left:0;
bottom: -35rem;
color:#ccc;
font-size:24rem;
transform: rotate(90deg);
z-index:1000;
}
.nav.gnav div.gnav-button.active::before{bottom: -35rem;
font-size:24rem;}
.nav .gnav-content.active{
position: absolute;
padding:0;
}
.nav .gnav-close {display: none;}
.nav .info a{padding:0 0 0 30rem;}
.nav .info a::before{font-size:24rem;}
.nav .gnav-content .tabInner a.navi_tit_link{display: none;}
.nav .gnav-content .tabInner ul.subnv{padding:50rem 20rem 40rem;}
.nav .gnav-content .tabInner ul.subnv.c_link{grid-template-columns: repeat(3, 1fr);}
.nav .gnav-content .tabInner  ul.subnv.b_link{grid-template-columns: repeat(3, 1fr);}
.nav .gnav-content .tabInner  ul.subnv.r_link{grid-template-columns: repeat(3, 1fr);}
.nav .gb_common{
display: block;
padding:20rem 0 130rem;
border-top:3rem solid #F8F8F8;
}
.nav .gb_common .gb_linklist{gap:40rem;display: flex;
justify-content: start;padding: 10rem 0 40rem;}
.nav .gb_common .gb_linklist .btnlnk4 a{font-size: 16rem;
padding: 15rem 55rem 15rem 35rem;}

/* Search area
-----------------------------------------*/
.gb_search{
position: relative;
max-width: 500rem;
margin:0 auto;
}
.search-form{padding:20rem;}
.search-form input[type="text"] {
padding:20rem 30rem 20rem 20rem;
border-radius: 3rem;
box-shadow: 0px 0px 8rem -3rem rgba(0,0,0,0.6) inset;
width: 100%;
border-radius:30rem;
}
.search-form input[type="submit"] {
background-size: 20rem 20rem;
width: 24rem;
height: 24rem;
right:40rem;
}
.searchbox:last-child{border-bottom:3rem solid #F8F8F8;}
.searchbox a,
.searchbox p{font-size:16rem;padding:30rem 40rem;border-top:3rem solid #F8F8F8;}
.searchbox a::before{right:20rem;font-size:30rem;}




/* Layout area
-----------------------------------------*/
main.tpInner{margin-top:80rem;}
#mainCon .contents{margin:0 30rem;}
#TOP.contents,
#recruitTOP.contents{margin:0;}
#mainCon .boxInner{max-width:100%; margin:40rem auto;}
#mainCon .boxsubInner{margin-bottom:40rem;}

/* Title area
-----------------------------------------*/
#mainCon .boxsubInner h2,
#mainCon .recruitmentbox h2.bosyu-tit{margin-bottom:25rem;}
#mainCon .boxsubInner h3.title{font-size: 50rem;margin-bottom: 40rem;}
#mainCon .boxsubInner h3.title2{padding:10rem;}
#mainCon .boxsubInner h4.title{margin-bottom:15rem;}
#mainCon .boxsubInner h4.title2{padding:5rem 10rem;border-radius:30rem;margin-bottom:15rem;}
#mainCon .boxsubInner h4.title2::before{font-size:50rem;margin-right:10rem;}
#mainCon .boxsubInner h4.title2.v2{padding: 20rem;}

/* TXT area
-----------------------------------------*/
ul.list1 li{padding:0 0 0 40rem;margin:0 0 20rem;}
ul.list2 li{padding: 0 0 0 16rem;margin:0 0 10rem;}

/* Grid area
----------------------------------------*/
.grid_Box{display: grid;}
.grid_Box.clm2{grid-template-columns: repeat(1, 1fr);}
.grid_Box.clm3{grid-template-columns: repeat(2, 1fr);}
.grid_Box.clm4{grid-template-columns: repeat(2, 1fr);}

/* Main Top area
-----------------------------------------*/
.Inner{position: relative;}
.Inner h2{font-size:32rem;}
.Inner h2 span{font-size:14rem;}
.topVisual_l .topTitle_l,
.topVisual_r .topTitle_r{text-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);}
.mainTPbox,
.mainTPas,
.Inner.mainTPas2{max-width:100%;margin:0;}
.mainTPbox h1{padding:0 20rem; margin-bottom:20rem;}
.abusInner h3{padding:0; margin-bottom:20rem;}
.rutInner h3{padding:0; margin-bottom:20rem;}
.mainTPbox .mainTPtxt p,
.abusInner p,
.rutInner p{font-size:18rem;}
.mainTPbox{padding:80rem 0 20rem;}
.mainTPbox .mainTPtxt p{position: static; padding:0 20rem 40rem;}
.mainTPbox .mainTPtxt figure img{width:100%;}
.jigyoTpBg{margin-bottom: 160rem;}
.mainTPjg h2{padding-top:40rem;}
.mainTPjg .tab-group{padding-bottom:100rem; max-width:1140rem;}
.mainTPjg .tabs{gap:30rem;margin-bottom:30rem;}
.mainTPjg .tab-button{border-radius:30rem;padding:10rem 40rem;width:auto;}
.mainTPjg .tab-button.active figure{width: 70rem;}
.mainTPjg .tab-container{padding:50rem 30em;margin:0 30rem;}
.mainTPjg .jigyouInner .grid_Box{max-width:560rem; margin:0 auto;grid-template-columns: repeat(2, minmax(0, 1fr));}
.mainTPjg .jigyouInner .grid_Box.v2{grid-template-columns: repeat(2, minmax(0, 1fr));}
.mainTPjg .jigyoulist{margin-bottom:10rem;}
.mainTPjg .jigyouInner p{margin-bottom:20rem;}
.mainTPjg .jigyoulist a.linkbtn{padding:20rem 10rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);}
.mainTPjg .jigyoulist figure{margin:0 auto 20rem;}
.mainTPjg .jigyoulist figure img{height:100%;}
.mainTPjg .jigyoulist p{
text-align: center;
}
.mainTPjg .jigyoulist .btnlnk2{bottom:-10rem;right:20rem;}
.mainTPas .abusInner{
padding:80rem;
background:rgba(255, 255, 255, 0.8);
position: absolute;
top:0;
left:0;
z-index:2;
}
.mainTPas2 .abusInner{
background:rgba(255, 255, 255, 0.8);
position: absolute;
bottom:0;
right:0;
z-index:2;
}
.abusInner p,
.rutInner p{margin-bottom:40rem;}
.mainTPas .grid_Box{display: block;margin:0;position: relative;}
.mainTPas figure{margin-left:40rem;}
.mainTPas2 .grid_Box{display: block;position:relative;}
.mainTPas2 .grid_Box figure{margin-right:80rem;padding-bottom:50rem;}
.mainTPrt{max-width:1140rem;}
.rutInner{padding:0 40rem;}
.mainTPrt .toprutCon{max-width:720rem;margin:60rem auto 0;}
.mainTPrt .toprutCon h3{margin-bottom:20rem;font-size:27rem;}
.mainTPrt .grid_Box{gap:40rem;grid-template-columns: repeat(1, 1fr);}
.mainTPrt .toprutCon .grid_Box{grid-template-columns: repeat(3, minmax(0, 1fr));margin:0 20rem;
}
.mainTPrt .grid_Box figure{
aspect-ratio: 16 / 9;
aspect-ratio: 16 / 9;   /* 16:9 の比率に固定 */
overflow: hidden;        /* はみ出た部分を切る */
}
.mainTPrt .grid_Box figure{
height: 100%;
object-fit: cover;       /* 親に合わせて切る */
}

.mainTPrt .toprutCon .recruitlist a.linkarea{
padding: 40rem 10rem;
box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);
}
.mainTPrt .toprutCon .recruitlist figure{margin:0 auto 20rem;}
.mainTPrt .toprutCon .recruitlist figure img{height:100%;}
.mainTPrt .toprutCon .recruitlist .btnlnk2 {bottom: -10rem;right: 20rem;}
.mainTPns{padding:100rem 20rem;}
.mainTPns .NewsList{max-width:1140rem;}
.top_bg2::before {
clip-path: polygon(
0 80%,     /* 左上を下げる */
100% 0,    /* 右上を上に */
100% 100%, /* 右下 */
0 100%     /* 左下 */
);
z-index: -1;
}
.top_bg2.v2{margin-top:-80rem;}
.top_bg2.v2::before{
clip-path: polygon(
0 5%,     /* 左上を下げる */
100% 0,    /* 右上を上に */
100% 100%, /* 右下 */
0 100%     /* 左下 */
);
}
.top_bg2-2::before {
clip-path: polygon(
0 0,
100% 0,
100% 100%,
0 80%
);
z-index: -1;
}
.top_bg5::before {
clip-path: polygon(
0 0,       /* 左上 */
100% 0,    /* 右上（水平） */
100% 80%,  /* 右下を少し上げる */
0 100%     /* 左下はそのまま */
);
z-index: -1;
}
.top_bg6::before {
clip-path: polygon(
0 0,       /* 左上 */
100% 20%,  /* 右上を少し下げて緩やかに右下へ */
100% 100%, /* 右下 */
0 100%     /* 左下 */
);
z-index: -1;
}

.groupArea{padding:60rem 0;}
.groupArea h3{margin-bottom:40rem;font-size:27rem;}
.groupArea .swiper-container.swiper1 .swiper-slide figure{height:40rem;}

/* Recruit Top area
-----------------------------------------*/
.topVisual .rttopTitle{
bottom:30rem;
padding:0 40rem;
text-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.20);
}
.rttop .grid_Box{grid-template-columns:1fr 150rem;}
.rttop .grid_Box a.entrybtn{font-size:16rem;}
.rttop .grid_Box a.entrybtn.show{padding:10rem; top:140rem;}

.rtP_1 h2{font-size:24rem;padding:40rem 20rem;text-align: center; margin:0 0 80rem;}
#pg1{padding: 60rem 0 0;}
.rtP_2{padding: 180rem 40rem 80rem;}
.rtP_2 h2{margin: 0 auto 40rem; max-width:100%;font-size:22rem;}
.numberInner.no2,
.numberInner.no3{padding:80rem 0 0;}
.numberInner h3{font-size:50rem; margin-bottom:30rem;}
.numberInner p{font-size:18rem;margin-bottom:60rem;}
.rtP_2 .numberInner .grid_Box{
max-width:840rem;
margin:0 auto;
}
.rtP_2 .numberInner p{margin-bottom:40rem;}
.rtP_2 .numlist{padding:30rem 20rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);}
.rtP_2 .numlist figure{margin:0 auto 10rem;}
.rtP_2 .numberInner .numlist p.nmbtxt span.counter{font-size:70rem;padding:0 10rem;}
.rtP_2 .numberInner .numlist p.nmbtxt sub{font-size:13rem;bottom:0;}
.rtP_3{padding:60rem 40rem;}
.rtP_3 h2{font-size:40rem; margin-bottom:40rem;}
.rtP_3 .swiper-container{padding:60rem 0;max-width:780rem; margin:0 auto;}
.rtP_3 .tec_msInner{padding:40rem;}
.rtP_3 .tec_msInner h3,
.rtP_3 .tec_msInner p{margin-bottom:20rem;}
.rtP_3 .tec_msInner .msgrid figure{max-width:300rem; margin:0 auto; position:static; padding:0 0 0 40rem;}
.rtP_3 .tec_msInner .msgrid figure img{margin-bottom:20rem;}
.rtP_3 .tec_msInner .msgrid figure p.mssub_txt2{font-size:20rem;}
.rtP_3 .tec_msInner .msgrid{grid-template-columns:auto;}

.rtP_4{padding:60rem 40rem;}
.rtP_4 h2{max-width:100%;margin:0 auto 40rem;font-size:22rem;}
.rtP_4 h2 span{
font-size:16rem;
padding-left: 60rem;    /* テキストと線の間隔 */
}
.rtP_4 h2 span::before{
left: 5rem; /* テキストの右端から */
width: 50rem; /* 線の長さ */
height: 1rem;
}
.rtP_4 .grid_Box{max-width:100%;grid-template-columns: auto;}
.rtP_4 .rt_day_l{box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);padding:40rem;margin-bottom:40rem;}
.rtP_4 .rt_day_l p.rt_time{margin-bottom:10rem;font-size:17rem;}
.rtP_4 .rt_day_r .rtbord{padding:60rem 40rem; max-width:60%;}
.rtP_4 .rt_day_r .rtbord.rt_work{margin-bottom:40rem;}
.rtP_4 .rt_day_r .rtbord.rt_comment{display: block;margin-left: auto;margin-right: 0;}
.rtP_4 .rt_day_r .rtbord.rt_work figure{width:90rem;}
.rtP_4 .rt_day_r .rtbord figure{max-width:130rem;top:-5rem;left:-10rem;}
.rtP_5 figure.title_icon,
.rtP_6 figure.title_icon{height:80rem;margin: 0 auto 10rem;}
.rtP_5 h2,
.rtP_6 h2{margin-bottom:60rem;font-size:22rem;}
.rtP_5{padding:60rem 0;max-width:1140rem;}
.rtP_6{padding:60rem 40rem;max-width:1140rem;}
.rtP_5 .grid_Box{gap:40rem; display: block;}
.rtP_5 .rt_systemInner{padding:0 40rem;margin-bottom:40rem;}
.rtP_5 .rt_systemInner h3{font-size:24rem; margin-bottom:20rem;}
.rtP_5 .rt_systemInner p{margin-bottom:40rem;}
.rtP_5 .grid_Box figure{width:70%;display: block;margin-left: auto;margin-right: 0;}
.rtP_6 .grid_Box{gap:30rem;grid-template-columns: repeat(3, minmax(0, 1fr));max-width:780rem;margin:0 auto;}
.rtP_6 .rt_employeelist{padding: 2rem;}
.rtP_7{padding:60rem 40rem 140rem;}
.rtP_7 h2{max-width:100%; margin:0 auto 40rem;font-size:22rem;}
.rtP_7 .message-list{margin-bottom:40rem;}
.rtP_7 .message-list .item .name{
position: absolute;
bottom:-30rem;
padding:15rem 40rem;
box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);
}
.rtP_7 .message-list .item .name p.txtnm1{margin-bottom:10rem;}
.rtP_8 h2{font-size:22rem;}

/* Message Modal area
-----------------------------------------*/
#modal .modal-content{
padding:80rem 40rem;
box-shadow: 0 5rem 135rem rgba(0,0,0,0.3);
margin:0 40rem;
max-width:100%;
}
#modal .modal-message{
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 60rem;
max-width:1140rem;
}
#modal .modal-message .modal-area01 h4{margin-bottom:20rem;}
#modal .modal-message .modal-area01 p{line-height:1.8;}
#modal .modal-message .modal-area01{
grid-column: 1 / -1; /* 1列目を全幅にする */
}
#modal .modal-message .modal-area02 {
grid-column: 1; /* 左側 */
grid-row: auto;
display: grid;
grid-template-columns: repeat(1, 1fr);
gap:20rem;
padding:0;
}
#modal .modal-message .modal-area03{
grid-column: 2; /* 右側 */
grid-row:auto;
}

#modal .modal-message .modal-area03 figure img{margin-bottom:20rem;}
#modal .modal-message .modal-area03 .mssub_txt1{margin-bottom:10rem;}
#closeModal {top: 10rem;right: 10rem;font-size: 50rem;}
.rtP_8{padding:60rem 40rem;}
.rtP_8 h3{margin-bottom:40rem; font-size:27rem;}
.rtP_8{grid-template-columns:auto;max-width:1140rem;}
.rtP_8 .faq-category{margin-bottom:80rem;}
.rtP_8 .faq-category .fag_c_tit{
font-size:16rem;
margin-bottom:20rem;
border-left:5rem solid #009B49;
padding-left:20rem;
}
.rtP_8 .faqInner{padding: 40rem;border-top:10rem solid #F8F8F8;
}
.rtP_8 .faqInner:last-child{border-bottom:10rem solid #F8F8F8;}
.rtP_8 .faqInner .q_area{margin-bottom:50rem;}
.rtP_8 .faqInner .a_area p{font-size:18rem;}

.rtP_9{padding:80rem 40rem; max-width:1140rem;}
.rtP_9 p{font-size:20rem; margin-bottom:40rem;}
.rtP_9 .btnlnk{margin-bottom:30rem;}

/*Slide pagination*/
.slideCon .pagination{padding:20rem 0;gap:20rem;}

.slideCon .swiper-button-next:after,
.slideCon .swiper-button-prev:after {font-size:40rem;}

/* News area
----------------------------------------*/
#mainCon .contents.Nwl p.Nstitle{font-size:24rem;margin-bottom:45rem;}
#mainCon .contents.Nwl .NewsList {margin-bottom:60rem;}
#mainCon .contents.Nwl .NewsList h2.title{margin-bottom:40rem;}
.NewsList .Newsbox{padding:40rem;margin-bottom:40rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);
}
.NewsList .Newsbox .NsGrid{grid-template-columns: auto;gap:20rem;}
.NewsList .Newsbox .tag span{width:90rem;padding:5rem 10rem;font-size:14rem;top:-55rem;}
.NewsList .Newsbox a,
.NewsList .Newsbox p{padding:0 35rem 0 0;font-size:16rem;}
.NewsList .Newsbox a::before{font-size:30rem;}


/* Contents area
----------------------------------------*/
.tobira{gap:20rem}
.btntit{font-size:16rem;padding: 20rem;}
.btntit::before{right:25rem;font-size:24rem;}
.rinen p{
border: 2rem solid #a58e5c;
padding: 20rem;
font-size:20rem;
}
.kokoroe p{padding:20rem 10rem;}
.c_branch{display: flex; gap:20rem;margin: 0 0 50rem;}
.c_branch a{width:30%;padding:15rem 10rem 30rem; font-size:16rem;border-radius:60rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);}
.c_branch a::before{font-size:24rem;}
.mapcon{gap:20rem;margin-bottom:30rem;}
.mapcon h3{margin-bottom:10rem;}
.mapbox.bdrall{padding:20rem;}

.historyline{max-width:840rem; margin:0 auto;}
.history_icon,
.historyline:before {display: none;}
.historyline li .history_day {width: 100%;padding: 0 0 20rem 0;position: relative;}
.historyline li .history_day span {text-align: left;}
.historyline li .history_day span:last-child {font-size:20rem;}
.historyline li .history_label {margin: 0 0 30rem 0;padding: 10rem;border-radius: 5rem;}
.historyline li .history_label:after {
right: auto;
left: 20rem;
border-right-color: transparent;
border-bottom-color: #8bc34a;
top: -18rem;
border-width: 10rem;
}
.historyline li:nth-child(odd) .history_label:after {
border-right-color: transparent;
border-bottom-color: #40a355;
}
.historyline li .history_icon {
position: relative;
float: right;
left: auto;
margin: -55rem 5rem 0 0;
}
.jigyou-imgcon,
.digitalcon{gap:30rem;}
.digital-imgbox,
.bim-cimbox,
.img-bim-cimbox,
.digital-moviebox,
.digitalcon{margin-bottom:40rem;}
.img-bim-cimbox{gap:30rem;}
.sankaku{padding:20rem;}
.sankaku::before{font-size: 40rem;}
.order-article{padding:20rem;}
.order-article02{padding:20rem;}
.recruitmentbox{margin-bottom:40rem;}

/* SiteMap area
-----------------------------------------*/
.sitemapList p a{margin-bottom:10rem;font-size:18rem;}
.sitemapList .sitemapInner{margin-bottom:20rem;}

/* tablepress area
-----------------------------------------*/
#tablepress-1,
#tablepress-2{
border-top: 1rem solid #bdbdbd;
border-right: 1rem solid #bdbdbd;
}
#tablepress-1 td,
#tablepress-2 th,
#tablepress-2 td{
border-bottom: 1rem solid #bdbdbd;
border-left: 1rem solid #bdbdbd;
padding: 15rem;
}
#tablepress-1 td.column-1{width: 10rem;}
#tablepress-2 .column-2{width:80rem;}
#tablepress-1 th,
#tablepress-1 td,
#tablepress-2 th,
#tablepress-2 td,
#news_list th,
#news_list td{font-size:16rem;}
#recruit_hyo{margin-bottom: 20rem;}
#recruit_hyo table{border-top: 1rem solid #bdbdbd;}
#recruit_hyo th,
#recruit_hyo td{
border-bottom: 1rem solid #bdbdbd;
border-right: 1rem solid #bdbdbd;
padding: 10rem;
font-size: 16rem;
}
#recruit_hyo td.column-1{width:100rem;font-size: 14rem;}
#recruit_hyo td.column-2{width:120rem;}


/* PageTop area
-----------------------------------------*/
.PageTop a{width:60rem;}
.PageTop a figure{padding:30rem 10rem;}
.PageTop a figure img{width:30rem;}


/* Footer area
-----------------------------------------*/
footer .grid_Box{display: block;
padding:40rem;
}
.ft_Column1,
.ft_Column2{max-width:780rem;}
.ft_Column1{padding:6rem 2rem;gap:6rem;}
.ft_Column2{padding:2rem 2rem 2rem;}
.footer_LT figure.ft_logo{max-width:320rem;margin:0 auto 40rem;}
.footer_LT{
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20rem;
justify-content: center;
}
.footer_LT a {grid-column: 1 / -1;}
.footer_LT .btnlnk3 .spitem1{grid-column: 1;}
.footer_LT .btnlnk3 .spitem2 {grid-column: 2;}
.footer_LT .btnlnk4 {grid-column: 1 / -1; /* 1列分（横いっぱい） */}
.footer_LT .btnlnk3 .spitem1,
.footer_LT .btnlnk3 .spitem2{margin-bottom:20rem;}
.footer_LT .btnlnk3 a{margin:0 auto;}
.footer_LT .btnlnk4{max-width:250rem; margin:0 auto;}
.footer_RT{display: none;}
.ft_Column2 ul.pglink_sub {margin-bottom:40rem;}
.ft_Column2 ul.pglink_sub li a{font-size:14rem;}
footer .copyright small{font-size:16rem;}

/* Btn area
-----------------------------------------*/
.btnlnk a{padding:20rem 35rem;border-radius:60rem;font-size:16rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);max-width:330rem;
}
.btnlnk a.link_icon::before{right:25rem;font-size:24rem;}
.btnlnk2 a{padding:5rem 20rem;border-radius:60rem;font-size:14rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);
}
.btnlnk2 a:hover{box-shadow:none;background:#009b49;}
.btnlnk2.rtlink a{background:#2691B1;}
.btnlnk2.rtlink a:hover{background:#3ab3d8;}
.btnlnk3 a{
border:3rem solid #fff;
padding:15rem;
font-size:16rem;
max-width:100%;
gap:20rem;
}
.btnlnk3 a::before{font-size:24rem;}
.btnlnk3 a.info_icon{font-size:17rem;}
.btnlnk3 a.info_icon.gbmn{font-size:16rem;border:1rem solid #036431;margin: 0 auto;max-width:350rem;}
.btnlnk4 a{padding:15rem 55rem 15rem 35rem;font-size:14rem;}
.btnlnk4 a::before{right:25rem;font-size:20rem;}
.recruitbtn a{padding:20rem 35rem;border-radius:60rem;font-size:16rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);max-width:330rem;}
.recruitbtn a::before{right:25rem;font-size:24rem;}

/* Breadcrumb
-----------------------------------------*/
.breadcrumb{margin: 0 30rem;border-bottom:3rem solid #fff;}
.breadcrumbInner{
font-size: 16rem;
max-width:100%;
padding: 40rem 0 20rem;
}
.breadcrumb a:hover{font-size: 16rem;}
.breadcrumb a{text-decoration: underline;color:#666666; font-weight: normal;}
.breadcrumb .bcicon::before{font-size: 16rem;padding-bottom:50rem;padding:5rem 10rem;}

/* Contact layout
-----------------------------------------*/
#info_hyo{border-top: 1rem solid #bdbdbd;}
#info_hyo th,
#info_hyo td{
border-bottom:1rem solid #bdbdbd;padding: 10rem;font-size: 16rem;}
.info_sendbox{padding:20rem;}
/*Form Layout*/
.mw_wp_form{padding:40rem 20rem;}
.point-info{font-size:13rem;margin-bottom: 10rem;}
.formbox{margin-bottom: 30rem;}
.formbox label{font-size:19rem;margin-bottom:20rem;}
.formbox label.formsubtxt{font-size: 17rem;margin: 0 0 5rem;padding: 10rem 5rem 5rem;}
span.required{font-size: 13rem;margin-left:10rem;padding:5rem 10rem;border-radius:5rem;}
span.rei{font-size:14rem;margin-bottom:3rem;}
.mw_wp_form .error{font-size: 12rem;padding:5rem 10rem;border-radius:5rem;margin:5rem 0 0;}
.formbox input{border: 2rem solid #ccc;padding: 15rem 10rem;border-radius: 5rem;}
.formbox select{border: 2rem solid #ccc;border-radius: 5rem;height: 40rem;text-indent: 5rem;}
.formbox textarea{border: 2rem solid #ccc;border-radius: 5rem;padding: 15rem 10rem;}
#radiolist{padding: 10rem 0;display:grid;gap:20rem;}
.Category_list{grid-template-columns:auto;}
.Category_list2{grid-template-columns:auto;}
.Category_list3{grid-template-columns:auto;}
.mw_wp_form .Category_list .error,
.mw_wp_form .Category_list2 .error,
.mw_wp_form .Category_list3 .error
.mw_wp_form .birthList .error{width:105rem;}
.formbox #radiolist label{font-size:16rem;}
.mwform-radio-field-text{padding-left: 20rem;margin-right: 3rem;}
.mwform-radio-field-text::before{top: 2rem;width: 15rem;height: 15rem;border: 2rem solid #ccc;}
.radiobtn:checked + .mwform-radio-field-text::after{top: 3rem;left: 1rem;width: 13rem;height: 13rem;}
.mwform-checkbox-field label{font-size:18rem;}
.mwform-checkbox-field-text{
position:relative;
display: flex;
align-items: center;
justify-content:center;
}
.mw_wp_form .horizontal-item + .horizontal-item {margin-left:0;}
.mwform-checkbox-field-text::before{width: 15rem;height: 15rem;border: 2rem solid #ccc;border-radius:4rem;margin-right:5rem;}
.douicheck:checked + .mwform-checkbox-field-text::after{top: 5rem;left: 5rem;width: 7rem;height: 14rem;transform: rotate(40deg);border-bottom: 3rem solid #40a355;border-right: 3rem solid #40a355;}
.formBtn{padding-bottom:35rem;max-width:250rem;}
.formBtn input {padding:20rem 35rem;border-radius:60rem;box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.16);}
.formbox input.douicheck{width:10rem;}
.formbox .birthList{gap: 10rem;grid-template-columns:33% 30% 30%;}
.formbox .birthbox01,
.formbox .birthbox02,
.formbox .birthbox03,
.formbox .sostugyoyear{font-size:14rem;gap:5rem;}
.formbox .year-graduation-txt{font-size:14rem;}
.formbox input.job-history{width: 100%;}
.formbox input.year-graduation{width: 70rem;padding: 10rem;}
.formbox input.year-graduation02{width: 70rem;padding:10rem;}
.formbox select.year-form{width: 100%;}
.formbox select.month-form,
.formbox select.day-form{width:100%;}
span.mwform-file-delete{font-size:20rem;top:92rem;right: 20rem;}
.mw-wp-form_file{padding:10rem;font-size:16rem;margin-top:5rem;}
/* 確認用レイアウト */
.mw_wp_form_preview .formbox{font-size:16rem;margin-bottom:30rem;padding:20rem;}
.mw_wp_form_preview .formbox label{font-size:14rem;}
.mw_wp_form_preview .formbox label.formsubtxt{font-size:13rem;margin:20rem 0 10rem;}
.mw_wp_form_preview .formBtn input {margin: 0 auto 20rem auto;}
.mw_wp_form_preview .formbox .birthbox01,
.mw_wp_form_preview .formbox .birthbox02,
.mw_wp_form_preview .formbox .birthbox03,
.mw_wp_form_preview .formbox .sostugyoyear,
.mw_wp_form_preview .formbox .year-graduation-txt{font-size:16rem;}
.mw_wp_form_preview .formbox .birthList{grid-template-columns:auto auto auto;}
}

/* PC Device*/
@media screen and (min-width:841px) and ( max-width:1140px) {
html.LPPageScale{font-size: calc(100vw / 1140);}
.nav .gnav-content .tabInner ul.subnv li a{padding: 80rem 10rem;}
.rtP_4 .rt_day_l .grid_Box{gap:40rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 40rem;}
.rtP_2 .numberInner .grid_Box{grid-template-columns: repeat(2, minmax(0, 1fr));}
.rtP_2 .numlist{grid-template-rows:auto 80rem auto;}
}
