@charset "utf-8";

#contents{
position:relative;
}

body{
color:#333;
}

.under-c{
font-size:36px;
padding-bottom:200px;
padding-top:50px;
}


/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
body {
width: 100%;
}

}


/*
-----------------------------------------------
ヘッダー
----------------------------------------------- */
.en{font-family: 'Jost', sans-serif;}
.min{font-family: 'Noto Serif JP', serif;}

.main{
overflow:hidden;
}

#head{
width:1210px;
margin-left:auto;
margin-right:auto;
position:relative;
}

header{
padding-top:20px;
width:100%;
padding-bottom:16px;
}

.top-h1{
display:block;
width:206px;
}
.top-h1 img{
width:100%;
height:auto;
}

.head-txt{
position:absolute;
font-size:16px;
top:10px;
letter-spacing:3px;
right:10px;
}

/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
#head{
width:100%;
padding-left:6%;
padding-left:6%;
}
}

/*
-----------------------------------------------
ヘッダー TAB SP
----------------------------------------------- */
@media screen and (max-width: 768px) {
#head{
width:100%;
padding-left:0;
padding-left:0;
}

.sub-nav,
.txt-nav{
display:none;
}

.top-h1{
width:190px;
margin-left:20px;
}


.head-txt{
font-size:16px;
top:4px;
letter-spacing:3px;
right:80px;
}

}

/*
-----------------------------------------------
ヘッダー SP
----------------------------------------------- */
@media screen and (max-width: 767px) {

.top-h1{
width:150px;
margin-left:10px;
}

}

/*
-----------------------------------------------
TOPナビ
----------------------------------------------- */
.main-navi{
display:block;
position:absolute;
top: 10px;
left:260px;
z-index:100;
}

.main-navi ul{
display:inline-block;
}

.navi > li{
font-size:15px;
display:inline-block;
margin-left:5px;
position:relative;
}

.navi > li > a {
/*   padding: 0.3em 0.8em !important; */
  background-image: linear-gradient(to right, rgba(0,199,172,0) 50%, rgba(0,199,172,1) 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: .4s;
}
.navi > li > a:hover {
  background-position: -100% 0;
  color: #fff;
}

.navi > li > a{
color:#333;
line-height:1.1;
padding:0.4em 0.9em;
font-weight:500;
text-decoration:none;
}



/* ドロップダウンメニュー */
.main-navi li ul{
  list-style: none;
  position: absolute !important;
  z-index: 200;
  top: 120%;
  margin: 0;
  padding: 0;
}

.sub-ul01{
left:-10px;
width:120px;
}

.main-navi li ul li{
  width: 100%;
}
.main-navi li ul li a{
  line-height:1.4 !important;
  padding: 8px 8px;
  border-bottom: 1px solid #ccc;
  background-color: rgba(216,214,213,0.8);
  text-align: center;
  text-decoration:none;
  display:block;
  color:#333;
  font-size:13px;
}


.main-navi li ul li{
  overflow: hidden;
  height: 0;
  transition: .2s;
}
.main-navi li:hover ul li{
  overflow: visible;
  height: 35px;
}
/* 
.main-navi ul li a:hover{
  background-color: rgba(78,168,49,0.9);
  color:#fff;
  } */

/*
-----------------------------------------------
TAB SP用ナビゲーション
----------------------------------------------- */
@media screen and (max-width: 768px) {
.main-navi{
display:none;
}
}


/*
-----------------------------------------------
GATE HOUSINGナビ
----------------------------------------------- */
.ita{
font-style: italic;
}
.gate-h{
padding:20px 0;
letter-spacing:3px;
text-align:center;
font-weight:300;
font-size:35px;
}

.gate-h a{
text-decoration:none;
color:#333;
}

.gate-h a:hover{
text-decoration:none;
color:#ccc;
}

.top-img{
position:relative;
}

.under-navi{
position: absolute;
top: 15px;
right: 0;
bottom: 0;
left: 0;
margin: auto;
width:1200px;
}

.under-navi a{
color:#fff;
font-size:15px;
}

.under-navi a {
padding: 0.3em 0.8em !important;
  background-image: linear-gradient(to right, rgba(0,199,172,0) 50%, rgba(0,199,172,1) 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: .4s;
}
.under-navi a:hover {
  text-decoration:none;
  background-position: -100% 0;
  color: #fff;
}

.black-menu .under-navi a{
color:#000 !important;
}

.black-menu .under-navi a:hover{
color:#fff !important;
}

.under-navi-wrap{
position:absolute;
top:0;
width:100%;
height:55px;
background-color: rgba(153,153,153,.5);
}



/*
-----------------------------------------------
幅・共通設定
----------------------------------------------- */
.in-box0{
max-width:1210px;
margin-left:auto;
margin-right:auto;
}

.in-box01{
max-width:990px;
margin-left:auto;
margin-right:auto;
}

.in-box02{
max-width:780px;
margin-left:auto;
margin-right:auto;
}


.in-box03{
max-width:920px;
margin-left:auto;
margin-right:auto;
}


/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.in-box0,
.in-box01,
.in-box02,
.in-box03{
position:relative;
width:100%;
padding-left:5%;
padding-right:5%;
}
}


/*
-----------------------------------------------
幅・共通設定 TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {
.in-box0,
.in-box01,
.in-box02,
.in-box03{
position:relative;
width:100%;
padding-left:5%;
padding-right:5%;
}

}


/*
-----------------------------------------------
幅・共通設定 SP
----------------------------------------------- */
@media screen and (max-width: 767px) {
.in-box0,
.in-box01,
.in-box02,
.in-box03{
position:relative;
width:100%;
padding-left:18px;
padding-right:18px;
}

}


/*
-----------------------------------------------
フッター
----------------------------------------------- */
footer{
background:#00c8ac;
padding-left:5%;
padding-right:5%;
color:#fff;
padding-top:15px;
padding-bottom:15px;
}

.foot-ul li{
display:inline-block;
font-size:14px;
}

.foot-ul li:before{
content:"｜"
}

.foot-ul li:first-child:before{
content:" ";
}


.foot-ul li a{
display:inline-block;
padding:0 5px;
color:#fff;
}


#kotei_footer {
  position: fixed;
  bottom: 0;
  width: 100%;
}


/*
-----------------------------------------------
flex box
----------------------------------------------- */
.container01{
display:flex;
flex-wrap:wrap;
}

.container02{
display:flex;
flex-wrap:nowrap;
}

.container03{
display:flex;
flex-wrap:wrap-reverse;
}

.al-item01{
align-items:flex-end
}

.c-type01{
justify-content:space-between;
}

.c-type02{
justify-content:space-around;
}

.c-type03{
justify-content:flex-start;
}

.c-type04{
justify-content:center;
}

/*
-----------------------------------------------
flex-box TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {
.c-type04{
justify-content:space-between;
}
}

/*
-----------------------------------------------
TOP NAVI
----------------------------------------------- */
.top-navi{
}

.top-navi a{
color:#fff;
}

.menu-in p{
letter-spacing:3px;
font-weight:300;
font-size:26px;
}

.top-navi .menu-in{
width:50%;
position:relative;
}

.top-navi .menu-in a{
position:relative;
display:block;
background:#002646;
text-align:center;
width:100%;
padding:8px 0 6px 0;
}

.top-navi .menu-in a:hover{
text-decoration:none;
background:#054479;
}

.top-navi .menu-in a:after{
content:"〉";
font-size:35px;
color:#fff;
position:absolute;
right:3%;
top:12px;
}

.top-navi .menu-in:first-child{
border-right:solid 1px #fff;
}

/*
-----------------------------------------------
TOP CON
----------------------------------------------- */

.top-con{
margin-top:160px;
width:1210px;
margin-left:auto;
margin-right:auto;
}

.mx-img{
max-width:100%;
height:auto;
}

.top-right{
width:460px;
}


.top-main{
width:610px;
}

.top-ban li{
margin-bottom:34px;
}

.top-p01{
font-size:50px;
font-weight:bold;
}

.top-p02{
font-size:22px;
border-bottom:solid 1px #ccc;
padding-bottom:10px;
}

.top-p02 span{
display:block;
}

.news-ichiran{
font-size:14px;
margin-top:8px;
display:block;
}

.news-link{
border-bottom:solid 1px #ccc;
}

.news-link a{
display:block;
padding:10px 0 10px 5px;
position:relative;
}

.news-link a:after{
content:"〉";
font-size:21px;
position:absolute;
right:0;
top:20px;
}

.news-link .news-date{font-size:12px;}

.news-link a .news-date{
color:#333;
}

.news-link a:hover{
text-decoration:none !important;
background:#ecf3fa;
}

.foot-ban li{
width:47%;
}

.foot-ban{
padding-top:120px;
padding-bottom:100px;
}

/*
-----------------------------------------------
ニュース
----------------------------------------------- */

.main-kiji{
font-size:14px;
}

.tate-main,
.main-02{
width:600px;
margin-left:auto;
margin-right:auto;
}


.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.link-btn01{
display:inline-block;
}

.link-btn01 a{
font-size:34px;
display:block;
width:10em;
padding:14px 0;
color:red;
border-radius:8px;
border:solid 4px #ff0000;
}

.link-btn01 a:hover{
text-decoration:none;
background:#f7ebeb;
}

.h-type01{
font-size:40px;
font-weight:normal;
}

.h-type01 span{
font-size:17px;
font-weight:normal;
display:block;
margin-top:10px;
}


.corner-ttl{
font-size:30px;
}

.news-head .h-type01{
width:80%;
}

.news-head .corner-ttl{
width:14%;
}

.under-head{
margin-top:100px;
}

.h-type02{
font-size:26px;
font-weight:bold;
margin-bottom:30px;
}

.honbun{
margin-bottom:80px;
}

.honbun p{
font-size:18px;
margin-bottom:14px;
}

.h-type03{
font-size:50px;
margin-bottom:200px;
}

.h-type03b{
font-size:50px;
margin-bottom:140px;
}

.h-type04{
font-size:50px;
margin-bottom:120px;
}

.h-type05{
font-size:30px;
letter-spacing:6px;
font-weight:500;
}



/*
-----------------------------------------------
ニュース一覧
----------------------------------------------- */
.ichiran-img{
width:170px;
}

.ichiran-txt{
width:770px;
}

.ichiran-txt h3{
font-size:18px;
margin-bottom:5px;
}

.ichiran-txt a{
color:#333 !important;
}

.ichiran-txt a:hover{
color:#0066cc !important;
}

.info_box{
padding:25px 0;
border-top:solid 1px #ccc;
}

.info_list{
margin-bottom:50px;
}

/*
-----------------------------------------------
会社概要
----------------------------------------------- */
.company-dl{
font-size:15px;
margin-bottom:14px;
}

.company-dl dt{
width:16%;
}

.company-dl dd{
line-height:1.9;
width:79%;
position:relative;
}

.company-dl dd:before{
content:"：";
left:-30px;
position:absolute;
}

.aisatsu-photo{
float: left;
margin-right:24px;
margin-bottom:10px;
}

.sign{
text-align:right;
}

.aisatsu-p{
line-height:1.8;
}



/*
-----------------------------------------------
採用
----------------------------------------------- */
.recruit-h01{
font-weight:bold;
font-size:25px;
margin-bottom:8px;
}

/* 2025.04追加 */
.link_rec{
margin-bottom:8px !important;
}

.link_rec a{
color:#333 !important;
}

.link_rec span{color:red;}




/*
-----------------------------------------------
▼プライバシーポリシー
----------------------------------------------- */
.privacy{
margin:10px 35px 100px 35px;
}
.privacy_read{
background-color:#eaedea;
padding:15px;
margin:15px 0 30px 0;
}
.privacy01{
margin-bottom:8px;
}
.privacy02{
margin-bottom:35px;
}

.recruit-img-box{
background:#20c6ac;
color:#fff;
font-size:36px;
letter-spacing:5px;
font-weight:bold;
padding:40px;
}

.under-c{
font-size:24px;
padding-bottom:200px;
}

.h-type001{
font-size:22px;
border-bottom:solid 1px #333;
margin-bottom:24px;
}

/*
-----------------------------------------------
▼SDGs
----------------------------------------------- */
.sdgs-p01{
font-weight:bold;
font-size:39px;
}

.sdgs-p02{
font-size:18px;
line-height:1.8;
}

.sdgs-p03{
font-size:30px;
line-height:1.8;
}

.sdgs-btm01{
margin-bottom:100px;
}

.sdgs-btm02{
padding-bottom:150px;
margin-bottom:40px;
}




.sdgs-con div{
width:169px;
margin-right:24px;
}

.bdr1{
border-bottom:solid 1px #999;
}

.sdgs-box1{
width:40%;
}

.sdgs-box2{
width:52%;
}

.kanmin{
padding-left:5%;
padding-right:5%;
}

.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

/*
-----------------------------------------------
TAB 横
----------------------------------------------- */
@media (orientation: landscape) and (max-device-width: 1024px){
.top-con{
margin-top:80px;
width:100%;
padding-left:3%;
padding-right:3%;
}

.top-right{
width:32%;
}

.top-main{
width:65%;
}
.company-box01 .f26{
font-size:24px !important;
}

.company-box01 .f23{
font-size:20px !important;
}

.ichiran-img{
width:25%;
}

.ichiran-txt{
width:70%;
}

}



/*
-----------------------------------------------
TAB
----------------------------------------------- */
@media screen and (max-width: 768px) {
.privacy{
margin:10px 0px 50px 0px;
}

.top-con{
margin-top:40px;
width:100%;
padding-left:3%;
padding-right:3%;
}

.top-right{
width:32%;
}

.top-main{
width:65%;
}

.company-box01 .f26{
font-size:24px !important;
}

.company-box01 .f23{
font-size:20px !important;
}

.ichiran-img{
width:25%;
}

.ichiran-txt{
width:70%;
}

.news-head .h-type01{
width:77%;
}

.news-head .corner-ttl{
width:20%;
}

}



/*
-----------------------------------------------
SP
----------------------------------------------- */
@media screen and (max-width: 767px) {

.top-con{
margin-top:160px;
width:100%;
margin-left:auto;
margin-right:auto;
}

.menu-in p{
letter-spacing:3px;
font-weight:300;
font-size:22px;
}

.top-navi .menu-in{
width:100%;
position:relative;
border-bottom:solid 1px #fff;
}

.under-head{
margin-top:0px;
}

.h-type04{
font-size:27px;
margin-bottom:40px;
}

.corner-ttl{
font-size:18px;
}

.h-type05{
font-size:22px;
letter-spacing:3px;
font-weight:500;
}

.privacy{
margin:10px 0px 50px 0px;
}

.company-dl dt{
width:100%;
border-bottom:solid 1px #ccc;
padding-bottom:5px;
margin-bottom:5px;
}

.company-dl dd{
line-height:1.7;
width:100%;
position:relative;
}


.top-con{
margin-top:40px;
width:100%;
padding-left:6%;
padding-right:6%;
}

.top-right{
width:100%;
}

.top-main{
margin-bottom:30px;
width:100%;
}

.top-p01{
font-size:30px;
}

.news-link a{
padding:10px 24px 10px 5px;
}


.foot-ban li{
width:49%;
}

.foot-ban{
padding-top:0px;
padding-bottom:40px;
}

.h-type01{
font-size:20px;
font-weight:normal;
}
.news-head .h-type01{
width:77%;
}

.news-head .corner-ttl{
font-size:14px;
width:20%;
}

.h-type02{
font-size:18px;
font-weight:bold;
margin-bottom:15px;
}

.tate-main,
.main-02{
width:100%;
margin-left:auto;
margin-right:auto;
}


.link-btn01 a{
font-size:24px;
display:block;
width:10em;
padding:14px 0;
color:red;
border-radius:8px;
border:solid 4px #ff0000;
}

.h-type03,
.h-type03b{
font-size:27px;
margin-bottom:10px;
}

.ichiran-img{
width:50%;
}


.ichiran-txt{
width:100%;
margin-bottom:15px;
}

.ichiran-txt h3{
font-size:17px;
margin-bottom:5px;
}

.ichiran-txt p{
font-size:13px;
margin-bottom:5px;
}

.aisatsu-photo img{
max-width:100%;
height:auto;
}


.aisatsu-photo{
float: none;
margin-right:0;
padding-left:15%;
padding-right:15%;
margin-bottom:15px;
}

.sign{
text-align:right;
}

.sign img{
width:277px;
height:auto;
}

.aisatsu-p{
line-height:1.8;
}


.sdgs-top01{
margin-top:15px;
}

.sdgs-p01{
font-weight:bold;
font-size:20px;
}

.sdgs-p02{
font-size:15px;
line-height:1.8;
}

.sdgs-p03{
font-size:17px;
line-height:1.8;
}

.sdgs-btm01{
margin-bottom:40px;
}

.sdgs-btm02{
padding-bottom:40px;
margin-bottom:20px;
}

.sdgs-con div{
width:22%;
margin-right:2%;
}


.sdgs-box1{
width:100%;
padding-left:20%;
padding-right:20%;
margin-bottom:10px;
}

.sdgs-box2{
width:100%;
}

.kanmin{
padding-left:0;
padding-right:0;
}

.sdgs-img{
padding-left:20%;
padding-right:20%;
}

}




/* css_end */
