/*base*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&family=Roboto&display=swap');

body {
    font-family: 'Roboto','Noto Sans JP',sans-serif;}
body.page {
    background-color: #F7F5F2;
}
body.pagechou2 {
    background-color: #fbfbfb;
}

a {
    color: #31302B;
}
a:hover {
    color: #0089FF;
    text-decoration: underline;
}

h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.188rem;
    font-weight: 700;
}

/*header*/
.menu>li>a {
    font-size: 0.85rem;
    padding: .7rem 2rem;
    font-weight: 700;
}



/*footer*/
footer {
    background-color: #fff;
}

#access-info h2 {
    background-color: #FDF2E9;
    padding: 20px 0;
    margin-bottom: 0;
    font-weight: 700;
}
#access-info h2:after {
    content: none;
}

#mini-footer-info {
    display: none;
}

#footer-info {
    padding-top: 20px;
    border-bottom: 1px solid #DCDCDC;
}

.tel-btn {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 14px;
}

.tel-btn .tel-link {
  padding: 1.6rem 0.6rem 1.6rem;
  margin-top: 0;
  transition: .3s;
  display: block;
  border: 1px solid #DCDCDC;
  border-radius: 3px;
  position: relative;
}

.tel-btn .tel-link::after {
  font-family: 'Font Awesome 5 Free';
  content: '\f095';
  font-size: 1.2rem;
  line-height: 1.2rem;
  height: 1.2rem;
  margin: auto 16px auto 0;
  padding-left: 1rem;
  font-weight: bold;
  top: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  color: #CCAC00;
}

.tel-link:hover,
.tel-link:visited {
  color: inherit;
  text-decoration: none;
  background: #CCAC00;
}

.tel-bottom {
  color: 1px solid #DCDCDC;
  width: 100%;
}

.tel-btn p {
  margin-bottom: 0;
}

.contact-info a {
    font-size: 0.75rem;
}

.contact-info p {
    font-size: 0.875rem
}

.shop-info {
    font-size: 0.75rem;
}
.shop-info dl{
    margin:0;
    clear:left;
}
.shop-info table th {
    display: block;
    text-align: center;
    font-weight: 700!important;
    padding: 5px;
    background-color: #31302B;
    color: #fff;
}
.shop-info table td {
    display: block;
    width: 100%;
    padding: 5px;
    padding-bottom: 10px;
    background-color: #fff;
}

#page-top {
    background-color: #CCAC00;
    text-align: center;
}
#page-top a {
    display: block;
    color: #fff;
    width: 100%;
    padding: 17px 0;
    font-weight: 700;
    text-decoration: none;
}
#page-top a:before {
    content: "";
    background-image: url('/_img/sp_arrow02.png');
    background-repeat: no-repeat;
    background-size: contain;
    width: 13px;
    height: 8px;
    display: block;
    margin: 0 auto;
    margin-bottom: 5px;
}
#page-top_chou2 {
    background-color: #603813;
    text-align: center;
}
#page-top_chou2 a {
    display: block;
    color: #fff;
    width: 100%;
    padding: 17px 0;
    font-weight: 700;
    text-decoration: none;
}
#page-top_chou2 a:before {
    content: "";
    background-image: url('/_img/sp_arrow02.png');
    background-repeat: no-repeat;
    background-size: contain;
    width: 13px;
    height: 8px;
    display: block;
    margin: 0 auto;
    margin-bottom: 5px;
}

#copy {
    padding: 10px 0;
}

#privacy a {
    font-size: 0.625rem;
}
#copyright span {
    font-size: 0.563rem;
}

/*modal*/

.reveal {
    /*z-index: inherit;*/
}
.reveal-overlay {
    background-color: initial;
    /*z-index: inherit;*/
}

.modal {
    padding: 40px 100px 50px;
}
.modal:focus {
    outline: none;
}
.modal .close-button {
    background-color: #31302B;
    width: 50px;
    height: 50px;
    color: #fff;
    border-radius: 0;
    position: fixed;
}
.modal h2 {
    border-bottom: 1px solid #808080;
    color: #31302B;
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 30px;
    font-weight: 700;
}
.modal h2 small {
    font-size: 0.75rem;
    display: block;
    color: #31302B;
    line-height: 1;
}
.modal p,
.modal dl {
    font-size: 0.875rem;
}
.modal dl,dt,dd {
    margin: 0;
    padding: 0;
}
.modal dl{
    border-top: none;
    border-bottom: 1px dashed #808080;
    width: 100%;
}
.modal dl dt,
.modal dl dd {
    padding: 20px;
}
.modal dl dt {
    border-top: 1px dashed #808080;
    clear: left;
    float: left;
    width: 25%;
    margin-bottom: 0;
}
.modal dl dd {
    border-top: 1px dashed #808080;
    margin-left: 25%;
}
.modal dl dt:first-child,
.modal dl dt:first-child+dd {
    border-top: 0;
}
.modal dl dd ul {
    list-style: none;
    margin: 0;
}

#privacym.modal dl dt {
    clear: none;
    float: none;
    padding: 15px;
    width: 100%;
}
#privacym.modal dl dd {
    border-top: 0;
    margin-left: 0;
    padding: 15px;
}

/* 扉ページProsリニューアル */

.notice_bnr{
  text-align: center;
  color: #CF3030;
  font-weight: bold;
  font-size: 0.875rem;
  width: 100%;
  background-color: #F2F2F2;
  padding: 0.5rem 0;
}
.notice_bnr a{
  color: #CF3030;
  padding: 0.5rem;
  box-sizing: border-box;
  text-decoration: underline;
}


/* Small only */
@media screen and (max-width: 39.9375em) {
    /*base*/
    #main{
      padding-bottom: 60px;
    }
    h2 {
        font-size: 1.5rem;
    }
    #contents h2:after {
        content: "";
        border-bottom: 1px solid #D7BE37;
        width: 28px;
        height: 1px;
        display: block;
        margin: 10px auto 0;
    }

    /*header*/
    header {
        background-color: #fff;
        padding: 4.5px 20px;
        position: static;
        top: 0;
        z-index: 9999;
        width: 100%;
    }
    header h1 img {
        width: 50%;
    }
    .pros_logo img{
      width: 75%;
    }
    #header-reserve-sp .sp-reserve {
        display: block;
        width: 140px;
        height: 24px;
        margin-top: 5px;
        margin-right: 0;
        margin-left: auto;
    }

    .sp-menu {
        background-color: #31302B;
    }
    .sp-menu ul {
        margin: 0;
    }
    .sp-menu ul li {
        position: relative;
        text-align: center;
        list-style: none;
        min-height: 55px;
        display: -webkit-box; /* safari, Chrome */
        display: -moz-box;    /* Firefox */
        display: -o-box;      /* Opera */
        display: -ms-box;     /* IE */
        display: box;         /* ベンダープレフィックスなし */
    }
    .sp-menu ul li a {
        color: #D7BE37;
        font-family: 'Playfair Display', serif;
        font-size: 0.813rem;
        display: block;
        line-height: 1.2;
        margin: auto;
    }
    .sp-menu ul li {
        -webkit-box-align: center; /* safari, Chrome */
        -moz-box-align: center;    /* Firefox */
        -o-box-align: center;      /* Opera */
        -ms-box-align: center;     /* IE */
        box-align: center;         /* ベンダープレフィックスなし */
    }

    .sp-menu ul li.active {
        border-bottom: 3px solid #D7BE37;
    }

    .sp-menu ul li::after{
        content: " 〉";
        font-size: 50%;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 1rem;
        height: 1rem;
        display: block;
        color: #D7BE37;
    }

    /*footer*/
    #access-info h2 {
        background-color: #FDF2E9;
        padding: 20px 0;
        margin-bottom: 20px;
        font-weight: 700;
    }
    #access-info h2:after {
        content: none;
    }

    #privacy a,
    #copyright span {
        text-align: center;
        padding: 10px 0;
        display: block;
        width: 100%;
    }
    .sp-reserve {
        display: block;
        width: 140px;
        height: 24px;
        margin: 6px auto;
    }
    #footer-info {
        padding-top: 0;
    }
    .shop-info table td dl dd span {
        display: block;
    }
    .shop-info table td{
      text-align: center;
    }
    .shop-info img.tpoint{
      width: 50%;
      margin-top: 0.5rem;
    }


    /*modal*/
    .modal {
        padding: 1rem;
        padding-top: 3rem;
        margin: 1rem;
        width: auto;
    }
    .modal dl dt {
        width: 100%;
    }
    .modal dl dd {
        margin-left: 0;
    }
    .footernav{
      list-style: none;
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap:wrap;
      background-color: #31302B;
      color: #CCAC00;
      text-align: center;
      line-height: 1rem;
    }
    .footernav li{
      width: 32%;
      font-family: 'Playfair Display', serif;
      font-weight: normal !important;
      position: relative;
    }
    .footernav li a{
      color: #CCAC00;
      display: block;
      height: 100%;
      width: 100%;
      position: relative;
      padding: 20px 0;
    }
    .footernav li span{
      display: block;
    }
    .footernav li::after{
      content: " 〉";
      font-size: 50%;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 1rem;
      height: 1rem;
      display: block;
    }


}

/* Medium and up */
@media screen and (min-width: 40em) {
    #privacy a,
    #copyright span {
        text-align: center;
        padding: 10px 0;
    }
    .sp-menu {
        background-color: #31302B;
    }
    .sp-menu ul {
        margin: 0;
    }
    .sp-menu ul li {
        position: relative;
        text-align: center;
        list-style: none;
        min-height: 55px;
        display: -webkit-box; /* safari, Chrome */
        display: -moz-box;    /* Firefox */
        display: -o-box;      /* Opera */
        display: -ms-box;     /* IE */
        display: box;         /* ベンダープレフィックスなし */
    }
    .sp-menu ul li a {
        color: #D7BE37;
        font-family: 'Playfair Display', serif;
        font-size: 0.813rem;
        display: block;
        line-height: 1.2;
        margin: auto;
    }
    .sp-menu ul li {
        -webkit-box-align: center; /* safari, Chrome */
        -moz-box-align: center;    /* Firefox */
        -o-box-align: center;      /* Opera */
        -ms-box-align: center;     /* IE */
        box-align: center;         /* ベンダープレフィックスなし */
    }

    .sp-menu ul li.active {
        border-bottom: 3px solid #D7BE37;
    }

    .sp-menu ul li::after{
        content: " 〉";
        font-size: 50%;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 1rem;
        height: 1rem;
        display: block;
        color: #D7BE37;
    }
    .shop-info table td{
      text-align: center;
    }
    .shop-info img.tpoint{
      width: 50%;
      margin-top: 0.5rem;
    }

}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    /*base*/
    h2 {
        font-size: 1.5rem;
    }
    #contents h2:after {
        content: "";
        border-bottom: 1px solid #D7BE37;
        width: 28px;
        height: 1px;
        display: block;
        margin: 10px auto 0;
    }

    /*header*/
    header {
        background-color: #fff;
        padding: 4.5px 20px;
        position: static;
        top: 0;
        z-index: 9999;
        width: 100%;
    }
    header h1 img {
        width: 20%;
    }
    .pros_logo img{
      width: 50%;
    }
    #header-reserve-sp .sp-reserve {
        display: block;
        width: 140px;
        height: 24px;
        margin-top: 5px;
        margin-right: 0;
        margin-left: auto;
    }
    .sp-menu {
        background-color: #31302B;
    }
    .sp-menu ul {
        margin: 0;
    }
    .sp-menu ul li {
        position: relative;
        text-align: center;
        list-style: none;
        min-height: 55px;
        display: -webkit-box; /* safari, Chrome */
        display: -moz-box;    /* Firefox */
        display: -o-box;      /* Opera */
        display: -ms-box;     /* IE */
        display: box;         /* ベンダープレフィックスなし */
    }
    .sp-menu ul li a {
        color: #D7BE37;
        font-family: 'Playfair Display', serif;
        font-size: 0.813rem;
        display: block;
        line-height: 1.2;
        margin: auto;
    }
    .sp-menu ul li {
        -webkit-box-align: center; /* safari, Chrome */
        -moz-box-align: center;    /* Firefox */
        -o-box-align: center;      /* Opera */
        -ms-box-align: center;     /* IE */
        box-align: center;         /* ベンダープレフィックスなし */
    }

    .sp-menu ul li.active {
        border-bottom: 3px solid #D7BE37;
    }

    .sp-menu ul li::after{
        content: " 〉";
        font-size: 50%;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 1rem;
        height: 1rem;
        display: block;
        color: #D7BE37;
    }

    /*footer*/
    #access-info h2 {
        background-color: #FDF2E9;
        padding: 20px 0;
        margin-bottom: 20px;
        font-weight: 700;
    }
    #access-info h2:after {
        content: none;
    }

    #privacy a,
    #copyright span {
        text-align: center;
        padding: 10px 0;
        display: block;
        width: 100%;
    }
    .sp-reserve {
      text-align: right;
      position: relative;
      padding-top: 20px;
    }
    .sp-reserve img{
      width: 140px;
      height: 24px;
    }
    #footer-info {
        padding-top: 0;
    }

    /*modal*/
    .modal {
        padding: 1rem;
        padding-top: 3rem;
        margin: 1rem;
        width: auto;
    }
    .modal dl dt {
        width: 100%;
    }
    .modal dl dd {
        margin-left: 0;
    }
    .footernav{
      list-style: none;
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap:wrap;
      background-color: #31302B;
      color: #CCAC00;
      text-align: center;
      line-height: 1rem;
    }
    .footernav li{
      width: 32%;
      font-family: 'Playfair Display', serif;
      font-weight: normal !important;
      position: relative;
    }
    .footernav li a{
      color: #CCAC00;
      display: block;
      height: 100%;
      width: 100%;
      position: relative;
      padding: 20px 0;
    }
    .footernav li span{
      display: block;
    }
    .footernav li::after{
      content: " 〉";
      font-size: 50%;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 1rem;
      height: 1rem;
      display: block;
    }

}

/* Large and up */
@media screen and (min-width: 64em) {
    header {
        position: absolute;
        width: 100%;
        z-index: 9999;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .page header {
        background-color: #fff;
        position: static;
    }
    .pagechou2 header {
        background-color: #fff;
        position: static;
    }
    header h1 {
        width: 120px;
        margin-bottom: 0;
        line-height: 1;
        margin-bottom: 10px;
    }
    .pros_logo {
        width: 250px;
        margin-bottom: 0;
        line-height: 1;
        margin-bottom: 10px;
    }
/*    header nav ul li:before,
    header nav ul li:last-child:after {
        content: "|";
        float: left;
        margin-top: 5px;
        color: #D9D9D9;
    }*/
    header nav ul li:last-child a {
        float: left;
    }

    .menu {
        padding: 1rem 0;
    }
    .menu>li {
        position: relative;
    }
    .menu>li>a {
        color: #31302B;
        text-decoration: none;
        padding: .2rem 2rem;
        font-weight: 700;
        border-left: 1px solid #D9D9D9;
    }
    .menu>li>a:last-child {
        border-right: 1px solid #D9D9D9;
    }
    .menu>li.current:after,
    .menu>li:hover:after {
        content: "";
        display: block;
        background-color: #C1272D;
        height: 2px;
        width: 70%;
        position: absolute;
        bottom: -5px;
        left: 0;
        right: 0;
        margin: auto;
    }

    #header-reserve-pc {
        text-align: right;
        margin-top: 15px;
    }
    #header-reserve-pc a {
        color: #000;
        font-size: 0.75rem;
        font-weight: 700;
        padding-top: 10px;
        display: inline-block;
    }
    #header-reserve-pc a:after {
        content: "";
        background-image: url('/_img/arrow01.png');
        background-repeat: no-repeat;
        background-size: cover;
        display: inline-block;
        width: 5px;
        height: 8px;
        margin-left: 5px;
    }

    .swiper-slide {
        text-align: right;
    }

    /*footer*/
    #footer-reserve-pc {
        padding-top: 20px;
    }
    #footer-reserve-pc a {
        text-decoration: underline;
    }
    #footer-reserve-pc a:after {
        content: "";
        background-image: url('/_img/arrow01.png');
        background-repeat: no-repeat;
        background-size: cover;
        display: inline-block;
        width: 5px;
        height: 8px;
        margin-left: 5px;
    }

    .shop-info table th {
        width: 15%;
        display: table-cell;
        vertical-align: top;
        text-align: right;
        font-weight: 400;
        padding: 2px;
        color: #31302B;
        background-color: #fff;
    }
    .shop-info table td {
        padding: 2px;
        background-color: #fff;
    }
    .shop-info table td dl {
        margin-bottom: 0px;
    }
    .shop-info table td dl dt {
        font-weight: 400;
        clear: left;
        float: left;
        margin-bottom: 2px;
    }
    .shop-info table td dl dd {
        margin-bottom: 2px;
    }
    .shop-info img.tpoint{
      width: 50%;
      margin-top: 0.5rem;
    }

    #privacy a {
        text-align: left;
    }
    #copyright {
        text-align: right;
    }

    /*sidebar*/
    .pc-side-nav-fixed {
        top: 0px;
        position: fixed;
    }
    .bottom-side {
      position: absolute;
      bottom: 100px;
    }


    .modal .close-button {
        background-color: #31302B;
        width: 50px;
        height: 50px;
        color: #fff;
        border-radius: 0;
        position: absolute;
        top: 20px;
        right: 20px;
    }
    .modal .close-button-bottom {
        margin: 0 auto;
        display: block;
        border: solid 1px #666;
        padding: 5px 10px;
        margin-top: 30px;
    }
    .shop-info table td{
      text-align: left;
    }
}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
}
