@charset "utf-8";


/*--------------------------cta----------------------------*/
.cta-wrapper {
    position: relative;
    top: 0;
    z-index: 2;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.cta-wrapper::after {
    content: "";
    display: block;
    width: 95%;
    background-image: url("../images/cta_background_pc.png");
    background-position: center center;
    background-size: cover;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
}

.cta {
    width: 90%;
    margin-left: 0;
    margin-right: auto;
    padding: 60px 0;
    max-width: 980px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}

.cta-title {
    color: #fff;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    margin-bottom: 55px;
}

.cta-title__sp {
    display: none;
}

.cta-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.cta-contents {
    background-image: -o-radial-gradient(#ffffffd4, #ffffff);
    background-image: radial-gradient(#ffffffd4, #ffffff);
    width: 24.5%;
    position: relative;
    padding: 25px 20px 20px;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

.cta-contents:hover {
    opacity: 0.8;
}

.cta-contents__gradation {
    margin: 0 auto;
    height: 13px;
    display: block;
}

.cta-contents__text {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.cta-contents__arrow {
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width:1200px){
    .cta {
        padding-right: 4%;
    }
}

@media screen and (max-width:900px){
    .cta-title {
        font-size: 26px;
    }
    .cta-contents__gradation {
        height: 12px;
    }

    .cta-contents__text {
        font-size: 18px;
    }

    .cta-contents__arrow {
        right: 12px;
    }
}

@media screen and (max-width:768px){
    .cta {
        padding: 32px 0 52px;
    }

    .cta-wrapper::after {
        background-image: url("../images/cta_background_sp.png");
    }

    .cta-content {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .cta-title {
        margin-bottom: 36px;
        font-size: 20px;
    }

    .cta-title__pc {
        display: none;
    }

    .cta-title__sp {
        display: block;
    }

    .cta-contents {
        width: 100%;
    }

    .cta-contents:not(:first-of-type) {
        margin-top: 10px;
    }

    .cta-contents__gradation {
        height: 13px;
    }

    .cta-contents__text {
        font-size: 20px;
    }

    .cta-contents__arrow {
        right: 20px;
    }

    .cta {
        padding-right: 4%;
    }
}

@media screen and (max-width:340px){
    .cta-title {
        font-size: 18px;
    }
}

/*--------------------------footer----------------------------*/
.footer {
    background-image: url("../images/footer_background_pc.png");
    background-position: top center;
    background-size: cover;
    padding: 220px 0 56px;
    margin-top: -325px;
    position: relative;
}

.footer-background {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
}

.footer-background__waveform {
    position: relative;
    width: 100%;
    aspect-ratio: 345/58;
}

.footer-background__waveform img {
    position: absolute;
    top: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 33.33%;
    height: auto;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    right: 0;
}

.footer-inner {
    max-width: 980px;
    margin: 0 auto;
    width: 90%;
    position: relative;
    z-index: 9;
}

.footer-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.footer-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 50%;
}

.footer-logo {
    width: 55%;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

.footer-logo:hover {
    opacity: 0.6;
}

.footer-logo img {
    width: 100%;
    display: block;
}

.footer-address {
    color: #fff;
    width: 40%;
    font-size: 14px;
    font-weight: 500;
}

.footer-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.footer-mail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.footer-tel__icon {
    margin-right: 8px;
    width: 13px;
}

.footer-mail__icon {
    margin-right: 6.5px;
    width: 15px;
}

.footer-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 50%;
}

.footer-sns__contents {
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

.footer-sns__contents:hover {
    opacity: 0.6;
}

.footer-sns__contents:first-of-type {
    margin-right: 32px;
}

.footer-bottom {
    margin-top: 72px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 50%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.footer-bottom__img {
    width: 30%;
}

.footer-bottom__img img {
    display: block;
    width: 100%;
}

.footer-bottom__link {
    width: 65%;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    position: relative;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

.footer-bottom__link:hover {
    opacity: 0.6;
}

.footer-bottom__link p {
    font-weight: 500;
}

.footer-bottom__link img {
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width:768px){
    .footer {
        margin-top: -390px;
        padding: 150px 0 100px;
        background-image: url("../images/footer_background_sp.png");
    }

    .footer-top {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .footer-logo {
        width: 100%;
        max-width: 188px;
        margin-right: 20px;
    }

    .footer-address {
        width: 100%;
        margin-top: 20px;
    }

    .footer-left {
        width: calc(100% - 81px);
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .footer-sns {
        width: auto;
    }

    .footer-sns__contents {
        width: 33px;
    }

    .footer-sns__contents:first-of-type {
        margin-right: 15px;
    }

    .footer-bottom {
        margin-top: 40px;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        width: 100%;
    }

    .footer-bottom__img {
        width: 100%;
        max-width: 90px;
    }

    .footer-bottom__link {
        width: 100%;
        margin-top: 12px;
    }
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}