@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) {
#strengths {
position:relative;
margin: 0 auto 160px;
z-index: 5;
}

#strengths .red_ttl{
width: 90%;
margin: 0 auto 30px;
}
#strengths .red_txt{
width: 90%;
margin: 0 auto 60px;
}


#strengths .mokuji{
width: 90%;
margin: 0 auto 100px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#strengths .mokuji li{
width: 48%;
margin-bottom: 20px;
}
#strengths .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;
}
#strengths .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;
}


#strengths .list{
margin: 0;
}

#strengths .list li{
margin: -100px auto 150px;
padding-top: 100px;
}
#strengths .list li.flex_wrap{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row;
}
#strengths .list li.box{
width: 90%;
}

#strengths .list li:last-child{
margin-bottom: 0;
}

#strengths .list li .txt_box{
width: 60%;
position: relative;
padding:2% 3%;
box-sizing: border-box;
}

#strengths .list li h3{
font-size:2.4rem;
font-weight:500;
margin-bottom:50px;
line-height: 1.4;
position: relative;
}
#strengths .list li h3::before{
content: "";
position: absolute;
left: 0;
bottom: -10px;
width: 100px;
height: 1px;
background: #443E6E;
}

#strengths .list li .txt{
line-height: 2.2;
}

#strengths .list li .txt_box .map{
width: 100%;
margin-top: 60px;
}

#strengths .list li .img{
width: 40%;
}
#strengths .list li .img p{
font-size: .9rem;
}

#strengths .list li:nth-child(odd){
flex-direction: row-reverse;
}


#strengths .list li .bg{
background: url("../images/index/bg_st.jpg") center center no-repeat;
background-size: cover;
overflow: hidden;
margin-top: 50px;
padding: 45px;
box-sizing: border-box;
color: #fff;
}
#strengths .list li#stre02 .bg{
width: 90%;
margin: 80px auto 0;
}

#strengths .list li .bg h4{
font-size: 1.6rem;
font-weight: 700;
margin: 0 0 20px;
}

#strengths .list li .bg h4{
font-size: 1.6rem;
font-weight: 700;
margin: 0 0 20px;
}

#strengths .list li .bg .imgbox{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 50px;
}
#strengths .list li .bg .imgbox::after{
content: '';
width: 30%;
display: block;
}
#strengths .list li .bg .imgbox .img{
width: 30%;
}
#strengths .list li .bg .imgbox p.img_p{
width: 65%;
}

#strengths .list li .bg .list_box{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 40px 0 0;
}

#strengths .list li .bg .list_box li{
width: 48%;
margin: 0;
padding: 15px;
box-sizing: border-box;
border: 1px solid #7c71cb;
display: block;
}

#strengths .list li .bg .list_box li:nth-child(3){
width: 100%;
margin-top: 30px;
}

#strengths .list li .bg .list_box li h5{
background: #443E6E;
padding: 10px 15px;
box-sizing: border-box;
color: #FFF;
font-size: 1rem;
line-height: 1.4;
margin-bottom: 20px;
}

#strengths .list li .bg .list_box li .txt{
font-size:.9rem;
line-height: 1.6;
}
#strengths .list li .bg .list_box li .txt span{
font-size:1.1rem;
font-weight: 800;
display: block;
padding-bottom: 10px;
}

#strengths .list li .bg .list_box li:last-child .txt{
margin-bottom: 20px;
}
#strengths .list li .bg .list_box li:last-child .txt span{
padding-bottom: 0px;
}


#strengths .common_btn_box { text-align: center; }
#strengths .common_btn_box .common_btn .text { width: 300px; }


#strengths .list li#stre03 .map01{
width: 80%;
margin: 60px auto 30px;
}

#strengths .list li#stre03 .bg .list_box li{
width: 100%;
margin: 30px 0 0;
}

#strengths .list li#stre03 .bg .list_box li .flex_wrap{
width: 100%;
margin: 30px 0 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#strengths .list li#stre03 .bg .list_box li .flex_wrap .map02{
width: 45%;
}
#strengths .list li#stre03 .bg .list_box li .flex_wrap .imgbox{
width: 50%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 0;
}
#strengths .list li#stre03 .bg .list_box li .flex_wrap .img{
width: 47%;
}
#strengths .list li#stre03 .bg .list_box li .flex_wrap .img p{
margin: 10px 0 0;
}



#strengths .rinen_mission_box{
margin:100px auto 0;
width: 70%;
background:url("../images/index/bg_st.jpg") center center no-repeat;
background-size: cover;
border-radius: 2rem;
padding:45px;
box-sizing: border-box;
}

#strengths .rinen_mission_box dl{
margin: 0 0 25px;
border-bottom: 1px solid rgba(255,255,255,.2);
padding-bottom: 15px;
box-sizing: border-box;
}

#strengths .rinen_mission_box dl dt{
font-size: 1.2rem;
line-height: 1;
letter-spacing:.3rem;
color: #FFF;
margin-bottom: 10px;
}

#strengths .rinen_mission_box dl dt span{
font-size: .9rem;
font-style:italic;
margin-left: 15px;
}

#strengths .rinen_mission_box dl dd{
font-size: 1.35rem;
font-weight: 300;
letter-spacing: .2rem;
color: #FFF;
}

#strengths .rinen_mission_box dl:last-child{
margin-bottom: 0;
}

}





/*sp*/
@media only screen and (max-width: 767px) {
#strengths {
position:relative;
margin: 0 auto 80px;
z-index: 5;
}

#strengths .red_ttl{
width: 90%;
margin: 0 auto 30px;
}
#strengths .red_txt{
width: 90%;
margin: 0 auto 40px;
}


#strengths .mokuji{
width: 90%;
margin: 0 auto 50px;
}
#strengths .mokuji li{
width: 100%;
margin-bottom: 10px;
}
#strengths .mokuji li a{
width: 100%;
position: relative;
display: block;
color: #fff;
background-color: #443E6E;
border: 1px solid #443E6E;
text-align: center;
font-size: 0.9rem;
letter-spacing: 0.05em;
padding: 10px 30px;
box-sizing: border-box;
border-radius: 6px;
transition: 0.3s;
}
#strengths .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;
}


#strengths .list{
margin: 0;
}

#strengths .list li{
margin: -60px auto 80px;
padding-top: 60px;
}
#strengths .list li.flex_wrap{  }
#strengths .list li.box{
width: 90%;
}

#strengths .list li:last-child{
margin-bottom: 0;
}

#strengths .list li .txt_box{
position: relative;
padding:2% 3%;
box-sizing: border-box;
margin-bottom: 30px;
}

#strengths .list li h3{
font-size:1.6rem;
font-weight:500;
margin-bottom:30px;
line-height: 1.4;
position: relative;
}
#strengths .list li h3::before{
content: "";
position: absolute;
left: 0;
bottom: -10px;
width: 100px;
height: 1px;
background: #443E6E;
}

#strengths .list li .txt{
line-height: 2.2;
}

#strengths .list li .txt_box .map{
width: 100%;
margin-top: 20px;
}

#strengths .list li:nth-child(odd){
flex-direction: row-reverse;
}


#strengths .list li .bg{
background: url("../images/index/bg_st.jpg") center center no-repeat;
background-size: cover;
overflow: hidden;
margin-top: 40px;
padding: 25px;
box-sizing: border-box;
color: #fff;
}
#strengths .list li#stre02 .bg{
width: 90%;
margin: 40px auto 0;
}

#strengths .list li .bg h4 {
font-size: 1.6rem;
font-weight: 700;
margin: 0 0 20px;
}

#strengths .list li .bg h4 {
font-size: 1.4rem;
font-weight: 700;
margin: 0 0 20px;
}

#strengths .list li .bg .imgbox {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 20px;
}
#strengths .list li .bg .imgbox .img{
width: 48%;
}

#strengths .list li .bg .list_box{
width: 100%;
margin: 30px 0 0;
}

#strengths .list li .bg .list_box li{
margin: 10px 0 0;
padding: 15px;
box-sizing: border-box;
border: 1px solid #7c71cb;
display: block;
}

#strengths .list li .bg .list_box li h5{
background: #443E6E;
padding: 10px 15px;
box-sizing: border-box;
color: #FFF;
font-size: 1rem;
line-height: 1.4;
margin-bottom: 20px;
}

#strengths .list li .bg .list_box li .txt{
line-height: 1.6;
}
#strengths .list li .bg .list_box li .txt span{
font-size:0.9rem;
font-weight: 800;
display: block;
padding-bottom: 10px;
}

#strengths .list li .bg .list_box li:last-child .txt{
margin-bottom: 20px;
}
#strengths .list li .bg .list_box li:last-child .txt span{
padding-bottom: 0px;
}


#strengths .common_btn_box { text-align: center; }
#strengths .common_btn_box .common_btn { width: 90%; margin: auto; }
#strengths .common_btn_box .common_btn .text { width: 100%; }


#strengths .list li#stre03 .map01{
width: 100%;
margin: 20px auto 30px;
}

#strengths .list li#stre03 .bg .list_box li{
width: 100%;
margin: 30px 0 0;
}

#strengths .list li#stre03 .bg .list_box li .flex_wrap{
width: 100%;
margin: 30px 0 0;
}

#strengths .list li#stre03 .bg .list_box li .flex_wrap .map02{

}
#strengths .list li#stre03 .bg .list_box li .flex_wrap .imgbox{
margin: 20px 0 0;
}
#strengths .list li#stre03 .bg .list_box li .flex_wrap .img p{
margin: 10px 0 0;
}



#strengths .rinen_mission_box{
margin:100px auto 0;
width: 70%;
background:url("../images/index/bg_st.jpg") center center no-repeat;
background-size: cover;
border-radius: 2rem;
padding:45px;
box-sizing: border-box;
}

#strengths .rinen_mission_box dl{
margin: 0 0 25px;
border-bottom: 1px solid rgba(255,255,255,.2);
padding-bottom: 15px;
box-sizing: border-box;
}

#strengths .rinen_mission_box dl dt{
font-size: 1.2rem;
line-height: 1;
letter-spacing:.3rem;
color: #FFF;
margin-bottom: 10px;
}

#strengths .rinen_mission_box dl dt span{
font-size: .9rem;
font-style:italic;
margin-left: 15px;
}

#strengths .rinen_mission_box dl dd{
font-size: 1.35rem;
font-weight: 300;
letter-spacing: .2rem;
color: #FFF;
}

#strengths .rinen_mission_box dl:last-child{
margin-bottom: 0;
}


}