@charset "utf-8";

/* common */
body {
    position: relative;
    letter-spacing: 0.05em;
    font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif;
    font-weight: 600;
    font-feature-settings: "palt";
}

body.is-active {
    overflow: hidden;
}

a {
    text-decoration: none;
    transition: all 0.3s;
}

a[href^="tel:"] {
    pointer-events: none;
}

a:hover {
    opacity: 0.8;
}

ul {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

article,
aside,
footer,
header,
nav,
section {
    display: block;
}

address {
    font-weight: normal;
    font-style: normal;
}

.is-pc {
    display: inherit;
}

.is-sp {
    display: none;
}

.pc {
    display: block;
}

@media screen and (max-width: 768px) {
    .is-pc {
        display: none;
    }

    .is-sp {
        display: block;
    }

    a[href^="tel:"] {
        pointer-events: auto;
    }

    .pc {
        display: none;
    }
}

/* module */
/*
_btn - Commonly used button styles.
*/
._btn {
    width: 184px;
    height: 55px;
    margin-top: 32px;
    border: 1px solid #4b350b;
    transition: all 0.3s;
}

._btn a,
._btn button {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 1;
    color: #2b1c04;
    transition: all 0.3s;
}

._btn a::after,
._btn button::after {
    content: "";
    width: 7px;
    height: 13px;
    top: calc(50% - 7px);
    right: 8px;
    position: absolute;
    display: inline-block;
    background: no-repeat center / cover url(../image/top/arrow_off.png);
    transition: all 0.3s;
}

._btn a:hover,
._btn button:hover {
    color: #ffffff;
    background: #4b350b;
    opacity: 1;
}

._btn a:hover::after,
._btn button:hover::after {
    background: no-repeat center / cover url(../image/top/arrow_on.png);
}

/* header */
#header {
    width: 100%;
    height: 93px;
    padding: 14px 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#header .wrapper {
    width: 100%;
    max-width: 932px;
    margin: 0 auto;
    padding: 0 1em;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#header .header_nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#header .header_nav li+li {
    margin-left: 52px;
}

#header .header_nav li a {
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
    color: #413417;
    transition: all 0.3s 0s ease;
}

#header .header_nav li a:hover {
    color: #ddaf27;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    #header {
        height: auto;
    }

    #header .wrapper {
        max-width: initial;
        padding: 0 5%;
    }

    #header .logo img {
        width: 75%;
    }

    #header .header_nav {
        width: 100%;
        padding: 3em 0 1em;
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
        background: #ffffff;
        transform: translateY(-100%);
        transition: all .3s linear;
    }

    #header .header_nav.is-active {
        transform: translateY(0);
    }

    #header .header_nav ul {
        width: 100%;
        padding: 3em 0;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        background: #ffffff;
    }

    #header .header_nav li {
        width: 90%;
        border-bottom: 1px solid rgba(219, 175, 1, 0.7);
    }

    #header .header_nav li+li {
        margin-top: 1.5em;
        margin-left: 0;
    }

    #header .header_nav li a {
        width: 100%;
        height: 100%;
        padding-bottom: 1em;
        display: inline-block;
        text-align: center;
        color: #a58726;
    }
}

/* sp-nav */
.sp-menu_open {
    display: none;
}

@media screen and (max-width: 768px) {
    .sp-menu_open {
        width: 50px;
        height: 50px;
        border: none;
        border-radius: 3px;
        display: inline-block;
        position: fixed;
        top: 0.9em;
        right: 5%;
        z-index: 100;
        background: #2b1c04;
        cursor: pointer;
    }

    .sp-menu_open span {
        width: 45%;
        height: 3px;
        border-radius: 3px;
        display: inline-block;
        transition: all .3s;
        position: absolute;
        left: 13px;
        background-color: #fff;
    }

    .sp-menu_open span:nth-of-type(1) {
        top: 15px;
    }

    .sp-menu_open span:nth-of-type(2) {
        top: 23px;
    }

    .sp-menu_open span:nth-of-type(3) {
        top: 31px;
    }

    .sp-menu_open.is-active span:nth-of-type(1) {
        top: 18px;
        left: 13px;
        transform: translateY(6px) rotate(-45deg);
        width: 50%;
    }

    .sp-menu_open.is-active span:nth-of-type(2) {
        opacity: 0;
    }

    .sp-menu_open.is-active span:nth-of-type(3) {
        top: 30px;
        left: 13px;
        transform: translateY(-6px) rotate(45deg);
        width: 50%;
    }
}

/* fv */
#sec_fv {
    width: 100%;
}

#sec_fv .sec_fv_top {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: repeat-x center top / cover url(../image/top/fv_bg.jpg);
}

#sec_fv .sec_fv_top .textarea .sub {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    color: #4b350b;
}

#sec_fv .sec_fv_bot {
    width: 540px;
    margin: 0px auto 0;
}

#sec_fv .sec_fv_bot .imgarea {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#sec_fv .sec_fv_bot .catch {
    margin: 0px 0 40px;
    font-size: 16px;
    line-height: 1.875;
    text-align: center;
}

#sec_fv .sec_fv_bot_bgimg {
    width: 100%;
    background: repeat-x center top / cover url(../image/top/fv_bg_02.png);
    background-size: contain;
    padding: 50px 0;
}

@media screen and (max-width: 768px) {
    #sec_fv .sec_fv_top .textarea .name {
        width: 90%;
        margin: 0 auto;
    }

    #sec_fv .sec_fv_top .textarea .sub {
        margin-top: 16px;
        line-height: 1.5;
    }

    #sec_fv .sec_fv_bot {
        width: 90%;
        margin: -96px auto 0;
        /* 3/4 */
    }

    #sec_fv .sec_fv_bot .imgarea {
        width: 260px;
        margin: 1em auto 0;
    }

    #sec_fv .sec_fv_bot .imgarea li {
        width: 45%;
    }

    #sec_fv .sec_fv_bot .catch {
        width: 100%;
        margin: 90px auto 0;
    }

    #sec_fv .sec_fv_bot_bgimg {
        background-size: cover;
    }
}

/* about */
#sec_about {
    margin-top: 0px;
    padding: 60px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    background: no-repeat center / cover url(../image/top/about_bg.png);
    border-bottom: 2px solid #4b350b;
    border-top: 2px solid #4b350b;
}

#sec_about .text {
    margin-top: 36px;
    font-size: 16px;
    line-height: 1.875;
    text-align: center;
    color: #4b350b;
}

#sec_about .text span.num {
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    #sec_about {
        padding: 30px 0;
    }

    #sec_about .title img {
        width: 70%;
        margin: 0 auto;
    }

    #sec_about .text {
        width: 90%;
        margin: 36px auto 0;
    }
}

/* price */
#sec_price {
    width: 100%;
    max-width: calc(1020px + 2px);
    margin: 42px auto 0;
}

#sec_price .title {
    text-align: center;
    margin: 0 auto;
}

#sec_price .title img {
    margin: 0 auto;
}

#sec_price .price_list {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

#sec_price .price_list li {
    width: 31.48vw;
    max-width: 340px;
    margin-top: 45px;
    padding: 12px 28px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

#sec_price .price_list li+li.animate__animated {
    border-left: 1px solid #dbaf01;
}

#sec_price .price_list li .name {
    font-size: 21px;
    line-height: 1.14;
    text-align: center;
    color: #a58726;
}

#sec_price .price_list li .desc {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.5;
}

#sec_price .price_list li .price {
    margin-top: auto;
    font-size: 18px;
    line-height: 1;
    text-align: right;
    vertical-align: bottom;
    color: #a58726;
}

#sec_price .price_list li .price span.sm {
    font-size: 10px;
}

@media screen and (max-width: 768px) {
    #sec_price {
        margin: 21px auto 0;
        display: flex;
        flex-direction: column;
    }

    #sec_price .title img {
        width: 70%;
        margin: 0 auto;
    }

    #sec_price .price_list {
        align-items: center;
        flex-direction: column;
    }

    #sec_price .price_list li {
        width: 80vw;
        max-width: initial;
        margin-top: 22px;
        padding: calc(6px + 1em) 14px 6px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

    #sec_price .price_list li+li.animate__animated {
        border-top: 1px solid #dbaf01;
        border-left: none;
    }

    #sec_price .price_list li .desc {
        margin-top: calc(7px + 1em);
    }

    #sec_price .price_list li .price {
        margin-top: 1em;
        /* auto */
    }
}

/* point / contact */
.sec_col2 {
    width: 100%;
    margin-top: 0px;
    display: flex;
    justify-content: space-between;
}

#sec_point,
#sec_contact {
    width: 50vw;
    padding: 62px 0 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: no-repeat center / cover;
}

#sec_contact {
    width: 100vw;
}

#sec_point {
    background-image: url(../image/top/point_bg.png);
    border-right: 2px solid #4b350b;
    border-bottom: 2px solid #4b350b;
}

#sec_contact {
    background-image: url(../image/top/contact_bg.png);
    border-bottom: 2px solid #4b350b;
}

#sec_point .title img,
#sec_contact .title img {
    margin: 0 auto;
    text-align: center;
}

#sec_point .text,
#sec_contact .text {
    margin-top: 42px;
    font-size: 16px;
    line-height: 1.875;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .sec_col2 {
        flex-direction: column;
    }

    #sec_point,
    #sec_contact {
        width: 100%;
        padding: 31px 0 30px;
    }

    #sec_point .title img,
    #sec_contact .title img,
    #hamao .title img {
        width: 70%;
        margin: 0 auto;
        text-align: center;
    }

    #sec_point .text,
    #sec_contact .text {
        width: 90%;
        margin: 21px auto 0;
        font-size: 16px;
        line-height: 1.875;
        text-align: center;
    }

    #sec_point {
        border-right: none;
    }
}


/* 濱尾先生 */


#hamao {
    text-align: center;
    padding: 80px 0;
    background-color: #fff9ef;
}

#hamao .title img {
    margin: 0 auto 30px;
    text-align: center;
}

#hamao .flex {
    display: flex;
    width: 600px;
    margin: 0 auto 30px;
    justify-content: space-between;
    align-items: center;
}

#hamao .intro {
    text-align: start;
}

#hamao .flex .name {
    font-size: 1.5em;
    font-weight: bold;
}

#hamao .flex .name-kana {
    margin: 0 0 30px;
}

#hamao .flex .google {
    color: #fff;
    background-color: #ceb372;
    padding: 2px 1em;
    display: block;
    width: fit-content;
    border-radius: 10px;
    margin: 10px 0 0;
}

#hamao .career {
    width: fit-content;
    margin: 0 auto;
}

#hamao .career .text {
    text-align: start;
}

#hamao .career .flex {
    justify-content: start;
    max-width: 450px;
}

#hamao .career .flex .circle {
    display: inline-block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #ceb372;
    color: #fff;
    text-align: center;
    line-height: 80px;
    margin: 0 20px 0 0;
}


.text li:before {
    content: '・';
    color: #a8935b;
}


#hamao .reco {
    width: 800px;
    margin: 0 auto;
}

#hamao .reco .attention {
    text-align: center;
    font-size: 1.3em;
    color: #7c7152;
    display: block;
    text-decoration: underline;
    margin: 0 0 10px 0;
}


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

    #hamao {
        text-align: center;
        padding: 80px 0;
        background-color: #fff9ef;
    }

    #hamao .title img {
        width: 70%;
        margin: 0 auto 20px;
        text-align: center;
        max-width: 230px;
    }

    #hamao .flex {
        display: flex;
        width: 100%;
        margin: 0 auto 30px;
        justify-content: space-around;
        align-items: center;
        flex-wrap: wrap;
    }

    #hamao .img {
        text-align: center;
    }

    #hamao .flex .name {
        font-size: 1.5em;
        font-weight: bold;
    }

    #hamao .flex .name-kana {
        margin: 0 0 30px;
    }

    #hamao .flex .google {
        color: #fff;
        background-color: #ceb372;
        padding: 2px 1em;
        display: block;
        width: fit-content;
        border-radius: 10px;
        margin: 10px 0 0;
    }

    #hamao .career {
        width: 95%;
        margin: 0 auto;
    }

    #hamao .career .flex {
        justify-content: start;
        width: 100%;
    }

    #hamao .career .flex .circle {
        display: inline-block;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: #ceb372;
        color: #fff;
        text-align: center;
        line-height: 80px;
        margin: 0 20px 0 0;
    }


    .text li:before {
        content: '・';
        color: #a8935b;
    }


    #hamao .reco {
        width: 90%;
        margin: 0 auto;
    }

    #hamao .reco .attention {
        text-align: center;
        font-size: 1.3em;
        color: #7c7152;
        display: block;
        text-decoration: underline;
        margin: 0 0 10px 0;
    }
}




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

    #hamao .career .flex {
        display: block;
    }

    #hamao .career .flex .circle {
        margin: 0 0px 20px;
    }
}












/* company */
#sec_company {
    width: 100%;
    margin-top: 120px;
}

#sec_company .title img {
    margin: 0 auto;
    text-align: center;
}

#sec_company .list {
    width: 100%;
    max-width: 554px;
    margin: 40px auto 0;
}

#sec_company .list dl {
    border-bottom: 1px solid #cec9b6;
    display: flex;
    justify-content: space-between;
    align-items: start;
}

#sec_company .list dt,
#sec_company .list dd {
    width: 50%;
    padding: 7px 0.5em;
    font-size: 14px;
    line-height: 1.71;
}

#sec_company .list dd a {
    font-size: 14px;
    line-height: 1.71;
    color: #000000;
}

#sec_company .list span {
    color: #dbaf01;
}

#sec_company .list dd a:hover {
    text-decoration: underline
}

@media screen and (max-width: 768px) {
    #sec_company {
        margin-top: 60px;
        display: flex;
        flex-direction: column;
    }

    #sec_company .title img {
        width: 70%;
    }

    #sec_company .list {
        max-width: initial;
        margin: 20px auto 0;
    }

    #sec_company .list dl {
        width: 90%;
        margin: 0 auto;
        border-bottom: 1px solid #cec9b6;
    }

    #sec_company .list dd {
        word-break: break-all;
    }
}

/* footer */
#footer {
    width: 100%;
    margin-top: 120px;
    padding-bottom: 16px;
    background: #231604;
}

#footer .footer_nav {
    width: 100%;
    padding: 24px 0 26px;
    border-top: 1px solid #f4eac3;
    background: #f4eac3;
}

#footer .footer_nav ul {
    display: flex;
    justify-content: center;
}

#footer .footer_nav li {
    margin: 0 2.59vw;
}

#footer .footer_nav li a {
    font-size: 16px;
    line-height: 1;
    color: #2b1c04;
    transition: all 0.3s 0s ease;
}

#footer .footer_nav li a:hover {
    color: #ddaf27;
    text-decoration: underline;
}

#footer .footer_info {
    width: 100%;
    padding: 64px calc((100% - 834px) / 2) 0;
    display: flex;
    justify-content: center;
}

#footer .footer_info .address {
    width: 33.57%;
    margin-left: 1em;
    flex-shrink: 1;
}

#footer .footer_info .address .logo {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

#footer .footer_info .address .logo img {
    max-width: 100%;
    display: block;
}

#footer .footer_info .address .address_list {
    margin-top: 22px;
    padding-left: 14px;
    font-size: 14px;
    line-height: 1.71;
    color: #ffffff;
}

#footer .footer_info .address .address_list li a {
    font-size: 14px;
    line-height: 1.71;
    color: #ffffff;
}

#footer .footer_info .address .address_list li+li {
    margin-top: 12px;
}

#footer .footer_info .map {
    /* width: 63.78%; */
    flex-shrink: 2;
}

#footer .footer_info .map img {
    margin: 0 auto;
    width: 75px;
}

#footer .footer_info .map .map_iframe {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 47.64%;
    position: relative;
}

#footer .footer_info .map .map_iframe iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

#footer .copy {
    width: 100%;
    margin-top: 70px;
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #ffffff;
    font-weight: normal;
}

@media screen and (max-width: 768px) {
    #footer {
        margin-top: 60px;
        padding-bottom: 8px;
    }

    #footer .footer_nav {
        padding: 12px 0 13px;
    }

    #footer .footer_nav ul {
        flex-direction: column;
        align-items: center;
    }

    #footer .footer_nav li {
        margin: 2.59vw;
    }

    #footer .footer_info {
        padding: 32px 5% 0;
        display: flex;
        flex-direction: column;
    }

    #footer .footer_info .address {
        width: 100%;
        margin-left: 0;
    }

    #footer .footer_info .address .logo {
        align-items: center;
    }

    #footer .footer_info .address .address_list {
        margin-top: 11px;
        padding-left: 0;
    }

    #footer .footer_info .address .address_list li+li {
        margin-top: 6px;
    }

    #footer .footer_info .map {
        width: 100%;
        margin-top: 1em;
    }

    #footer .copy {
        margin-top: 35px;
    }
}

/* modal */
#modalPoint {
    display: none;
}

#modalPoint.modal {
    max-width: 80%;
    padding: 0;
    border-radius: 0;
    z-index: 1000;
    box-shadow: none;
}

#modalPoint.modal>* {
    z-index: 1000;
}

.modal_wrap {
    width: 100%;
    max-width: 1080px;
    height: 100%;
    margin: 0 auto;
    padding: 64px 74px;
    position: relative;
    box-sizing: border-box;
    background: #f4eac3;
}

#modalPoint.modal {
    max-width: 1080px;
}

#modalPoint.modal a.close-modal {
    width: 42px;
    height: 42px;
    position: fixed;
    top: 1em;
    right: 1.5em;
    background-image: url('../image/top/modal_btn_close_off.png');
    transition: all 0.3s;
}

#modalPoint.modal a.close-modal:hover {
    opacity: 1;
    background-image: url('../image/top/modal_btn_close_on.png');
}

.modal_inner {
    width: 100%;
    height: 100%;
    padding: 54px;
    box-sizing: border-box;
    background: #ffffff;
}

/* .modal_inner .title{
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    text-decoration: underline;
} */

.modal_inner .title {
    text-align: center;
}

.modal_inner .text {
    margin-top: 44px;
    font-size: 16px;
    line-height: 1.875;
}

.modal_inner .text span {
    color: #a50e0e;
}

/* .modal_inner .img{
    margin: 68px auto 0;
} */
.modal_inner .img img {
    margin: 0 auto;
}

.modal_inner .sp {
    display: none;
    margin: 0 auto;
}

.modal_inner .pc {
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .blocker {
        width: 100vw;
        height: 100vh;
        padding-left: 0;
        padding-right: 0;
        z-index: 1000;
    }

    .modal {
        z-index: 1000;
    }

    .modal_wrap {
        max-width: initial;
        padding: 18px;
    }

    #modalPoint.modal a.close-modal {
        width: 36px;
        height: 36px;
        top: 0.5em;
        right: 0.5em;
    }

    .modal_inner {
        padding: 27px;
    }

    .modal_inner .text {
        margin-top: 22px;
    }

    .modal_inner .img {
        margin: 34px auto 0;
    }

    .modal_inner .sp {
        display: block;
    }

    .modal_inner .pc {
        display: none;
    }
}