@charset "utf-8";
@media screen and (max-width:1024px) {
    /*1024 common*/
    .page-top{
        bottom:2vh;
    }
    /*1024 view*/
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    /*1024 wide*/
    .wd-small{
        max-width:1000px;
    }
    .pd100{
        padding:75px 0;
    }
    .pd5-1{
        padding:35px 0 50px;
    }
    /*1024 section box*/
    article.lower-3{
        padding:175px 0 0;
    }
    .concept-lower .box01 p{
        margin:25px 0;
    }
    .concept-lower .box02 .wrap p{
        width:auto;
    }
    .concept-lower .box02 .wrap img{
        width:auto;
        margin:25px auto;
    }
    .icon-box.row-3{
        max-width:700px;
    }
    .problem .wrap{
        gap:0 2%;
    }
    .problem .box01{
        width:49%;
        padding:0;
    }
    .problem .box01 h3{
        font-size:20px;
    }
    .problem .box01 h4{
        font-size:18px;
    }
    section.automatic.problem .box01{
        padding:1em 1em 2em;
    }
    /*1024 row*/
    .row01{
        padding:50px 0 75px;
    }
    .row01 .box01 p.main{
        margin:25px auto;
    }
    /*1024 highlight*/
    .eyecatch.lower .title h1{
        margin-left:5vw;
    }
    .h-type01{
        font-size:26px;
    }
    .h-type01 span{
        margin-top:8px;
        font-size:12px;
    }
    .h-type01 span.large{
        font-size:38px;
    }
    .h-type01 span.middle{
        font-size:18px;
    }
    .h-type02{
        font-size:26px;
    }
    .h-type06{
        font-size:32px;
    }
    /*1024 link*/
    .btn-link.type01{
        margin:auto;
    }
    .btn-link.type01 img{
        width:16px;
        height:16px;
    }
    /*1024 list*/
    .nav-business.lower ul{
        width:90%;
        margin:auto;
        max-width:600px;
    }
    ul.type03.row-2{
        display: flex;
        flex-flow: row wrap;
    }
    ul.type03.merit, ul.type03.row-3{
        gap:15px 2%;
    }
    ul.type03.merit li, ul.type03.row-3 li, ul.type03.row-2 li{
        width:45%;
        margin:auto;
        padding:5% 2%;
    }
    ul.type03.merit li p, ul.type03.row-3 li p{
        width:85%;
        height:5em;
    }
    ul.plan{
        flex-flow: column;
    }
    ul.service{
        display: flex;
        flex-flow: column;
        gap:15px 2%;
    }
    ul.service li{
        display: flex;
        flex-flow: row;
    }
    ul.service li .box01{
        width:70%;
        height:auto;
        padding:1.6em 2em;
        align-items: flex-start;
    }
    ul.service li h3{
        width:30%;
        height:auto;
        font-size:20px;
    }
    ul.aed01{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap:35px 1%;
    }
    ul.aed01 li{
        width:auto;
    }
    ul.aed01 li img{
        width:260px;
        height:260px;
    }
    ul.aed01 li p{
        width:90%;
        margin:auto;
    }
    ul.work li h3{
        margin:15px auto;
        font-size:22px;
    }
    .detail-list ul{
        flex-flow: column;
        margin:25px 0;
    }
    .detail-list ul li{
        width:100%;
        margin:0 0 4%;
    }
    .detail-list ul li h3{
        margin-bottom:5px;;
    }
    .detail-list ul li p{
        padding:0 1.2em;
    }
    /*1024 breadcrumb list*/
    .bc-list {
        padding:25px 0;
    }
    /*1024 outline*/
    .outline-box li{
        width:49%;
        margin:4% 0;
    }
    .outline-box li p{
        padding:0 1em;
    }
    .outline-box li span.notes{
        padding:0 1em;
    }
    /*1024 eyecatch*/
    .eyecatch.low01{
        height:35vh;
    }
    .eyecatch.lower .title{
        height:120px;
    }
    .eyecatch.lower .title h1{
        font-size:32px;
    }
    /*1024 footer*/
    footer .wrap{
        margin:0 auto 50px;;
        padding:50px 0;
    }
    footer .top{
        width:100%;
        margin:50px auto;
    }
    footer .bottom{
        margin-left:inherit;
    }
    footer .bottom ul{
        display: flex;
        justify-content: space-around;
        width:80%;
    }
    footer small{
        height:40px;
        font-size:12px;
    }
    /*1024 index*/
    section.concept.top{
        background-image: inherit;
    }
    section.concept.top .row01{
        flex-flow: column-reverse;
        padding:50px 0;
    }
    section.concept.top .row01 .box01{
        width:100%;
    }
    section.concept.top .row01 img.hero{
        width:100%;
        height:280px;
        margin:0 auto 25px;
    }
    section.nav-business{
        padding:50px 0;
    }
    .nav-business h2{
        height:80px;
    }
    /*1024 company*/
    section.strengths ul li h3{
        display: flex;
        justify-content: center;
        align-items: center;
        height:3.6em;
    }
    section.strengths ul li img{
        max-width:70%;
        margin:15px auto;
    }
    section.greeting .title-box h2{
        margin:auto auto 25px;
    }
    section.greeting .text-box{
        padding:50px 75px;
    }
    iframe.map{
        margin:50px auto 0;
    }
    /*1024 corporation*/
    ul.nav-corporation{
        width:100%;
        margin:50px auto;
    }
    ul.nav-corporation li{
        width:30%;
        margin:0 15px 15px;
    }
    ul.nav-corporation li a{
        height:auto;
        aspect-ratio:6/4;
    }
    /*1024 automatic*/
    section.automatic .flow img.pc{
        display: block;
    }
    section.automatic .flow img.sp{
        display: none;
    }
    /*1024 access-contorol*/
    section.a-c.concept-lower .box02 .wrap{
        flex-flow: column;
    }
    section.a-c.concept-lower .box02 img{
        width:100%;
    }
    /*1024 cash-cariier*/
    section.c-c.problem .box01{
        padding:2% 2% 4%;
    }
    /*1024 individual*/
    section.concept.individual .row01{
        flex-flow: column;
        align-items: center;
    }
    section.concept.individual .row01 .box01{
        width:100%;
        text-align: center;
    }
    section.concept.individual .row01 img{
        width:100%;
        height:250px;
    }
    section.plan.ko01{
        padding:50px 0;
    }
    section.plan h2.h-type06{
        margin:0 5vw;
        text-shadow:0 0 12px #333;
    }
    section.individual ul.plan li.wrap{
        width:100%;
        height:auto;
        margin-bottom:3%;
    }
    /*1024 other*/
    section.other.aed .row01 .box01{
        width:60%;
    }
    section.other.aed .row01 img.hero{
        width:35%;
    }
    section.other .box02{
        padding:50px 0;
    }
    section.other .box02 img.banner{
        width:80%;
        max-width:800px;
    }
    /*1024 information*/
    section.info-box{
        margin:75px auto;
    }
    /*1024 recruit*/
    .eyecatch.recruit h1{
        font-size:36px;
    }
    section.concept.recruit .box01{
        width:100%;
        padding:50px 0 25px;
    }
    section.recruit.concept .row01{
        flex-flow: column;
        padding:0;
    }
    section.recruit.concept .row01 img.hero{
        width: 100%;
        height: 280px;
        margin: 0 auto 75px;
        object-position: 0% 30%;
    }
    section.interview.article{
        padding:150px 0 50px;
    }
    aside.return .btn-link.type01{
        margin:100px auto 75px;
    }
    /*1024 contact*/
    section.contact ul.root{
        display: flex;
        flex-flow: column;
        margin:50px auto;
    }
    section.contact ul.root li:not(:first-child){
        border-left:inherit;
        border-top:solid 1.5px #ACACC7;
    }
    form .btn-link.type01{
        margin:75px auto 0;
    }
    section.contact ul.root li h2{
        margin-bottom:25px;
    }
    /*1024 privacy policy*/
    section.policy ol.wrap{
        width:95%;
    }
    section.policy h3{
        padding:15px 1em 15px 2em;
    }
    section.policy ol li p{
        padding:0 2em;
    }
    section.policy .table-box{
        margin:auto;
    }
    section.policy li.list-9 ul{
        margin:0 1em;
    }
}
@media screen and (max-width:1000px){
    table.plan{
        width:auto;
    }
}
@media screen and (max-width:768px){
    /*768 wide*/
    .pd100{
        padding:50px 0;
    }
    .pd0-1{
        padding:0 0 50px;
    }
    /*768 section box*/
    .concept-lower.center p{
        margin:25px auto;
    }
    .concept-lower .box03{
        word-break: normal;
    }
    article.lower-3 .detail{
        margin-bottom:50px;
    }
    section.policy{
        margin:50px auto;
    }
    .problem .wrap{
        flex-flow: column;
        justify-content: center;
        width:90%;
    }
    .problem .box01{
        width:100%;
    }
    section.c-c.problem .box01{
        padding:15px;
    }
    aside.info.recruit{
        flex-flow: column;
        gap:25px 0;
    }
    /*768 eyecatch*/
    .eyecatch.low01{
        height:30vh;
    }
    .eyecatch.lower .title{
        height:100px;
    }
    .eyecatch.lower .title h1{
        font-size:28px;
    }
    /*768 highlight*/
    .h-type01, .h-type03{
        font-size:22px;
    }
    .h-type03{
        padding:15px 0;
    }
    /*768 link*/
    .contact-banner{
        width:90vw;
    }
    /*768 list*/
    ul.type01 li{
        padding:5% 0;
    }
    ul.type01 li i{
        font-size:6em;
    }
    ul.type03{
        margin:35px auto;
    }
    ul.type03.merit, ul.type03.row-3{
        grid-auto-flow: column;
    }
    ul.type03.merit li, ul.type03.row-3 li{
        width:100%;
        padding:25px 25px 35px;
    }
    ul.type03.row-2 li{
        width:100%;
        padding:15px 15px 25px;
    }
    ul.type03.row-3 li p{
        height:8em;
    }
    ul.type03.merit li p{
        height:auto;
    }
    ul.type04, ul.type05{
        grid-auto-flow: row;
        gap:15px 0;
    }
    ul.type04 li img, ul.type05 li img{
        width:100%;
        height:280px;
    }
    ul.type04 li h3, ul.type05 li h3{
        height:80px;
        font-size:20px;
    }
    ul.type04 li h4, ul.type05 li h4{
        font-size:18px;
    }
    ul.type05{
        width:100%;
        margin:35px auto 50px
    }
    ul.type05 li:not(:nth-last-of-type(1)){
        margin-bottom:35px;
    }
    ul.type05 li img.arrow{
        width:25px;
        height:auto;
    }
    ul.info li a{
        flex-flow: column;
    }
    ul.nav-corporation{
        gap:15px 2%;
    }
    ul.nav-corporation li{
        width:48%;
        margin:0;
    }
    ul.work{
        display: flex;
        flex-flow: column;
        margin:25px 0;
    }
    ul.work li{
        padding:35px 0;
    }
    ul.work li img, ul.work li p{
        width:90%;
    }
    ul.nav-interview{
        margin:35px auto;
    }
    ul.nav-interview li{
        width:50%;
    }
    ul.circle{
        flex-flow: row wrap;
        justify-content: center;
        gap:5px 5%;
        margin:35px 0;
    }
    ul.circle li{
        width:210px;
        height:210px;
        margin:0;
    }
    ul.service li{
        flex-flow: column;
    }
    ul.service li h3{
        width:auto;
        height:50px;
    }
    ul.service li .box01{
        width:auto;
    }
    ul.aed01{
        grid-template-columns: auto;
        gap:0px 0;
    }
    ul.aed01 li{
        display: flex;
        flex-flow: row;
    }
    ul.aed01 li img{
        width:180px;
        height:180px;
    }
    ul.aed01 li p{
        margin:auto 0 auto 2em;
        text-align: left;
    }
    .detail-list ul{
        margin:15px 0;
    }
    .outline-box{
        flex-flow: column;
    }
    .outline-box li{
        width:100%;
    }
    .outline-box li:not(:nth-last-of-type(1)){
        margin:35px 0 50px;
    }
    .outline-box li h3{
        margin:15px auto;
        font-size:18px;
    }
    .icon-box{
        margin:35px auto 0;
    }
    .icon-box.row-3{
        max-width:500px;
        gap:25px 0;
    }
    .icon-box.row-4{
        grid-template-columns: repeat(3,4fr);
    }
    .icon-box li .box01{
        width:135px;
        height:135px;
    }
    .icon-box li h3{
        font-size:14px;
    }
    /*768 table*/
    table.type01{
        margin:35px auto;
    }
    table.plan th, table.plan td{
        padding:1em 10px;
        font-size:14px;
    }
    /*768 footer*/
    footer .top{
        display: flex;
        flex-flow: column;
        margin:35px auto;
    }
    footer .top ul{
        margin:0 0 1em;
    }
    footer .top ul li{
        line-height: 1.6em;
    }
    footer .top ul li:nth-of-type(1){
        margin-bottom:5px;
        border-bottom:dashed 2px rgb(255,255,255,0.5);
    }
    footer .bottom{
        justify-content: flex-start;
    }
    footer .bottom ul{
        width:100%;
        justify-content: flex-start;
        align-items: center;
        flex-flow: column;
        gap:15px;
    }
    /*768 index*/
    section.nav-business{
        padding:35px 0;
    }
    .nav-business h2{
        height:65px;
    }
    .nav-business ul{
        max-width:inherit;
        margin:35px 0 0px;
    }
    .nav-business.lower ul{
        width:100%;
    }
    iframe.nav-information{
        height:650px;
    }
    /*768 company*/
    section.philosophy h3{
        font-size:20px;
    }
    section.philosophy p{
        font-size:16px;
        word-break: normal;
    }
    section.strengths ul{
        display: flex;
        flex-flow: column;
    }
    section.strengths ul li:not(:nth-last-of-type(1)){
        margin-bottom:75px;
    }
    section.strengths ul li img{
        width:50%;
    }
    section.greeting .text-box{
        margin:50px auto 0;
    }
    section.greeting .title-box h2{
        left:15vw;
    }
    /*768 automatic*/
    section.automatic .flow img.pc{
        display: none;
    }
    section.automatic .flow img.sp{
        display: block;
        width:80%;
        max-width:500px;
        min-width:300px;
    }
    section.automatic.problem h2, section.a-c.merit h2{
        margin-bottom:25px;
    }
    section.automatic.merit ul.type01{
        display: flex;
        flex-flow: column;
    }
    section.automatic.merit ul.type01 p{
        width:60%;
    }
    /*768 camera*/
    .camera.problem .wrap{
        flex-flow: column;
    }
    .camera.problem .box01{
        width:100%;
        margin-bottom:50px;
    }
    .camera.problem .box01 img{
        width:70%;
    }
    .problem .box01 img.arrow{
        width:40px;
    }
    .camera.problem .box02{
        width:100%;
        padding:35px 0;
        background-image: url(../img/camera05.jpg);
        background-repeat: no-repeat;
        background-size:cover;
        background-position:left  center;
        background-color:rgb(255,255,255,0.75);
        background-blend-mode:lighten;
        border-radius: 15px;
    }
    .camera.problem .wrap{
        margin:1em 0;
    }
    .problem .box02 p{
        margin:0 1em;
        word-break: normal;
    }
    .camera.problem .box02 img{
        display: none;
    }
    section.camera ul.type03 li img{
        width:35%;
        min-width:200px;
    }
    section.camera ul.type03 li p{
        width:50%;
        height:auto;
    }
    /*768 other*/
    section.other.aed .row01{
        flex-flow: column-reverse;
    }
    section.other.aed .row01 img.hero{
        width:100%;
        aspect-ratio:6/3
    }
    section.other.aed .row01 .box01{
        width:100%;
        margin:25px auto 0;
    }
    section.other .box02 img.banner{
        width:100%;
    }
    /*768 aed*/
    ul.aed02{
        flex-flow: column;
        word-break: normal;
    }
    section.aed.outline .box03 img{
        width:50%;
    }
    /*768 information*/
    section.info-box{
        margin:50px auto;
    }
    /*768 recruit*/
    .eyecatch.recruit h1{
        font-size:28px;
    }
    .eyecatch.recruit .wrap{
        padding:40px 0;
    }
    /*768 interview*/
    section.interview.article{
        padding:100px 0 50px;
    }
    section.interview.article h1{
        font-size:20px;
    }
    section.interview.article h2{
        font-size:18px;
    }
    ul.schedule{
        margin:15px auto;
    }
    ul.schedule li .wrap{
        flex-flow: column;
    }
    ul.schedule li:not(:nth-last-of-type(1)){
        margin-bottom:5px;
    }
    ul.schedule li h3, ul.schedule li .arrow{
        width:100%;
    }
    ul.schedule li h3{
        height:2em;
    }
    ul.schedule li .arrow{
        margin:15px auto 0;
    }
    ul.schedule li .box01{
        width:100%;
    }
    /*768 contact*/
    section.contact ul.root{
        margin:35px auto;
    }
    section.contact.tel .box01 h2{
        justify-content: center;
        width:90%;
        margin:auto;
        padding:15px;
        font-size:20px;
    }
    form .wrap{
        width:90%;
        padding:75px 0;
    }
    form .box01{
        margin-bottom:120px;
    }
    form .input-box.name{
        grid-template-columns: 9% 38% 9% 38%;
    }
    form .input-box.name label{
        font-size:14px;
    }
    form .input-box, form textarea{
        margin:1em 5px;
    }
    form .title-box{
        flex-flow: column;
        align-items: flex-start;
    }
    form label.title{
        padding:0 10px 0 0;
        font-size:18px;
    }
    form .alert{
        margin-left:0;
        padding:7px 15px;
        font-size:12px;
    }
    table.formTable tr{
        display: flex;
        flex-flow: column;
    }
    /*768 policy*/
    section.policy p.outline{
        margin:35px auto;
    }
    section.policy ol li{
        margin:75px 0;
    }
    section.policy ol.wrap ol li{
        margin:25px 1em;
    }
    section.policy .box01 span{
        margin:100px 0 75px;
    }
}
@media screen and (max-width:500px){
    /*500 common*/
    /*500 basic*/
    .page-top{
        width:50px;
        height:50px;
    }
    body p{
        line-height: 1.6em;
    }
    /*500 wide*/
    .pd100{
        padding:35px 0;
    }
    .pd0-1{
        padding:0 0 50px;
    }
    /*500 section box*/
    .odbox01 p{
        margin:25px auto;
    }
    .eyecatch.low02{
        height:25vh;
        min-height:inherit;
    }
    article.lower-3{
        padding:125px 0 0;
    }
    article.lower-3 .detail p{
        margin:35px 0;
        text-align: left;
    }
    aside.info.info-list{
        margin:50px auto;
    }
    .row01 .box01 p.main{
        margin:20px auto 25px;
    }
    section.nav-business{
        padding:35px 0;
    }
    section.outline p.center{
        text-align: left;
    }
    /*500 eyecatch*/
    .eyecatch.top .title{
        top:50vh;
        bottom:50vh;
        height:250px;
    }
    .slide-fade img.slide02{
        object-position: 30%;
    }
    .eyecatch.low01{
        height:25vh;
        min-height:200px;
        max-height:200px;
    }
    .eyecatch.lower .title{
        height:75px;
    }
    .eyecatch.lower .title h1{
        font-size:20px;
    }
    .eyecatch.lower .title h1 span{
        font-size:14px;
    }
    .eyecatch.lower .title h1 span.small{
        margin:0;
    }
    /*500 highlight*/
    .eyecatch.lower .title{
        width:95%;
    }
    .h-type01, .h-type05{
        font-size:20px;
    }
    .h-type01 span{
        font-size:10px;
    }
    .h-type01 span.small{
        font-size:12px;
    }
    .h-type01 span.middle{
        font-size:16px;
    }
    .h-type01 span.large{
        font-size:28px;
    }
    .h-type02{
        font-size:20px;
        text-align: center;
        line-height: 1.3em;
    }
    .h-type02 span.small{
        font-size:18px;
    }
    .h-type06{
        font-size:28px;
    }
    .type-line{
        border-left: solid 10px #0088D2;
    }
    /*500 link*/
    .btn-link.type01{
        width:100%;
        border:none;
    }
    img.contact-pc {
        display: none;
    }
    img.contact-sp {
        display: block;
    }
    /*500 list*/
    ul.type02{
        margin:25px auto;
    }
    ul.type02 li p{
        font-size:14px;
    }
    ul.type04 li{
        padding:15px 15px 25px;
    }
    ul.type04 li h3{
        margin:0 0 15px;
        font-size:18px;
    }
    ul.type04 li img {
        height:auto;
        margin:0 0 15px;
    }
    ul.type04 li p{
        width:90%;
        margin:auto;
        word-break: normal;
    }
    ul.info{
        width:100%;
        margin:25px auto 50px;
    }
    ul.info li a{
        padding:1em;
    }
    ul.plan h3{
        padding:15px 25px;
    }
    ul.plan ul.box01 li{
        justify-content: space-between;
        margin:10px;
    }
    ul.plan ul.box01 li h4{
        margin-right:15px;
        font-size:14px;
    }
    ul.plan ul.box01 p.middle{
        font-size:14px;
    }
    ul.plan ul.box02{
        margin:15px;
    }
    ul.work{
        margin:15px 0;
        gap:15px 0;
    }
    ul.work li{
        padding:20px 0 35px;
    }
    ul.work li h3{
        margin:15px auto 10px;
        font-size:20px;
    }
    ul.circle{
        flex-flow: column;
        gap:25px 0;
        margin:25px 0;
    }
    ul.circle li{
        margin:auto;
    }
    ul.nav-interview{
        margin:15px auto 0;
    }
    ul.nav-interview li a{
        height:280px;
    }
    .nav-business ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 5px;
        margin: 5px 0 0;
    }
    .nav-business ul li:nth-last-of-type(1){
        grid-column: span 2 / span 2;
    }
    .nav-business ul li a{
        height:140px;
        aspect-ratio:inherit;
    }
    .nav-business ul li:nth-last-of-type(1) a .box01{
        width:98%;
    }
    .nav-business ul li a img.scale{
        width:100%;
    }
    .nav-business ul li a img.bg-text{
        height:85%;
    }
    .nav-business.lower ul{
        width:100%;
        grid-template-rows: inherit;
    }
    .nav-business.lower ul li:nth-last-of-type(1){
        grid-column: auto;
    }
    .nav-business.lower ul li:nth-last-of-type(1) a .box01{
        width:95%;
    }
    .nav-business.lower ul li:nth-last-of-type(1) a .box01 .small{
        text-align: center;
    }
    ul.nav-corporation{
        flex-flow: column;
        margin:25px auto;
    }
    ul.nav-corporation li{
        width:100%;
    }
    ul.nav-corporation li a{
        aspect-ratio:6/3;
    }
    .icon-box{
        margin:15px auto 0;
    }
    .icon-box.row-3{
        grid-template-columns: repeat(2,3fr);
        gap:15px 0;
    }
    .icon-box.row-4{
        grid-template-columns: repeat(2,4fr);
    }
    .icon-box li .box01{
        width:145px;
        height:145px;
    }
    .icon-box li i{
        font-size:3.4em;
    }
    /*500 header*/
    header{
        height:65px;
    }
    header .logo img{
        height:27px;
    }
    /*500 table*/
    table.type01{
        margin:15px auto;
        line-height: 1.6em;
        word-break: normal;
    }
    table.type01 tr{
        display: flex;
        flex-flow: column;
    }
    table.type01 th{
        padding:15px 1em 0;
    }
    table.type01 td{
        padding:0 1em 15px;
    }
    table.plan th, table.plan td{
        padding:15px 5px;
    }
    /*500 footer*/
    footer .wrap{
        padding:35px 0;
    }
    footer img.logo{
        height:30px;
    }
    footer .top{
        margin:25px 0;
    }
    footer .top ul li a{
        display: block;
        width:12em;
        height:100%;
    }
    footer .bottom{
        justify-content: flex-start;
/*        width:90%;*/
        margin:auto;
    }
    footer .bottom ul{
        flex-flow: column;
        gap:10px 0;
    }
    /*500 index*/
    .eyecatch.top .title h2{
        text-align: center;
    }
    .eyecatch.top .title img{
        width:50%;
        min-width:150px;
        margin:auto;
    }
    iframe.nav-information{
        height:550px;
    }
    /*bg*/
    section.concept.top{
        background-image: url(../img/outside01.jpg);
        background-size:cover;
        background-position: 50% 50%;
    }
    section.concept.top .wrap{
        width:100%;
        margin:0;
        background-color:rgb(255,255,255,0.75);
    }
    section.concept.top .row01 .box01{
        width:90%;
        margin:auto;
    }
    /*bg end*/
    section.concept.top .row01{
        flex-flow: column;
        padding:25px 0 50px;
    }
    section.concept.top .row01 img.hero{
        height:180px;
        margin:15px auto 15px;
        /*bg*/display: none;
    }
    /*500 company*/
    section.philosophy div:nth-of-type(1){
        margin:50px auto;
    }
    section.strengths ul li img{
        width:70%;
    }
    section.strengths ul li:not(:nth-last-of-type(1)){
        margin-bottom:50px;
    }
    section.greeting .title-box h2{
        left:7vw;
        margin:auto auto;
        font-size:20px;
    }
    section.greeting .title-box h2 span{
        font-size:14px;
    }
    section.greeting .text-box{
        margin:15px 0;
        padding:15px 1em;
    }
    /*500 corporation*/
    section.concept-lower .h-type02{
        flex-flow: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        line-height:1.1em;
    }
    .concept-lower.center p{
        text-align: left;
    }
    .concept-lower.center p br{
        display: none;
    }
    /*500 automatic*/
    section.automatic .flow img.sp{
        width:100%;
    }
    section.automatic.merit ul.type01 p{
        width:90%;
    }
    /*500 camera*/
    section.camera ul.type03 li p{
        width:90%;
    }
    /*500 information*/
    section.info-box{
        margin:35px auto;
    }
    section.info-box h2{
        flex-flow: column;
        align-items: flex-start;
        padding:1em;
        font-size:18px;
    }
    section.info-box .text-box{
        margin:1em;
        word-break: normal;
    }
    /*500 individual*/
    section.plan.ko01{
        background-size:150%;
    }
    ul.plan{
        margin:35px auto;
    }
    ul.plan .box03{
        height:auto;
        padding:25px 0;
    }
    ul.plan ul.box01 p.middle span{
        font-size:16px;
    }
    /*500 other*/
    section.other .box02{
        padding:35px 0;
    }
    section.other .box02 a{
        width:100%;
    }
    /*500 aed*/
    ul.aed01{
        gap:25px 0;
    }
    ul.aed01 li{
        flex-flow: column;
        align-items: center;
    }
    ul.aed01 li img{
        margin:0 auto 5px;
    }
    ul.aed01 li p{
        margin:0;
        text-align: center;
    }
    section.aed ul.nav-corporation{
        gap:2em 0;
    }
    section.aed ul.nav-corporation li a{
        aspect-ratio:6/3;
    }
    section.aed.outline ul.type02{
        margin:25px 0;
    }
    /*500 recruit*/
    .eyecatch.recruit{
        min-height:inherit;
    }
    .eyecatch.recruit h1{
        text-align: center;
        font-size:20px;
    }
    section.concept.recruit .box01{
        padding:25px 0 0;
    }
    section.recruit.concept .row01 img.hero{
        height:180px;
        margin:0 auto 35px;
    }
    /*500 contact*/
    section.contact ul.root li{
        padding:35px 0 40px;
    }
    form .wrap{
        padding:35px 0;
    }
    form .box01{
        margin-bottom:75px;
    }
    form .h-type04{
        height:auto;
        padding:0 10px 5px;
        font-size:18px;
        line-height: 1.3em;
        word-break: normal;
    }
    form .cont01{
        margin:0 auto 35px;
    }
    form .input-box.col, form .input-box, form textarea{
        margin:5px 0;
    }
    form .input-box.radio span{
        margin-bottom:10px;
    }
    form .input-box.name{
        display: flex;
        flex-flow: column;
        align-items: flex-start;
    }
    form .input-box.name label{
        margin:10px 0 5px;
    }
    form .box02 .input-box{
        align-items: flex-start;
        margin:15px 0;
        line-height: 1.3em;
    }
    form .box02 .input-box input{
        margin:5px 3px 0 0;
    }
    form .btn-link.type01{
        margin:0px auto 0;
    }
    .btn-link.type01.confirm-btn{
        padding:inherit;
    }
    /*500 policy*/
    section.policy ol li{
        margin:50px 0;
    }
    section.policy ol.wrap ol li{
        margin:15px 0;
    }
    section.policy ol li p{
        padding:0;
    }
    section.policy ol.wrap ol li p{
        padding:0;
    }
    section.policy h2{
        padding:1em 0.8em;
    }
    section.policy h3{
        padding:10px 1em 15px 1.5em;
        font-size:18px;
    }
    section.policy p.outline{
        margin:15px auto;
        width:95%;
        word-break: normal;
    }
    section.policy .box01{
        width:100%;
    }
    section.policy .box01 p{
        width:95%;
        margin:auto;
    }
    section.policy .box01 span{
        margin:50px 0;
        text-align: right;
    }
    section.policy .box02{
        padding:15px 0;
    }
    section.policy table th, section.policy table td{
        padding:15px;
        line-height: 1.6em;
    }
    section.policy table th, section.policy .table-box table:nth-of-type(2) th{
        width:6em;
    }
    section.policy li.list-9 ul{
        margin:0;
    }
}