/* 文字化けを防ぐ */
@charset "UTF-8";

/* 共通部分
--------------------------------- */
html {
    font-size: 100%;        /* ユーザーの設定した文字サイズを正しく反映する */
}

body {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: none;
    font-weight: normal;
    font-style: normal;  
    line-height: 1.7;       /* 行の高さ */
    color: #222222;
    font-size: 95%;
}

.code-font {
    font-family: "Source Code Pro", sans-serif;
}

.pre-wrap {
    white-space: pre-wrap;
}

.background-color-g {
    background-color:#f5f5f5;
}

a {
    text-decoration: none;  /* aタグの傍線 */
}

/* item-border-bottomに変更可能か確認 */
.border-bottom {
    text-align: center;
    border-bottom: 2px solid #ddd;
    margin: 1rem 0 1.5rem;
}

.item {
    margin: 1.5rem 0 3rem;
    padding: 0.5rem 0.5rem;
}

.item-border-bottom {
    text-align: center;
    border-bottom: 2.5px solid #005070;
    padding-bottom: 5px;
    margin: 1rem 0 2.0rem;
}

.font-large {
    font-size: 1.3rem;
    font-family: "Montserrat", sans-serif;
}

.font-bold {
    font-weight: 500;
}

.border-bottom-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-bottom: 2px solid #ddd;
    padding: 5px 20px;
    margin: 1rem 0 1.5rem;
    align-items: baseline;
}

.item-large {
    font-size: 1.2rem;
}

.item-q {
    font-size: 1.3rem;
    font-weight: bold;
    color: #005070;
}

.item-a {
    font-size: 1.1rem;
    font-weight: bold;
    color: #005070;
}

.category {
    font-size: clamp(6px, 2.7vw, 18px);
    font-weight: bold;
    color: #005070;
    width: 170px;
    height: auto;
    text-align: right;
    white-space: nowrap;  /* 折り返しを防ぐ */
}

.content {
    padding: 0 25px;
    line-height: 1.9;
    
}

.content-box {
    padding: 0 0 0 10px;
    line-height: 1.9;
}

.content-box-img {
    width: 100%;
    padding: 0 0 0rem 10px;
    margin-bottom: 2rem;
    line-height: 1.9;
}

.content-img {
    width: 100%;
    /* padding: 0 10px; */
    margin: 2rem 0;
    line-height: 1.9;
}

.content-ol {
    padding: 0 60px;
    line-height: 1.9;
}

.list-style {
    list-style: none;
    padding: 0 25px 0 45px;
}

.list-item {
    text-indent: -1rem;
    margin-bottom: 0.8rem;
}

.list-item-accounts {
    margin-left: 10px;
    /* text-indent: -1rem; */
    margin-bottom: 0.8rem;
}

.blank-top {
    margin-top: 2rem;
}

.blank-top-1rem {
    margin-top: 1rem;
}

.blank-top-2rem {
    margin-top: 2rem;
}

.blank-top-5rem {
    margin-top: 5rem;
}

.blank-top-3rem {
    margin-top: 3rem;
}

.blank-bottom-05rem {
    margin-bottom: 0.5rem;
}

.blank-bottom-1rem {
    margin-bottom: 1rem;
}

.blank-bottom-2rem {
    margin-bottom: 2rem;
}

.blank-bottom-3rem {
    margin-bottom: 3rem;
}

.blank-bottom-5rem {
    padding-bottom: 5rem;
}

.container-q {
    margin: 1rem 1rem 2rem;
    border: 1.5px solid #ddd;
    padding: 1rem 1.5rem 2rem;
    line-height: 1.7;
    border-radius: 8px;
}

.container-beside {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 11px;
}

.container-flex {
    margin: 1rem 1rem 2rem;
    border: 1.5px solid #ddd;
    padding: 1rem 1.5rem 2rem;
    line-height: 1.7;
    border-radius: 8px;
}

.content-padding {
    margin-bottom: 1rem;
    padding: 0.2rem 0;
    border-bottom: 3px solid #ddd;
}

.sentence-code-set {
    margin: 1rem;
    border: 1.5px solid #ddd;
    padding: 1rem 1.5rem;
    line-height: 1.7;    
}

/* 正誤判定の表示設定 */
.border-circle {
    border-width: 2px;
    border-style: solid;
    border-radius: 8px;
    width: 100%;
    text-align: center;
    padding: 0.7rem 0.1rem;
    /* margin: 1rem 0 0.1rem; */
    margin: 3rem 0 1rem;
}

.true-color {
    border-color: #005070;
    background-color: #005070;
    color: #fff;
}

.false-color {
    border-color: #87263F;
    background-color: #87263F;
    color: #fff;
}

.unselected-color {
    border-color: #e5cf6e;
    background-color: #e5cf6e;
    font-weight: 500;
    /* color: #005070; */
    /* font-size: 100%; */
}

.align-center {
    text-align: center;
}

.align-right {
    text-align: right;
}

.margin-top-1rem {
    margin-top: 1rem;
}

.textbox {
    outline: solid 2px #ddd;
    width: 100%;
}

.scroll-bar {
    /* テキストの折り返しなし */
    white-space: nowrap;
    /* 横方向のスクロールバー */
    overflow-x: auto;
    padding: 0 10px;
}

.strong {
    font-weight: bold;
}

.font-small {
    font-size: small;
}

.caution-note {
    padding: 0 5px 10px 15px;
}



/* レイアウト
--------------------------------- */
.wrapper {
    max-width: 1120px;
    margin: auto;
    padding: 0 0.3rem;
}

.wrapper-q {
    max-width: 1120px;
    margin: 1rem 2%;
    padding: 0 0.2rem 1.5rem;
    background-color: #f1f1e6;
    opacity: 0.8;       /* 不透明度 */
    border-radius: 8px;
}

/* 更新履歴 */
.news-list {
    list-style: none outside;   /* リストマーカー：なし マーカーを文章より左側の位置（リストボックスの外側）に表示 */
    margin: 0;
    padding: 0;
}

/* .news-list .list-item a .list-item span{ */
.news-list .news-item a {
    display: flex;
    flex-wrap: nowrap;  /* 1行に並べる */
    color: #222222;
    border-bottom: 1px solid #ddd;
    padding: 20px 20px;
    margin: 0 20px;
}

.news-list .news-item .date{
    margin: 0;
    min-width: 120px;   /* 日付の最小幅*/
    font-size: 1rem;
    color: #999;
    padding: 0 20px 0 0;
}

.news-list .news-item .title{
    margin: 0;
    width: 100%;
}

.content-a {
    color: #222222;
}

.news-list .news-item a:hover 
.title {
    color: #005070;
}

/* .news-list .news-item a:hover .title,
.content a:hover {
    color: #005070;
} */



/* ヘッダー
--------------------------------- */
.cover {
    background-size: cover;
    background-color: #ddd;
    /* height: 11.5rem; */
    height: 14rem;
}

.page-header {
    padding-top: 0.5rem;
}

.page-title {
    font-size: 3rem;
    text-align: center;
    margin: 0.5rem 0 1rem 0;
    line-height: 1.4;
}

.page-description {
    font-size: 100%;
    font-optical-sizing: none;
    font-weight: normal;
    font-style: normal;
    line-height: 1.7;       /* 行の高さ */
    color: #222222;
}

.page-header .align-center a {
    color:#005070;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}

.main-nav {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    font-size: 1rem;
    list-style: none;
}

.main-nav a {
    font-weight: 600;
    color: #28373c;
}

.page-header p {
    color: #28373c;
    font-size: 0.8rem;
    font-style: Bold;
    font-weight: 500;
    padding-bottom: 2px;
}

.font-y {
    color: #e5cf6e;
    /* color: #005070; */
}

.font-s {
    font-size: small;
}

/* フッター
https://magazine.techacademy.jp/magazine/19410
--------------------------------- */
.footerFixed {
    min-height: 100vh;      /* ブラウザの画面の高さ：ブラウザによって高さは異なるのでvhで指定 */
    position: relative;
    padding-bottom: 130px;   
    box-sizing: border-box;
}

.footer-about {
    max-width: 736px;
    padding: 0 0.5rem;
    margin: 1rem auto 1.5rem;
}

.footer {
    position: absolute;     /* 絶対位置 */
    bottom: 0;          /* 下に固定 */
    left: 0;
    width: 100%;        /* コピーライトの装飾 */
    height: 130px;
    background-color: #ddd;
    font-family: Montserrat, sans-serif;    
}

.footer-category {
    font-weight: 420;
    font-size: 13px;
    padding: 0 10px;
    color: #005070;
}

.footer-copyright {
    font-weight: 800;
    font-size: 14px;
    padding: 10px 0px 0px 0px;
    color: #005070;
}

.footer-border-left {
    border-left: 1px solid #005070;
}

.footer-border-right {
    border-right: 1px solid #005070;
}

.footer-containar {
    display: flex;
    flex-direction: row-reverse;
    gap: 15px 0;
}

.font-big {
    font-size: 100%;
}

/* ボタン
--------------------------------- */
/* ボタンの基本設定 */
.btn {
    display: inline-block;  /* インライン要素をブロックレベル要素に指定*/
    border-radius: 8px;     /* ボタンの角を丸く設定 */
    padding: .55rem 1.3rem; /* ボタンのテキストからの内余白を設定（上下、左右） */
    text-align: center;     /* ボタンの中央にテキストを配置 */
}

/* indexページのボタンの色 */
.btn-i {
    background-color: #005070;  /* 背景色 */
    color: #fff;             /* 文字色 */
    width: 80%;             /* ボタンの幅 */
}

.btn-i-prac {
    background-color: #ddd;  /* 背景色 */
    color: #005070;            /* 文字色 */
    border: #005070 solid 2px;
    width: 80%;                 /* ボタンの幅 */
}

/* 練習問題の「〇」「×」ボタン */
.btn-prec-q {
    background-color: #ddd;
    color: #005070;  
    border: 2px solid #005070;  
    width: 80%;                   /* ボタンの幅 */
    font-weight: 500;
}

.btn-q-a {
    background-color: #ddd;
    color: #005070;  
    border: 2px solid #005070;  
    width: 80%;                   /* ボタンの幅 */
    font-weight: 500;
}

/* 問題・解答ページのボタンの余白 */
.btn-margin {
    margin: 3rem 0;
}

/* モバイルサイトのindexページのボタンの配置 */
.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px 0;
}

/* モバイルサイトの問題ページのボタンの配置 */
.btn-layout-q {
    text-align: center;
}

/* headerのボタン */
.btn-nav {
    display: inline-block;
    border-radius: 8px;   
    padding: .1rem .5rem 0.1rem .5rem;
    text-align: center;
    font-size: 90%;    
}

.btn-nav-white {
    background-color: #fff;
    min-width: 150px;                 
}

.btn-nav-gray {
    min-width: 150px;                 
}


/* ラジオボタン
--------------------------------- */
.radio-ck-color {
    accent-color: #005070;
}


/* コンテンツ
--------------------------------- */
.about {
    max-width: 736px;
    padding: 0 0.5rem;
    margin: 0.5rem auto 4rem;
}

.wrapper-q {
    padding: 0 0.2rem 1.5rem;
    background-color: #f1f1e6;
    opacity: 0.8;       /* 不透明度 */
    border-radius: 8px;
}

.item-question-answer {
    margin-top: 1.5rem;
    padding: 0.5rem 0.5rem;
} 

.radio {
    /* margin-top: 1.5rem; */
    margin: 1.5rem 0 3rem;
    padding: 0 1.5rem;
}

.radio label {
    background-color: #ddd;
}

.radio p {
    padding: 0.5rem 1rem;
}

.radio div {
    /* padding: 0.7rem 0.7rem 1.5rem; */
    padding: 0.5rem 0.7rem 0;
}


/* プライバシーポリシー
--------------------------------- */
.item-category {
    font-weight: 500;
    font-size: 1.1rem;
    /* margin-bottom: 0.5rem; */
    margin-bottom: 1rem;
    padding: 0 5px
}


/* セレクトボックス
--------------------------------- */
select {
    border: 2px solid #ddd;
    padding-left: 10px;
    position: relative;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.select_container {
    position: relative;
    width: 280px;
}

.select_container::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 12px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #999;
    border-left: 2px solid #999;
    pointer-events: none;
    transform: translateY(-50%) rotate(
-135deg);
}

/* サイドバー
--------------------------------- */
.side-menu{
    list-style: none;
    text-align: center;
    margin-bottom: 4rem;
}

.side-menu li {
    border-bottom: 1px solid #ddd;
}

.side-menu a {
    color: #222222;
    display: block;
    padding: 1rem;
}

.side-menu a:hover {
    color: #005070;
}

.heading-mediam {
    font-size: 2.0rem;
    text-align: center;
}

/* テーブル
--------------------------------- */
.table1,
.table2 {
    max-width: 650px;
    width: 100%;
    /* 隣接セルの境界線を同士を間を空けずに重ねて表示 */
    border-collapse: collapse;
    margin: auto;
    border: solid 0.5px #222;
}

/* テーブルの1列目だけに設定 */
.table1 th,
.table2 th{
    background: #ddd;
    /* color: #005070; */
    text-align: center;
    vertical-align: center;
    border: solid 0.5px #222;
    padding: 3px 0;
    font-weight: normal;
}

.table1 th {
    width: 20%;
}

.table1 td,
.table2 td {
    border: solid 0.5px #222;
    padding: 3px 10px ;
}

.table3,
.table4 {
    max-width: 650px;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin: auto;
    border: solid 0.5px #222;
}

.table3-th,
.table4 th {
    background: #ddd;
    text-align: center;
    vertical-align: center;
    border: solid 0.5px #222;
    padding: 3px 0;
    font-weight: normal;
}

.table3-td,
.table4 td {
    border: solid 0.5px #222;
    padding: 3px 5px 3px 7px ;
}

.table3-th {
    width: 20%;
}

.table3-td {
    width: 80%;
}

.table3-td div {
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    background-color:#f5f5f5;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
}

/* テーブルの1列目の幅設定
　 ※rowspanを設定しているため、項目の1列目のみに設定 */
.table2 th:first-child {
    width: 40%;
}

.table4 th:first-child,
.table4 td:first-child {
    width: 20%;
    text-align: center;
}

.table-caption {
    font-weight: 450;
    font-size: 1rem;
    margin-bottom: 0.5rem;
    margin-left:  1rem;
    padding: 0 5px
}

/* markdownテーブル */
.markdown-table {
    border-collapse: collapse;
}

.markdown-table, 
.markdown-table th, 
.markdown-table td {
    border: 1px solid #222222;
}

.markdown-table th,
.markdown-table td:first-child {
    background-color: #ddd;
    font-weight: normal;
    
}

.markdown-table th:first-child,
.markdown-table td:first-child {
    min-width: 25px;
    text-align: center;
}

.markdown-table th:nth-child(n+2), 
.markdown-table td:nth-child(n+2) {
    padding: 0 2px;
    min-width: 75px;
    text-align: center;    
}


/* 解説の項目名あり（1行目）テーブル */
.field-name-table {
    border: solid 0.5px #222;
}

.field-name-table th {
    background-color: #ddd;
    font-weight: normal;
}


/* Googleアドセンス広告表示
--------------------------------- */

/* 広告未配信の広告ユニットを非表示にする方法 */
ins.adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
}

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
}

.image {
    width: 200px;
    height: auto;
    overflow: hidden;
    position: relative;
    padding: 0 45px;
}

.text-affiliate {
    width: 300px; 
    margin: 0.7rem;
}

.btn-affiliate {
    background-color: #e5cf6e;
    color: #005070;
    width: 95%;
    height: 45px;
    margin: 0.5rem;
}

.ad-box-01 {
    margin-top: 50px;
    margin-bottom: 100px;
}

.ad-box-02 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.mobile-only {
    display: none; /* 初期設定: 非表示 */    
}

.pc-only {
    display: none; /* 初期設定: 非表示 */    
}

/* コマンドリンク
--------------------------------- */

.content a,
.link a,
.li-a {
    color: #005070;
}

.content a:visited,
.link a:visited,
.li-a:visited {
    color: #87263F; /* 訪れたリンクの色を設定 */
}

.content a:hover, 
.link a:hover,
.li-a:hover {
    color: #e5cf6e;    /* リンクhover時の文字色*/
}


/* 用語集
--------------------------------- */

.glossary-p {
    margin-left: 1rem;
    padding: 0.5rem 0;
}

/* 合格体験記・ユーザー認証
--------------------------------- */

.testimonial_form {
    margin: 0 50px 2rem 50px;
}

.auth_form {
    margin: 0 50px 2rem 25px;
}

.testimonial_form_row,
.auth_form_row {
    display: flex;
    flex-direction: column; /* ← 縦に並べる */
    margin-bottom: 1rem;
    /* grid-template-columns: 1fr;  */
  }

.testimonial_form_lavel {
    vertical-align: top;
}

.testimonial_form_text {
    border: solid 0.5px #ddd;
    max-width: 150px;
}

.auth_form_text {
    border: solid 0.5px #ddd;
    max-width: 400px;
}

.testimonial_form_textarea {
    border: solid 0.5px #ddd;
    height: 120px;
}

.testimonial_form_select {
    border: solid 0.5px #ddd;
    max-width: 120px;
}

.testimonial_form_select_container {
    position: relative;
    width: 280px;
}

.testimonial_form_select_container::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 12px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #999;
    border-left: 2px solid #999;
    pointer-events: none;
    transform: translateY(-50%) rotate(
-135deg);
}

.testimonial_form_btn, 
.auth_form_btn {
    margin-top: 2rem;
    border-radius: 8px;
    background-color:#ddd;
    color:#005070;
    width: 100px;
    border: solid 2px #005070;
    padding: 2px 0;
}

.error {
    color:#87263F;
    font-size: 1em;
    margin-bottom: 1rem;
    font-weight: bold;
}

.congratulations-h2 {
    text-align: center;
    margin: 3rem 0;
}

.congratulations-p {
    text-align: center;
    margin: 2rem 0;
    line-height: 1.9;
}


/* 画像表示
--------------------------------- */
.img {
    width: 100%;            /* 親要素の幅にフィットさせる */
    height: auto;           /* 縦横比を維持 */
    max-height: 300px;      /* 高さの上限だけつける */
    object-fit: contain;    /* 中身が枠からはみ出さないよう調整 */
    display: block;
    margin: 0 auto;
}

/* ログイン状態表示
--------------------------------- */
.user-status {
    text-align: right;
    margin: 10px 0;
    font-size: 0.9rem;
  }
  .user-status a {
    color: #222222;
    text-decoration: none;
    margin: 0 5px;
  }


/* モバイル版
--------------------------------- */

@media (max-width: 768px) {
    .mobile-only {
      display: block; /* モバイル画面でのみ表示 */
    }

    /* body {
        background-color: lightblue;
    }

    .table3 {
        max-width: 650px;
        width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
        margin: auto;
        border: solid 0.5px #222;
    }

    .table3-th {
        width: 20%;
        background: #ddd;
        text-align: center;
        vertical-align: center;
        border: solid 0.5px #222;
        padding: 3px 0;
        font-weight: normal;
    }

    .table3-td {
        width: 80%;
        border: solid 0.5px #222;
        padding: 3px 5px 3px 7px ;
    }

    .table3-td div {
        max-width: 100%;
        overflow-x: auto;
        white-space: norap;
        background-color: #e5cf6e;
    } */
  }


/* デスクトップ版
--------------------------------- */
/* @media (min-width: 800px) { */
@media (min-width: 769px) {
    /* indexページの模擬試験ボタン */
    .btn-i {
        background-color: #005070;  /* 背景色 */
        color: #fff;            /* 文字色 */
        width: 200px;                 /* ボタンの幅 */
    }

    /* indexページの練習問題ボタン */
    .btn-i-prac {
        background-color: #ddd;  /* 背景色 */
        color: #005070;            /* 文字色 */
        border: #005070 solid 2px;
        width: 320px;                 /* ボタンの幅 */
    }

    /* 練習問題ページの「〇」「×」ボタン */
    .btn-prec-q {
        color: #005070;             
        border: 2px solid #005070;
        width: 310px;
        font-weight: bold;
    }

    /* indexページのボタン配置 */
    .container {
        /* margin: 0 30px 2rem 30px; */
        margin: 0 50px 2rem 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
    }

    .wrapper-q {
        max-width: 900px;
        margin: 3rem auto;
        padding: 0 1.5rem 1.5rem;
        background-color: #f1f1e6;
        border-radius: 8px;
        opacity: 0.8;
    }
    
    .main-contents{
        display: flex;
        justify-content: space-between;
    }

    .main-contents-ceter{
        display: flex;
        justify-content: center;
    }

    .post {
        width: 70%;
        /* width: 60%; */
        /* order: 2; */
    }

    .sidebar {
        width: 27%;
        /* width: 20%; */
        margin-top: 2rem;
        /* order: 3; */
    }

    .post-quenstion-answer {
        width: 70%;
        order: 2;
    }

    .ad-1 {
        width: 12%;
        order: 1;
    }

    .ad-2 {
        width: 12%;
        order: 3;
    }


    /* ヘッダー
    --------------------------------- */
    .page-header {
        padding-top: 1.5rem;
    }
    
    .page-title {
        font-size: 3.5rem;
        text-align: center;
        margin: 0.5rem 0 0.5rem 0;
        line-height: 1.4;
    }

    .page-header .align-center a {
        color:#005070;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
    }
    
    .main-nav {
        display: flex;
        justify-content: center;
        gap: 2.5rem;
        font-size: 1rem;
        list-style: none;
    }
    
    .main-nav a {
        font-weight: 600;
        color: #28373c;
    }
    
    .page-header p {
        color: #28373c;
        font-size: 0.9rem;
        /* font-style: Bold; */
        font-weight: 500;
        padding-bottom: 2px;
    }

    .btn-nav {
        display: inline-block;
        border-radius: 8px;   
        padding: .5rem 1.5rem 0.8rem 1.5rem;
        text-align: center;
        font-size: 100%;    
    }

    .btn-nav-white {
        background-color: #fff;
        min-width: 150px;                 
    }

    .btn-nav-gray {
        min-width: 150px;                 
    }

    .flex {
        display: flex;
    }
    
    .image {
        width: 200px;
        height: auto;
        overflow: hidden;
        position: relative;
        padding: 0 45px;
    }

    .text-affiliate {
        width: 400px; 
        margin: 0.7rem;
    }

    .btn-affiliate {
        background-color: #e5cf6e;
        color: #005070;
        width: 200px;
        height: 45px;
        margin: 0.5rem;
    }

    .pc-only {
        display: block; /* モバイル画面でのみ表示 */
    }

    .category {
        font-size: 1rem;
        font-weight: normal;
        color: #005070;
        width: 350px;
        text-align: right;
    }

    .container-flex {
        /* margin: 1rem 0rem 1rem 0.2rem; */
        margin: 1rem 0rem;
        border: 1.5px solid #ddd;
        padding: 1rem 1.5rem 2rem;
        line-height: 1.7;
        border-radius: 8px;
        width: 47%;
    }

    .table3,
    .table4 {
        max-width: 750px;
        /* max-width: 650px; */
        width: 100%;
        /* 隣接セルの境界線を同士を間を空けずに重ねて表示 */
        border-collapse: collapse;
        margin: auto;
        border: solid 0.5px #222;
    }

    /* テーブルの1列目だけに設定 */
    .table3-th, 
    .table4 th {
        background: #ddd;
        text-align: center;
        vertical-align: center;
        border: solid 0.5px #222;
        padding: 3px 0;
        font-weight: normal;
    }

    .table3-th {
        /* width: 50px; */
        width: 15%;
    }

    .table3-td,
    .table4 td {
        border: solid 0.5px #222;
        padding: 10px 10px ;
    }

    .table3-td {
        /* width: 50px; */
        width: 85%;
    }

    .table3-td-div {
        max-width: 100%;
        white-space: nowrap;
        overflow-x: auto;
        background-color:#f5f5f5;
        /* display: block; */
    }

    .select_container {
        position: relative;
        width: 560px;
    }

    .testimonial_form_row {
        display: grid;
        /* ↓ ラベル幅固定＋入力欄が残り全部 */
        grid-template-columns: 120px 1fr;
        align-items: start;
        gap: 10px;
        margin-bottom: 15px;
    }

    .auth_form_row {
        display: grid;
        /* ↓ ラベル幅固定＋入力欄が残り全部 */
        grid-template-columns: 150px 1fr;
        align-items: start;
        gap: 10px;
        margin-bottom: 15px;
    }

    .gender_radio_group {
        display: flex;
        gap: 20px;
    }
}