@charset "UTF-8";

* {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    /* font-family: "Hiragino Kaku Gothic ProN"; */
    font-size: 16px;
    color: rgb(62, 58, 47);
    box-sizing: border-box;
}
a {
    color: inherit;
    text-decoration: none;
}
img {
    padding: 0;
    margin: 0;
    width: 100%;
    height: auto;
    box-sizing: border-box;
}
body {
    margin: 0;
    padding: 0;
    font-size: 16px;
}
body > div{
    width: 100%;
    box-sizing:border-box;
}
.pc-image {
    display: block;
}
.sp-image {
    display: none;
}
.color-red {
    color: rgb(247, 59, 116);
}
.font-big {
    font-size: 120%;
}
.border-right-solid-gray {
    border-right: rgb(204, 204, 204) solid 1px;
}
.border-bottom-solid-gray {
    border-bottom: rgb(204, 204, 204) solid 1px;
}
.border-bottom-dotted-gray {
    border-bottom: rgb(204, 204, 204) dotted 1px;
}
.button {
    width: 100%;
    line-height: 24px;
    margin-top: -3px;
    padding: 20px 50px;
    border: none;
    border-radius: 30px;
    text-align: center;
    font-family: Hiragino Kaku Gothic ProN;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    color: rgba(255, 255, 255, 1);
}
.pink {
    background-color: rgba(247, 118, 142, 1);
    color: rgba(255, 255, 255, 1);
}
.button-arrow-icon {
    display: flex;
    align-items: center;
    width: 304px;
    padding: 13px 36px 13px 10px;
    font-family: sans-serif;
    color: #fff;
    text-align: center;
    overflow-wrap: anywhere;
    background-color: rgba(247, 118, 142, 1);
    border-radius: 50px; /* (buttonの高さ / 2) の値 */
}
.button-icon-text-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 24px;
    aspect-ratio: 1;
    padding: 4px;
    overflow: hidden;
    background-color: #fff;
    border-radius: 50%;
}
.button-icon-text {
    margin: 0 auto;
    color: #fff;
    font-size: 18px;
}

/* baloon */
.balloon-left{
    position: relative;
    padding: 23px 26px;
    border-radius: 15px;
}
.balloon-left::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -13px;
    top: 20px;
    border-right: 13px solid rgb(234, 245, 255);
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
}
.balloon-left p:first-child {
    font-size: 16px;
    line-height: 24px;
    margin-top: 0;
}
.balloon-left p:last-child {
    font-size: 14px;
    line-height: 21px;
    margin-bottom: 0;
}

/* header */
.header-row {
    width: 600px;
    margin: 0 auto;
}
@media  screen and (max-width: 767px) {
    .header-row {
        width: 100%;
    }
}
.bg-blue {
    background-color: rgba(20, 104, 177, 1);
}
.bg-color-skyblue {
    background-color: #007aff;
}
.bg-color-lightblue {
    background-color: #e4f4ff;
}
.bg-color-liteskyblue {
    background-color: rgba(234, 245, 255, 1);
}
.bg-color-black {
    background-color: rgb(52, 65, 78);
}
.bg-stripe-pink {
    background-image: url(/images/ra_special/pc/Group_fi.png);
}
.header-inner-top {
    width: 600px;
    margin: 0 auto;
    padding: 5px;
    height: 40px;
}
.header-inner-top span {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 2;
}
.header-row.bottom {
    /* display: flex; */
    position: relative;
    width: 600px;
    margin: 0 auto;
    padding: 14px;
}
.header-inner-bottom {
    margin-left:2%;
}
.header-inner-bottom img{
    width:38%;
}
.header-inner-bottom-right {
    position: absolute;
    right: 10px;
    top: 45%;
}
@media  screen and (max-width: 767px) {
    .header-inner-bottom-right {
        top: 40%;
    }
}
.header-inner-bottom-right p {
    margin: 0;
    font-size: 10px;
    font-weight: 300;
    font-family: "Segoe UI, Arial, Meiryo, sans-serif";
    line-height: 10px;
    color: rgb(119, 119, 119);
    overflow-wrap: break-word;
}

/* main */
#main {
    width: 100%;
}
#wrapper {
    width: 600px;
    margin: 0 auto;
}
.wrapper-row {
    width: 100%;
}
#main-visual {
    display: block;
    text-align: center;
    padding: 0;
}
.contact-button-area {
    padding-top: 25px;
    padding-bottom: 32px;
    text-align: center;
    background-color: rgba(20, 104, 177, 1);
    color: rgba(255, 255, 255, 1);
}
.contact-button-area p, .contact-button-area span {
    color: rgba(255, 255, 255, 1);
}
.contact-button {
    margin: 0 auto;
    max-width: 304px;
}

.section-content1 {
    padding: 50px 40px;
}
.section-content1 h2 {
    height: 34px;
    line-height: 36px;
    margin-top: -6px;
    padding-top: 4px;
    padding-left: 14px;
    padding-bottom: 2px;
    text-align: left;
    font-family: Hiragino Kaku Gothic ProN;
    font-style: normal;
    font-weight: bold;
    font-size: 24px;
    color: rgba(57, 151, 232, 1);
    border-left: rgb(57, 151, 232) solid 4px;
    /* background-image:url(/images/ra_special/pc/n_1_ia.png); */
    background-image:url(/images/ra_special/sp/h2-head-2l_sp.png);
    background-size: auto 100%;
    background-repeat:no-repeat;
    background-position: 0 0;
}
.section-content1 p {
    line-height: 27.2px;
}
.content-flexbox {
    /* display: inline-flex; */
    display: flex;
    justify-content: space-between;
}
.point-box {
    width: 164px;
    padding: 17px 15px;
    border: rgb(0, 0, 0) solid 1px;
    border-radius: 15px;
    box-shadow: 3px 3px 0 rgb(204, 204, 204);
}
.point-box h4 {
    margin: 0;
    font-weight: bold;
}
.point-box h4 span:first-child {
    color: rgb(57, 151, 232);
}
.point-box h4 span:last-child {
    padding-left: 10px;
    font-size: 24px;
    color: rgb(57, 151, 232);
}
.point-box p {
    line-height: 27.2px;
}
.correspondence-table {
    width: 523px;
    height: 259px;
    background-image:url(/images/ra_special/pc/img-table_pc_3l.png);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size: 523px auto;
}
.table-view {
    width: 100%;
    display: table;
    border: rgb(0, 0, 0) solid 2px;
    border-radius: 15px;
    box-shadow: 3px 3px 0 rgb(204, 204, 204);
    font-size: 14px;
    line-height: 18.2px;
    color: rgba(62, 58, 47, 1);
}
.table-view-row {
    display: table-row;
}
.table-view-cell {
    display: table-cell;
    padding: 20px 0;
    font-size: 14px;
    text-align: center;
}
.padding0 {
    padding: 0;
}
p.circle {
    font-size: 30px;
    font-weight: 600px;
    color: rgb(247, 118, 142);
}
p.double-circle {
    font-size: 30px;
    font-weight: 600;
    color: rgb(247, 118, 142);
}
p.triangle {
    font-size: 26px;
    font-weight: 800;
    color: rgb(92, 204, 135);
}

.talk-area {
    max-width: 480px;
    margin: 0 auto;
}
.talk-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding-bottom: 15px;
}
.talk-row:last-child {
    padding-bottom: 0;
}
.talker {
    width: 67px;
    margin-right: 15px;
}
.talker-avatar1 {
    width: 60px;
    height: 60px;
    background-image:url(/images/ra_special/pc/icon_female_01.png);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size:60px;
}
.talker-avatar2 {
    width: 60px;
    height: 60px;
    background-image:url(/images/ra_special/pc/icon_female_02.png);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size:60px;
}
.talker-avatar3 {
    width: 60px;
    height: 60px;
    background-image:url(/images/ra_special/pc/icon_female_03.png);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size:60px;
}
.balloon-left {
    width: 400px;
}

.service-flow-area .stepbarwrap {
    margin: 2em 0;
    position: relative;
}
.service-flow-area .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
}

.service-flow-area .stepbarwrap .steptitle .stepcircle {
    display: inline-block;
    width: 40px;
    height: 40px;
    content: "";
    border: rgb(57, 151, 232) solid 2px;
    border-radius: 50%;
    background-color: rgb(255, 255, 255);
    box-shadow: 1px 1px 0 rgb(204, 204, 204);
    color: rgb(57, 151, 232);
    text-align: center;
}

.service-flow-area .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.2em;
    font-size: 16px;
    font-weight: 400;
    color: rgb(57, 151, 232);
    position: relative;
    top: 7px;
    left: 0px;
}
.service-flow-area .stepbarwrap .steptitle .title {
    margin: 0.8em;
    font-weight: bold;
    font-size: 1.2em;
    color: rgb(57, 151, 232);
}
.service-flow-area .stepbarwrap .steptxt {
    padding-left: 3.8em;
}
.service-flow-area .stepbarwrap .steptxt .txt {
    font-size: 0.9em;
}
.service-flow-area .stepbarwrap .stepline {
    width: 1px;
    height: calc(100% + 1em);
    background-color: rgb(57, 151, 232);
    position: absolute;
    top: 1.4em;
    left: 1.3em;
    z-index: -1;
}
.stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
}

/* Footer */
#lp-footer {
    width: 100%;
}
.lp-footer-row {
    width: 600px;
    margin: 0 auto;
}
@media  screen and (max-width: 767px) {
    .lp-footer-row {
        width: 100%;
    }
}
.update-date {
    width: 600px;
    margin: 0 auto;
    padding: 2px;
    text-align: right;
}
.update-date .update-date-text {
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    color: rgba(20, 104, 177, 1);
}
.lp-footer-copyright {
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 5px 0;
}
.lp-footer_copyright_txt {
    font-size: 9px;
    color: rgb(255, 255, 255);
}

@media  screen and (max-width: 767px) {
    .pc-image {
        display: none;
    }
    .sp-image {
        display: block;
    }
    .contact-button {
        margin: 0 auto;
        max-width: 304px;
    }

    /* header */
    header {
        width: 100%;
        margin: 0 auto;
    }
    .header-inner-top {
        height: 6.2vw;
        width: 100%;
        padding: 0 10px;
        margin: 0;
    }
    .header-inner-top span {
        color: #fff;
        font-size: 3vw;
        font-weight: 700;
    }
    .header-row.bottom {
        width: 100%;
    }
    .header-inner-bottom-right p {
        font-size: 10px;
        font-weight: 300;
        font-family: "Segoe UI, Arial, Meiryo, sans-serif";
        line-height: 10px;
        color: rgb(119, 119, 119);
        overflow-wrap: break-word;
    }

    #wrapper {
        width: 100%;
        max-width: 766px;
    }
    #main-visual {
        max-width: 766px;
    }

    .section-content1 {
        padding: 50px 15px;
        padding-left: 14px;
    }
    .section-content1 h2 {
        min-height: 34px;
        height: auto;
        padding-left: 18px;
        background-image:url(/images/ra_special/sp/h2-head-2l_sp.png);
        background-repeat:no-repeat;
        background-position: 0 0;
        background-size: auto 100%;
    }

    .content-flexbox {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
    .point-box {
        min-width: 285px;
        width: auto;
        padding: 20px 30px;
        border: rgb(0, 0, 0) solid 1px;
        border-radius: 15px;
        box-shadow: 3px 3px 0 rgb(204, 204, 204);
        display: flex;
    }
    .point-box-text {
        padding-right: 4px;
    }

    .point-box .point-box-text p {
        color: rgba(112, 112, 112, 1);
        margin-bottom: 0;
    }
    .point-box .point-box-image {
        position:relative;
        width: 100%;
        height:auto;
        margin: auto;
        vertical-align: middle;
    }
    .point-box .point-box-image img {
        max-width: 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    .correspondence-table {
        width: 100%;
        height: auto;
        background: none;
    }

    .talk-area {
        /* max-width: 480px; */
        padding-left: 15px;
        margin: 0;
    }
    .talk-row {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        padding-bottom: 15px;
    }
    .talk-row:last-child {
        padding-bottom: 0;
    }
    .talker {
        width: 67px;
        margin-right: 15px;
    }
    .balloon-left {
        padding: 23px 33px
    }

    .service-flow-area .stepbarwrap {
        max-width: 600px;
    }

    .update-date {
        width: 100%;
        margin: 0;
        text-align: right;
    }
}
