        body {
            margin: 0;
            padding: 0;
            font-family:  'Sawarabi Mincho', 'MS 明朝', sans-serif;
            background-color:#ffe0e0;
            color: black;
        }

        .background_video {
            position: fixed;    /* 画面に張り付ける */
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;  /* 画面いっぱいに切り抜き */
            z-index: -2;        /* 後ろに回す */
        }

        header {
            background: rgba(255, 255, 255, 0.6);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            padding: 10px 20px;
            margin-bottom: 40px;
            height: 480px;
        }
        header h1 {
            height: auto;
            width: 200px;
            margin: 0 0;
            text-align: left;
        }
        header h1 img {
            filter: saturate(200%);
        }
        .header_title{
            display: flex;
            width: 100%;
            flex-direction: row; 
            align-items: right;
            gap: 20px;
            justify-content: space-between;
        }
        header  h3 {
            text-align: right;
            width: 220px;
            height: auto;
            margin-top:-20px;
        }
        header h3 img{
            width: 100%;
        }

        header h2 {
            margin:-40px 0 0 20px;
            font-size: 1.4em;
            text-align: left;
        }
        header p {
            margin: 5px 0 20px 30px;
            font-size: 1.2em;
            text-align: left;
        }
        header h2, header p { 

            background: linear-gradient(to right, red, yellow); /* 赤→黄 */
            -webkit-background-clip: text;   /* テキストに背景をクリップ */
            background-clip: text;
            color: transparent;              /* 文字の塗りつぶしを透明に */
        }
        header h4{
            text-align: center;
            font-size: 1.5em;
            width: 160px;
            background:rgb(245,  53, 63);
            border-radius: 10px;
            padding: 10px;
            margin-top: 15px;
            margin-left: 30px;
            color: white;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        .headerWrap>a{
            text-decoration: none;
        }
        .headerWrap>a :hover{
            background-color:rgb(251, 234, 223);
            color: rgb(255, 14, 34);
        }
        .header_h1{order: 1;}
        .header_h3{order: 2;}
        header .headerWrap {
            margin-top: 90px;
        }
        header nav {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            text-decoration: none;
            font-size: 0.8em;
            z-index: 100;
        }
        .navList {
            list-style: none;
            padding: 10px 20px;
            margin: 0;
            width: 100%;
            display: flex;
            justify-content: flex-end;
            color: rgb(248, 246, 246);
            text-decoration: none;
        }
        .navList li {
            margin: 0 15px;
        }
        .navList li a {
            color: #0c0c0c;
            text-decoration: none;
            font-weight: bold;
        } 
        .navWrap {
            display: flex;
            position: relative;
            background-color: rgba(243, 182, 108, 0.5);
            opacity: 0;
            transition: opacity 0.5s ease-out;         
        }
        .navWrap.visible {
            opacity: 1;
            transition: opacity 0.5s ease-in;
        }
        header nav img {
            margin: 5px 0 0 10px;
            width: auto;
            height: 30px;
            vertical-align: left;
        }
        .navList li a:hover {
            text-decoration: underline double;
        }
        .innerWrap {
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
        }
        .dateWrap {
            display: flex;
        }
        .dateWrap img{
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            flex-basis: 735px;
        }
        .dateWrap div {
            flex-basis: 465px;
            padding-top: 100px;
        }
        .dateWrap p {
            width: 100%;
            padding:40px 154px;
            line-height: 1.2;
            font-size: 3.5em;
            margin: 0 auto;
            text-align: center;
            background-color: rgba(253, 199, 199, 0.2);
            border-radius: 10px;
            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
            backdrop-filter: blur(10px);          /* 背景をぼかす */
            -webkit-backdrop-filter: blur(10px);  /* Safari用 */
             mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
            -webkit-mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
            border: 1px solid rgba(255, 255, 255, 0.3); /* 薄い枠線でガラス感 */
            bottom: 0;
        }
        main .contents{
            overflow-x: hidden;
        }
        main  h2 {
            font-size: 2em;
            border-bottom: 2px solid black;
            padding-bottom: 10px;
            margin-bottom: 20px;
            text-align: center;
            letter-spacing: .05em;
        }
        main section {
            margin: top 40px;
            margin-bottom: 40px;
            background-color: rgba(255, 255, 255, 0.4);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            backdrop-filter: blur(10px);          /* 背景をぼかす */
            -webkit-backdrop-filter: blur(10px);  /* Safari用 */
            border: 1px solid rgba(255, 255, 255, 0.3); /* 薄い枠線でガラス感 */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        main section p {
            line-height: 1.6;
            margin-bottom: 15px;
            text-align: center;
        }
        main  section table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
            text-align: center;
        }
        main h3 {
            font-size: 1.5em;
            border-bottom: 2px dotted black;
            padding-bottom: 10px;
            margin-bottom: 20px;
            text-align: center;
            letter-spacing: .05em;
        }
        .information2 table tr {
            font-size: 1.0em;
            line-height: 1.4;
            border-top: black solid 1px;
            border-bottom:black solid 1px;
            padding-bottom: 20px;
        }
        .information2  {
            padding: 20px;
            background-color: #FFCCCC	;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        .information2 table{
            padding: 20px 40px;
            margin-bottom: 20px;
            width: 100%;
            margin: 0 auto;
            bottom: 0;
        }
        .information2 a{
            text-align: center;
            width : 20%;
            margin: 20px auto 0;
            display: block;
            background-color: #3b150a;
            color: white;
            text-decoration: none;
            padding: 5px 20px;
            border-radius: 20px;
            cursor: pointer;
            font-size: 1em;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        .information2 a:hover {
            background-color: rgb(248, 239, 226);
            color: #000000;
        }
        .word1 {
            font-size: 0.7em;
        }
        .word2 {
            font-size: 0.8em;
        }
        .Table p{
            padding: 20px auto;
        }
        .Table h3{
            padding: 20px auto 10px;
        }
        .table_item1{
            display: flex;
            justify-content:space-around;
        }
        .Table a .table_item{
            width: 220px;
            height: 100px;
            padding: 40px ;
            margin:  20px auto;
            background-color: #FFCCCC	;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            display: block;
        }
        .Table a .table_item h3{
            margin-top: 0;
            margin-bottom: 0;
        }
        .Table a .table_item p{
            margin-top: 0;
            padding: auto;
            font-size: 1.8em;
        }
        .Table a{
            text-decoration: none;
            color: #0c0c0c;
        }
        .Table a :hover{
            background-color: rgb(248, 239, 226);
        }
        .accessWrap{
            display: flex;
        }
        .accessWrap iframe{
            flex-grow: 1;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            margin-left: 20px;
        }
        #MAP{
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            text-align: center;

        }
        #MAP a{
            display: block;
            background-color: #FFCCCC;
            padding: 10px 30px;
            margin: 10px auto 0;
            border-radius: 10px;
            text-decoration:none;
            color:black;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        .mapa{
            width: 400px;
        }
        #MAP a:hover{
            background-color: rgb(248, 239, 226);
        }
         .map-container {
             position: relative;
             display: inline-block; /* canvasとリストを重ねるため */
            }

         #map {
             display: block;
             width: 100%;
             max-width: 800px;
             margin: 0 auto;
            }

        #floor {
             list-style: none;
             margin: 0;
             padding: 0;
             position: absolute;
             bottom: 10px; /* すみっこに寄せる */
             right: 10px;
            }

        #floor li {
            margin: 5px 0;
            }

        #floor a {
            display: block;
            background-color: #FFCCCC;
            color: black;
            padding: 8px 12px;
            border-radius: 12px;
            text-decoration: none;
            font-size: 1em;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            }

        #floor a:hover {
            background-color: rgb(248, 239, 226);
            }

        
        #PV p iframe{
            width: 100%;
            height: 50vh;
        }
        .hamburger {
        display: none; /* PCでは非表示 */
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 22px;
        cursor: pointer;
        position: absolute;  /* 親（navWrap）に対して絶対配置 */
        top: 10px;           /* 上から15px */
        right: 20px;         /* 右から20px */
        z-index: 200;        /* メニューより前面に出す */
        }
        .hamburger span {
        display: block;
        height: 3px;
        background: #333;
        border-radius: 2px;
        transition: 0.3s ease;
        }
        .detail{
            display: none;
            color: #0c0c0c;
            text-align: center;
        }
        .to_TOP{
            height: 70px;
            width: 70px;
            position: absolute;
            bottom: 20px;
            right: 20px;
            background-color:rgba(246, 224, 193, 0.7);
            text-align: center;
            border-radius:50% ;
            z-index: 9;
            text-decoration: underline none;
            position:fixed; 
            border: #0c0c0c solid 0.1em;
        }
        .to_TOP p {
            width: 70px;
            height: auto;
            text-align: center;
            font-size: 1.0em;
            background: linear-gradient(to right, rgb(255, 0, 0), rgb(255, 166, 0)); /* 赤→黄 */
            -webkit-background-clip: text;   /* テキストに背景をクリップ */
            background-clip: text;
            color: transparent;
            margin : 0;
            transform: translate(0%, 150%);
        }
        .contents>a :hover {
            background-color: rgba(255, 204, 204, 0.7) ;
        }
        footer {
            font-size: 0.9em;
            background-color:  rgba(243, 182, 108);
            color: black;
            text-align: center;
            padding: 5px 0;
            margin-top: 30px;
        }
        footer img{
            width: auto;
            height: 40px;
        }
        .footer-links{
            display: flex;
            margin-top: 10px;
        }
        footer a {
            text-decoration: none;
            color: #7c5106;
            margin-left: 20px;
            margin-right: 20px;
        }
        footer ul li{
            list-style: none;
        }
        footer a:hover{
            text-decoration: #4d1919 underline solid ;
            color: #4d1919;
        }
        .bg-gray-900 {
            display: flex;
            justify-content: space-around;
        }
        .tsurumaru_logo{
            border-radius: 50%;
            height: 42px;
        }
        @media screen and (max-width: 800px){
            header h1{
                margin-top: -20px;
            }
            header h3{
                margin-top: 90px;
                margin-right: -40px;
            }
            header h2 {
                margin-top: -170px;
                height: 200px;
            }
            header p {
                margin-top: -165px;
            }
            .hamburger {
            display: flex; /* スマホでは表示 */
            }
            .hamburger.active span:nth-child(1) {
                transform: rotate(45deg) translate(5px, 5px);
            }
            .hamburger.active span:nth-child(2) {
                opacity: 0; /* 真ん中の線を消す */
            }
            .hamburger.active span:nth-child(3) {
                transform: rotate(-45deg) translate(5px, -5px);
            }
            .navList {
                transform: translateY(-100%); /* 画面外に隠す */
                opacity: 0;                  /* 見えなくする */
                pointer-events: none;        /* 非表示中クリックできないように */
                transition: transform 0.3s ease, opacity 0.3s ease;
                flex-direction: column;     /* 縦並び */
                background: rgba(245, 212, 171, 0.80);
                position: absolute;
                top: 40px;
                right: 0;
                width: 100%;
                padding: 10px 0;
            }

            .navList.show {
                transform: translateY(0); /* 画面内に戻す */
                opacity: 1;
                pointer-events: auto;
            }
            .navList li {
                margin: 3vh 10px;
                padding-bottom: 3vh;
                border-bottom: 1px #3b150a solid;
            }
            .navList.show {
            right: 0; /* 画面内にスライド */
        }
            header nav{
                width: 100%;
                text-align: center;
                font-size: 1.0em;
            }
            #MAP a{
                display: block;
                margin:10px auto 0;
            }
        }
        @media screen and (max-width: 640px) {
            .header_title{
                display: fixed;
                flex-direction: column;
                text-align: center;
            }
            header h3{
                text-align: center;
                height:30vh;
                width: auto;
                margin: 0 auto 0;
            }
            header .headerWrap{
                margin-top: 13vh;
            }
            header h3 img{
                height: 30vh;
                width: auto;
            }
            header{
                height: 90vh;
                text-align: center;
            }
            header h1 {
                width: 100%;
                padding-top: 30px;
                text-align: center;
                margin-bottom: 30px;
            }
            header h1 img{
                width: 100%;
            }
            .header_h3{order: 1;}
            .header_h1{order: 2;}
            header h2 {
                text-align: center;
                font-size: 1.2em;
                margin: -20px 0 0 20px;
            }
            header p {
                text-align: center;
                font-size: 1em;
                margin: -150px 0 5px 20px;
            }
            .headerWrap a {
                text-align: center;
                margin:0,auto;
            }
            header h4{
                margin: 4vh auto;
            }
            .dateWrap{
                width: 100%;
            }
        .innerWrap {
                width: 90%;
                margin: 0 auto;
                padding: 10px;
            }
            .dateWrap img{
                width: 100%;
                height: auto;
                margin: 0 auto;
            }
            .dateWrap div {
                width: 100%;
                padding: 20px 0 0 0;
            }
            .dateWrap p {
                font-size: 2.5em;
                padding: 20px 40px;
            }
            main h2 {
                font-size: 1.5em;
            }
            main h3 {
                font-size: 1.2em;
            }
            main section {
                margin: top 20px;
                margin-bottom: 20px;
                padding: 10px;
            }
            main section p {
                font-size: 1em;
            }
            main section table {
                font-size: 0.8em;
            }
            .information2 table{
                padding: 10px 20px;
            }
            .information2 a{
                width : 50%;
                font-size: 0.8em;
            }
            .Table{
                padding: 20px;
            }
            .table_item1{
                display: inline;
            }
            #MAP a {
                width : 50%;
                font-size: 1em;
            }
            .accessWrap{
                flex-direction: column;
            }
            .accessWrap iframe{
                width: 100%;
                height: 50vw;
                margin: 20px auto 0 auto;
            }
            #PV p iframe {
                width: 100%;
                height: 30vh;
            }
            .footer-links a {
            display: block;       /* ブロック要素にして縦並びに */
            margin: 10px 0;       /* 上下に余白を追加 */
        }
        table {
            width: 95%; /* 横幅いっぱいに */
        }

        table {
            padding: 10px;
            font-size: 0.9em; /* 文字少し小さめ */
        }

        table th {
            display: block;           /* 日付と本文を縦積みに */
            border-bottom: none;
            padding: 5px 0;
        }
        table tr {
            display: block;
            margin-bottom: 15px;
            border-top:none;
            border-bottom: 1px solid #000000;
            padding-bottom: 15px;
        }
        .bg-gray-900{
            display: block;
        }
        .footer-links{
            padding: 0;
            margin-left: 10px;
            margin-right: 10px;
            justify-content: space-around;
        }
        .to_TOP p{
            transform: translate(0%, 80%);
        }

        }