html{
    width: 100%;
    height: 100%;
}

body{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: auto;
    font-family: 'Noto Serif JP', serif;
    color: #333333;
    background-color: #ffffff;
}

/* ヘッダー・フッター */
header{
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0 0 0 20px;
    position: fixed;
    z-index: 100;
}

.header_color-b{
    background-color: rgba(255, 111, 14, 0.8);
}

.header_color-a{
    background-color: rgba(255, 255, 255, 0.8);
}

.header_area{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

footer{
    position: sticky;
    top: 100vh;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 80px auto 0 auto;
    padding: 10px 30px;
    background: #d7d7d7;
}

.footer_copy{
    width: 100%;
    text-align: center;
    font-weight: bold;
}

/* 共通レイアウト */
.side_by_side{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.vertical_stacking{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.equally_spaced{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.auto_place-bt{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.auto_place-cl{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.auto_place-cl_r{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.img_w_auto-10080{
    width: 80%;
}

.img_w_auto-10030{
    width: 30%;
}

/* 共通パーツ */
#wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 100vh;
}

.contents{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 1000px;
}

.contents_video video{
    width: 100%;
}

.top_video{
    position: relative;
    margin: 0 0 50px 0;
    width: 100%;
}

.top_video video{
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: 50% 100%;
    vertical-align: bottom;
}

.top_video_header{
    position: relative;
    width: 100%;
    height: 100vh;
    margin: 60px 0 0 0;
}

.top_video_header img{
    position: absolute;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    vertical-align: bottom;
}

.top_video_area{
    position: fixed;
    z-index: -1;
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

.top_video_area video{
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: 50% 100%;
    vertical-align: bottom;
}

.head_image{
    position: relative;
    margin: 0 0 50px 0;
    width: 100%;
}

.head_image img{
    width: 100%;
    object-fit: cover;
    object-position: 50% 100%;
    vertical-align: bottom;
}

.head_blank{
    width: 100%;
    height: 80px;
}

.title_area{
    position: absolute;
    bottom: 80px;
    left: 25px;
    text-shadow: 2px 2px 5px #333333;
}

.main_title{
    height: 60px;
    color: #ffffff;
    font-size: 48px;
    font-weight: bold;
    letter-spacing: 5px;
}

.sub_title{
    margin: 5px 0 0 0;
    color: #ffffff;
    font-size: 18px;
}

.main_chapter{
    margin: 0 0 20px 0;
    color: #fb8300;
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 3px;
}

.sub_chapter{
    width: 100%;
    margin: 10px 0 20px 0;
    color: #666666;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 2px;
    /* border-top: solid 2px #fb8300; */
    /* border-image: linear-gradient(to right, #fb8300 0%, #ffe2c2 100%); */
    border-image-slice: 1;
}

.first_chapter{
    margin-bottom: 60px;
}

.solo_chapter{
    margin-bottom: 10px;
}

.standard_row{
    width: 100%;
    margin: 0 0 60px 0;
}

.img_bottom{
    margin: 0 auto 10px auto;
}

.link_adjust{
    display: block;
    position: relative;
    top: -90px;
}

.btn_menu{
    width: 100%;
    display: flex;
}

.btn_menu span{
    text-align: center;
    font-weight: bold;
    line-height: 25px;
}

.btn_menu .btn_menu_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    background: linear-gradient(
        -45deg,
        #ff6400 25%, #ff8333 25%,
        #ff8333 50%, #ff6400 50%,
        #ff6400 75%, #ff8333 75%,
        #ff8333
      );
    background-size: 40px 40px;
}

.btn_menu_top, .btn_menu_product{
    justify-content: space-between;
}

.btn_menu_department, .btn_menu_environment{
    justify-content: center;
}


.btn_menu_top span{
    margin: 50px 0 20px 0;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 5px;
}

.btn_menu_top .btn_menu_btn{
    flex-direction: column;
    width: 225px;
    height: 150px;
}

.btn_menu_department, .btn_menu_product{
    font-size: 16px;
    letter-spacing: 2px;
}

.btn_menu_department .btn_menu_btn{
    width: 250px;
    height: 125px;
    margin: 0 10px;
}

.btn_menu_product .btn_menu_btn{
    width: 180px;
    height: 80px;
}

.btn_menu_environment .service_plan_icon{
    margin: 0 10px;
}

.layout_table{
    display: flex;
    justify-content: center;
    width: 90%;
}

.layout_table a{
    color: #fb8300;
}

.layout_table table{
    width: 100%;
    margin: 0 auto;
    color: #333333;
    font-size: 0.9em;
    text-align: left;
}

.layout_table table th{
    padding: 10px;
    font-weight: normal;
}

.layout_table table td{
    padding: 10px 5px;
    vertical-align: top;
}

.layout_table table td>span{
    display: flex;
    align-items: center;
}

.layout_table table td .select_unit{
    margin: 0 10px 0 0;
}

.layout_table table ul{
    display: flex;
    flex-wrap: wrap;
}

.layout_table table li{
    width: calc((900px - 113px) / 3);
    list-style: none;
}

form .layout_table{
    margin: 0 auto;
}

.table-gray th{
    font-weight: bold !important;
    border: solid 1px #666666;
    background-color: #cccccc;
}

.table-gray td{
    border: solid 1px #666666;
}

.table-white th{
    border: solid 1px #666666;
}

.table-white td{
    border: solid 1px #666666;
}

.table-dot th{
    border-right: dotted 1px #666666;
}

.modal-header{
    padding: 10px;
    color: #ffffff;
    background-color: #fb8300;
}

.close{
    color:#ffffff;
    opacity: 1;
}

.modal-title{
    font-size: 20px;
    font-weight: bold;
}

.modal-footer{
    justify-content: center;
    border: none;
}

.modal_switch{
    width: 100%;
    margin: 30px 0 0 0;
    text-align: center;
}

.about_chart span{
    padding: 10px;
    color: #ffffff;
    font-size: 28px;
    font-weight: bolf;
    background-color: #fb8300;
}

.about_chart span:hover{
    cursor: pointer;
    color: #fb8300;
    background-color: #ffffff;
    border: solid 1px #fb8300;
    transition: all .4s;
}

.contact_terms span{
    color: #2a4185;
    font-weight: bold;
    text-decoration: underline;
}

.contact_terms:hover{
    cursor: pointer;
    opacity: 0.7;
    transition: all .3s;
}

form{
    width: 100%;
}

.form-control{
    padding: 2px;
    font-size: 0.9em;
}

.form-check-input{
    position: relative;
    margin-left: 0;
}

.input_w-s{
    width: 200px;
}

.input_w-m{
    width: 400px;
}

.input_w-l{
    width: 600px;
}

.font-red{
    color: #cc0000;
}

.background-og{
    padding: 10px;
    background-color: rgba(255, 111, 14, 0.8);
}

textarea{
    resize: none;
}

.text_center{
    text-align: center;
}

.pull_left{
    justify-content: left;
}

.pull_right{
    justify-content: right;
}

.w-80px{
    width: 80px;
}

.m_top-20{
    margin-top: 20px;
}

.m_top-50{
    margin-top: 50px;
}

.m_top-80{
    margin-top: 80px;
}

.img_w-100{
    width: 100%;
}

.img_w-75{
    width: 75%;
}

.img_w-50{
    width: 50%;
}

.img_w-49_5{
    width: 49.5%;
}

.img_w-45{
    width: 45%;
}

.img_w-30{
    width: 30%;
}

.img_h-290{
    height: 290px;
    object-fit: cover;
}

.img_p-30{
    object-position: 0 10%;
}

.img_p-60{
    object-position: 0 60%;
}

.img_p-70{
    object-position: 0 70%;
}

.font_size-12{
    font-size: 12px;
}

.submit_area{
    width: 100%;
    margin: 50px auto 0 auto;
    text-align: center;
}

.submit_area a,
.submit_button{
    padding: 10px;
    text-decoration: none;
    border: none;
}

.submit_button:hover{
    opacity: 0.7;
    transition: all .3s;
}

.submit_button i{
    margin-right: 10px;
}

.button_c-orange{
    color: #ffffff;
    background-color: #fb8300;
    border: solid 1px #fb8300;
}

.button_c-orange:hover{
    color: #fb8300;
    font-weight: bold;
    background-color: #ffffff;
    border: solid 1px #fb8300;
}

.button_c-gray{
    color: #333333;
    background-color: #cccccc;
}

.button_c-gray:hover{
    color: #333333;
    background-color: #ffffff;
    border: solid 1px #666666;
}

.button_w-120{
    width: 120px;
}

a{
    text-decoration: none;
}

a:hover{
    opacity: 0.7;
    text-decoration: none;
    transition: .4s;
}

ul, li{
    margin: 0;
    padding: 0;
}

.pagination-container{
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 20px 0 0 0;
}

.pagination-container li{
    width: 50px;
    height: 50px;
    margin: 0 1px;
    text-align: center;
    line-height: 50px;
    font-weight: bold;
}


.pagination-container li a{
    display: block;
    width: 100%;
    height: 100%;
}

.pagination-container .prev a, .pagination-container .next a{
    color: #fb8300;
    font-weight: bold;
    background-color: #ffffff;
    border: solid 1px #fb8300;
}

.pagination-container .prev a{
    border-radius: 8px 0 0 8px;
}

.pagination-container .next a{
    border-radius: 0 8px 8px 0;
}

.pagination-container .page a{
    color: #fb8300;
    background-color: #ffffff;
    border: solid 1px #fb8300;
}

.pagination-container .navi-active a{
    color: #ffffff;
    background-color: #ff6f0e;
    border: solid 1px #ffffff;
}
.pagination-container .prev a:hover,
.pagination-container .next a:hover,
.pagination-container .page a:hover
{
    color: #ff6f0e;
    background-color: #ffe1bd;
}


.pagination-container .disabled a{
    color: #666666;
    background-color: #ffffff;
    border: solid 1px #666666;
}

.pagination-container .disabled a:hover{
    color: #666666;
    background-color: #ffffff;
    cursor: default;
    opacity: 1;
}

/* トップページ */
.top_message{
    width: 100%;
    max-height: 600px;
    margin: 0 auto 50px auto;
    color: #666666;
    font-size: 24px;
    text-align: center;
}

.top_message img{
    max-width: 500px;
    margin: 0 0 20px 0;
}

.top_video_message{
    position: relative;
    width: 100%;
    height: calc(100vh - 60px);
}

.top_video_message img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

.top_sponsor{
    width: 100%;
}

.top_sponsor img, .top_service img{
    width: 100%;
}

.image_wrap{
    position: relative;
    overflow: hidden;
    width: 80%;
}

.image_wrap a:hover{
    opacity: 1;
}

.image_wrap img{
    width: 100%;

}

.image_wrap_name, .image_wrap_more, .image_wrap_back{
    position: absolute;
    display: flex;
	width: 100%;
	height: 100%;
    padding: 20px;
    top: 0;
    left: 0;
}

.image_wrap_more{
    justify-content: center;
    align-items: center;
    letter-spacing: 2px;
}

.image_wrap_more span{
    position: absolute;
    top: calc(50% - 20px);
    color: #ffffff;
    font-size: 18px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0);
}

.image_wrap_name{
    padding: 20px;
    letter-spacing: 5px;
}

.image_wrap_name span{
    color: #ffffff;
    font-size: 32px;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .6);
}


.image_wrap:hover .image_wrap_more{
    display: flex;
}

.image_wrap:hover .image_wrap_more span{
    top: 50%;
    color: rgba(255, 255, 255, 1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .6);
    transition: all 0.7s;
}

.image_wrap:hover .image_wrap_back{
    background-color: rgba(0, 0, 0, 0.3);
    transition: all 0.7s;
}

.top_row{
    width: 1000px;
    margin: 60px 0 0 0;
    border-radius: 10px;
}

.top_row-bg{
    padding: 40px 30px;
    background-color: rgba(255, 111, 14, 0.8);
}

.top_row-half{
    width: 49%;
    padding: 40px 15px;
    border-radius: 10px;
}

.top_row-half .top_row_item{
    margin: 20px 0 0 0;
}

.top_row .main_chapter{
    color: #ffffff;
}

.top_row_item{
    display: flex;
    flex-direction: column;
    align-items: center;

    margin-top: -30px;
    color: #ffffff;
    overflow: hidden;
}

.top_row_item-bulk{
    height: 290.81px;
}

.top_row_item-bulk_video{
    width: 550px;
}

.top_row_item-bulk_video video{
    width: 100%;
}

.top_row_item-bulk_text{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 450px;
    padding-top: 110px;
    /* padding: 100px auto 0 auto; */
    background-color: #eeeeee;
}

.top_row_item-bulk_text a{
    width: 230px;
}

.top_row_item-bulk_text a span{
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    margin: 10px 0 0 0;
    padding: 10px;
    color: #333333;
    text-align: center;
    border: solid 1px #333333;
    transition: .3s;
}

.top_row_item-bulk_text a span::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 2px solid #333333;
    box-sizing: border-box;
    z-index: -1;
    transform: scale(0.8);
    opacity: 0;
    transition: transform ease .3s, opacity .3s;
}
  
.top_row_item-bulk_text a span:hover{
    color: #ffffff;
    background: #333333;
}
  
.top_row_item-bulk_text a span:hover::before{
    transform: scale(1);
    opacity: 1;
}

.top_row_item span{
    height: 80px;
    line-height: 80px;
    font-size: 24px;
    text-align: center;
}

.top_row_item a{
    width: 100%;
    height: auto;
    overflow: hidden;
}

.top_row_item img,
.top_row_item-bulk img{
    width: 100%;
    transition: .3s all;
}

.top_row_item img:hover{
    transform: scale(1.1);
}

.top_row_item-bulk img{
    width: 100%;
}

.top_row_line{
    position: absolute;
    left: 45%;
    width: 50px;
    height: 50px;
}

.top_row_line hr{
    width: 100%;
    border-top: solid 2px #333333;
}

.line-slash,
.line-back_slash{
    top: 75px
}

.line-slash hr{
    transform: rotate(-85deg);
}

.line-back_slash hr{
    transform: rotate(85deg);
}

.trriger-200,
.trriger-300{
    opacity: 0;
}

.move-up{
    animation-duration: 0.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

.move-up{
    animation-name: move-up;
}

@keyframes move-up{
    from{opacity:0;transform:translateY(30px);}
    to{opacity:1;transform:translateY(0);}
}


/* ニュースページ */
.top_news, .main_news{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 10px 10px 10px;
}

.news_thm{
    width: 100%;
    height: 170px;
    margin: 0 auto 10px auto;
    text-align: center;
}

.news_thm img{
    text-align: center;

}

.news_chapter{
    width: 100%;
    margin: 0 0 30px 0;
    color: #666666;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.2px;
}

.news_article{
    width: 90%;
    margin: 0 auto;
}

.news_text{
    width: 90%;
    margin: 0 auto;
    color: #333333;
}

.news_article .news_text{
    width: 80%;
}

.news_img{
    width: 70%;
    margin: 0 auto 10px auto;
    text-align: center;
}

.news_img img{
    max-width: 100%;
    max-height: 480px;
}

.news_banner a{
    margin-right: 1%;
}

.news_banner img{
    width: 300px;
}

.news_row{
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 40px 0 0 0;
}

.news_col{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 30%;
    margin: 0 2%;
}

.news_row-reverse{
    flex-direction: row-reverse;
}

.news_row-reverse .img_w-30{
    margin: 0 20% 0 0;
}

.news_row_text{
    width: 50%;
    padding: 10px 20px;
}

.news_row img:hover,
.img_hover img:hover{
    cursor: pointer;
    opacity: 0.8;
}

dl{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc((94% - 2px) / 3);
    margin: 5px 1%;
}

dl:hover{
    background-color: #ffe1bd;
    transition: all .4s;
}

dl a{
    width: 100%;
    padding: 10px;
}

dl img{
    max-width: 100%;
    max-height: 170px;
}

dt{
    width: 100%;
    color: #333333;
    font-weight: 400;
    text-align: left;
}

dd{
    width: 100%;
    height: 70px;
    color: #ca7a47;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

dl:hover dd{
    color: #333333;
}

/* 企業情報ページ */
.welcome_row{
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 78%;
}

.welcome_name{
    width: 100%;
    margin: 10px 0 0 0;
    text-align: right;
}

.welcome_text{
    width: 100%;
    font-size: 15px;
}

.welcome_img{
    width: 300px;
    height: 300px;
    margin: 0 0 5px 30px;
}

.important_row{
    width: 80%;
    margin: 0 auto 40px auto;
}

.important_row ol{
    margin: 20px 0 0 23%;
    padding: 0;
    font-size: 20px;
    counter-reset: list;
    list-style-type: decimal;
}

.important_row .list-30{
    margin: 20px 0 0 30%;
}

.important_row ol li{
    position: relative;
    padding: 0 0 0 5px;
    margin: 7px 0 7px 0px;
    font-weight: bold;
    line-height: 29px;
}

.important_chapter{
    width: 100%;
    margin-bottom: 10px;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 5px;
    background: linear-gradient(to right, rgba(255, 226, 164, 0.2) 0%, rgba(255, 226, 164, 0.8) 50%, rgba(255, 226, 164, 0.2) 100%);
}

.important_concept_img{
    width: 50%;
    margin: 10px auto 20px auto;
}

.important_graph_img{
    width: 50%;
}

.important_organization_img{
    width: 100%;
}

.important_concept_text font{
    color: #fb8300;
}

.important_concept_text{
    margin: 20px 0 0 0;
    color: #666666;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.history_line{
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.history_line_item{
    display: flex;
    font-size: 14px;
}

.history_date{
    width: 20%;
    padding: 0 0 0 20px;
    font-weight: bold;
}

.history_text{
    position: relative;
    width: 80%;
    padding: 0 20px 60px 30px;
    border-left: 1px dotted #333333;
}

.history_text::before{
    content: "";
    position: absolute;
    top: 3px;
    left: -8px;
    width: 15px;
    height: 15px;
    background-color: #fb8300;
    border-radius: 10px;
}

.access_point{
    color: #333333;
    font-size: 24px;
    font-weight: bold;
}

.access_map{
    width: 100%;
}

/* 事業内容ページ */
.service_link{
    display: flex;
    justify-content: space-between;
    width: 400px;
    margin: 0 auto 30px auto;
}

.service_link a{
    color: #cc0000;
}

.service_text{
    width: 60%;
}

.service_5045 > img{
    margin: 10px 0 0 0;
}

.service_chapter{
    margin: 0 auto 5px auto;
    color: #666666;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.1px;
}

.service_tel{
    padding: 30px 0;
    border: solid 1px #333333;
}

.service_tel_row{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 70%;
    margin: 0 auto;
    font-weight: bold;
}

.service_tel_label{
    width: 65%;
    font-size: 1.8em;
    text-align: left;
}

.service_tel_number{
    color: #fb8300;
    font-size: 1.5em;
}
.service_environment{
    display: flex;
    flex-direction: column;
    width: 935px;
    margin: 20px auto 10px auto;
}

.service_environment img{
    width: 230px;
}

.service_engineer_process{
    width: 100%;
}

.service_engineer_process img{
    width: 300px;
}

.service_plan_w-lg{
    width: 465px;
}

.service_plan_w-sm{
    width: 230px;
}

.service_environment .service_plan_title{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 5px 0;
    width: 100%;
    height: 40px;
    font-weight: bold;
    color: #666666;
    background-color: #d8d8d8;
    border-radius: 10px;
}

.product_button{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 450px;
    height: 80px;
    color: #ffffff;    
    font-size: 1.3em;
    text-decoration: none;
    background: #e60012;
    transition: .4s;
}

.product_button:hover{
    color: #ffffff;
    opacity: 0.7;
}

.service_appeal{
    margin: 30px 0 20px 0;
}

.service_appeal_row{
    display: flex;
    flex-direction: column;
}

.appeal_w-3{
    width: 30%;
}

.appeal_w-3 .img_w-50{
    margin: 0 auto;
}

.appeal_w-4{
    width: 22%;
}

.service_appeal_text{
    margin: 10px 0 0 0;
    font-size: 0.9em;
}

.service_appeal_title{
    padding: 0 0 0 8px;
    font-size: 18px;
    font-weight: bold;
    border-left: 5px solid #f86e14;
}

.service_list{
    width: 100%;
    margin: 20px 0 0 0;
    font-size: 0.9rem;
}

.service_list span{
    font-weight: bold;
}

.service_list ol{
    margin: 0 0 0 10px;
    padding: 0;
    counter-reset: list;
    list-style-type: none;
}

.service_list ol li{
    position: relative;
    margin: 0 0 20px 0px;
    padding: 0 0 0 50px;

}

.service_list_01{
    background: url('../image/service/environment/solar/No01.png') no-repeat 0 5px /35px 35px;
}

.service_list_02{
    background: url('../image/service/environment/solar/No02.png') no-repeat 0 5px /35px 35px;
}

.service_list_03{
    background: url('../image/service/environment/solar/No03.png') no-repeat 0 5px /35px 35px;
}

.service_list_04{
    background: url('../image/service/environment/solar/No04.png') no-repeat 0 5px /35px 35px;
}

.service_list_05{
    background: url('../image/service/environment/solar/No05.png') no-repeat 0 5px /35px 35px;
}

.service_list_06{
    background: url('../image/service/environment/solar/No06.png') no-repeat 0 5px /35px 35px;
}

.service_reform{
    width: 100%;
    margin: 20px 0 0 0;
    padding: 20px 0;
    font-size: 1.1rem;
    font-weight: bold;
    text-align: center;
    background-color: #fbede4;
    border: 1px solid #ff8000;
    border-radius: 7px;
}

.service_reform_number{
    color: #fb8300;
}

.service_message{
    color: 333333;
    font-size: 40px;
    font-weight: 900;
}

.oneday_img{
    width: 100%;
    text-align: center;
}
.oneday_img img{
    width: 600px;
}

/* 採用情報ページ */
.recruit_row{
    width: 80%;
    margin: 0 auto;
}

.recruit_label img{
    width: 100%;
}

.recruit_link{
    display: flex;
}

.recruit_link img{
    width: 100%;
}

.engineer_slide{
    display: flex;
    width: 100%;
    margin: 60px auto 0 auto;
}

.engineer_slide img{
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: 50% 100%;
}

.engineer_slide_caption{
    position: absolute;
    z-index: 999;
    padding: 3px 10px;
    color: #ffffff;
    font-size: 1.8em;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    background-color: rgba(0, 0, 0, 0.6);
    box-shadow: 1px 1px 3px 3px rgba(0, 0, 0, 0.6);
    border-radius: 2px;
}


.engineer_slide_caption-1{
    left: 5%;
    top: 100px;
    animation: cap1 0.7s ease;
}

.engineer_slide_caption-2{
    left: 10%;
    top: 170px;
    animation: cap2 1s ease;
}

/* @keyframes cap1{
    0% {opacity:0;}
    100% {opacity: 1;}
}

@keyframes cap2{
    0% {opacity:0;}
    20% {opacity:0;}
    100% {opacity: 1;}
} */

.engineer_slide img{
    max-width: 100%;
}

.engineer_status{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 300px;
    height: 220px;
    margin: 0 1%;
    padding: 10px;
    border: solid 2px #fb8300;
    border-radius: 5px;
}

.engineer_status_head{
    font-size: 1.2em;
    font-weight: bold;
}

.engineer_status_foot{
    font-size: 0.9em;
    line-height: 1.2;
}

.engineer_status_row{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 30px 0;
}

.engineer_status_num{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 130px;
    margin: 10px auto 0 auto;
    border: solid 1px #fb8300;
    border-radius: 5px;
}

.engineer_status_num span{
    width: 100%;
    padding: 5px 0;
    text-align: center;
    color: #ffffff;
    background-color: #fb8300;
}

.engineer_status_emp{
    width: 100%;
    color: #cc0000;
    font-size: 1.4em;
    font-weight: bold;
    text-align: center;
}

.engineer_status_num .engineer_status_emp{
    padding: 10px 0;
}

.engineer_status_treat{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    margin: 8px 20px;
}

.engineer_status_ariticle{
    display: flex;
    align-items: center;
    width: 200px;
    height: 40px;
    margin-left: -20px;
    padding: 0 0 0 30px;
    line-height: 1.2;
    font-weight: bold;
    border: solid 1px #fb8300;
    border-radius: 0 20px 20px 0;
}

.engineer_status_img-m{
    position: relative;
    z-index: 3;
    height: 70px;
    margin: 20px 0 10px 0;
}

.engineer_status_img-m img{
    max-height: 70px;
}

.engineer_status_img-s{
    position: relative;
    z-index: 3;
    width: 40px;
}

.engineer_status_img-s img{
    max-width: 100%;
    padding: 5px;
    background-color: #fb8300;
    border-radius: 50%;
}

.engineer_caption{
    display: flex;
    width: 300px;
    height: 130px;
    margin: 0 0 10px 0;
    background-color: rgba(255, 111, 14, 0.8);
}

.engineer_caption_row{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 10px;
    color: #ffffff;
}

.engineer_caption_head{
    width: 100%;
    text-align: center;
    font-size: 1.3em;
}

.engineer_caption_article{
    margin: 5px 0 0 0;
    padding: 5px 5px 0 5px;
    font-size: 14px;
    border-top: solid 1px #ffffff;
}

.engineer_bar{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0 0 70px 0;
}

.engineer_bar li{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 200px;
    margin: 0 20px 10px;
    padding: 20px 10px 10px 10px;
    border: solid 1px #fb8300;
    border-radius: 5px;
}

.engineer_bar li span{
    display: flex;
    align-items: center;
    text-align: center;
}

.engineer_bar li .row-1{
    margin: 5px 0 0 0;
}

.engineer_bar li font{
    font-size: 12px;
}

.engineer_bar li span img{
    display: flex;
    max-height: 60px;
    margin: 0 0 10px 0;
}

.engineer_bar li:not(:last-child)::after{
    content: "";
    position: absolute;
    top: 43px;
    right: -45px;
    border-width: 30px 15px;
    border-color: transparent transparent transparent #fb8300;
    border-style: solid;
}

.engineer_contact{
    margin: 0 0 50px 0;
    padding: 5px 15px;
    font-size: 1.5em;
    color: #ffffff;
    background-color: #fb8300;
    border-radius: 5px;
}

.office_name{
    width: 50%;
    padding: 5px 0;
    color: #fb8300;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    border-bottom: solid 3px #fb8300;
    background-color: #fde6b4;
}

.office_name_mg{
    margin: 50px 0 0 0;
}

.office_row{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin-bottom: 20px;
}

.office_img{
    width: 25%;
    height: 150px;
}

.office_img img{
    width: 100%;
    height: 100%;
    object-fit:cover
}

.office_row img:hover{
    cursor: pointer;
    opacity: 0.8;
}

.office_row .modal-body{
    padding: 0;
}

.office_row .modal-body img{
    width: 100%;
}

/* インタビューページ */
.interview{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.interview a:not(:first-child){
    margin: 30px 0 0 0;
}

.interview a:hover{
    color: #fb8300;
}

.interview_label{
    position: relative;
    overflow: hidden;
    width: 300px;
    padding: 1.5rem 0 1.5rem 150px;
    color: #fb8300;
    border: 2px solid #fb8300;
}
  
.interview_label:before{
    content: '';
    position: absolute;
    top: -150%;
    left: -100px;
    width: 200px;
    height: 300%;
    background: #fb8300;
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
}
  
.interview_label span{
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    padding: 16px 0 0 30px;
    color: #ffffff;
    font-size: 24px;
}

.interview_header{
    position: relative;
    width: 100%;
    margin: 0 0 30px 0;
}

.interview_info{
    position: absolute;
    top: 180px;
    width: 300px;
    height: 180px;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 2px 2px 4px #999999 ;
    z-index: 3;
}

.interview_info-l{
    left: 50px;
}

.interview_info-r{
    left: 650px;
}


.interview_img{
    margin: 120px 0 0 0;
}

.interview_img img{
    width: 100%;
}

.interview_name{
    margin: 0 10px;
    padding: 20px 0 0 0;
    font-size: 24px;
    border-bottom: solid 2px #fb8300;
}

.interview_ruby{
    padding: 0 0 0 10px;
}

.interview_profile{
    margin: 10px 0 0 10px;
    padding: 0 0 0 5px;
    color:#666666;
    font-size: 12px;
}

.interview_row{
    width: 100%;
    margin: 0 0 30px 0;
    padding: 0 10px;
}

.interview_question{
    color: #ff6f0e;
    font-size: 16px;
    font-weight: bold;
    border-bottom: dotted 1px #fb8300;
}

.interview_answer{
    padding: 5px 19px;
}

/* お問い合わせページ */
.inquily_row{
    margin: 0 0 5px 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.inquily_row > span{
    width: 40px;
}

.contact_check input[type=radio]{
    margin: 0 5px 0 0;
}

.contact_check span{
    display: flex;
    align-items: center;
}

.inquily_anotation{
    display: flex;
    align-items: center;
    margin: 0 0 0 5px;
    font-size: 12px;
}

.contact_message{
    width: 90%;
    margin: 0 auto 10px auto;
    font-weight: bold;
}

.inquily_terms{
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 30px 0 0 0;
    color: #2a4185;
    font-size: 18px;
    font-weight: bold;
}

.inquily_terms span{
    text-decoration: underline;
}

.inquily_terms:hover{
    cursor: pointer;
    opacity: 0.7;
    transition: all .3s;
}

.contact_agree{
    margin: 0 0 10px 0;
    font-weight: bold;
}

.contact_bar{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 50%;
    margin: -20px auto 20px auto;
    padding: 0;
}

.contact_bar li{
    position: relative;
    list-style-type: none;
    text-align: center;
    text-transform: uppercase;
    width: 33.333%;
    color: #999999;
    font-weight: bold;
}
.contact_bar li:before{
    display: block;
    width: 20px;
    height: 20px;
    margin: 5px auto 10px auto;
    content: '';
    text-align: center;
    border-radius: 50%;
    background-color: #999999;
}
.contact_bar li:after{
    position: absolute;
    z-index: -1;
    top: 15px;
    left: -50%;
    width: 100%;
    height: 2px;
    content: '';
    background-color: #999999;
}
.contact_bar li:first-child:after{
    content: none;
}
.contact_bar li.active, .contact_bar li.complete{
    color: #fb8300;
}
.contact_bar li.active:before, .contact_bar li.complete:before{
    background-color: #fb8300;
}
.contact_bar li.active:after, .contact_bar li.complete:after{
    background-color: #fb8300;
}

.error_message{
    color: #cc0000;
    font-weight: bold;
}

.policy_row{
    width: 90%;
    margin: 0 0 30px 0;
}

.policy_head{
    width: 100%;
    margin: 0 0 5px 0;
    padding: 10px 0;
    color: #ffffff;
    font-size: 1.4em;;
    text-align: center;
    background-color: #fb8300;
}

.policy_chapter{
    color: #fb8300;
    margin: 0 5px 0 0;
    font-size: 18px;
    font-weight: bold;
}

.policy_date{
    width: 100%;
    margin: 0 0 15px 0;
    font-weight: bold;;
    text-align: right;
}

.policy_text{
    margin: 0 auto 30px auto;
}

.policy_text-right{
    text-align: right;
}

.policy_bullet{
    font-size: 16px;
    font-weight: bold;
}

.communication_row{
    width: 100%;
    display: flex;
    justify-content: center;
}

.communication_item{
    width: 200px;
    padding: 10px;
    color: #333333;
    box-sizing: border-box;
}

.top_row .communication_item{
    color: #ffffff;
}

.communication_item:hover{
    background-color: #ffe1bd;
    transition: all .4s;
    opacity: 1;
    color: #333333;
}

.communication_head{
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
}

.communication_head span{
    margin-top: 5px;
}

.communication_head img{
    width: 80px;
}

.sponsor_wrap{
    width: 80%;
}

.sponsor_wrap img{
    width: 100%;
}

.efckun_base{
    position: relative;
}

.efckun{
    position: absolute;
    right: -10px;
    bottom: -20px;
    width: 202px !important
}

