@charset "utf-8";
/*Googleフォント：Open Sans*/
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap");

* {
    box-sizing: border-box;
    color: #111;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: clamp(14px, 3rem, 18px);
}
.en {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
}
.en-normal {
    font-family: "Open Sans", sans-serif;
    font-weight: normal;
}
.meiryo {
    font-family: "メイリオ", "Meiryo", sans-serif;
}

html {
    font-size: 0.4vw;
    scroll-behavior: smooth;
}
.wrapper {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
}
.wrap {
    width: 90%;
    /* max-width: 1680px; */
    margin-left: auto !important;
    margin-right: auto !important;
    /* overflow: hidden; */
}
.wrap-small {
    width: calc(100% - 20rem);
    max-width: 880px;
    margin-left: auto !important;
    margin-right: auto !important;
}
:root {
    --gold: #b19c5c;
    --black: #180805;
    --beige: #c1b791;
}
p,
dt,
dd,
tr,
th,
td,
li,
a,
b,
em,
span,
strong,
div,
section,
article,
nav,
footer {
    font-size: clamp(14px, 3rem, 18px);
    font-weight: 500;
}
small {
    font-size: 80%;
}
p {
    line-height: 1.6;
    margin-bottom: 1.5em;
}
.shadow {
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}
.btn-circle {
    background: #fff;
    color: #fff;
    width: 10em;
    height: 10em;
    border-radius: 50%;
    overflow: hidden;
}
.btn-circle span {
    color: #fff;
    z-index: 1;
}
.btn-circle:after {
    content: "";
    display: block;
    width: 100%;
    height: 140%;
    background: var(--red);
    position: absolute;
    top: -20%;
    left: 0;
    -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    transition: 0.3s all;
}
.btn-circle:hover:after {
    background: var(--asagi);
}
.link {
    border-bottom: 1px solid var(--dgray);
}
.link:after {
    content: "\f04b";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    padding-left: 0.5em;
    color: var(--dgray);
    font-size: 80%;
}
.link:hover:after {
    color: var(--red);
}
@media screen and (max-width: 1280px) {
    
}
@media screen and (max-width: 980px) {
    .lead {
        text-align: left !important;
    }
    .lead br {
        display: none;
    }
}
@media screen and (max-width: 680px) {
    .btn-circle {
        width: 6em;
        height: 6em;
    }
}

/*MESSAGE*/
.message_a {
    padding: 1em 3em;
    border: 1px solid #000;
}
.message_a:hover {
    background: var(--red);
    border: 1px solid var(--red);
    color: #fff;
}
@media screen and (max-width: 780px) {
    .message p {
        text-align: left !important;
    }
    .message br {
        display: none;
    }
}

/*FOOTER*/
.p-white {
    color: #fff;
}
.footer {
    width: calc(100% - 6.5em);
    margin: 0 0 0 auto;
    background-color: #000;
    padding: 5em;
}
.footer-inner {
    max-width: 1280px;
    margin: 0 auto;
}
.footer-logo img {
    width: 6.5em;
}
.footer-h2 {
    font-size: clamp(14px, 4rem, 18px);
    font-weight: 600;
}
.footer-tel {
    margin-right: 2em;
}
.footer-nav {
    list-style: none;
    padding-left: 0;
}
.footer-nav_list a:hover {
    color: var(--gold);
}
.footer-nav_list span {
    color: #fff;
    margin-right: 1.5em;
}
.footer-nav_list span::after {
    content: "";
    width: 0.5em;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    margin-left: 0.5em;
}
.copywrite {
    color: #fff;
    font-size: 10px;
}
@media screen and (max-width: 980px) {
    .footer-info {
        justify-content: inherit;
    }
    .footer-about {
        display: block;
        width: 100%;
        margin-bottom: 2em;
    }
    .footer-nav {
        margin: 0 3em 0 0;
    }
}
@media screen and (max-width: 780px) {
    .footer {
        width: 100%;
    }
}
@media screen and (max-width: 480px) {
    .footer {
        padding: 2em;
    }
}

/*TOTOP*/
#totop {
    position: fixed;
    bottom: 1em;
    right: 1em;
    z-index: 99999;
}
#totop a {
    width: 3.5em;
    height: 3.5em;
    background: var(--gold);
    border-radius: 50%;
}
#totop a i {
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 150%;
}
#totop a:hover {
     opacity: 0.6;
}

@media screen and (max-width: 580px) {
    #totop {
        
    }
}


