/* 相談窓口診断（寸法はデザインPDF（幅1366px）に合わせる。ヘッダーメニューは21px） */
* {
    font-feature-settings: "palt";
}
.cd_header {
    position: relative;
    max-width: 1365px;
    margin: 0 auto;
    padding-bottom: 165px;
}
.cd_header .bg {
    height: 80px;
    background-image: url(../img/news_header.png);
    background-size: cover;
    background-position: center;
}
.cd_ttle {
    position: absolute;
    left: 0;
    right: 0;
    top: 38px;
    width: 90%;
    max-width: 442px; /* 画像は2倍サイズ（884px） */
    margin: auto;
}
.cd_ttle img {
    display: block;
    width: 100%;
}
.cd_lead {
    text-align: center;
    font-size: 20px;
    line-height: 1.8;
    letter-spacing: 0.02em;
    margin: 0 auto 130px;
    padding: 0 16px;
}
.cd_content {
    max-width: 1226px;
    width: 100%;
    margin: 0 auto;
    padding: 0 16px 40px;
    box-sizing: border-box;
}
.cd_noscript {
    text-align: center;
    font-size: 18px;
}

/* 設問 */
.cd_q {
    max-width: 645px;
    margin: 0 auto 220px;
    text-align: center;
}
.cd_q_icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
}
.cd_q_icon .q {
    width: 66px; /* 画像は2倍サイズ（261×285） */
    height: auto;
}
.cd_q_icon .no {
    height: 75px; /* 画像は2倍サイズ（約100×150） */
    width: auto;
    margin-top: 12px;
}
.cd_q_ttl {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.15em;
    margin-bottom: 40px;
}
.cd_q_note {
    font-size: 19px;
    letter-spacing: 0.05em;
    margin: -38px 0 40px;
}
.cd_opts {
    list-style: none;
    padding: 0;
    margin: 0 auto 64px;
}
.cd_opts li + li {
    margin-top: 26px;
}
.cd_opt {
    display: block;
    width: 100%;
    min-height: 84px;
    padding: 16px 24px;
    background: #fff;
    border: solid 4px #6eca00;
    border-radius: 25px;
    color: #231815;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: background .2s, color .2s;
}
.cd_opt.is_selected {
    background: #6eca00;
    color: #fff;
}
@media (hover: hover) {
    .cd_opt:hover {
        background: #6eca00;
        color: #fff;
    }
}
.cd_q_btns {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}
.cd_go {
    width: 270px;
    height: 70px;
    padding: 0 76px 0 28px;
    text-align: left;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23231815'/%3E%3Cpath d='M10 5v9M6 10l4 4 4-4' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 28px center / 36px;
    border: solid 4px #231815;
    border-radius: 18px;
    color: #231815;
    font-size: 26px;
    letter-spacing: 0.05em;
    cursor: pointer;
}
.cd_go:disabled {
    opacity: .4;
    cursor: default;
}
.cd_go.is_result {
    background: #f39800 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23fff'/%3E%3Cpath d='M5 10h9M10 6l4 4-4 4' stroke='%23f39800' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 28px center / 36px;
    border-color: #f39800;
    color: #fff;
}
.cd_back {
    min-width: 120px;
    height: 38px;
    padding: 0 14px;
    background: #d9d9d9;
    border: solid 2px #231815;
    border-radius: 8px;
    color: #231815;
    font-size: 18px;
    cursor: pointer;
}

/* 結果 */
.cd_result_ttl {
    text-align: center;
    margin-bottom: 50px;
}
.cd_result_ttl h2 {
    display: inline-block;
    position: relative;
    padding: 0 60px;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.2em;
}
.cd_result_ttl h2::before,
.cd_result_ttl h2::after {
    content: "";
    position: absolute;
    top: -6px;
    width: 4px;
    height: 76px;
    background: #f39800;
}
.cd_result_ttl h2::before {
    left: 0;
    transform: rotate(-25deg);
}
.cd_result_ttl h2::after {
    right: 0;
    transform: rotate(25deg);
}
.cd_result_ttl p {
    font-size: 19px;
    margin-top: 6px;
}
.cd_card {
    position: relative;
    max-width: 970px;
    margin: 0 auto 50px;
    border: solid 3px #f39800;
    border-radius: 14px;
    text-align: center;
}
.cd_card_tag {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    width: fit-content;
    margin: auto;
    padding: 2px 18px;
    background: #fff;
    border: solid 3px #f39800;
    border-radius: 20px;
    font-size: 18px;
    font-weight: bold;
}
.cd_card_name {
    padding: 28px 20px 20px;
    background: #fdc480;
    border-radius: 11px 11px 0 0;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.2em;
}
.cd_card_body {
    padding: 30px 20px 40px;
}
.cd_card_desc {
    font-size: 20px;
    line-height: 1.7;
    margin-bottom: 16px;
}
.cd_card_tel {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #231815;
    font-size: 48px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-decoration: none;
}
.cd_card_tel_icon {
    width: 60px;
    height: 60px;
}
.cd_card_fax,
.cd_card_addr {
    font-size: 20px;
    margin-top: 10px;
}
.cd_regional {
    max-width: 970px;
    margin: 140px auto 0;
}
.cd_regional_ttl {
    padding: 16px;
    background: #e7e6de;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.cd_regional_lead {
    text-align: center;
    font-size: 20px;
    line-height: 1.8;
    margin: 28px 0 40px;
}
.cd_table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 18px;
}
.cd_table col.col_fld {
    width: 112px;
}
.cd_table col.col_name {
    width: 228px;
}
.cd_table col.col_area {
    width: 170px;
}
.cd_table thead th {
    padding: 8px;
    text-align: center;
    border-top: solid 2px #cccccc;
    border-bottom: solid 2px #cccccc;
    font-weight: normal;
}
.cd_table tbody th.col_fld {
    background: #ffe9cc;
    text-align: center;
    vertical-align: middle;
    font-weight: normal;
    border-bottom: solid 2px #cccccc;
}
.cd_table td {
    padding: 14px 20px;
    background: #fff5e9;
    border-left: solid 2px #cccccc;
    border-bottom: solid 2px #cccccc;
    line-height: 1.5;
    vertical-align: middle;
}
.cd_table td.col_name {
    font-size: 16px;
}
.cd_table td.col_area {
    padding-left: 8px;
    padding-right: 8px;
    text-align: center;
    font-size: 16px;
}
.cd_table td.col_addr a {
    color: inherit;
    text-decoration: none;
}
.cd_table td.col_addr .fax {
    margin-left: 1em;
}
.cd_table_fld_sp {
    display: none;
}
.cd_note {
    font-size: 16px;
    margin-top: 14px;
}
.cd_empty {
    text-align: center;
    margin: 0 auto 40px;
    font-size: 20px;
}
.cd_empty a {
    color: #231815;
    text-decoration: underline;
}
.cd_back_btn {
    width: 110px;
    height: 32px;
    margin: 100px auto 0;
    border: solid 2px #231815;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #231815;
    text-decoration: none;
}
.cd_back_btn p {
    font-size: 18px;
    letter-spacing: 1px;
}

@media screen and (max-width: 1000px) {
    .cd_lead {
        font-size: 18px;
        margin-bottom: 100px;
    }
    .cd_q {
        margin-bottom: 160px;
    }
    .cd_q_ttl {
        font-size: 24px;
    }
    .cd_q_note {
        font-size: 16px;
    }
    .cd_result_ttl h2 {
        font-size: 22px;
        padding: 0 44px;
    }
    .cd_card_tel {
        font-size: 40px;
    }
    .cd_card_tel_icon {
        width: 50px;
        height: 50px;
    }
    .cd_regional_ttl {
        font-size: 24px;
    }
    .cd_table {
        font-size: 16px;
    }
    .cd_table td {
        padding: 12px 14px;
    }
    .cd_table col.col_fld {
        width: 80px;
    }
    .cd_table col.col_name {
        width: 190px;
    }
    .cd_table col.col_area {
        width: 130px;
    }
    .cd_table td.col_name,
    .cd_table td.col_area {
        font-size: 15px;
    }
}

@media screen and (max-width: 800px) {
    .cd_header {
        padding-bottom: 130px;
    }
    .cd_ttle {
        top: 24px;
        max-width: 320px;
    }
    .cd_lead {
        font-size: 15px;
        text-align: left;
        margin-bottom: 70px;
    }
    .cd_lead br {
        display: none;
    }
    .cd_q {
        margin-bottom: 100px;
    }
    .cd_q_icon {
        margin-bottom: 14px;
    }
    .cd_q_icon .q {
        width: 48px;
    }
    .cd_q_icon .no {
        height: 56px;
        margin-top: 8px;
    }
    .cd_q_ttl {
        font-size: 20px;
        letter-spacing: 0.08em;
        margin-bottom: 28px;
    }
    .cd_q_note {
        font-size: 14px;
        letter-spacing: 0;
        margin: -24px 0 28px;
    }
    .cd_opts {
        margin-bottom: 44px;
    }
    .cd_opts li + li {
        margin-top: 16px;
    }
    .cd_opt {
        min-height: 60px;
        padding: 12px 16px;
        border-width: 3px;
        border-radius: 18px;
        font-size: 16px;
        letter-spacing: 0.05em;
    }
    .cd_q_btns {
        gap: 20px;
    }
    .cd_go,
    .cd_go.is_result {
        width: 220px;
        height: 56px;
        padding: 0 60px 0 22px;
        border-width: 3px;
        border-radius: 14px;
        font-size: 20px;
        background-position: right 22px center;
        background-size: 28px;
    }
    .cd_back {
        min-width: 100px;
        height: 32px;
        font-size: 15px;
    }
    .cd_result_ttl {
        margin-bottom: 40px;
    }
    .cd_result_ttl h2 {
        font-size: 18px;
        letter-spacing: 0.1em;
        padding: 0 32px;
    }
    .cd_result_ttl h2::before,
    .cd_result_ttl h2::after {
        top: -4px;
        width: 3px;
        height: 56px;
    }
    .cd_result_ttl p {
        font-size: 15px;
    }
    .cd_card_tag {
        top: -15px;
        padding: 1px 12px;
        border-width: 2px;
        font-size: 14px;
    }
    .cd_card_name {
        padding: 22px 16px 14px;
        font-size: 20px;
        letter-spacing: 0.1em;
    }
    .cd_card_body {
        padding: 20px 16px 28px;
    }
    .cd_card_desc,
    .cd_card_fax,
    .cd_card_addr {
        font-size: 15px;
    }
    .cd_card_tel {
        font-size: 30px;
        gap: 8px;
    }
    .cd_card_tel_icon {
        width: 38px;
        height: 38px;
    }
    .cd_regional {
        margin-top: 90px;
    }
    .cd_regional_ttl {
        padding: 12px;
        font-size: 19px;
    }
    .cd_regional_lead {
        font-size: 15px;
        margin: 18px 0 24px;
    }
    .cd_table_fld_sp {
        display: block;
        margin-bottom: 10px;
        padding: 6px 12px;
        background: #ffe9cc;
        font-size: 15px;
        font-weight: bold;
    }
    /* 表を1件ずつのブロックにする */
    .cd_table thead,
    .cd_table colgroup,
    .cd_table tbody th.col_fld {
        display: none;
    }
    .cd_table,
    .cd_table tbody,
    .cd_table tr,
    .cd_table td {
        display: block;
        width: auto;
    }
    .cd_table {
        font-size: 15px;
    }
    .cd_table tr {
        margin-bottom: 12px;
        border: solid 1px #cccccc;
    }
    .cd_table td {
        border: none;
        padding: 4px 12px;
    }
    .cd_table td.col_name {
        padding-top: 12px;
        font-size: 16px;
        font-weight: bold;
    }
    .cd_table td.col_area {
        padding-left: 12px;
        padding-right: 12px;
        text-align: left;
        font-size: 14px;
    }
    .cd_table td.col_area br {
        display: none;
    }
    .cd_table td.col_addr {
        padding-bottom: 12px;
    }
    .cd_table td.col_addr .fax {
        display: block;
        margin-left: 0;
    }
    .cd_note {
        font-size: 14px;
    }
    .cd_empty {
        font-size: 16px;
    }
}
@media screen and (max-width: 600px) {
    .cd_back_btn {
        width: 100px;
        height: 28px;
        margin-top: 60px;
    }
    .cd_back_btn p {
        font-size: 16px;
    }
}

.cd_table td.col_area .sep {
    display: none;
}
@media screen and (max-width: 800px) {
    .cd_table td.col_area .sep {
        display: inline;
    }
}
