@charset "UTF-8";

@media only screen and (max-width: 1400px)  {
.cmn_maxbox_1400{
    padding-left: 3%;
    padding-right: 3%;
}
}
@media only screen and (max-width: 1300px)  {
.cmn_maxbox_1300{
    padding-left: 3%;
    padding-right: 3%;
}
}
@media only screen and (max-width: 1200px)  {
.cmn_maxbox_1200{
    padding-left: 3%;
    padding-right: 3%;
}
}
@media only screen and (max-width: 1100px)  {

.header_infobar{
    width: 100%;
}

}


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

.spNone {
    display: none;
}

.pcNone{
    display: block;
}

.plr30{
    padding-left: 3%;
    padding-right: 3%;
}

/* cmn_maxbox */
.cmn_maxbox{
    padding-left: 3%;
    padding-right: 3%;
}

/* cmn ///////////////////////////////////// */

/* modalmenu */

#header_modalmenu_area {
    display: block;
}

/* header */
header.plr30{
    padding-left: 0;
    padding-right: 0;
}

.header_infobar{
    width: calc(100% - 50px);
    height: 60px;
    padding: 10px 3%;
}

.header_logo{
    height: 100%;
}

.header_logo img{
    height: 100%;
}

.cmn_phone_sp{
    width: 60px;
    height: 100%;

    position: absolute;
    top: 0px;
    right: 60px;
}

.cmn_phone_sp > a{
    display: block;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* cmn_mainimg */

.cmn_maintitle{
    padding-top: 60px;
}

/* footer */

.footer_logo{
    height: 40px;
}

.footer_logo a{
    display: inline-block;
    height: 100%;
}

.footer_logo img{
    height: 100%;
}

.footer_gotop {
    left: 3vw;
}

/* cmn_flow */

.cmn_flow > ul li{
    padding: 15px 3%;
}

/* cmn_link_arr */
.cmn_link_arr,
.cmn_link_arr_white{
    background-position: right 20px center;
}

.cmn_link_arr:hover,
.cmn_link_arr_white{
    background-position: right 10px center;
}

/* home ///////////////////////////////////// */

/* home_mainimg */

.home_mainimg_copy{
    right: 3%;
}

/* home_news */

.home_news_left{
    margin-left: 0;
}

/* home_strengths */

.home_strengths .cmn_content_top_left{
    width: 48.5%;
}

.cmn_content_bottom > ul{
    margin-top: -120px;
}

/* point ///////////////////////////////////// */

.point_point_item .point_point_title{
    height: 200px;
}

.point_point_item .point_point_title h2{
    top: 50px;
}

/* company ///////////////////////////////////// */

.company_greeting .cmn_content > div::before{
    width: 3vw;
}

.company_greeting .cmn_content > span{
    right: 4vw;
}


}




















@media (max-width: 800px) {

.spNone2 {
    display: none;
}

.pcNone2{
    display: block;
}

/* cmn_maxbox */
.cmn_maxbox_600,
.cmn_maxbox_700,
.cmn_maxbox_800{
    padding-left: 3%;
    padding-right: 3%;
}

/* font-size */

.fs16{
    font-size: 1.5rem;
}
.fs18{
    font-size: 1.7rem;
}
.fs20{
    font-size: 1.9rem;
}
.fs22{
    font-size: 2.0rem;
}
.fs24{
    font-size: 2.2rem;
}
.fs26{
    font-size: 2.3rem;
}
.fs28{
    font-size: 2.5rem;
}
.fs30{
    font-size: 2.7rem;
}
.fs32{
    font-size: 2.8rem;
}
.fs34{
    font-size: 3.0rem;
}
.fs36{
    font-size: 3.1rem;
}
.fs42{
    font-size: 3.6rem;
}
.fs45{
    font-size: 3.8rem;
}
.fs48{
    font-size: 4.0rem;
}
.fs50{
    font-size: 4.0rem;
}
.fs54{
    font-size: 4.4rem;
}
.fs60{
    font-size: 5.0rem;
}

/* padding */

.pt50{
    padding-top: 40px;
}
.pt60{
    padding-top: 45px;
}
.pt70{
    padding-top: 50px;
}
.pt80{
    padding-top: 65px;
}
.pt100{
    padding-top: 80px;
}

.pb50{
    padding-bottom: 40px;
}
.pb60{
    padding-bottom: 45px;
}
.pb70{
    padding-bottom: 50px;
}
.pb80{
    padding-bottom: 65px;
}
.pb100{
    padding-bottom: 80px;
}

/* margin */

.mt50{
    margin-top: 40px;
}
.mt60{
    margin-top: 45px;
}
.mt70{
    margin-top: 50px;
}
.mt80{
    margin-top: 65px;
}
.mt100{
    margin-top: 80px;
}

.mb50{
    margin-bottom: 40px;
}
.mb60{
    margin-bottom: 45px;
}
.mb70{
    margin-bottom: 50px;
}
.mb80{
    margin-bottom: 65px;
}
.mb100{
    margin-bottom: 80px;
}

/* cmn ///////////////////////////////////// */

/* cmn_cms_editor */
.cmn_cms_editor h3 {
    font-size: 1.6rem;
}
.cmn_cms_editor h4 {
    font-size: 1.6rem;
}
.cmn_cms_editor h5 {
    font-size: 1.5rem;
}
.cmn_cms_editor h6 {
    font-size: 1.4rem;
}


/* cmn_mainimg */

.cmn_mainimg{
    height: 260px;
}

/* footer */

.footer_logo{
    height: 34px;
}

/* cmn_dl */

.cmn_dl > div{
    display: block;
}

.cmn_dl > div dt{
    width: 100%;
    padding: 15px 20px;
    border: none;
    font-weight: 700;
    border: none;
}

.cmn_dl > div dd{
    padding: 15px 20px;
    border: none;
}

/* cmn_flow */

.cmn_flow > ul li{
    flex-wrap: wrap;
}

.cmn_flow > ul li > span{
    margin-left: 20px;
    width: auto;
}

.cmn_flow > ul li > p{
    width: 100%;
    margin-left: 0;
    margin-top: 10px;
}

/* cmn_link */

.cmn_link > div{
    display: block;
}

.cmn_link > div figure,
.cmn_link > div .cmn_link_arr{
    width: 100%;
}


/* home ///////////////////////////////////// */

/* home_mainimg */

.home_mainimg_copy > p{
    font-size: 3.2rem;
}

.home_mainimg_copy > figure{
    height: 36px;
    margin-top: 10px;
}

.home_mainimg_copy > figure > img{
    height: 100%;
}

/* home_news */

.home_news > .cmn_content{
    display: block;
}

.home_news_left{
    margin-left: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
}

.home_news_left > h2{
    margin-bottom: 0px;
}

.home_news_right{
    width: 100%;
    height: 150px;
}

.home_news_right > ul > li > a{
    padding-right: 50px;
    margin-left: 0px;
}

/* home_strengths */

.home_strengths .cmn_content_top{
    height: auto;
    padding-bottom: 150px;
}

.home_strengths .cmn_content_top_left{
    width: 100%;
}

.home_strengths .slider2{
    margin-top: 30px;

    position: relative;
    top: auto;
    left: auto;
    width: 100%;
}

.home_strengths .slider2 .swiper-slide{
    height: 500px;
}

.cmn_content_bottom > ul{
    display: block;
    margin-top: -100px;
}

.cmn_content_bottom > ul > li{
    width: 100%;
    border-right: none;
    border-bottom: solid 1px #fff;
}

.cmn_content_bottom > ul > li > div > div{
    padding: 40px calc(10px + 3%);
}

/* home_case */

.home_case .cmn_title{
    width: 100%;
    padding: 20px 3%;
}

.home_case .cmn_content > ul{
    grid-template-columns: 1fr 1fr;
}

.home_case .cmn_content > ul > li > a h3{
    padding: 10px 3%;
}

/* home_recruit */

.home_about_about,
.home_about_recruit{
    display: block;
}

.home_about_img{
    width: 100%;
    height: 300px;
}

.home_about_link{
    width: 100%;
}

/* news ///////////////////////////////////// */

.news_list{
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px 3%;
}


/* point ///////////////////////////////////// */

.point_description > div > p{
    text-align: left;
}

.point_point_item .point_point_title{
    height: auto;
}

.point_point_item .point_point_title h2,
.point_point_item:nth-of-type(2n) .point_point_title h2{
    width: 100%;
    height: 100px;

    position: relative;
    top: auto;
    left: auto;
    right: auto;
}

.point_point_item > .cmn_content > figure,
.point_point_item:nth-of-type(2n) > .cmn_content > figure,
.point_point_item:last-of-type > .cmn_content > figure{
    position: relative;
    bottom: auto;

    width: 94%;
    margin: 0 auto;
    height: 300px;
}

.point_point_item > .cmn_content > div,
.point_point_item:nth-of-type(2n) > .cmn_content > div{
    width: 94%;
    max-width: none;
    margin: 0 auto;
    min-height: auto;
    padding: 50px;
}

.point_body .cmn_link > div{
    padding-top: 110px;
}

/* company ///////////////////////////////////// */

.company_greeting .cmn_content > p{
    width: 100%;
    text-align: center;
}

.company_greeting .cmn_content > figure{
    width: 100%;
    height: 300px;
    padding-top: 80px;

    position: relative;
    top: auto;
    right: auto;
}

.company_greeting .cmn_content > div{
    width: 100%;
    padding:  30px 0;
}

.company_greeting .cmn_content > div::after{
    content: "";
    display: inline-block;
    width: 3vw;
    height: 100%;

    background-image: url(../img/cmn_bgp1.png);

    position: absolute;
    top: 0px;
    left: 100%;
}

.company_greeting .cmn_content > span{
    position: relative;
    top: auto;
    right: auto;
    display: block;
    text-align: right;
}

.company_group .cmn_content{
    display: block;
}

.company_group .cmn_content > figure{
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
}

.company_group .cmn_content > div{
    width: 100%;
    max-width: 420px;
    margin: 20px auto 0;
}

/* service ///////////////////////////////////// */

.service_content_top > div{
    width: 100%;
}

.service_content_top > div > figure,
.service_content:nth-of-type(2n) .service_content_top > div > figure{
    width: 100%;
    height: 300px;
    padding-top: 60px;

    position: relative;
    top: auto;
    left: auto;
    right: auto;
}

.service_content_bottom ul{
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px 3%;
}

.service_cmn_list ul{
    grid-template-columns: 1fr 1fr;
}


/* recruit ///////////////////////////////////// */

.recruit_subImg ul{
    margin-top: -50px;
    grid-template-rows: repeat(2, 250);
    grid-gap: 20px 3%;
}

.recruit_messageImg ul{
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 150px) repeat(2, 200px);
}

.recruit_voice .cmn_tit_1st{
    height: 300px;
}

.recruit_voice .cmn_content > ul > li{
    display: block;
}

.recruit_voice .cmn_content > ul > li > figure{
    width: 100%;
    height: 300px;
}

.recruit_voice .cmn_content > ul > li > div{
    width: 100%;
}

.recruit_voice .cmn_content > ul > li > div > p{
    max-width: 410px;
}


/* contact ///////////////////////////////////// */

.contact_phone figure img{
    width: 420px;
}

.contact_phone a {
    padding-left: 30px;
    background-size: auto 28px;
}

/* contact_form */

.contact_body .cmn_dl > div dt,
.contact_body .cmn_dl > div dd{
    width: 100%;
}

.required {
    position: relative;
    margin-left: 30px;
    top: 10px;
    right: 0;
}

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

.contact_privacy > div{
    padding: 30px 3%;
}




}
























@media (max-width: 560px) {

.spNone3{
    display: none;
}

.pcNone3{
    display: block;
}

/* font-size */

.fs18{
    font-size: 1.6rem;
}
.fs20{
    font-size: 1.8rem;
}
.fs22{
    font-size: 1.9rem;
}
.fs24{
    font-size: 2.0rem;
}
.fs26{
    font-size: 2.1rem;
}
.fs28{
    font-size: 2.2rem;
}
.fs30{
    font-size: 2.3rem;
}
.fs32{
    font-size: 2.4rem;
}
.fs34{
    font-size: 2.6rem;
}
.fs36{
    font-size: 2.6rem;
}
.fs42{
    font-size: 3.0rem;
}
.fs45{
    font-size: 3.1rem;
}
.fs48{
    font-size: 3.2rem;
}
.fs50{
    font-size: 3.2rem;
}
.fs54{
    font-size: 3.6rem;
}
.fs60{
    font-size: 4.0rem;
}

/* padding */

.pt50{
    padding-top: 30px;
}
.pt60{
    padding-top: 35px;
}
.pt70{
    padding-top: 40px;
}
.pt80{
    padding-top: 50px;
}
.pt100{
    padding-top: 60px;
}

.pb50{
    padding-bottom: 30px;
}
.pb60{
    padding-bottom: 35px;
}
.pb70{
    padding-bottom: 40px;
}
.pb80{
    padding-bottom: 50px;
}
.pb100{
    padding-bottom: 60px;
}

/* margin */

.mt50{
    margin-top: 30px;
}
.mt60{
    margin-top: 35px;
}
.mt70{
    margin-top: 40px;
}
.mt80{
    margin-top: 50px;
}
.mt100{
    margin-top: 60px;
}

.mb50{
    margin-bottom: 30px;
}
.mb60{
    margin-bottom: 35px;
}
.mb70{
    margin-bottom: 40px;
}
.mb80{
    margin-bottom: 50px;
}
.mb100{
    margin-bottom: 60px;
}

/* cmn ///////////////////////////////////// */

/* header */

.header_infobar{
    padding: 13px 3%;
}

/* footer */

.footer_top ul{
}

.footer_top ul > li{
    width: 150px;
    margin-left: 0;
    text-align: left;
}

.footer_logo{
    height: 30px;
}

/* cmn_dl */

.cmn_dl > div dt{
    padding: 10px;
}

.cmn_dl > div dd{
    padding: 10px;
}

/* cmn_link */

.cmn_link > div{
    padding-top: 50px;
}

.cmn_link > div .cmn_link_arr .home_about_link_content{
    background-size: auto 100px;
}


/* home ///////////////////////////////////// */

/* home_mainimg */

.home_body .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{
    width: 350px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.home_encourage_scroll{
    position: absolute;
    bottom: 40px;
    left: 15px;
}

.home_mainimg_copy{
    right: 2%;
    bottom: auto;
    top: 50%;
}

.home_mainimg_copy > p{
    font-size: 2.4rem;
}

.home_mainimg_copy > figure{
    height: 26px;
}

/* home_news */

.home_news_right{
    height: 200px;
}

.home_news_right > ul > li > a{
    display: block;
}

/* home_strengths */

.home_strengths .slider2 .swiper-slide{
    height: 300px;
}

/* home_case */

.home_case .cmn_title{
    position: relative;
    padding-top: 40px;
}

.home_case .cmn_content{
    padding-bottom: 40px;
}

.home_case .cmn_content > ul{
    grid-template-columns: 1fr;
}

.home_case .cmn_content > ul > li{
    height: 200px;
}

.home_case .cmn_content > ul > li:first-of-type{
    grid-row: 1/1;
    grid-column: 1/1;

    height: 200px;
}

/* home_recruit */

.home_about_img{
    height: 200px;
}

.home_about_link_content{
    padding: 40px;
    background-size: auto 100px, 100px auto;
}

.home_about_link_content p{
    margin-left: 0;
}

.home_about_recruit_sub_link{
    grid-template-columns: 1fr;
}

.home_about_recruit_sub_link a{
    border-bottom: solid 1px #464646;
}

.home_about_recruit_sub_link a:nth-of-type(1),
.home_about_recruit_sub_link a:nth-of-type(3){
    border-right: none;
}

.home_about_recruit_sub_link a:nth-of-type(4){
    border-bottom: none;
}

/* news ///////////////////////////////////// */

.news_list{
    grid-template-columns: 1fr;
}


/* point ///////////////////////////////////// */

.point_copy > div{
    height: 250px;
    background-size: auto 150px;
}

.point_copy > div > p{
    font-size: 2.4rem;
    letter-spacing: 0.05em;
}

.point_point_item > .cmn_content > div,
.point_point_item:nth-of-type(2n) > .cmn_content > div{
    padding: 30px;
}

.point_point_item > .cmn_content > div strong{
    font-size: 1.7rem;
    letter-spacing: 0;
}

.point_body .cmn_link > div .cmn_link_arr .home_about_link_content{
    background-size: 100px auto;
}

.point_body .cmn_link > div{
    padding-top: 80px;
}

/* company ///////////////////////////////////// */

.company_greeting .cmn_content > p{
    font-size: 1.9rem;
}

.company_greeting .cmn_content > figure{
    padding-top: 60px;
    height: 250px;
}

.company_access_branchImg > p{
    padding: 15px;
    position: relative;
    top: auto;
    left: auto;
}

.company_access_branches{
    justify-content: space-between;
}

.company_access_branches > .company_access_branch{
    max-width: none;
    width: 31%;
    margin-left: 0;
    text-align: center;
}

.company_access_branches > .company_access_branch > p{
    font-size: 1.2rem;
    line-height: 1.5;
}

.company_access_branches > .company_access_branch > figure{
    height: 100px;
}

.company_group .cmn_content > figure,
.service_content:nth-of-type(2n) .service_content_top > div > figure{
    height: 200px;
}

.company_group .cmn_content > div > dl > div{
    display: block;
}

.company_group .cmn_content > div > dl > div > dd{
    margin-left: 0;
}

/* service ///////////////////////////////////// */

.service_content_top > div > figure{
    height: 250px;
    padding-top: 40px;
}

.service_content_bottom ul{
    grid-template-columns: 1fr;
}

.service_cmn_list ul{
    grid-template-columns: 1fr;
}

.recruit_voice .cmn_tit_1st{
    height: 260px;
}

/* recruit ///////////////////////////////////// */

.recruit_subImg ul{
    margin-top: -20px;
    grid-template-rows: repeat(2, 150px);
    grid-gap: 0;
}

.recruit_messageImg ul{
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 100px) repeat(2, 150px);
}

.recruit_voice .cmn_content > ul > li > figure{
    height: 200px;
}


/* contact ///////////////////////////////////// */

.contact_phone figure img{
    width: 350px;
}

.contact_phone a {
    padding-left: 25px;
    background-size: auto 24px;
}


/* contact_form */

.contact_form .cmn_dl .select_box{
    width: 100%;
}

.contact_form .cmn_dl select{
    padding: 0 10px;
}

.contact_form .cmn_dl input{
    padding: 0 10px;
}

.contact_form .cmn_dl .input01,
.contact_form .cmn_dl .input02,
.contact_form .cmn_dl .input03{
    width: 100%;
}

.reenter{
    display: block;
    text-align: right;
}

.contact_form .cmn_dl textarea{
    padding: 10px;
}

.privacy_check label{
    height: 60px;
}







}



