/* =========================================================
   リセットCSSと基本設定
   ========================================================= */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    /* フォント：MS Pゴシック、サイズ拡大 */
    font-family: "MS PGothic", "MS Pゴシック", "Osaka", "Arial", sans-serif;
    font-size: 18px; 
    color: #333;
    height: 100vh;
    overflow: hidden;
}

/* =========================================================
   レイアウト（左メニュー・右コンテンツ）
   ========================================================= */
.container {
    display: flex;
    height: 100%;
}

/* --- 左サイドメニュー（青系） --- */
.sidebar {
    width: 220px;
    background-color: #f0f0ff;
    padding: 20px 10px;
    border-right: 2px solid #ccc;
    overflow-y: auto;
    flex-shrink: 0;
}

.sidebar ul {
    list-style: none;
    padding: 0;
}

.sidebar li {
    margin-bottom: 25px;
}

.sidebar a {
    text-decoration: none;
    color: #0000cc;
    font-size: 18px;
    display: block;
    padding-left: 20px;
    position: relative;
}

.sidebar a::before {
    content: "●";
    color: #00ff00;
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 14px;
}

.sidebar a:hover {
    text-decoration: underline;
    color: #ff0000;
}

/* --- 右メインコンテンツ（背景文字あり） --- */
.main-content {
    flex: 1;
    padding: 20px 40px;
    overflow-y: auto;
    
    /* 背景：MARU Mori (Times New Roman / Italic) */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='100'%3E%3Ctext x='50%25' y='50%25' font-family='Times New Roman, Times, serif' font-style='italic' font-size='36' fill='%23b2e0b2' opacity='0.5' text-anchor='middle' dominant-baseline='middle' transform='rotate(0)'%3E MARU Mori %3C/text%3E%3C/svg%3E");
    
    background-color: #fff;
    background-repeat: repeat;
    background-attachment: local;
}

/* =========================================================
   メインコンテンツの中身
   ========================================================= */

.main-header {
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
    color: #666;
}

.page-title {
    font-size: 36px;
    text-align: center;
    margin: 10px 0 40px 0;
    font-weight: bold;
}

.separator {
    border: 0;
    border-top: 2px solid #999;
    margin: 40px 0;
}

/* --- 地図とプロフィールのエリア --- */
.profile-section {
    display: flex;
    gap: 30px;
    margin-bottom: 50px;
    align-items: flex-start;
}

.profile-img {
    width: 400px;
    height: 400px;
    flex-shrink: 0;
    border: 1px solid #999;
    background: #eee;
}

.profile-text {
    flex: 1;
    /* ★透明度を50%に調整★ */
    background-color: rgba(255, 255, 255, 0.5);
    padding: 20px;
    border-radius: 5px;
    font-size: 20px;
    line-height: 1.8;
}

/* --- 本文エリアのデザイン --- */
.content-text, .faq-area {
    /* ★透明度を50%に調整★ */
    background-color: rgba(255, 255, 255, 0.5);
    padding: 25px;
    border-radius: 8px;
    margin-bottom: 40px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    font-size: 20px;
    line-height: 1.8;
}

/* 見出しのデザイン */
h2 {
    font-size: 26px;
    border-left: 10px solid #28a745;
    padding-left: 15px;
    margin-top: 0;
    margin-bottom: 25px;
    /* ★透明度を50%に調整★ */
    background-color: rgba(255, 255, 255, 0.5);
}

/* --- 強調（太字・ピンク） --- */
huto {
    font-weight: bold;
    color: #d63384;
    font-size: 1.1em;
}

/* --- 補足（細字・グレー・小さめ） --- */
hoso {
    font-weight: normal; /* 「細」なので太字を解除 */
    color: #666666;      /* 控えめなグレー */
    font-size: 0.75em;   /* 小さすぎず、補足っぽいサイズ */
    margin-left: 3px;
}

/* =========================================================
   アコーディオン（詳細を開くやつ）
   ========================================================= */
details {
    border: 1px solid #ddd;
    border-radius: 8px;
    margin: 25px 0;
    /* ★全体の背景も50%★ */
    background-color: rgba(255, 255, 255, 0.5);
    overflow: hidden;
}

details summary {
    list-style: none;
    cursor: pointer;
    font-weight: bold;
    color: #0056b3;
    outline: none;
    padding: 18px;
    margin: 0;
    /* summary部分は少し濃くしておくと見やすいです */
    background-color: rgba(249, 249, 249, 0.5);
    font-size: 22px;
}

details[open] summary {
    background-color: rgba(230, 255, 230, 0.5);
}

details summary::-webkit-details-marker {
    display: none;
}

.smooth-details .details-content {
    opacity: 0;
    max-height: 0;
    padding: 0 18px;
    margin: 0;
    overflow: hidden;
    transition: all 0.4s ease-out;
}

.smooth-details[open] .details-content {
    opacity: 1;
    max-height: 1000px;
    padding: 18px;
    border-top: 1px solid rgba(0,0,0,0.1);
    font-size: 20px;
}

/* フッター */
footer {
    text-align: center;
    font-size: 14px;
    color: #666;
    margin-top: 60px;
    padding-bottom: 40px;
}