@charset "UTF-8";
@import url("reset.css");
/*basic*/
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.clearfix {
    min-height: 1px;
}

.clear {
    clear: both;
}

@media screen and (max-width: 767px) {
    .pc-s {
        display: none !important;
    }
}

@media screen and (min-width: 768px) {
    .sp-s {
        display: none !important;
    }
}

.fb {
    font-weight: bold;
}

html {
    font-size: 62.5%;
}

@media (max-width: 767px) {
    html {
        font-size: calc(100vw / 37.5);
    }
}

body {
    font-family: "Hiragino Mincho ProN","Hiragino Mincho Pro",YuMincho,'Yu Mincho',serif;
    color: #3b5351;
    font-weight: 500;
    line-height: 1.6;
    font-size: 1.8rem;
}

h1, h2, h3, h4, h5, h5, p {
    font-feature-settings: "palt";
}

.site-main {
    position: relative;
    min-height: 100vh;
}

.site-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 50px;
    background: white;
}

.site-header .logo {
    padding: .5vw 0 0 4vw;
}

@media (max-width: 767px) {
    .site-header .logo {
        padding: 2vw 0 0 4vw;
    }
}

.site-header .logo a {
    display: block;
    line-height: 1;
}

@media (max-width: 767px) {
    .site-header .logo a img {
        width: 180px;
    }
}

.site-footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background: white;
}

.site-footer nav {
    position: relative;
    display: flex;
    justify-content: center;
    padding: 20px 0;
}

@media (max-width: 767px) {
    .site-footer nav {
        padding: 10px 0;
    }
}

.site-footer nav::before {
    display: block;
    content: "";
    width: 80%;
    height: 2px;
    background: #3b5351;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.site-footer nav a {
    color: #3b5351;
    text-decoration: none;
    font-size: 1.4rem;
    padding: 0 25px;
    position: relative;
    display: flex;
    align-items: center;
    line-height: 1;
    font-family: "游ゴシック体", YuGothic,"Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic","sans-serif";
}

@media (max-width: 767px) {
    .site-footer nav a {
        font-size: 1rem;
    }
}

.site-footer nav a::after {
    content: "";
    width: 1px;
    height: 100%;
    display: block;
    background: #3b5351;
    position: absolute;
    right: 0;
    top: 0;
}

.site-footer nav a:last-child::after {
    content: none;
}

.site-footer .copy-area {
    background: #3b5351;
    display: flex;
    justify-content: center;
    padding: 15px 0;
}

.site-footer .copy-area p {
    color: white;
    font-size: 1.2rem;
    font-family: "游ゴシック体", YuGothic,"Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic","sans-serif";
}

@media (max-width: 767px) {
    .site-footer .copy-area p {
        font-size: .8rem;
    }
}

.sec {
    padding: 15vw 10vw 30vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 767px) {
    .sec {
        flex-wrap: wrap;
        padding: 25vw 10vw 40vw;
    }
}

.sec .txt-area {
    text-align: center;
    width: 60%;
}

@media (max-width: 767px) {
    .sec .txt-area {
        order: 1;
        width: 100%;
    }
}

.sec .txt-area h2 {
    font-size: 2.4vw;
    margin-bottom: .5vw;
    font-weight: 100;
}

@media (max-width: 1500px) {
    .sec .txt-area h2 {
        font-size: 3.2vw;
        margin-bottom: 2vw;
    }
}

@media (max-width: 1000px) {
    .sec .txt-area h2 {
        font-size: 3.2vw;
    }
}

@media (max-width: 767px) {
    .sec .txt-area h2 {
        font-size: 2.4rem;
    }
}

.sec .txt-area p {
    line-height: 2;
    font-size: 1.0vw;
}

@media (max-width: 1500px) {
    .sec .txt-area p {
        font-size: 1.4vw;
    }
}

@media (max-width: 1000px) {
    .sec .txt-area p {
        font-size: 1.8vw;
    }
}

@media (max-width: 767px) {
    .sec .txt-area p {
        font-size: 1.2rem;
    }
}

.sec .fig {
    width: 20%;
}

@media (max-width: 1500px) {
    .sec .fig {
        width: 30%;
    }
}

@media (max-width: 767px) {
    .sec .fig {
        order: 0;
        width: 60%;
        margin: 0 auto 8vw;
    }
}

.sec .fig img {
    width: 100%;
    height: auto;
}

.sec .map {
    width: 20%;
    overflow: hidden;
    position: relative;
    border: 0.6vw solid #3b5351;
    border-radius: 50%;
}

@media (max-width: 1500px) {
    .sec .map {
        width: 30%;
    }
}

@media (max-width: 767px) {
    .sec .map {
        order: 0;
        width: 60%;
        margin: 0 auto 8vw;
    }
}

.sec .map::before {
    content: "";
    display: block;
    padding-top: 100%;
}

.sec .map iframe {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

@media (max-width: 767px) {
    .sec .map iframe {
        object-position: 0 100%;
    }
}

.sec + .sec {
    padding-top: 0;
}

.policy-area {
    padding: 6vw 10vw 15vw;
}

@media (max-width: 2000px) {
    .policy-area {
        padding-top: 12vw;
    }
}

@media (max-width: 767px) {
    .policy-area {
        padding: 14vw 5vw 34vw;
    }
}

.policy-area h2 {
    font-size: 3.6rem;
    margin-bottom: .5vw;
    font-weight: 100;
    text-align: center;
}

@media (max-width: 767px) {
    .policy-area h2 {
        font-size: 2rem;
    }
}

.policy-area h2 + p {
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 3vw;
}

@media (max-width: 767px) {
    .policy-area h2 + p {
        font-size: 1.3rem;
        margin-bottom: 5vw;
    }
}

.policy-area .txt-area p {
    font-size: 1.6rem;
}

@media (max-width: 767px) {
    .policy-area .txt-area p {
        font-size: 1rem;
        line-height: 1.8;
    }
}

.policy-area .txt-area p + p {
    margin-top: 2em;
}

.policy-area .sign {
    text-align: center;
    margin-top: 4em;
}

@media (max-width: 767px) {
    .policy-area .sign {
        margin-top: 2em;
    }
}

.policy-area .sign p {
    font-size: 1.6rem;
}

@media (max-width: 767px) {
    .policy-area .sign p {
        font-size: 1rem;
        line-height: 1.8;
    }
}

.policy-area .sign p + p {
    margin-top: 2em;
}
/*# sourceMappingURL=top-new.css.map */
