@charset "UTF-8";

@keyframes txtloop {
0% {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}

@keyframes txtloop2 {
0% {
transform: translateX(0);
}
to {
transform: translateX(-200%);
}
}

/*PC*/
@media print, screen and (min-width: 768px) {


#facilities {
position:relative;
margin: 0 auto 150px;
z-index: 5;
}


#facilities .hed_box{
width: 90%;
margin: 0 auto 120px;
}

#facilities .hed_box .red_ttl{
width: 100%;
margin: 0 auto 40px;
}

#facilities .hed_box .txt{
font-size: 1.4rem;
font-weight: 500;
}


#facilities .mokuji{
width: 90%;
margin: 0 auto 50px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#facilities .mokuji li{
width: 48%;
margin-bottom: 20px;
}
#facilities .mokuji li a{
width: 100%;
position: relative;
display: block;
color: #fff;
background-color: #443E6E;
border: 1px solid #443E6E;
text-align: center;
font-size: 1rem;
letter-spacing: 0.05em;
padding: 10px 30px;
box-sizing: border-box;
border-radius: 6px;
transition: 0.3s;
}
#facilities .mokuji li a::after {
position: absolute;
content: "";
background-image: url("../images/com/btn-arrow-g.svg");
background-size: cover;
width: 30px;
height: 30px;
top: 50%;
left: 93%;
transform: translate(-50%, -50%);
transition: 0.3s;
}


#facilities .block{
width: 90%;
margin: 0 auto 120px;
}

#facilities #facilities01,
#facilities #facilities02 {
margin-top: -100px;
padding-top: 100px;
}

#facilities .block .red_ttl2{
font-size: 2rem;
font-weight: 700;
line-height: 1;
margin: 0 0 40px;
position: relative;
padding-left:20px;
box-sizing: border-box;
}

#facilities .block .red_ttl2::before{
content: "";
position: absolute;
top: 12px;
left: 0;
width: 10px;
height: 10px;
background: #6F59C5;
}

#facilities .block .txt{
font-size: 1.2rem;
font-weight: 500;
margin-bottom: 60px;
}

#facilities .block .list{
margin: 0;
}

#facilities .block .list li{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row;
border-bottom: 1px solid #443E6E;
padding:80px 0;
box-sizing: border-box;
position: relative;
}

#facilities .block .list li::before{
transform: skewX(-45deg);
content: "";
position: absolute;
top: 0; 
right: 20%;
z-index:-1;
background-color:#F1F3FA;
width: 45%;
height: 100%;
}

#facilities .block .list li:nth-child(even)::before{
transform: skewX(45deg);
content: "";
position: absolute;
top: 0; 
left:20%;
z-index:-1;
background-color:#F1F3FA;
width: 45%;
height: 100%;
}


#facilities .block .list li:nth-child(even){
flex-direction: row-reverse;
}

#facilities .block .list li:last-child{
margin-bottom: 0
}

#facilities .block .list li .txt_box{
width: 52%;
}

#facilities .block .list li .txt_box p{
font-size: 1.2rem;
}

#facilities .block .list li .img{
width: 45%;
}

#facilities .block .list li .img img{
border-radius: 1rem;
overflow: hidden;
}

#facilities article{
overflow: hidden;
position: relative;
margin:-5px 0 160px;
}

#facilities .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#facilities .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:7rem;
font-weight:500;
line-height:1;
overflow: hidden;
color:#443E6E;
letter-spacing:2rem;
}

#facilities .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}
#facilities .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}

#facilities .plant_list{
width: 90%;
margin: auto;
display: flex;
flex-wrap: wrap;
}

#facilities .plant_list li{
width: 31.33%;
margin-right: 2%;
margin-bottom: 2%;
flex-direction: row;
border: 1px solid #443E6E;
padding:10px;
box-sizing: border-box;
}

#facilities .plant_list li:nth-child(3n){
margin-right: 0;
}

#facilities .plant_list li .img{
width: 100%;
margin-bottom:10px;
}

#facilities .plant_list li .txt_box{
width: 100%;
}

#facilities .plant_list li .txt_box h3{
font-size: 1.2rem;
font-weight: 500;
line-height: 1;
margin: 0 0 15px;
background: #443E6E;
padding: 8px;
color: #FFF;
box-sizing: border-box;
}

#facilities .plant_list li .txt_box .txt{
font-size: 1rem;
margin-bottom:15px;
}

#facilities .plant_list li .txt_box .txt2{
background: rgba(0,0,0,.025);
padding: 10px;
box-sizing: border-box;
font-size: .9rem;
font-weight: 600;
}

#facilities .scroll{
width: 100%;
margin: auto;
position: relative;
}

#facilities .scroll .table-companyB {
width: 100%;
margin:auto;
line-height: 1.2;
font-size:.9rem;
border-top: solid 1px #cccccc;
border-left: solid 1px #cccccc;
}
#facilities .scroll .table-companyB td {
border-right: solid 1px #cccccc;
border-bottom: solid 1px #cccccc;
padding:8px 5px 8px 5px;
}

#facilities .genzai_txt{
text-align: right;
font-size: 1rem;
}

}
/*sp*/
@media only screen and (max-width: 767px) {

#facilities {
position:relative;
margin: 0 auto 150px;
z-index: 5;
}


#facilities .hed_box{
width: 90%;
margin: 0 auto 20px;
}

#facilities .hed_box .red_ttl{
width: 100%;
margin: 0 auto 10px;
}

#facilities .hed_box .txt{
font-size: 1rem;
font-weight: 500;
}


#facilities .mokuji{
width: 90%;
margin: 0 auto 40px;
}
#facilities .mokuji li{
width:100%;
margin-bottom: 20px;
}
#facilities .mokuji li a{
width: 100%;
position: relative;
display: block;
color: #fff;
background-color: #443E6E;
border: 1px solid #443E6E;
text-align: center;
font-size: 1rem;
letter-spacing: 0.05em;
padding: 10px 30px;
box-sizing: border-box;
border-radius: 6px;
transition: 0.3s;
}
#facilities .mokuji li a::after {
position: absolute;
content: "";
background-image: url("../images/com/btn-arrow-g.svg");
background-size: cover;
width: 30px;
height: 30px;
top: 50%;
left: 93%;
transform: translate(-50%, -50%);
transition: 0.3s;
}


#facilities .block{
width: 90%;
margin: 0 auto 120px;
}

#facilities #facilities01,
#facilities #facilities02 {
margin-top: -100px;
padding-top: 100px;
}

#facilities .block .red_ttl2{
font-size: 1.2rem;
font-weight: 700;
line-height: 1.4;
margin: 0 0 20px;
position: relative;
padding-left:20px;
box-sizing: border-box;
}

#facilities .block .red_ttl2::before{
content: "";
position: absolute;
top: 8px;
left: 0;
width: 10px;
height: 10px;
background: #6F59C5;
}

#facilities .block .txt{
font-size: 1rem;
font-weight: 500;
margin-bottom: 40px;
}

#facilities .block .list{
margin: 0;
}

#facilities .block .list li{
border-bottom: 1px solid #443E6E;
padding:0 0 30px;
box-sizing: border-box;
position: relative;
}

#facilities .block .list li::before{
transform: skewX(-45deg);
content: "";
position: absolute;
top: 0; 
right: 20%;
z-index:-1;
background-color:#F1F3FA;
width: 45%;
height: 100%;
}

#facilities .block .list li:nth-child(even)::before{
transform: skewX(45deg);
content: "";
position: absolute;
top: 0; 
left:20%;
z-index:-1;
background-color:#F1F3FA;
width: 45%;
height: 100%;
}


#facilities .block .list li:nth-child(even){
flex-direction: row-reverse;
}

#facilities .block .list li:last-child{
margin-bottom: 0
}

#facilities .block .list li .txt_box{
width: 100%;
margin-bottom: 30px
}

#facilities .block .list li .txt_box p{
font-size: .8rem;
}

#facilities .block .list li .img{
width: 80%;
margin: auto;
}

#facilities .block .list li .img img{
border-radius: 1rem;
overflow: hidden;
}

#facilities article{
overflow: hidden;
position: relative;
margin:-5px 0 60px;
}

#facilities .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#facilities .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:7rem;
font-weight:500;
line-height:1;
overflow: hidden;
color:#443E6E;
letter-spacing:2rem;
}

#facilities .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}
#facilities .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}

#facilities .plant_list{
width: 90%;
margin: auto;
}

#facilities .plant_list li{
width:100%;
margin-bottom:20px;
flex-direction: row;
border: 1px solid #443E6E;
padding:10px;
box-sizing: border-box;
}

#facilities .plant_list li .img{
width: 100%;
margin-bottom:10px;
}

#facilities .plant_list li .txt_box{
width: 100%;
}

#facilities .plant_list li .txt_box h3{
font-size: 1rem;
font-weight: 500;
line-height: 1;
margin: 0 0 15px;
background: #443E6E;
padding: 8px;
color: #FFF;
box-sizing: border-box;
}

#facilities .plant_list li .txt_box .txt{
font-size: 1rem;
margin-bottom:15px;
}

#facilities .plant_list li .txt_box .txt2{
background: rgba(0,0,0,.025);
padding: 10px;
box-sizing: border-box;
font-size: .9rem;
font-weight: 600;
}

#facilities .scroll{
width: 100%;
margin: auto;
position: relative;
overflow-x: auto;
}

#facilities .scroll .table-companyB {
width:800px;
margin:auto;
line-height: 1.2;
font-size:.9rem;
border-top: solid 1px #cccccc;
border-left: solid 1px #cccccc;
font-size: .8rem;
}
#facilities .scroll .table-companyB td {
border-right: solid 1px #cccccc;
border-bottom: solid 1px #cccccc;
padding:8px 5px 8px 5px;
}

#facilities .genzai_txt{
text-align: right;
font-size: 1rem;
}


}