﻿@charset "UTF-8";
/* ====================================================
　メッセージページ（messagePage）
　中央寄せの見出し＋本文＋ボタンのみで構成される簡易ページ共通部品。
　404等のエラーページと、お問い合わせ完了画面（/contact/thanks/）で共用する。
==================================================== */

/* ----- messagePage ----- */
.messagePage{ background: var(--color-white); }
@media print, screen and (min-width: 768px){
    /* privacyPolicyセクションの上下余白比率を踏襲（下層ページ本文の余白基準） */
    .messagePage{ padding-top: 6em; padding-bottom: 12.5em; }
}
@media screen and (max-width: 767px){
    .messagePage{ padding-top: 12.8205vw; padding-bottom: 6.1538vw; }
}

/* messagePage__inner（中央寄せの狭コンテナ）
---------------------------------------------------- */
.messagePage__inner{
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--container-pad-sp);
    padding-left: var(--container-pad-sp);
    text-align: center;
}
@media print, screen and (min-width: 768px){
    .messagePage__inner{ padding-right: var(--container-pad-pc); padding-left: var(--container-pad-pc); }
}

/* messagePage__heading
---------------------------------------------------- */
.messagePage__heading{
    font-family: var(--font-serif);
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-text);
}
@media print, screen and (min-width: 768px){
    /* privacyPolicy__titleと同じ1500px基準クランプ */
    .messagePage__heading{ font-size: 3rem; letter-spacing: 0.01em; }
}
@media screen and (max-width: 767px){
    /* SPは中央揃えだと1文字だけ改行される等バランスが悪いため左揃えにする
       （ボタンは.messagePage__inner側のtext-align:centerのまま中央に残す） */
    .messagePage__heading{ font-size: 5.641vw; letter-spacing: 0.01em; text-align: left; }
}

/* messagePage__text
---------------------------------------------------- */
.messagePage__text{ color: var(--color-text); }
@media print, screen and (min-width: 768px){
    .messagePage__text{ margin-top: 2.4375em; font-size: 1.5rem; line-height: 2; }
}
@media screen and (max-width: 767px){
    .messagePage__text{ margin-top: 9.7436vw; font-size: 3.8462vw; line-height: 1.8667; text-align: left; }
}

/* messagePage__action
---------------------------------------------------- */
@media print, screen and (min-width: 768px){
    .messagePage__action{ margin-top: 3.75em; }
}
@media screen and (max-width: 767px){
    .messagePage__action{ margin-top: 10.2564vw; }
}

/* messagePage__homeBtn（header__ctaBtn / footer__ctaFormBtnと同系統の共通ボタン意匠）
---------------------------------------------------- */
.messagePage__homeBtn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: var(--color-primary);
    font-weight: 700;
    color: var(--color-white);
    transition: opacity var(--transition);
}
.messagePage__homeBtn:hover{ opacity: 0.8; }
@media print, screen and (min-width: 768px){
    /* messagePage__textと同じ1500px基準クランプ（15px目標） */
    .messagePage__homeBtn{ min-width: 240px; height: 56px; padding-right: 1.6667em; padding-left: 1.6667em; font-size: 1.5rem; }
}
@media screen and (max-width: 767px){
    .messagePage__homeBtn{ width: 100%; max-width: 320px; height: 12.8205vw; margin-right: auto; margin-left: auto; font-size: 3.8462vw; }
}

/* messagePage__subLink（補助導線。エラーページ・完了画面それぞれ独自の文言・リンク先を入れる）
---------------------------------------------------- */
.messagePage__subLink a{
    text-decoration: underline;
    text-underline-offset: 2px;
    color: var(--color-primary);
}
@media print, screen and (min-width: 768px){
    /* 1500px基準クランプ（14px目標） */
    .messagePage__subLink{ margin-top: 1.6667em; font-size: 1.4rem; }
}
@media screen and (max-width: 767px){
    .messagePage__subLink{ margin-top: 5.1282vw; font-size: 3.5897vw; }
}
