/*------------------------------------------------
* Version       : 1.1
* Template name : Flat
* Author        : CORAL
* Author URL    : https://www.coral.co.jp
-------------------------------------------------*/

/*------------------------------------------------
・基本レイアウト
・ヘッダー
・ナビゲーションメニュー (デスクトップ) 
・モバイルメニュー 
・ヘッダー配色テーマ
　白（デフォルト）青、黒、ペパーミント、透明を用意
・ヒーローセクション
・トップへ戻るボタン
・フッター
・テキスト
・スペース
・カスタムボタン
・ボックス
・QAアコーディオン
-------------------------------------------------*/


/* 基本的なリセット */
body, html {
    margin: 0;
    padding: 0;
    position: relative;
    height: 100%;
}


/* ===== 基本レイアウト ===== */
body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
    line-height:170%;
    color: #333333;
}

h1, h2, h3, h4, h5, h6 {
    /* font-familyはbodyから継承 */
	font-feature-settings: "palt";
    letter-spacing: 0.06em;
}

p {
	/* font-familyはbodyから継承 */
    line-height:155%;
	margin-bottom: 0.5rem;
}

.main-content {
    flex: 1;
}

/* トップページ以外のmain-contentにはヘッダー分の余白を設ける設定 */
body:not(.homepage) .main-content {
    padding-top: 0px;
}

/* サイト全体のリンクアンダーラインを消す */
a {
  text-decoration: none;
}

/* コンテナの左右調整 */
.container, .container-fluid {
  position: relative;
  padding: 0 30px;
}

/* sectionの上下サイズ */
.section-xs {
  padding: 50px 0;
}
.section-sm {
  padding: 70px 0;
}
.section, .section-md {
  padding: 100px 0;
}
.section-lg {
  padding: 160px 40px;
}
.section-xl {
  padding: 200px 40px;
}
.section-2xl {
  padding: 240px 0;
}

@media (max-width: 767.98px) {
  .section-xs {
    padding: 30px 0;
  }
  .section-sm {
    padding: 50px 0;
  }
  .section, .section-md {
    padding: 80px 0;
  }
  .section-lg {
    padding: 120px 0;
  }
  .section-xl {
    padding: 160px 0;
  }
  .section-2xl {
    padding: 180px 0;
  }
}

@media (max-width: 575.98px) {
  .section-xs {
    padding: 25px 0;
  }
  .section-sm {
    padding: 40px 0;
  }
  .section, .section-md {
    padding: 70px 0;
  }
  .section-lg {
    padding: 100px 0;
  }
  .section-xl {
    padding: 140px 0;
  }
  .section-2xl {
    padding: 160px 0;
  }
}


/* 線の設定 */
/* 線の色は「back-」等で追加設定で変更 */

.custom-line-1 {
  height: 1px ; /* 線の高さ（太さ） */
  margin: 1.1rem 0; /* 上下の余白 */
  background-color: #747E8B /* 線の色 */
}
.custom-line-2 {
  height: 2px; 
  margin: 1.1rem 0;
  background-color: #747E8B; 
}
.custom-line-3 {
  height: 3px; 
  margin: 1.1rem 0; 
  background-color: #747E8B; 
}
.custom-line-4 {
  height: 4px; 
  margin: 1.1rem 0; 
  background-color: #747E8B; 
}
.custom-line-5 {
  height: 5px; 
  margin: 1.1rem 0;
  background-color: #747E8B; 
}


/* ===== ヘッダー ===== */
.header {
    top: 0;
    z-index: 993;
    width: 100%;
    height: 70px; /* モバイルと高さを統一 */
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.header .container {
    display: flex;
    align-items: center;
    height: 100%;
}


/* ===== ナビゲーションメニュー (デスクトップ) ===== */
@media (min-width: 1200px) {
    .header .header-menu .nav .nav-item {
        margin: 0 0 0 5px; /* メニューとメニューのスペース幅 */
    }
    
    .header .header-menu .nav .nav-item .nav-link {
        position: relative;
        padding-bottom: 5px;
        letter-spacing: -0.2px;
        transition: color 0.3s ease;
        font-size: 1.1rem; /* 修正：文字サイズを大きく */
    }

    /* 下線のアニメーションを、プルダウンメニューでは出ないリンクにのみ適用する */
    .header .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle)::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        transition: width 0.3s ease;
    }
    
    .header .header-menu .nav .nav-item .nav-link.active {
        font-weight: 600;
    }

    .header .header-menu .nav .nav-item .dropdown-toggle {
        display: inline-flex; 
        align-items: center;
        gap: 0.3rem;
    }

    /* デフォルトの矢印をBootstrap Iconに変更 */
    .header .header-menu .nav .nav-item .dropdown-toggle::after {
        font-family: 'bootstrap-icons';
        content: "\f229"; /* bi-caret-down-fillのUnicode */
        border: none; /* Bootstrapのデフォルトの三角形を削除 */
        vertical-align: middle; /* テキストとの垂直位置を調整 */
        font-size: 0.8em; /* アイコンサイズを調整 */
    }

    /* ドロップダウンメニューのスタイル */
    .dropdown-menu {
        border-radius: 0.1rem; /* 変更：角丸をなくす */
        border: 1px solid #eee;
        box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1);
    }
    .dropdown-item {
        padding: 0.7rem 1.2rem; /* 上下の余白を広げました */
    }
    .dropdown-item:active {
        background-color: #e9ecef;
    }
}

/* ===== モバイルメニュー ===== */
.header-toggle {
    position: relative;
    width: 28px;
    height: 28px;
    margin-left: auto;
    cursor: pointer;
    z-index: 1000;
}

.header-toggle span,
.header-toggle span:before, 
.header-toggle span:after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    transition: all 0.2s ease-in-out;
}

.header-toggle span {
    top: 50%;
    transform: translateY(-50%);
}

.header-toggle span:before { content: ''; top: -7px; }
.header-toggle span:after { content: ''; bottom: -7px; }

.header-toggle.active span { background: transparent !important; }
.header-toggle.active span:before { top: 0; transform: rotate(-45deg); }
.header-toggle.active span:after { bottom: 0; transform: rotate(45deg); }


@media (max-width: 1199.98px) {
    .header-menu {
        position: fixed;
        top: 70px;
        left: -100%;
        background: white;
        width: 100%;
        max-width: 320px;
        height: calc(100vh - 70px);
        box-shadow: 0 10px 36px rgba(22, 25, 28, 0.1);
        padding: 20px;
        transition: left 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        overflow-y: auto;
    }

    .header-menu.show { left: 0; }
    
    .header-menu.menu-from-right {
        left: auto;
        right: -100%;
        transition: right 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .header-menu.menu-from-right.show { left: auto; right: 0; }

    .header-menu .nav { flex-direction: column; }
    .header-menu .nav .nav-item {
        width: 100%;
        padding: 12px 0;
        border-bottom: 1px solid #e2e6ea;
    }
    .header-menu .nav .nav-item:last-child { border-bottom: none; }
    .header-menu .nav .nav-link {
        font-size: 1.2rem; /* 修正：文字サイズを大きく */
    }
    .header-menu .nav .nav-link.active,
    .header-menu .nav .nav-link:hover { font-weight: 600; }
    
    /* モバイル用ドロップダウン */
    .header-menu .nav .dropdown-menu {
        list-style: none;
        padding: 10px 0 0 15px;
        border: none;
        box-shadow: none;
        background-color: #ffffff; /* 修正：背景を白に変更 */
    }
    .header-menu .nav .dropdown-item {
        padding: 12px 0 12px 15px; /* 修正：行間をあけ、左に余白を追加 */
        color: #121518; /* 変更：通常時を黒に */
        font-size: 1.1rem; /* 修正：文字サイズを調整 */
    }
    .header-menu .nav .dropdown-item:hover {
        color: #1B7BDE; /* 変更：ホバー時を青に */
    }
    .header-menu .nav .dropdown-item.active {
        font-weight: bold;
        color: #121518;
    }
    
    /* モバイル表示時の矢印をBootstrap Iconに変更 */
    .header-menu .nav .dropdown-toggle::after {
        font-family: 'bootstrap-icons';
        content: "\f229"; /* bi-caret-down-fillのUnicode */
        border: none;
        float: right;
        margin-top: 5px;
        transition: transform 0.2s ease-in-out;
    }
    .header-menu .nav .dropdown-toggle[aria-expanded="true"]::after {
        transform: rotate(180deg);
    }

    /* 追加：クリック時の青い枠線を削除 */
    .header-menu .nav .dropdown-toggle:focus {
        box-shadow: none;
    }
    /* 追加：クリック時の背景を白に固定 */
    .header-menu .nav .dropdown-toggle[aria-expanded="true"] {
        background-color: #ffffff;
    }
}


/* ===== ヘッダー配色テーマ ===== */

/* --- デフォルトテーマ (白) --- */
.header { 
    background-color: rgba(255, 255, 255, 0.85);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.header .header-logo a,
.header .header-menu .nav .nav-link { color: #121518; }
.header .header-toggle span,
.header .header-toggle span:before,
.header .header-toggle span:after { background: #121518; }
@media (min-width: 1200px) {
    .header:not(.header-dark):not(.header-blue):not(.header-mint):not(.header-transparent) .header-menu .nav .nav-link:hover {
        color: #1B7BDE; /* マウスオーバーの色設定 */
    }
    .header .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle).active::after,
    .header .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle):hover::after { background-color: #0d6efd; }
}
@media (max-width: 1199.98px) {
    .header .header-menu { background-color: #ffffff; }
    .header .header-menu .nav .nav-link { color: #121518; } /* 変更：通常時を黒に */
    .header .header-menu .nav .nav-link:hover { color: #1B7BDE; } /* 変更：ホバー時を青に */
    .header .header-menu .nav .nav-link.active { color: #121518; } /* 追加：アクティブ時は黒のまま */
}

/* --- 黒テーマ --- */
.header.header-dark { 
    background-color: rgba(18, 21, 24, 0.85); 
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.header.header-dark .header-logo a,
.header.header-dark .header-menu .nav .nav-link { color: #ffffff; }
.header.header-dark .header-toggle span,
.header.header-dark .header-toggle span:before,
.header.header-dark .header-toggle span:after { background: #ffffff; }
@media (min-width: 1200px) {
    .header.header-dark .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle).active::after,
    .header.header-dark .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle):hover::after { background-color: #ffffff; }
    .header.header-dark .dropdown-menu { background-color: #121518; border-color: #333; }
    .header.header-dark .dropdown-item { color: rgba(255,255,255,0.7); }
    .header.header-dark .dropdown-item:hover { background-color: #333; color: #fff; }
}
@media (max-width: 1199.98px) {
    .header.header-dark .header-menu { background-color: #121518; border-left: 1px solid #333; }
    .header.header-dark .header-menu .nav .nav-item { border-bottom-color: #333; }
    .header.header-dark .header-menu .nav .nav-link { color: rgba(255,255,255,0.7); }
    .header.header-dark .header-menu .nav .nav-link.active,
    .header.header-dark .header-menu .nav .nav-link:hover { color: #ffffff; }
    .header.header-dark .header-menu .nav .dropdown-item { color: rgba(255,255,255,0.7); }
    .header.header-dark .header-menu .nav .dropdown-item.active { color: #fff; }
}

/* --- 青テーマ --- */
.header.header-blue { 
    background-color: rgba(13, 110, 253, 0.85); 
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.header.header-blue .header-logo a,
.header.header-blue .header-menu .nav .nav-link { color: #ffffff; }
.header.header-blue .header-toggle span,
.header.header-blue .header-toggle span:before,
.header.header-blue .header-toggle span:after { background: #ffffff; }
@media (min-width: 1200px) {
    .header.header-blue .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle).active::after,
    .header.header-blue .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle):hover::after { background-color: #ffffff; }
    .header.header-blue .dropdown-menu { background-color: #0d6efd; border-color: #3d8bfd; }
    .header.header-blue .dropdown-item { color: rgba(255,255,255,0.8); }
    .header.header-blue .dropdown-item:hover { background-color: #3d8bfd; color: #fff; }
}
@media (max-width: 1199.98px) {
    .header.header-blue .header-menu { background-color: #0d6efd; border-left: 1px solid #3d8bfd; }
    .header.header-blue .header-menu .nav .nav-item { border-bottom-color: #3d8bfd; }
    .header.header-blue .header-menu .nav .nav-link { color: rgba(255,255,255,0.8); }
    .header.header-blue .header-menu .nav .nav-link.active,
    .header.header-blue .header-menu .nav .nav-link:hover { color: #ffffff; }
    .header.header-blue .header-menu .nav .dropdown-item { color: rgba(255,255,255,0.8); }
    .header.header-blue .header-menu .nav .dropdown-item.active { color: #fff; }
}

/* --- ペパーミントテーマ --- */
.header.header-mint { 
    background-color: rgba(162, 215, 196, 0.85); 
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.header.header-mint .header-logo a,
.header.header-mint .header-menu .nav .nav-link { color: #121518; }
.header.header-mint .header-toggle span,
.header.header-mint .header-toggle span:before,
.header.header-mint .header-toggle span:after { background: #121518; }
@media (min-width: 1200px) {
    .header.header-mint .header-menu .nav .nav-link:hover {
        color: #1B7BDE;
    }
    .header.header-mint .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle).active::after,
    .header.header-mint .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle):hover::after { background-color: #121518; }
    .header.header-mint .dropdown-menu { background-color: #a2d7c4; border-color: #b5e0d1; }
    .header.header-mint .dropdown-item { color: #333; }
    .header.header-mint .dropdown-item:hover { background-color: #b5e0d1; color: #121518; }
}
@media (max-width: 1199.98px) {
    .header.header-mint .header-menu { background-color: #a2d7c4; border-left: 1px solid #b5e0d1; }
    .header.header-mint .header-menu .nav .nav-item { border-bottom-color: #b5e0d1; }
    .header.header-mint .header-menu .nav .nav-link { color: #333; }
    .header.header-mint .header-menu .nav .nav-link.active,
    .header.header-mint .header-menu .nav .nav-link:hover { color: #121518; }
    .header.header-mint .header-menu .nav .dropdown-item { color: #333; }
    .header.header-mint .header-menu .nav .dropdown-item.active { color: #121518; }
}

/* --- 透明テーマ --- */
.header.header-transparent { 
    background-color: transparent; 
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
}
.header.header-transparent .header-logo a,
.header.header-transparent .header-menu .nav .nav-link { color: #ffffff; }
.header.header-transparent .header-toggle span,
.header.header-transparent .header-toggle span:before,
.header.header-transparent .header-toggle span:after { background: #ffffff; }
@media (min-width: 1200px) {
    .header.header-transparent .header-menu .nav .nav-link:hover {
        color: #1B7BDE;
    }
    .header.header-transparent .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle).active::after,
    .header.header-transparent .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle):hover::after { background-color: #ffffff; }
    .header.header-transparent .dropdown-menu { background-color: #ffffff; border-color: #eee; }
    .header.header-transparent .dropdown-item { color: #121518; }
    .header.header-transparent .dropdown-item:hover { background-color: #e9ecef; }
}
@media (max-width: 1199.98px) {
    .header.header-transparent .header-menu { background-color: #ffffff; border-left: none; }
    .header.header-transparent .header-menu .nav .nav-item { border-bottom-color: #e2e6ea; }
    .header.header-transparent .header-menu .nav .nav-link { color: #121518; } /* 変更：通常時を黒に */
    .header.header-transparent .header-menu .nav .nav-link:hover { color: #1B7BDE; } /* 変更：ホバー時を青に */
    .header.header-transparent .header-menu .nav .nav-link.active { color: #121518; } /* 追加：アクティブ時は黒のまま */
    .header.header-transparent .header-menu .nav .dropdown-item { color: #121518; } /* 変更：通常時を黒に */
    .header.header-transparent .header-menu .nav .dropdown-item:hover { color: #1B7BDE; } /* 変更：ホバー時を青に */
    .header.header-transparent .header-menu .nav .dropdown-item.active { color: #121518; } /* アクティブ時は黒のまま */
}

/* スクロール時のヘッダースタイル */
.header.scrolled {
    background-color: rgba(255, 255, 255, 0.85);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.header.scrolled .header-logo a,
.header.scrolled .header-menu .nav .nav-link { color: #121518; }
.header.scrolled .header-menu .nav .nav-link:hover { color: #1B7BDE; }
.header.scrolled .header-toggle span,
.header.scrolled .header-toggle span:before,
.header.scrolled .header-toggle span:after { background: #121518; }
.header.scrolled .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle).active::after,
.header.scrolled .header-menu .nav .nav-item .nav-link:not(.dropdown-toggle):hover::after { background-color: #0d6efd; }
.header.scrolled .dropdown-menu { background-color: #ffffff; border-color: #eee; }
.header.scrolled .dropdown-item { color: #121518; }
.header.scrolled .dropdown-item:hover { background-color: #e9ecef; }


/* ===== ヒーローセクション ===== */
.hero-section {
    height: 100vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden; /* はみ出した画像やオーバーレイを隠す */
}
.hero-background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* アスペクト比を保ったままセクションを埋める */
    z-index: -1; /* コンテンツの背面に配置 */
}
.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; /* 画像の上、コンテンツの下に配置 */
}
.hero-content {
    position: relative;
    z-index: 1; /* コンテンツを最前面に配置 */
    padding: 20px;
}
.text-white-08 {
    color: rgba(255,255,255,0.8);
}

/* ヒーローセクション オーバーレイ */
.hero-section.overlay-dark::before {
    background-color: rgba(18, 21, 24, 0.2); /* 0.2の数字大きほど暗くなります */
}
.hero-section.overlay-white::before {
    background-color: rgba(255, 255, 255, 0.2); /* 0.2の数字大きほど明るくなります */
}


/* ===== トップへ戻るボタン ===== */
.scrolltotop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 992;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.2s ease-out;
    text-decoration: none;
}

.scrolltotop.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scrolltotop.button-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: rgba(32, 36, 40, 0.85); /* 15%透過した黒に変更 */
    color: white;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    border: 2px solid rgba(255, 255, 255, 0.85); /* 白い枠線を15%透過 */
    box-sizing: border-box; /* 枠線がサイズに影響しないように調整 */
}

.scrolltotop.button-circle:hover {
    background-color: #181c20; /* ホバー時は不透明にする */
    color: white;
}

.scrolltotop.button-circle i {
    font-size: 1.5rem;
    line-height: 1;
}

/* ===== フッター  ===== */
.footer-top-area {
    background-color: #484C4F; /* 指定された色に変更 */
    color: rgba(255, 255, 255, 0.7);
}

.footer-bottom-area {
    background-color: #2E2F30; /* 指定された色に変更 */
}

.footer-logo {
    font-size: 1.5rem;
    color: #ffffff;
    font-weight: 600;
}

.footer-top-area h6 {
    color: #ffffff;
    margin-bottom: 1rem;
    font-size: 0.9rem;
    font-weight: 700;
}

/* フッターのリスト項目に共通のスタイルを適用 */
.footer-top-area .list-unstyled li {
    padding: 4px 0;
    font-size: 0.9rem;
    line-height: 1.6; /* 複数行になった場合の見栄えを調整 */
}

.footer-link {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
    display: inline-block;
    /* paddingは親のliに設定したため削除 */
}


.footer-link:hover {
    color: #ffffff;
}

.footer-social-icon {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.2rem;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.footer-social-icon:hover {
    color: #ffffff;
}

.footer-bottom-area p {
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
    font-size: 0.9rem;
}


/* ===== テキスト ===== */
/* 文字の色 */
.tx-aqua { color: #4FCFCF; }
.tx-blue { color: #3b82f6; }
.tx-orange { color: #FFB129; }
.tx-pink { color: #F598BF; }
.tx-purple { color: #9333ea; }
.tx-red { color: #ED2D37; }
.tx-gold { color: #C4B454; }
.tx-silver { color: #B6BBC2; }
.tx-turquoise { color: #00AFCC; }
.tx-blueberry { color: #7071CF; }
.tx-black { color: #0D1D2B; }
.tx-black-9 { color: #202327; }
.tx-black-8 { color: #353A40; }
.tx-black-7 { color: #4A5059; }
.tx-black-6 { color: #5F6772; }
.tx-black-5 { color: #747E8B; }
.tx-white { color: #FFFFFF; }
.tx-white-9 { color: #F2F2F2; }
.tx-white-8 { color: #E4E4E4; }
.tx-white-7 { color: #D7D7D7; }
.tx-white-6 { color: #CACACA; }
.tx-white-5 { color: #BDBDBD; }

/* 文字のサイズ */
.tx-08 { font-size: 0.8rem; }
.tx-08-5 { font-size: 0.85rem; }
.tx-09 { font-size: 0.9rem; }
.tx-09-5 { font-size: 0.95rem; }
.tx-1 { font-size: 1.0rem; }
.tx-1-2 { font-size: 1.2rem; }
.tx-1-5 { font-size: 1.5rem; }
.tx-1-8 { font-size: 1.8rem; }
.tx-2 { font-size: 2rem; }
.tx-2-3 { font-size: 2.3rem; }
.tx-2-6 { font-size: 2.6rem; }
.tx-3 { font-size: 3rem; }
.tx-3-5 { font-size: 3.5rem; }
.tx-4 { font-size: 4rem; }

@media (max-width: 991.98px){
	.tx-1 { font-size: 1rem; }
	.tx-1-2 { font-size: 1.2rem; }
	.tx-1-5 { font-size: 1.3rem; }
	.tx-1-8 { font-size: 1.3rem; }
	.tx-2 { font-size: 1.5rem; }
	.tx-2-3 { font-size: 2.0rem; }
	.tx-2-6 { font-size: 2.3rem; }
	.tx-3 { font-size: 2.6rem; }
	.tx-3-5 { font-size: 3.0rem; }
	.tx-4 { font-size: 3.5rem; }
}
@media (max-width: 575.98px){
	.tx-1 { font-size: 1rem; }
	.tx-1-2 { font-size: 1.2rem; }
	.tx-1-5 { font-size: 1.3rem; }
	.tx-1-8 { font-size: 1.3rem; }
	.tx-2 { font-size: 1.5rem; }
	.tx-2-3 { font-size: 2.0rem; }
	.tx-2-6 { font-size: 2.3rem; }
	.tx-3 { font-size: 2.6rem; }
	.tx-3-5 { font-size: 3.0rem; }
	.tx-4 { font-size: 3.5rem; }
}


/* ===== スペース ===== */
.space_0a {
    margin: 0 auto;
}
.space_-t2{
	margin-top:-2rem !important;
}
.space_-t3{
	margin-top:-3rem !important;
}
.space_-t5{
	margin-top:-5rem !important;
}
.space_t1{
	margin-top:1rem;
}
.space_t2{
	margin-top:2rem;
}
.space_t3{
	margin-top:3rem;
}
.space_t5{
	margin-top:5rem;
}
.space_t8{
	margin-top:8rem;
}
.space_b1{
	margin-bottom:1rem;
}
.space_b3{
	margin-bottom:3rem;
}
.pd-0 {
    padding: 0 !important;
}
.pt-100 {
    padding-top: 100px!important;
}
.pad-bt5{
	padding-bottom:5rem;
}


/* ===== カスタムボタン ===== */
.btn-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center; /* 修正：Flexアイテムとしての中央揃え */
    font-weight: 400;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    border-radius: 0.4rem; /* 少し角丸 */
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

/* ボタン角丸 */
.btn-round {
    border-radius: 2.0rem; /* すべて角丸 */
}

/* ボタンサイズ */
.btn-custom.btn-xs {
    padding: 0.35rem 0.7rem;
    font-size: 0.85rem;
}

.btn-custom.btn-sm {
    padding: 0.4rem 0.8rem;
    font-size: 0.95rem;
}

.btn-custom.btn-lg {
    padding: 0.55rem 1.0rem;
    font-size: 1.4rem;
}

.btn-custom.btn-xl {
    padding: 0.6rem 1.2rem;
    font-size: 1.8rem;
}

/* 通常ボタンの配色 */
.btn-aqua { color: #fff; background-color: #4FCFCF; border-color: #4FCFCF; }
.btn-aqua:hover { background-color: #55b8b8; border-color: #55b8b8; color: #fff; }
.btn-blue { color: #fff; background-color: #3b82f6; border-color: #3b82f6; }
.btn-blue:hover { background-color: #2563eb; border-color: #2563eb; color: #fff; }
.btn-orange { color: #fff; background-color: #FFB129; border-color: #FFB129; }
.btn-orange:hover { background-color: #f4a62a; border-color: #f4a62a; color: #fff; }
.btn-pink { color: #fff; background-color: #F598BF; border-color: #F598BF; }
.btn-pink:hover { background-color: #f188a6; border-color: #f188a6; color: #fff; }
.btn-purple { color: #fff; background-color: #9333ea; border-color: #9333ea; }
.btn-purple:hover { background-color: #7e22ce; border-color: #7e22ce; color: #fff; }
.btn-red { color: #fff; background-color: #ED2D37; border-color: #ED2D37; }
.btn-red:hover { background-color: #B8252C; border-color: #B8252C; color: #fff; }
.btn-gold { color: #fff; background-color: #C4B454; border-color: #C4B454; }
.btn-gold:hover { background-color: #b1a08a; border-color: #b1a08a; color: #fff; }
.btn-silver { color: #fff; background-color: #B6BBC2; border-color: #B6BBC2; }
.btn-silver:hover { background-color: #899499; border-color: #899499; color: #fff; }
.btn-turquoise { color: #fff; background-color: #00AFCC; border-color: #00AFCC; }
.btn-turquoise:hover { background-color: #448f83; border-color: #448f83; color: #fff; }
.btn-blueberry { color: #fff; background-color: #7071CF; border-color: #7071CF; }
.btn-blueberry:hover { background-color: #565794; border-color: #565794; color: #fff; }
.btn-black { color: #fff; background-color: #0D1D2B; border-color: #0D1D2B; }
.btn-black:hover { background-color: #4C6160; border-color: #4C6160; color: #fff; }

/* アウトラインボタンの配色 */
.btn-outline-aqua { color: #4FCFCF; border-color: #4FCFCF; }
.btn-outline-aqua:hover { color: #fff; background-color: #4FCFCF; border-color: #4FCFCF; }
.btn-outline-blue { color: #3b82f6; border-color: #3b82f6; }
.btn-outline-blue:hover { color: #fff; background-color: #3b82f6; border-color: #3b82f6; }
.btn-outline-orange { color: #FFB129; border-color: #FFB129; }
.btn-outline-orange:hover { color: #fff; background-color: #FFB129; border-color: #FFB129; }
.btn-outline-pink { color: #F598BF; border-color: #F598BF }
.btn-outline-pink:hover { color: #fff; background-color: #F598BF; border-color: #F598BF; }
.btn-outline-purple { color: #9333ea; border-color: #9333ea; }
.btn-outline-purple:hover { color: #fff; background-color: #9333ea; border-color: #9333ea; }
.btn-outline-red { color: #ED2D37; border-color: #ED2D37; }
.btn-outline-red:hover { color: #fff; background-color: #ED2D37; border-color: #ED2D37; }
.btn-outline-gold { color: #C4B454; border-color: #C4B454; }
.btn-outline-gold:hover { color: #fff; background-color: #C4B454; border-color: #C4B454; }
.btn-outline-silver { color: #B6BBC2; border-color: #B6BBC2; }
.btn-outline-silver:hover { color: #fff; background-color: #B6BBC2; border-color: #B6BBC2; }
.btn-outline-turquoise { color: #00AFCC; border-color: #00AFCC; }
.btn-outline-turquoise:hover { color: #fff; background-color: #00AFCC; border-color: #00AFCC; }
.btn-outline-blueberry { color: #7071CF; border-color: #7071CF; }
.btn-outline-blueberry:hover { color: #fff; background-color: #7071CF; border-color: #7071CF; }
.btn-outline-black { color: #0D1D2B; border-color: #0D1D2B; }
.btn-outline-black:hover { color: #fff; background-color: #0D1D2B; border-color: #0D1D2B; }


/* ===== ボックス ===== */
/* ボックスの色 */
.border-aqua {  border-color: #4FCFCF !important; }
.border-blue {  border-color: #3b82f6 !important; }
.border-orange {  border-color: #FFB129 !important; }
.border-pink {  border-color: #F598BF !important; }
.border-purple {  border-color: #9333ea !important; }
.border-red {  border-color: #ED2D37 !important; }
.border-gold {  border-color: #C4B454 !important;  }
.border-silver {  border-color: #B6BBC2 !important; }
.border-turquoise {  border-color: #00AFCC !important; }
.border-blueberry {  border-color: #7071CF !important; }
.border-black {  border-color: #0D1D2B !important; }
.border-white {  border-color: #ffffff !important; }

/* 背景の色 */
.back-aqua {  background-color: #4FCFCF !important; }
.back-blue {  background-color: #3b82f6 !important; }
.back-orange {  background-color: #FFB129 !important; }
.back-pink {  background-color: #F598BF !important; }
.back-purple {  background-color: #9333ea !important; }
.back-red {  background-color: #ED2D37 !important; }
.back-gold {  background-color: #C4B454 !important;  }
.back-silver {  background-color: #B6BBC2 !important; }
.back-turquoise {  background-color: #00AFCC !important; }
.back-blueberry {  background-color: #7071CF !important; }
.back-black {  background-color: #0D1D2B !important; }
.back-white {  background-color: #ffffff !important; }


/* ===== QAアコーディオン ===== */
.qa-title {
    text-align: center;
    margin-bottom: 2.5rem;
    font-weight: bold;
}
.accordion-button:focus {
    box-shadow: none;
}
/* 回答を表示した時の質問の色 */
.accordion-button:not(.collapsed) {
    color: #213E69;
    background-color: #E7FBFF;
}
#faqAccordion .accordion-item {
    border: 2px solid #dee2e6;
    border-radius: 5px; /* 角丸 */
    overflow: hidden; /* 内側の要素が角丸からはみ出ないようにする */
}
/* Bootstrapは2番目以降のアイテムの上枠線を消すので、上書きして表示させる */
#faqAccordion .accordion-item + .accordion-item {
    border-top: 2px solid #dee2e6;
}
/* Bootstrapが最初と最後のボタンに適用する角丸をリセットする */
#faqAccordion .accordion-item:first-of-type .accordion-button {
    border-radius: 0;
}
#faqAccordion .accordion-item:last-of-type .accordion-button.collapsed {
    border-radius: 0;
}
.accordion-button {
    font-size: 1.2rem; /* 質問部分の文字サイズ */
}
.accordion-body {
    font-size: 1.1rem; /* 回答部分の文字サイズ */
}
