/**
 * カスタムCSS
 * 共通スタイル（ヘッダー、フッターなど）
 */

/* ========================================
   CSS変数の定義
   ======================================== */
:root {
    --color_accent: #0066cc; /* アクセントカラー（必要に応じて変更可能） */
}

/* ========================================
   ヘッダー
   ======================================== */
.site-header {
    position: relative;
    width: 100%;
    background-color: #ffffff;
}

.site-header__container {
    position: relative;
    width: 100%;
}

/* akiya-lab-logo.png */
.site-header__logo {
    position: absolute;
    top: 45.75px;
    left: 473px;
}

.site-header__logo-img {
    width: 420px;
    height: 64.69630432128906px;
    display: block;
    opacity: 1;
}

.site-header__logo a {
    display: block;
    text-decoration: none;
}

/* santo-logo.png */
.site-header__provider {
    position: absolute;
    top: 137px;
    left: 613px;
}

.site-header__santo-logo {
    width: 139.99990844726562px;
    height: 47.39442443847656px;
    display: block;
    opacity: 1;
}

/* Operating Company Text - PC Only */
.site-header__operating-text {
    position: absolute;
    top: 208px;
    left: 539px;
    width: 288px;
    height: 18px;
    font-family: 'Jost', sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    opacity: 1;
    margin: 0;
    padding: 0;
    display: none; /* デフォルトで非表示 */
}

/* PC表示のみ（403px以上） */
@media (min-width: 403px) {
    .site-header__operating-text {
        display: block;
    }
}

/* ========================================
   タブレット対応 - 1024px以下
   ======================================== */
@media (max-width: 1024px) {
    .site-header__logo,
    .site-header__provider {
        left: 50%;
        transform: translateX(-50%);
    }
}

/* ========================================
   レスポンシブ対応 - モバイル（402px以下）
   ======================================== */
@media (max-width: 402px) {
    .site-header {
        position: relative;
        width: 100%;
        background-color: #ffffff;
    }
    
    .site-header__container {
        position: relative;
        width: 100%;
    }
    
    /* akiya-lab-logo-sp.png - 1から明示的に設定 */
    .site-header__logo {
        position: absolute;
        top: 21.2px;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .site-header__logo-img {
        width: 220px;
        height: 33.69px;
        display: block;
        opacity: 1;
        transform: rotate(0deg);
    }
    
    .site-header__logo a {
        display: block;
        text-decoration: none;
    }
    
    /* santo-logo-sp.png - 1から明示的に設定 */
    .site-header__provider {
        position: absolute;
        top: 74.28px;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .site-header__santo-logo {
        width: 100px;
        height: 30.795974731445312px;
        display: block;
        opacity: 1;
        transform: rotate(0deg);
    }
    
    /* Operating Company Text - モバイルでは非表示 */
    .site-header__operating-text {
        display: none;
    }
}

/* ========================================
   プライバシーポリシーページ
   ======================================== */

.privacy-page {
    width: 100%;
    background-color: #ffffff;
    margin-bottom: 0; /* フッターとの余白を削除 */
    padding-bottom: 0; /* 下部の余白を削除 */
}

.privacy-page__container {
    max-width: 800px;
    margin: 0 auto;
    padding: 250px 20px 0; /* 下部の余白を削除 */
}

.privacy-page .content {
    margin: 0;
    padding: 0;
    line-height: 1.8;
}

.privacy-page .content h3 {
    color: var(--color_accent);
    font-size: 22px;
    margin: 0 0 1em;
    padding: 0;
    line-height: 1.8;
}

.privacy-page .content p {
    margin: 0 0 1em;
    padding: 0;
    line-height: 1.8;
}

.privacy-page .content .privacy_content {
    margin: 0 0 1em;
    padding: 0;
    line-height: 1.8;
}

.privacy-page .content ul {
    margin: 0 0 1em;
    padding-left: 20px;
    line-height: 1.8;
}

.privacy-page .content ul li {
    margin: 0 0 0.5em;
    padding: 0;
    line-height: 1.8;
}

.privacy-page .content .align-right {
    text-align: right;
    margin-top: 2em;
}

.privacy-page .content a {
    color: var(--color_accent);
    text-decoration: underline;
}

.privacy-page .content a:hover {
    text-decoration: none;
}

/* ========================================
   レスポンシブ対応 - モバイル（402px以下）
   ======================================== */
@media (max-width: 402px) {
    /* プライバシーページのbodyのスタイルをリセット（front-page.cssの制限を無効化） */
    body.page-template-page-privacy,
    body.page-slug-privacy,
    body.page-template-page-privacy.page,
    body.page-slug-privacy.page,
    body.is-privacy-page,
    body.is-privacy-page.page,
    body.page-slug-cookie-policy,
    body.page-slug-cookie-policy.page,
    body.is-cookie-policy,
    body.is-cookie-policy.page {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }
    
    /* プライバシーページのmainタグで横スクロールを防止 */
    body.page-template-page-privacy main,
    body.page-slug-privacy main,
    body.page-template-page-privacy.page main,
    body.page-slug-privacy.page main,
    body.is-privacy-page main,
    body.is-privacy-page.page main,
    body.page-slug-cookie-policy main,
    body.page-slug-cookie-policy.page main,
    body.is-cookie-policy main,
    body.is-cookie-policy.page main {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    /* プライバシーページ内の要素で幅が広がる要素を無効化 */
    body.page-template-page-privacy .top__section-10,
    body.page-slug-privacy .top__section-10,
    body.page-template-page-privacy.page .top__section-10,
    body.page-slug-privacy.page .top__section-10 {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        left: auto;
    }
    
    .privacy-page {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .privacy-page__container {
        padding: 170px 15px 0; /* 下部の余白を削除 */
        max-width: 100%; /* SP表示では画面幅いっぱいに */
        width: 100%;
        box-sizing: border-box;
    }
    
    .privacy-page .content {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        word-wrap: break-word;
    }
    
    .privacy-page .content h3 {
        font-size: 18px;
    }
    
    /* プライバシーページのフッターを通常のフローに配置（front-page.cssのabsolute位置指定を無効化） */
    body.page-template-page-privacy .site-footer.top__section-11,
    body.page-slug-privacy .site-footer.top__section-11,
    body.page-template-page-privacy.page .site-footer.top__section-11,
    body.page-slug-privacy.page .site-footer.top__section-11 {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}
