@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;600&display=swap');

@media screen and (orientation: landscape) {
   /* 横向きの場合のスタイル */

.modal__content{
    width: 40%;
    max-width: 500px;

}

/*縦長画像の時*/
#cuntom_landscape{
  width: 30%;
  background: transparent;
}

}


.contents01{
display:none;	
}

/*JQディレイ*/
.contents01.fine{
display:block;
margin: 0;
padding: auto;
padding-right:15px; 
padding-left:15px;
padding-top: 45px;
padding-bottom: 30px;
margin-bottom: 15px;
color: #ccc;
}

.fine .TitleH2{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
width: 100%;
align-items: center;
}


.fine .TitleH2 div:nth-of-type(1){
flex-basis: 80px;
}

.fine .TitleH2 div img{
width: 90%;
padding-right: 10%;
}
.fine .TitleH2 div:nth-of-type(2){
flex-basis: 18rem;
color: #000;
font-size: 3.0rem;
}

.fine .TitleH2 p{
width: 100%;
font-size: 1.5rem;
padding:15px;
padding-left: 80px;
}

.fine .TitleH2 p{
width: 100%;
font-size: 1.5rem;
padding:15px;
padding-left: 80px;
line-height: 1.5;
}


.contents02NoPdding.fine {
/*align-self: center;
/*align-self: flex-end;*/
align-self: flex-start;
}




.fine .TitleH2 div:nth-of-type(3){
flex-basis: calc(100% - (80px + 18rem));
background: #66CCFF;
background: #ccc;
width: 100%;
height: 2px;
}

.contents01.fine .TitleBorder{
background: #ccc;
width: 100%;
height: 2px;
margin: 15px auto;
}


@keyframes textdecNewAnime {
  from { 
  	transform: scaleX(.9);
  	opacity: 0;
  }
  
  to   {
  	transform: scaleX(1);
  	opacity: 1;
   }
}


.contents02NoPdding.fine{
  display: block;
 /*padding-bottom: 45px;*/
  overflow: hidden;
  position: relative;
}


.cusmargintop45bot30,
.contents02NoPdding{
display: none;
}

.cusmargintop45bot30.fine{
margin: 45px auto 0px; 
 display: block;
}

.cusmargintop45bot0.fine{
margin: 45px auto 0px; 
display: block;
}

.cusmargintop45bot30.fine .flex2w{
  display: flex;
  display:-ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  justify-content: center;
align-content: center;
  margin-top: auto;
align-items: center;
  width: 100%;
  line-height: 1.5;
     padding-bottom:15px; 
     font-size: 0;
     position: relative;
     transform: scale(.98) translateY(30px);
     opacity: .8;
     transition: .5s;
}

.cusmargintop45bot30.fine .flex2w div{
  flex-basis: calc(40%);
   max-width: calc(40%); 
   align-items: center;
   padding: 25px;

  /* opacity: .1;*/

}
/*
.js_scrlTargetFire{
transform: scale(5.8);
}*/

.cusmargintop45bot30.fine .flex2w div:nth-of-type(2){

}

.cusmargintop45bot30.fine .flex2w div h5{
  font-size: 1.2rem;
  line-height: 1.6;
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #ccc;
}

.cusmargintop45bot30.fine .flex2w div p{
font-size:1.0rem; 
margin-bottom: 15px;

}


.cusmargintop45bot30.fine .flex2w div img{
  width:100%;
}

.contents02NoPdding.fine .TitleH2{
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 15px;
}

.fine .hyou01custumWraper{
  display: block;
  margin: 0 calc(15px + 80px);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.fine .hyou01custumWraper a,.fine .hyou01custumWraper a:visited{
  color: inherit;
  text-decoration: none;
}

/*.fine .hyou01custumWraper > div:first-of-type{
flex-basis: 15rem;
 max-width: calc(15rem); 
padding:  15px 8px;
padding-right: 15px;
font-size:1.3rem;
line-height: 1.5;
color: #000;
font-weight: 700;
font-family: 'Source Code Pro', monospace; 
}

.fine .hyou01custumWraper div:last-of-type{
flex-basis: calc(100% - 15rem);
}*/

.fine .hyou01custumWraper >div{
  display:block;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
 
 
}


.fine .hyou01custumWraper >div >dl{
padding: 25px 25px 30px 0px;
flex-basis: calc(50% - 10px);
max-width:calc(50% - 10px) ;
margin-right: 20px;
/*border: 1px solid #ccc;*/
position: relative;
overflow: hidden;
 /*background: linear-gradient(#fffaf0, #f8f8ff);*/
border-top: 1px solid #ccc;
}

.fine .hyou01custumWraper >div >dl:nth-of-type(2n){
margin-right: 0px;
}



.fine .hyou01{/*dl*/
 display:inline-block;
 line-height: 1.8;
 font-size: 1.2rem;
 font-weight: 700;
 vertical-align: top;
}

.fine .hyou01 dt{
font-size: 1.5rem;
margin-bottom: 5px;
}

.fine .hyou01 dd{
font-weight: 400;
font-size: 1.45rem;
}

/*imgJS*/
.fine .hyou01 dd #imgJs{
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
margin-top: 10px;
margin-bottom: 15px;
}

.fine .hyou01 dd #imgJs div{
flex-basis: 50%;
background: #ccc;
height:300px;
transition: .8s;
cursor: pointer;
}

.fine .hyou01 dd #imgJs div{
}

.fine .hyou01 dd #imgJs div span{
padding: 8px 5px 5px 5px;
-ms-writing-mode: tb-lr;
writing-mode: vertical-lr;
background: rgba(255,255,255,.3)
}


.fine .hyou01 dd #imgJs div:nth-of-type(1){
background: url(../img/company/headoffice.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position: top 45% left 60%; 
}

.fine .hyou01 dd #imgJs div:nth-of-type(2){
/*background: url(../img/company/coImg.jpg);*/
/*add_20220719*/
background: url(../img/company/coImg_20220719.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position: top 50% left 50%; 
}

/*.fine .hyou01 dd #imgJs div:nth-of-type(3){
background: url(../img/company/towada.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position: top 50% left 40%; 
}*/

.fine .hyou01 dd figure#coImg{
width: 100%;
}

.fine .hyou01 dd figure#coImg img{
width: 80%;
max-width: 450px;
}


.fine .hyou01 dt span,.fine .hyou01 dd span{
display: inline-block;
}

.fine .hyou01 dd span.linkImg{
color: #ccc;
transform: rotate(90deg);
margin-right: 5px;
line-height: 1;
}


.fine .hyou01#syasyoimg dd div{
display: block;
width: 100%;
max-width: initial;
display: none;
}

.fine .hyou01 dd h5{
  font-weight: 400;
}

.fine .hyou01#syasyoimg dd{
  position: relative;
}

.fine #syasyoJSef{
  cursor: pointer;
  padding-bottom: 5px;
  display: block;
}

.fine .hyou01#syasyoimg img,.fine #imgpadding img{
width: 100%;
max-width: 500px;
padding:10px;
padding-left: 0; 
transition: .5s;
}

#syasyoimg #more_js{
  cursor: pointer;
}


.fine #imgpadding{
padding: 10px 0 0;
flex-basis: 100%;
max-width: 100%;  
}

.fine .hyou01#syasyoimg #scaleIcon{
position: absolute;
width: 50px;
padding-bottom: 0;
cursor: pointer;
animation: moveScaleIcon .8s ease-in alternate infinite;
}

@keyframes moveScaleIcon {

0%{
  transform: translate(5px,5px);
}

100%{
  transform: translate(0px,0px);
}

/*100%{background-position:0% 50%}*/
}

/*js*/
.more_js_add{
  width: 100% !important;
}

/*jq_slideDownFunftiom*/

.fine #slideDownFunftiom{
  margin:0;
  margin-top: 0;
  padding: 0;
  flex-basis:100% !important;
   }

.fine .slideDownFunftiomBt{
  margin:0;
  padding: 0;
  color: #000;
  font-size: 1rem;
  cursor: pointer;
  max-width: 100% !important;
  text-decoration: underline;
  }

.fine #slideDownFunftiomContents{
color: #000;
display: none;
padding-top:10px;
}

#slideDownFunftiomContentsWrrap{
margin:0;
margin-top: 15px;
margin-bottom: 10px;
padding: 0;
color: #000;
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
width: 100%;
}

#slideDownFunftiomContentsWrrap div{
  flex-basis: 49%;
  text-align: left;
  margin-right: 1%;
}

#slideDownFunftiomContentsWrrap div p{
  text-align: left;
  font-size: .85rem;
}

#slideDownFunftiomContentsWrrap div:last-of-type{
margin-right: 0%;
margin-left: 1%;
}


/*js_pop*/

.modal {
    display: none;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}

.modal__bg {
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.modal__content {
    background: #fff;
    position: absolute;
    width: 60%;
    height: auto;
    max-width: 500px;
    font-size: 0;
    /*width: 80%;
    max-width: 500px;*/
}
.modal__content img {
    width: 100%;
    max-width: 500px;
    padding: 15px;
}

#modal_in_close {
    font-size: 1.5rem;
    color: #fff;
    background: #000;
    display: inline-block;
    text-align: center;
    /*padding: 6px 8px 5px 8px;*/
    padding: 5px 8px;
    position: absolute;
    top: -8px;
    right: -8px;
    font-weight: 700;
    border-radius: 0;
    border: 2px solid #fff;
    cursor: pointer;
    opacity: .1;
    transform: translate(18px,-50px) scale(.55) rotate(-180deg);
    animation: rotations .65s ease-in 0s 1 alternate forwards running;
}

@keyframes rotations {
  0% {
    transform: translate(18px,-50px) scale(.75) rotate(-360deg);
    opacity: .1;
    border-radius: 0;
  }

15% {
    transform: translate(-5px,1px) scale(.75) rotate(-360deg);
  }
 25% {
    transform: translate(7px,-6px) scale(.85) rotate(-360deg);
    opacity: .15;
  }
  35% {
    transform: translate(8px,0px) scale(.75) rotate(-360deg);
    border-radius: 0;
  }
  45% {
    transform: translate(6px,-5px) scale(.75) rotate(-360deg);
    opacity: .2;
  }
  60% {
    transform: translate(0px,0px) scale(.75) rotate(-360deg);
    opacity: .25;
  }
  75% {
    transform: translate(-10px,5px) scale(1.05) rotate(-360deg);
  }

  100% {
    transform: translate(0px,0px) scale(1) rotate(180deg);
   opacity:1;
   border-radius: 50%;
  }
}


/**/



#slideDownFunftiomContentsWrrap div img{
 width: 80%;
 /*add_20221114*/
 cursor: pointer;
}

#slideDownFunftiomContents02{
 /* background: #f9fcff;*/
  padding:15px 0px 10px;
  font-weight: normal;
  line-height: 1.5;
  font-size: .95rem;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
}

#slideDownFunftiomContents h4{
  margin-bottom: 5px;

}

#slideDownFunftiomContents p{
  margin-bottom: 10px;
}
#slideDownFunftiomContents #lideDownFunftiomContentsSmallS{
}

#lideDownFunftiomContentsSmall{
  margin-top:5px;
}

.fine .hyou01 dd span{
display: inline-block;
}

.fine .hyou01 ul{
  /*margin-left: 1.8rem;*/
}


.fine .hyou01 ul.listconfig01{
 list-style-type: none;
}

.fine .hyou01 ul.listconfig01 li {
  border-bottom: 1px dashed #ccc;
  padding: 12px 0;
}

.fine .hyou01 ul.listconfig01 li:last-child {
  border-bottom: none;
}


.fine .hyou01 ul.listconfig01 li ul{
display: block;
text-align: right;
}

.fine .hyou01 ul.listconfig01 li ul li{
border: none;
padding-top: 0;
padding-bottom: 0;
}

.fine .hyou01 ul.listconfig01 li ul li:before{
content: "・・・";
}


.fine .hyou01 ul.hyou01_inline{ 
 list-style-type: circle;
 padding-left: 1.8rem;
}


.fine .hyou01 ul.hyou01_inline li{ 
 line-height: 1.8;
 margin-bottom: 5px;
}



.fine .hyou01 ul:last-of-type{
  }

.fine .hyou01 ul li{
  line-height: 1.5;
  margin-bottom: 0px;

}



.fine .hyou01.hyou01_inline ul li{
 display: inline-block;
padding-left: .2rem;
margin-right: 1rem;
/*1段下げ*/
margin-left: 1rem;
text-indent: -1rem;
}

.fine .hyou01#hyou01_inline ul li:before{
content: "\02022";
padding-right: .3rem;
}

.fine .hyou01#hyou01_inline ul li:last-of-type{
margin-right:auto;

}

.fine .hyou01#hyou01_inline ul li:last-of-type{
margin-right:auto;
}
/*
.fine .hyou01#hyou01_inline ul li:before{
content: " ";
}

.fine .hyou01#hyou01_inline ul li:last-of-type:after{
content: " ";
}
*/
.fine .hyou01 ul li ul{
 list-style-type: none;
 display: inline-block;
   margin-left:0rem; 
}

.fine #hachinohe ul{
  margin-top: 10px;
  margin-bottom: 15px;
  padding-left: 1.8rem;
}

.fine #hachinohe ul li{
  font-weight: 700;
  margin: auto;
  padding-left: 0rem;
}

.fine #hachinohe ul li ul{
  padding-left: 0rem;
  padding-right: 1.8rem;/**/
}


.fine #hachinohe ul li ul .address{
width: 100%;
margin-top: 5px;
}

.fine #hachinohe ul li ul li{
  font-weight: 400;
}


.fine #hachinohe ul li ul .linkBtn01{
display: inline-block;
font-size: .9rem;
background: #5971FF;
margin: 10px 15px 0px 0;
width: 10rem;
position: relative;
transition: .8s;
}

.fine #hachinohe ul li ul .linkBtn01:after{
display: inline-block;
position: absolute;
top:55%;
right: 8px;
width: 21px;
height: 1px;
content: "　";
background:#B3E5FF;
}


.fine #hachinohe ul li ul .linkBtn01:before{
display: inline-block;
position: absolute;
top:55%;
right: 8px;
width: 10px;
height: 1px;
content: "　";
transform: rotate(45deg);
transform-origin: right bottom;
background:#B3E5FF;
}


.fine #hachinohe ul li ul .linkBtn01 a:link{
display: block;
padding: 10px 15px;
transition: .8s;
}


.fine #hachinohe ul li ul .linkBtn01 a:link,
.fine #hachinohe ul li ul .linkBtn01 a:visited{
  color: #fff;
}

.fine #hachinohe ul li ul .linkBtn01 a:hover{
background: #66CCFF;
transition: .5s;
}

.fine #hachinohe ul li ul .linkBtn01:hover:after,
.fine #hachinohe ul li ul .linkBtn01:hover:before{
animation: .5s ease-in-out 0s infinite LinkanimationLine;
}



.fine #hachinohe ul li ul li{
  display: block;
  margin-bottom: 10px;
}

.fine #hachinohe ul li ul li ul{
  display: block;
}

@keyframes LinkanimationLine {

0%{
right: 12px
}

100%{
right: 8px
}

/*100%{background-position:0% 50%}*/
}



@keyframes h5animation {

0%{background-position:0% 50%}

100%{background-position:100% 50%}

/*100%{background-position:0% 50%}*/
}


.contents02NoPdding.fine > .flex2Wraper > div{
flex-basis: 40%;
overflow: hidden;
}




@keyframes h3action {
  from {     
    left: -20rem;
  }
  
  to   {
    left: 20px;
   }
}

@keyframes h3actionmob {
  from { 
    right: -20rem;
  }  
  to {
    right: 20px;
   }
}

@keyframes h3actionmob2 {
  from { 
    right: -20rem;
  }
  
  to   {
    right: 0px;
   }
}

/*
.contents02NoPdding.fine > .flex2Wraper > div:nth-of-type(1) > #contslide > div p.action{
 animation: 1.8s ease-in-out 0s 1 running paction forwards;
}*/





/*modalS*/
#modal{
  position: fixed;
  display: none;
  width: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: auto;
  z-index: 99999;
  background: rgba(255,255,255,1);
  padding: 30px 30px;
  line-height: 1.5;
  letter-spacing: 0.1rem;
}

#modal h3{
font-size: 1.5rem;
color: #0b9d5e;
padding-right: 66px;
}

#modal p{
font-size: 1.0rem;
margin-top:15px;
}

#modal img{
width: 50px;
/*float: right;*/
margin: 1rem;
position: absolute;
top: 0;
right: 0;
}

#modal div{
  display: block;
  text-align: center;
}

#modal #closeBtn{
font-size: 1.0rem;
border: 1px solid #000;
padding: 8px 15px;
display: inline-block;
margin-top:25px;
cursor: pointer;
}
/*modalE*/




/*リクルート*/


.jqmoveup{
animation: 1.8s ease-in-out 0s 1 both jqmoveupaction;
}


@keyframes jqmoveupaction {
  from {     
    transform: translateY(10rem);
  }
  
  to   {
    transform: translateY(0);
   }
}


@media screen and (max-width: 1685px) { 

}


@media screen and (max-width: 1194px) { 



}


@media print{
  /*印刷用CSS*/

  .fine .hyou01custumWraper {
    display: block;
    margin: 0 calc(15px + 0px);
  }

}



@media screen and (max-width: 1024px) { 

.fine .TitleH2 div:nth-of-type(1){
flex-basis: 60px;
}


.fine .TitleH2 p{
  font-size: 1.0rem;
}


.contents02NoPdding.fine .TitleH2 p{
font-size: 1.0rem;
padding:15px;
padding-left: 60px;
}


.fine .TitleH2 div:nth-of-type(2){
font-size: 2.0rem;
/*flex-basis: 18rem;*/
}
.fine .TitleH2 div:nth-of-type(3){
flex-basis: calc(100% - (60px + 18rem));
}

.fine .hyou01custumWraper {
    display: block;
    margin: 0 calc(15px + 60px);
  }

.fine .hyou01 dd #imgJs div{

height:200px;

}


.fine .hyou01 dt {
    font-size: 1.45rem;
}

.fine .hyou01 dd {
    font-weight: 400;
    font-size: 1.35rem;
}




}

@media screen and (max-width: 896px) { 


.fine .TitleH2 div:nth-of-type(1){
flex-basis: 50px;
}

.fine .TitleH2 div:nth-of-type(2){
font-size: 1.5rem;
/*flex-basis: 18rem;*/
}

.fine .TitleH2 div:nth-of-type(3){
flex-basis: calc(100% - (50px + 18rem));
}

.contents02NoPdding.fine .TitleH2  p{
padding:15px;
padding-bottom: 5px;
/*padding-left: 50px;*/
}

.fine .hyou01custumWraper {
    display: block;
    margin: 0 calc(15px + 0px);
}


}

@media screen and (max-width: 768px) {

.cusmargintop45bot30.fine .flex2w div{
  flex-basis: calc(80%);
   max-width: calc(80%); 
}

.cusmargintop45bot30.fine .flex2w div:nth-of-type(1){
 padding-top: 5px; 
}
.cusmargintop45bot30.fine .flex2w div:nth-of-type(2){
 padding-top: 5px; 
}


.fine .hyou01custumWraper >div >dl {
    flex-basis: 100%;
    max-width: 100%;
    margin-right: 0;
    padding: 25px 25px 30px 25px;
  }



.fine .hyou01#syasyoimg img ,.fine #imgpadding img{
    width:100%;
    max-width: unset;
    padding: 10px 0px 10px 0;
}

.fine .hyou01#syasyoimg #scaleIcon {
  left:calc(75% - 25px);
  width: 80px;
}

.fine .hyou01#hyou01_inline ul li{
  display: block;
  margin-right: 0;
}

.fine #hachinohe ul li ul .linkBtn01{
}

.fine #hachinohe ul li ul li {
}

}



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

/*js_modal20221114*/
.modal__content {
    width: 80%;
    max-width: 500px;
}


.cusmargintop45bot30.fine{
margin: 30px auto 30px; 
}



.fine .hyou01 dt{
 flex-basis:9rem; 
}

.fine .hyou01 dd{

}


.fine #slideDownFunftiom{
  margin-left: 0rem;
}

}



@media screen and (max-width: 480px) {

.fine .TitleH2 div:nth-of-type(1){
flex-basis: 35px;
/*flex-basis: 18rem;*/
}

.fine .TitleH2 div:nth-of-type(2){
font-size: 1.1rem;
flex-basis: 10rem;
}

.fine .TitleH2 div:nth-of-type(3){
flex-basis: calc(100% - (35px + 10rem));
}


.contents02NoPdding.fine .TitleH2 p{
padding:15px;
padding-bottom: 5px;
padding-left: 0;
font-size: .9rem;
/*padding-left: 35px;*/
}

.fine .hyou01#syasyoimg img {

}

.fine .hyou01#syasyoimg #scaleIcon {
  left:calc(80% - 20px);
  width: 50px;
}

#modal h3{
font-size: 1.2rem;
}

#modal p{
font-size: .9rem;
}


#modal #closeBtn{
font-size: .9rem;
}

.fine .hyou01{
  font-size: .80rem;
}

.fine .hyou01 dt{
 flex-basis:7.0rem; 
 font-size: 1.1rem;
}

.fine .hyou01 dd{
 font-size: .95rem;
}


.fine .hyou01custumWraper >div >dl {
    padding: 25px 5px 30px 5px;
  }

.fine .hyou01#hyou01_inline ul li{
 display: inline-block;
padding-left: .5rem;
margin-right: 1rem;
/*1段下げ*/
margin-left: 1rem;
text-indent: -1rem;
}



#slideDownFunftiomContentsWrrap,#slideDownFunftiomContents02{
  font-size: .8rem;
}

.cusmargintop45bot30.fine .flex2w div{
  flex-basis: calc(95%);
   max-width: calc(95%); 
}

.cusmargintop45bot30.fine .flex2w div h5{
  font-size: .90rem;
}
.cusmargintop45bot30.fine .flex2w div p{
  font-size: .80rem;
}


}

@media screen and (max-width: 350px) {


}

@media screen and (max-width: 270px) {




}