/* PC、スマホ共通スタイル */
ul, ol {
    margin-left: 0px;
    padding-left: 0px;
}

p {
    font-size: 15px;
}

.arrow-right {
    color: #8B5E3C;
}

#submit {
    margin-top: 50px;
}

.lead_on_bg {
    color:#5D4037;
}

section {
    padding: 0 1rem;
}
.office-place div {
    margin:1em 0;
}

/*================
 PC用のスタイル
=================*/
@media screen and (min-width: 768px) {
    /* メインビジュアル*/
    #main-visual {
        position: relative;
        height: 700px;
    }
    #main-message {
        position: absolute;
        /*background-color: #8B5E3C;*/
        background-color:#EFEFEF;
        /*color: #F7F2ED;*/
        color: #000;
        /*border-radius: 10px;*/
        /*height: 80%;*/
        height: 8rem;
        width: 100%;
        z-index: 11;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        opacity: 0.8;
        text-align:center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;        
    }
    #main-message > h1 {
        font-size: 45px;
        font-weight: bold;
        margin: 0;
    }

    #main-message > p {
        font-size: 28px;
        margin: 10px 0 0 0;
        padding: 0 20px;
    }

    #main-message span {
        display: block;
        /*line-height: 5rem;*/
        /*font-size: 2em;*/
        font-size: 4em;
        text-align: center;        
        /*font-weight: bold;*/
    }

    #main-visual > img {
        width: 100%;
        height:700px;
        position: absolute;
        top: 0;
        z-index: 10;
        opacity: 0.8;
    }

    /*見出し*/
    h2 {
        margin: 40px 0 0 0;
    }

    h2::after {
        content: url("images/line.png");
        margin-left: 10px;
    }

    h3 {
        font-size: 27px;
    }


    /* ABOUT US */
    #aboutus,#vision-mission,#aboutlogo {
        margin: 80px auto;
    }


 

    /*会社概要*/
    #company {
        margin: 80px auto 80px auto;
    }

    #company-table {
        width: 100%;
    }

    .tableheader {
        text-align: left;
        padding: 20px;
        border-bottom-color: #8B5E3C;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        width: 100px;
    }

    .tableheader-first {
        text-align: left;
        padding: 20px;
        border-bottom-color: #8B5E3C;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-top-color: #8B5E3C;
        border-top-width: 1px;
        border-top-style: solid;
        width: 100px;
    }

    .cell {
        padding: 30px;
        border-bottom-color: #C5A880;
        border-bottom-width: 1px;
        border-bottom-style: solid;
    }
    .cell-first {
        padding: 30px;
        border-bottom-color: #C5A880;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-top-color: #C5A880;
        border-top-width: 1px;
        border-top-style: solid;
    }



    /* プロダクトページ */
    #section-top {
        height: 246px;
        width: 100%;
        /*background-image: url("../image/26089.jpg");
        background-repeat: no-repeat;
        background-size: 130%;
        background-position: left 60%;
        */
        text-align: center;
        border-bottom: 1px solid #ddd;
    }

    #section-top-title {
        /*background-color: #8B5E3C;*/
        /*width: 368px;*/
        /*color: #F7F2ED;*/
        color: #444444;
        /*height: 296px;*/
        /*border-radius: 0 248px 248px 0;*/
        position: relative;
        letter-spacing: 0.1em;
    }
    #section-top-title > h1 {
        /*position: absolute;
        top: 0;
        left: 100px;*/
        font-size: 45px;
        /*letter-spacing: 01em;*/
    }

    #section-top-title > span {
        /*position: absolute;
        top: 200px;*/
        /*left: 100px;*/
        font-size: 26px;
        letter-spacing: 0.3em;
    }

    #section-top-title > div {
        position: absolute;
        top: 350px;
        left: 100px;
        font-size: 16px;
    }

    .aboutus-contents > p{
        font-size: 1.2rem;
        line-height: 1.6;
    }

    /* タイプ1 */
    .aboutlogo-content {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .aboutlogo-content > div.aboutlogo-exp {
        flex: 1;
        margin-right: 50px; /* 画像との間にスペースを確保 */     
    }

    .aboutlogo-content > div > img {
        width: 350px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
    }
    .aboutlogo-content > div.aboutlogo-img-area {
        width: 550px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
        position: relative;
    }
    .aboutlogo-exp-lead {
        font-weight:bold;
        color:#4E342E;
    }
    .activity-img2{
        position: relative;
        width: 600px; /* コンテナの幅を画像に合わせて調整 */
        height: 200px; /* コンテナの高さを画像に合わせて調整 */        
    }
    .activity-img2 > img{
        /*position: absolute;*/
        width: auto;
        height: 200px;
    }
    #img-kids-cafe-01 {
        width:200px;

    }
    #img-kids-cafe-02 {
        height:200px;
        width:200px;
        object-fit: cover;
    }
   /* タイプ2 */
   .activity-type2 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;

    }
    .activity-backcolor > .activity-type2 {
        padding: 2rem 0;
    }
    .activity-type2 > div.activity-exp {
        flex: 1;
        margin-left: 50px; /* 画像との間にスペースを確保 */
    }

    .activity-type2 > div > img {
        width: 450px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
    }   
    .activity-type2 > div.activity-img-area {
        width: 550px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
        position: relative;
    }
    #img-bro-01 {
        width:200px;

    }
    #img-bro-02 {
        height:200px;
        width:200px;
        object-fit: cover;
    }


    .polaroid {
        max-width: 400px; /* ポラロイドの幅 */
        padding: 10px;
        background: white;
        box-shadow: 5px 5px 15px rgba(0,0,0,0.3);
        margin: 20px;
        display: inline-block;
        text-align: center;
        font-family: 'Arial', sans-serif;
    }
    
    .polaroid img {
        width: 100%;
        height: auto;
        display: block;
    }    

    .polaroid-left {
        transform: rotate(-5deg); /* 画像を少し傾ける */
    }

    .polaroid-right {
        transform: rotate(5deg); /* 画像を少し傾ける */
    }    


    .more-link {
        position: relative;
        display: inline-block;
        padding-left: 20px; /* アイコンのためのスペースを確保 */
        text-decoration: none;
        color: #000; /* リンクの色 */
    }
    
    .more-link::before {
        content: "\f105"; /* Font Awesomeのアイコンコード（例：右矢印） */
        font-family: "Font Awesome 6 Free"; /* Font Awesomeのフォントファミリー */
        font-weight: 900; /* Font Awesomeアイコンのスタイルを指定 */
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); /* 縦方向の中央揃え */
        font-size: 16px; /* アイコンのサイズ */
        color: #000; /* アイコンの色 */
    }
    
}

/*====================
 スマートフォン用のスタイル
=====================*/
@media screen and (max-width: 767px) {
    /* Aboutusページ */    
    #section-top {
        height: 140px;
        width: 100%;
        text-align: center;
        border-bottom: 1px solid #ddd;
        /*padding:0 1rem;*/

    }

    #section-top-title {
        /*background-color: #8B5E3C;*/
        color: #444444;
        /*height: 296px;*/
        /*border-radius: 0 248px 248px 0;*/
        position: relative;
        /*letter-spacing: 0.2em;*/
        text-align: center;
    }
    #section-top-title > h1 {
        font-size: 1.1rem;
        display: block;
        margin: 1.5rem auto 1.5rem;
    }

    #section-top-title > span {
        font-size: 1.1rem;
        letter-spacing: 0.2em;
    }
    /*見出し*/
    h2::after {
        /*content: url("images/line.png");*/
        /*margin-left: 10px;*/
    }
    section > h2 {
        font-size: 1.2rem;
    }
    h3 {
        font-size: 24px;
        margin: 10px 0 0 0;
    }
    section > h3 {
        font-size: 1.1rem;
    }
    .aboutus-contents > p{
        font-size: 1.0rem;
        line-height: 1.6;
    }
    .aboutlogo-content > div {
        margin: 0 auto;;
    }

    .aboutlogo-content > div > img {
        /*width: 350px;*/
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        display: block;
    }
    .aboutlogo-content > div.aboutlogo-img-area {
        /*width: 550px;*/
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
        position: relative;
    }
    .aboutlogo-exp-lead {
        font-weight:bold;
        color:#4E342E;
    }


    /* ミッション */
    #mission {
        /*margin: 20px;*/
    }

    #mission-photo {
        width: 100%;
    }

    #s2dgs {
        width: 100%;
    }

    /* ABOUT US */
    #aboutus {
        /*margin: 80px 20px 80px 20px;*/
    }

    #aboutus > div {
        /*display: flex;
        flex-direction: column;*/
    }

    .culture-table {
        width: 100%;
        /*padding-right: 20px;*/
        order: 2;
    }

    .culture-img {
        width: 100%;
        order: 1;
    }

    .culture-img2 {
        width: 100%;
    }
    .culture-num {
        font-size: 80px;
        color: #8B5E3C;
    }

    .culture-en {
        color: #8B5E3C;
        font-weight: bold;
        font-size: 24px;
        display: block;
    }

    .culture-jp {
        display: block;
    }

    .culture-description {
        margin: 0;
    }

    /* ビジョン */
    #vision {
        /*margin: 80px 20px 80px 20px;*/
    }

    .vision-box {
        /*width: 300px;*/
        height: 300px;
        margin-bottom: 30px;
        position: relative;
    }

    .vision-box > img {
        width: 100%;
        height: auto;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 30;
    }

    .vision-box > span {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 31;
        /*margin-right: 20px;*/
    }

    .vision-box > span > h4 {
        color: #8B5E3C;
        font-size: 19px;
        margin: 60px 0 0 0;
    }

    .vision-box > span > h5 {
        font-size: 20px;
        margin: 0 0 0 0;
    }
    .vision-box > span > p {
        margin: 10px 0 0 0;
    }

    /*会社概要*/
    #company {
        /*margin: 0 20px 0 20px;*/
    }

    #company > h3 {
        margin-bottom: 20px;
    }

    #company-table {
        width: 100%;
    }

    #company > iframe {
        width: 100%;
        height: 240px;
        margin: 40px 0 0 0;
    }

    .radiobutton {
        margin-bottom: 20px;
    }

    /* .radiobutton + label::after {
        content: "\A";
        white-space: pre;
    } */

    #s2dgs-image {
        width: 100%;
    }

    ul {
        list-style-type: none;
    }

}
