@charset "utf-8";
/* CSS Document */
@media all and (max-width: 959px){
  .post_content > div {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .u-mb-40 {
    margin-bottom: 2em !important
  }
  /* .p-mainVisual__img {
    object-position: bottom;
  } */
  .p-mainVisual__textLayer {
    width: 50%;
    left: 75%;
  }
  #main_visual .p-mainVisual__textLayer {
    text-shadow: none;
  }
  .p-mainVisual__slideTitle {
    color: #a08d43;
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 0.5em;
    margin-top: 11em;
  }
  .p-mainVisual__slideTitle em {
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 0.3em;
  }
  .p-mainVisual__slideText {
    color: #a08d43;
    margin: 100% 0 0 0.4em;
    text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff, -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff, 0px -1px 1px #ffffff;
  }
  /* .p-mainVisual__slideTitle::after {
    content: "";
    background: url(../../../../../wp-content/uploads/2020/07/mainv01_txt_sp.png) no-repeat;
    background-size: 606px 329px;
    display: block;
    width: 606px;
    height: 329px;
    position: absolute;
    left: 0;
    text-indent:100%;
  	white-space:nowrap;
  	overflow:hidden;
    z-index: 1;
    top: -30px;
  } */

  .l-mainContent__inner > section {
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
  .alignfull > section {
    max-width: var(--container_size);
    margin-right: auto;
    margin-left: auto;
    padding-right: 4vw;
    padding-left: 4vw;
  }
  .bg {
    background: #f8f6ed;
    padding: 30px 15px;
  }
  h2, h3, h4 {
    line-height: 1.4;
    text-align: center;
  }
  .l-mainContent__inner .alignfull {
    padding-right: 4vw;
    padding-left: 4vw;
  }

  #pickup_banner .p-pickupBanners__list {
    display: block;
  }
  #pickup_banner .p-pickupBanners__item {
    width: 100%;
    margin: 0 auto 1em;
    padding: 0;
  }
  #pickup_banner .p-pickupBanners__item:last-child {
    margin-bottom: 0;
  }
  .p-pickupBanners {
    margin-bottom: 2em;
  }
  #main_content .p-pickupBanners {
    margin-bottom: 0;
  }
  .c-bannerLink__label, .-border-inside .c-bannerLink::before, .-border-inside .c-bannerLink::after {
    display: none;
  }

  .bg_wh {
    background: #fff;
    padding: 30px 20px;
  }
  .pt0 {
    padding-top: 0 !important;
  }
  .pb0 {
    padding-bottom: 0 !important;
  }
  em {
    font-style: normal;
    color: #a08d43;
  }
  h2, h3, h4 {
    line-height: 1.3;
  }
  h2 {
    font-size: 1.5rem;
    margin: 0 0 1em 0;
  }
  h3 {
    font-size: 1.3rem;
    margin: 1.5em 0 0.6em;
  }
  .l-mainContent__inner > section > hgroup, .post_content .ttl {
    margin-bottom:2em;
  }
  .l-mainContent__inner > section > hgroup h2, .post_content .ttl h2 {
    margin-bottom: 3px;
    letter-spacing: 2px;
  }
  .l-mainContent__inner > section > hgroup > p, .post_content .ttl p {
    text-align: center;
    font-size: 1rem;
    font-weight: 500;
  }

  .thumb ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .thumb ul li {
    width: 48%;
    text-align: center;
    margin-top: 2em;
  }
  .thumb ul li img {
    max-width: 140px;
    margin: auto;
    display: block;
  }
  .thumb ul li p {
    line-height: 1.4;
    min-height: 2.5em;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 0.9rem;
    margin-top: 0.5em;
  }
  .thumb ul li p span {
    display: block;
    width: 100%;
    color: #6e6e6e;
    font-size: 0.8rem;
    margin: 0 2em;
  }

  #concept {
    background: url(../../../../uploads/concept_bg_sp.jpg) no-repeat bottom #e2ebea;
    background-size: contain;
    padding-bottom: 14em;
  }
  #concept h3 {
    font-weight: 500;
    font-size: 1.2rem;
    margin: 0rem 0 3.5rem;
    line-height: 1.6;
    text-align: center;
  }
  #concept p {
    margin-bottom: 1em;
    text-align: center;
    /* font-weight: 500; */
    line-height: 2.2;
  }

  #shopinfo h3 {
    text-align: center;
    font-size: 1.2rem;
  }
  #shopinfo .map {
    width: 90%;
    margin: -5% 0 0 5%;
  }

  #guest {
    padding: 0 0 3em;
    margin-top: 5em !important;
  }
  #guest #ttl {
    position: absolute;
    width: 180px;
    left: 50%;
    margin: -35px 0 0 -90px;
    z-index: 10;
  }
  #guest > img + section {
    padding: 0;
  }
  #guest section,  #guest .swell-block-column:last-child {
    padding: 0 4vw;
  }
  #guest h3 {
    text-align: left;
    margin: 3rem 0 2rem;
  }
  #guest p {
    margin-bottom: 1.5em;
    font-weight: 500;
    line-height: 2.2;
  }

  #bnr {
    padding: 0 !important;
  }
  #bnr .flex_cl > a {
    width: 100%;
    display: block;
    padding: 8em 20px 1em;
    text-align: right;
    color: #fff;
    position: relative;
  }
  /* #bnr .flex_cl > a:nth-child(even) {
    text-align: left;
  } */
  #bnr .flex_cl > a::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgb(82 68 35 / 50%);
    -webkit-transition: .3s ease-out;
    -moz-transition: .3s ease-out;
    -ms-transition: .3s ease-out;
    transition: .3s ease-out;
  }
  #bnr .flex_cl > a:hover::after {
    background: rgb(82 68 35 / 0%);
  }
  #bnr .flex_cl > a hgroup {
    position: relative;
    z-index: 10;
    background: url(../../../../uploads/arrow_cir.png) no-repeat right center;
    background-size: 57px 50px;
    padding-right: 70px;
    display: inline-block;
  }
  #bnr .flex_cl > a h3 {
    text-align: right;
    color: #fff;
    font-size: 1.2rem;
  }
  #bnr .flex_cl > a:nth-child(even) h3 {
    text-align: left;
  }
  #bnr #pet {
    background: url(../../../../uploads/top04.jpg) no-repeat;
    background-size: cover;
  }
  #bnr #course {
    background: url(../../../../uploads/top05.jpg) no-repeat;
    background-size: cover;
  }
  #bnr #menu {
    background: url(../../../../uploads/top06.jpg) no-repeat;
    background-size: cover;
  }
  #bnr #pgallery {
    background: url(../../../../uploads/top07.jpg) no-repeat;
    background-size: cover;
  }

  #gallery {
    padding: 4em 0 !important;
  }
  #gallery hgroup {
    margin-bottom: 1em;
  }

  #news .c-pagination {
    display: none;
  }
  #news .-type-card.-pc-col3 .p-postList__item {
    width: 48%;
  }

  #feature .flex_cl {
    margin-bottom: 3em;
  }
  #feature .flex_cl:last-child {
    margin-bottom: 0;
  }
  #feature .flex_cl h3 {
    font-size: 1.1rem;
    margin: 1em 0 1em;
    text-align: left;
    line-height: 1.6;
  }
  #feature .flex_cl p {
    color: #191919;
  }
  #feature .flex_cl .photo.hori img {
    margin: auto;
    display: block;
  }
  #feature .flex_cl section.txt {
    align-items: center;
    display: flex;
  }

  #voice {
    background: url(../../assets/img/top/img15.jpg) no-repeat center top;
    background-size: cover;
  }
  #voice .flex_cl section {
    background: #fff;
    padding: 6% 5%;
    margin-bottom: 4%;
  }
  #voice .flex_cl section h3 {
    font-size: 1.1rem;
    line-height: 1;
    margin: 0 0 0.8em;
    text-align: left;
    display: inline-block;
    background-image: -webkit-linear-gradient(transparent 60%, #f7ef9f 40%);
    background-image: -moz-linear-gradient(transparent 60%, #f7ef9f 40%);
    background-image: -ms-linear-gradient(transparent 60%, #f7ef9f 40%);
    background-image: -o-linear-gradient(transparent 60%, #f7ef9f 40%);
    background-image: linear-gradient(transparent 60%, #f7ef9f 40%);
  }
  #voice .flex_cl section .name {
    text-align: right;
    color: #666666;
    margin-top: 0.8em;
  }

  #qa {

  }
  #qa #qa_li {
    overflow: hidden;
    padding: 0 !important;
  }
  #qa #qa_li dl {
    background: #fff;
    text-align: left;
    margin-bottom: 1.5em;
    font-family: 'Noto Sans JP', '游ゴシック', sans-serif , YuGothic, 'Franklin Gothic Medium' ,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
  }
  #qa #qa_li dl em, #qa .swell-block-accordion__label strong {
    background: #000;
    padding: 11px 13px 11px;
    line-height: 1;
    color: #fff;
    margin: 0 10px 0 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    position: absolute;
    left: 12px;
    top: 10px;
  }
  #qa #qa_li dl dd em {
    background: #dcc56a;
    padding: 11px 13px 11px;
    position: absolute;
    top: 20px;
  }
  #qa .swell-block-accordion__title {
    padding-left: 65px;
    line-height: 1.5;
  }
  #qa #qa_li dl dt {
    cursor: pointer;
    position: relative;
    padding: 30px 60px 25px 60px;
  }
  #qa #qa_li dl dt span {
    display: block;
    width: 2rem;
    height: 2rem;
    top: 22px;
    right: 1rem;
    position: absolute;
  }
  #qa #qa_li dl dt span::before, #qa #qa_li dl dt span::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 0;
    background-color: #000;
    -webkit-transition: opacity .12s linear,-webkit-transform .2s cubic-bezier(.215,.61,.355,1);
    transition: opacity .12s linear,-webkit-transform .2s cubic-bezier(.215,.61,.355,1);
    -o-transition: opacity .12s linear,transform .2s cubic-bezier(.215,.61,.355,1);
    transition: opacity .12s linear,transform .2s cubic-bezier(.215,.61,.355,1);
    transition: opacity .12s linear,transform .2s cubic-bezier(.215,.61,.355,1),-webkit-transform .2s cubic-bezier(.215,.61,.355,1);
  }
  #qa #qa_li dl dt span::after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  #qa #qa_li dl dt.active span::before {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  #qa #qa_li dl dt.active span::after {
    opacity: 0;
  }
  #qa #qa_li dl dd {
    display: none;
    padding: 30px 25px 30px 72px;
    position: relative;
  }

  #sns h3 {
    font-size: 1.1rem;
    margin-bottom: 1em;
    position: relative;
  }
  #sns h3 em {
    background: #fff;
    display: inline-block;
    padding: 0 1em;
    color: var(--color_text);
  }
  #sns h3::before {
    content: "";
    height: 1px;
    width: 100%;
    background: #4c4c4c;
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    z-index: -1;
  }
  #sns ul.flex_cl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  #sns ul.flex_cl > li {
    width: 50%;
  }
  #sns .flex_cl li a {
    width: 100%;
    display: block;
    text-align: center;
    padding: 7px 0 4px;
    background: #f3f3f3;
  }
  #sns .flex_cl li.line a {
    background: #00b900
  }
  #sns .flex_cl li.yt a {
    background: #e52d27
  }
  #sns .flex_cl li.fb a {
    background: #3b5998
  }
  #sns .flex_cl li a i {
    font-size: 1.8rem;
  }
  #sns .flex_cl li a i::before {
    color: #fff;
  }
  #sns .flex_cl li.insta a i::before {
    color: #564d46;
  }

  #greeting > section {
    padding: 0;
  }
  #greeting .name {
    font-weight: bold;
    margin: 1em 0 0;
    text-align: right;
  }
  #greeting h3 {
    color: #0e0e0e;
    font-size: 1.2rem;
    margin-bottom: 1.5em;
  }
  #greeting img {
    margin-bottom: 1em;
  }

}
