@charset "UTF-8";

/* mv */
.mv {
    position: relative;
}
.mv::before {
    content: '';
    width: 100%;
    background-color: var(--color-white);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.mv_ttl {
    position: relative;
    z-index: 1;
}
.mv_ttl {
    font-size: 1em;
    text-align: center;
}
.mv_ttl_s,
.mv_ttl_m,
.mv_ttl_l {
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.mv_anchor {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.mv_anchor_btn,
.mv_anchor_btn_inner,
.mv_anchor_img,
.mv_anchor_btn_txt {
    display: block;
}
.mv_anchor_btn,
.mv_anchor_btn_inner {
    border-radius: 4em;
}
.mv_anchor_btn {
    text-align: center;
    text-decoration: none;
    border: 1px solid;
}
.mv_anchor_btn_inner {
    height: 100%;
    margin-inline: -1px;
    position: relative;
}
.mv_anchor_btn_inner::after {
    content: '';
    width: 0;
    height: 0;
    margin-inline: auto;
    border-style: solid;
    border-color: var(--color-white) transparent transparent transparent;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
}
.mv_anchor_img {
    margin-inline: auto;
    border-radius: 50%;
}
.mv_anchor > li:nth-child(odd) .mv_anchor_btn {
    border-color: var(--color-red);
}
.mv_anchor > li:nth-child(odd) .mv_anchor_btn_inner {
    background-color: var(--color-red);
}
.mv_anchor > li:nth-child(even) .mv_anchor_btn {
    border-color: var(--color-pink);
}
.mv_anchor > li:nth-child(even) .mv_anchor_btn_inner {
    background-color: var(--color-pink);
}
.mv_anchor_btn_txt {
    color: var(--color-white);
}
.mv_anchor_btn_txt_inner {
    height: 2.3em;
    font-weight: 700;
    line-height: 1.15;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (min-width: 791px) {
    .mv {
        padding-bottom: 160em;
    }
    .mv_ttl {
        padding-top: 252em;
    }
    .mv_ttl_s {
        font-size: 32em;
    }
    .mv_ttl_m {
        font-size: 40em;
    }
    .mv_ttl_l {
        font-size: 64em;
    }
    .mv_circle_1 {
        width: 182em;
        top: 318em;
        left: 123em;
    }
    .mv_circle_2 {
        width: 466em;
        top: 20em;
        left: 894em;
    }

    .mv_anchor {
        margin-top: 160em;
        gap: 24em;
    }
    .mv_anchor_btn {
        width: 152em;
        height: 152em;
    }
    .mv_anchor_btn_inner {
        padding-top: 16em;
        translate: 0 -4em;
    }
    .mv_anchor_btn_inner::after {
        border-width: 6em 4em 0 4em;
        bottom: 4em;
    }
    .mv_anchor_img {
        width: 72em;
    }
    .mv_anchor_btn_txt {
        margin-top: 11em;
    }
    .mv_anchor_btn_txt_inner {
        font-size: 14em;
    }
    .mv_anchor_note {
        margin-top: 40em;
        text-align: center;
    }
    .mv_anchor_note_inner {
        font-size: 14em;
        line-height: 1.75;
        letter-spacing: 0.08em;
    }
}
@media (min-width: 891px) {
    .mv::before {
        height: 92px;
    }
}
@media (max-width: 980px) {
    .mv::before {
        height: 80px;
    }
}
@media (max-width: 790px) {
    .mv {
        padding-bottom: 64em;
    }
    .mv_ttl {
        padding-top: 120em;
    }
    .mv_ttl_s {
        font-size: 24em;
    }
    .mv_ttl_m {
        font-size: 28em;
    }
    .mv_ttl_l {
        font-size: 48em;
    }
    .mv_circle_1 {
        width: 137em;
        top: 473em;
        left: 24em;
    }
    .mv_circle_2 {
        width: 233em;
        top: 53em;
        left: 166em;
    }

    .mv_anchor {
        margin-top: 40em;
        gap: 12em;
    }
    .mv_anchor_btn {
        width: 106em;
        height: 106em;
    }
    .mv_anchor_btn_inner {
        padding-top: 8em;
        translate: 0 -4em;
    }
    .mv_anchor_btn_inner::after {
        border-width: 6em 4em 0 4em;
        bottom: 4em;
    }
    .mv_anchor_img {
        width: 56em;
    }
    .mv_anchor_btn_txt {
        margin-top: 2em;
    }
    .mv_anchor_btn_txt_inner {
        font-size: 12em;
    }
    .mv_anchor_note {
        margin: 24em 24em 0;
    }
    .mv_anchor_note_inner {
        font-size: 12em;
        line-height: 1.5;
    }
}

/* procedure */
.procedure_list {
    margin-inline: auto;
    display: flex;
    flex-direction: column;
}
.procedure_list > li {
    display: flex;
    position: relative;
}
.procedure_list > li + li::before {
    content: '';
    width: 100%;
    height: 4em;
    background: url(../../images/rakutoku202510/dot_line.png) 50% / 24em 4em;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.procedure_list_ttl {
    font-size: 1em;
    text-align: center;
    position: relative;
}
.procedure_list_ttl_en {
    padding-inline: 10em;
    display: inline-block;
    position: relative;
}
.procedure_list_ttl_en::before,
.procedure_list_ttl_en::after {
    content: '';
    width: 2em;
    height: 2em;
    margin-block: auto;
    border-radius: 50%;
    background-color: var(--color-black);
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
}
.procedure_list_ttl_en::before {
    left: 0;
}
.procedure_list_ttl_en::after {
    right: 0;
}
.procedure_list_ttl_en_inner {
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}
.procedure_list_ttl_l,
.procedure_list_ttl_s {
    font-weight: 700;
    letter-spacing: 0.04em;
}
.procedure_list_ttl_l {
    line-height: 1.25;
}
.procedure_list_ttl_s {
    line-height: 1.5;
}
.procedure_list_txt_inner {
    line-height: 1.75;
    letter-spacing: 0.08em;
}
.procedure_list_txt_note {
    font-size: 0.6em;
    vertical-align: super;
}
.procedure_list_date_txt .procedure_list_txt_inner {
    line-height: 1.75;
}
.procedure_list_img {
    margin-inline: auto;
    display: block;
}
.procedure_list_date_img {
    margin-top: 24em;
}
.procedure_list_btn {
    width: 120em;
    height: 40em;
    margin: 8em auto 0;
    color: var(--color-white);
    border-radius: 100em;
    background-color: var(--color-black);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.procedure_list_btn_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8em;
}
.procedure_list_btn_inner::after {
    content: 'OPEN';
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.04em;
}
.procedure_list_btn_icon {
    width: 12em;
    height: 12em;
    display: block;
    position: relative;
}
.procedure_list_btn_icon::before,
.procedure_list_btn_icon::after {
    content: '';
    width: 100%;
    height: 2em;
    margin: auto;
    background-color: var(--color-white);
    display: block;
    position: absolute;
    inset: 0;
}
.procedure_list_btn_icon::after {
    rotate: 90deg;
}
.procedure_list_content_list {
    display: flex;
    flex-wrap: wrap;
}
.procedure_list_content_list_ttl,
.procedure_list_content_list_txt_center {
    text-align: center;
}
.procedure_list_content_list_ttl_inner {
    font-weight: 700;
    font-size: 16em;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
.procedure_list_content_list_txt_inner {
    font-size: 14em;
    line-height: 1.75;
    letter-spacing: 0.08em;
}
.procedure_list_content_list_note_inner {
    margin-top: calc(4em / 12);
    font-size: 12em;
    line-height: 1.5;
    display: block;
}
input[type='radio'] {
    display: none;
}
.procedure_list_tab_area {
    display: flex;
}
.procedure_list_tab_area label {
    margin-bottom: -1em;
    color: var(--color-white);
    border: 1px solid var(--color-gray);
    border-bottom: none;
    border-radius: 8em 8em 0 0;
    background-color: var(--color-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.4s, background-color 0.4s;
    cursor: pointer;
}
.procedure_list_tab_area_inner {
    font-weight: 700;
}
.procedure_list_content_area {
    border-radius: 8px;
    transition: height 0.6s 0s;
}
.tab_content {
    display: none;
    width: 100%;
    box-sizing: border-box;
}
.procedure_list_tab_area label:hover,
#tab1:checked ~ .procedure_list_tab_area .tab1_label,
#tab2:checked ~ .procedure_list_tab_area .tab2_label {
    color: var(--color-red);
    background-color: var(--color-white);
}
#tab1:checked ~ .procedure_list_content_area .content1,
#tab2:checked ~ .procedure_list_content_area .content2 {
    display: block;
}

@media (min-width: 791px) {
    .procedure_list {
        width: 1200em;
    }
    .procedure_list > li {
        flex-direction: column;
        gap: 40em;
    }
    .procedure_list > li:not(:first-child) {
        padding-top: 80em;
    }
    .procedure_list > li:not(:last-child) {
        padding-bottom: 80em;
    }
    .procedure_list_ttl_wrap {
        position: relative;
    }
    .procedure_list_ttl_en {
        margin-bottom: 8em;
    }
    .procedure_list_ttl_en_inner {
        font-size: 24em;
    }
    .procedure_list_ttl_l {
        font-size: 40em;
    }
    .procedure_list_ttl_s {
        font-size: 32em;
    }
    .procedure_list_txt {
        text-align: center;
    }
    .procedure_list_txt_inner {
        font-size: 16em;
    }
    .procedure_list_date_txt {
        margin-top: 8em;
    }
    .procedure_list_img {
        width: 342em;
    }
    .procedure_list_date_img {
        width: 808em;
    }
    .products_circle_1 {
        width: 136em;
        top: 210em;
        left: 0;
    }
    .procedure_list_btn_1 {
        margin-top: -16em;
    }
    .procedure_list_btn_inner::after {
        font-size: 14em;
    }
    .procedure_list_content {
        padding-top: 40em;
    }
    .procedure_list_content_list {
        gap: 48em 24em;
    }
    .procedure_list_content_list > li {
        width: 282em;
    }
    .procedure_list_content_list_txt {
        margin-top: 4em;
    }
    .procedure_list_content_list_img {
        margin-top: 8em;
    }
    .procedure_list_content_list_img_7 {
        width: calc(100% + 7em);
        margin-right: -7em;
    }
    .procedure_list_content_list_img_15 {
        width: calc(100% + 15em);
        margin-right: -15em;
    }
    .procedure_list_content_area {
        padding-top: 40em;
    }
    .procedure_list_tab_area {
        border-bottom: 1px solid var(--color-gray);
        justify-content: center;
        gap: 24em;
    }
    .procedure_list_tab_area label {
        width: 240em;
        height: 64em;
        margin-bottom: -1em;
    }
    .procedure_list_tab_area_inner {
        font-size: 16em;
        line-height: 1.25;
        letter-spacing: 0.04em;
    }
    #tab1:checked ~ .procedure_list_tab_area .tab1_label .procedure_list_tab_area_inner,
    #tab2:checked ~ .procedure_list_tab_area .tab2_label .procedure_list_tab_area_inner {
        font-size: 20em;
    }
}
@media (max-width: 790px) {

    .procedure_list {
        margin-inline: 24em;
    }
    .procedure_list > li {
        flex-direction: column;
        gap: 24em;
    }
    .procedure_list > li:not(:first-child) {
        padding-top: 40em;
    }
    .procedure_list > li:not(:last-child) {
        padding-bottom: 40em;
    }
    .procedure_list_ttl_en {
        margin-bottom: 8em;
    }
    .procedure_list_ttl_en_inner {
        font-size: 22em;
    }
    .procedure_list_ttl_l {
        font-size: 32em;
    }
    .procedure_list_ttl_s {
        font-size: 24em;
    }
    .procedure_list_content_wrap {
        margin-inline: -24em;
    }
    .procedure_list_content {
        margin-inline: 24em;
        padding-top: 24em;
    }
    .procedure_list_content_list {
        padding: 24em 16em;
        border: 1px solid var(--color-gray);
        border-radius: 8em;
        gap: 24em;
    }
    .tab_content .procedure_list_content_list {
        border-radius: 0 8em 8em 8em;
    }
    .procedure_list_content_list_txt {
        margin-top: 4em;
    }
    .procedure_list_content_list_img {
        margin-top: 8em;
    }
    .procedure_list_content_list_img_7 {
        width: calc(100% + 25em);
        margin-right: -25em;
    }
    .procedure_list_content_list_img_15 {
        width: calc(100% + 27em);
        margin-right: -27em;
    }
    .procedure_list_txt {
        white-space: nowrap;
    }
    .procedure_list_txt_inner {
        font-size: 14em;
    }
    .procedure_list_date_txt {
        text-align: center;
    }
    .procedure_list_img {
        width: 342em;
    }
    .products_circle_1 {
        width: 108em;
        top: 25em;
        left: -59em;
    }
    .procedure_list_btn_1 {
        margin-top: -8em;
    }
    .procedure_list_btn_inner::after {
        font-size: 12em;
    }
    .procedure_list_tab_area label {
        width: 120em;
        height: 48em;
        margin-bottom: -2em;
        padding-inline: 12em;
        text-align: center;
        position: relative;
        z-index: 1;
    }
    .procedure_list_tab_area_inner {
        font-size: 12em;
        line-height: 1.25;
        letter-spacing: 0.04em;
    }
    .procedure_list_tab_area_word {
        display: inline-block;
    }
    #tab1:checked ~ .procedure_list_tab_area .tab1_label .procedure_list_tab_area_inner,
    #tab2:checked ~ .procedure_list_tab_area .tab2_label .procedure_list_tab_area_inner {
        font-size: 14em;
    }
}
.is-opened .procedure_list_btn_inner::after {
    content: 'CLOSE';
}
.procedure_list_btn_icon::after {
    transition: rotate 0.3s;
}
.is-opened .procedure_list_btn_icon::after {
    rotate: 0deg;
}
.tab_content_inner {
    opacity: 0;
    transition: opacity 0.5s 0s;
}
.tab_content_inner.show {
    opacity: 1;
}

/* procedure_address_area */
.procedure_address_area {
    margin-inline: auto;
    border: 4em solid var(--color-red);
    border-radius: 8em;
    background-color: var(--color-white);
}
.procedure_address_area_inner {
    display: flex;
    flex-direction: column;
}
.procedure_address_area_ttl {
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: var(--color-white);
    background-color: var(--color-red);
}
.procedure_address_area_txt,
.procedure_address_area_time {
    text-align: center;
}
.procedure_address_area_txt_inner {
    font-weight: 700;
    font-size: 20em;
    line-height: 1.25;
    letter-spacing: 0.04em;
}
.procedure_address_area_tel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8em;
}
.procedure_address_area_tel::before {
    content: '';
    width: 40em;
    height: 24em;
    margin-top: 5em;
    background: url(../../images/procedure202510/procedure_address_area_tel_icon.svg) no-repeat 50% / contain;
    display: block;
}
.procedure_address_area_tel_inner {
    font-weight: 500;
    font-size: 32em;
    line-height: 1;
}
.procedure_address_area_time_inner {
    line-height: 1.75;
    letter-spacing: 0.08em;
}
.procedure_address_area_note {
    line-height: 1.75;
    letter-spacing: 0.08em;
}
@media (min-width: 791px) {
    .procedure_address_area {
        width: 800em;
        margin-top: 80em;
    }
    .procedure_address_area_ttl {
        padding-block: 16em;
    }
    .procedure_address_area_ttl_inner {
        font-size: 20em;
    }
    .procedure_address_area_inner {
        padding: 24em 40em;
        gap: 8em;
    }
    .procedure_address_area_time_inner {
        font-size: 16em;
    }
    .procedure_address_area_note {
        text-align: center;
    }
    .procedure_address_area_note_inner {
        font-size: 14em;
    }
}
@media (max-width: 790px) {
    .procedure_address_area {
        margin: 40em 24em 0;
    }
    .procedure_address_area_inner {
        padding: 24em 16em;
        gap: 8em;
    }
    .procedure_address_area_ttl {
        padding-block: 16em;
    }
    .procedure_address_area_ttl_inner {
        font-size: 16em;
    }
    .procedure_address_area_time_inner {
        font-size: 14em;
    }
    .procedure_address_area_note_inner {
        font-size: 12em;
    }
}

/* bottom */
.bottom {
    position: relative;
}
.bottom_btn,
.bottom_btn_inner {
    display: block;
    border: 1px solid var(--color-black);
    border-radius: 4em;
}
.bottom_btn {
    margin-inline: auto;
    text-decoration: none;
    color: var(--color-black);
}
.bottom_btn_inner {
    margin-inline: -1px;
    background-color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    translate: 0 -4em;
}
.bottom_btn_inner::before {
    content: '';
    width: 16em;
    height: 5em;
    margin-block: auto;
    background: url(../../images/how_to202510/bottom_btn_arrow.svg) no-repeat 50% / contain;
    display: block;
    position: absolute;
    top: 0;
    left: 16em;
    bottom: 0;
}
.bottom_btn_txt {
    text-align: center;
}
.bottom_btn_txt_inner {
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}
.bottom_top_btn {
    margin-inline: auto;
    display: block;
}
@media (min-width: 791px) {
    .bottom {
        padding-block: 160em 248em;
    }
    .bottom_circle_1 {
        width: 232em;
        top: 56em;
        left: 276em;
    }
    .bottom_circle_2 {
        width: 146em;
        top: 199em;
        left: 1117em;
    }
    .bottom_btn,
    .bottom_btn_inner {
        width: 292em;
        height: 64em;
    }
    .bottom_btn_txt_inner {
        font-size: 16em;
    }

    .bottom_top_btn {
        width: 64em;
        margin-top: 160em;
    }
}
@media (max-width: 790px) {
    .bottom {
        padding-block: 80em 128em;
    }
    .bottom_circle_1 {
        width: 116em;
        top: -342em;
        left: -32em;
    }
    .bottom_circle_2 {
        width: 110em;
        top: 163em;
        left: 310em;
    }
    .bottom_btn,
    .bottom_btn_inner {
        width: 280em;
        height: 64em;
    }
    .bottom_btn_txt_inner {
        font-size: 14em;
    }

    .bottom_top_btn {
        width: 48em;
        margin-top: 80em;
    }
}
