@charset "UTF-8";
#top_partner ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #main_copy_area {
    height: 580px;
    display: flex;
    align-items: center;
    background: url(../image/top/top-mvback.jpg) no-repeat;
    background-position: center;
    background-size: cover;
  }
  #main_copy_area h2 {
    margin-bottom: 20px;
  }
  #oftheyear_mv {
    border-top: 4px solid #FFFFFF;
    /*
    background: url(../image/top/oftheyear/back.jpg) no-repeat center center;
    background-size: cover;
    */
    background: linear-gradient(#410000 0px, #89090f 480px);
    background: linear-gradient(#002700 0px, #007134 480px);
    border-top: 4px solid #A37E39;
    background: #fff;
    color: #282828;
    position: relative;
  }
  #oftheyear_mv .mv_area {
    height: 606px;
    position: relative;
  }
  #oftheyear_mv .copy {
    position: absolute;
    top: 82px;
    left: 0;
    right: 10px;
    text-align: center;
  }
  #oftheyear_mv .subcopy {
    position: absolute;
    top: 173px;
    left: 0;
    right: 0;
    text-align: center;
  }
  #oftheyear_mv h2 {
    position: absolute;
    top: 266px;
    left: calc(50% - 35px);
  }
  #oftheyear_mv .takumi {
    position: absolute;
    top: 267px;
    left: calc(50% - 504px);
  }
  #oftheyear_mv .linkbtn {
    margin-bottom: 63px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #oftheyear_mv .linkbtn a {
    background: #A37E39;
    padding: 22px 77px;
    text-decoration: none;
    position: relative;
  }
  #oftheyear_mv .linkbtn a::after {
    content: "";
    background: url(../image/top/oftheyear/arrow.png) no-repeat;
    width: 16px;
    height: 30px;
    position: absolute;
    top: calc(50% - 15px);
    right: 20px;
  }
  #oftheyear_mv #backnumber {
    max-width: 1020px;
    margin: auto;
    padding: 0 0 60px;
  }
  #oftheyear_mv #backnumber dt {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    padding-bottom: 10px;
    border-bottom: 8px double #FFFFFF;
    border-bottom: 8px double #efefef;
    margin-bottom: 10px;
  }
  #oftheyear_mv #backnumber ul {
    display: flex;
    flex-wrap: wrap;
  }
  #oftheyear_mv #backnumber ul li {
/*    background: url(../image/common/footer_partnerlist-arrow.png) no-repeat left center;*/
    padding-left: 18px;
    margin: 20px 40px 0 0;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.05em;
    position: relative;
  }
  #oftheyear_mv #backnumber ul li::before {
    content: "";
    display: block;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: rotate(45deg) translateY(-50%);
  }
  #oftheyear_mv #backnumber ul li a {
    color: #fff;
    color: #282828;
    font-weight: 700;
    text-decoration: none;
  }
  /*
  #oftheyear_mv #backnumber ul li:nth-of-type(1) a {
    color: #A37E39;
  }
  */
  #top_message {
    border-top: 4px solid #FFFFFF;
    padding-top: 50px;
    min-height: 886px;
    background: url(../image/top/top-messageback.jpg) no-repeat;
    background-position: center;
    background-size: cover;
  }
  #top_message h3 {
    margin: 25px 0 20px;
    font-size: 42px;
  }
  #top_message .description {
    font-size: 21px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }
  #top_message .txt {
    font-size: 17px;
    line-height: 1.6;
    text-align: center;
    margin-top: 25px;
  }
  #top_vision {
    border-top: 4px solid #FFFFFF;
    padding-top: 50px;
    min-height: 1226px;
    background: url(../image/top/top-missionback.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
  }
  #top_vision::before {
    content: "";
    background: linear-gradient(#897c68 0px, #000 540px);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    mix-blend-mode: color;
    pointer-events: none;
  }
  #top_vision img {
    position: relative;
    z-index: 1;
  }
  #top_vision h3 {
    margin-top: 20px;
    font-size: 42px;
    line-height: 1.1;
  }
  #top_vision .description {
    margin-top: 20px;
    font-weight: bold;
    font-size: 21px;
    line-height: 1.524;
    text-align: center;
  }
  #top_mission01 {
    position: relative;
    width: 350px;
    margin: 60px auto 0;
    padding-left: 670px;
    min-height: 349px;
    align-items: center;
    padding-top: 65px;
  }
  #top_mission01 .image {
    position: absolute;
    top: -20px;
    left: -80px;
  }
  #top_mission01 h5 {
    margin-top: 20px;
    font-size: 42px;
    line-height: 1.1;
  }
  #top_mission01 ul {
    margin-top: 20px;
  }
  #top_mission01 li {
    text-indent: -1em;
    margin-left: 1em;
    font-size: 17px;
    line-height: 1.8;
  }
  #top_mission02 {
    position: relative;
    width: 1020px;
    margin: 35px auto 0;
    min-height: 364px;
    align-items: center;
    padding-top: 50px;
  }
  #top_mission02 .image {
    position: absolute;
    top: -20px;
    right: -100px;
  }
  #top_mission02 h5 {
    margin-top: 20px;
    font-size: 42px;
    line-height: 1.1;
  }
  #top_mission02 .txt {
    margin-top: 20px;
    font-size: 17px;
    line-height: 1.8;
  }
  #top_symbol {
    border-top: 4px solid #FFFFFF;
    background: url(../image/top/top-symbolback.jpg) no-repeat;
    background-position: center;
    background-size: cover;
  }
  #top_symbol_contents {
    background: url(../image/top/top-symbolimg.png) no-repeat;
    background-position: center;
  }
  #top_symbol .contents {
    display: flex;
    align-items: center;
    /*min-height: 780px;*/
    height: 780px;
  }
  #top_symbol .contents_area {
    padding-left: 640px;
  }
  #top_symbol h3 {
    margin-top: 20px;
    font-size: 42px;
    line-height: 1.1;
  }
  #top_symbol p {
    margin-top: 25px;
    font-size: 17px;
    line-height: 1.56;
  }
  #top_partner {
    border-top: 4px solid #FFFFFF;
    padding-top: 45px;
    min-height: 775px;
    background: url(../image/top/top-partnerback.jpg) no-repeat;
    background-position: center;
    background-size: cover;
  }
  #top_partner h3 {
    margin-top: 20px;
    font-size: 42px;
    line-height: 1.1;
    text-align: center;
  }
  #top_partner .copy{
    margin-top: 30px;
  }
  #top_partner .txt {
    margin-top: 30px;
    text-align: center;
    font-size: 17px;
    line-height: 1.67;
  }
  #top_partner ul {
    margin-top: 35px;
  }
}
@media screen and (max-width: 767.999px) {
  /* 安全衛生表彰式 */
  #oftheyear_mv {
    border-top: 2px solid #FFFFFF;
    /*
    background: url(../image/top/oftheyear/back-sp.jpg) no-repeat center center;
    background-size: cover;
    */
    background: linear-gradient(#410000 0px, #89090f 480px);
    background: linear-gradient(#002700 0px, #007134 480px);
    background: #fff;
    color: #282828;
    border-top: 2px solid #A37E39;
  }
  #oftheyear_mv .mv_area {
    position: relative;
    padding: 32px 32px 0;
    max-width: 302px;
    text-align: center;
    margin: auto;
  }
  #oftheyear_mv .copy {
    margin: 0 0 15px 0;
  }
  #oftheyear_mv .copy img {
    width: 300px;
  }
  #oftheyear_mv .subcopy {
    margin-bottom: 17px;
  }
  #oftheyear_mv .subcopy img {
    width: 300px;
  }
  #oftheyear_mv h2 {
    margin-bottom: 15px;
    text-align: center;
  }
  #oftheyear_mv h2 img {
    width: 269px;
  }
  #oftheyear_mv .takumi {
    text-align: center;
    margin-bottom: 18px;
  }
  #oftheyear_mv .takumi img {
    width: 188px;
  }
  #oftheyear_mv .linkbtn {
    padding: 0 20px 36px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.05em;
  }
  #oftheyear_mv .linkbtn a {
    background: #A37E39;
    padding: 12px 30px 12px 20px;
    text-decoration: none;
    position: relative;
    display: block;
  }
  #oftheyear_mv .linkbtn a::after {
    content: "";
    background: url(../image/top/oftheyear/arrow.png) no-repeat;
    width: 16px;
    height: 30px;
    position: absolute;
    top: calc(50% - 15px);
    right: 6px;
  }
  /* 通常 */
  #main_copy_area {
    padding: 80vw 0 0 ;
    min-height: 109vw;
    background: url(../image/top/top-mvback-sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    box-sizing: border-box;
  }
  #main_copy_area h2 {
    width: 228px;
    margin: 0 auto ;
  }
  #main_copy_area p {
    width: 228px;
    margin: 10px auto 0;
  }
  /* 通常ここまで */
  #oftheyear_mv #backnumber {
    padding: 0 20px 40px;
  }
  #oftheyear_mv #backnumber dt {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    padding-bottom: 6px;
    border-bottom: 6px double #efefef;
    margin-bottom: 6px;
  }
  #oftheyear_mv #backnumber ul {
    display: flex;
    flex-wrap: wrap;
  }
  #oftheyear_mv #backnumber ul li {
/*
    background: url(../image/common/footer_partnerlist-arrow.png) no-repeat left center;
    background-size: 5px 9px;
*/
    padding-left: 11px;
    margin: 10px 20px 0 0;
    font-size: 21px;
    line-height: 1;
    letter-spacing: 0.04em;
    position: relative;
  }
  #oftheyear_mv #backnumber ul li::before {
    content: "";
    display: block;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    width: 5px;
    height: 5px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: rotate(45deg) translate(-50%, -50%);
  }
  #oftheyear_mv #backnumber ul li a {
    color: #fff;
    color: #282828;
    font-weight: 700;
    text-decoration: none;
  }
  #top_message {
    /*padding: 25px 20px 225px;*/
    padding: 25px 20px 0;
    min-height: 167vw;
    box-sizing: border-box;
    border-top: 2px solid #FFFFFF;
    background: url(../image/top/top-messageback-sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
  }
  #top_message h2 {
    width: 65px;
    margin: 0 auto;
  }
  #top_message h3 {
    margin-top: 10px;
    font-size: 21px;
  }
  #top_message .description {
    margin-top: 13px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.075em;
  }
  #top_message .txt {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: 0.05em;
  }
  #top_vision {
    /*min-height: 266vw;*/
    padding: 25px 10px 30px;
    border-top: 2px solid #FFFFFF;
    background: url(../image/top/top-missionback-sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    box-sizing: border-box;
    position: relative;
  }
  #top_vision::before {
    content: "";
    background: linear-gradient(#897c68 0px, #000 360px);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    mix-blend-mode: color;
    pointer-events: none;
  }
  #top_vision img {
    position: relative;
    z-index: 1;
  }
  #top_vision h2 {
    width: 45px;
    margin: 0 auto;
  }
  #top_vision h3 {
    margin-top: 10px;
    font-size: 21px;
    line-height: 1.1;
  }
  #top_vision .description {
    margin-top: 13px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.075em;
    padding: 0 10px;
  }
  #top_mission01 {
    margin-top: 20px;
  }
  #top_mission01 h4 {
    width: 80px;
    margin: 25px auto 0;
  }
  #top_mission01 h5 {
    margin-top: 10px;
    font-size: 21px;
    text-align: center;
  }
  #top_mission01 ul {
    margin-top: 8px;
  }
  #top_mission01 li {
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: 0.05em;
  }
  #top_mission02 {
    margin-top: 25px;
  }
  #top_mission02 h4 {
    width: 80px;
    margin: 20px auto 0;
  }
  #top_mission02 h5 {
    margin-top: 10px;
    font-size: 21px;
    text-align: center;
    line-height: 1.1;
  }
  #top_mission02 .txt {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: 0.05em;
    padding: 0 10px;
  }
  #top_symbol {
    border-top: 2px solid #FFFFFF;
    background: url(../image/top/top-symbolback-sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    box-sizing: border-box;
  }
  #top_symbol_contents {
    background: url(../image/top/top-symbolimg-sp.png) no-repeat;
    background-position: center bottom;
    background-size: cover;
  }
  #top_symbol .contents_area {
    padding: 25px 20px 0;
    min-height: 123vw;
  }
  #top_symbol h2 {
    width: 60px;
    margin: 0 auto;
  }
  #top_symbol h3 {
    margin-top: 9px;
    font-size: 21px;
    line-height: 1.1;
    text-align: center;
  }
  #top_symbol p {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: 0.05em;
  }
  #top_partner {
    padding: 25px 20px 40px;
    border-top: 2px solid #FFFFFF;
    background: url(../image/top/top-partnerback-sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    box-sizing: border-box;
  }
  #top_partner h2 {
    width: 58px;
    margin: 0 auto;
  }
  #top_partner h3 {
    margin-top: 10px;
    font-size: 21px;
    line-height: 1.1;
    text-align: center;
  }
  #top_partner .copy{
    margin-top: 13px;
  }
  #top_partner .txt {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: 0.05em;
  }
  #top_partner ul {
    margin-top: 22px;
  }
  #top_partner ul li {
    width: calc( 33.3% - 7px)
  }
}