@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

/*  ----------------------------------------------------------

font-size

----------------------------------------------------------  */

html {
    font-size: 18px;
}

@media screen and (max-width: 1500px) {
    html {
        font-size: 1.25vw;
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 4.27vw;
    }
}



/*  ----------------------------------------------------------

base

----------------------------------------------------------  */

:root {
    --maincolor: #001160;
    --accentcolor: #FFD600;
    --subfont: "Open Sans", sans-serif;
}

body {
    color: #000;
    background-color: #fff;
    font-family: "Noto Sans JP", serif;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: #000;
    text-decoration: none;
    transition: 0.5s;
}

a:hover {
    opacity: 0.7;
}

.ctrl {
    display: inline-block;
}

ul li {
    list-style: none;
}

* {
    box-sizing: border-box;
}

#section01,
#section02,
#section03,
#section04,
#section05,
#section06,
#contact {
    padding-top: 4rem;
    margin-top: -4rem;
}

@media screen and (min-width: 768px) {
    br.brsp {
        display: none;
    }
    .display-sp {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    br.brpc {
        display: none;
    }
    .display-pc {
        display: none;
    }
}

/*  ----------------------------------------------------------

fade

----------------------------------------------------------  */

.fade {
    opacity: 0;
    transform: translateY(2rem);
}

.fade.is-animation {
    animation: fade 0.5s ease;
    animation-fill-mode: both;
}

@keyframes fade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/*  ----------------------------------------------------------

header

----------------------------------------------------------  */

.header {
    display: flex;
    width: 100%;
    position: fixed;
    background-color: rgba(255, 255, 255, 0.95);
    top: 0;
    left: 0;
    filter: drop-shadow(0 0.38rem 0.63rem rgba(0, 0, 0, 0.10));
    z-index: 10;
}

.header__inner {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 7.31rem;
}

.header_logo {
    width: 9.68rem;
}

.header_logo img {
    display: block;
}

.header__menu {
    display: none;
}

.header__menu figure {
    width: 1.88rem;
    height: 0.19rem;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: 0.4s all;
}

.header__menu figure:nth-of-type(1) {
    top: 20%;
}

.header__menu figure:nth-of-type(2) {
    top: 36%;
}

.header__menu figure:nth-of-type(3) {
    top: 54%;
}

.header.active figure:nth-of-type(1) {
    top: 40%;
    transform: rotate(45deg);
}

.header.active figure:nth-of-type(2) {
    left: 100%;
}

.header.active figure:nth-of-type(3) {
    top: 40%;
    transform: rotate(-45deg);
}

.header__menu span {
    font-size: 0.7rem;
    font-weight: 500;
    font-family: var(--subfont);
    color: #fff;
    line-height: 1;
    margin-bottom: 0.6rem;
    letter-spacing: 0;
}

.header nav {
    display: flex;
}

.header .nav__list {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.header .nav__list li {
    padding: 0 1rem;
}

.header .nav__list li:not(:last-child) {
    border-right: 1px solid var(--maincolor);
}

.header .nav__list li a {
    color: var(--maincolor);
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0;
}

.header .contact__list {
    width: 12.93rem;
}

.header .contact__list img {
    display: block;
}

.btn__sp {
    display: none;
}

.header .nav__list .icon {
    display: none;
}

@media screen and (max-width: 767px) {
    .header__inner {
        padding: 0;
        align-items: center;
    }

    .header_logo {
        margin: 1rem 2rem;
    }

    .header nav {
        width: 100%;
        padding: 0;
        flex-direction: column;
    }

    .header__menu {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: end;
        width: 3.75rem;
        height: 3.75rem;
        background-color: var(--maincolor);
        cursor: pointer;
        z-index: 102;
    }

    .header .nav__box {
        position: absolute;
        top: 3.7rem;
        left: 100%;
        width: 100%;
        height: calc(100vh - 3.7rem);
        z-index: 101;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        background: linear-gradient(to right, #001FAE 0%, var(--maincolor) 100%);
    }

    .header .nav__list {
        flex-direction: column;
        align-items: normal;
        justify-content: normal;
        margin-right: 0;
    }

    .header .nav__list li a {
        font-size: 1.13rem;
        color: #fff;
        padding: 1.38rem 1.94rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .header .nav__list li {
        border-bottom: 0.06rem solid #fff;
        padding: 0;
    }

    .header .nav__list li:not(:last-child) {
        border-right: 0;
    }

    .contact__list {
        display: none;
    }

    .btn__sp {
        display: flex;
        width: 17.50rem;
        margin: 2.50rem auto;
        flex-direction: column;
        gap: 1.50rem;
    }

    .header .nav__list .icon {
        display: block;
    }
}

/*  ----------------------------------------------------------

footer

----------------------------------------------------------  */

.footer {
    width: 100%;
    position: relative;
    z-index: 1;
    background-color: #000;
    color: #fff;
}

.footer.withcta {
    padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
    .footer.withcta {
        padding-bottom: 5.5rem;
    }
}


.footer__inner {
    position: relative;
    width: 42rem;
    display: flex;
    padding: 2.50rem 0;
    margin: auto;
    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .footer__inner {
        width: 21rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 2.19rem;
    }
}

.footer_logo img {
    width: 11.25rem;
}

.footer_logo {
    margin-bottom: 0.51rem;
}

.footer__companytext {
    letter-spacing: 0;
}

.footer__contact-ttl {
    font-size: 1.13rem;
    font-weight: 700;
    margin-bottom: 0.56rem;
}

.footer__contact-text {
    margin-bottom: 0.86rem;
    letter-spacing: 0;
}

.footer__contact-text a {
    color: #fff;
}

.copyright {
    border-top: 0.06rem solid #4D4D4D;
    text-align: center;
    padding: 0.81rem;
    font-size: 0.75rem;
}

@media screen and (max-width: 767px) {}

/*  ----------------------------------------------------------

fixed-cta

----------------------------------------------------------  */

.fixed-cta {
    width: 100%;
    position: fixed;
    background: linear-gradient(135deg, #0069B5 0%, var(--maincolor) 100%);
    bottom: 0;
    left: 0;
    z-index: 10;
    padding: 0.73rem;
}

.fixed-cta__imgwrap {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 1.18rem;
}

.fixed-cta__imgwrap img {
    display: block;
}

.fixed-cta__img01 {
    width: 22.00rem;
    flex-basis: 22.00rem;
}

.fixed-cta__img02 {
    width: 35.97rem;
    flex-basis: 35.97rem;
}

@media screen and (max-width: 767px) {
    .fixed-cta__imgwrap {
        gap: 0.69rem;
    }

    .fixed-cta__img01,
    .fixed-cta__img02 {
        width: 10.13rem;
        flex-basis: 10.13rem;
    }
}

/*  ----------------------------------------------------------

top-fv

----------------------------------------------------------  */

.top-fv {
    padding-top: 3.7rem;
}

.top-fv img {
    display: block;
    width: 100%;
}

/*  ----------------------------------------------------------

top-cta

----------------------------------------------------------  */

.top-cta {
    padding: 1.44rem 0;
}

@media screen and (max-width: 767px) {
    .top-cta.cta01 {
        padding-top: 0;
    }
}

.top-cta__text {
    font-weight: 700;
    font-size: 1.37rem;
    letter-spacing: 0;
    text-align: center;
    color: var(--maincolor);
    margin-bottom: 0.75rem;
}

@media screen and (max-width: 767px) {
    .top-cta__text {
        font-size: 1.06rem;
    }
}

.top-cta__imgwrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
}

@media screen and (max-width: 767px) {
    .top-cta__imgwrap {
        flex-direction: column-reverse;
    }
}

.top-cta__img01 img,
.top-cta__img02 img {
    width: 20.94rem;
    filter: drop-shadow(0px 0.25rem 0.25rem rgba(0, 0, 0, 0.25));
    display: block;
}

.top-cta.cta02 {
    background: linear-gradient(to right, #001FAE 0%, var(--maincolor) 100%);
}

@media screen and (max-width: 767px) {
    .top-cta.cta02 {
        padding-top: 3.13rem;
        padding-bottom: 3.13rem;
    }
}

.top-cta.cta02 .top-cta__text {
    color: #fff;
}

.top-cta.cta03 {
    padding-top: 3.19rem;
    padding-bottom: 2.56rem;
    background: linear-gradient(135deg, #0069B5 0%, var(--maincolor) 100%);
}

@media screen and (max-width: 767px) {
    .top-cta.cta03 {
        padding-top: 2.06rem;
        padding-bottom: 3.31rem;
    }
}

.top-cta.cta03 .cta03-head {
    text-align: center;
}

.top-cta.cta03 .cta03-head .subttl {
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .top-cta.cta03 .cta03-head .subttl {
        font-size: 1.13rem;
    }
}

.top-cta.cta03 .cta03-head .subttl .highlight {
    color: var(--accentcolor);
}

.top-cta.cta03 .cta03-head .mainttl {
    margin: 1rem 0 1.75rem;
}

@media screen and (max-width: 767px) {
    .top-cta.cta03 .cta03-head .mainttl {
        margin: 0.4rem 0 1.55rem;
    }
}

.top-cta.cta03 .cta03-head .mainttl .inner {
    display: inline-block;
    background: linear-gradient(90deg, #EDDC9E 0%, #FFFFFF 52%, #E7D180 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 3.06rem;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .top-cta.cta03 .cta03-head .mainttl .inner {
        font-size: 2.31rem;
        line-height: 1.4;
    }
}

.top-cta.cta03 .top-cta__text {
    color: #fff;
}


/*  ----------------------------------------------------------

top-trouble

----------------------------------------------------------  */

.top-trouble {
    background-image: url(../img/top-trouble__bg.jpg);
    background-position: center center;
    background-size: cover;
    text-align: center;
    padding-bottom: 10.75rem;
}

@media screen and (max-width: 767px) {
    .top-trouble {
        padding-bottom: 9.81rem;
    }
}

.top-trouble__caution {
    padding: 2.19rem 0 1.05rem;
}

.top-trouble__caution img {
    width: 2.50rem;
}

.top-trouble__ttl h2 {
    color: #fff;
    font-size: 1.63rem;
    font-weight: 700;
}

.top-trouble__ttl h2 {
    color: #fff;
    font-size: 1.63rem;
    font-weight: 700;
    margin-bottom: 1.88rem;
}

.top-trouble__list {
    display: flex;
    justify-content: center;
    gap: 2.69rem;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .top-trouble__list {
        flex-direction: column;
        gap: 0;
        width: 17.5rem;
        margin: auto;
    }
}

.top-trouble__list li {
    color: #fff;
    font-size: 1.13rem;
    margin-bottom: 1.06rem;
    letter-spacing: 0;
}

.top-trouble__list li::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(../img/top-trouble__check.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 0.5rem;
}

.top-trouble__yellow {
    color: #FFF500;
}


/*  ----------------------------------------------------------

top-zitsuha

----------------------------------------------------------  */

.top-zitsuha {
    position: relative;
    background-color: #383838;
    text-align: center;
    padding-top: 3.81rem;
    padding-bottom: 4.50rem;
}

@media screen and (max-width: 767px) {
    .top-zitsuha {
        padding-bottom: 3.19rem;
    }
}

.top-zitsuha__top {
    position: absolute;
    top: -9rem;
    left: 0;
    right: 0;
    margin: auto;
}

.top-zitsuha__top img {
    width: 11.44rem;
}

.top-zitsuha__imgwrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.13rem;
}

@media screen and (max-width: 767px) {
    .top-zitsuha__imgwrap {
        flex-direction: column;
        gap: 1rem;
        width: 21.00rem;
        margin: auto;
    }
}

.top-zitsuha__img01 img,
.top-zitsuha__img02 img {
    width: 24.38rem;
    display: block;
}

.top-zitsuha__text {
    color: #fff;
    padding-top: 2.50rem;
    font-size: 1.50rem;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .top-zitsuha__text {
        font-size: 1.13rem;
        width: 21.00rem;
        margin: auto;
        letter-spacing: 0;
    }
}

.top-zitsuha__yellow {
    color: var(--accentcolor);
}

/*  ----------------------------------------------------------

top-anshin

----------------------------------------------------------  */

.top-anshin {
    position: relative;
    background-color: #fff;
    text-align: center;
    padding-top: 4.50rem;
    padding-bottom: 0.5rem;
    filter: drop-shadow(0 0.25rem 1.50rem rgba(0, 0, 0, 0.25));
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2.50rem), 50% 100%, 0 calc(100% - 2.50rem));
    background-image: url(../img/top-anshin__bg.jpg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center bottom;
}

.top-anshin__top {
    position: absolute;
    bottom: -4.13rem;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}

.top-anshin__top img {
    width: 25.43rem;
}

@media screen and (max-width: 767px) {
    .top-anshin__top img {
        width: 21.00rem;
    }
}

.top-anshin__deco img {
    width: 3.38rem;
}

.top-anshin__text {
    font-size: 2.00rem;
    font-weight: 700;
    color: var(--maincolor);
    margin-bottom: 1.25rem;
}

@media screen and (max-width: 767px) {
    .top-anshin__text {
        font-size: 1.44rem;
    }
}

.top-anshin__yellow {
    background: linear-gradient(to bottom, transparent 70%, var(--accentcolor) 70%);
}

.top-anshin__people img {
    width: 16.91rem;
}

@media screen and (max-width: 767px) {
    .top-anshin__people img {
        width: 12.50rem;
    }
}

/*  ----------------------------------------------------------

top-onayami

----------------------------------------------------------  */

.top-onayami {
    text-align: center;
    margin-top: -2.50rem;
    padding-top: 5.00rem;
    padding-bottom: 2.81rem;
    background-color: #fff;
    background-image: url(../img/top-onayami__bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

@media screen and (max-width: 767px) {
    .top-onayami {
        padding-top: 3.67rem;
        padding-bottom: 1.17rem;
    }
}

.top-onayami__top {
    margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
    .top-onayami__top {
        margin-bottom: 0.31rem;
    }
}

.top-onayami__top img {
    width: 41.94rem;
}

@media screen and (max-width: 767px) {
    .top-onayami__top img {
        width: 21.34rem;
    }
}

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

@media screen and (max-width: 767px) {
    .top-onayami__tab {
        margin-bottom: 0;
    }
}

.top-onayami__tab img {
    width: 60.00rem;
}

@media screen and (max-width: 767px) {
    .top-onayami__tab img {
        width: 22.00rem;
    }
}

/*  ----------------------------------------------------------

top-resolutionrate

----------------------------------------------------------  */

.top-resolutionrate {
    background-color: #208AE9;
    text-align: center;
    padding: 1.75rem 0;
}

@media screen and (max-width: 767px) {
    .top-resolutionrate {
        padding: 1.31rem 0 1rem;
    }
}

.top-resolutionrate__ttl {
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: -1rem;
}

@media screen and (max-width: 767px) {
    .top-resolutionrate__ttl {
        font-size: 1.13rem;
    }
}

.top-resolutionrate__text {
    font-size: 2.81rem;
    font-weight: 700;
    color: var(--accentcolor);
}

@media screen and (max-width: 767px) {
    .top-resolutionrate__text {
        font-size: 1.88rem;
    }
}

.top-resolutionrate__big {
    font-size: 1.3em;
}

.top-resolutionrate__deco {
    display: inline-block;
    background-image: url(../img/top-resolutionrate__deco.png);
    background-size: 3.38rem auto;
    background-repeat: no-repeat;
    background-position: top right;
    padding: 0.5rem 2rem 0;
}

@media screen and (max-width: 767px) {
    .top-resolutionrate__deco {
        background-size: 2.19rem auto;
        padding: 0.5rem 1rem 0;
    }
}


/*  ----------------------------------------------------------

top-tech

----------------------------------------------------------  */

.top-tech {
    background-color: #eff5fd;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
}

@media screen and (max-width: 767px) {
    .top-tech {
        padding-top: 2.38rem;
        padding-bottom: 1.63rem;
    }
}

.top-tech-mainttl {
    margin-bottom: 2.50rem;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--maincolor);
}

@media screen and (max-width: 767px) {
    .top-tech-mainttl {
        font-size: 1.38rem;
        margin-bottom: 1.31rem;
    }
}

.top-tech-list {
    width: 67.50rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .top-tech-list {
        width: 21.00rem;
    }
}

.top-tech-item {
    background-color: #fff;
    width: 31%;
    flex-basis: 31%;
    margin-bottom: 1rem;
    border: 0.2rem solid #696969;
    border-radius: 0.38rem;
}

@media screen and (max-width: 767px) {
    .top-tech-item {
        width: 100%;
        flex-basis: auto;
        margin-bottom: 0.94rem;
    }
}

.top-tech-item:not(:nth-child(3n)) {
    margin-right: 3.5%;
}

@media screen and (max-width: 767px) {
    .top-tech-item:not(:nth-child(3n)) {
        margin-right: 0;
    }
}

.top-tech-q {
    cursor: pointer;
    text-align: center;
    background-color: #696969;
    position: relative;
}

.top-tech-qarrow {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

.top-tech-qtxt {
    color: #fff;
    font-size: 1.13rem;
    font-weight: 700;
    padding: 1rem;
}

.top-tech-q.active .top-tech-qarrow img {
    transform: scale(1, -1);
}

.top-tech-a {
    display: none;
    padding: 0.8rem 1rem 1rem;
}

.top-tech-note {
    font-size: 0.88rem;
    margin-top: 0.7rem;
}

/*  ----------------------------------------------------------

top-strong

----------------------------------------------------------  */

.top-strong {
    padding-top: 2.63rem;
    padding-bottom: 15.50rem;
    background-color: #fff;
    background-image: url(../img/top-strong__bg.png);
    background-size: 100% auto;
    background-repeat: repeat;
    background-position: center;
}

@media screen and (max-width: 767px) {
    .top-strong {
        padding-top: 1.88rem;
        padding-bottom: 5.82rem;
    }
}

.top-strong__top {
    text-align: center;
    margin-bottom: 3.13rem;
}

@media screen and (max-width: 767px) {
    .top-strong__top {
        margin-bottom: 1.88rem;
    }
}

.top-strong__top img {
    width: 25.44rem;
}

@media screen and (max-width: 767px) {
    .top-strong__top img {
        width: 21.00rem;
    }
}

.top-strong__content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.13rem;
    margin-bottom: 2.88rem;
}

@media screen and (max-width: 767px) {
    .top-strong__content {
        gap: 1.19rem;
        margin-bottom: 2.5rem;
    }
}

.top-strong__content:nth-child(2n+1) {
    flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {

    .top-strong__content:nth-child(2n+1),
    .top-strong__content:nth-child(2n) {
        flex-direction: column;
    }
}

.top-strong__imgpart,
.top-strong__textpart {
    width: 33rem;
    flex-basis: 33rem;
}

@media screen and (max-width: 767px) {

    .top-strong__imgpart,
    .top-strong__textpart {
        width: 21.00rem;
        flex-basis: auto;
        text-align: center;
    }
}

.top-strong__number {
    font-size: 3.84rem;
    font-weight: 700;
    font-family: var(--subfont);
    color: var(--maincolor);
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .top-strong__number {
        font-size: 3.00rem;
        line-height: 1.4;
    }
}

.top-strong__chatbg {
    font-size: 2.78rem;
    font-weight: 700;
    color: #fff;
    background-color: var(--maincolor);
    padding: 0 0.2em;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .top-strong__chatbg {
        font-size: 2.19rem;
    }
}

.top-strong__highlight {
    color: var(--accentcolor);
}

.top-strong__text {
    margin-top: 1.18rem;
}

@media screen and (max-width: 767px) {
    .top-strong__text {
        text-align: left;
    }
}

.top-strong-list {
    width: 67.50rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .top-strong-list {
        width: 21.00rem;
    }
}

.top-strong-item {
    background-color: #fff;
    width: 31%;
    flex-basis: 31%;
    margin-bottom: 1rem;
    border-radius: 0.38rem;
    overflow: hidden;
    filter: drop-shadow(0 0.25rem 0.63rem rgba(0, 0, 0, 0.25));
}

.top-strong-item:not(:nth-child(3n)) {
    margin-right: 3.5%;
}

@media screen and (max-width: 767px) {
    .top-strong-item {
        width: 100%;
        flex-basis: auto;
        margin-bottom: 1.88rem;
    }

    .top-strong-item:not(:nth-child(3n)) {
        margin-right: 0;
    }
}

.top-strong-q {
    cursor: pointer;
    text-align: center;
    background-color: #696969;
    position: relative;
}

.top-strong-qarrow {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

.top-strong-qtxt {
    color: #fff;
    font-size: 1.13rem;
    font-weight: 700;
    padding: 1rem;
}

.top-strong-q.active .top-strong-qarrow img {
    transform: scale(1, -1);
}

.top-strong-a {
    display: none;
    padding: 0.8rem 1rem 1rem;
    font-size: 0.94rem;
    background-color: #EEE;
}

/*  ----------------------------------------------------------

top-strong

----------------------------------------------------------  */

.top-voice {
    position: relative;
    padding-top: 10.13rem;
    padding-bottom: 3rem;
    background-color: #fff;
    background-image: url(../img/top-voice__bg.jpg);
    background-size: cover;
    background-position: center;
}

@media screen and (max-width: 767px) {
    .top-voice {
        padding-top: 7.13rem;
        padding-bottom: 0.7rem;
    }
}

.top-voice__top {
    position: absolute;
    top: -5.81rem;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

.top-voice__top img {
    width: 67.50rem;
    filter: drop-shadow(0 0.25rem 0.25rem rgba(0, 0, 0, 0.25));
}

@media screen and (max-width: 767px) {
    .top-voice__top img {
        width: 21.00rem;
    }
}

.top-voice__section {
    width: 67.50rem;
    margin: 0 auto 2.81rem;
    position: relative;
    background-color: rgba(255, 255, 255, 0.9);
    filter: drop-shadow(0 0.25rem 0.25rem rgba(0, 0, 0, 0.25));
}

@media screen and (max-width: 767px) {
    .top-voice__section {
        width: 21.00rem;
        margin: 0 auto 2.19rem;
    }
}

.top-voice__number {
    width: 10.13rem;
    position: absolute;
    top: -2.94rem;
}

@media screen and (max-width: 767px) {
    .top-voice__number {
        width: 5.88rem;
        top: -1.54rem;
    }
}

.top-voice__section:nth-child(2n+1) .top-voice__number {
    right: 0.63rem;
}

.top-voice__section:nth-child(2n) .top-voice__number {
    left: 0.63rem;
}

@media screen and (max-width: 767px) {
    .top-voice__section:nth-child(2n+1) .top-voice__number {
        right: 0.23rem;
    }

    .top-voice__section:nth-child(2n) .top-voice__number {
        left: 0.23rem;
    }
}

.top-voice__content {
    display: flex;
    gap: 1.56rem;
}

.top-voice__section:nth-child(2n+1) .top-voice__content {
    flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {

    .top-voice__section:nth-child(2n+1) .top-voice__content,
    .top-voice__section:nth-child(2n) .top-voice__content {
        flex-direction: column-reverse;
        gap: 0;
    }
}

.top-voice__image {
    width: 28.13rem;
    flex-basis: 28.13rem;
    flex-shrink: 0;
}

@media screen and (max-width: 767px) {
    .top-voice__image {
        width: 100%;
        flex-basis: auto;
    }
}

.top-voice__header {
    flex-grow: 1;
    padding-top: 3.88rem;
}


.top-voice__section:nth-child(2n) .top-voice__header {
    padding-left: 3.88rem;
}

@media screen and (max-width: 767px) {

    .top-voice__section:nth-child(2n+1) .top-voice__header,
    .top-voice__section:nth-child(2n) .top-voice__header {
        padding: 0 1.19rem;
    }
}

@media screen and (max-width: 767px) {
    .top-voice__header .company-name {
        font-size: 0.88rem;
    }
}

.top-voice__header .main-message {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0468BF;
    line-height: 1.4;
    border-bottom: 2px solid #0468BF;
    padding-bottom: 0.5rem;
    margin-right: 5.63rem;
}

@media screen and (max-width: 767px) {
    .top-voice__header .main-message {
        font-size: 1.38rem;
        margin-right: 0;
    }
}

.top-voice__text {
    padding: 0 3.88rem 2.06rem;
    margin-top: -1.5rem;
    font-size: 0.95rem;
}

@media screen and (max-width: 767px) {
    .top-voice__text {
        padding: 0 1.19rem 1.19rem;
        margin-top: 0.5rem;
        font-size: 0.95rem;
    }
}

.top-voice__text .highlight {
    background-color: var(--accentcolor);
    font-weight: 700;
    padding-bottom: 0.1rem;
}


/*  ----------------------------------------------------------

top-flow

----------------------------------------------------------  */

.top-flow {
    padding: 2.50rem 0 5rem;
}

@media screen and (max-width: 767px) {
    .top-flow {
        padding: 1rem 0 2.13rem;
    }
}

.top-flow__ttl {
    text-align: center;
    position: relative;
}

.top-flow__ttl .eng {
    position: relative;
    display: inline-block;
    font-size: 6.63rem;
    font-weight: 700;
    font-family: var(--subfont);
    opacity: 0.3;
    background: linear-gradient(90deg, #0094AE 0%, #0024CA 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media screen and (max-width: 767px) {
    .top-flow__ttl .eng {
        font-size: 5.00rem;
    }
}

.top-flow__ttl .jpn {
    display: block;
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--maincolor);
    margin-top: -4.5rem;
}

@media screen and (max-width: 767px) {
    .top-flow__ttl .jpn {
        font-size: 1.88rem;
        margin-top: -3.3rem;
    }
}

.top-flow__list {
    padding-top: 2.50rem;
}

@media screen and (max-width: 767px) {
    .top-flow__list {
        padding-top: 1.50rem;
    }
}

.top-flow__step {
    width: 50rem;
    margin: 0 auto 1rem;
    padding: 1rem 2.13rem 1.25rem;
    border-radius: 0.63rem;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .top-flow__step {
        width: 21.00rem;
        flex-direction: column;
        padding: 1.06rem 1.25rem 1.25rem;
    }
}

.top-flow__step:nth-child(1) {
    background-color: #59B1FF;
}

.top-flow__step:nth-child(2) {
    background-color: #3D9AEC;
}

.top-flow__step:nth-child(3) {
    background-color: #2888DC;
}

.top-flow__step:nth-child(4) {
    background-color: #1779CE;
}

.top-flow__step:nth-child(5) {
    background-color: #0064BC;
}

.top-flow__num {
    font-size: 2.44rem;
    font-weight: 700;
    font-family: var(--subfont);
    color: #fff;
    border-right: 0.13rem solid #fff;
    padding: 0.75rem 1rem 0.75rem 0;
}

@media screen and (max-width: 767px) {
    .top-flow__num {
        border-right: 0;
        border-bottom: 0.13rem solid #fff;
        padding: 0 1.15rem;
        margin-bottom: 1.69rem;
    }
}

.top-flow__icon {
    width: 10.50rem;
    flex-basis: 10.50rem;
    flex-shrink: 0;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .top-flow__icon {
        width: auto;
        flex-basis: auto;
        margin-bottom: 1.63rem;
    }
}

.top-flow__icon img {
    max-width: 3.94rem;
    max-height: 3.94rem;
    width: auto;
    height: auto;
}

@media screen and (max-width: 767px) {
    .top-flow__icon img {
        max-width: 6rem;
        max-height: 6rem;
        width: auto;
        height: auto;
    }
}

.top-flow__free {
    font-size: 0.88rem;
    font-weight: 700;
    color: #fff;
    background-color: #FFB900;
    width: 3.06rem;
    text-align: center;
    border-radius: 0.25rem;
}

@media screen and (max-width: 767px) {
    .top-flow__free {
        margin: auto;
    }
}

.top-flow__mainttl {
    font-size: 1.50rem;
    font-weight: 700;
    color: #fff;
    margin: 0.1rem 0 0.44rem;
}

@media screen and (max-width: 767px) {
    .top-flow__mainttl {
        margin: 0.2rem 0 0.44rem;
        line-height: 1.5;
        text-align: center;
    }
}

.top-flow__subtext {
    color: #fff;
    letter-spacing: 0;
}


/*  ----------------------------------------------------------

top-30days

----------------------------------------------------------  */

.top-30days {
    text-align: center;
    padding: 2.63rem 0;
    background-image: linear-gradient(135deg, #0069B5 0%, var(--maincolor) 100%);
}

@media screen and (max-width: 767px) {
    .top-30days {
        padding: 2.13rem 0 2.63rem;
    }
}

.top-30days__title {
    font-size: 2.50rem;
    font-weight: 700;
    color: #fff;
    filter: drop-shadow(0 0.25rem 0 rgba(0, 0, 0, 0.3));
}

@media screen and (max-width: 767px) {
    .top-30days__title {
        font-size: 1.75rem;
    }
}

.top-30days__highlights {
    color: var(--accentcolor);
}

.top-30days__image {
    text-align: center;
    margin: 2.13rem auto 1.21rem;
}

.top-30days__image img {
    width: 29.44rem;
}

@media screen and (max-width: 767px) {
    .top-30days__image img {
        width: 19.77rem;
    }
}

.top-30days__text {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .top-30days__text {
        font-size: 1.13rem;
        width: 21.00rem;
        margin: auto;
    }
}

.top-30days__yellow {
    color: var(--accentcolor);
}

/*  ----------------------------------------------------------

top-message

----------------------------------------------------------  */

.top-message {
    position: relative;
    padding-top: 5.13rem;
    padding-bottom: 3.69rem;
    background-color: #fff;
    background-image: url(../img/top-message__bg.png);
    background-size: cover;
    background-position: center;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .top-message {
        padding-top: 4.06rem;
        padding-bottom: 2.54rem;
    }
}

.top-message__eng {
    display: inline-block;
    font-size: 6.63rem;
    font-weight: 700;
    font-family: var(--subfont);
    opacity: 0.3;
    background: linear-gradient(90deg, #0094AE 0%, #0024CA 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transform: rotate(270deg);
    position: absolute;
    right: calc(50% + 23rem);
    top: 12rem;
}

@media screen and (max-width: 767px) {
    .top-message__eng {
        font-size: 5.00rem;
        right: auto;
        top: 8rem;
        left: -9rem;
    }
}

.top-message__mainttl {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--maincolor);
    margin-bottom: 2.63rem;
}

@media screen and (max-width: 767px) {
    .top-message__mainttl {
        font-size: 1.75rem;
        margin-bottom: 1.63rem;
    }
}

.top-message__subttl {
    font-size: 1.75rem;
    font-weight: 700;
    color: #004798;
    margin-bottom: 1.88rem;
}

@media screen and (max-width: 767px) {
    .top-message__subttl {
        font-size: 1.19rem;
        margin: 0 auto 1.69rem;
        width: 21rem;
        letter-spacing: 0;
    }
}

.top-message__text {
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .top-message__text {
        margin: 0 auto;
        width: 21rem;
    }
}

.top-message__box {
    width: 60rem;
    margin: 1.81rem auto 2.25rem;
    padding: 2.25rem 4.75rem 4.75rem;
    background-color: #fff;
    border: 0.25rem solid #001FAE;
    border-radius: 1.25rem;
    filter: drop-shadow(0 0.25rem 1.50rem rgba(0, 0, 0, 0.15));
}

@media screen and (max-width: 767px) {
    .top-message__box {
        width: 21rem;
        padding: 2.25rem 1.19rem 0;
        margin: 2.13rem auto 0.63rem;
    }
}

.top-message__boxttl {
    margin-bottom: 1.38rem;
}

.top-message__boxttl-inner {
    display: inline-block;
    font-size: 1.75rem;
    font-weight: 700;
    background: linear-gradient(90deg, #001FAE 0%, var(--maincolor) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    border-bottom: 0.13rem solid #021EA9;
    padding-bottom: 0.38rem;
}

.top-message__boxhead {
    display: flex;
    gap: 1.56rem;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .top-message__boxhead {
        flex-direction: column-reverse;
        gap: 1.28rem;
        margin-bottom: 1.69rem;
    }
}

.top-message__boxhead-image {
    width: 18.75rem;
    flex-basis: 18.75rem;
    flex-shrink: 0;
}

@media screen and (max-width: 767px) {
    .top-message__boxhead-image {
        width: 100%;
        flex-basis: auto;
    }
}

.top-message__boxhead-textpart {
    text-align: left;
}

@media screen and (max-width: 767px) {
    .top-message__boxhead-ttl {
        font-size: 0.88rem;
    }
}

.top-message__boxhead-name {
    font-size: 1.50rem;
    font-weight: 700;
    margin: 0.38rem auto 1rem;
}

@media screen and (max-width: 767px) {
    .top-message__boxhead-name {
        font-size: 1.1rem;
        letter-spacing: 0;
        margin: 0 auto 1rem;
    }
}

.top-message__boxhead-text {
    letter-spacing: 0;
}

.top-message__boxcontent {
    text-align: left;
}

.top-message__boxcontent-ttl .inner {
    display: inline-block;
    font-size: 0.88rem;
    font-weight: 700;
    background: linear-gradient(90deg, #001FAE 0%, var(--maincolor) 100%);
    color: #fff;
    border-radius: 0.19rem;
    text-align: center;
    padding: 0.25rem 1.19rem;
}

.top-message__boxcontent-text {
    letter-spacing: 0;
    margin-top: 0.55rem;
    margin-bottom: 1.65rem;
}


/*  ----------------------------------------------------------

top-faq

----------------------------------------------------------  */

.top-faq {
    padding: 2.50rem 0 4.63rem;
    background-color: #F3F3F3;
}

@media screen and (max-width: 767px) {
    .top-faq {
        padding: 1.94rem 0 3.38rem;
    }
}

.top-faq__ttl {
    text-align: center;
    position: relative;
}

.top-faq__ttl .eng {
    display: inline-block;
    font-size: 6.63rem;
    font-weight: 700;
    font-family: var(--subfont);
    opacity: 0.3;
    background: linear-gradient(90deg, #0094AE 0%, #0024CA 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media screen and (max-width: 767px) {
    .top-faq__ttl .eng {
        font-size: 5.00rem;
    }
}

.top-faq__ttl .jpn {
    position: relative;
    display: block;
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--maincolor);
    margin-top: -4.5rem;
}

@media screen and (max-width: 767px) {
    .top-faq__ttl .jpn {
        font-size: 1.88rem;
        margin-top: -3.3rem;
    }
}

.faq__list {
    max-width: 50rem;
    margin: 1.31rem auto 0;
}

@media screen and (max-width: 767px) {
    .faq__list {
        max-width: 21rem;
        margin: 1.63rem auto 0;
    }
}

.faq__item {
    margin: 0 0 1rem;
    border-radius: 0.63rem;
    overflow: hidden;
    filter: drop-shadow(0 0.25rem 0.63rem rgba(0, 0, 0, 0.15));
}

.faqItem__q {
    display: flex;
    align-items: center;
}

.faqItem__a {
    display: flex;
    align-items: flex-start;
}

.faqItem__q {
    background-color: var(--maincolor);
    position: relative;
    cursor: pointer;
    padding: 1.44rem 5.13rem 1.44rem 1.94rem;
}

@media screen and (max-width: 767px) {
    .faqItem__q {
        padding: 1rem 2.50rem 1rem 0.75rem;
    }
}

.faqItem__q::after {
    content: "＋";
    color: #fff;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1;
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    position: absolute;
    right: 1.94rem;
}

@media screen and (max-width: 767px) {
    .faqItem__q::after {
        font-size: 1.5rem;
        width: 1.5rem;
        height: 1.5rem;
        right: 0.75rem;
    }
}

.faqItem__q.clicked::after {
    content: "－";
}

.faqItem__heading--q {
    color: #fff;
    font-size: 1.88rem;
    font-weight: 700;
    font-family: var(--subfont);
    margin-right: 1.75rem;
}

@media screen and (max-width: 767px) {
    .faqItem__heading--q {
        font-size: 1.50rem;
        margin-right: 0.5rem;
    }
}

.faqItem__heading--a {
    font-size: 1.88rem;
    font-weight: 700;
    font-family: var(--subfont);
    color: var(--maincolor);
    margin-right: 1.75rem;
}

@media screen and (max-width: 767px) {
    .faqItem__heading--a {
        font-size: 1.50rem;
        margin-right: 0;
    }
}

.faqItem__a {
    padding: 1rem 1.88rem 1.81rem 1.94rem;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .faqItem__a {
        flex-direction: column;
        padding: 0 1.19rem 0.98rem;
    }
}

.js_a {
    display: none;
}

.faqItem__qText {
    color: #fff;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .faqItem__qText {
        font-size: 0.94rem;
    }
}

.faqItem__aText {
    font-size: 1rem;
    margin: 0;
}

@media screen and (max-width: 767px) {
    .faqItem__aText {
        font-size: 0.94rem;
    }
}

/*  ----------------------------------------------------------

top-contact

----------------------------------------------------------  */

.top-contact {
    padding: 2.50rem 0 8.56rem;
    background-color: var(--maincolor);
}

@media screen and (max-width: 767px) {
    .top-contact {
        padding: 2.50rem 0 1.39rem;
    }
}

.top-contact__ttl {
    text-align: center;
    position: relative;
}

.top-contact__ttl .eng {
    display: inline-block;
    font-size: 6.63rem;
    font-weight: 700;
    font-family: var(--subfont);
    opacity: 0.5;
    background: linear-gradient(90deg, #0094AE 0%, #0024CA 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media screen and (max-width: 767px) {
    .top-contact__ttl .eng {
        font-size: 5.00rem;
    }
}

.top-contact__ttl .jpn {
    position: relative;
    display: block;
    font-size: 2.25rem;
    font-weight: 700;
    color: #fff;
    margin-top: -4.5rem;
}

@media screen and (max-width: 767px) {
    .top-contact__ttl .jpn {
        font-size: 1.88rem;
        margin-top: -3.9rem;
        line-height: 1.4;
    }
}

.top-contact__subttl {
    margin-top: 0.64rem;
    text-align: center;
    color: #fff;
    font-size: 1.13rem;
}

@media screen and (max-width: 767px) {
    .top-contact__subttl {
        font-size: 1rem;
        margin-top: 0.50rem;
    }
}

.top-contact__box {
    text-align: center;
    width: 60rem;
    background-color: #fff;
    margin: 1.88rem auto;
    border-radius: 0.63rem;
    padding: 2.63rem 0 3.63rem;
}

@media screen and (max-width: 767px) {
    .top-contact__box {
        width: 21rem;
        margin: 2.44rem auto;
        padding: 1.19rem 1.19rem 2.50rem;
    }
}

.top-contact__boxcatch01 .inner {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--maincolor);
    background-color: var(--accentcolor);
    padding: 0 0.5rem;
}

@media screen and (max-width: 767px) {
    .top-contact__boxcatch01 .inner {
        font-size: 1.5rem;
        letter-spacing: 0;
        padding: 0 0.2rem;
    }
}

.top-contact__boximg {
    margin: 1.25rem auto 0.88rem;
}

@media screen and (max-width: 767px) {
    .top-contact__boximg {
        margin: 1.56rem auto 1.29rem;
    }
}

.top-contact__boximg img {
    width: 15.24rem;
}

@media screen and (max-width: 767px) {
    .top-contact__boximg img {
        width: 15.24rem;
    }
}

.top-contact__boxtext01 {
    letter-spacing: 0;
    margin-bottom: 1.75rem;
}

@media screen and (max-width: 767px) {
    .top-contact__boxtext01 {
        margin-bottom: 2.00rem;
    }
}

.top-contact__boxdeco img {
    width: 11.69rem;
}

.top-contact__boxcatch02 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #004798;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .top-contact__boxcatch02 {
        font-size: 1.19rem;
    }
}

.top-contact__boxtext02 {
    letter-spacing: 0;
    margin-bottom: 1.69rem;
}

@media screen and (max-width: 767px) {
    .top-contact__boxtext02 {
        margin: 0.81rem auto 1.63rem;
    }
}

.top-contact__boxpdf img {
    width: 34.38rem;
}

@media screen and (max-width: 767px) {
    .top-contact__boxpdf img {
        width: auto;
    }
}

.top-contact__boxpdf {
    margin-bottom: 3.50rem;
}

.top-contact .form-content {
    width: 37.50rem;
    margin: auto;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .top-contact .form-content {
        width: auto;
    }
}

.top-contact .form-koumoku {
    display: flex;
    align-items: center;
    font-size: 0.94rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.form-nyuryoku {
    margin-bottom: 1.50rem;
}

.top-contact .form-content .must,
.top-contact .form-content .ninni {
    background: #F34D3C;
    margin-left: 0.63rem;
    padding: 0.06rem 0.56rem 0.18rem;
    color: #fff;
    font-size: 0.75rem;
    line-height: 1.2;
    border-radius: 0.19rem;
    border: 0;
    text-shadow: none;
    box-shadow: none;
}

.top-contact .form-content .ninni {
    background: #2c4492;
}

.top-contact input[type='text'],
.top-contact input[type='email'],
.top-contact input[type='tel'],
.top-contact select,
.top-contact textarea {
    background-color: #fff;
    width: 100% !important;
    padding: 0.94rem 1.25rem;
    border: solid 0.06rem #ccc;
    border-radius: 0.25rem;
    font-size: 1rem;
    font-weight: 400;
    font-family: "Noto Sans JP", serif;
    box-shadow: none;
    margin: auto;
}

.top-contact textarea {
    min-height: 13.75rem;
}

.top-contact *::placeholder {
    color: #ccc;
}

.top-contact [type="submit"] {
    display: block;
    background: linear-gradient(to bottom, #FF9900 0%, #FF6B00 100%);
    width: 20.94rem;
    margin: 2.19rem auto 0;
    padding: 1.50rem 0;
    color: #fff;
    font-size: 1.50rem;
    font-weight: 700;
    font-family: "Noto Sans JP", serif;
    text-align: center;
    border-radius: 0.38rem;
    cursor: pointer;
    outline: none;
    appearance: none;
    border: none;
    filter: drop-shadow(0 0.25rem 0.25rem rgba(0, 0, 0, 0.25));
    text-shadow: none;
    box-shadow: none;
}

@media screen and (max-width: 767px) {
    .top-contact [type="submit"] {
        width: 100%;
    }
}

/*  ----------------------------------------------------------

popup

----------------------------------------------------------  */

.popup {
    z-index: 100;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
}

.popup .popup-bg {
    background: rgb(97 97 97 / 42%);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999
}

.popup .popup-inner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 1180px;
    min-width: 280px;
    max-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    -webkit-animation: fadein .5s;
    -moz-animation: fadein .5s;
    -ms-animation: fadein 0.5s;
    -o-animation: fadein .5s;
    animation: fadein .5s
}

.popup .popup-close {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 29px;
    height: 29px;
    display: flex;
    border: 1px solid #fff;
    align-items: center;
    justify-content: center;
    background: #fff;
    cursor: pointer;
    border-radius: 50%;
    z-index: 9999;
}

.popup .popup-close::after,
.popup .popup-close::before {
    width: 14px;
    height: 2px;
    content: "";
    position: absolute;
    left: 7px;
    top: 12px;
    background: #667075
}

.popup .popup-close::before {
    -ms-transform: rotate(-45deg);
    transform: rotateZ(-45deg)
}

.popup .popup-close::after {
    -ms-transform: rotate(45deg);
    transform: rotateZ(45deg)
}

.popup .popup-inner img {
    max-width: 100%;
    max-height: 500px;
    opacity: 1 !important
}

@keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-moz-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-ms-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-o-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.popup a:hover {
    opacity: 1 !important;
}


/*  ----------------------------------------------------------

thanks

----------------------------------------------------------  */

.thanks-head {
    padding-top: 3.7rem;
    background: #eee;
}

.thanks-head .wrap {
    padding: 4.38rem 0;
    text-align: center;
}

.thanks-head img {
    width: 16.7rem;
}

.thanks-head h1 {
    margin-top: 2.50rem;
    font-size: 2.1rem;
    letter-spacing: 0;
    line-height: 1.4;
}

.thanks-head p {
    margin-top: 1rem;
    font-size: 1.125rem;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .thanks-head img {
        width: 12rem;
    }

    .thanks-head h1 {
        margin-top: 1.5rem;
        font-size: 1.7rem;
    }

    .thanks-head p {
        font-size: 0.9rem;
    }
}

.top-30days__link a {
    display: block;
    width: 23.75rem;
    margin: 2.81rem auto 0;
    padding: 0.50rem 0;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.05em;
    border: solid 0.06rem #fff;
    border-radius: 0.63rem;
}

@media screen and (max-width: 767px) {
    .top-30days__link a {
        width: 16.75rem;
    }
}