@charset "utf-8";


.pci {display:block;}
.spi {display:none;}
.sp_menu_bloc {display:none;}
@media screen and (max-width: 767px) {

.pci {display:none;}
.spi {display:block;}


html {
		height:100%;
    scroll-padding-top: 100px;
}
body {
    height: 100%;
    min-width: auto;
	-webkit-text-size-adjust: 100%;
}

.page-id-19, .page-id-21 {
    grid-template-rows: 45px auto 110px;
}


h1 {
    height: 30px;
    font-size: .7em;
    line-height: 1em;
    padding: 0;
    margin: 0;
}



.inner {
    max-width: none;
    margin: 0 10px;
}

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


header.flex {
    min-height: auto;
}

.header_contact a span em {
    font-size: 10px;
}
.header_contact a span i {
    max-width: 34px;
    width: 1em;
}
.header_contact a span i img {
    display: block;
}
.header_contact a {
    padding: 1em;
    min-height: auto;
}

header .logo {
    width: 100px;
    padding: 0 0.5em;
}
header .logo img {
    display: block;
}

header .header_sns {
    display: none;
}


/* メインビジュアル */

.mv_shop {
    width: 100%;
    height: 80vh;
    margin: 0 auto 30px;
    position: relative;
}

.mv_shop_img_pc {
display: none;
}
    
.mv_shop_img_sp {
    display: block;
    width: 75%;

}

.mv_shop_img_sp ul {
    width: 100%;
}

.mv_shop_img_sp ul li {
    width: 100%;
}




.mv_shop_img_sp img {
    width: 100%;
    height: 50vh;
    object-fit: cover;
    margin: 0;
    border-radius: 0 40px 0 0;
}

.mv_shop_name {
    position: absolute;
    top: 26vh;
    left: 0;
    z-index: 1;
}

.mv_shop_name p {
    width: fit-content;
    font-size: 1.3em;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin: 0 0 10px 0;
    padding: 4px 10px;
}

.mv_shop_txt {
    position: absolute;
    top: 0;
    right: 5px;
    z-index: 1;
    writing-mode: vertical-rl;
    font-size: 1.6em;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.mv_shop_cal {
    position: absolute;
    top: 45vh;
    left: 20px;
    z-index: 1;
    background: #F9F6F1;
    border-top-left-radius: 40px;
    padding: 25px 0 0 20px;
}
    
.cal table {
    width: 95%;
    margin: 0 0 10px 0;
}

.cal table th {
    width: calc( 75% / 7 );
    color: #000;
    font-size: .7em;
    font-weight: bold;
    letter-spacing: 0.01em;
    text-align: center;
    padding: 0 0 8px 0;
}

.cal table th:nth-of-type(1) {
    width: 25%;
}

.cal table td {
    font-size: .75em;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    padding: 8px 0;
    color: #BC9843;
}

.cal table td:nth-of-type(1) {
    color: #000;
}

.cal p {
    color: #000;
    font-size: .6em;
    letter-spacing: 0.001em;
}
    
/* 下層メインビジュアル */

.mv_page {
    width: 95%;
    height: 320px;
    margin: 0;
    position: relative;
    box-sizing: border-box;
}

.mv_page_img {

}

.mv_page_img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    margin: 0;
    border-radius: 0 30px 30px 0;
}

.mv_page_name {
    position: absolute;
    bottom: 60px;
    left: 0;
    z-index: 1;
}

.mv_page_name p {
    width: fit-content;
    font-size: 1.5em;
    font-weight: bold;
    letter-spacing: 0.1em;
    background-color: #BC9843;
    color: #FFFFFF;
    margin: 0 0 10px 0;
    padding: 6px 15px;
}


/* NEWS */

.news_bloc {
    width: 100%;
    margin: 0 auto 40px;
    
}

.news_bloc ul {
margin:0 auto;
padding: 0px;
display:flex;
flex-flow: column;
justify-content: space-between;
width:100%;
}

.news_bloc ul li {
    width: 90%;
    margin: 0 auto 20px;
    padding: 5px 0;
    list-style: none;
    border-left: none;
    border-bottom: 1px #000 solid;
    box-sizing: border-box;
}

.news_bloc ul li:nth-of-type(1) {
    border: none;
    padding: 0;
    margin: 0 auto;
    line-height: 1em;
}

.news_bloc ul li dl {
    display: flex;
  flex-flow: row nowrap;
  width: 100%;
    box-sizing: border-box;
}
    
.news_bloc ul li dl dt,
.news_bloc ul li dl dd {
    box-sizing: border-box;
}

.news_bloc ul li h3 {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.2em;
    font-size: 1.6em;
    margin: 0 0 20px 0;
}

.news_bloc ul li h3::first-letter {
  color: #BC9843;
}

.news_bloc ul li h4 {
    letter-spacing: 0.2em;
    font-size: 1.4em;
    margin: 0 0 40px 0;
}

.news_bloc ul li p {
    margin: 0 0 10px 0;
    padding: 0x;
}

.news_bloc ul li .date {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.2em;
    font-size: 1em;
    margin: 0 0 5px 0;
}

.news_bloc ul li .cat {
    color: #BC9843;
    font-size: 1.1em;
    font-weight: bold;
    margin: 0 0 5px 0;
}

.news_bloc ul li .title {
    font-size: 1em;
    font-weight: bold;
}

.news_bloc ul li .view {
    text-align: right;

}

.news_bloc ul li .view a {
    font-size: 1em;
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    text-decoration: none;
    
}

.news_bloc ul li .view a:hover {
    text-decoration: underline;
}

.news_btn {
    width: 95%;
    display: block;
    position: relative;
    line-height: 1em;
    text-decoration: none;
    border: solid 1px #000;
    background-color: #FFFFFF;
    border-radius: 8px;
}

.news_btn a {
    display: block;
    width: 100%;
     font-size: .9em;
    font-weight: bold;
    text-decoration: none;
    padding: 18px 10px;
}
.news_btn:after {
    content: "";
    width: 28px;
    height: 24px;
    background: url(../images/item-arrows-k.png) no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 10px;
    transition: .2s;
}

.news_btn:hover {
    color: #fff;
    background-color: #F3FCE9;
    cursor: pointer;
}
    
/* grid */

.grid_bloc {
    width: 90%;
    margin: 0 auto 30px;
}

.gridBox {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(11, 180px);
  grid-template-areas:
    "item1 item1"
    "item1 item1"
    "item2 item2"
    "item3 item4"
    "item5 item6"
    "item5 item8"
    "item7 item7"
    "item9 item9"
    "item10 item11"
    "item12 item12"
    "item12 item12";

 /* 余白調整用 */
  margin: 0 auto 30px;
  width: 100%;
    gap: 2em;
}
    
.item13 a {
    text-decoration: none;
}
    
.item13 ul {
    width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}
.item13 ul li {
  flex-basis: calc((100% - 2em) / 2);
    text-align: center;
    border: 3px #BC9843 solid;
    border-radius: 20px;
    margin: 0;
    padding: 10px 0;
    background-color: #FFFFFF;
    box-sizing: border-box;
}

.item13 img {
    width: 65px;
    margin: 0 0 3px 0;
}

.item13 p {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.2em;
    font-size: .9em;
    line-height: 1em;
    margin: 0 0 8px 0;
}

.item13 p::first-letter {
  color: #BC9843;
}

.item13 h5 {
    font-size: .8em;
    line-height: 1em;
    letter-spacing: 0.1em;
    margin: 0;
}

.item-midd {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    text-align: right;
}

.item-midd h3 {
    font-size: 1.2em;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    margin: 0 0 10px 0;
    padding: 0;
}

.item-midd p {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
    color: #FFFFFF;
    letter-spacing: 0.05em;
    font-size: .9em;
    line-height: 1em;
    margin: 0 0 5px 0;
    padding: 0;
}

.item-midd figure img {
    width: 100%;
    height: auto;
    max-width: 24px;
    object-fit: contain;
    border-radius: 0px; 
    margin: 0;
    padding: 0;
}

.item-top {
    position: absolute;
    top: 20px;
    right: 10px;
    text-align: right;
}

.gridBox h4 {
    position: absolute;
    top: 20px;
    left: 10px;
    font-size: 1.2em;
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
}

.item-top h3 {
    font-size: 1.2em;
    line-height: 1.3em;
    letter-spacing: 0.05em;
    margin: 0 0 10px 0;
    padding: 0;
}

.item-top p {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    font-size: .9em;
    line-height: 1.2em;
    margin: 0 0 5px 0;
    padding: 0;
    color: #FFFFFF;
}

.item-top figure img {
    width: 100%;
    height: auto;
    max-width: 24px;
    object-fit: contain;
    border-radius: 0px; 
    margin: 0;
    padding: 0;
}

.item-bottom figure img {
    position: absolute;
    bottom: 5px;
    right: 30px;
    width: 100%;
    height: auto;
    max-width: 120px;
    object-fit: contain;
    border-radius: 0px; 
    margin: 0;
    padding: 0;
}

.item-left figure img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 20px;
    width: 100%;
    height: auto;
    max-width: 140px;
    object-fit: contain;
    border-radius: 0px; 
    margin: 0;
    padding: 0;
}

/* google map */
    
.gmap_sec {
    width: 90%;
    padding: 30px 0 20px;
    margin: 0 auto;
    text-align: center;
}


.gmap_bloc {
    width: 100%;
    margin: 0 auto 40px;
    
}
    
.gmap {
position: relative;
padding-bottom: 86.25%;
height: 0;
overflow: hidden;
    border-radius: 20px;
}
    
.gmap_sec img {
    max-width: 60%;
}


/* *************************************************************************
 footer
/* ************************************************************************* */
footer {
    background: #BC9843;
    color: #fff;
    padding: 30px 0 0 0;
}

.footer_inner {
    max-width:90%;
    margin:0 auto 40px;
}

footer .cal {
    background: #F9F6F1;
    border-radius: 24px;
    padding: 25px 20px;
}

footer .cal table {
    width: 100%;
    margin: 0 0 10px 0;
}

.footer_top {
    overflow: hidden;
    border-bottom: 1px #fff solid;
    padding: 0 0 40px 0;
}

.footer_left {
    float: none;
    width: 100%;
    margin: 0 0 30px 0;
}
    
.footer_left dl {
    width: 100%;
    box-sizing: border-box;
}

.footer_logo {
    padding: 0 0 20px 0;
}

img.footer_logo {
    display: block;
    max-width: 230px;
    margin: 0 auto;
}

.footer_left h5 {
    font-weight: bold;
    letter-spacing: 0.15em;
    font-size: 1em;
    line-height: 1em;
    margin: 0 0 10px 0;
}

.footer_left p {
    letter-spacing: 0.1em;
    font-size: .9em;
    line-height: 1em;
    margin: 0 0 30px 0;
}

.footer_contact {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 0 25px;
}

.footer_contact .tel p {
    display: inline-block;
    font-family: "Marcellus", serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    font-size: .9em;
    line-height: 1.2em;
    margin: 0;
    padding: 0;
}
    
.footer_contact .mail p {
    letter-spacing: 0.1em;
    font-size: .8em;
    line-height: 1em;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

.footer_right {
    float: none;
    width: 100%;
}

.footer_menu {
    margin: 0;
    padding: 0 0 2em;
}
.footer_menu .inner {
    align-items: stretch;
    justify-content: space-between;
}

.footer_link_cell {
    text-align: left;
    flex-wrap: wrap;
    gap: 1em;
}
.footer_link_cell + .footer_link_cell {
}


.footer_link_cell ul:nth-of-type(1) {
    width: 48%;
}
    
.footer_link_cell ul:nth-of-type(2) {
    width: 48%;
}
    
.footer_link_cell ul:nth-last-of-type(1){
    width: 100%;
}

.footer_link_cell ul li ul {
    width: 100%;
    display: flex;
    flex-flow: nowrap;
    gap: 1em;
}

.footer_link_cell ul li + li {

}
.footer_link_cell ul li.lv1 {
    font-size: .9em;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin: 0 0 1.3em 0;
}
.footer_link_cell ul li.lv2 {
    font-size: .8em;
    line-height: 1.5em;
    font-weight: normal;
    padding: 0 0 0 1em;
    margin: 0 0 1.1em 0;
}

.footer_link_cell ul li.lv2 + li.lv1 {
    padding: .2em 0 0 0;
}

.footer_link_cell ul li a {
    color: #FFFFFF;
    text-decoration: none;
}
.footer_link_cell ul li a:hover {
    text-decoration: underline;
}

.footer_link_cell ul li p {
    font-size: .8em;
    padding: 0;
    margin: 1em 0 0 0;
}
    
.footer_link_cell .relation_box {
    width: 100%;
    padding: 10px 20px 20px;
    background-color: #FFFFFF;
    border-radius: 18px;
    box-sizing: border-box;
}

.footer_link_cell ul.relation_box {
    width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}
.footer_link_cell ul.relation_box li {
  flex-basis: calc((100% - 2em) / 2);
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
    
.footer_link_cell ul.relation_box li:nth-of-type(1) {
    flex-basis: 100%;
}


ul.footer_sns {
    display: none;
}

.footer_sns {
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.footer_sns ul {
    display: flex;
    align-items: center;
    gap: 0 5px;
}
.footer_sns ul li {

}
.footer_sns ul li a {
    color: #fff;
    font-size: 1.6em;
    line-height: 1em;
    text-decoration: none;
    font-weight: bold;
    background-color: #82AB56;
    display:flex;
   align-items:center;
   justify-content:center;
   width:50px;
   height:50px;
   border-radius:50%;
}

.copyright small {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    display: inline-block;
    font-size: .7em;
    line-height: 1em;
}

#pagetop {
    width: 3em;
    bottom: 0.5em;
    right: 0.5em;
}





.fix_banner {
    top: 0;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    width: 3em;
    display:none;
}

.fix_banner.active {

}

    
.sp_none {
    display: none;
}

}
