.pc-break {
    display: none; /* デフォルトでは非表示 */
}

.company-information{
    width: 90%;
    height: auto;
    margin: 0 auto;
}


.page-title {
    width: 80%;
    height: auto;
    margin: 0 auto;
    border-bottom: solid 1px #000;
    margin-bottom: 2rem;
    padding: 2rem 0 2rem 0;
}

.for-companies-page-title {
    width: 80%;
    height: auto;
    margin: 0 auto;
    border-bottom: solid 1px #000;
    margin-bottom: 2rem;
    padding: 2rem 0 2rem 0;
}

.for-companies-page-title p {
    color: #6eb944;
    font-weight: bold;
}

.page-title p{
    color: #e62e70;
    font-weight: bold;
}


.sub-title{
    text-align: center;
}

.for-companies-sub-title{
    text-align: center;
}

h3{
    border-bottom: solid 2px #e62e70;
    margin-bottom: 2rem;
    display: inline-block;
    font-size: 1.5em;
}

.for-companies-sub-title h3 {
    border-bottom: solid 2px #6eb944;
    margin-bottom: 2rem;
    display: inline-block;
    font-size: 1.5em;
}

/* 会社情報 */

.philosophy h5{
    font-size: 1.5em;
}

.philosophy h3{
    text-align: center;
    color: #e62e70;
    border: none;
    line-height: 1;
}

.philosophy-title{
    text-align: center;
}

.philosophy h3 span{
    font-size: 1.2vw;
}
.philosophy-item h3{
    text-align: center;
}

.philosophy h2 {
    position: relative;
    background-color: rgba(230, 46, 112, 0.04);
    padding: 1rem 1.5rem;
    text-align: center;
    color: #e62e70;
    font-weight: bold;
}
.philosophy h2:before, h2:after { 
    content:'';
    width: 20px;
    height: 40px;
    position: absolute;
    display: inline-block;
}
.philosophy h2:before {
    border-left: solid 3px #e62e70;
    border-top: solid 3px #e62e70;
    top:0;
    left: 0;
}
.philosophy h2:after {
    border-right: solid 3px #e62e70;
    border-bottom: solid 3px #e62e70;
    bottom:0;
    right: 0;
}

.philosophy p{
    color: #e62e70;
}


.philosophy {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 8em;
}

.philosophy-item{
    margin-bottom: 5em;
}

.info{
    width: 70%;
    margin: 0 auto;
    margin-bottom: 5rem;
}

.info table{
    margin: 0 auto;
    width: 90%;
    border-collapse: collapse;
    table-layout: auto; /* テーブルのレイアウトを自動に設定 */
}

.info tbody tr {
    border-bottom: solid 1px #b3b3b3;
    padding: 0rem 0rem;
    display: block;
}

.info td {
    padding: 1.5rem 0rem;
    font-size: 1.1vw;
}

.info td span{
    font-size: 0.8vw;
}

.fixed-width {
    width: 19vw; /* 固定幅を設定 */
  }


/* 施設情報 */

.facility-information{
    width: 80%;
    margin: 0 auto;
}

.image-gallery {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px;
    margin: 0 auto;
}

.image-gallery figure {
    margin: 10px;
    width: calc(30.00% - 20px); /* デフォルトでは6枚表示用に設定 */
    /*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);*/
    transition: transform 0.3s;
}

.image-gallery img {
    width: 100%;
    height: auto;
    display: block;
}

.image-gallery span{
    color: #e62e70;
}

.image-gallery figcaption {
    text-align: left;
    padding: 10px 0;
    font-size: 1rem;
    color: #333;
    font-weight: bold;
}

/* ホバー時のスタイル */
.image-gallery figure:hover {
    transform: scale(1.05);
}

.facility-detail{
    background-color: rgba(255, 255, 255, 1);
    padding: 20px;
    width: 95%;
    margin: 0 auto;
    margin-bottom: 4rem;
}

.access-box{
    width: 90%;
    height: auto;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
}

/*
.access-left{
    margin: 0 auto;
    width: 100%;
    height: auto;
}
*/

.access-right{
    margin: 0 auto;
    width: 50%;
    height: auto;
    padding-left: 3vw;
}


.g-map {
    width: 100%;
    position: relative;
    padding-top: 56.25%;
}
.g-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.access-right h5{
    padding: 1.3vw 2vw 1vw 4.5vw;
    font-size: 1em;
    line-height: 1;
}

.access-right p{
    margin-bottom: 1vw;
    font-size: 0.9em;
}

.access-item1{
    background-image: url('../images/home-icon.png');
    background-position: center left;
    background-repeat: no-repeat;
    background-size: calc(3.8vw)  /* width */
                     calc(3.8vw); /* height : 48px , line-heightと合わせる*/
}

.access-item2{
    background-image: url('../images/train-icon.png');
    background-position: center left;
    background-repeat: no-repeat;
    background-size: calc(3.8vw)  /* width */
                     calc(3.8vw); /* height : 48px , line-heightと合わせる*/
}

.access-item3{
    background-image: url('../images/car-icon.png');
    background-position: center left;
    background-repeat: no-repeat;
    background-size: calc(3.8vw)  /* width */
                     calc(3.8vw); /* height : 48px , line-heightと合わせる*/
}


/* 利用者サービスページ */
.for-users{
    width: 100%;
    height: auto;
    margin: 0 auto;
}


.daily-schedule{
    margin-top: 4em;
    margin-bottom: 8em;
    margin-left: 15%;
    margin-right: 15%;
}

.logo-button {
    display: flex;
    align-items: center;
    padding: 1vw 13vw;
    background-color: #fff;
    color: #e62e70;
    border-radius: 10px;
    font-size: 2.5vw;
    font-weight: bold;
    border: solid 2px #e62e70;
    transition: background-color 0.3s, transform 0.3s;
    margin: 2em auto;
}

.logo-button img.button-logo {
    width: 2.8em;
    height: auto;
    margin-right: 1.8em;
}

.timeline {
    list-style: none;
    /* width: 100%; */
    height: auto;
}

.timeline > li {
  margin-bottom: 60px;
　display: table;
}

.timeline h3{
  border-bottom: none;
  padding: 1em 2em;
　margin: 0;
}

.logo-button button:active{
    background-color: #fff;
}

/* for Desktop */
@media ( min-width : 768px ){

.logo-button {
    display: flex;
    align-items: center;
    padding: 1% 25%;
    background-color: #fff;
    color: #e62e70;
    border-radius: 10px;
    font-size: 1.3em;
    font-weight: bold;
    border: solid 2px #e62e70;
    transition: background-color 0.3s, transform 0.3s;
    margin: 2em auto;
    justify-content: center;
}

  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }

   .timeline li:nth-child(even) {
    background-color: #f9eaef; /* 偶数番目のアイテムの背景色 */
　}

  .timeline-date {
    width: 110px;
    float: left;
    width: 110px;
    float: left;
    margin-top: 1em;
    margin-left: 25%;
    font-weight: bold;
    color: #e62e70;
    font-size: 1.3em;
    text-align: center;
  }
  .timeline-content {
    float: left;
    border-left: 3px #e5e5d1 solid;
    margin-left: 5%;
  }

  .timeline-content h3{
    margin-bottom: 0;
    font-size: 1.3em;
  }

   .timeline-content h3:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #e62e70;
    position: absolute;
    margin-left: -2.35em;
    top: 31px;
    border-radius: 100%;
  }


}

/* for tablet */
@media ( max-width: 768px ){

.daily-schedule {
    margin-top: 4em;
    margin-bottom: 8em;
    margin-left: 5%;
    margin-right: 5%;
}

.logo-button {
    font-size: 3.2vw;
    padding: 1vw 26vw;
}


  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }

   .timeline li:nth-child(even) {
    background-color: #f9eaef; /* 偶数番目のアイテムの背景色 */
　}

  .timeline-date {
    float: left;
    width: 25vw;
    float: left;
    margin-top: 3.5vw;
    font-weight: bold;
    color: #e62e70;
    font-size: 3.2vw;
    text-align: center;
  }
  .timeline-content {
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 3vw;
  }

  .timeline-content h3{
    margin-bottom: 0;
    font-size: 3.2vw;
  }

  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #e62e70;
    position: absolute;
    left: 24.35vw;
    top: 4.5vw;
    border-radius: 100%;
  }

.timeline h3{
  border-bottom: none;
  padding: 3.5vw 3vw;
　margin: 0;
}

}


.yui-works-bg{
    margin: 0;
    background-color: #edf7eb;
    width: 100%;
    margin-bottom: 8em;
}

.yui-works{
    margin: 0 auto;
    background-color: #edf7eb;
    width: 90%;
    display: flex;
    padding: 3%;
}

.yui-works-left{
    display: grid;
    width: 45%;
}

.yui-works-right{
    width: 55%;
    margin: auto;
}

.works-carousel {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-items: center;
}

.yui-works-right h5{
    text-align: center;
    width: 50%;
    font-size: 1.3vw;
    padding-left: 1vw;
}

.yui-works-right img{
    border-radius: 10px 10px 10px 10px;
    width: 25vw;
    height: auto;
    margin: 2vw;
    width: 50%;
}

.works{
    display: flex;
    background-color: #fff;
    border-radius: 10px;
    border: solid 1px #808080;
    justify-content: space-between;
    align-items: center;
}

.yui-works-left img{
    width: 25%;
    height: auto;
    margin: 0 auto;
    margin-bottom: 1.5em;
}

.yui-works-left h3{
    margin-bottom: 0.5em;
}

.yui-works-left p{
    width: 70%;
    margin: 0 auto;
    font-size: 0.8em;
}

.works-carousel-prev{
border-radius: 50%;
    border: none;
    width: 4vw;
    height: 4vw;
    color: #fff;
    font-weight: 900;
    background-color: #6eb944;
    margin-right: -1vw;
    position: relative;
    z-index: 1;
}

.works-carousel-next{
border-radius: 50%;
    border: none;
    width: 4vw;
    height: 4vw;
    color: #fff;
    font-weight: 900;
    background-color: #6eb944;
    margin-left: -1vw;
    position: relative;
    z-index: 1;
}


.flow{
    border-right: 1px solid #808080;
    border-left: 1px solid #808080;
    width: 80%;
    height: auto;
    margin: 0 auto;
    display: flex;
    align-items: center;
    margin-bottom: 5em;
}

.flow-item{
    width: 23.5%;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding: 1vw;
}

.flow h6 {
    text-align: center;
    font-size: 1em;
    padding: 1vw 0;
    height: 6vw;
    align-content: center;
}

.flow img{
    text-align: center;
    width: 13vw;
    height: auto;
}

.flow p{
    padding: 1px 0;
    margin-top: 1em;
}

.flow-line {
    width: 2%;
    height: auto;
}

.flow-line img{
    width: 100%;
    height: auto;
}


/* デフォルトのスタイル（デスクトップ向け） */
@media (min-width: 1200px) {
    .image-gallery figure {
        width: calc(30.00% - 20px); /* 6枚の画像が横に並ぶように設定 */
    }
}

/* タブレット向けのスタイル */
@media (min-width: 768px) and (max-width: 1199px) {
    .image-gallery figure {
        width: calc(30.22% - 20px); /* 4枚の画像が横に並ぶように設定 */
    }
}

/* スマートフォン向けのスタイル */
@media (max-width: 767px) {
    .image-gallery figure {
        width: calc(45% - 20px); /* 2枚の画像が横に並ぶように設定 */
    }
}


/* 事業者向けページのスタイル */

.f-philosophy h5{
    font-size: 1.5em;
}

.f-philosophy {
    width: 70%;
    margin: 0 auto;
    margin-bottom: 4em;
}

.f-philosophy-item{
    margin-bottom: 2em;
}

.button3 {
    border-color: #6eb944;
    color: #fff;
}

.custom-button3 {
    width: 35%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5em 1em;
    border-radius: 5px;
    background-color: #6eb944;
    text-decoration: none;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s, box-shadow 0.3s;
    font-size: 1em;
    font-weight: bold;
    margin: 0 auto;
}
/* ボタンホバー時のスタイル */
.custom-button3:hover {
    background-color: #e62e70; /* ホバー時の背景色 */
    transform: translateY(-3px); /* ホバー時の位置 */
}

/* ボタンアクティブ時のスタイル */
.custom-button3:active {
    background-color: #4e8c2b; /* アクティブ時の背景色 */
    transform: translateY(0); /* アクティブ時の位置 */
}

.button3-icon {
    width: 6.5vw;
    height: auto;
    margin-right: 4vw;
    display: none;
}



.f-first{
    margin-bottom: 8em;
}

.f-content01{
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.f-title-en h3{
border: none;
margin-bottom: 0;
}

.f-title-en p{
    font-weight: bold;
    margin-bottom: 1em;
}


.f-title-en {
    width: 70%;
    height: auto;
    margin: 0 auto;
}

.f-issues{
    display: flex;
    width: 70%;
    height: auto;
    margin: 0 auto;
}

.f-issues-left{
width: 30%;
height: auto;
}
.f-issues-left img{
width: 70%;
height: auto;
padding: 1vw;
margin: 0 0 0 3vw;
}

.f-issues-right{
width: 70%;
height: auto;
}

.f-issues-right h6{
color: #2f602f;
font-size: 1.5vw;
font-weight: 900;
margin-left: -10%;
}

.f-issues-p1{
display: flex;
margin-top: 3%;
align-items: center;
margin-left: 15%;
}

.f-issues-p1 img{
    width: 24%;
    margin-left: 8%;
}

.f-issues-p2 img{
width: 20%;
margin-left: 7%;
}

.f-issues-p2{
display: flex;
margin-top: 2vw;
align-items: center;
}

.yajirushi{
    margin: 0 auto;
    width: 3%;
    position: relative;
    z-index: 1;
}

.yajirushi img{
    width: 100%;
    height: auto;
}

.wave_bg{    
    background-image: url('../images/wave_bg.png');
    background-repeat: round;
    background-size:100%; 
    position: relative;
    padding: 3% 0;
    margin-top: -10%;
    z-index: 0;
}

.solution-conteiner{
    margin-top: 2%;
}

.solution{
    width: 70%;
    height: auto;
    margin: 0 auto;
    display: flex;
    align-items: center;
    margin-bottom: 3em;
    justify-content: space-between;
}

.solution-item{
    width: 23.5%;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding: 1vw;
}

.solution p {
    font-weight: 900;
    text-align: center;
    font-size: 0.7em;
    padding: 2% 15%;
    align-content: center;
    background-color: #3c9303;
    border-radius: 20px;
    color: #fff;
}

.solution img{
    text-align: center;
    width: 13vw;
    height: auto;
}

.solution h5{
    padding: 1px 0;
    margin-top: 0.3em;
    font-size: larger;
}

.solution-line::after {
    content: '▶︎';
    font-size: 1.5rem;
    transition: transform 0.3s;
    color: #275f00;
}

.solution_ex{
    width: 70%;
    height: auto;
    display: flex;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    margin-bottom: 3em;
    margin-top: 3em;
}

.solution_ex img {
    text-align: center;
    width: 13vw;
    height: auto;
}

.solution_ex_left h5 {
    text-align: center;
    font-size: 1em;
    margin: 5% 0;
}

.solution_ex_right h5{
    text-align: left;
    font-size: 1.3em;
    margin: 3% 0;
}

.solution_ex_left p {
    font-weight: 900;
    text-align: center;
    font-size: 0.7em;
    padding: 2% 15%;
    align-content: center;
    background-color: #3c9303;
    border-radius: 20px;
    color: #fff;
}

.solution_ex_left {
    width: 30%;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    justify-items: center;
}

.solution_ex_right {
    width: 70%;
    padding-left: 5%;
}

.our_thinks{
    display: flex;
    margin: 0 auto;
    width: 80%;
    height: auto;
    background-color: #f7f9f7;
    padding: 4%;
    margin-bottom: 4em;
    align-items: center;
}

.our_thinks_left{
    width: 60%;
    height: auto;
    padding-right: 10%;
}

.our_thinks_right{
    width: 40%;
    height: auto;
}

.our_thinks_right img{
    width: 100%;
    height: auto;
}


.our_thinks_left h3 {
    border-bottom: solid 2px #6eb944;
}

.gray_back{
    background-color: #f7f7f7;
    width: 70%;
    height: auto;
    margin: 0 auto;
    padding: 3%;
    border-radius: 20px;
    margin-bottom: 6em;
}

.gray_back_content{
    margin: 0 auto;
}

.shogai-servicemenu{
    display: flex;
    padding: 5% 0;
    align-items: center;
    font-size: 1.2em;
}

.shogai-servicemenu .th{
    text-align: center;
    margin-right: 5%;
    width: 45%;
    padding: 1% 0;
    border-radius: 10px;
}

.shogai-servicemenu .td{
    width: 50%;
}

.th1{
    border: solid 1px #f7931e;
    background-color: #fff;
}

.th2{
    border: solid 1px #ed1c24;
    background-color: #fff;
}

.th3{
    border: solid 1px #00a99d;
    background-color: #fff;
}

.th4{
    border: solid 1px #d9e021;
    background-color: #fff;
}

.th5{
    border: solid 1px #fbb03b;
    background-color: #fff;
}

.th6{
    background-color: #e62e70;
    color: #fff;
}


.tab-container {
    width: 70%;
    margin: 0 auto 6em auto;
}

.tabs {
    display: flex;
    border-bottom: 2px solid #6eb944;
}

.tab {
    font-size: 1.5vw;
    flex: 1;
    padding: 10px 20px;
    cursor: pointer;
    background-color: #aab7a1;
    color: #fff;
    text-align: center;
    border: none;
    outline: none;
    transition: background-color 0.3s;
}

.tab.active {
    background-color: #6eb944;
}

.tab:hover {
    background-color: #6eb944;
}

.tab-content {
    padding: 20px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
}

.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
}

.tabs-table tr{
    padding: 2.5% 0;
    display: block;
    text-align: left;
}

.tabssabtitle th{
    font-weight: 900;
    text-align: left;
}


.reference{
    font-size: 0.8em;
}



.saiyousikumi{
    width: 70%;
    height: auto;
    margin: 0 auto;
}

.saiyousikumi img{
    width: 70%;
    height: auto;
    margin: 0 auto;
    display: block;
}


.message{
    width: 70%;
    margin: 0 auto;
    text-align: center;
    font-size: 1.5em;
    margin-top: 4em;
}


.surveci-button{
    margin-top: 3em;
    margin-bottom: 6em;
}

th.fixed-width.tabssabtitle {
    text-align: center;
}

.other-service-top{
    margin-bottom: 3em;
}


.other-service-container{
    background-color: #f8f8f8;
}

.other-service {
    width: 70%;
    height: auto;
    margin: 8em auto;
}


        .other-service-title {
            padding: 1vw 2vw;
            background-color: #fff;
            border-radius: 5px;
            margin-bottom: 0.2em;
            cursor: pointer;
            position: relative;
            overflow: hidden;
            transition: background-color 0.3s ease;
        }


.other-service-text p{
    margin-bottom: 2vw;
}

.other-service h5 {
    font-size: 1.5em;
    padding-top: 2em;
}

.other-service h4 {
    font-size: 1.5em;
    color: #3c9303;
}

.other-service-box{
    margin-top: 1em;
}

.other-service-reference{
    font-size: 0.8em;
    padding: 1vw 0 4vw 2vw;
}



        .other-service-title:before, .other-service-title:after {
            content: "";
            background: #008CD5;
            width: 18px;
            height: 3px;
            position: absolute;
            right: 24px;
            top: calc(50% - 1px);
            display: block;
            transition: transform 1s ease;
        }


        .other-service-title:after {
            transform: rotate(90deg);
        }

        .other-service-title.on:after {
            transform: rotate(0deg);
        }


        .other-service-text {
            padding: 0 2vw;
            background-color: #fff;
            border-radius: 5px;
            border-top: 2px #F1F1F1 solid;
            overflow: hidden;
            max-height: 0;
            opacity: 0;
            transition: max-height 1s ease, opacity 1.5s ease, padding 1s ease;
        }

        .other-service-text.open {
            padding: 3vw 2vw;
            max-height: 1000px; /* 高めの値を設定 */
            opacity: 1;
        }


/*お問い合わせページ*/

.phone_contact{
    display: flex;
    width: 50%;
    height: auto;
    align-items: center;
}

.phone_container{
    display: flex;
    width: 70%;
    margin: 0 auto 4em auto;
    border-bottom: solid 1px #000;
    padding-bottom: 2rem;
}

.phone_contact_left {
    width: 15%;
    height: auto;
}

.phone_contact_left img{
    width: 100%;
    height: auto;
}

.phone_contact_right h4{
    font-size: 1.8vw;
    text-align: center;
}

.phone_contact_right p{
    font-size: 1.3vw;
    text-align: center;
}

.phone_contact_right {
    padding-left: 5%;
}

.phone_number {
    width: 50%;
    color: #e62e70;
    text-align: center;
    font-size: 3.5vw;
    font-family: "ysans-std", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.phone_number h4{
    font-family: "ysans-std", sans-serif;
    font-weight: 700;
    font-style: normal;
}

/*フォーム関連*/
.form_contact{
    display: flex;
    width: 70%;
    margin: 0 auto 2em auto;
    align-items: center;
}


.form_contact_left {
    width: 8%;
    height: auto;
}

.form_contact_left img{
    width: 100%;
    height: auto;
}

.form_contact_right h4{
    font-size: 1.8vw;
    text-align: center;
}

.form_contact_right {
    padding-left: 3%;
}

.form-container {
    width: 70%;
    background-color: #f9f9f9;
    padding: 52px 20px 80px 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    margin: 0 auto 5% auto;
}

form {
    display: flex;
    flex-direction: column;
    width: 70%;
    margin: 0 auto;
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    margin-bottom: 5px;
    display: block;
}

.radio-group label {
    margin-right: 10px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
}

button {
    padding: 10px 15px;
    background-color: #6eb944;
    color: #fff;
    border: none;
    border-radius: 0px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 1em;
    margin-bottom: 1em;
}


.logo-button button:hover {
    background-color: #fff;
}

.required {
    padding: 1% 3%;
    background-color: #fc4c9c;
    color: #fff;
    border-radius: 8px;
    font-size: 0.7em;
}

.radio-group{
    display: flex;
    margin-top: 2em;
}

.radio-group label {
    margin-right: 5%;
}

.selectbox-1 {
    position: relative;
}

.selectbox-1::before,
.selectbox-1::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

.selectbox-1::before {
    display: inline-block;
    right: 0;
    width: 2.8em;
    height: 2.8em;
    border-radius: 0 3px 3px 0;
    background-color: #6eb944;
}

.selectbox-1::after {
    position: absolute;
    top: 50%;
    right: 1.4em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
}

.selectbox-1 select {
    appearance: none;
    min-width: 100%;
    height: 2.8em;
    padding: .4em 3.6em .4em .8em;
    border: none;
    border-radius: 3px;
    background-color: #ffffff;
    color: #333;
    font-size: 1em;
    cursor: pointer;
}

.selectbox-1 select:focus {
    outline: 2px solid #6eb944;
}


textarea {
    resize: vertical; /* 縦方向にリサイズ可能 */
    height: 200px; /* 初期の高さ */
    width: 100%; /* 幅を100%にする（任意） */
}


/* メディアクエリ */
@media (max-width: 768px) {

.br-mobile {
    display: inline;
  }


.main-visual {
    margin-top: 17%;
}

.page-title {
    margin-top: 5%;
}

.for-companies-page-title {
    margin-top: 5%;
}

.info {
    width: 90%;
}

.info table{
    width: 95%;
    margin: 0 auto;
    margin-bottom: 5rem;
}

.info td {
    padding: 1.3rem 0rem;
    font-size: 2vw;
}


.facility-detail p{
    font-size: 3.5vw;
}

.access-box{
    display: block;
}

.access-left{
    margin: 0 auto;
    width: 100%;
    height: auto;
    margin-bottom: 2em;
}

.access-right{
    margin: 0 auto;
    width: 100%;
    height: auto;
}


.access-right p{
    margin-bottom: 4vw;
    font-size: 0.9em;
}


.access-item1{
    background-image: url('../images/home-icon.png');
    background-position: center left;
    background-repeat: no-repeat;
    background-size: calc(7vw)  /* width */
                     calc(7vw); /* height : 48px , line-heightと合わせる*/
}

.access-item2{
    background-image: url('../images/train-icon.png');
    background-position: center left;
    background-repeat: no-repeat;
    background-size: calc(7vw)  /* width */
                     calc(7vw); /* height : 48px , line-heightと合わせる*/
}

.access-item3{
    background-image: url('../images/car-icon.png');
    background-position: center left;
    background-repeat: no-repeat;
    background-size: calc(7vw)  /* width */
                     calc(7vw); /* height : 48px , line-heightと合わせる*/
}


.access-right h5{
    padding: 2vw 3vw 2vw 8.5vw;
    font-size: 1em;
    line-height: 1;
}

.yui-works {
    flex-direction: column;
}

.yui-works-left {
    width: 100%;
    margin-bottom: 2em;
}

.yui-works-right {
    width: 100%;
}

.yui-works-right h5 {
    font-size: 0.8em;
}

.works-carousel-prev{
    width: 7vw;
    height: 7vw;
}

.works-carousel-next{
    width: 7vw;
    height: 7vw;
}

.yui-works {
    padding: 10% 3% 10% 3%;
}

.flow-line img {
display: none;
}

.flow {
    border-right: none;
    border-left: none;
    width: 90%;
    flex-direction: column;
}

.flow h6 {
    line-height: 1.5;
    height: auto;
}

.flow-item {
    width: 85%;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding: 1vw;
    margin-bottom: 1.5em;;
    background-color: #fff;
    border-radius: 10px;
margin-top: 1.5em;;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 初期状態のシャドウ */
}

.flow img {
    text-align: center;
    width: 40%;
    height: auto;
}

.flow p {
    padding: 0 0 1em 0;
}

.flow-line::after {
    content: '▼';
    font-size: 1.5rem;
    transition: transform 0.3s;
    color: #e62e70;
}

.f-philosophy {
    width: 80%;
}

.custom-button3 {
    width: 50%;
    font-size: 2.5vw;
    padding: 0.6em 1em;
}

.f-title-en {
    width: 90%;
    height: auto;
    margin: 0 auto;
}

.f-issues {
    display: flex;
    width: 90%;
    height: auto;
    margin: 0 auto;
}


.f-issues-right h6 {
    color: #2f602f;
    font-size: 2.5vw;
    font-weight: 900;
    margin-left: -10%;
}

.f-issues-p1 {
    display: flex;
    margin-top: 3%;
    align-items: center;
    margin-left: 5%;
}

.f-issues-p1 img {
    width: 24%;
    margin-left: 8%;
}

.f-issues-p2 img {
    width: 24%;
    margin-left: 0%;
}

.f-issues-left img {
    width: 100%;
    margin: 0 0 0 0;
}

.solution_ex {
    width: 100%;
    height: auto;
    margin: 0 auto;
    flex-direction: column;
    margin: 10% 0;
}

.solution_ex_right {
    width: 80%;
    padding-left: 0;
}

.solution_ex_left {
    width: 100%;
}

.solution_ex img {
    text-align: center;
    width: 60%;
    height: auto;
}

.solution_ex_left p {
    font-size: 1em;
    padding: 1% 10%;
}

.solution_ex_left h5 {
    font-size: 1.3em;
    margin: 2% 0;
}

.wave_bg {
    background-image: url(../images/wave_bg.png);
    background-repeat: space;
    background-size: cover;
    position: relative;
    padding: 3% 0;
    margin-top: -25%;
    z-index: 0;
}

.solution img {
    text-align: center;
    width: 60%;
    height: auto;
}

.solution-item {
    width: 90%;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding: 1vw;
}

.solution-line::after {
    content: '▼';
    font-size: 1.5rem;
    transition: transform 0.3s;
    color: #275f00;
}

.yajirushi {
    width: 5%;
}

.solution {
    width: 90%;
    display: flex;
    flex-direction: column;
}

.solution-conteiner {
    margin-top: 17%;
}

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

.our_thinks_left {
    width: 100%;
    height: auto;
    padding-right: 0%;
}

.our_thinks_right {
    width: 100%;
    height: auto;
    padding: 5%;
}

.tab-container {
    width: 80%;
    margin: 0 auto 6em auto;
}

.saiyousikumi img {
    width: 100%;
}

.gray_back {
    width: 80%;
}

.message {
    width: 80%;
}

.shogai-servicemenu {
    font-size: 1em;
}


.phone_container {
    width: 80%;
}

.phone_contact_right p {
    font-size: 1.5vw;
}

.phone_contact_right h4 {
    font-size: 2.5vw;
}

.form_contact_right h4 {
    font-size: 2.5vw;
}

.phone_number {
    font-size: 4vw;
}

.form-container {
    width: 80%;
}

form {
    width: 80%;
}

.form_contact {
    width: 80%;
    margin-bottom: 2em;
}

.other-service h4 {
    font-size: 1.2em;
}



}


/* メディアクエリ */
@media (max-width: 480px) {

.shrink nav ul {
    align-items: center;
}


.main-visual {
    margin-top: 20%;
}

.info{
    width: 100%;
    margin: 0 auto;
    margin-bottom: 5rem;
}

    .page-title {
    width: 90%;
}

.info td {
    font-size: 3.1vw;
    padding: 1rem 0.5rem 1rem 0;
}

.fixed-width {
    width: 6rem; /* 固定幅を設定 */
  }

.facility-information {
    width: 95%;
    margin: 0 auto;
}

.image-gallery{
    padding: 0;
    justify-content: center;
    align-items: center;
    gap:3%;
}

.yui-works-right h5 {
    font-size: 1em;
    padding: 0;
    margin: 5vw;
}

.philosophy {
    width: 90%;
}

.yui-works {
    padding: 10% 0% 10% 0%;
}

.yui-works-left p{
    width: 100%;
    margin: 0 auto;
    font-size: 1em;
}

.works {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    align-content: center;
}

.yui-works-right img {
    width: 25vw;
    height: auto;
    margin: 5vw;
    width: 90%;
}

.timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #e62e70;
    position: absolute;
    left: 23.9vw;
    top: 4.5vw;
    border-radius: 100%;
}

.daily-schedule {
    margin-top: 2em;
    margin-bottom: 4em;
    margin-left: 5%;
    margin-right: 5%;
}

.timeline-date {
 font-size: 1em;
}

.logo-button {
    font-size: 1em;
}

.timeline-content h3 {
    font-size: 1em;
}


.custom-button3 {
    width: 85%;
    font-size: 1em;
    padding: 0.6em 1em;
}

.f-issues {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.f-issues-right {
    width: 100%;
    height: auto;
}

.f-issues-left {
    width: 35%;
    height: auto;
}

.f-issues-p1 img {
    width: 20%;
    margin-left: 8%;
}

.f-issues-p2 img {
    width: 20%;
    margin-left: 0%;
}


.f-issues-right h6 {
    font-size: 4vw;
    margin-left: -10%;
}

.tab-content {
    padding: 10px;
}

.tab-container {
    width: 90%;
}

.tabs-table tr {
    display: grid;
}

th.fixed-width.tabssabtitle {
    margin: 3% 0;
    background-color: #4e8c2b;
    color: #fff;
    border-radius: 5px;
    line-height: 1.3;
    padding: 2% 0;
    font-weight: 500;
}

.tab {
    font-size: 5vw;
    padding: 3% 1%;
}

.saiyousikumi{
    width: 90%;
}

.shogai-servicemenu {
    display: grid;
    padding: 5% 0;
    align-items: center;
    font-size: 1.2em;
}

.shogai-servicemenu .td {
    width: 100%;
    margin-top: 3%;
}

.gray_back {
    width: 90%;
}


.phone_container {
    width: 90%;
    margin-bottom: 2em;
}

.form_contact {
    width: 90%;
    margin-bottom: 2em;
    display: grid;
    align-content: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
}

.form-container {
    width: 90%;
}

.phone_container {
    flex-direction: column;
}

.form_contact_right {
    padding-left: 0;
}

.phone_contact_right h4 {
    font-size: 5.5vw;
}

.form_contact_left {
    width: 30%;
    height: auto;
}

.phone_number h4{
    font-size: 8vw;
}
.phone_number {
    width: 90%;
    margin: 3% auto 0 auto;
}

.phone_contact_right p {
        font-size: 3vw;
}

.phone_contact {
        width: 100%;
        display: grid;
        justify-content: center;
        align-content: center;
        align-items: center;
        justify-items: center;
}

.phone_contact_left {
    width: 30%;
    height: auto;
}

.phone_contact_left img {
    width: 100%;
}


.form_contact_right h4 {
    font-size: 5.5vw;
}

form {
    width: 100%;
}

button {
    padding: 6px 15px;
    margin-top: 1em;
}

.other-service {
    width: 80%;
}

.other-service h4 {
    font-size: 1em;
}


/*理念*/
.philosophy h2 {
        font-size: large;
    }
.philosophy h3 span {
    font-size: 3.5vw;
}


}


@media (min-width: 768px) { /* PCサイズの幅を指定 */
    .pc-break {
        display: block; /* PCサイズではブロック表示（改行） */
    }
}

@media (min-width: 1200px) {
  /* ここに1200px以上で反映させたいスタイルを書く */

.roman{
    font-size: 0.8vw;
}

h2 {
    font-size: 2vw;
    }

h3{
    font-size: 1.8vw;
}

.flow h6{
    font-size: 1.3vw;
}

p{
    font-size: 1.2vw;
}

.page-title p{
    font-size: 1.2vw;
}


.image-gallery figcaption{
    font-size: 1.2vw;
}

.logo-button{
    font-size: 1.2vw;
}

.timeline-date{
    font-size: 1.2vw;
}

.timeline-content h3{
    font-size: 1.2vw;
}

.timeline-content h3:before{
    width: 1vw;
    height: 1vw;
    margin-left: -2.95vw;
    top:1.6vw;
}

.yui-works-left{
    font-size: 1.2vw;
}

.custom-button3{
    font-size: 1.2vw;
}

.f-philosophy h5{
    font-size: 1.5vw;
}

.f-title-en{
    font-size: 1.5vw;
}

.solution p{
    font-size: 1.2vw;
}

.solution h5{
    font-size:1.2vw
}

.solution_ex_left p{
    font-size: 1.2vw;
}

.solution_ex_left h5{
    font-size: 1.2vw;
}

.solution_ex_right h5{
    font-size: 1.5vw;
}


.shogai-servicemenu{
    font-size: 1.2vw;
}

.tabs-table{
    font-size: 1.2vw;
}

.other-service h5{
    font-size: 1.5vw;
}

.other-service h4{
    font-size: 1.5vw;
}

.reference{
    font-size: 0.8vw;
}

.other-service-reference p{
        font-size: 0.8vw;
}

label{
    font-size: 1.2vw;
}

button{
    font-size: 1.2vw;
}

textarea {
  height: 10em;       /* 高さ */
  font-size: 1.2vw;     /* フォントサイズ */
  line-height: 1.5;    /* 行間 */
  padding: 10px;       /* 余白 */
  box-sizing: border-box;
}


input[type="text"] {
  height: 2em;
  font-size: 1.2vw;
  padding: 8px 12px;  /* 文字の上下左右余白 */
  box-sizing: border-box; /* 高さ計算を安定させる */
}
input[type="email"] {
  height: 2em;
  font-size: 1.2vw;
  padding: 8px 12px;  /* 文字の上下左右余白 */
  box-sizing: border-box; /* 高さ計算を安定させる */
}

footer p{
    font-size: 0.8vw;
}


}


