/* PC、スマホ共通スタイル */
body {
    font-family: 'M PLUS 1','Noto Sans JP',"Source Sans Pro", "Hiragino Kaku Gothic ProN", Meiryo, Arial,
        sans-serif;    
}

ul, ol {
    margin-left: 0px;
    padding-left: 0px;
}

p {
    font-size: 15px;
}

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

#submit {
    margin-top: 50px;
}

#claim {
    margin: 80px 0 10px 0;
}

#claim-message span {
    display: block;
    line-height: 5rem;
    font-size: 2em;
    text-align: center;
}

.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; /* アイコンの色 */
}

.activity-lead {
    color:#444444;
}

.lead_on_bg {
    color:#5D4037;
}
.activity-exp > p {
    color: #444444;
}

h3.activity-h3 > i::after {
    content: '\00a0';
    display: inline-block;
    width: 0.5em; /* 必要な余白に応じて調整 */
}
/*================
 PC用のスタイル
=================*/
@media screen and (min-width: 768px) {
    /* 横幅設定 */
    body {
        max-width: 1080px;
        min-width: 900px;
        margin: 0 auto 0 auto;
        background-color: #f8f3eb;
    }

    /* ヘッダー */
    header {
        display: flex;
        justify-content: space-between;
    }

    /* ナビゲーションのレイアウト */
    #nav-pc {
        font-size: 14px;
        padding-top: 15px;
        padding-right: 15px;
    }

    /* ナビゲーションのリンクの装飾設定 */
    #nav-pc > a {
        text-decoration: none;
        margin-left: 20px;
    }
    #nav-pc > a:link {
        color: #4E342E;
    }
    #nav-pc > a:visited {
        color: #4E342E;
    }
    #nav-pc > a:hover {
        color: #4E342E;
        text-decoration: underline;
    }
    #nav-pc > a:active {
        color: #4E342E;
    }

    /* スマホ用ナビを非表示 */
    #nav-sp,
    #menu-sp {
        display: none;
    }

    /* メインビジュアル*/
    #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;
    }

    /* 活動紹介 */
    #activity {
        background-color: #EFE5DC;
        margin: 80px 0 80px 0;
        padding: 10px 40px 10px 40px;
    }

    /* 外枠 */
    #activity > div {
        margin-top: 40px;
        display: flex;
    }

    /* 左のカラム */
    #activity-left {
        width: 50%;
        margin-right: 20px;
    }

    /* 右のカラム */
    #activity-right {
        width: 50%;
        margin-left: 20px;
        margin-top: 80px;
    }

    /* 写真＋説明の枠 */
    #activity-left > div {
        position: relative;
        height: 480px;
        margin-right: 20px;
    }

    #activity-right > div {
        position: relative;
        height: 480px;
        margin-left: 20px;
    }

    #activity-top-img {
        justify-content: center; /* 横方向の中央寄せ */
        align-items: center; /* 縦方向の中央寄せ（オプション） */
    }

    #activity-top-img > div > img {
        width: 200px;
    }

    /* 写真*/
    .activity-photo {
        width: 100%;
    }

    /* 説明文の枠 */
    .activity-explain {
        background-color: #F7F2ED;
        position: absolute;
        left: 0;
        top: 280px;
        margin: 0 40px 0 40px;
        padding: 20px;
        box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);
    }

    /* 説明文の英語 */
    .activity-explain > span {
        color: #8B5E3C;
        font-weight: bold;
        font-size: 16px;
        margin: 0px;
    }

    /* 説明文の見出し */
    .activity-explain > h3 {
        font-size: 20px;
        margin: 5px 0 5px 0;
    }

    /* 説明文 */
    .activity-explain > p {
        font-size: 14px;
        margin: 0;
    }

    /* もっと見るボタン */
    #activity-more {
        /*margin: 0 auto -42px auto;*/
        justify-content: flex-end; /* コンテナ内の要素を右寄せ */
    }
    #activity-main {
        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;
    }

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

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

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

    .activity-section {
        margin: 50px 0px;
        padding: 0px 2rem;
    }

    .activity-odd {
        background-color: #EFE5DC;
    }
    .activity-odd .activity-exp > p,.activity-odd .activity-exp > div > h3 {
        color:#5D4037;
    }
    .activity-section > .activity-lead {
        width: 100%;
    }

    .activity-section > div {
        /*padding:10px;
        background-color: #EFE5DC;
        */
    }

    div.activity-exp {
        align-self: center;  
    }

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

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

    .activity-type1 > div > img {
        width: 350px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
    }
    
    .activity-type1 > div.activity-img-area {
        /*width: 400px;*/
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
        position: relative;
    }
    .activity-type1 > div.activity-img2 {
        width: 550px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
        position: relative;
    }
    .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-odd > .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;
    }
    /*タイプ３*/
    .activity-type3 {
        padding: 2rem 0;
    }
    .activity-type3 > div.activity-img-area {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    .activity-type3 > div.activity-img-area > div {
        display: flex1;        
    }
    .activity-type3 > div.activity-img3 > div {
        width:30%;
    }
    .activity-type3 > div.activity-img3 > div > img {
        width: 350px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
    }
    
    .activity-section1 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;

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

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

    .activity-section1 > img {
        position: absolute;
        top: 0;
        left: 0;
        width: 450px;
        margin: 0 40px 30px 0;
        border-radius: 0 432px 0 0;
    }

    .activity-section1 > div {
        position: absolute;
        top: 0;
        left: 480px;
    }
*/
    /*セクション２*/
/*
    .activity-section2 {
        position: relative;
        margin: 50px 20px;
        height: 340px;
    }
*/
/*
    .activity-section2 > img {
        position: absolute;
        top: 0;
        right: 0;
        width: 450px;
        margin: 0 0 30px 40px;
        border-radius: 432px 0 0 0;
    }
*/
/*
    .activity-section2 > div {
        width: 500px;
        position: absolute;
        top: 0;
        left: 0;
    }
*/
    .activity-section2 {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin: 50px 20px;
    }

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

    .activity-section2 > div > img {
        width: 450px;
        max-width: 100%; /* 画面サイズに応じて画像が収まるように */
        height: auto; /* 画像のアスペクト比を維持 */
        flex-shrink: 0;
    }
    
    .activity-h2 {
        color: #8B5E3C;
        font-size: 24px;
        margin: 0;
    }

    .activity-h3 {
        font-size: 28px;
        margin: 0;
    }
    
    .activity-section3 {
        height: 250px;
    }

    .activity-exp {
        /*align-self: center; */
    }
    .activity-exp > p{
        font-size:1.2rem;
        line-height: 1.7;
        color: #111;
    }

    .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); /* 画像を少し傾ける */
    }    
    .caption {
        padding: 10px 0 5px 0;
        font-size: 14px;
        color: #555;
    }
    .section-break {
        display: none;
    }
}

/*====================
 スマートフォン用のスタイル
=====================*/
@media screen and (max-width: 767px) {
    /* ヘッダー */
    header {
        height: 48px;
    }
    body > div > div {
        padding-left:15px;
        padding-right:15px;
    }
    /* メインビジュアル */
    #main-visual {
        position: relative;
        height: 200px;
        width: 100%;
        overflow: hidden;
    }
    #main-visual > div {

        position: absolute;
        top: 20%;
        left: 0;
        
        background-color: #8B5E3C;
        color: white;
        /*border-radius: 0 0 476px 0;*/
        text-align: center;
        height: 120px;
        width: 100%;
        opacity: 0.9;
        z-index: 11;     
    }
    #main-visual > div > h1 {
        font-size: 18px;
        /*margin: 90px 0 0 0;*/
    }

    #main-visual > div > p {
        margin: 0;
    }

    #main-visual > img {
        width: 100%;
        height: 200px
        /*border-radius: 476px 0 0 0;*/
/*
        z-index: 10;
        position: absolute;
        top: 0;
        left: 0;
*/
    }

    /*見出し*/
    /*
    h2::after {
        content: url("images/line.png");
        margin-left: 10px;
    }
*/
    h3 {
        font-size: 24px;
        margin: 10px 0 0 0;
    }

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

    #mission-photo {
        width: 100%;
    }

    #s2dgs {
        width: 100%;
    }

    /* プロダクト */
    #activity {
        background-color: #EFE5DC;
        padding-top: 10px;
    }

    #activity h2 {
        margin-left: 20px;
    }
    /* 外枠 */
    /* 左右のカラム　スマホでは縦並び */
    #activity-left,
    #activity-right {
        margin-right: 20px;
        margin-left: 20px;
    }

    /* 写真＋説明の枠 */
    #activity-left > div,
    #activity-right > div {
        position: relative;
        height: 540px;
    }

    /* 説明文の枠 */
    .activity-explain {
        background-color: #F7F2ED;
        position: absolute;
        left: 0;
        bottom: 50px;
        padding: 20px;
        box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);
    }

    .activity-explain > span {
        color: #8B5E3C;
        font-weight: bold;
        font-size: 16px;
        margin: 0px;
    }

    .activity-explain > h3 {
        margin: 10px 0 10px 0;
    }

    /* 写真*/
    .activity-photo {
        width: 100%;
    }

    #activity-more > img {
        margin: 0 0 -42px 20px;
    }

    /* プロダクトページ */
    #activity-main {
        height: 140px;
        width: 100%;
        text-align: center;
        border-bottom: 1px solid #ddd;
    }

    #activity-title {
        /*background-color: #8B5E3C;*/
        color: #444444;
        /*height: 296px;*/
        /*border-radius: 0 248px 248px 0;*/
        position: relative;
        letter-spacing: 01em;
    }
    #activity-title > h1 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    #activity-title > span {
        font-size: 1.5rem;
        letter-spacing: 0.3em;
    }

    #activity-title > div {
        position: absolute;
        top: 180px;
        left: 20px;
        font-size: 13px;
    }
    .activity-section {
        margin: 1rem 1rem;
    }

    .activity-section1 {
        margin: 20px;
    }

    .activity-img-area {
        width: 100%;
        display: block;
    }
    .activity-img-area img{
        /*width: 90%;*/
    }
    .activity-section1 > div > img {
        width: 100%;
        /*border-radius: 0 300px 0 0;*/
    }
    .activity-exp {
        padding: 0 15px;
    }
    .activity-section1 > div.activity-exp {
    }

    .activity-section2 {
        margin: 20px;
    }

    .activity-section2 > div > img {
        order: 1;
        width: 100%;
        /*border-radius: 300px 0 0 0;*/
    }

    .activity-section2 > div.activity-exp {
        order: 2;
    }
    .activity-type2 {
        display: flex;
        flex-direction: column;
    }
    .activity-type2 > div.activity-img-area {
        order: 2;
    }
    .activity-type2 > div.activity-exp  {
        order: 1;
    }
    .activity-type3 {
        /*width: 95%;*/
        margin: 0 auto;
    }
    .activity-h2 {
        color: #8B5E3C;
        font-size: 24px;
        /* width: 250px; */
        margin: 0;
    }

    .activity-h3 {
        font-size: 1.3rem;
        margin: 0;
    }
    .activity-img-area {
        width:90%;
        margin: 0 auto;
    }


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


    .activity-img2 {
        width: 100%; /* ポラロイドの幅 */
        padding: 0;
        margin: 0;
        display: block;
        text-align: center;
        font-family: 'Arial', sans-serif;
    }
    .activity-img3 {
        width: 100%;
        text-align: center;
        display: block;
        margin:0 auto;
        /*padding: 0 10px;*/
    }
    img.polaroid {
        width: 90%; /* ポラロイドの幅 */
        padding: 10px;
        background: rgb(255, 255, 255);
        box-shadow: 5px 5px 15px rgba(0,0,0,0.3);
        margin: 10px;
        display: block;
        text-align: center;
    }


    img {
        max-width: 100%;
        height: auto;
        display: block;
    }    

    #sns-footer {
        text-align: center;
        width: 100%;
    }
    .section-break {
        margin-top: 30px;
        margin-bottom: 20px;
        border-width: 0 0 8px;
        border-style: solid;
        border-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 1"><circle fill="hsla(30, 23%, 85%, 1.0)" cx="1" cy="0.5" r="0.5"/></svg>') 0 0 100% repeat;
        width: 90%;
    }

}
