.top_kv img{
    width:100%;
    height:465px;
    object-fit: cover;
}
.top_kv{
    width:100vw;
    
    position:relative;
    text-align:center;
}
.top_kv_sp{
    display:none;
}
.top_000 img{
    position:absolute;
    top: 64%;
    left: 50%;
    transform: translate(-50%, -50%);
    display:block;
    width:100%;
    max-width:200px;
    height:40px;
}
.nin{
    position:absolute;
    top: -23%;
    left: 50%;
    transform: translateX(-50%);
    display:flex;
    justify-content:center;
    align-items:center;
    font-weight:bold;
}
.nin h1{
    font-size:35px; 
    color:#f00;
}
.nin p{
    font-size:25px;
}
.nin span{
    font-size:23px;
}
.kv_search{
    position:absolute;
    top:73%;
    left: 50%;
    transform: translateX(-50%);
    padding-top:24px;
    width:100%;
    max-width:1000px;
    height:80px;
    background-color:rgba(255,255,255,0.7);
}
.circle{
    position:absolute;
    top:248px;
    left:50%;
    transform: translateX(-50%);
    display:inline-block;
    width:220px;
    height:91px;
    border-radius:50% / 100% 100% 0 0;
    background-color:rgba(255,255,255,0.7);
}

#search form{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    padding:0 40px 0 40px;
}
.label{
    position:relative;
    display:flex;
    width:100%;
    max-width:420px;
}
#search label{
    border-radius:5px 0 0 5px;
    border:1px solid #ccc;
    border-right:none;
    width:70px;
    height:50px;
    line-height:50px;
    background-color:var(--base-color);
}
#search select{
    -webkit-appearance: none;
    appearance: none; /* デフォルトの矢印を非表示 */
    box-sizing: border-box;
    border-radius:0 5px 5px 0;
    border:1px solid #ccc;
    border-left:none;
    padding-left:20px;
    width:100%;
    max-width:350px;
    height:52px;
    background-color:#fff;
}
#search label:after{
    position: absolute;
    content: url(../img/arrow.png);
    top: 2px;
    right: 20px;
    transform: rotate(90deg);
}
#s{
    border-radius:5px;
    border:1px solid #ccc;
    padding-left:20px;
    width:100%;
    max-width:350px;
}
#s:focus::placeholder{
    color:transparent;
}
#searchsubmit{
    border-radius:5px;
    border:1px solid #ccc;
    padding:0 20px 0 20px;
    color:#fff;
    background-color:var(--main-color);
}
input{
    -webkit-appearance: none;
}
.copy{
    position:absolute;
    top:20%;
    left: 50%;
    transform: translateX(-50%);
}
.copy h1{
    margin-top:10px;
}
.copy h1,
.copy p{
    background-color:rgba(255,255,255,0.4);
}
.copy p{
    font-size:24px;
    margin:0 auto;
    width:80%;
}
.top_bunner{
    margin:0 auto;
    margin-top:50px;
    margin-bottom:10px;
    display:block;
    height:100%;
    max-height:200px;
    width:100%;
    max-width:980px;
    object-fit: cover;
}
.bunner{
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width :980px;
    height:100%;
    max-height:200px;
    margin:0 auto;
}
.bunner img{
    display:block;
    width:100%;
    height:200px;
    object-fit: cover;
}
.bunner_sp{
    display:none;
}
.top_bunner_text {
    color: #e60012;
    font-size: 60px;
    font-weight: bold;
    text-align: center;
}
.award_company {
    display: flex;
    width: 97%;
    max-width: 980px;
    margin: auto;
}
.award_company img { width: 100%;}
.intro{
    margin-top:30px;
    padding-bottom:80px;
    background-color: var(--base-color);
}
.intro_box{
    margin:0 auto;
    width:100%;
    max-width:1000px;
    padding-top:50px;
}
.icon{
    display:flex;
    justify-content:center;
    align-items:center;
}
.intro_box h1{
    text-align:center;
    margin-top:10px;
    margin-bottom:50px;
}
.intro_box ul{
    display:grid;   
    grid-template-columns: repeat(4,1fr);
    justify-content:right;
    align-items:center;
    width:100%;
    max-width:1000px;
    margin:0 auto;
}
.intro_detail{
    position:relative;
    box-sizing:border-box;
    margin:0 auto;
    margin-bottom:30px; 
    width:230px;
}
.com_name{
    padding-top:10px;
    color: #000;
    text-align:center;
}
.new{
    position:absolute;
    display:flex;
    align-items:flex-end;
    top:0;
    right:0;    
    width: 0;
    height: 0;
    border-top: 30px solid #DD0000;
    border-bottom: 33px solid transparent;
    border-right: 36px solid #DD0000;
    border-left: 32px solid transparent;
    font-size:12px;
    color:#fff;
}
.com_img img{
    display:block;
    width:230px;
    height:160px;
	object-fit: cover;
}
.intro_button{
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid var(--main-color);
    border-radius:5px;
    margin:0 auto;
    margin-bottom:70px;
    width:100%;
    max-width:260px;
    height:60px;
    background-color:var(--main-color);
}
.intro_button a{
    margin-right:10px;
    color:#fff;
}
.search{
    display:flex;
    margin:0 auto;
    margin-top:50px;
    width:100%;
    max-width:1000px;
    height:100%;
}
.left{
    width:70%;
    padding-bottom:80px    
}
.grass{
    display:flex;
    justify-content:center;
    align-items:center;
}
.pref{
    position:relative;
    margin-bottom:200px;
}
.pref_img_pc img{
    width:600px;
}
.pref_img_sp img{
    display:none;
}
.pref h1{
    margin-bottom:30px;
    text-align:center;
}
.hokkaido,
.tyubu,
.tyuugoku,
.touhoku,
.kantou,
.kansai,
.sikoku,
.kyuusyu{
    position:absolute;
    width:100%;
    max-width:220px;
    border-radius:5px;
    background-color:#fff;
}
.hokkaido{
    top:215px;
    left:53px;
    border:1px solid #57c1e7;
}
.tyubu{
    top:300px;
    left:53px;
    border:1px solid #51bb9c;
}
.tyuugoku{
    top:437px;
    left:0;
    border:1px solid #2682c5;
}
.touhoku{
    top:346px;
    right:31px;
    border:1px solid #f1cb0a;
}
.kantou{
    top:469px;
    right:40px;
    border:1px solid #eb729b;
}
.kansai{
    top:606px;
    right:40px;
    border:1px solid #da4318;
}
.sikoku{
    top:753px;
    right:140px;
    border:1px solid #a274b0;
}
.kyuusyu{
    top:753px;
    right:377px;
    border:1px solid #9cc931;
}
.hokkaido ul,
.tyubu ul,
.tyuugoku ul,
.touhoku ul,
.kantou ul,
.kansai ul,
.sikoku ul,
.kyuusyu ul{
    box-sizing:border-box;
    padding: 5px 0 5px 0;
    display:flex;
    flex-wrap:wrap;
    width:90%;
    margin:0 auto;
    align-items:center;
    flex-wrap:wrap;
}
.hokkaido li,
.tyubu li,
.tyuugoku li,
.touhoku li,
.kantou li,
.kansai li,
.sikoku li,
.kyuusyu li{
    width:60px;
    margin-right:5px;
}
.hokkaido p,
.tyubu p,
.tyuugoku p,
.touhoku p,
.kantou p,
.kansai p,
.sikoku p,
.kyuusyu p{
    padding:5px 0 5px 0;
    border-radius:5px 5px 0 0;
    color:#fff;
    text-align:center;
}
.hokkaido p{
    background-color:#57c1e7;
}
.tyubu p{
    background-color:#51bb9c;
}
.tyuugoku p{
    background-color:#2682c5;
}
.touhoku p{
    background-color:#f1cb0a;
}
.kantou p{
    background-color:#eb729b;
}
.kansai p{
    background-color:#da4318;
}
.sikoku p{
    background-color:#a274b0;
}
.kyuusyu p{
    background-color:#9cc931;
}
.hokkaido a,
.tyubu a,
.tyuugoku a,
.touhoku a,
.kantou a,
.kansai a,
.sikoku a,
.kyuusyu a{
    font-size:14px;
    color:#000;
}
.sp_time{
    display:flex;
    margin-right:20px;
    align-items: center;
}
.news{
    width:90%;
}

.news_title{
    text-align:center;
}
.news ul{
    margin-bottom:50px;
}
.news_detail{
    border-bottom:2px solid var(--base-color);
    display:flex;
    align-items:center;
    padding-left:10px;
    width:97%;
    height:55px;
}
.cat{
    box-sizing:border-box;
    display:flex;
    justify-content:center;
    align-items:center;
    width:100px;
    height:30px;
    border-radius:20px;
    color:#fff;
    font-size:14px;
    text-align:center;
    margin-right:15px;
}
.category1{
    background-color:#EB729B;
}
.category2{
    background-color:#A274B0;
}
.category3{
    background-color:#F1CB0A;
}
.category4{
    background-color:#2682C5;
}

.bottom_bunner img{
    display:block;
    height:100px;
    width:100%;
    object-fit: cover;
}

@media screen and (max-width:1000px){
    .top_kv_pc{
        display:none;
    }
    .top_kv_sp{
        display:block;
    }
    .kv_search{
        top:61%;
        padding-top:30px;
        height:115px;
    }
    .top_000 img{
        top:52%;
    }
    .nin{
        top:-19%;
    }
    .circle{
        top:186px;
        height:100px;
    }
    .label{
        margin:0 auto;
    }
    #search h1{
        font-size:20px;
    }
    #search form{
        display:block;
    }
    #search label{
        line-height:35px;
    }
    #search label
    {
        height:35px;
    }
    #search select{
        height:36px;
    }
    #s{
        height:35px;
    }
    #searchsubmit{
        padding:10px;
    }
    .bunner_pc{
        display:none;
    }
    .bunner_sp{
        display:block;
    }
    .top_bunner{
        height: 100%;
        max-height: 150px;
    }
    .bunner img{
        margin:0 auto;
        height:100%;
        max-height:150px;
        width:97%;
    }
    .intro_box ul{
        display:grid;   
        grid-template-columns: repeat(2,1fr);
    }
    .search{
        display:block;
    }
    .left{
        width:95%;
        margin:0 auto;
    }
    .copy{
        width:90%
    }
    .copy p{
        font-size:14px;
    }
    .copy h1{
        font-size:20px;
    }
    .pref{
        margin:0 auto;
        width:100%;
        margin-bottom:50px;
    }
    .pref_img_pc img{
        display:none;
        margin-bottom:30px;
    }
    .pref_img_sp img{
        display:block;
        margin:0 auto;
        width:100%;
        max-width:900px;
    }
    .hokkaido,
    .tyubu,
    .tyuugoku,
    .touhoku,
    .kantou,
    .kansai,
    .sikoku,
    .kyuusyu{
        position:static;
        max-width:900px;
        margin-bottom:20px;
    }
    .hokkaido ul,
    .tyubu ul,
    .tyuugoku ul,
    .touhoku ul,
    .kantou ul,
    .kansai ul,
    .sikoku ul,
    .kyuusyu ul{
        width:95%;
    }
    .hokkaido li,
    .tyubu li,
    .tyuugoku li,
    .touhoku li,
    .kantou li,
    .kansai li,
    .sikoku li,
    .kyuusyu li{
        width:80px;
    }
    .hokkaido p,
    .tyubu p,
    .tyuugoku p,
    .touhoku p,
    .kantou p,
    .kansai p,
    .sikoku p,
    .kyuusyu p{
        padding-left:20px;
        margin:0 auto;
        text-align:inherit;
    }
    .hokkaido a,
    .tyubu a,
    .tyuugoku a,
    .touhoku a,
    .kantou a,
    .kansai a,
    .sikoku a,
    .kyuusyu a{
        font-size:16px;
    }

    .news{
        width:100%;
        margin:0 auto;
    }
    .news_detail{
        display:block;
        padding-top:10px;
    }
    .news_detail a{
        padding-top:10px;
        font-size:20px;
        color:#000;
    }
    .cat{
        height:20px;
        font-size:12px;
    }
    .bottom_bunner{
        width:100%;
        margin:0 auto;
        padding-bottom:50px;
    }
    .rpwe-block li{
        height:40px;
    }
    .rpwe-block a{
        font-size:16px;
    }
    time{
        font-size:14px;
    }
}
@media screen and (max-width:900px){
    .top_bunner_text { font-size: 6vw;}
    .award_company { display: block;}
    .award_company > div { width: 480px; max-width: 90%; margin: 10px auto;}
}
@media screen and (max-width:500px){
    .copy{
        top:12%;
    }
    .copy p{
        font-size:12px;
    }
    .copy h1{
        font-size:18px;
    }
    .top_kv{
        height:435px;
    }
    .top_kv p img{
        height:442px
    }
    .kv_search{
        top:55%;
        height:166px
    }
    .top_000 img{
        top:43%;
    }
    .nin{
        top:-15%;
    }
    .circle{
        top:142px;
        height:96px;    
    }
    .top_bunner{
        margin-top:50px;
    }
    #s{
        margin-bottom:10px;
        width:100%;
        max-width:420px;
    }
    #searchsubmit{
        width:70px;
    }
    .intro_box ul{
        grid-template-columns:repeat(1,1fr);
		display:flex;
		flex-wrap:wrap;
		align-items: flex-start;
    }
    .intro_detail{
        width:48%;
        height:auto;
		margin-bottom:20px;
    }
    .intro_detail img{
        width:100%;
        height:100%;
        max-height:300px;
    }
    .news_detail a{
        font-size:14px;
    }
}
@media screen and (max-width:400px){
    h1{
        font-size:24px !important;
    }

    .kv_search{
        height:170px;
        top:46%;
    }
    .top_kv p img{
        height:410px
    }
    .copy{
        top:10%;
    }
    .circle{
        top:114px;
        height:87px;
    }
    .top_000 img{
        top:37%;
    }
    .nin{
        top:-10%;
    }
    .copy p{
        font-size:10px;
    }
    .copy h1{
        font-size:14px !important;
    }
    .top_bunner{
        margin-top:0;
    }
    .breadcrumbs{
        margin-top:0;
    }
}