@charset "utf-8";
    body { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; margin: 0; padding: 0; background: #faf6f1; color: #333; }
    header { background: url("https://www.transparenttextures.com/patterns/old-wall.png"); color: #fff; text-align: center; padding: 2rem; background-color: #8b0000; }
    header h1 { margin: 0; font-size: 2rem; letter-spacing: 0.2em; }
    header p { margin: 0.5rem 0 0; }

    /* ナビゲーション */
    nav { background: #b22222; }
    .nav-container { display: flex; justify-content: space-between; align-items: center; max-width: 1000px; margin: auto; padding: 0.5rem 1rem; }
    .menu { display: flex; gap: 1rem; }
    .menu a { color: #fff; text-decoration: none; padding: 0.5rem; transition: 0.3s; }
    .menu a:hover { background: #fff; color: #b22222; border-radius: 4px; }
    .hamburger { display: none; font-size: 1.5rem; cursor: pointer; color: #fff; }

    @media (max-width: 768px) {
      .menu { display: none; flex-direction: column; background: #b22222; position: absolute; top: 60px; right: 0; width: 200px; }
      .menu.show { display: flex; }
      .hamburger { display: block; }
    }

    main { padding: 2rem; max-width: 1000px; margin: auto; }
    section { margin-bottom: 3rem; }
    h2 { border-bottom: 2px solid #b22222; padding-bottom: 0.3rem; margin-bottom: 1rem; }

    footer { background: #333; color: #fff; text-align: center; padding: 1rem; margin-top: 2rem; }

    /* ギャラリー */
    .gallery { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
    .gallery img { width: 45%; border-radius: 8px; cursor: pointer; transition: 0.3s; }
    .gallery img:hover { opacity: 0.7; }
    /* ライトボックス */
    .lightbox { display: none; position: fixed; z-index: 1000; padding-top: 60px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background: rgba(0,0,0,0.9); }
    .lightbox img { margin: auto; display: block; max-width: 90%; max-height: 80%; }
    .close { position: absolute; top: 20px; right: 35px; color: #fff; font-size: 40px; cursor: pointer; }

    /* カレンダー */
    table.calendar {
    	 border-collapse: collapse;
    	 width: 100%;
    	 /*text-align: center;*/
    	 background: #fff;
    	 margin-bottom: 2rem;
    }
    table.calendar th, table.calendar td { border: 1px solid #ccc; padding: 0.5rem; }
    table.calendar th { background: #b22222; color: #fff; }
    table.calendar td.event { background: #ffe4e1; font-weight: bold; }
    table.calendar td.c{
    	text-align: center;
    }
    /*アクセス*/
    iframe.iframe_map{
    	width:800px;
    	width:95%;
    	height:600px;
    }
    @media (max-width: 850px) {
	    iframe.iframe_map{
	    	height:400px;
	    }
    @media (max-width: 600px) {
    	.gallery img {
    		 width: 90%;
    	}
    	
	}
