@charset "UTF-8";


.img-container{
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.content {
    margin: 20px auto;
    width: 80%;
    position: relative;
    z-index: 1;
    color: white;
    text-align: left;
}


.content p{
    margin-bottom:0px
}

.content h1{
    font-size: px;
    margin: 0px;
}

#container p{
    font-size: 24px;
}


.video-container {
    position: relative;
    width: 100%;
    height: 20vh;
    overflow: hidden;
}

.video-background {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translateX(-50%) translateY(-50%);
    z-index: -1;
    object-fit: cover;
}


/* ミッションセクション*/
.mission-section{
    padding: 40px 0;
    margin: 40px 0;
    width: 100%;
    background: linear-gradient(90deg, #166771 0%, #166771 calc(50% + 650px), #fff calc(50% + 650px), #fff 100%);
}

.mission-section .container{
    color: #FFF;
    padding: 20px 0;
    margin: 0px auto;
    width: 90%;
    border-radius: 10px;
}

.mission-section .container p{
    margin: 0 auto;
    width: 94%;
}

.mission-section .container p.jp{
    margin-top: 20px;
    color: #FFF;
    font-weight: bold;
}


.mission-section .container .en{
    color: #FFF;
    font-size: 60px;
    font-weight: bold;
}

.mission-section .container .cont{
    margin: 20px auto;
    width: 90%
}


.mission-section .container h3{
    margin: 20px;
    font-size: 20px;
}





/* 会社概要　セクション*/
.philosophy-section{
    padding: 40px 0;
    margin: 40px 0;
    width: 100%;
    background-color:#F8F8F8;
}

.philosophy-section .container{
    width: 1200px;
    padding: 20px 0;
    margin: 0px auto;
    /*width: 90%;*/
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 5px 5px rgb(228, 228, 228);
}

.philosophy-section .container p{
    margin: 0 auto;
    width: 94%;
}
.philosophy-section .container p.jp{
    margin-top: 20px;
    color: #166771;
    font-weight: bold;
}
.philosophy-section .container .en{
    font-size: 60px;
    font-weight: bold;
}

.philosophy-section .container p.en:first-letter{
    color: #166771;
}


.philosophy-section .title_box{
    font-weight: bold;
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -2rem;
    width: 96%;
    margin: 0 auto;
    margin-bottom: 30px;
}


.philosophy-section .title_box .img{
    margin: auto;
    flex-basis: 10%;
    max-width: 10%;
    padding: 20px 4px 0 20px;
}

.philosophy-section .title_box .text{
    font-size: 24px;
    flex-basis: 90%;
    max-width: 90%;
    padding: 20px 4px 0 8px;
    letter-spacing: 2px;
    line-height:20px
}

.philosophy-section .container .cont{
    font-weight: bold;
    margin: 0 auto;
    width: 96%;
    border-color: hsla(0, 0%, 91%, .6);
    border-bottom: solid 1px #ececec;
}


.philosophy-section .column1,
.philosophy-section .column2,
.philosophy-section .column3,
.philosophy-section .column4{
    margin-bottom: 20px;
    line-height:20px;
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -2rem;
    width: 96%;
    margin: 0 auto;
    border-bottom: 4px #166771;
}


.philosophy-section .column1 .img,
.philosophy-section .column3 .img{
    flex-basis: 50%;
    max-width: 50%;
    padding: 20px 4px 0 8px;
}

.philosophy-section .column2 .img,
.philosophy-section .column4 .img{
    flex-basis: 50%;
    max-width: 50%;
    padding: 20px 4px 0 8px;
}
.philosophy-section .column1 .text,
.philosophy-section .column3 .text{
    flex-basis: 50%;
    max-width: 50%;
    padding: 20px 4px 0 8px;
    letter-spacing: 2px;
    line-height:30px
}

.philosophy-section .column2 .text,
.philosophy-section .column4 .text{
    flex-basis: 50%;
    max-width: 50%;
    padding: 20px 4px 0 20px;
    letter-spacing: 2px;
    line-height:30px
}


.philosophy-section h3{
    font-size: 24px;
    margin-bottom: 20px;
    margin-top: 10px;
}

.philosophy-section h3:first-letter{
    color:#166771;
    font-size: 36px;
}

.philosophy-section .text p{
    margin-top: 10px;
    line-height:30px;
    letter-spacing: 4px;
}


.philosophy-section .container p.end_text{
    margin: 20px auto;
    font-size: 24px;

}




/* 由来　セクション*/
.origin-section{
    padding: 40px 0;
    margin: 40px 0;
    width: 100%;
    background-color:#F8F8F8;
}

.origin-section .container{
    padding: 20px 0;
    margin: 0px auto;
    width:1200px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 5px 5px rgb(228, 228, 228);
}

.origin-section .container p{
    margin: 0 auto;
    width: 94%;
}

.origin-section .title_box{
    font-weight: bold;
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -2rem;
    width: 96%;
    margin: 0 auto;
    margin-bottom: 30px;
}


.origin-section .title_box .img{
    margin: auto;
    flex-basis: 10%;
    max-width: 10%;
    padding: 20px 4px 0 20px;
}

.origin-section .title_box .text{
    margin:auto;
    font-size: 24px;
    flex-basis: 90%;
    max-width: 90%;
    padding: 20px 4px 0 8px;
    letter-spacing: 2px;
    line-height:20px
}

.origin-section .container .cont{
    font-weight: bold;
    margin: 0 auto;
    width: 96%;
    border-color: hsla(0, 0%, 91%, .6);
}



.origin-section .container .cont .en{
    font-size: 24px;
    font-weight: bold;
    color: #166771;
}

/* 経緯　セクション*/
.background-section{
    padding: 40px 0;
    margin: 40px 0;
    width: 100%;
    background-color:#F8F8F8;
}

.background-section .container{
    padding: 20px 0;
    margin: 0px auto;
    width:1200px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 5px 5px rgb(228, 228, 228);
}


.background-section .container .cont ul li{

}

.background-section .container .cont ul {
    counter-reset:number; /*数字をリセット*/
    list-style-type: none!important; /*数字を一旦消す*/
    padding: 0.3em 0.8em;
    border: solid 2px #ffb107;
}

.background-section .container .cont ul li {
    border-bottom: dashed 1px orange;
    position: relative;
    padding: 0.5em 0.5em 0.5em 30px;
    line-height: 1.5em;
}

.background-section .container .cont ul li:before{
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number;
    content: counter(number);
    /*数字のデザイン変える*/
    display:inline-block;
    background: #ffb107;
    color: white;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight:bold;
    font-size: 15px;
    border-radius: 50%;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    /*以下 上下中央寄せのため*/
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.background-section .container .cont ul li:last-of-type {
    border-bottom: none; /*最後のliの線だけ消す*/
}


.background-section .container p{
    margin: 20px;
}

.background-section .container p.img{
    margin: 10px auto;
    border: #166771 solid 10px;
    border-radius:4px;
}

/* 経緯　セクション*/
.rule-section{
    padding: 40px 0;
    margin: 40px 0;
    width: 100%;
    background-color:#F8F8F8;
}

.rule-section .container{
    padding: 20px 0;
    margin: 0px auto;
    width:1200px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 5px 5px rgb(228, 228, 228);
}


/* 経緯　セクション*/
.business-section{
    padding: 40px 0;
    margin: 40px 0;
    width: 100%;
    background-color:#F8F8F8;
}

.business-section .container{
    padding: 20px 0;
    margin: 0px auto;
    width:1200px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 5px 5px rgb(228, 228, 228);
}


/* 経緯　セクション*/
.achieve-section{
    padding: 40px 0;
    margin: 40px 0;
    width: 100%;
    background-color:#F8F8F8;
}

.achieve-section .container{
    padding: 20px 0;
    margin: 0px auto;
    width:1200px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 5px 5px rgb(228, 228, 228);
}



.access-section{
    padding: 40px 0 0;
    margin: 40px 0 0;
    width: 100%;
}

.access-section .container{
    padding: 20px 0;
    margin: 0px auto;
    width: 90%;
    background-color: #fff;
    border-radius: 10px;
}

.access-section .container p{
    margin: 0 auto;
    width: 94%;
}
.access-section .container p.jp{
    margin-top: 20px;
    color: #166771;
    font-weight: bold;
}
.access-section .container .en{
    font-size: 60px;
    font-weight: bold;
}

.access-section .container p.en:first-letter{
    color: #166771;
}

.map-grayscale{
    height: 400px;
}
.map-grayscale iframe {
    width: 100%;
    height: 100%;
    filter: grayscale(100%); /* グレースケールフィルター */
    transition: filter 0.3s ease;
}


/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
}
/* End PC */

/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {

    
    .philosophy-section .container,
    .origin-section .container,
    .achieve-section .container{
        width: 100%;
    }
    .philosophy-section .title_box .img{
        margin: auto;
        flex-basis: 10%;
        max-width: 10%;
        padding: 0px;
    }
    .philosophy-section .text p {
        margin-top: 0px;
        line-height: 20px;
        letter-spacing: 0px;
        font-size: 16px;
    }
    .philosophy-section .title_box .text {
        padding: 0;
    }

    .philosophy-section .title_box .text {
        flex-basis: 80%;
    }
    .philosophy-section .column1,
    .philosophy-section .column2,
    .philosophy-section .column3,
    .philosophy-section .column4{
        display: unset;
    }
    .philosophy-section .cont .img,
    .philosophy-section .cont .text{
        max-width: 100%;
    }
    .philosophy-section h3{
        font-size: 16px;
        border-bottom:#166771 solid 1px;
    }
}

/* End SP */