html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px; /* ヘッダー70px + 余白30px */
}

#footer_ec
{
padding-top: 0;
}

.aboutus
{
padding-bottom: 10rem;
background: #f4f4f4;
color: #313131;
}

.aboutus img
{
vertical-align: bottom;
}

.aboutus .aboutus_main
{
width: 1260px;
max-width: 100%;
margin: 0 auto;
}

.aboutus .aboutus_main .sph1
{
display: none;
}

.aboutus .aboutus_main ul
{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.aboutus .aboutus_main .pc_aboutmenu
{
width: 180px;
margin-top: 3rem;
text-align: center;
position: sticky;
top: 100px;
}

.aboutus .aboutus_main .pc_aboutmenu dt
{
font-size: 2em;
font-weight: 600;
border-bottom: 2px solid #313131;
margin-bottom: 2rem;
}

.aboutus .aboutus_main .pc_aboutmenu dd a
{
display: block;
color: #313131;
line-height: 4.0;
font-size: 1.3em;
}

.aboutus .aboutus_main .pc_aboutmenu dd a.is-active
{
font-size: 1.5em;
position: relative;
font-weight: 600;
}

.aboutus .aboutus_main .pc_aboutmenu dd a.is-active:before
{
content: "";
position: absolute;
top: 50%;
left: 15%;
transform: translateY(-50%);
border: 8px solid transparent;
border-left: 10px solid #f24f00;
}


.aboutus .aboutus_main .pc_aboutmenu+li
{
width: 1050px;
max-width: 100%;
font-size: 1.1em;
}

.aboutus .aboutus_main .pc_aboutmenu+li h2
{
margin-top: 5rem;
font-size: 2em;
padding: 3rem;
display: flex;
align-items: center;
background: #313131;
}

.aboutus .aboutus_main .pc_aboutmenu+li h2.first
{
margin: 0;
}

.aboutus .aboutus_main .pc_aboutmenu+li h2 small
{
font-size: 0.6em;
color: #f24f00;
}

.aboutus .aboutus_main .pc_aboutmenu+li h2 strong
{
margin: 0 1.5rem;
color: #fff;
font-size: 1.2em;
font-weight: 600;
}

.aboutus .aboutus_main .pc_aboutmenu+li h2 span
{
color: #fff;
font-size: 0.8em;
}

.aboutus .aboutus_main .pc_aboutmenu+li div
{
padding: 2rem 3rem;
}

.aboutus .aboutus_main .pc_aboutmenu+li h3
{
font-weight: 600;
padding: 2rem 3rem;
font-size: 1.2em;
}

.aboutus .aboutus_main .pc_aboutmenu+li table
{
margin: 2rem 0 5rem 0;
}

.aboutus .aboutus_main .pc_aboutmenu+li table tr
{
border-bottom: 1px solid #b5b5b5;
border-top: 1px solid #b5b5b5;
}

.aboutus .aboutus_main .pc_aboutmenu+li table th
{
width: 15%;
font-weight: normal;
}

.aboutus .aboutus_main .pc_aboutmenu+li table th ,.aboutus .aboutus_main .pc_aboutmenu+li table td
{
padding: 2rem;
}

.aboutus_main .pc_aboutmenu+li table td a
{
color: #313131;
}

.aboutus_main .pc_aboutmenu+li .company_img
{
justify-content: center;
}

.aboutus_main .pc_aboutmenu+li .company_img li
{
margin: 0 1rem;
text-align: center;
}

.aboutus_main .pc_aboutmenu+li .company_img li p
{
margin-top: 1rem;
}

.aboutus_main .pc_aboutmenu+li .lab_list
{
justify-content: start;
margin: 1rem 0 3rem 3rem;
}

.aboutus_main .pc_aboutmenu+li .lab_list li
{
width: 20%;
margin-right: 5rem;
}

.aboutus_main .pc_aboutmenu+li .lab_list li strong
{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #b5b5b5;
}

.aboutus_main .pc_aboutmenu+li center img
{
width: 50%;
}

.aboutus_main .pc_aboutmenu+li .dev_ul
{
margin: 2rem 0 5rem 0;
}

.aboutus_main .pc_aboutmenu+li .dev_ul li
{
width: 32%;
text-align: center;
}

.aboutus_main .pc_aboutmenu+li .dev_ul li strong
{
margin-bottom: 2rem;
padding-bottom: 0.5rem;
display: block;
font-size: 1.2em;
border-bottom: 1px solid #000000;
}

.aboutus_main .pc_aboutmenu+li .dev_ul li p
{
margin-top: 0.5rem;
}

.aboutus_main .pc_aboutmenu+li h4
{
padding-bottom: 1rem;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
border-bottom: 2px solid #b5b5b5;
}

.aboutus_main .pc_aboutmenu+li h4 strong
{
font-size: 3em;
font-weight: 600;
}

.aboutus_main .pc_aboutmenu+li h4 span
{
font-size: 1.2em;
font-weight: 600;
padding: 1rem 0 0 1.2rem;
display: block;
}

.aboutus_main .pc_aboutmenu+li h4+p
{
margin-top: 2rem;
font-size: 1.2em;
line-height: 1.8;
text-align: center;
}

.aboutus_main .pc_aboutmenu+li .about_b_logo
{
margin-top: 5rem;
text-align: center;
}

.about_f_bnr
{
width: 1260px;
padding-top: 8rem;
max-width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.about_f_bnr li
{
width: 48%;
}
.sp_bottommenu
{
display: none;
}

@media screen and (max-width:769px) {
.aboutus .aboutus_main ul
{
display: block;
}
.aboutus .aboutus_main .sph1
{
color: #fff;
font-size: 3em;
padding: 6rem 2rem;
font-weight: 600;
background: #313131;
display: block;
}

.pc_aboutmenu
{
display: none;
}
.aboutus .aboutus_main .pc_aboutmenu + li
{
font-size: 1em;
}

.aboutus .aboutus_main .pc_aboutmenu+li h2
{
font-size: 1.6em;
align-items: center;
background: #000000;
}


.aboutus .aboutus_main .pc_aboutmenu+li div
{
padding: 2rem;
}

.aboutus .aboutus_main .pc_aboutmenu+li h3
{
font-size: 1.5em;
padding: 2rem;
}

.aboutus .aboutus_main .pc_aboutmenu+li table
{
width: 90%;
margin: 2rem auto 5rem auto;
}

.aboutus .aboutus_main .pc_aboutmenu+li table tr
{
border-bottom: 1px solid #b5b5b5;
border-top: 1px solid #b5b5b5;
}

.aboutus .aboutus_main .pc_aboutmenu+li table th
{
width: 20%;
}

.aboutus .aboutus_main .pc_aboutmenu+li table th ,.aboutus .aboutus_main .pc_aboutmenu+li table td
{
padding: 2rem 0;
}

.aboutus_main .pc_aboutmenu+li .company_img
{
margin: 0 2rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;

}

.aboutus_main .pc_aboutmenu+li .company_img li
{
width: 48%;
margin: 0;
}

.aboutus .aboutus_main .pc_aboutmenu + li .base_h2 small
{
width: 10%;
}

.aboutus .aboutus_main .pc_aboutmenu + li h2 .sponly
{
font-size: 0.6em;
font-weight: normal;
display: inline !important;
margin-left: 0.5rem;
}

.aboutus .aboutus_main .pc_aboutmenu + li h2 strong+.pconly
{
display: none;
}



.aboutus_main .pc_aboutmenu+li .lab_list
{
justify-content: start;
margin: 1rem 0 3rem 2rem;
}

.aboutus_main .pc_aboutmenu+li .lab_list li
{
width: 96%;
margin-right: 0rem;
margin-bottom: 2rem;
}

.aboutus_main .pc_aboutmenu+li .lab_list li strong
{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #b5b5b5;
}

.aboutus_main .pc_aboutmenu+li center img
{
width: 70%;
}

.aboutus_main .pc_aboutmenu+li .dev_ul
{
margin: 2rem 2rem 5rem 2rem;
}

.aboutus_main .pc_aboutmenu+li .dev_ul li
{
width: 100%;
margin-bottom: 4rem;
text-align: left;
}


.aboutus_main .pc_aboutmenu+li h4
{
margin: 0 2rem;
padding-bottom: 1rem;
}

.aboutus_main .pc_aboutmenu+li h4 strong
{
font-size: 2em;
font-weight: 600;
}



.aboutus_main .pc_aboutmenu+li h4+p
{
font-size: 1em;
margin: 2rem;
}

.aboutus_main .pc_aboutmenu+li .about_b_logo
{
margin: 5rem 4rem 0 4rem;
text-align: center;
}

.about_f_bnr
{
width: 1260px;
padding-top: 8rem;
max-width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.about_f_bnr li
{
width: 100%;
margin-bottom: 2rem;
}

.sp_bottommenu
{
display: flex;
width: 100%;
flex-wrap: wrap;
justify-content: space-between;
position: fixed;
bottom: 0;
left: 0;
z-index: 9998;
}


.sp_bottommenu li
{
width: 25%;
background: #000;
display: flex;
}

.sp_bottommenu li div {
    width: 100%;
    display: flex;
}

.sp_bottommenu li a
{
width: 100%;
display: flex;
padding: 3rem 0 1rem 0;
flex-direction: column;
justify-content: flex-start;
align-items: center;
border-right: 1px solid #fff;
position: relative;
}

.sp_bottommenu li a:before
{
content: "";
position: absolute;
top: 5%;
left: 42%;
transform: translateY(-50%);
transform: rotate(-90deg);
border: 8px solid transparent;
border-left: 10px solid #f24f00;
}


.sp_bottommenu li a.is-active
{
background: #f24f00;
}

.sp_bottommenu li a p
{
width: 100%;
text-align: center;
}

.sp_bottommenu li a small
{
font-size: 0.6em;
width: 100%;
text-align: center;
display: block;
}

}



.f_contact
{
display: none;
}