html{/*通常年齢層向けCSS*/
    scroll-behavior: smooth;/*ナビゲーションボタンをスムーズに稼働*/
}
body{
    font-family: "Arial", "メイリオ";
    background-color: #EDE7E1;
    color: hsl(38, 40%, 20%);
    margin: 0;
    padding: 0;
}
.body p{
    color: #ffffff;
}
.body{
    background-color: #A80000;/*川越市イメージカラー*/
}
.body h2{
    color: #ffffff;
}
.headword h3{
    margin: 0 auto;
    text-align: center;
}
.headword p{
    padding: 20px 40px;
    text-align: center;
    font-size: larger;
}
.site_header{/*ヘッダーのコンテナ設定*/
    display: flex;
    justify-content: space-between;
    max-width: 1100px;
    height: 80px;
    background-color: #ffffff;
    margin: 0 auto;
    border-bottom: 1px solid #EDE7E1;
}
.title_logo{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 350px;
}
.title_logo h1{
    margin-left: 12px;
}
.title_logo a{
    text-decoration: none;
    color: #46371E;
    padding-left: 12px;
    font-family: Ro篠Std;
}
.title_logo img{
    width: auto;
    height: 60px;
    display: block;
}
.button_menu{/*ヘッダーのボタンとメニュー要素のコンテナ設定*/
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 65%;
    padding-right: 5px;
    padding-bottom: 5px;
}
.header_button{/*ヘッダーのボタン要素のコンテナ設定*/
    display: flex;
    justify-content: flex-end;
    width: 100%;
    gap: 10px;
    margin-top: 5px;
}
.header_button button{
    padding: 5px 13px;
    border: none;
    border-radius: 4px;
}
.header_button button:hover{
    background-color: #A80000;
}
.header_button_on{
    background-color: #A80000;
    font-size: medium;
    font-weight: bold;
}
.header_button_on a{
    color: #ffffff;
}
.header_button_off a{
    color: #46371E
}
.header_button a{
    text-decoration: none;
    font-size: medium;
}
.header_button a:hover{
    text-decoration: none;
    color: #ffffff;
}
.nav_content{/*ヘッダーのメニュー要素のコンテナ設定*/
    display: flex;
    justify-content: flex-end;
}
.nav_content a{
    text-decoration: none;
    color: #46371E;
    font-weight: bold;
}
.nav_content a:hover{
    color: #A80000;
    border-bottom: 2px solid #A80000;
}
.header_menu a{/*グローバルメニューのテキスト設定*/
    text-decoration: none;
    color: #46371E;
}
.header_menu a:hover{
    color: #A80000;
    border-bottom: 2px solid #A80000;
}
.slider1{/*スライダーの設定*/
    width: 100%;
    list-style: none;
    margin: 0 auto;
    padding: 0;
}
.slider1 img{
    width: 100%;
}
.slider2{/*スライダーの設定*/
    width: 100%;
    list-style: none;
    margin: auto;
    padding: 0;
}
.slider2 li{
    margin: 10px;
}
.slider2 img{
    max-width: 300px;
    margin: 0 auto;
}
.map-container{
    position: relative;
    width: 100%;
    max-width: 1100px;   /* 横幅制限（不要なら削除） */
    margin: 0 auto;
}
.map-container iframe{
    width: 100%;
    height: 500px;
    border: 0;
}
.map-list{
    display: flex;
    list-style: none;
    flex-direction: row;
    flex-wrap: wrap;
    margin: auto 0;
    padding: 10px;
}
.map-list li{
    padding: 0 10px;
}
.map-list li a{
    color: hsl(38, 40%, 20%);
}
.about_img p{
    font-size: small;
}
.topic-img{
    margin: 0;
}
.topic-img img{
    width: 100%;
    height: auto;
    border-radius: 8px;
}
.wrapper{
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.photo-title{
    display: block;
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: #666;
    text-align: center;
    width: 100%;
}
.good-point a{
    display: block;
    background: #f7efef;
    border-left: 6px solid #A80000;
    padding: 16px 20px;
    margin-bottom: 12px;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
}
.good-point a:hover{
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}
.bad-point a{
    display: block;
    background: #eaeaea;
    border-left: 6px solid #7d7d7d;
    padding: 16px 20px;
    margin-bottom: 12px;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
}
.bad-point a:hover{
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}
.circle-number{
    list-style: none;
    padding-left: 0;
    counter-reset: item;
}
.circle-number li{
    counter-increment: item;
    margin-bottom: 0.8em;
    padding-left: 2.2em;
    position: relative;
}
.circle-number li a{
    text-decoration: none;
    color: #ffffff; 
}
.circle-number li a:hover{
    text-decoration: underline;
    text-decoration-color: #ffffff;
    text-decoration-thickness: 2px;
    color: #ffffff;
}
.circle-number li::before{
    content: counter(item);
    position: absolute;
    left: 0;
    top: 0;
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    background-color: #ffffff;
    color: #A80000;
    font-size: 0.9em;
    line-height: 1.6em;
    text-align: center;
}
.link li a{
    text-decoration: none;
    color: #ffffff; 
}
.link li a:hover{
    text-decoration: underline;
    text-decoration-color: #ffffff;
    text-decoration-thickness: 2px;
    color: #ffffff;
}
.more{/*詳細ページ遷移ボタン設定*/
    max-width: 1100px;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-bottom: 10px;
    padding-right: 30px;
}
.more p{
    font-size: 1.2rem;
    padding-right: 15px;
    color: #ffffff;
}
.more2{/*詳細ページ遷移ボタン設定*/
    max-width: 1100px;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-bottom: 10px;
    padding-right: 30px;
}
.more2 p{
    font-size: 1.2rem;
    padding-right: 15px;
    color: #46371E;
}
.pagemore {/*遷移ボタン外枠*/
    height: 50px;
    width: 50px;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    z-index: 2;
}
.pagemore_arrow{/*遷移ボタン矢印*/
    height: 10px;
    width: 10px;
    border-top: 3px solid #A80000;
    border-right: 3px solid #A80000;
    transform: translateX(120%) rotate(45deg);
}
.pagetop{/*トップに戻るボタン外枠*/
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    z-index: 2;
}
.pagetop p{
    color: #46371E;
    transform: translateY(40%);
}
.pagetop_arrow{/*トップに戻るボタン矢印*/
    height: 10px;
    width: 10px;
    border-top: 3px solid #46371E;
    border-right: 3px solid #46371E;
    transform: translateX(140%) translateY(-65%) rotate(-45deg);
}
.mnt_disp{
    margin: 0 auto;
    text-align: center;
}
.mnt_disp p{
    padding: 20px 40px;
    font-size: larger;
}
.footer{/*フッター設定*/
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
    background-color: #A80000;
    color: #ffffff;
    padding-top: 10px;
    padding-bottom: 5px;
    font-size: small;
}
.footer logo{
    display: flex;
    justify-content: center;
}
.footer h3{
    font-size: medium;
}
.footer p{
    color: #ffffff;
}
.copyright{
    padding-top: 10px;
    font-size: small;
}

@media screen and (min-width: 1101px) {/*以下、PCサイズで設定条件を変更*/
    .drawer_hidden {/*ハンバーガーメニュー非表示*/
        display: none;
    }
    .header_menu{/*グローバルメニューのテキストの配置設定*/
        display: flex;
        justify-content: flex-end;
        width: 830px;
        list-style: none;
        gap: 30px;
        margin: 0;
        padding-right: 10px;
    }
    .body_size1{/*ボディーのコンテナ設定*/
        max-width: 1100px;
        margin: 0 auto;
        padding-bottom: 30px;
    }
    .body_size1 h2{
        text-align: center;
        padding-top: 30px;
    }
    .body_size1 h3{
        background-color: #A80000;
        color: #ffffff;
        padding-top: 10px;
        padding-bottom: 10px;
        text-align: center;
    }
    .body_size1 p{
        margin: 0 auto;
    }
    .image1{
        display: flex;
        justify-content: space-around;
        list-style-type: none;
    }
    .info{/*お知らせの設定*/
        max-width: 1100px;
        background-color: #ffffff;
        margin-bottom: 20px;
    }
    .info ul{
        list-style: none outside;
        margin: 0;
        padding: 0;
    }
    .info li{
        border-bottom: 1px solid #EDE7E1;
        margin-left: 30px;
        margin-right: 30px;
        padding-top: 25px;
        padding-bottom: 20px;
    }
    .info li a{
        display: flex;
        color: #46371E;
    }
    .info li a:hover{
        text-decoration: underline;
        text-decoration-color: #A80000;
        text-decoration-thickness: 2px;
        color: #A80000;
    }
    .date{/*お知らせの年月日*/
        margin: 0;
        min-width: 120px;
        padding-left: 30px;
    }
    .title{/*お知らせのタイトル*/
        margin: 0;
        width: 100%;
        padding-right: 30px;
    }
    .about_space1{/*画像と文章の配置設定*/
        margin-bottom: 5px;
        display: flex;
        justify-content: space-around;
        flex-direction: row-reverse;
        max-width: 1100px;
        margin: 0 auto;
    }
    .about_space2{
        margin-bottom: 5px;
        display: flex;
        max-width: 1100px;
        margin: 0 auto;
    }
    .about_space3{
        display: flex;
        justify-content: space-around;
        flex-direction: row-reverse;
        align-items: center;
        max-width: 1100px;
        margin: 0 auto;
    }
    .about_space4{
        display: flex;
        justify-content: space-around;
        align-items: center;
        max-width: 1100px;
        margin: 0 auto;
    }
    .about_info1{/*画面サイズで左右スペースを調整、微調整のため６パターンあり*/
        color: #ffffff;
        padding-left: 30px;
    }
    .about_info2{
        color: #ffffff;
        padding-right: 30px;
    }
    .about_info3{
        padding-left: 30px;
    }
    .about_info4{
        padding-right: 30px;
    }
    .about_info6{
        color: #46371E;
        width: 220px;
    }
    .about_img{
        text-align: center;
        width: 400px;
        height: auto;
    }
    .about_img p{
        padding-bottom: 30px;
    }
    .link{
        display: flex;
        justify-content: space-around;
        list-style-type: none;
    }
/*    .collections_img{
        text-align: center;
        width: 200px;
        height: auto;
    }
    .collections_title{
        text-align: center;
    }
    .longtext{
        width: 740px;
        margin: 0 auto;
        padding-top: 20px;
    }
    .event{
        display: flex;
        max-width: 1100px;
        margin: 0 auto;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .event_info{
        float: right;
        width: 850px;
        height: 250px;
        background-color: #ffffff;
        padding-left: 20px;
    }
    .event_info h4{
        max-width: 850px;
        text-align: left;
    }
    .event_info p{
        max-width: 850px;
        text-align: left;
    }
    .painters ul{
        max-width: 900px;
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        margin-left: auto;
        margin-right: auto;
    }
    .painters li{
        display: flex;
        width: 50%;
        padding: 10px 0;
    }*/
}

@media screen and (min-width: 801px) and (max-width: 1100px) {/*以下、タブレットサイズとPCサイズで設定条件を変更*/
    .drawer_hidden {
        display: none;
    }
    .header_menu{/*ナビゲーションのテキストの配置設定*/
        display: flex;
        justify-content: flex-end;
        width: 100%;
        list-style: none;
        gap: 30px;
        margin: 0;
        padding-right: 10px;
    }
    .body_size1{
        width: 100%;
        margin: 0 auto;
        padding-bottom: 30px;
        color: #46371E;
    }
    .body_size1 h2{
        text-align: center;
        padding-top: 30px;
    }
    .body_size1 h3{
        background-color: #A80000;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 20px;
    }
    .body_size1 h5{
        padding-left: 20px;
    }
    .body_size1 p{
        margin: 0 auto;
    }
    .body_image1{
        width: 100%;
        margin: 0 auto;
    }
    .image1{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        list-style-type: none;
    }
    .image1 li{
        margin-bottom: 30px;
    }
    .info{/*お知らせの設定*/
        max-width: 1100px;
        background-color: #ffffff;
        margin: 20px 30px;
    }
    .info ul{
        list-style: none outside;
        margin: 0;
        padding: 0;
    }
    .info li{
        text-decoration: none;
        border-bottom: 1px solid #EDE7E1;
        margin-left: 30px;
        margin-right: 30px;
        padding-top: 25px;
        padding-bottom: 20px;
    }
    .info li a{
        display: flex;
        color: #46371E;
    }
    .info li a:hover{
        text-decoration: underline;
        text-decoration-color: #A80000;
        text-decoration-thickness: 2px;
        color: #A80000;
    }
    .date{/*お知らせの年月日*/
        margin: 0;
        min-width: 120px;
        padding-left: 30px;
    }
    .title{/*お知らせのタイトル*/
        margin: 0;
        width: 100%;
        padding-right: 30px;
    }
    .about_space1{/*画像と文章の配置設定*/
        display: flex;
        flex-direction: row-reverse;
        max-width: 1100px;
        margin: 0 auto;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_space2{
        display: flex;
        max-width: 1100px;
        margin: 0 auto;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_space3{
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-around;
        align-items: center;
        max-width: 1100px;
        margin: 0 auto;
    }
    .about_space4{
        display: flex;
        justify-content: space-around;
        align-items: center;
        max-width: 1100px;
        margin: 0 auto;
    }
    .about_info1{/*画面サイズで左右スペースを調整、微調整のため６パターンあり*/
        color: #ffffff;
        padding-left: 30px;
    }
    .about_info2{
        color: #ffffff;
        padding-right: 30px;
    }
    .about_info3{
        padding-left: 30px;
    }
    .about_info4{
        padding-right: 30px;
    }
    .about_info5{
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info6{
        color: #46371E;
        width: 250px;
    }
    .about_img{/*画像と文章の配置設定*/
        text-align: center;
        width: 400px;
        height: auto;
    }
    .about_img p{
        padding-bottom: 30px;
    }
    .link{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        list-style-type: none;
    }
/*    .collections_img{
        text-align: center;
        width: 200px;
        height: auto;
    }
    .collections_title{
        text-align: center;
    }
    .longtext{
        width: 740px;
        margin: 0 auto;
        padding-top: 20px;
    }
    .event{
        display: flex;
        max-width: 1100px;
        margin: 0 auto;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .event_info{
        float: right;
        width: 850px;
        height: 250px;
        background-color: #ffffff;
        padding-left: 20px;
        padding-right: 20px;
    }
    .event_info h4{
        max-width: 850px;
        text-align: left;
    }
    .event_info p{
        max-width: 850px;
        text-align: left;
    }
    .painters ul{
        max-width: 900px;
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        margin-left: auto;
        margin-right: auto;
    }
    .painters li{
        display: flex;
        width: 50%;
        padding: 10px 0;
    }*/
}
    
@media screen and (max-width: 800px) {/*以下、モバイル画面サイズナビゲーションボタンの表示設定*/
    .drawer_hidden {
        display: none;
    }
    .drawer_open {
        display: flex;
        height: 30px;
        width: 30px;
        align-items: center;
        position: relative;
        z-index: 100;
        cursor: pointer;
    }
    .drawer_open span,
    .drawer_open span:before,
    .drawer_open span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background: #46371E;
        transition: 0.5s;
        position: absolute;
    }
    .drawer_open span:before {
        bottom: 8px;
    }
    .drawer_open span:after {
        top: 8px;
    }
    #drawer_input:checked ~ .drawer_open span {
        background: rgba(70, 55, 30, 0);
    }
    #drawer_input:checked ~ .drawer_open span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #drawer_input:checked ~ .drawer_open span::after {
        top: 0;
        transform: rotate(-45deg);
    }
    #drawer_input:checked ~ .nav_content {
        left: 0;
    }
    .nav_content{/*ナビゲーションのテキスト表示設定*/
        display: flex;

        width: 100%;
        height: 80px;
        position: fixed;
        top: 0;
        left: 100%;
        z-index: 99;
        background: #ffffff;
        transition: .5s;
    }
    .nav_content li{
        width: 100%;
        text-align: center;
        padding-top: 5px;
        padding-bottom: 5px;
    }
    .header_menu{/*ナビゲーションのテキストの配置設定*/
        display: flex;

        width: 100%;
        list-style: none;
        gap: 10px;
        margin: 0;
        padding-right: 10px;
    }
    .body_size1{/*コンテンツの外枠のサイズ設定*/
        width: 100%;
        margin: 0 auto;
    }
    .body_size1 h2{
        text-align: center;
        padding-top: 30px;
    }
    .body_size1 h3{
        background-color: #A80000;
        color: #ffffff;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 20px;
    }
    .body_size1 h5{
        padding-left: 20px;
    }
    .body_image1{
        width: 100%;
        margin: 0 auto;
    }
    .image1{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        list-style-type: none;
    }
    .image1 li{
        margin-bottom: 30px;
    }
    .info{/*お知らせの配置設定*/
        max-width: 800px;
        background-color: #ffffff;
        margin: 20px 20px;
    }
    .info ul{
        list-style: none outside;
        margin: 0;
        padding: 0;
    }
    .info li{
        text-decoration: none;
        border-bottom: 1px solid #EDE7E1;
        margin-left: 30px;
        margin-right: 30px;
        padding-top: 25px;
        padding-bottom: 20px;
    }
    .info li a{
        color: #46371E;
    }
    .info li a:hover{
        text-decoration: underline;
        text-decoration-color: #A80000;
        text-decoration-thickness: 2px;
        color: #A80000;
    }
    .date{/*お知らせの年月日*/
        margin: 0;
        min-width: 100px;
        padding-left: 30px;
    }
    .title{/*お知らせのタイトル*/
        margin: 0;
        max-width: 800px;
        padding-top: 10px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info1{/*画面サイズで左右スペースを調整、微調整のため６パターンあり*/
        color: #ffffff;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info2{
        color: #ffffff;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info3{
        color: #46371E;
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info4{
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info5{
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info6{
        padding-left: 30px;
        padding-right: 30px;
    }
    .about_info1 h3{
        text-align: center;
        padding-top: 20px;
    }
    .about_info2 h3{
        text-align: center;
        padding-top: 20px;
    }
    .about_img{/*複数画像とテキストの配置設定*/
        display: flex;
        text-align: center;
        width: 400px;
        height: auto;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 25px;
    }
    .about_img p{
        padding-bottom: 30px;
    }
    .link{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        list-style-type: none;
    }
/*  .collections_img{
        display: block;
        width: 200px;
        height: auto;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 25px;
    }
    .collections_title{
        padding-left: 30px;
    }
    .event{
        display: flex;
        max-width: 1100px;
        margin: 0 auto;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .event_info{
        float: right;
        width: 850px;
        height: 250px;
        background-color: #ffffff;
        padding-left: 20px;
        padding-right: 20px;
    }
    .event_info h4{
        max-width: 850px;
        text-align: left;
    }
    .event_info p{
        max-width: 850px;
        text-align: left;
    }
    .longtext{
        margin: 0 auto;
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 10px;
    }
    .painters ul{
        max-width: 400px;
        display: flex;
        flex-direction: column;
        list-style: none;
        margin-left: auto;
        margin-right: auto;
    }
    .painters li{
        display: flex;
        width: auto;
        padding: 10px 0;
    }*/
}

/*川越カード詳細説明ページ設定*/
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 16px;
}

.container h2{
    text-align: center;
}

.subtitle {
    text-align: center;
    font-size: 1rem;
}

.map-img {
  margin: 24px 0;
}

.map-img img {
  width: 100%;
  border-radius: 12px;
}

.map-img figcaption {
  font-size: 0.85rem;
  color: #555;
  margin-top: 6px;
  text-align: center;
}

.description p {
  margin-bottom: 16px;
}

.map-section {
  margin-top: 40px;
}

.map-section h3 {
  text-align: center;
  font-size: 1.4rem;
/**  border-left: 6px solid #A80000;    **/
  padding-left: 10px;
  margin-bottom: 16px;
}

.map-wrapper {
  position: relative;
  width: 100%;
  padding-top: 75%;
}

.map-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 12px;
}

.map-note {
  font-size: 0.9rem;
  color: #666;
  margin-top: 8px;
}