@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap');

.gothic{
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500;
}
.min{
    font-family: 'Noto Serif JP', serif !important;
    font-weight: 400;
}


/* ------------------------------
    reset
------------------------------ */
html {
    font-size: 62.5%;
    overflow-y: scroll;
}

*, *::before, *::after {
    box-sizing: border-box;
}

body, h1, h2, h3, h4, h5, h6, p, address, figure,
div, ul, ol, li, dl, dt, dd,
table, th, td, img, form {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 1.6rem;
    font-weight: 400;
    list-style-type: none;
    font-style: normal;
    font-family: 'Noto Serif JP', serif !important;
    text-align: left;
    color: #424242;
    word-break: break-word;
    box-sizing: border-box;
}
body {
    min-width: 1024px;
}

iframe {
    padding: 0;
    border: 0;
    outline: 0;
    box-sizing: border-box;
}

figure {
    line-height: 1;
}
figure img,img{
    max-width: 100%;
    height: auto;
}

a {
    color: #424242;
    text-decoration: none;
    transition: 0.4s;
}
a img {
    transition: opacity 0.4s ease-out;
}
a:hover img {
    opacity: 0.5;
}
input,
textarea {
    -webkit-appearance: none;
    border: none;
    border-radius: 0;
}
input:focus {
    outline: 0;
}


.pc{ display: block;}
.sp{ display: none;}
img{ image-rendering: -webkit-optimize-contrast;}
@media screen and (max-width: 767px) {
    body {
        min-width: inherit;
    }
    img{
        width: 100%;
        max-width: inherit;
        height: auto;
    }
    .pc{ display: none;}
    .sp{ display: block;}

}
/* ------------------------------
   common
------------------------------ */
.wrapper{
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
.container {
  max-width: 1120px;
  margin: 0 auto;
  width: 89%;
}
.wrap{
    max-width: 1000px;
    margin: 0 auto;
    width: 90%;
}
.inner {
    max-width: 900px;
    margin: 0 auto;
    width: 84%;
}

.flex{
    display: flex;
}
.object-fit-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover";
}
.bold{ font-weight: 700;}

.main_cnts{
    box-sizing: border-box;
}
#contents{ overflow: hidden;}

.aCen{ text-align: center;}
.aL{ text-align: left;}
.aR{ text-align: right;}

a{
    transition: .4s
}
a:hover{
    opacity: .7;
}

.btn{
    position: relative;
    display: block;
    text-align: center;
    font-size: 1.5rem;
    letter-spacing: .1em;
    color: #ae4952;
    border: 1px solid #ae4952;
    padding: 20px 10px;
    border-radius: 5px;
    box-sizing: border-box;
}
.btn:hover{ opacity: 1;}

.btn.-red{
    color: #FFF;
    background: #ae4952;
    border: 1px solid #ae4952;
}
.btn.-green{
    color: #FFF;
    background: #65806c;
    border: 1px solid #65806c;
}
.btn.-small{
    font-size: 1.3rem;
    padding: 11px 10px 12px 10px;
}

.btn:after{
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: '';
    background: url("../img/common/arrow.svg") no-repeat center center;
    background-size: 100% auto !important;
    width: 14px;
    height: 7px;
    transition: .4s;
}
.btn:hover:after{
    right: 14px;
}
.btn.-arrow_white:after{ background: url("../img/common/arrow_white.svg") no-repeat center center;}

.page-title_wrap{
    position: relative;
    padding-top: 30px;
    padding-bottom: 130px;
    box-sizing: border-box;
}
.page-title_wrap .page-title{
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
}

.page-title .title{
    order: 2;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: calc(58 / 28);
    letter-spacing: .15em;
    color: #ae4952;
}
.page-title .title span{
    position: relative;
    display: inline-block;
}
.page-title .title span:after{
    position: relative;
    bottom: -5px;
    display: block;
    content: '';
    margin: 0 auto;
    width: 100%;
    height: 1px;
    background: #ae4952;
}

.page-title .sub{
    order: 1;
    text-align: center;
    font-size: 1.3rem;
    line-height: calc(15 / 13);
    letter-spacing: .2em;
    color: #ae4952;
    margin-bottom: 10px;
}
.page-title .name{
    text-align: center;
    font-size: 1.4rem;
    line-height: calc(18 / 14);
    letter-spacing: .2em;
    color: #ae4952;
}
.page-title .text{
    text-align: center;
}
.page-title .text span{
    display: inline-block;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: calc(18 / 14);
    color: #FFF;
    background: #ae4952;
    border-radius: 10px;
    padding: 14px 27px;
    box-sizing: border-box;
}

.page-title_wrap .bg-img.main-img{
    position: relative;
    display: block;
    text-align: center;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    z-index: 2;
}

.page-title_wrap .bg-img.-left{
    position: absolute;
    top: 50px;
    width: 39%;
    max-width: 505px;
}

.page-title_wrap .bg-img.-right{
    position: absolute;
    top: 64%;
    right: 0;
    width: 70%;
    max-width: 1300px;
	z-index: -1;
}


@media screen and (max-width: 767px) {
    .btn{
        font-size: 3.476vw;
        letter-spacing: .1em;
        padding: 17px 10px;
        border-radius: 5px;
    }

    .btn.-small{
        margin: 0 auto;
        width: 84%;
        font-size: 3.476vw;
        padding: 14px 10px 14px 10px;
    }

    .btn:after{
        right: 20px;
        display: block;
        content: '';
        background: url("../img/common/arrow.svg") no-repeat center center;
        background-size: 100% auto !important;
        width: 4.813vw;
        height: 2.139vw;
    }
    .btn:hover:after{
        right: 10px;
    }
    .page-title_wrap{
        padding-top: 5.348vw;
        padding-bottom: 10.16vw;
    }
    .page-title_wrap .page-title{ margin-bottom: 6.684vw;}
    .page-title .title{
        font-size: 4.545vw;
        line-height: calc(26 / 17);
    }
    .page-title .name{
        font-size: 2.674vw;
    }
    .page-title .text span{
        font-size: 2.674vw;
        border-radius: 3.5vw;
        padding: 10px 16px;
    }
    .page-title_wrap .bg-img{
        display: flex;
        align-items: flex-end;
    }

    .page-title_wrap .bg-img.-right{
        width: 80%;
        top: auto;
        bottom: -18vw;
        max-width: inherit;
		z-index: -1;
    }


}

/* ------------------------------
   header
------------------------------ */
#header {
    width: 100%;
    padding: 0 50px;
}

#header .flex{
    justify-content: space-between;
    align-items: center;
    padding: 33px 0 50px 0;
    box-sizing: border-box;
}
#header .logo{
    position: relative;
    top: 7px;
}
#header .header_btn{
    position: relative;
    top: -16px;
    display: flex;
    align-items: center;
}
.drawer_button {
    display: none;
}
.nav_wrapper .nav_cntents{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.nav_wrapper .nav_cntents ul{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.nav_wrapper .nav_cntents ul li+li{ margin-left: 27px;}
.nav_wrapper .nav_cntents ul li a{
    font-size: 1.4rem;
    letter-spacing: .1em;
}
.nav_wrapper .nav_cntents ul li a span{ display: none;}
.nav_wrapper .nav_btn{
    margin-left: 30px;
    padding-left: 30px;
    border-left: 1px solid #bbbcbd;
    box-sizing: border-box;
}
.nav_wrapper .nav_btn ul{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.nav_wrapper .nav_btn .h_btn+.h_btn{ margin-left: 15px;}
.nav_wrapper .nav_btn .h_btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5.4rem;
    height: 5.4rem;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: normal;
font-size: 1rem;
letter-spacing: 0.05;
    text-align: center;
    line-height: calc(14 / 12);
    color: #FFF;
    border-radius: 100%;
    box-sizing: border-box;
}
.nav_wrapper .nav_btn .h_btn.-line a{ background: #607a67;}
.nav_wrapper .nav_btn .h_btn.-webreserve a{ background: #9b3541;}



@media screen and (max-width: 767px) {
    #header {
        width: 100%;
        padding: 0 4%;
    }
    .is-fixed{
        position: fixed;
        left: 0;
        width: 100%;
    }

    #header .flex{
        justify-content: space-between;
        padding: 4.011vw 0;
    }
    #header .logo{
        position: relative;
        bottom: -1vw;
        width: 35.829vw;
    }
     #header .sp-btn{
         display: flex;
         justify-content: flex-end;
         align-items: center;
    }
    #header .h_btn.-campaign{
        position: relative;
        right: 45%;
        display: inline-block;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700;
        text-align: center;
        color: #ae4952;
        font-size: 2.406vw;
        line-height: 1;
        border: 1px solid #ae4952;
        border-radius: 4.011vw;
        padding: 5px 4.813vw;
        box-sizing: border-box;
        transition: 0.4s;
    }
    .is-fixed #header .h_btn.-campaign{ opacity: 0;}

    .drawer_button {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        opacity: 1;
        position: fixed;
        right: 4%;
        top: 5.5vw;
        padding: 0;
        width: 8.021vw;
        height: 7vw;
        border: none;
        text-align: center;
        cursor: pointer;
        outline: none;
        background: none;
        z-index: 1000;
        transition: 0.4s;
    }
    .drawer_button .drawer_bar {
        display: block;
        width: 100%;
        min-width: 8.021vw;
        height: 1px;
        transition: all 0.2s;
        transform-origin: 0% 0%;
        transform: translateY(-50%);
        position: relative;
        right: 0;
        left: 0;
        margin: auto;
        background-color: #5e5d5c;
    }
    .drawer_button.active .drawer_bar1 {
        transform: rotate(45deg) translate(-50% , -50%);
        left: 50%;
        top: 0;
        margin: 0;
    }
    .drawer_button.active .drawer_bar2{ display: none;}
    .drawer_button.active .drawer_bar3 {
        transform: rotate(-45deg) translate(-50% , -50%);
        left: 50%;
        top: 0;
        bottom: auto;
        margin: -1px 0 0 0;
    }
    .nav_wrapper{
        position: fixed;
        left: 0;
        top: 0;
        opacity: 0;
        width: 100%;
        height: 100vh;
        background: #FFF;
        padding: 4% 4% 52vw 4%;
        overflow: auto;
        -webkit-overflow-scrolling:touch;
        box-sizing: border-box;
        z-index: -1;
    }
    .is-fixed .nav_wrapper{
        opacity: 1;
        z-index: 999;
    }
    .nav_wrapper .nav_cntents{
        display: block;
        padding: 5% 5% 0 5%;
        box-sizing: border-box;
    }

    .nav_wrapper .nav_cntents ul{
        display: block;
    }
    .nav_wrapper .nav_cntents ul li+li{ margin-left: 0;}
    .nav_wrapper .nav_cntents ul li{
        border-bottom: 1px solid #eeeeee;
    }
    .nav_wrapper .nav_cntents ul li a{
        display: flex;
        justify-content: flex-start;
        align-items: center;
        font-size: 3.743vw;
        padding: 17px 15px;
        box-sizing: border-box;
    }
    .nav_wrapper .nav_cntents ul li a span{
        display: inline;
        color: #ae4952;
        font-size: 2.674vw;
        margin-left: 15px;
        letter-spacing: 0.05em;
    }

    .nav_wrapper .nav_btn{
        margin-left: 30px;
        padding-left: 30px;
        border-left: 1px solid #bbbcbd;
        box-sizing: border-box;
    }
    .nav_wrapper .nav_btn ul{
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    .nav_wrapper .nav_btn .h_btn+.h_btn{ margin-left: 15px;}
    .nav_wrapper .nav_btn .h_btn a{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 52px;
        height: 52px;
        font-family: 'Noto Sans JP', sans-serif !important;
        font-weight: 400;
        font-size: 1.2rem;
        letter-spacing: 0;
        text-align: center;
        line-height: calc(14 / 12);
        color: #FFF;
        border-radius: 100%;
        box-sizing: border-box;
    }
    .nav_wrapper .nav_cntents ul.subNav{
        margin-top: 10px;
    }
    .nav_wrapper .nav_cntents ul.subNav li{
        border-bottom: none;
    }
    .nav_wrapper .nav_cntents ul.subNav li a{
        display: inline-block;
        font-size: 3.209vw;
        letter-spacing: .1em;
        padding: 10px 0;
        box-sizing: border-box;
    }
    .nav_wrapper .border{
        border: 1px solid #ae4952;
        border-radius: 2.674vw;
        padding: 2.674vw 7vw;
        box-sizing: border-box;
    }
    .nav_wrapper .contact_wrap{
        margin-top: 5.348vw;
        }

    .nav_wrapper .contact_wrap .contact-box{
        width: 100%;
        padding: 20px 5%;
        box-sizing: border-box;
    }
    .nav_wrapper .contact_wrap .contact-box:not(:last-of-type){
        border-bottom: 1px solid #eeeeee;
    }

    .nav_wrapper .contact_wrap .contact-box .ico{
        text-align: left;
    }
    .nav_wrapper .contact_wrap .contact-box .ico span,
    .nav_wrapper .contact_wrap .contact-box .ico a{
        position: relative;
        font-size: 4.011vw;
        font-weight: 700;
        letter-spacing: 0.15em;
        color: #9d3541;
    }
    .nav_wrapper .contact_wrap .contact-box .ico span:before{
        position: relative;
        top: -3px;
        display: inline-block;
        vertical-align: middle;
        margin-right: 12px;
        content: '';
        background: url("../img/common/ico_tel.svg") no-repeat center center;
        background-size: 100% auto !important;
        width: 7.4vw;
        height: 8.021vw;
    }
    .nav_wrapper .contact_wrap .contact-box .ico.-tel span:before{
        background: url("../img/common/ico_tel.svg") no-repeat center center;
    }
    .nav_wrapper .contact_wrap .contact-box .ico.-webreserve span:before{
        background: url("../img/common/ico_webreserve.svg") no-repeat center center;
    }
    .nav_wrapper .contact_wrap .contact-box .ico.-line span:before{
        background: url("../img/common/ico_line.svg") no-repeat center center;
    }

    .nav_wrapper .contact_wrap .contact-box .txt{
        margin-top: 0;
        margin-left: calc(7.4vw + 12px);
        font-size: 2.674vw;
        line-height: calc(23 / 15);
        letter-spacing: .1em;
        color: #9d3541;
    }
/* animetion */
    .nav_wrapper .nav_cntents ul li,
    .nav_wrapper .contact_wrap{
        -webkit-filter: blur(10px);
        filter: blur(10px);
        opacity: 0;
        -webkit-transition: all .8s ease;
        transition: all .8s ease;
    }
    .-is-show.nav_wrapper .nav_cntents ul li,
    .-is-show.nav_wrapper .contact_wrap{
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
    .delay1{
        -webkit-transition-delay: 70ms !important;
        transition-delay: 70ms !important;
    }
    .delay2{
        -webkit-transition-delay: .14s !important;
        transition-delay: .14s !important;
    }
    .delay3{
        -webkit-transition-delay: .21s !important;
        transition-delay: .21s !important;
    }
    .delay4{
        -webkit-transition-delay: .28s !important;
        transition-delay: .28s !important;
    }
    .delay5{
        -webkit-transition-delay: .35s !important;
        transition-delay: .35s !important;
    }
    .delay6{
        -webkit-transition-delay: .42s !important;
        transition-delay: .42s !important;
    }
    .delay7{
        -webkit-transition-delay: .49s !important;
        transition-delay: .49s !important;
    }
    .delay8{
        -webkit-transition-delay: .56s !important;
        transition-delay: .56s !important;
    }

}


/*@media screen and (max-width: 375px) {
    .drawer_button {
        top:3.2%;
    }
    .drawer_button.active .drawer_bar3 {
        top: 2px;
    }
}
@media screen and (max-width: 360px) {
    .drawer_button {
        top:2.8%;
    }
    .drawer_button.active .drawer_bar3 {
        top: 4px;
    }

}*/
/* ------------------------------
   f_btm
------------------------------ */
.f_btm{
    padding: 86px 0 58px 0;
    box-sizing: border-box;
}
.f_btm .info_wrap{
    justify-content: space-between;
}
.f_btm .info_wrap .box-map{
    width: 56%;
    max-width: 560px;
}
.f_btm .info_wrap .box-map .img{ display: flex;}
.f_btm .info_wrap .box-map .img img{ display: block;}
.f_btm .info_wrap .gmap{
    margin-left: 5px;
    width:198px;
}
.f_btm .info_wrap .gmap iframe{
    width: 100%;
    height: 100%;
    border: none;
    box-sizing: border-box;
}

.f_btm .info_wrap .box-info{
    width: 38%;
    max-width: 376px;
    padding-top: 45px;
    box-sizing: border-box;
}

.f_btm .info_wrap .box-info table{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    margin-bottom: 20px;
    border-top: 1px solid #d2d3d3;
    border-bottom: 1px solid #d2d3d3;
    box-sizing: border-box;
}
.f_btm .info_wrap .box-info table th,
.f_btm .info_wrap .box-info table td{
    color: #ae4952;
    padding: 18px 0 18px 0;
    box-sizing: border-box;
}

.f_btm .info_wrap .box-info table th{
    width: 9.2rem;
    font-size: 1.3rem;
    padding-left: 6px;
    padding-right: 6px;
}
.f_btm .info_wrap .box-info table td{
    position: relative;
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
}
.f_btm .info_wrap .box-info table td .note{
    text-align: center;
    position: absolute;
    font-size: 1.0rem;
    color: #9d3541;
    letter-spacing: 0;
    white-space: nowrap;
    bottom: 2px;
}
.f_btm .info_wrap .box-info p,
.f_btm .info_wrap .box-info li{
    font-size: 1.3rem;
    line-height: calc(23 / 13);
    color: #5f5f60;
    letter-spacing: 0.1em;
}
.f_btm .info_wrap .box-info p.access_txt{ margin-left: 1rem;}

.f_btm .info_wrap .btn_wrap{
    margin-top: 15px;
}

.f_btm .contact_wrap{
    margin-top: 68px;
    display: flex;
}
.f_btm .contact_wrap .contact-box{
    text-align: center;
    width: calc((100% - 2px) / 3);
    padding: 26px 10px;
    box-sizing: border-box;
}
.f_btm .contact_wrap .contact-box:not(:last-of-type){
    border-right: 1px solid #d2d3d3;
}

.f_btm .contact_wrap .contact-box .ico{
    text-align: center;
}
.f_btm .contact_wrap .contact-box .ico span,
.f_btm .contact_wrap .contact-box .ico a{
    position: relative;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .15em;
    color: #ae4952;
}
.f_btm .contact_wrap .contact-box .ico span.tel-link{
    font-size: 1.9rem;
    letter-spacing: 0.1em;
}

.f_btm .contact_wrap .contact-box .ico span:before{
    position: relative;
    top: -3px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 18px;
    content: '';
    background: url("../img/common/ico_tel.svg") no-repeat center center;
    background-size: 100% auto !important;
    width: 37px;
    height: 37px;
}
.f_btm .contact_wrap .contact-box .ico.-tel span:before{
    background: url("../img/common/ico_tel.svg") no-repeat center center;
}
.f_btm .contact_wrap .contact-box .ico.-webreserve span:before{
    background: url("../img/common/ico_webreserve.svg") no-repeat center center;
}
.f_btm .contact_wrap .contact-box .ico.-line span:before{
    background: url("../img/common/ico_line.svg") no-repeat center center;
}

.f_btm .contact_wrap .contact-box .txt{
    margin-top: 15px;
    text-align: center;
    font-size: 1.2rem;
    line-height: calc(19 / 12);
    letter-spacing: .1em;
    color: #ae4952;
}


@media screen and (max-width: 767px) {
    .f_btm{
        padding: 8.021vw 0 6.684vw 0;
    }
    .f_btm.wrap{
        width: 84%;
    }
    .f_btm .info_wrap{
        display: block;
    }
    .f_btm .info_wrap .box-map{
        width: 100%;
        max-width: inherit;
        display: block;
    }
    .f_btm .info_wrap .gmap{
        margin-left: 0;
        margin-top: 8.021vw;
        width:100%;
        height: 50vw;
    }
    .f_btm .info_wrap .box-info{
        width: 100%;
        max-width: inherit;
        padding-top: 0;
        margin-top: 8.021vw;
    }

    .f_btm .info_wrap .box-info table{
        width: 100%;
        table-layout: auto;
        margin-bottom: 5.348vw;
        border-bottom: none;
    }
    .f_btm .info_wrap .box-info table .sp{
        display: table-row;
    }
    .f_btm .info_wrap .box-info table th,
    .f_btm .info_wrap .box-info table td{
        padding: 15px 0 15px 0;
        border-bottom: 1px solid #d2d3d3;
    }

    .f_btm .info_wrap .box-info table th{
        width: 24.5vw;
        font-size: 3.476vw;
        letter-spacing: 0;
        padding-left: 6px;
        padding-right: 6px;
    }
    .f_btm .info_wrap .box-info table tr.sp th{
        font-size: 3.209vw;
        letter-spacing: 0.2em;
    }
    
    .f_btm .info_wrap .box-info table td{
        width: calc((80% - 24.5vw) / 7);
        font-size: 3.209vw;
        letter-spacing: 0.1em;
    }
    .f_btm .info_wrap .box-info table td .note{
        text-align: center;
        position: absolute;
        font-size: 1.0rem;
        bottom: 2px;
    }
    .f_btm .info_wrap .box-info p,
    .f_btm .info_wrap .box-info li{
        font-size: 3.476vw;
        line-height: calc(23 / 13);
    }
    .f_btm .info_wrap .box-info p.access_txt{ margin-left: 1rem;}

    .f_btm .info_wrap .btn_wrap{
        margin-top: 5.348vw;
    }
    .f_btm .contact_wrap{
        margin-top: 8.021vw;
        display: block;
    }
    .f_btm .contact_wrap .contact-box{
        width: 100%;
        padding: 4.813vw 8%;
        text-align: left;
    }
    .f_btm .contact_wrap .contact-box:not(:last-of-type){
        border-right: none;
        border-bottom: 1px solid #d2d3d3;
    }

    .f_btm .contact_wrap .contact-box .ico{
        text-align: left;
    }
    .f_btm .contact_wrap .contact-box .ico span,
    .f_btm .contact_wrap .contact-box .ico a{
        font-size: 4.011vw;
        letter-spacing: 0.15em;
    }
    .f_btm .contact_wrap .contact-box .ico span.tel-link{
        font-size: 4.011vw;
    }

    .f_btm .contact_wrap .contact-box .ico span:before{
        top: -3px;
        margin-right: 12px;
        width: 7.4vw;
        height: 8.021vw;
    }
    .f_btm .contact_wrap .contact-box .txt{
        margin-top: 0;
        margin-left: calc(7.4vw + 12px);
        text-align: left;
        font-size: 3.209vw;
    }

}

/* ------------------------------
   footer
------------------------------ */
#footer{
    position: relative;
    padding: 130px 0 50px 0;
    background: #771d24;
    box-sizing: border-box;
}
#footer .footer_inner01{
    margin-bottom: 115px;
}
#footer .footer_inner01 .f_info{
    margin-left: 300px;
}

#footer .footer_inner01 .f_info .flex{
    align-items: flex-end;
}
#footer .footer_inner01 .f_info .ico.-access{ position: relative; margin-left: 16px;}
#footer .footer_inner01 .f_info .ico.-access span:before{
    position: relative;
    top: -4px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    content: '';
    background: url("../img/common/ico_access.svg") no-repeat center center;
    background-size: 100% auto;
    width: 20px;
    height: 30px;
}

#footer .footer_inner01 .f_info p,
#footer .footer_inner01 .f_info a{
    color: #FFF;
    font-size: 1.3rem;
    line-height: calc(30 / 13);
    letter-spacing: .1em;
}
#footer .footer_inner01 .f_info p.note{
    font-size: 1.1rem;
    line-height: calc(16 / 11);
}

#footer .footer_inner02 {
    justify-content: space-between;
    align-items: center;
}
#footer .footer_inner02 .copy{
    font-size: 1.1rem;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
    color: #FFF;
    letter-spacing: .1em;
}

#footer .footer_inner02 .f_nav ul{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#footer .footer_inner02 .f_nav ul li+li{ margin-left: 30px;}
#footer .footer_inner02 .f_nav ul li a{
    font-size: 1.6rem;
    font-weight: 400;
    color: #FFF;
    letter-spacing: .1em;
}
#footer .footer_inner02 .f_nav ul li a.ico.-contact{ position: relative;}
#footer .footer_inner02 .f_nav ul li a.ico.-contact span:before{
    position: relative;
    top: -2px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    content: '';
    background: url("../img/common/ico_mail.svg") no-repeat center center;
    background-size: 100% auto;
    width: 19px;
    height: 13px;
}


@media screen and (max-width: 767px) {
    #footer{
        padding: 8.556vw 0 14.904vw 0;
    }
    #footer .wrap{ width: 84%; position: relative;}
    #footer .pagetop{
        position: absolute;
        right: 0;
        top: 0;
        width: 2.674vw;
        height: auto;
    }
    #footer .pagetop a:hover,
    #footer .pagetop a:hover img{ opacity: 1;}
    #footer .footer_inner01{
        display: block;
        margin-bottom: 12.834vw;
    }
    #footer .f_logo{
        width: 56%;
    }
    #footer .footer_inner01 .f_info{
        margin-left: 0;
        margin-top: 3.209vw;
    }

    #footer .footer_inner01 .f_info .flex{
        display: block;
    }
    #footer .footer_inner01 .f_info .ico.-access{
        position: relative;
        display: inline-block;
        margin-left: 0;
        margin-top: 2vw;
        letter-spacing: .1em !important;
        text-decoration: underline;
    }

    #footer .footer_inner01 .f_info .ico.-access span:before{
        top: 0;
        margin-right: 10px;
        width: 2.9vw;
        height: 4.9vw;
    }

    #footer .footer_inner01 .f_info p,
    #footer .footer_inner01 .f_info a{
        font-size: 3.476vw;
        line-height: calc(30 / 13);
        letter-spacing: .025em;
    }
    #footer .footer_inner01 .f_info p.tel{ font-size: 4.278vw;}
    #footer .footer_inner01 .f_info .tel-link a{
        font-size: 5.348vw;
        margin-left: 5px;
    }
    #footer .footer_inner01 .f_info p.note{
        font-size: 2.674vw;
    }

    #footer .footer_inner02 {
        justify-content: space-between;
        align-items: center;
    }
    #footer .footer_inner02 .copy{
        font-size: 2.674vw;
    }

    .sp-fixed{
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 88;
    }
    .sp-fixed ul{
        display: flex;
        justify-content: space-between;
    }
    .sp-fixed li{
        width: 48.5%;
        border-radius: 6px 6px 0 0;
        box-sizing: border-box;
    }
    .sp-fixed li a{
        display: block;
        text-align: center;
        color: #FFF;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700;
        font-size: 2.406vw;
        letter-spacing: .1em;
        padding: 3.5vw 10px;
        box-sizing: border-box;
    }

    .sp-fixed li.-line{ background: #738c7a;}
    .sp-fixed li.-webreserve{ background: #ae4952;}
}
/* ------------------------------
    clearfix
------------------------------ */
.cf {
    zoom: 1;
}
.cf::after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
    /* 隙間対応 */
    font-size: 0.1em;
    /* 隙間対応 */
    line-height: 0;
    /* 隙間対応 */
}



/* ------------------------------
   animation
------------------------------ */
.load-anime.js-fadein{ opacity: 0;}
.load-anime.js-fadein.-loaded{
    opacity: 0;
    transition: opacity ease-in 600ms;
    animation: fadeIn 1.2s 0.6s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

.js-anime.js-fadein{
    opacity: 0;
    transition: opacity ease-in 600ms;
}
.js-anime.js-fadein.-active{ opacity: 1;}

.load-anime.js-fadein.-up{
    transform: translate(0,20px);
    transform: translateY(20px);
    transition: opacity ease-in 600ms, transform ease-out 600ms;
}

.load-anime.js-fadein.-left{
    transform: translate(-100px,0);
    transform: translateX(-100px);
    transition: opacity ease-in 600ms, transform ease-out 600ms;
}
.load-anime.js-fadein.-right{
    transform: translate(100px,0);
    transform: translateX(100px);
    transition: opacity ease-in 600ms, transform ease-out 600ms;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate(0,0);
  }
}

.js-fadein.delay1{
    animation-delay: 1.2s !important;
}
.js-fadein.delay2{
    animation-delay: 1.8s !important;
}
.js-fadein.delay3{
    animation-delay: 2.4s !important;
}
.js-fadein.delay4{
    animation-delay: 3.0s !important;
}
.js-fadein.delay5 {
  animation-delay: 3.6s !important;
}
.js-fadein.delay6 {
  animation-delay: 4.2s !important;
}

.u-fade-in-up {
  opacity: 0;
  transition: opacity ease-in 600ms;
}

/* トリガー発火でis-activeを付与 */
.u-fade-in-up.is-scroll-in {
  opacity: 1;
}

.access-list__item.u-fade-in-up:nth-child(2) {
  transition-delay: 250ms;
}

.access-list__item.u-fade-in-up:nth-child(3) {
  transition-delay: 500ms;
}

.access-list__item.u-fade-in-up:nth-child(4) {
  transition-delay: 250ms;
}

.access-list__item.u-fade-in-up:nth-child(5) {
  transition-delay: 500ms;
}

.access-list__item.u-fade-in-up:nth-child(6) {
  transition-delay: 750ms;
}










