@charset "UTF-8";

/*共通*/

* {
    font-family:"Noto Sans JP",sans-serif;
    margin: 0;
    padding: 0;
    
}

html {
    font-size: 100%;
    scroll-behavior: smooth;
    background-size: cover;
    background-position: center;
    box-sizing: border-box;
}

body {
    font-family:"Noto Sans JP",sans-serif;
    line-height: 1.3;
    color: #777;
    margin: 0;
    padding: 0;
    
}

a {
    text-decoration: 100%;
}

img {
    max-width: 100%;
}

/*レイアウト*/

.nav-top {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1500 !important;
}

nav {
    display: flex;
    position: fixed;
    justify-content: space-around;
    align-items: center;
    min-height: 8vh;
    background-color: #aaa;
    width: 100%;
    top: 0;
    z-index: 1000;
    border-bottom: 3px solid #00419b;
}

/* ナブアイコン */

.nav-message {
    width: fit-content;
    background-color: #fff;
    color: #000000;
}

.logoo {
    display: block;
    align-items: center;
}

.lll {
    padding-top: 5px;
    padding-left: 5px;
    max-width: 400px;
    width: auto;
}

.snsbtniti {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  max-width: 350px;/* ボタンを設置する場所の最大横幅 */
  margin: 0 auto;/* ボタンを中央へ */
}

ul.snsbtniti {
  padding: 0!important;
  list-style-type: none!important;
}

.flowbtn {
  font-family: 'Noto Sans Japaneses', sans-serif; /* フォント指定 */
  position: relative;
  display: inline-block;
  width: 45px; /* 背景横幅 */
  height: 30px;/* 背景高さ */
  font-size: 48px;/* アイコンサイズ */
  border-radius: 4px;
  color: #ff0000!important;/* ボタン内カラー */
  transition: .5s;
  text-decoration: none;
  box-shadow: 0 1px 2px #999;
  margin-top: 10px;
  margin-left: 10px;
}

.flowbtn i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.flowbtn:hover {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
  text-decoration: none;
  cursor: pointer;
}

.my_youtube1 {
  background: #ffffff;
}

.nav-links {
    display: flex;
    justify-content: space-around;
    width: fit-content;
    transition:  all 0.3s ease-in-out;
    margin-bottom: -5px; 
    margin-left: auto;
    margin-right: 30px;
}

.nav-links li {
    list-style: none;
}

.nav-links a {
    text-decoration: none;
    color: rgb(255, 255, 255);
    font-weight: bold;
    font-size: 18px;
    text-align: left;
}

.burger {
    display: none;
    cursor: pointer;
}

.burger div {
    width: 25px;
    height: 3px;
    background-color: white;
    margin: 5px;
    margin-right: 15px;
    transition: all 0.5s ease-out;
    z-index: 10;
    cursor: pointer;
}


.toggle .line1 {
    transform: rotate(-45deg) translate(-5px, 6px);
}

.toggle .line2 {
    opacity: 0;
}

.toggle .line3 {
    transform: rotate(405deg) translate(-5px, -6px);
}

@keyframes navlinksfade {
    0% {
        opacity: 0;
        transform: translateX(50px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@media screen and (max-width: 480px) {
    .lll {
        width: 75%;
    }

    .nav-links {
        position: fixed;
        right: 0;
        top: 9vh;
        width: 100%;
        background-color: #3d3d3d;
        flex-direction: column;
        align-items: center;
        transition: all 0.5s ease-in;
        right: -300px;
        z-index: 5;
        opacity: 0;
        margin-right: 0;
        overflow-y: auto;
        box-sizing: border-box;
        max-height: 750px;
    }

    .nav-active.nav-links {
        right: 0;
        opacity: 1;
    }

    .burger {
        display: block;
        z-index: 10;   
        margin-left: auto; 
        
    }
     #mask {
        display: none;
        transition: all 0.5s;  
    }

        .nav-active#mask {
        display: block;
        background-color: #000000;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        position: fixed;
        opacity: 0.8;
        cursor: pointer;
        z-index: 4;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .lll {
        width: 75%;
    }

    .nav-links {
        position: fixed;
        right: 0;
        width: 100%;
        top: 10vh;
        width: 100%;
        background-color: #3d3d3d;
        flex-direction: column;
        align-items: center;
        transition: all 0.5s ease-in;
        right: -300px;
        z-index: 5;
        opacity: 0;
        margin-right: 0;
        overflow-y: auto;
        box-sizing: border-box;
        max-height: 750px;
    }

    .nav-active.nav-links {
        right: 0;
        opacity: 1;
    }

    .burger {
        display: block;
        z-index: 10;
        margin-left: auto;
    }
     #mask {
        display: none;
        transition: all 0.5s;
    }

        .nav-active#mask {
        display: block;
        background-color: #000000;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        position: fixed;
        opacity: 0.8;
        cursor: pointer;
        z-index: 4;
    }
}


@media (min-width: 768px) and (max-width: 992px) {
    body {
    overflow-x: hidden;
    }

    
    /* .lll {
        width: 75%;
    } */

    .nav-links {
        position: fixed;
        right: 0;
        width: 100%;
        background-color: #3d3d3d;
        top: 11vh;
        flex-direction: column;
        align-items: center;
        /* transform: translateX(100%); */
        transition: all 0.5s ease-in;
        right: -300px;
        z-index: 5;
        opacity: 0;
        margin-right: 0;
        overflow-y: auto;
        box-sizing: border-box;
        max-height: 750px;
    }

    .nav-active.nav-links {
        /* transform: translateX(0%)!important ; */
        right: 0;
        opacity: 1;
    }

    .burger {
        display: block;
        z-index: 10; 
        margin-left: auto;    
    }


     #mask {
        display: none;
        transition: all 0.5s;
    }

    .nav-active#mask {
        display: block;
        background-color: #000000;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        position: fixed;
        opacity: 0.8;
        cursor: pointer;
        z-index: 4;
    }

}





/*ナビゲーション*/

.dropdown a:hover {
    color:#ffffff;
    background-color: #777;
}

.dropdown a {
    color: white;
    font-weight: 600;
    display: block;
    padding: 15px 20px;
    position: relative;
}

.dropdown {
    /* background: transparent; */
    color:rgb(255, 255, 255);
    font-size: 18pt;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    transition: .3s;
    position: relative;
}

.dropdown-content {
    position: absolute;
    display: block;
    display: none;
    left: 50%;
    transform: translateX(-50%);
    /* width: 240px; */
    border-radius: 5px;
}

.dropdown-content ul li {
    display: block;
    width: 200px;
    border-bottom: 0.5px solid rgb(255, 255, 255);
}

.dropdown-content ul li:last-child {
    border: none;
}

.dropdown-content a {
    display: block;
    flex-direction: row;
    text-align: center;
    font-size: 16px;
    color: white;
    padding: 15px 40px;
    text-decoration: ;
    background-color:rgba(170, 170, 170,0.8);
    font-weight: 600;
}    

.dropdown:hover .dropdown-content {
    display: block;
    cursor: pointer;
}

.dropdown-content a:hover {
    background-color: #777;
    transition: background-color 0.3s;
    border-radius: 5px;
    cursor: pointer;
}

@media screen and (max-width: 992px) {
    .dropdown-content a  {
        text-align: left;
        background-color: #222;
    }

    .dropdown-content ul li {
    width: 100%;
    border-bottom: 0.5px solid #c9c9c9;
    }

    .dropdown.active .dropdown-content {
        max-height: 500px;
    } 

    .dropdown {
    position: relative; 
    display: block;
    width: 100%;
    border-bottom: solid 1px #cecece;
    border-radius: 0;
}

.dropdown > a {
    padding-right: 40px; /* トグルボタンと重ならないようにスペースを確保 */
    display: block;
    font-size: 16px;
    
}

.dropdown-content {
    position: relative; /* PCの絶対配置を上書き */
    width: 100%;
    max-height: 0;      /* 初期状態は高さをゼロにして非表示 */
    overflow: hidden;
    transition: max-height 0.3s ease-in-out; /* 開閉アニメーション */
    box-shadow: none;
    border-radius: 0;
}

}

@media (min-width: 993px) and (max-width: 1064px) {
    .nav-links a {
        font-size: 14px;
    }

    .dropdown a {
        padding: 7px 12px;
    }

    .nav-links {
        margin-right: 0;
    }
}

@media (min-width: 1065px) and (max-width: 1367px) {
    .dropdown a {
        padding: 8px 15px;
    }

    .nav-links a {
        font-size: 15px;
    }

    .nav-links {
        margin-right: 0;
    }
}

/* アコーディオンメニュー */

@media screen and (max-width: 992px) {
.accordion-toggle {
    display: block; /* PCでは非表示だったものを表示 */
    cursor: pointer;
    position: absolute; /* .dropdownを基準に配置 */
    right: 15px; 
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    z-index: 10;
}

/* ＋マークの縦線と横線 */
.accordion-toggle::before, .accordion-toggle::after {
    content: '';
    position: absolute;
    background-color: white;
    transition: transform 0.3s;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.accordion-toggle::before { /* 縦線 */
    width: 2px;
    height: 20px;
}
.accordion-toggle::after { /* 横線 */
    width: 20px;
    height: 2px;
}

/* 【追記】開いた時のアニメーション（縦線を消すことで－マークに見せる） */
.dropdown.active .accordion-toggle::before {
    transform: translate(-50%, -50%) rotate(90deg) scale(0);
}

.dropdown-content ul,
.dropdown-content li {
    display: block; /* 念のため display: flex; が継承されていないか確認し、ブロック要素に戻す */
    width: 100%;
}
}

/*フッター*/

.page-footer {
    background-color: #777;
    display: flex;
    flex-wrap: wrap; /* 画面幅が狭くなったら折り返す */
    justify-content: space-between;
    align-items: flex-start; /* 上揃え */
    padding: 30px 150px 30px 200px;
}

.footer-logo {
    width: 300px;
}

.info{
    border-spacing: 0;
    /* margin: 20px 0 0 50px; */
}

.info th,.info td {
    color:rgb(255, 255, 255);
    border-bottom: 1.5px solid #ffffff;
}

.info th {
    text-align: center;
    font-weight: normal;
    padding: 10px;
}

.info td {
    padding: 10px;
    text-align: center;
}


.footer-link {
    display: block;
    margin-top: 15px; 
    text-align: center;
}

.footer-link ul {
    display: flex;
    justify-content: center;
    width: 100%;
    gap: 20px;
    list-style: none;
}

.footer-title {
    display: flex;
    flex-direction: column;
    padding-bottom: 5px;
}

.footer-title a {
    padding-top: 7px;
    padding-bottom: 5px;
    color: rgb(255, 255, 255);
    font-size: 18px;
    transition: all 0.05s;
    font-weight: 500;
}

.footer-title a:hover {
    color: #bfbfbf;
}

.copyright {
    background-color: #333;
    text-align: center;
    padding: 2rem 0;
    color: #fff;
}

@media screen and (max-width: 480px) {
    .page-footer {
    display: block;
    width: 100%;
    padding: 0;
    }

    .footer-logo {
    width: 90%;
    margin: auto;
    margin-top: 10px;
    }

    .info{
    width: 80%;    
    padding: auto;
    margin: auto;
    }

    .info th {
    padding: 3px;
    font-size: 15px;
}

.info td {
    padding: 3px;
    font-size: 15px;
}
   
    .footer-link {
    display: block;
    margin: 0;
    }

    .footer-link ul {
    gap: 0px;
}

    .footer-title {
    padding-bottom: 20px;
    
    }

    .footer-title a {
    font-size: 14px;
    font-weight: 500;
    margin-left: 10px;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .page-footer {
    display: block;
    padding: 0;
    }

    .footer-logo {
    display: block;
    margin: auto;
    padding-top: 20px;
    }

    .info{
    width: auto;    
    padding: auto;
    margin: auto;
    }

    .info th {
    font-size: 16px;
}

.info td {
    font-size: 16px;
}
   
    .footer-link {
    display: block;
    margin: 0;
    }

    .footer-link ul {
    gap: 0px;
}

    .footer-title {
    padding-bottom: 20px;
    }

    .footer-title a {
    font-size: 16px;
    font-weight: 500;
    margin-left: 10px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
    .page-footer {
    padding: 30px;
    }

    .footer-logo {
    display: block;
    margin: auto;
    padding-top: 20px;
    }

    .info{
    width: auto;    
    padding: auto;
    margin: auto;
    }
   
    .footer-link {
    display: block;
    margin: 0;
    }

    .footer-link ul {
    gap: 0px;
}

    .footer-title {
    padding-bottom: 20px;
    margin-top: 10px;
    margin-bottom: 15px;
    }

    .footer-title a {
    font-size: 16px;
    font-weight: 500;
    margin-left: 10px;
    }
}

/* TOPページ */

#main-visual {
    position: relative;
    height: 90vh;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    overflow: hidden;
    margin-top: 70px;
    padding: 10px 0;
}


#main-visual video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    z-index: -1;
}

@media screen and (max-width: 480px) {
    #main-visual {
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
        margin-top: 8vh;
    }

    #main-visual video {
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;

    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    #main-visual {
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
        margin-top: 8vh;
    }

    #main-visual video {
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;

    }
}

@media screen and (min-width: 761px) and (max-width: 1200px) {
    #main-visual {
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
        margin-top: 9vh;
    }

    #main-visual video {
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;

    }
}

#top-about {
    padding-top: 100px;
    position: relative;
    overflow: hidden;
    margin-bottom: 60px;
}

#top-about::before {
    content: "KANEMITSUGUMI";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-size: 260px;
    letter-spacing: -6px;
    color: #f9f9f9;
    font-weight: 900;
    z-index: -1;
}

.top-container {
    width: 90%;
    max-width: 1140px;
    margin: 0 auto;
}

#top-about .col-picture {
    width: 48%;
}

.col-picture img {
    border-radius: 16px;
    top: -10px;
}

.top-section {
    padding: 60px 0;
}

.en {
    font-size: 40px;
    font-weight: 500;
    color: #36497c;
    margin-bottom: 30px;
}

#top-about h2 {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 40px;
    color: #555555;
}

.top-text {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 40px;
    font-weight: 400;
}

.button-box {
    display: inline-block;
    background-color: #000000;
    color: #fff;
    padding: 16px 40px;
    font-weight: 500;
    transition: .2s;
}

.button-box:hover {
    background-color: #404040;
}

#top-strengths {
    background-color:#2b62a7;
    border-radius: 20px;
    color: #fff;
}

#top-strengths h2 {
    color: #ffffff;
}

#top-strengths .top-text2 {
    margin-bottom: 30px;
}

.row-picture {
    display: flex;
    justify-content: space-between;
}

#top-strengths .col-picture {
    width: 45%;
    background-color: #1b558b;
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
}

#top-strengths img {
    margin-bottom: 20px;
}

#top-strengths h3 {
    color: #ffffff;
    margin-bottom: 16px;
    font-size: 24px;
}

#top-strengths .top-text2 {
    font-size: 13px;
    text-align: left;
    line-height: 1.6;
    color: #fff;
    flex-grow: 1;
}

.top-button {
    display: inline-block;
    /* border: solid 3px #ffffff; */
    background-color: #000000;
    padding: 20px 40px;
    transition:  .2s;
    margin-top: 30px;
}

.top-button:hover {
    background-color: #404040;
}

#top-strengths .top-button-box a:hover {
    color: #fff;
}

#top-strengths .top-button-box {
    text-align: center;
    color: #ffffff;
}

#top-strengths .top-button-box a {
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
}

.top-picture {
    width: fit-content;
    height: 370px;
    margin: 0 auto;
}

/* .top-container {
    opacity: 0;
} */

.top-section.animated .top-container {
    animation: zoomIn 1.5s ease forwards;
}

.top-section.animated .top-img {
    animation: zoomIn 1.5s ease forwards;
}


@media screen and (max-width: 480px) {
    #top-about::before {
        font-size: 80px;
    }

    .top-section {
        padding: 40px 0;
    }

    .en {
        font-size: 28px;
        margin-bottom: 20px;
    }

    #top-about h2 {
        font-size: 18px;
        margin-bottom: 20px;
    }

    #top-about {
        margin-bottom: 0 !important;
        padding-top: 30px !important;
        display: block;
    }

    .top-text {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .row-picture {
        flex-wrap: wrap;
    }

    .col-picture {
        width: 100% !important;
    }

    #top-strengths .col-picture {
        padding: 25px 15px;
    }

    #top-strengths h3 {
        font-size: 20px;
    }

    #top-strengths .row-picture {
        gap: 20px 0;
    }

    .top-button {
    padding: 10px 20px;
    }

    .button-box {
        padding: 15px 30px;
    }

    .top-picture {
        height: auto;
    }

    #top-about .button-box {
        margin-bottom: 20px;
    }

    .top-button {
        margin-top: 20px;
    }

    #top-strengths .top-button-box a {
        font-size: 18px;
    }
}


@media screen and (min-width: 481px) and (max-width: 767px) {
    #top-about::before {
        font-size: 120px;
    }

    #top-about h2 {
        font-size: 30px;
    }
    
    #top-about {
        margin-bottom: 30px !important;
        padding-top: 30px !important;
        display: block;
    }

    #top-about .button-box {
        margin-bottom: 20px;
    }

    .row-picture {
        flex-wrap: wrap;
    }

    .col-picture {
        width: 100% !important;
    }

    #top-strengths .row-picture {
        gap: 20px 0;
    }

    .top-picture {
        height: auto;
    }
}

@media screen and (min-width: 768px) and (max-width: 850px) {
    #top-about::before {
        font-size: 200px;
    }

    #top-about {
        padding-top: 60px !important;
        display: block;
    }

    #top-about h2 {
        font-size: 28px;
    }

    .row-picture {
        flex-wrap: wrap;
    }

    .col-picture {
        width: 80% !important;
        margin:  0 auto;
    }

    #top-strengths .row-picture {
        gap: 20px 0;
    }

    .top-picture {
        height: auto;
    }

    #top-about .button-box {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 851px) and (max-width: 1099px) {
    .col-picture img {
        margin-top: 60px;
        top: 0;
    }

    #top-about {
        margin-bottom: 0 !important; 
    }
}

@media screen and (min-width: 801px) and (max-width: 1024px) {
    
    #top-strengths .row-picture {
        gap: 20px 0;
    }

    .top-picture {
        height: 270px;
    }

    #top-about {
        display: block;
    }
}

/* トップ採用 */

#top-recruit {
    background-color: #f9f9f9;
}

#top-recruit h2 {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 40px;
    color: #555;
}

#top-recruit .top-text {
    font-size: 14px;
    margin-bottom: 40px;
}

#top-recruit .row-picture {
    align-items: center;
}

#top-recruit .col-picture {
    width: 48%;
}

#top-recruit img {
    border-radius: 16px;
}

@media screen and (max-width: 480px) {
#top-recruit {
    padding-top: 20px;
}

#top-recruit h2 {
    font-size: 20px;
    margin-bottom: 20px;
}

#top-recruit .top-text {
    margin-bottom: 20px;
}

#top-recruit .button-box {
    margin-bottom: 20px;
}
}

@media screen and (min-width: 481px) and (max-width: 767px) {
#top-recruit .button-box {
    margin-bottom: 20px;
}
}

@media screen and (min-width: 768px) and (max-width: 850px) {
#top-recruit .button-box {
    margin-bottom: 20px;
}
}

.scroll-down {
    position: fixed;
    right: 30px;
    bottom: 50px;
    width: 60px;
    height: 60px;
    background-color: #004a94;
    color: #FFF;
    text-align: center;
    line-height: 60px;
    font-size: 24px;
    font-weight: 500;
    cursor: pointer;
    z-index: 1500;
    opacity: 0;
    visibility: hidden; 
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s;
}

.scroll-down.show {
    visibility: visible;
    opacity: 1;
}

/* ピックアップ */

.about-title {
    text-align: center; 
    color: #36497c; 
    font-size: 28px;
    border-bottom: 3px solid #bbb;
    display: inline-block;
    padding-bottom: 7px;
    margin: 0 auto 70px auto;
    width: auto;
    box-sizing: border-box;
    display: block;
}


#top-about {
    padding-top: 100px;
    margin-bottom: 60px;
}


.top-pick {
    padding-bottom: 60px;
    background-color: #eee;
}

.top-list {
    width: 90%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 60px 0;
}

.about-list {
    list-style: none;
    display: flex;
    width: 100%;
    gap: 15px; 
}

.about-list-item {
  flex: 1;
  border: 1px solid #eeeeee; 
}

.about-link-item {
    display: flex;
    flex-direction: column; /*縦に並べる (アイコンの上にテキスト) */
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #ffffff; 
    background-color: #094083;
    padding: 15px 10px; 
    height: 100%; 
}

.about-link-item:hover {
  background-color: #2c3e50; 
  color: #e8eaf6;
}

.about-text {
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 480px) {
    .about-list {
        display: block;
        width: 60%;
        margin: 0 auto;
    }
}

/* お知らせ */

.top-information {
    padding-top: 100px;
    position: relative;
    overflow: hidden;
    margin-bottom: 50px;
}

.top-information .en {
    margin-bottom: 30px;
}

/* .top-information::before {
    content: "INFORMATION";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-size: 260px;
    letter-spacing: -6px;
    color: #f9f9f9;
    font-weight: 900;
    z-index: -1;
} */

.top-information .top-button {
    display: block;
    text-align: center;
    color: #fff;
    margin: 0 0 0 auto;
    width: fit-content;
    font-weight: 500;
}

.news-wrapper {
    width: 90%;
    max-width: 1140px;
    margin: 0 auto;
}

.top-title {
    text-align: center; 
    color: #36497c; 
    font-weight: 500;
    font-size: 32px;
    border-bottom: 3px solid #bbb;
    display: inline-block;
    padding-bottom: 7px;
    margin: 0 auto 70px auto;
    width: fit-content;
    box-sizing: border-box;
    display: block;
    overflow: hidden;
}

.news-list {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    list-style: none;
    width: 100%;
    margin: 0 auto;
}

.news-list li {
    display: block;
    margin-bottom: 25px;
    border-bottom: 1.5px solid #7c7c7c;
    padding-bottom: 10px;
    font-size: 17px;
    transition: .2s;
}

.news-date {
    font-size: 17px;
    font-weight: 450;
    display: inline-block;
    padding: 3px 8px;
    margin-right: 15px;
    border-radius: 4px;
    color: rgb(7, 7, 7);
}

.news-indent {
    display: inline-block;
    font-weight: 500;
    margin-left: 5rem;
    padding-top: 10px;
}

.news-list a {
    color: #333;
    display: block;
}

.news-list li:hover {
    border-bottom: 1.5px solid #9d9d9d; /* ホバー時のボーダー色 */
}

.news-list a:hover {
    color: #9b9b9b;
}

.news-list li:hover a {
    color: #9b9b9b;
}

.news-list li:hover a .news-date,
.news-list li:hover a .news-indent {
    color: #9b9b9b; 
}

.news-link1 {
    margin-top: 10px;
    text-align: right;
    display: block;
}

.news-link1 a {
    display: inline-block;
    color: #777;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
    font-size: 16pt;
    border-bottom:2px solid #777;
    font-weight: 500;
}

.news-link1 :hover {
    color: #8f1a1a;
    border-bottom-color: #8f1a1a;
}


@media screen and (max-width: 480px) {
    .top-information {
    padding-top: 30px ;
    }

    .top-information::before {
        font-size: 80px;
    }

    .top-title {
        font-size: 20px;
        margin: 0 auto 30px auto;
    }

    .news-list1 {
        width: 100%;
    }

    .news-list1 li {
        font-size: 14px;
        margin-left: 20px;
    }
   
    .newa-date {
        font-size: 14px;
    }

    .news-indent1 {
        margin-left: 1rem;
    }

    .news-link1 a {
        font-size: 16px;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .top-information {
        padding-top: 30px;
    }
    .top-information::before {
        font-size: 120px;
    }

    .top-title {
        margin: 0 auto 50px auto;
    }

    .news-list1 {
        width: 100%;
    }

    .news-list1 li {
        font-size: 14px;
        margin-left: 20px;
    }
   
    .newa-date {
        font-size: 14px;
    }

    .news-link1 a {
        font-size: 16px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .top-information {
        padding: 50px 100px;
    }

    .top-information::before {
        font-size: 200px;
    }
}



/*会社案内*/

.annnai-title {
    text-align: center;
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 32px;
    color: white;
    padding-top: 100px;
    padding-bottom: 100px;
    background-image: url("/images/sdgs/sdgs-zyuuki.JPG");
    background-position: center;
    background-size: cover;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}

.aisatsu {
    background-color: #f9f9f9;
    padding-top: 130px;
    padding-bottom: 100px;
}

.aisatsu-1 {
    width: 90%;
    max-width: 1250px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.aisatsu-2 {
    width: 48%;
}

.aisatsu-2,
.aisatsu-img {
    opacity: 0;
}

.aisatsu.animated .aisatsu-2 {
    animation: zoomIn 1.5s ease forwards;
}

.aisatsu.animated .aisatsu-img {
    animation: zoomIn 1.5s ease forwards;
}


.aisatsu.animated .housin-img {
    animation: zoomIn 1.5s ease forwards;
}


@keyframes stroke-width {
  0% {
    width: 0;
    opacity: 1;
  }
  100% {
    width: calc(100% - 20px);
    opacity: 1;
  }
}
 
@keyframes stroke-height {
  0% {
    height: 0;
    opacity: 1;
  }
  100% {
    height: calc(100% - 20px);
    opacity: 1;
  }
}

.annnai-img-area {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48%;
}

.aisatsu-img {
    max-width: 500px;
    height: auto;
    border-radius: 5px;
}

.daihyou-content {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 40px;
}

.daihyou-content1 {
    font-size: 28px;
    font-weight: 600;
}

.daihyou-message {
    margin-top: 20px;
    line-height: 2;
}

@media screen and (max-width: 480px) {
    .annnai-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
    }

    .aisatsu {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .aisatsu-1 {
    display: block;
    }

    .rinen {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    }

    .rinen-2 {
    font-size: 20px !important;
    }

    .rinen .annnai-img-area {
        margin-bottom: 20px;
    }

    .aisatsu-2 {
        width: 100%;
    }

    .annnai-img-area {
        width: 100%;
    }

    .aisatsu-img {
    margin-top: 20px;
    width: 90% !important;
    }

    .daihyou-content {
    font-size: 16px;
    margin-bottom: 20px;
    }

    .daihyou-content1 {
    font-size: 20px;
    }

    .daihyou-message {
    margin-left: 0;
    font-size: 14px;
    width: 100%;
    line-height: 1.7;
    }

    .rinen-img {
        width: 90% !important;
    }

    .housin-img {
    display: inline-block;
    width: 90%;
    margin-top: 0 !important;
    }
}

@media screen and (min-width: 481px) and (max-width: 1200px) {
    .annnai-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
    }

    .aisatsu {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .aisatsu-1 {
    display: block;
    }

    .rinen {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    }

    .rinen-2 {
    font-size: 22px !important; 
    }

    .rinen .annnai-img-area {
        margin-bottom: 20px;
    }

    .aisatsu-2 {
        width: 75%;
        margin:  0 auto;
    }

    .annnai-img-area {
        width: 75%;
        margin:  0 auto;
    }

    .aisatsu-img {
    margin-top: 20px;
    width: 100% !important;
    }

    .daihyou-content {
    font-size: 16px;
    margin-bottom: 20px;
    }

    .daihyou-content1 {
    font-size: 22px;
    }

    .daihyou-message {
    margin-left: 0;
    width: 100%;
    line-height: 1.7;
    }

    .rinen-img {
        width: 100% !important;
    }

    .housin-img {
    display: inline-block;
    width: 100%;
    margin-top: 0 !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)  {
    
}

@media (min-width: 1025px) and (max-width: 1350px) {
    
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}



/*理念*/

.rinen {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    padding-top: 100px;
    padding-bottom: 100px;
}


.aisatsu-2,
.aisatsu-img {
    opacity: 0;
}
.rinen.animated .aisatsu-2 {
    animation: zoomIn 1.5s ease forwards;
}

.rinen.animated .rinen-img {
    animation: zoomIn 1.5s ease forwards;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.rinen-img {
    width: 450px;
    height: auto;
    border-radius: 5px;
    flex-shrink: 1;
}


.rinen-2 {
    font-size: 28px;
    font-weight: 600;
    color: #71add4;
}


/*方針*/

.housin {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #eeeeee;
    padding-top: 100px;
    padding-bottom: 100px;
}

.housin-img {
    opacity: 0;
}

.housin-img {
    max-width: 500px;
    height: auto;
    border-radius: 5px;
    flex-shrink: 1;
    margin-top: -60px;
}


/*表*/

.gaiyou {
    padding-top: 100px;
    padding-bottom: 100px;
}

.enkaku {
    padding-top: 100px;
    padding-bottom: 100px;
}

.gaiyou-content {
    text-align: center;
    margin: auto;
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 50px;
    border-bottom: 2px solid #3b67a0;
    border-top: 2px solid #3b67a0;
    width: 250px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.company-table {
    margin: auto;
    justify-content: center;
    width: 900px;
    border-collapse: collapse;
    font-family: 'Noto Sans JP', sans-serif;
  }
  
.company-table th,
.company-table tr {
    border: 1px solid #656565;  /*枠線*/
    padding: 15px 20px;
  }
  
.company-table th {
    background-color: #278399; /* 左背景 */
    color: #fff;
    font-weight: bold;
    white-space: nowrap;
    width: 250px;
  }
  
.company-table tr {
    background-color: #ffffff; /* 右背景 */
  }

.company-table td {
    padding-left: 10px;
    width: 500px;
    color: #2a2a2a;
}

@media screen and (max-width: 310px) {
    .gaiyou-content {
        width: fit-content;
    }
}



@media screen and (max-width: 480px) {
    .gaiyou {
    padding: 30px;
    }

    .gaiyou-content {
    margin: auto;
    font-size: 24px;
    font-weight: 600;
    border-bottom: 2.5px solid #6594e0;
    border-top: 2.5px solid #6594e0;
    width: 200px;
    padding-top: 5px;
    padding-bottom: 5px;
}

    .enkaku {
    padding-top: 40px;
    padding-right: 30px;
    padding-left: 30px;
    }

    .company-table {
    width: 100%;
    margin-top: 30px;
  }

    .company-table th {
    text-align: center;
    width: 35%;
    white-space: normal;
    font-size: 14px;
  }

    .company-table td {
    padding-left: 10px;
    width: fit-content;
    font-size: 14px;
    }

}

@media (min-width: 481px) and (max-width: 767px) {
    .gaiyou {
    padding-right: 80px;
    padding-left: 80px;
    }

    .enkaku {
    padding-right: 80px;
    padding-left: 80px;
    }

    .company-table {
    width: 100%;
    }

    .company-table th {
        max-width: auto;
        text-align: center;
        white-space: normal;
        width: 35%;
    }

    .company-table td {
        width: auto;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .gaiyou {
    padding-right: 120px;
    padding-left: 120px;
    }

    .enkaku {
    padding-right: 120px;
    padding-left: 120px;
    }

    .company-table {
    width: 100%;
    }

    .company-table th {
        max-width: auto;
        text-align: center;
        width: 40%;
    }

    .company-table td {
        width: 60%;
    }
}


/*保有機械*/

.kikai-syoukai {
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: #f9f9f9;
}

.kikai-syoukai1 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px;
    margin-top: 30px;
}

.kikai {
    margin-top: 50px;
    width: 325px;
    text-align: center;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.kikai-img {
    width: 350px;
    height: 250px;
    object-fit: cover;

}

@media screen and (max-width: 480px) {
    .kikai {
        margin-top: 20px;
        width: 100%;
        display: block;
    }

    .kikai-syoukai {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .kikai-syoukai1 {

        gap: 0;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .kikai-syoukai .gaiyou-content {
        margin-bottom: 0;
    }

    .kikai-syoukai1 {
        margin-top: 0;
        gap: 30px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {

}

  /*本社および拠点*/

.office-container {
    padding-top: 100px;
    padding-bottom: 100px;
    background-color: #f9f9f9;
}

.kyoten {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    flex-wrap: wrap;
}

.office {
    text-align: center;
    flex: 1;
    margin: 0 15px;
}

.kyoten-title {
    font-size: 22px;
    margin-top: 20px;
    margin-bottom: 30px;
}

.image-box {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 300px;
    height: 300px;
    margin: 0 auto;
}

.kyoten-img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
}

.map-box {
    margin-top:  40px;
}

.map-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #777;
    color: #ffffff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.map-button:hover {
    background-color: #ccc;
}

@media (max-width: 900px) {
    .kyoten {
        flex-direction: column;
        align-items: center; 
    }

    .office {
        flex: none; 
        margin: 0; 
        width: 100%;
    }

    .image-box {
        max-width: 90%; 
        max-height: 90vw;
        width: 90vw; 
        height: 90vw;
        max-width: 300px;
        max-height: 300px;
    }

    .map-box {
        margin-top: 20px;
    }
}

@media screen and (max-width: 480px) {
    .office-container {
        padding-top: 40px;
        padding-bottom: 30px;
    }

    .kyoten-title {
        margin: 0 0 20px 0;
    }

    .office {
        margin: 30px 0 0 0;
    }

    .map-box {
        margin-top: 20px;
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .office-container .gaiyou-content {
        margin-bottom: 0;
    }
}

/* 事業紹介 */


/*土木*/

.syoukai-title {
    text-align: center;
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 32px;
    color: white;
    padding-top: 100px;
    padding-bottom: 100px;
    background-image: url("/images/top.header/DJI_0001.JPG");
    background-position: center;
    background-size: cover;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}

.dobokukouzi {
    background-color: #f9f9f9;
    padding-top: 100px;
    padding-bottom: 50px;
}

.doboku {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.doboku-1 {
    width: 60%;
    margin-top: 60px;
}

.doboku-content {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 40px;
}

.doboku-content1 {
    font-size: 28px;
    font-weight: 600;
    
}

.doboku-message {
    margin-top: 20px;
    line-height: 2;
    width: 70%;
}

.doboku-img {
    width: 100%;
    height: auto;
}

.youtube {
    text-align: center;
    margin-top: 60px;
}


figure.daiwa {
    width: 40%;
}

figcaption {
    text-align: center;
    font-weight: 500;
    margin-top: 10px;
}

.youtube-link {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
    gap: 100px;
    text-align: center;
}

.youtube-link1 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    text-align: center;
}

.youtube-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    background-color: #ffffff; 
    width: 350px;
    height: 35px;
    color: #323232; 
    text-decoration: none;
    font-size: 20px;
    font-weight: 500;
    border-radius: 30px;
    transition: background-color 0.3s ease, color 0.3s ease;
    border: 1px solid #b70101;
}

.youtube-button:hover {
    background-color: #b70101;
    color: rgb(255, 255, 255);
}

.doboku-sekou {
    padding-top: 100px;
    padding-bottom: 50px;
}

.zisseki-title {
    text-align: center;
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 50px;
    color: #ffffff;
    letter-spacing: 0.05em;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3), 
        2px 2px 4px rgba(0, 0, 0, 0.6), 
        4px 4px 8px rgba(0, 0, 0, 0.2);
    background-color: #e0e0e0;
    background: linear-gradient(to top, #bebebe, #ffffff);
}

.doboku-sekou1 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px;
}

.sekou {
    margin-top: 50px;
    width: 325px;
    text-align: center;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.sekou-title {
    margin-bottom: 20px;
}

.sekou-img {
    width: 350px;
    height: 250px;
}

.dobokukouzi.animated {
    animation: zoomIn 1.5s ease forwards;
}

.dobokukouzi, .doboku-sekou {
    opacity: 0;
}

.doboku-sekou.animated {
    animation: zoomIn 1.5s ease forwards;
}

.youtube {
  @media (max-width: 550px) {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
 
    iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100% !important;
      height: 100% !important;
    }
  }
  @media (min-width: 900px) {
    iframe {
      width: 560;
      height: 315;
    }
  }
}

@media screen and (max-width: 480px) {
    .syoukai-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
    }

    .doboku {
        display: block;
    }

    .doboku-1 {
        margin-top: 0;
        width: 100%;
    }

    .dobokukouzi {
        padding-top: 40px;
    }

    .doboku-sekou {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .sekou {
    margin-top: 0;
}

    .doboku-content {
    font-size: 15px;
    margin-bottom: 20px;
}

.doboku-content1 {
    font-size: 20px;
}

.doboku-message {
    margin-left: 0;
    width: 100%;
    font-size: 14px;
    line-height: 2;
}

figure.daiwa {
    width: 100%;
}

.doboku-img {
    display: inline-block;
    max-width: 350px;
    width: 75%;
    height: auto;
}

.youtube {
    position: relative;
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
}

iframe {
    width: 100%;
}

.daiwa {
    margin-right: 0px;
    display: block;
    text-align: center;
    margin-top: 20px;
}

.youtube-link {
    display: block;
    margin-top: 0;
    text-align: center;
    margin-top: 20px;
}

.youtube-button {
    display: inline-block;
    width: 75%;
    height: auto;
    font-size: 15px;
}

.zisseki-title {
    font-size: 22px;
    margin-bottom: 20px;
}

.sekou-title {
    font-size: 14px;
}
}    

@media (min-width: 481px) and (max-width: 767px) {
.syoukai-title {
    margin-top: 66px;
}

    .doboku {
        display: block;
        width: 80%;
    }

    .dobokukouzi {
        padding-top: 60px;
    }

    .doboku-1 {
        margin-top: 0;
        width: 100%;
    }

    .doboku-sekou {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .doboku-content {
    font-size: 18px;
}

.doboku-content1 {
    font-size: 22px;
}

.doboku-message {
    margin-left: 0;
    width: 100%;
    line-height: 2;
    font-size: 15px; 
}

.sekou {
    margin-top: 0;
}

.doboku-img {
    display: inline-block;
    max-width: 350px;
    width: 75%;
    height: auto;
}

figure.daiwa {
    width: 100%;
}

.youtube {
    position: relative;
    width: 100%;
    padding-left: 80px;
    padding-right: 80px;
    box-sizing: border-box;
}

iframe {
    width: 100%;
}

.daiwa {
    margin-right: 0px;
    display: block;
    text-align: center;
    margin-top: 20px;
}

.youtube-link {
    display: block;
    margin-top: 10px;
    text-align: center;
}

.youtube-button {
    display: inline-block;
    width: 60%;
    height: auto;
    font-size: 15px;
}
}    

@media (min-width: 768px) and (max-width: 1300px) {
    .doboku {
        display: block;
        width: 75%;
    }

    .doboku-1 {
        width: 100%;
    }

.doboku-message {
    width: 100%;
    line-height: 2;
}


.doboku-img {
    display: inline-block;
    width: auto;
    max-width: 450px;
    height: auto;
}

figure.daiwa {
    width: 100%;
}

.daiwa {
    margin-right: 0px;
    display: block;
    text-align: center;
    margin-top: 20px;
}

.youtube-link {
    display: block;
    margin-top: 70px;
    text-align: center;
}

.youtube-button {
    display: inline-block;
    width: 350px;
    height: auto;
}
}


/* 軌道 */

.kidou-img {
    width: 500px;
    height: auto;
    flex-shrink: 0;
}

@media screen and (max-width: 480px) {

.kidou-img {
    width: 75%;
    height: auto;
}
}

@media (min-width: 481px) and (max-width: 767px) {

.kidou-img {
    width: 75%;
    height: auto;
}
}

@media (min-width: 768px) and (max-width: 1024px) {

.kidou-img {
    display: inline-block;
    width: auto;
    max-width: 450px;
    height: auto;
}
}

/*ニュース*/

.top-information1 {
    padding-top: 100px;
    position: relative;
    overflow: hidden;
    padding-bottom: 60px;
    background-color: #f9f9f9;
}

.top-information1 .en {
    margin-bottom: 30px;
}

.top-information1::before {
    content: "INFORMATION";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-size: 260px;
    letter-spacing: -6px;
    color: #f9f9f9;
    font-weight: 900;
    z-index: -1;
}

.top-information1 .top-button {
    display: block;
    text-align: center;
    color: #fff;
    margin: 0 0 0 auto;
    width: fit-content;
    font-weight: 500;
}

.news-wrapper1 {
    width: 90%;
    max-width: 1140px;
    margin: 0 auto;
}

.section-title {
    text-align: center;
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 28px;
    color: white;
    padding-top: 100px;
    padding-bottom: 90px;
    background-image: url("/images/top.header/news.png");
    background-position: center;
    background-size: cover;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}


.news-link {
    margin-top: 10px;
    text-align: right;
    padding-right: 200px;
    display: block;
}

.news-link a {
    display: inline-block;
    color: #777;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
    font-size: 16pt;
    border-bottom:2px solid #777;
    font-weight: 500;
}

.news-link :hover {
    color: #8f1a1a;
    border-bottom-color: #8f1a1a;
}


@media screen and (max-width: 480px) {
    .section-title {
    margin-top: 50px;
    font-size: 24px;
    padding-top: 80px;
    padding-bottom: 70px;
    }

    .top-information1 {
        padding-top: 30px;
        padding-bottom: 0;
    }

    .top-information1 .en {
        font-size: 24px;
    }

    .news-wrapper1 {
        padding-bottom: 40px;
    }

    .news-list {
    width: auto;
    }

    .news-list li {
    font-size: 14px;
}

.news-indent {
    margin-left: 0;
}

    .news-link {
    padding-right: 50px;
    }

    .news-link a {
        font-size: 15px;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .section-title {
    margin-top: 60px;
    font-size: 28px;
    }

    .top-information1 {
        padding-top: 60px;
        padding-bottom: 0;
    }

    .top-information1 .en {
        font-size: 32px;
    }

    .news-wrapper1 {
        padding-bottom: 40px;
    }    

    .news-list {
    width: auto;
    }

    .news-indent {
        margin-left: 0;
    }

    .news-link {
    padding-right: 80px;
    }

    .news-link a {
        font-size: 17px;
    }

}

@media (min-width: 768px) and (max-width: 1024px) {
    .news-link {
        padding-right: 100px;
    }

    .top-information1 {
        padding-bottom: 0;
    }
}

/* お知らせ */

.news {
    padding-top: 100px;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.news-1 {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.news-day {
    font-weight: 500;
    color: #323232;
}

.news-title {
    margin-top: 30px;
    font-size: 20px;
    font-weight: 600;
    color: #323232;
}

.news-message {
    margin-top: 30px;
    line-height: 2;
    width: 80%;
    color: #323232;
}

.news-img-area {
    display: flex;
    justify-content: space-between;
    max-width: 1250px;
    width: 90%;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 auto;
    text-align: center;
    margin-top: 60px;
    margin-bottom: 100px;
}

.news-img {
    display: block;
    width: calc(50% - 5px);
    max-width: 600px;
}

.news-img-1 {
    display: block;
    width: calc(50% - 5px);
    max-width: 350px;
    border: solid 1px #777777;
}

@media screen and (max-width: 480px) {

.news {
    padding-top: 40px;
}

.news-day {
    margin-left: 0;
    font-weight: 500;
}

.news-title {
    margin-left: 0;
}

.news-message {
    margin-left: 0;
    width: 100%;
    line-height: 1.7;
    font-size: 14px;
}

.news-img-area {
    margin-top: 30px;
    margin-bottom: 30px;
}

.news-img {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.news-img-1 {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
}

@media screen and (min-width: 481px) and (max-width: 767px) {
.news-message {
    width: 100%;
}

.news {
    padding-top: 60px;
}

.news-img-area {
    margin-top: 40px;
    margin-bottom: 40px;
}

.news-img {
    width: 100%;
    max-width: 100%;
}

.news-img-1 {
    width: 100%;
    max-width: 100%;
}
}

@media (min-width: 768px) and (max-width: 1350px) {
.news-message {
    width: 100%;
   
}

.news-img-area {
    margin-top: 60px;
    margin-bottom: 60px;
}

.news-img-1 {
    width: 100%;
    margin: 0 auto;
}
}


/*お問い合わせフォーム*/

.main-form {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    margin-top: 50px;
    padding-top: 100px;
}

.contact-form {
    border: 1.5px solid #aaa;
    padding: 50px 30px;
}

.form-title {
    text-align: center;
    font-size: 20px;
    margin-bottom: 40px;
    font-weight: bold;
}

form {
    width: 600px;
    margin: 0 auto; 
}

.form-name {
    overflow: hidden;
    margin-bottom: 20px;
}

.form-label {
    float: left;
    margin-right: 20px;
    width: 150px;
    border-left: 3px solid #40a4d5;
    padding-left: 10px;
}

.inputs {
    float: left;
    width: 280px;
}

.p-postal-code {
    float: left;
    width: 280px;
}

.p-region {
    float: left;
    width: 280px;
}

input[type="text"],input[type="email"],input[type="tel"] {
    border: 1px solid #aaa;
    padding: 10px;
    font-size: 15px;
    border-radius: 5px;
}

textarea {
    border: 1px solid #aaa;
    border-radius: 5px;
    padding: 10px;
    height: 160px;
    width: 300px;
    font-size: 15px;
}

.button-area {
    text-align: center;
}

input[type="submit"] {
    background-color: #40a4d5;
    border: none;
    padding: 10px 25px;
    color: white;
    font-size: 17px;
    font-weight: bold;
    border-radius: 3px;
    margin: 0 5px;
    box-shadow: 1px 1px 3px black;
    cursor: pointer;
}

input[type="reset"] {
    background-color: #837a7a;
    border: none;
    padding: 10px 20px;
    color: white;
    font-size: 17px;
    font-weight: bold;
    border-radius: 3px;
    margin: 0 5px;
    box-shadow: 1px 1px 3px black;
    cursor: pointer;
}

@media screen and (max-width: 480px)  {
    form {
    width: 100%;
    box-sizing: border-box;
    }

    .main-form {
    width: 90%;
    display: block;
    margin: 0 auto;
    margin-bottom: 20px;
    }

    .contact-form {
    border: 1.5px solid #aaa;
    padding: 50px 30px;
    }

    input[type="text"],input[type="email"],input[type="tel"] {
        padding: 0;
    }

    input.p-postal-code {
        width: 90%;
    }

    .p-region.p-locality.p-street-address.p-extended-address {
        width: 90%;
    }

    .inputs {
        width: 90%;
    }

    .form-label {
    margin-right: 20px;
    width: 100%;
    }

    .form-label {
            margin-bottom: 10px;
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    form {
    width: 90%;
    box-sizing: border-box;
    }

    .form-label {
    margin-bottom: 10px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {

}

/*採用情報*/

.saiyou-top {
    text-align: center;
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 32px;
    color: white;
    padding-top: 100px;
    padding-bottom: 100px;
    background-image: url("/images/IMG_0040\ copy.JPG");
    background-position: center;
    background-size: cover;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}

.saiyou-top-title {
    text-align: center;
    padding: 50px 20px;
    margin: 0 auto;
    background-color: #f7fbff;
    font-size: 28px;
    color: #000000;
}

.saiyou-container {
    background-color: #f4f9ff;
    padding-bottom: 30px;
}

@media screen and (max-width: 480px) {
    .saiyou-top {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
    }

    .saiyou-top-title {
        padding: 40px 15px;
        font-size: 22px;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .saiyou-top {
    margin-top: 38px;
    padding-top: 100px;
    padding-bottom: 80px;
    }
}


/* ボックス */

.saiyou-date-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 1400px;
    margin: 0 auto;
}

.saiyou-date-box > .date-box {
    flex: 1;
}

.saiyou-date-box-1 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 1400px;
    margin: 0 auto;
    margin-top: 20px;
}

.saiyou-date-box-1 > .date-box {
    flex: 1;
}

.date-box {
    padding: 50px 35px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.date-mein-text {
    font-size: 22px;
    font-weight: bold;
    color: #000000;
}

.date-box-group {
    display: flex; /* これでアイコンと数字が横並びになる */
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
}

.date-icon {
    width: 80px;
    height: 80px;
    background-color: transparent;
    padding: 10px;
}

.date-box.blue .material-symbols-outlined {
    font-size: 60px;
    color: #0691dd;
    top: 20px;
    position: relative;
    width: 80px;
    height: 80px;
}

.date-box.gray .material-symbols-outlined {
    font-size: 60px;
    color: #ff00b7;
    top: 20px;
    position: relative;
    width: 80px;
    height: 80px;
}

.date-box.green .material-symbols-outlined {
    font-size: 60px;
    color: #00a754;
    top: 20px;
    position: relative;
    width: 80px;
    height: 80px;
}

.date-box.navy .material-symbols-outlined {
    font-size: 60px;
    color: #1A3D7C;
    top: 20px;
    position: relative;
    width: 80px;
    height: 80px;
}

.date-box.orange .material-symbols-outlined {
    font-size: 60px;
    color: #ff8017;
    top: 20px;
    position: relative;
    width: 80px;
    height: 80px;
}

.date-box.blue { background-color: #e9f7ff; }
.date-box.gray { background-color: #FCE4EC; }
.date-box.green { background-color: #E8F6EF; }
.date-box.navy { background-color: #EAF1FB; }
.date-box.orange { background-color: #FFF3E0; }

.date-number {
    font-size: 72px; /* 大きなフォントサイズ */
    font-weight: 800; /* 極太 */
    /* 画像のグラデーション表現 */
    background: linear-gradient(to right, #66ff00, #02792c);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.blue .date-number {
    background: linear-gradient(to right, #09c1fe, #007cbf);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gray .date-number {
    background: linear-gradient(to right, #ff00b7, #b2007f);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.green .date-number {
    background: linear-gradient(to right, #14dd79, #007d3e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.navy .date-number {
    background: linear-gradient(to right, #2d65ce, #1A3D7C);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.orange .date-number {
    background: linear-gradient(to right, #ff8017, #d36001);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.date-unit {
    align-self: flex-end;
    font-size: 1.5rem;
    font-weight: bold;
    margin-left: 5px; /* 数字と少し離す */
    color: #333;
}

.date-text {
    font-size: 0.9rem;
    color: #555;
    margin-top: 15px;
}

@media screen and (max-width: 480px) {
    .saiyou-date-box {
        display: block;
    }

    .saiyou-date-box-1 {
        display: block;
        margin-top: 0;
    }

    .date-box {
        padding: 40px 25px;
    }

    .date-number {
        font-size: 60px;
    }

    .orange .date-number {
        font-size: 48px;
    }
}

@media screen and (min-width: 481px) and (max-width: 935px) {
    .saiyou-date-box-1 {
        display: block;
        margin-top: 10px;
    }
}

/* タブボタン */

.tab-wrapper {
    max-width: 600px;
    margin: 0 auto 100px;
}

.tab-menu {
    display: flex;
    max-width: 850px; 
    margin: 50px auto;
    border: 1px solid #278399;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}

.tab-button {
    flex-grow: 1; 
    padding: 15px 0;
    border: none;
    background-color: white;
    cursor: pointer;
    font-size: 1.1rem;
    color: #278399;
    transition: background-color 0.3s, color 0.3s;
    text-align: center;
}

.tab-button.active {
    background-color: #278399;
    color: white;
}

.tab-content {
    display: none;
    padding: 20px 0;
    border-top: none; 
    border-radius: 0 0 5px 5px;
    background-color: white;
    max-width: 950px;
    margin: 0 auto;
}

.tab-content.active {
    display: block;
}

@media screen and (max-width: 960px) {
    .tab-menu {
        width: 90%;
        margin: 20px auto;
    }

    .tab-button {
        font-size: 16px;
    }
}

@media screen and (min-width: 481px) and (max-width: 935px) {

}

/* 募集要項 */

.sinsotu {    
    /* margin: 0;
    margin-bottom: 100px;
    outline: 1.5px solid #777;
    outline-offset: 60px;
    /* max-width: 600px; */
    /* outline: 1.5px solid #777;
    outline-offset: 60px; */
    max-width: 950px;
    padding: 20px;
}

.saiyou-title {
    text-align: center;
    margin-bottom: 50px;
    padding-top: 100px;
    color: #000000;
}

.saiyou-1 {
    margin-right: 0;
}

.saiyou-table {    
    /* max-width: 544px;
    margin: auto;
    padding: 0 1.5rem;
    border-spacing: 0; */
    max-width: 950px;
    width: 100%;
    border-collapse: collapse;
    margin: 0 auto;
}

.saiyou-table th,.saiyou-table td {
    /* border-bottom: 1px solid #97bbd3; */
    border: 1px solid #606060;  /*枠線*/
    padding: 15px 20px;
}

.saiyou-table th {
    background-color: #278399; /* 左背景 */
    color: #fff;
    font-weight: bold;
    white-space: nowrap;
    width: 250px;
}

.saiyou-table td {
    padding: 1rem 0;
    text-align: center;
    color: #2e2e2e;
}

@media screen and (max-width: 480px) {
    .saiyou-title {
        padding-top: 40px;
    }
    
    .tab-content {
    padding: 0;
    }

    .saiyou-table th {
    width: 35%;
    white-space: normal;
    font-size: 14px;
    }

    .saiyou-table td {
        font-size: 14px;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .saiyou-table {
    width: 90%;
    }

    .tab-content {
    padding: 0;
    }

    .saiyou-table th {
    width: 35%;
    white-space: normal;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .saiyou-table {
    width: 90%;
    }

    .saiyou-table th {
    width: 35%;
    white-space: normal;
    }
}


/*金光組の歴史*/

.rekisi-title {
    text-align: center;
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 32px;
    color: white;
    padding-top: 100px;
    padding-bottom: 100px;
    background-image: url("/images/history/rekisihaikei.png");
    background-position: center;
    background-size: cover;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}

.history-0 {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    padding-top: 100px;
    background-color: #eee;
    border-bottom: 1px solid #777;
}

.taisyou {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #eeeeee;
    padding-top: 150px;
    padding-bottom: 100px;
    padding-left: 250px;
    padding-right: 150px;
    overflow-x: hidden;
}

.history-img-area {
    display: flex;
    justify-content: center;
    flex-basis: 35%;
    box-sizing: border-box;
}

#lightbox {
    position: fixed; /* 画面に固定 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* 半透明の黒い背景 */
    display: none; 
    z-index: 1000; 
    justify-content: center;
    align-items: center;
}

/* JavaScriptで表示するときにこのクラスを付ける */
#lightbox.visible {
    display: flex; /* 中央に配置するために表示 */
}

/* 拡大画像 */
.lightbox-content img {
    max-width: 90%;
    max-height: 90%;
    /* 大きく見せたい場合はtransitionでアニメーション効果も可能 */
}

/* 閉じるボタン */
.close-button {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

.taisyou-11 {
    flex-grow: 1;
    flex-basis: 65%;
}

.history-1 {
    font-size: 28px;
    font-weight: 600;
    margin-left: 150px;
    margin-bottom: 60px;
    width: fit-content;
    border-bottom: solid 1px #333;
}

.taisyou-message {
    margin-top: 20px;
    margin-left: 150px;
    width: 70%;
    line-height: 2;
}

.taisyou-img {
    max-width: 280px;
    width: auto;
    height: 200px;
    flex-shrink: 0;
    /* margin-left: 250px; */
}

.taisyou-1 {
    display: flex;
    background-color: #ffffff;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: 250px;
    padding-right: 250px;
    overflow-x: hidden;
}

.history-img-area1 {
    display: flex;
    justify-content: center; 
    align-items: center;
    box-sizing: border-box;
}

.taisyou-img1 {
    max-width: 250px;
    width: auto;
    height: auto;
    flex-shrink: 0;
    padding-top: 20px;
}

.taisyou-message1 {
    margin-top: 20px;
    width: 70%;
    line-height: 2;
}

.syouwa-img {
    width: 250px;
    height: 200px;
    flex-shrink: 0;
    margin-top: 100px;
    /* margin-left: 250px; */
}

.syouwa-1 {
    display: flex;
    background-color: #ffffff;
    padding-top: 100px;
    padding-bottom: 100px;
}

.syouwa-img1 {
    max-width: 450px;
    width: auto;
    height: auto;
    padding-top: 20px;
}

.heisei-img {
    max-width: 250px;
    width: auto;
    height: 180px;
    flex-shrink: 0;
    margin-top: 100px;
    /* margin-left: 250px; */
}

.heisei-1 {
    display: flex;
    background-color: #ffffff;
    padding-top: 100px;
    padding-bottom: 100px;
}

.heisei-img1 {
    max-width: 270px;
    width: auto;
    height: 200px;
    flex-shrink: 0;
    padding-top: 20px;
}

.genzai-img {
    max-width: 250px;
    width: auto;
    height: 180px;
    flex-shrink: 0;
    margin-top: 100px;
    /* margin-left: 250px; */
}


.taisyou.animated .taisyou-11 {
    animation: slideIn1 1.5s ease forwards;
}

.taisyou.animated .history-img-area {
    animation: slideIn1 1.5s ease forwards;
}


.taisyou-1.animated .taisyou-2 {
    animation: slideIn 1.5s ease forwards;
}

.taisyou-1.animated .history-img-area1 {
    animation: slideIn 1.5s ease forwards;
}

@keyframes slideIn {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100%{
    transform: translateX(0);
  } 
  40%,100% {
    
    opacity: 1;
  }
}

@keyframes slideIn1 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }

  40%,100% {
    
    opacity: 1;
  }

  100%{
    transform: translateX(0);
  } 
  
}


@media screen and (max-width: 480px)  {
    .rekisi-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
}

.history-0 {
    font-size: 20px;
    padding: 30px;
}

.taisyou {
    display: block;
    width: 100%;
    padding: 0 0 50px 0;
}

.history-img-area {
   display: block;
   text-align: center;
   flex-basis: 0; 
   box-sizing: border-box;
   padding-top: 20px;
}

.history-1 {
    font-size: 20px;
    width: fit-content;
    margin-left: 0;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
    margin-top: 20px;
}

.taisyou-message {
    margin-left: 0;
    width: 100%;
    line-height: 2;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
}

.taisyou-img {
    display: inline-block;
    width: 250px;
    height: 180px;
    margin-left: 0;
}

.taisyou-message1 {
    margin-left: 0;
    width: 100%;
    line-height: 2;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
}

.taisyou-1 {
    display: block;
    padding: 0 0 50px 0;
}

.history-img-area1 {
    display: block;
   text-align: center;
   flex-basis: 0; 
   margin-right: 0;
   box-sizing: border-box;
}

.taisyou-img1 {
    display: inline-block;
    height: auto;
    margin-right: 0;
}

.syouwa-img1 {
    display: inline-block;
    max-width: 250px;
    width: auto;
    height: auto;
    margin-right: 0;
}

.syouwa-img {
    width: 200px;
    height: 150px;
    margin-top: 0;
    margin-left: 0;
}

.syouwa-1 {
    display: block;
    width: 100%;
    padding-top: 100px;
}

.heisei-img {
    display: inline-block;
    max-width: 230px;
    width: auto;
    height: auto;
    margin-left: 0;
    margin-top: 0;
}

.heisei-1 {
    display: block;
    width: 100%;
    padding-top: 100px;
}

.heisei-img1 {
    display: inline-block;
    max-width: 250px;
    width: auto;
    height: auto;
    margin-right: 0;
}

.genzai-img {
    display: inline-block;
    max-width: 200px;
    width: auto;
    height: auto;
    margin-left: 0;
    margin-top: 0;
}
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    .rekisi-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
}

.history-0 {
    font-size: 20px;
    padding: 30px;
}

.taisyou {
    display: block;
    width: 100%;
    padding: 50px 0;
}

.history-img-area {
   display: block;
   text-align: center;
   flex-basis: 0; 
   box-sizing: border-box;
}

.history-1 {
    font-size: 20px;
    width: fit-content;
    margin-left: 0;
    padding-left: 80px;
    padding-right: 80px;
    box-sizing: border-box;
    margin-top: 20px;
}

.taisyou-message {
    margin-left: 0;
    width: 100%;
    line-height: 2;
    padding-left: 80px;
    padding-right: 80px;
    box-sizing: border-box;
}

.taisyou-img {
    display: inline-block;
    width: 250px;
    height: 180px;
    margin-left: 0;
}

.taisyou-message1 {
    margin-left: 0;
    width: 100%;
    line-height: 2;
    padding-left: 80px;
    padding-right: 80px;
    box-sizing: border-box;
}

.taisyou-1 {
    display: block;
    padding: 50px 0;
}

.history-img-area1 {
    display: block;
   text-align: center;
   flex-basis: 0; 
   margin-right: 0;
   box-sizing: border-box;
}

.taisyou-img1 {
    display: inline-block;
    height: auto;
    margin-right: 0;
}

.syouwa-img1 {
    display: inline-block;
    max-width: 300px;
    width: auto;
    height: auto;
    margin-right: 0;
}

.syouwa-img {
    width: 200px;
    height: auto;
    margin-top: 50px;
    margin-left: 0;
}

.syouwa-1 {
    display: block;
    width: 100%;
    padding-top: 100px;
}

.heisei-img {
    display: inline-block;
    max-width: 230px;
    width: auto;
    height: auto;
    margin-left: 0;
    margin-top: 0;
}

.heisei-1 {
    display: block;
    width: 100%;
    padding-top: 100px;
}

.heisei-img1 {
    display: inline-block;
    max-width: 250px;
    width: auto;
    height: auto;
    margin-right: 0;
}

.genzai-img {
    display: inline-block;
    max-width: 200px;
    width: auto;
    height: auto;
    margin-left: 0;
    margin-top: 0;
}
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
     .rekisi-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
}

.history-0 {
    font-size: 20px;
    padding: 30px;
    padding-left: 100px;
    padding-right: 100px;
    box-sizing: border-box;
}

.taisyou {
    display: block;
    width: 100%;
    padding: 50px 0;
}

.history-img-area {
   display: block;
   text-align: center;
   flex-basis: 0; 
   box-sizing: border-box;
}

.history-1 {
    font-size: 20px;
    width: fit-content;
    margin-left: 0;
    padding-left: 120px;
    padding-right: 120px;
    box-sizing: border-box;
    margin-top: 20px;
}

.taisyou-message {
    margin-left: 0;
    width: 100%;
    line-height: 2;
    padding-left: 120px;
    padding-right: 120px;
    box-sizing: border-box;
}

.taisyou-img {
    display: inline-block;
    width: 250px;
    height: 180px;
    margin-left: 0;
}

.taisyou-message1 {
    margin-left: 0;
    width: 100%;
    line-height: 2;
    padding-left: 120px;
    padding-right: 120px;
    box-sizing: border-box;
}

.taisyou-1 {
    display: block;
    padding: 50px 0;
}

.history-img-area1 {
    display: block;
   text-align: center;
   flex-basis: 0; 
   margin-right: 0;
   box-sizing: border-box;
}

.taisyou-img1 {
    display: inline-block;
    height: auto;
    margin-right: 0;
}

.syouwa-img1 {
    display: inline-block;
    max-width: 350px;
    width: auto;
    height: auto;
    margin-right: 0;
}

.syouwa-img {
    width: 200px;
    height: 150px;
    margin-top: 50px;
    margin-left: 0;
}

.syouwa-1 {
    display: block;
    width: 100%;
    padding-top: 100px;
}

.heisei-img {
    display: inline-block;
    max-width: 230px;
    width: auto;
    height: auto;
    margin-left: 0;
    margin-top: 0;
}

.heisei-1 {
    display: block;
    width: 100%;
    padding-top: 100px;
}

.heisei-img1 {
    display: inline-block;
    max-width: 250px;
    width: auto;
    height: auto;
    margin-right: 0;
}

.genzai-img {
    display: inline-block;
    max-width: 200px;
    width: auto;
    height: auto;
    margin-left: 0;
    margin-top: 0;
}
}

@media screen and (min-width: 1025px) and (max-width: 1450px) {
    .taisyou {
        padding-left: 0;
        padding-right: 0;
    }

    .taisyou-1 {
        padding-left: 50px;
        padding-right: 50px;
    }

    .taisyou-img {
        margin-left: 50px;
    }

    .history-1 {
        margin-bottom: 30px;
    }

    .syouwa-img1 {
    display: inline-block;
    max-width: 400px;
    width: auto;
    height: 350px;
    margin-right: 0;
}
}


/*社会貢献活動*/

.sdgs-title {
    text-align: center;
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 32px;
    color: white;
    padding-top: 100px;
    padding-bottom: 100px;
    background-image: url("/images/top.header/society.png");
    background-position: center;
    background-size: cover;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
}

.sdgs-container {
    background-color: #f9f9f9;
    padding-top: 100px;
    padding-bottom: 100px;
} 

.sdgs-container-1 {
    max-width: 1150px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sdgs-content1 {
    font-size: 28px;
    font-weight: 600;
}

.sdgs-link-area {
    margin-top: 40px;
    text-align: center;
}

.sdgs-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    background-color: #ffffff; 
    width: 350px;
    height: 35px;
    color: #323232; 
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    border-radius: 30px;
    transition: background-color 0.3s ease, color 0.3s ease;
    border: 1px solid #e98000;

}

.sdgs-button:hover {
    background-color: #e98000;
    color: white;
}

.sdgs-message {
    margin-top: 20px;
    font-size: 24px;
    font-weight: 600;
    color: #71add4;
    width: 70%;
}

.sdgs-logo {
    display: inline-block;
    width: 500px;
    height: auto;
    
}

.sdgs-mein {
    padding-top: 60px;
    padding-bottom: 30px;
}

.sdgs-mein-1 {
    padding-top: 60px;
    padding-bottom: 50px;
    background-color: #f9f9f9;
}

.sdgs-cap {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

.sdgs-mati {
    flex-grow: 1;
}

.sdgs-cap1 {
    font-size: 20px;
    font-weight: 600;
    color: #777777;
    margin-bottom: 30px;
    width: fit-content;
    border-left: 3px solid #40a4d5;
    padding-left: 10px;
}

.sdgs-cap2 {
    margin-top: 20px;
    width: 70%;
    line-height: 2;
}

.sdgs-img-area {
    display: flex;
    text-align: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
}

.sdgs-img1 {
    max-width: 300px;
    width: auto; 
    height: 250px;
    margin-bottom: 50px;
}

.adaputo-img1 {
    max-width: 270px;
    width: auto;
    height: 200px;
}

.sdgs-aikon-img {
    max-width: 200px;
    height: 200px;
}

.city-img2 {
    max-width: 250px;
    width: auto; 
    height: auto;
}

.zyuuki-img1 {
    max-width: 270px;
    width: auto; 
    height: auto;
}

.sdgs-container, .sdgs-mein, .sdgs-mein-1 {
    opacity: 0;
}

.sdgs-container.animated {
    animation: zoomIn 1.5s ease forwards;
}

.sdgs-mein.animated {
    animation: zoomIn 1.5s ease forwards;
}

.sdgs-mein-1.animated {
    animation: zoomIn 1.5s ease forwards;
}


@media screen and (max-width: 480px) {
    .sdgs-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
}

.sdgs-container {
    display: block;
    width: 100%;
    padding: 50px 0 50px 0;
}

.sdgs-container-1 {
    display: block;
    width: 80%;
}

.sdgs-content1 {
    font-size: 24px;
}

.sdgs-link-area {
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 0;
}

.sdgs-link-area-adaputo {
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 0;
}

.sdgs-button {
    display: inline-block;
    padding: 5px 10px;
    background-color: #ffffff; 
    width: 50%;
    height: auto;
    font-weight: 0;
    font-size: 14px;
}

.sdgs-message {
    font-size: 18px;
    margin-left: 0;
    width: 100%;
}

.sdgs-img1 {
    margin-bottom: 0;
    max-width: 250px;
    height: 200px;
}
    
.sdgs-img-area {
    margin-top: 20px;
    display: block;
    text-align: center;
    box-sizing: border-box;
    margin-right: 0;
}

.sdgs-logo {
    display: inline-block;
    max-width: 300px;
    width: auto;
    height: auto;
    flex-shrink: 0;
}

.sdgs-mein {
    padding-top: 30px;
}

.sdgs-mein-1 {
    padding-top: 30px;
}

.sdgs-cap {
    display: block;
    width: 80%;
    margin-top: 20px;
}

.sdgs-cap1 {
    margin-bottom: 20px;
    padding-left: 10px;
    
    font-size: 14px;
}

.sdgs-cap2 {
    font-size: 14px;
    margin-top: 20px;
    margin-left: 0;
    width: 100%;
}

.sdgs-aikon-img {
    max-width: 150px;
    width: auto; 
    height: 150px;
}

.sdgs-adaputo {
    display: block;
    width: 100%;
    padding: 0 0 50px 0;
}

.adaputo-img1 {
    max-width: 200px;
    width: auto;
    height: 150px;
    margin-right: 0;
}

.zyuuki-img1 {
    max-width: 200px;
    width: auto; 
    height: auto;
    margin-bottom: 0;
}

}

@media screen and (min-width: 481px) and (max-width: 768px) {
    .sdgs-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
}

.sdgs-container {
    display: block;
    width: 100%;
    padding: 50px 0;
}

.sdgs-container-1 {
    display: block;
    width: 75%;
}


.sdgs-content1 {
    font-size: 24px;
}

.sdgs-link-area {
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 0;
}

.sdgs-button {
    display: inline-block;
    padding: 5px 10px;
    background-color: #ffffff; 
    width: 50%;
    height: auto;
    font-weight: 0;
    font-size: 14px;
}

.sdgs-message {
    font-size: 18px;
    margin-left: 0;
    width: 100%;
}

.sdgs-img-area {
    display: block;
    text-align: center;
    box-sizing: border-box;
    margin-right: 0;
    margin-top: 20px;
}

.sdgs-logo {
    display: inline-block;
    max-width: 300px;
    width: auto;
    height: auto;
    flex-shrink: 0;
}

.sdgs-mein {
    padding-top: 20px;
    padding-bottom: 0;
}

.sdgs-mein-1 {
    padding-top: 20px;
    padding-bottom: 0;
}

.sdgs-cap {
    display: block;
    width: 80%;
    padding: 50px 0;
}

.sdgs-cap1 {
    margin-bottom: 40px;
    font-size: 16px;
}

.sdgs-cap2 {
    font-size: 14px;
    margin-top: 20px;
    margin-left: 0;
    width: 100%;
}

.sdgs-aikon-img {
    margin-top: 20px;
    max-width: 200px;
    width: auto; 
    height: 200px;
}

.sdgs-img1 {
    margin-top: 20px;
    margin-bottom: 0;
}

.sdgs-adaputo {
    display: block;
    width: 100%;
    padding: 0 0 50px 0;
}

.adaputo-img1 {
    margin-top: 20px;
    max-width: 250px;
    width: auto;
    margin-right: 0;
}

.sdgs-city {
    display: block;
    width: 100%;
    padding: 50px 0;
}

.zyuuki-img1 {
   margin-top: 20px;
    max-width: 250px;
    width: auto;
    margin-right: 0;
}
}

@media (min-width: 768px) and (max-width: 1024px) {
.sdgs-container {
    width: 100%;
    padding: 70px 0;
}

.sdgs-container-1 {
    display: block;
    width: 75%;
}

.sdgs-container1 {
    display: block;
    width: 70%;
    padding-top: 50px;
}

.sdgs-content1 {
    font-size: 24px;
    margin-left: 0;
}

.sdgs-link-area {
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 0;
}

.sdgs-button {
    display: inline-block;
    padding: 5px 10px;
    background-color: #ffffff; 
    width: 50%;
    height: auto;
    font-weight: 0;
    font-size: 14px;
}

.sdgs-message {
    font-size: 18px;
    margin-left: 0;
    width: 100%;
}

.sdgs-img-area {
    text-align: center;
    box-sizing: border-box;
    margin-right: 0;
    margin-top: 20px;
}

.sdgs-logo {
    display: inline-block;
    max-width: 300px;
    width: auto;
    height: auto;
    flex-shrink: 0;
}

.sdgs-cap {
    display: block;
    width: 75%;
    padding-top: 30px;
}

.sdgs-cap1 {
    margin-bottom: 40px;
    font-size: 18px;
}

.sdgs-cap2 {
    font-size: 14px;
    margin-top: 20px;
    margin-left: 0;
    width: 100%;
}

.sdgs-aikon-img {
    margin-top: 20px;
    max-width: 200px;
    width: auto; 
    height: 200px;
   margin-bottom: 0;
}

.sdgs-mati {
    flex-grow: 1;
}

.sdgs-adaputo {
    display: block;
    width: 100%;
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    margin-top: -30px;
}

.sdgs-adaputo1 {
    margin-bottom: 40px;
    margin-left: 0;
    padding-left: 80px;
    padding-right: 80px;
    box-sizing: border-box;
}

.adaputo-img1 {
    margin-top: 20px;
    max-width: 250px;
    width: auto;
    height: 200px;
    margin-right: 0;
}

.sdgs-city {
    display: block;
    width: 100%;
    padding: 70px 0;
}

.sdgs-city1 {
    margin-bottom: 40px;
    margin-left: 0;
    padding-left: 80px;
    padding-right: 80px;
    box-sizing: border-box;
}


.zyuuki-img1 {
    width: 250px;
    height: 200px;
    display: inline-block;
    margin-right: 0;
    margin-bottom: 0;
    margin-top: 20px;
}
}



/*働く環境*/

.kankyou-title {
    text-align: center;
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 32px;
    color: white;
    padding-top: 100px;
    padding-bottom: 100px;
    background-image: url("/images/top.header/kankyou.jpg");
    background-position: center;
    background-size: cover;
    text-shadow: 2px 1px 5px rgba(0, 0, 0, 1);
}

.kankyou {
    background-color: #f9f9f9;
    padding: 20px 250px;
}

.kankyou-message {
    max-width: 850px; 
    margin: 0 auto 40px auto; 
    background-color: #FAFAFA;
    padding: 45px 55px;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    border: none;
    font-size: 16px;
    line-height: 1.8; 
    color: #555555; 
    text-align: center; 
    position: relative;
    margin-top: 50px;
}

.kankyou-message::first-line {
    font-size: 20px; 
    font-weight: 600; 
    color: #21afd3;
    display: block; 
    margin-bottom: 20px; 
}

.kankyou-message::before,
.kankyou-message::after {
    content: "";
    display: block;
    width: 90%; 
    height: 1px; /* ⭐️ 細い線で繊細な印象に */
    background-color: #DDDDDD; /* 薄い灰色 */
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.kankyou-message::before {
    top: 20px; 
}

.kankyou-message::after {
    bottom: 20px; 
}

.kankyousengen {
    display: flex; 
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 30px; 
    align-items: center; 
    background-color: #FAFAFA;
    padding: 30px; 
    border-radius: 15px; 
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); 
    margin-top: 40px; 
    width: auto;
}

.kankyou-img {
    width: 270px; 
    height: auto; 
    flex-shrink: 0; 
    border: 1px solid #DDDDDD; 
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); 
}

.kenkou-message {
    font-size: 16px;
    line-height: 1.8; 
    color: #555555; 
    text-align: left;    
    position: relative;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    padding-top: 7px;
    padding-bottom: 10px;
    flex-grow: 1;
}

.kenkou-message::before {
    content: "Safety and Health Education"; 
    font-size: 14px;
    font-weight: 600;
    color: #7FC7D9; 
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 10px;
}

.kenkou-message1 {
    font-size: 16px;
    line-height: 1.8; 
    color: #555555; 
    text-align: left;    
    position: relative;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    padding-top: 7px;
    padding-bottom: 10px;
    flex-grow: 1;
}

.kenkou-message1::before {
    content: "Workplace Harassment Prevention Training"; 
    font-size: 14px;
    font-weight: 600;
    color: #7FC7D9; 
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 10px;
}

.kenkou-message2 {
    font-size: 16px;
    line-height: 1.8; 
    color: #555555; 
    text-align: left;    
    position: relative;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    padding-top: 7px;
    padding-bottom: 10px;
    flex-grow: 1;
}

.kenkou-message2::before {
    content: "Health management"; 
    font-size: 14px;
    font-weight: 600;
    color: #7FC7D9; 
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 10px;
}

.kenkou-message3 {
    font-size: 16px;
    line-height: 1.8; 
    color: #555555; 
    text-align: left;    
    position: relative;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    padding-top: 7px;
    padding-bottom: 10px;
    flex-grow: 1;
}

.kenkou-message3::before {
    content: "Work-life balance support"; 
    font-size: 14px;
    font-weight: 600;
    color: #7FC7D9; 
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 10px;
}

.kenkou-message4 {
    font-size: 16px;
    line-height: 1.8; 
    color: #555555; 
    text-align: left;    
    position: relative;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    padding-top: 7px;
    padding-bottom: 10px;
    flex-grow: 1;
}

.kenkou-message4::before {
    content: "Ai Support Company"; 
    font-size: 14px;
    font-weight: 600;
    color: #7FC7D9; 
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 10px;
}

.kenkou-message5 {
    font-size: 16px;
    line-height: 1.8; 
    color: #555555; 
    text-align: left;    
    position: relative;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    padding-top: 7px;
    padding-bottom: 10px;
    flex-grow: 1;
}

.kenkou-message5::before {
    content: "Hiroshima Environment Day"; 
    font-size: 14px;
    font-weight: 600;
    color: #7FC7D9; 
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 10px;
}

.kankyousengen-1 {
    flex-grow: 1;
}

.kankyousengen-1 .button-box {
    margin-top: 30px;
}

.kankyousengen,
.kankyousengen .kankyou-img,
.kankyousengen .kenkou-message {
    opacity: 0;
}

.kankyousengen.animated {
    animation: zoomIn 1.5s ease forwards;
}

.kankyousengen.animated .kankyou-img {
    animation: zoomIn 1.5s ease forwards;
}

.kankyousengen.animated .kenkou-message {
    animation: zoomIn 1.5s ease forwards;
}


@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@media screen and (max-width: 480px) {
    .kankyou-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
    }

    .kankyou {
        padding: 20px 0;
    }

    .kankyou-message {
        margin-top: 0;
        margin-bottom: 10px;
        font-size: 14px;
    }

    .kankyou-message::first-line {
    font-size: 14px; 
    font-weight: normal;
    color: inherit;
    display: inline;
    margin-bottom: 0; 
    }

    .kankyousengen {
        display: block;
        padding-top: 50px;
        margin-top: 0;
        margin-bottom: 10px;
    }

    .kenkou-message {
        font-size: 14px;
    }
    .kenkou-message1 {
        font-size: 14px;
    }
    .kenkou-message2 {
        font-size: 14px;
    }
    .kenkou-message3 {
        font-size: 14px;
    }
    .kenkou-message4 {
        font-size: 14px;
    }
    .kenkou-message5 {
        font-size: 14px;
    }

    .kankyou-img {
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 20px;
        margin-bottom: 10px;
        width: 250px;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .kankyou-title {
    margin-top: 40px;
    font-size: 28px;
    padding-top: 100px;
    padding-bottom: 80px;
    }

    .kankyou {
        padding: 20px 0;
    }

    .kankyou-message {
        margin-left: 50px;
        margin-right: 50px;    
    }

    .kankyou-message::first-line { 
    font-size: 16px;
    font-weight: normal;
    color: inherit;
    display: inline;
    margin-bottom: 0; 
    }

    .kankyousengen {
        display: block;
        padding-top: 50px;
        margin-left: 40px;
        margin-right: 40px;
    }


    .kankyou-img {
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 20px;
        margin-bottom: 10px;
        width: 250px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
    .kankyou {
        padding: 20px 0;
    }

    .kankyou-message {
        margin-left: 100px;
        margin-right: 100px;    
    }

    .kankyou-message::first-line { 
    font-size: 16px;
    font-weight: normal;
    color: inherit;
    display: inline;
    }

    .kankyousengen {
        display: block;
        text-align: center;
        padding-top: 50px;
        margin-left: 100px;
        margin-right: 100px;
    }

    .kankyou-img {
        margin-left: auto;
        margin-right: auto;
        margin-top: 20px;
        margin-bottom: 10px;
    }
}

@media screen and (min-width: 1201px) and (max-width: 1349px) {
    .kankyou {
        padding: 20px 100px;
    }
}

@media screen and (min-width: 1350px) and (max-width: 1500px) {
    .kankyou {
        padding: 20px 100px;
    }
}

/* 支援活動 */

.sien-katudou{
    padding-top: 100px;
    padding-bottom: 40px;
    background-color: #eee;
}

.sien-day {
    font-weight: 500;
}

.sien-katudou-1 {
    display: flex;
    justify-content: space-between;
    width: 90%;
    max-width: 1350px;
    margin: 0 auto;
}

.sien-katudou-2 {
    margin-top: 40px;
}

.sien-title {
    margin-top: 30px;
    font-size: 24px;
    font-weight: 600;
}

.sien-message {
    margin-top: 30px;
    line-height: 2;

}

.sien-img-area {
    gap: 30px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    text-align: center;
    margin-top: 30px;
    box-sizing: border-box;
    flex-wrap: wrap;
}

.sien-img {
    display: block;
    max-width: 550px;
    width: 100%;
    height: auto;
}

.sien-img1 {
    display: block;
    max-width: 550px;
    width: 100%;
    height: auto;
}

.sien-kizi .en {
    color: #626262;
    font-size: 28px;
    font-weight: bold;
    display: table; 
    margin: 0 auto 20px auto;
    padding: 0.3em 1em; 
    border-bottom: 2px solid #646464;
    position: relative;
    letter-spacing: 0.1em; /* 文字間隔 */
}

.sien-kizi .material-symbols-outlined {
    font-size: 28px;
    vertical-align: middle;
    margin-right: 8px;
}

.sien-kizi {
    padding-top: 60px;
    padding-bottom: 30px;
}
.sien-message-dz {
    font-weight: bold;
    color: #000000;
}

@media screen and (max-width: 480px) {
    .sien-katudou{
    padding-top: 60px;
}

.sien-katudou-1 {
    display: block;
}

.sien-katudou-2 {
    margin-top: 0;
}

.sien-title {
    font-size: 20px;
}

.sien-message {
    line-height: 1.8;
}

.sien-img {
    padding-top: 20px;
    display: block;
    max-width: 250px;
    margin: 0 auto;
}

.sien-img1 {
    padding-top: 20px;
    display: block;
    max-width: 250px;
    margin: 0 auto;
}

.sien-img-area {
    display: block;
}

.sien-kizi .en {
    font-size: 18px;
    border-bottom: 1.5px solid #252525;
}
}

@media screen and (min-width: 481px) and (max-width: 767px) {
    .sien-katudou{
    padding-top: 60px;
}

.sien-katudou-1 {
    display: block;
}

.sien-katudou-2 {
    margin-top: 0;
}

.sien-title {
    font-size: 22px;
}

.sien-message {
    line-height: 1.8;
}

.sien-img {
    padding-top: 20px;
    display: block;
    max-width: 300px;
    margin: 0 auto;
}

.sien-img1 {
    padding-top: 20px;
    display: block;
    max-width: 300px;
    margin: 0 auto;
}

.sien-img-area {
    display: block;
}

.sien-kizi .en {
    font-size: 22px;
    border-bottom: 1.5px solid #252525;
}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
.sien-katudou-1 {
    display: block;
}

.sien-katudou-2 {
    margin-top: 0;
}

.sien-img {
    padding-top: 20px;
    display: block;
    max-width: 350px;
    margin: 0 auto;
}

.sien-img1 {
    padding-top: 20px;
    display: block;
    max-width: 350px;
    margin: 0 auto;
}

.sien-img-area {
    display: block;
}
}

@media screen and (min-width: 1025px) and (max-width: 1300px) {
    .sien-img1 {
        max-width: 400px;
        flex-wrap: wrap;
        margin-top: 50px;
    }
}

