* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img {
    vertical-align: bottom;
}

/* ベースとなるスタイル スマホ・タブレット*/
ul,
li {
    list-style: none;
}

body {
    font-family: 'Helvetica', 'Arial', sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    width: 100%;
}

.ta_c {
    text-align: center;
}

.ta_c_sp {
    text-align: center;
}

.pd_sptab {
    padding: 0 15px;
}

.mb_small {
    margin-bottom: 15px;
}

.mb_middle {
    margin-bottom: 30px;
}

.mb_big {
    margin-bottom: 50px;
}

.pos_r {
    position: relative;
}


header {
    display: grid;
    grid-template-columns: 38% 60%;
    justify-content: space-between;
    padding: 15px;
}

.top {
    background-image: linear-gradient(rgb(244, 249, 252) 0%, rgb(236, 248, 255) 28%, rgb(211, 225, 234) 75%, rgb(185, 201, 213) 100%);
    padding: 0 0 20px 0;
}

.top_zoom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    margin: 15px 0 0;
}

.top_zoom_logo {
    padding: 0 0 0 15px;
}

@keyframes slideInFromLeft {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }

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

.saiyasu {
    margin: 50px auto;
    max-width: 600px;
    background: url(img/k_bg.png) repeat-y;
}

.real {
    background: #eceff1;
    margin-top: -70px;
    padding-top: 100px;
    padding-bottom: 60px;
}

.contact_bg {
    background-image: linear-gradient(to bottom, rgb(205, 222, 233) 0%, rgb(195, 212, 223) 65%, rgb(185, 201, 213) 100%);
    padding: 20px;
    margin-top: 120px;
}

.contact_wrap {
    box-shadow: 0px 0px 23.04px 0.96px rgba(51, 72, 112, 0.17);
    background-color: white;
    margin-top: -100px;
    padding: 30px 15px 20px;
}

.contact li:first-child {
    margin-bottom: 10px;
}


.aboutbg {
    background: url(img/sp/about_bg.png) no-repeat top rgba(236, 242, 245);
    background-size: contain;
    padding-bottom: 30px;
}

@keyframes wave {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.bg_qa {
    background: url(img/k_bg.png) repeat-y;
}

.bg_reason {
    background: url(img/rea_bg.png) no-repeat center top 30px;
    background-size: 500px;
    margin-bottom: -30px;
}

.arrow img {
    width: 60px;
    ;
}

.otoku_final {
    background: #0b5cff;
    padding: 30px 15px 26px;
}

.choice {
    background: #e1ecf4;
    padding: 20px;
    margin: 10px 0 20px;
}

.footer_logo {
    max-width: 250px;
    margin-right: auto;
    margin-left: auto;
    ;
}

footer {
    background: #607d8b;
    color: #fff;
    font-weight: bold;
    padding: 40px 15px;
    font-size: 15px;
}

footer dd {
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    font-size: 90%;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.4)
}

footer dd:last-child {
    margin: 0;
    padding: 0;
    border: none
}

.copy {
    padding: 10px 0
}

.animate_zero,
.animate_zero2 {
    opacity: 0;
}

.delay-time {
    animation-delay: 0.5s;
    /*この数字を指定したい遅延時間に変更*/
}

.follow {
    position: fixed;
    display: none;
    bottom: 0px;
    width: 100%;
    border-top: 1px solid white;
    z-index: 9999;

}

.follow a {
    display: inline-block;
    background: #0b5cff;
    text-align: center;
    padding: 15px 0 20px;
    width: 100%;
}

.follow a img {
    width: 70%;
}

.follow a:hover {
    background: #0648cd;
    opacity: 1;
}

/* スマートフォン用のスタイル */
@media (max-width: 599px) {
    .pc_only {
        display: none;
    }


    .top_gentei img {
        width: 200px;
    }

    .top_apng {
        width: 380px;
        max-width: 100%;
        margin: 10px auto 20px auto;
    }

    .saiyasu_tesuu img {
        max-width: 250px;

    }

    .saiyasu_kantan img {
        max-width: 300px;

    }

    .contact_title img {
        width: 250px;

    }

    .about_title img {
        max-width: 250px;
    }

    .about_title2 img {
        max-width: 300px;
    }

    .otoku_title img {
        max-width: 300px;
    }




}

/* タブレット用のスタイル */
@media (min-width: 600px) and (max-width: 899px) {


    .pc_only {
        display: none;
    }

    .pd_sptab {
        padding: 0 20px;
    }

    .top_u {
        width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .top_gentei img {
        width: 400px;
    }

    header {
        display: grid;
        grid-template-columns: 30% 40%;
        justify-content: space-between;
        padding: 20px;
    }

    .top_apng {
        width: 600px;
        max-width: 100%;
        margin-bottom: 20px;
    }

    .saiyasu_tesuu img {
        width: 400px;

    }

    .saiyasu_kantan img {
        width: 500px;

    }

    .max_tab650 {
        max-width: 650px;
        margin-left: auto;
        margin-right: auto;
    }

    .contact_title img {
        width: 350px;

    }

    .contact_wrap {
        padding: 60px 80px;
    }

    .about_title img {
        max-width: 400px;
    }

    .about_title2 img {
        max-width: 500px;
    }

    .choice {
        padding: 40px;
    }

    .choice img {
        width: 550px;
    }

    .follow a img {
        width: 300px;
    }


}

/* PC用のスタイル */
@media (min-width: 900px) {

    a {
        cursor: pointer;
        display: block;
        transition: transform 0.3s ease, opacity 0.5s ease;

    }

    a:hover {
        transform: translateY(3px);
        opacity: 0.8;
    }

    .pc_only {
        display: block;
    }

    img {
        width: inherit;
        max-width: 100%;
    }

    .ta_c_sp {
        text-align: left;
    }

    .sp_tab_only {
        display: none;

    }

    .pd_15 {
        padding: 0;
    }

    .mb_small {
        margin-bottom: 20px;
    }

    .mb_middle {
        margin-bottom: 60px;
    }

    .mb_big {
        margin-bottom: 80px;
    }

    .top {
        background: url(img/topbg-circle.png) no-repeat center top, linear-gradient(rgb(249, 253, 255) 0%, rgb(195, 212, 223) 65%, rgb(185, 201, 213) 100%);
        padding: 0 0 80px 0;
    }

    header {
        max-width: 1300px;
        margin: 0 auto;
        grid-template-columns: 30% 70%;
        padding: 30px 0 0 0;
        align-items: center;
    }

    header img {
        max-width: 100%;
    }

    .top_u {
        max-width: 1200px;
        margin: 50px auto 0;
        background: url(img/telimg.png) no-repeat right top 10px;
        background-size: contain;
        padding-bottom: 50px;
    }

    .top_logo img {
        width: 100%;
        max-width: 385px;
    }

    .top_tel_m {
        display: flex;
        justify-content: flex-end;
    }

    .top_tel_m p {
        padding-left: 30px;
    }

    .top_apng {
        margin-bottom: 30px;
    }

    .saiyasu {
        margin: 100px auto;
        max-width: 1200px;
    }

    .saiyasu_wrap {
        position: relative;
        width: 750px;
        margin: 0 auto;
    }

    .saiyasu_kantan {
        text-align: right;
    }

    .contact_wrap {
        padding: 60px;
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }

    .contact {
        display: grid;
        grid-template-columns: 50% 50%;
        max-width: 980px;
        grid-column-gap: 10px;
        justify-content: space-around;
        margin: 0 auto;
        width: 100%;
    }

    .contact li:first-child {
        margin-bottom: 0;
    }

    .aboutbg {
        background: url(img/about_bg.png) no-repeat top rgba(236, 242, 245);
        background-size: cover;
        padding-bottom: 30px;
    }

    .bg_reason {
        background: url(img/rea_bg.png) no-repeat center top 30px;
        background-size: inherit;
        margin-bottom: -30px;
    }

    .choice {
        margin-top: 20px;
        padding: 80px 0;
    }

    .footer_logo img {
        width: inherit;
    }

    footer {
        padding: 70px 0
    }

    footer dl {
        width: 500px;
        display: grid;
        grid-template-columns: 0.5fr 1fr;
        margin: 0 auto;
    }

    footer dd {
        border: none;
    }

    footer dt {
        text-align: right;
        padding-right: 2em
    }

    .follow a img {
        width: 400px;
    }



}