/* index */
.mv .logoImg {
  position: absolute;
  top: 0;
  left: 7.29vw;
  width: 12.81vw;
  z-index: 5;
}

.mv .logoImg a {
  width: 12.81vw;
  height: auto;
}

.globalnavi .outer {
  margin-left: auto;
  margin-right: auto;
  width: 74.38vw;
  position: relative;
}

.globalnavi .wrapper {
  width: 66.54vw;
}

.globalnavi ul li a {
  font-size: 1.04vw;
}

.globalnavi ul li a .small {
  font-size: 0.63vw;
}

.globalnavi ul li a.menu02 {
  font-size: 0.94vw;
  letter-spacing: 0;
}

.globalnavi .btn-insta {
  margin: 0;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.globalnavi .btn-insta a {
  width: 50px;
  height: auto;
  display: block;
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.globalnavi .btn-insta a:hover {
  opacity: 0.7;
}

.globalnavi.fixhead .outer {
  margin-left: auto;
  margin-right: auto;
  width: 84.38vw;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-flow: row nowrap;
  height: 94px;
}

.globalnavi.fixhead .wrapper {
  width: 66.54vw;
}

.globalnavi.fixhead .logoImg {
  width: 8.07vw;
}

.globalnavi.fixhead .logoImg a {
  display: block;
  width: 12.81vw;
  height: auto;
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.globalnavi.fixhead .logoImg a:hover {
  opacity: 0.7;
}

.globalnavi.fixhead .logoImg a img {
  width: 12.81vw;
  height: auto;
}

.globalnavi.fixhead ul li a {
  font-size: 1.04vw;
}

.globalnavi.fixhead ul li a .small {
  font-size: 0.63vw;
}

.globalnavi.fixhead ul li a.menu02 {
  font-size: 0.94vw;
  letter-spacing: 0;
}

.globalnavi.fixhead .btn-insta {
  margin: auto 0;
  width: 8.42vw;
  height: 100%;
  position: inherit;
  top: 0;
  transform: translateY(0);
}

.globalnavi.fixhead .btn-insta a {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.globalnavi.fixhead .btn-insta a:hover {
  opacity: 0.7;
}

/* access map */
.accessmap {
  padding: 3.5rem 0 3rem 0;
  background-color: #CDCDC1;
}

.accessmap .sns-block {
  margin-top: 2rem;
}

.accessmap .sns-block ul li a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.accessmap .sns-block ul li a:hover {
  opacity: 0.7;
}

.accessmap .sns-block ul li+li {
  margin-top: 1rem;
}

.accessmap .sns-block ul li {
  max-width: 320px;
  height: auto;
  margin: 0 auto;
  display: block;
}

.access-content .access-logo {
  display: block;
  max-width: 300px;
  height: auto;
  margin: 0 auto;
}

.access-content .access-detail {
  margin-top: 2.5rem;
  color: #262626;
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: 'Noto Serif JP', serif;
  font-weight: 300;
}

.access-content .access-title {
  color: #606039;
}

.access-content .access-map {
  margin-top: 1rem;
}

@media only screen and (min-width: 768px) {
  .access-content {
    display: flex;
    justify-content: space-between;
  }

  .access-content .access-txt {
    width: 57.3%;
  }

  .access-content .access-map {
    width: 38.2%;
  }

  .accessmap .sns-block ul {
    display: flex;
    justify-content: space-between;
  }

  .accessmap .sns-block ul li {
    width: 46.4%;
  }

  .accessmap .sns-block ul li+li {
    margin: 0;
  }
}

@media only screen and (min-width: 1024px) {

  /* access map */
  .accessmap {
    padding: 4rem 0 6rem 0;
  }

  .accessmap .sns-block {
    margin-top: 6rem;
  }

  .access-content .access-logo {
    display: block;
    max-width: 440px;
  }

  .access-content .access-detail {
    margin-top: 5rem;
    font-size: 2.3rem;
    line-height: 1.5;
  }

  .access-content .access-txt {
    overflow: hidden;
  }

  .access-content .access-txt .access-title {
    display: inline-block;
  }

  .access-content .access-map {
    margin-top: 3rem;
  }
}

.topics {
  padding: 2rem 0 3rem;
}

.topics .title {
  font-size: 2.7rem;
  line-height: 3.4rem;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.topics .title span {
  display: block;
  margin-top: 1rem;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.topicsSlider {
  margin: 2rem 0 0;
}

.topicsSlider .topics-block {
  margin: 0 1.5rem;
}

.topicsSlider .topics-block a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #262626;
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.topicsSlider .topics-block a:hover {
  opacity: 0.7;
}

.topicsSlider .topics-block .img {
  text-align: center;
}

.topicsSlider .topics-block .txtArea {
  margin-top: 2rem;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #262626;
}

.ranking-banner {
  text-align: center;
  margin: 3rem;
}

.sdMenu {
  position: relative;
}



.ranking {
  padding: 2.5rem 0 5rem 0;
  background-color: #EBEBE6;
}

.ranking .title {
  font-size: 2.7rem;
  line-height: 3.4rem;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  color: #fff;
}

.ranking .title span {
  display: block;
  margin-top: 1rem;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.ranking .ranking-banner {
  margin: 5rem auto 0 auto;
  width: 91.7%;
}

.ranking .ranking-banner .bnr li {
  text-align: center;
}

.ranking-banner .bnr a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}


.ranking-banner a:hover {
  opacity: 0.7;
}

.ranking .ranking-banner .bnr li+li {
  margin-top: 1.5rem;
}

.ranking-content {
  margin: 3rem auto 0 auto;
  width: 85.9%;
}

.ranking-content .ranking-block+.ranking-block {
  margin-top: 3rem;
}

.ranking-content .imgArea {
  position: relative;
}

.ranking-content .imgArea .ico {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 64px;
  height: auto;
}

.ranking-content .ranking-block dl dt {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #6F6F4D;
}

.ranking-content .ranking-block dl dd {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #262626;
}

.ranking-block a {
  text-decoration: none;
}

.ranking-block .price {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  padding: 15px 0;

}

.ranking-block .price .text {
  background-color: #D0D0C5;
  font-family: 'Noto Serif JP', serif;
  padding: .5rem 1.5rem;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
}

.ranking-block .price .num {
  color: #6F6F4D;
  font-family: 'Noto Serif JP', serif;
  padding: .5rem 0;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
}

/* reccomend */
.course-reccomend {
  padding: 4rem 0 3rem;
  background: url("../images/bg-reccomend_sp.jpg") no-repeat center top;
  background-size: cover;
}

.course-reccomend .title {
  font-size: 2.7rem;
  line-height: 1.5;
  text-align: center;
  color: #DFDFD8;
  font-family: 'Noto Serif JP', serif;
}

.course-reccomend .title span {
  display: block;
  margin-top: 1rem;
  font-size: 1.8rem;
  color: #fff;
  line-height: 1;
}

.reccomend-content {
  margin-top: 5rem;
}

.reccomend-content .reccomend-block {
  background-color: #fff;
}

.reccomend-content .reccomend-block+.reccomend-block {
  margin-top: 2rem;
}

.reccomend-content .reccomend-block .inner {
  padding: 2rem;
}

.reccomend-content .reccomend-block .rec-title {
  padding: 1rem 1.5rem;
  background-color: #D0D0C5;
  font-size: 1.8rem;
  line-height: 1.7;
  font-family: 'Noto Sans JP', sans-serif;
}

.reccomend-content .reccomend-block .rec-subtitle {
  color: #6F6F4D;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
}

.reccomend-content .reccomend-block .imgArea {
  margin: 2rem auto;
  text-align: center;
}

.reccomend-content .reccomend-block .txtArea {
  font-size: 1.2rem;
  line-height: 1.7;
}

.reccomend-content .reccomend-block .btn-detail {
  margin-top: 3rem;
  display: block;
}

.reccomend-content .reccomend-block .btn-detail a {
  display: block;
  margin: 0 auto;
  color: #6F6F4D;
  width: 138px;
  height: 3rem;
  text-decoration: none;
  line-height: 3rem;
  text-align: center;
  border: 1px #6F6F4D solid;
  box-sizing: border-box;
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.reccomend-content .reccomend-block .btn-detail a:hover {
  opacity: 0.7;
}

.reccomend-block .price {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  padding: 15px 0 0;
}

.reccomend-block .price .text {
  background-color: #D0D0C5;
  font-family: 'Noto Serif JP', serif;
  padding: .5rem 1.2rem;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
}

.reccomend-block .price .num {
  color: #6F6F4D;
  font-family: 'Noto Serif JP', serif;
  padding: .5rem 0;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
}

.misc .wrapper {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .reccomend-content {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
  }

  .reccomend-content .reccomend-block {
    width: 49.2%;
  }

  .reccomend-content .reccomend-block+.reccomend-block {
    margin-top: 0;
  }

  .reccomend-content .reccomend-block .rec-box {
    margin-top: 2.5rem;
    display: flex;
    justify-content: space-between;
    flex-flow: row nowrap;
  }

  .reccomend-content .reccomend-block .imgArea {
    width: 39.6%;
    margin: 0;
  }

  .reccomend-content .reccomend-block .txtArea {
    display: flex;
    flex-flow: column;
    width: 58.5%;
  }

  .reccomend-content .reccomend-block:nth-child(n + 3) {
    margin-top: 1.5rem;
  }
}

@media only screen and (min-width: 1024px) {
  .topics {
    padding: 5rem 0 6.5rem;
  }

  .topics .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .topics .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .instaSlider {
    margin: 5rem 0 0;
  }

  .topicsSlider {
    margin: 5rem 0 0;
  }

  .topicsSlider .topics-block .txtArea {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .ranking {
    padding: 4.5rem 0 11rem 0;
  }

  .ranking .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .ranking .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .ranking .ranking-banner {
    margin: 7rem auto 0 auto;
    width: 91.7%;
    max-width: 1300px;
  }

  .ranking .ranking-banner .bnr a {
    transition: all .2s 0s ease-in;
    opacity: 1;
  }

  .ranking .ranking-banner .bnr a:hover {
    opacity: 0.7;
  }

  .ranking .ranking-banner .bnr li+li {
    margin-top: 5rem;
  }

  .ranking-content {
    margin: 5rem auto 0 auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-flow: row nowrap;
  }

  .ranking-content .ranking-block+.ranking-block {
    margin-top: 0;
  }

  .ranking-content .imgArea {
    position: relative;
  }

  .ranking-content .imgArea .ico {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 89px;
    height: auto;
  }

  .ranking-content .ranking-block {
    width: 31.7%;
  }

  .ranking-content .ranking-block dl dt {
    margin-top: 1.5rem;
    font-size: 2.2rem;
    color: #6F6F4D;
  }

  .ranking-content .ranking-block dl dd {
    margin-top: 2rem;
    font-size: 1.6rem;
  }

  .ranking-block .price {
    padding: 20px 0;

  }

  .ranking-block .price .text {
    padding: .5rem 1.5rem;
    font-size: 1.8rem;
  }

  .ranking-block .price .num {
    padding: .5rem 0;
    font-size: 1.8rem;
  }

  /* reccomend */
  .course-reccomend {
    padding: 5rem 0 10rem;
    background: url("../images/bg-reccomend_pc.jpg") no-repeat center top;
    background-size: cover;
  }

  .course-reccomend .title {
    font-size: 5.5rem;
    color: #DFDFD8;
    line-height: 1.1;
  }

  .course-reccomend .title span {
    display: block;
    margin-top: 1.5rem;
    font-size: 1.9rem;
  }

  .reccomend-content {
    margin-top: 5.5rem;
  }

  .reccomend-content .reccomend-block+.reccomend-block {
    margin-top: 0;
  }

  .reccomend-content .reccomend-block .inner {
    padding: 2.5rem 2rem;
  }

  .reccomend-content .reccomend-block .rec-title {
    padding: 1.5rem 2.5rem;
    font-size: 2.8rem;
    line-height: 1.5;
  }

  .reccomend-content .reccomend-block .rec-subtitle {
    font-size: 2.6rem;
  }

  .reccomend-content .reccomend-block .txtArea {
    display: flex;
    flex-flow: column;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .reccomend-content .reccomend-block .btn-detail {
    margin: auto auto 0 auto;
    display: block;
  }

  .reccomend-content .reccomend-block .btn-detail a {
    width: 157px;
    height: 4rem;
    line-height: 4rem;
  }

  .reccomend-content .reccomend-block:nth-child(n + 3) {
    margin-top: 1.5rem;
  }

  .reccomend-block .price {
    padding: 30px 0;
  }

  .reccomend-block .price .text {
    padding: .5rem 1.5rem;
    font-size: 1.8rem;
  }

  .reccomend-block .price .num {
    padding: .5rem 0;
    font-size: 1.8rem;
  }
}

.bnrReserve {
  padding: 2rem 0;
  background-color: #D0D0C5;
}

.bnrReserve .bnr-reserve li+li {
  margin-top: 1rem;
}

.bnrReserve .bnr-reserve li {
  margin: 0 auto;
  max-width: 320px;
}

.bnrReserve .bnr-reserve li a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.bnrReserve .bnr-reserve li a:hover {
  opacity: 0.7;
}

.misc .wrapper {
  width: 100%;
}

.misc-content .misc-banner a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.misc-content .misc-banner a:hover {
  opacity: 0.7;
}

.misc-content .review-silder {
  position: relative;
  padding: 1rem 0.5rem 2rem 0.5rem;
  background-color: #262626;
}

.misc-content .review-silder .slider-title {
  margin: 0 1rem;
  line-height: 1.4;
  padding-bottom: 0.5rem;
  border-bottom: 1px #D0D0C5 solid;
  color: #D0D0C5;
  display: flex;
  justify-content: space-between;
  flex-flow: row nowrap;
}

.misc-content .review-silder .slider-title .en {
  font-size: 1.4rem;
}

.misc-content .review-silder .slider-title .jp {
  font-size: 1.2rem;
  text-align: right;
}

.misc-content .reviewSlider {
  margin-top: 1rem;
}

.misc-content .reviewSlider .review-block {
  margin: 0 2rem;
  width: 94.4%;
  position: relative;
  display: flex;
  justify-content: space-between;
}

.misc-content .reviewSlider .review-block .img {
  width: 38.7%;
}

.misc-content .reviewSlider .review-block .txtArea {
  width: 58.1%;
}

.misc-content .reviewSlider .review-block .txtArea p {
  font-size: 1rem;
  line-height: 1.5;
  color: #D0D0C5;
}

.misc-content .reviewSlider .review-block .txtArea .review-title {
  margin-bottom: 1rem;
  font-size: 1.1rem;
  line-height: 1.5;
  color: #fff;
}

@media only screen and (min-width: 768px) {
  .misc .wrapper {
    width: 84.375%;
  }

  .misc-content {
    padding: 4rem 0 5rem;
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
  }

  .misc-content .misc-banner {
    width: 48.5%;
  }

  .misc-content .review-silder {
    width: 48.5%;
  }
}

@media only screen and (min-width: 1024px) {
  .bnrReserve {
    padding: 2.5rem 0;
  }

  .bnrReserve .bnr-reserve {
    display: flex;
    justify-content: space-between;
    flex-flow: row nowrap;
  }

  .bnrReserve .bnr-reserve li+li {
    margin-top: 0;
  }

  .bnrReserve .bnr-reserve li {
    margin: 0;
    max-width: 47.9%;
  }

  .misc .wrapper {
    width: 1000px;
  }

  .misc-content .misc-banner {
    width: 48.5%;
  }

  .misc-content .review-silder {
    width: 48.5%;
    padding: 2rem 2.5rem 2.5rem 2.5rem;
  }

  .misc-content .review-silder .slider-title {
    align-items: end;
    margin: 0;
    padding-bottom: 0.5rem;
    line-height: 1;
  }

  .misc-content .review-silder .slider-title .en {
    font-size: 2.5rem;
  }

  .misc-content .review-silder .slider-title .jp {
    font-size: 2rem;
  }

  .misc-content .reviewSlider {
    margin-top: 1.5rem;
  }

  .misc-content .reviewSlider .review-block {
    margin: 0 2.5rem;
    position: relative;
    display: flex;
    justify-content: space-between;
  }

  .misc-content .reviewSlider .review-block .img {
    width: 39.3%;
  }

  .misc-content .reviewSlider .review-block .txtArea {
    width: 58.9%;
  }

  .misc-content .reviewSlider .review-block .txtArea p {
    font-size: 1.6rem;
    line-height: 1.5;
    color: #D0D0C5;
  }

  .misc-content .reviewSlider .review-block .txtArea .review-title {
    margin-bottom: 1.5rem;
    font-size: 1.9rem;
    line-height: 1.5;
    color: #fff;
  }
}

@media only screen and (min-width: 1200px) {
  .misc .wrapper {
    width: 1200px;
  }
}

@media only screen and (min-width: 1300px) {
  .misc .wrapper {
    width: 1300px;
  }
}

.title-border {
  display: flex;
  align-items: center;
  font-size: 3.2rem;
  color: #42210B;
  text-align: center;
  font-family: 'Noto Serif JP';
  font-weight: 100;
}

.title-border:before,
.title-border:after {
  border-top: 1px solid #42210B;
  content: "";
  flex-grow: 1;
}

.title-border:before {
  margin-right: 1.7rem;
}

.title-border:after {
  margin-left: 1.7rem;
}

/* insta */
.photofeed {
  padding: 2.5rem 0 4rem;
}

.photofeed .wrapper {
  position: relative;
  padding-bottom: 17rem;
}

.instaSlider {
  margin: 2rem 0 0;
}

.instaSlider .insta-block {
  margin: 0 1.5rem;
}

.instaSlider .insta-block a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #262626;
  transition: all .2s 0s ease-in;
  opacity: 1;
  margin: 0 auto;
}

.instaSlider .insta-block a:hover {
  opacity: 0.7;
}

.instaSlider .insta-block .img {
  text-align: center;
  max-width: 252.75px;
  max-height: 252.75px;
}

/*.instaFeed {*/
/*  display: flex;*/
/*  justify-content: space-between;*/
/*  flex-flow: row nowrap;*/
/*  width: 140%;*/
/*  margin-left: -20%;*/
/*}*/

/*.instaFeed li {*/
/*  width: 23.5%;*/
/*  display:flex;*/
/*  align-items: center;*/
/*  justify-content: center;*/
/*}*/
/*.instaFeed li img{*/
/*  max-width: 252.75px;*/
/*  max-height: 252.75px;*/
/*}*/

/*.instaFeed li:nth-child(n + 5) {*/
/*  display: none;*/
/*}*/

/*.instaFeed li a {*/
/*  transition: all .2s 0s ease-in;*/
/*  opacity: 1;*/
/*}*/
/*.instaFeed li a:hover {*/
/*  opacity: 0.7;*/
/*}*/

.btnArea {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.btnArea .instaBtn {
  margin: 0 auto;
  width: 164px;
  height: auto;
}

.btnArea .instaBtn img {
  width: 164px;
  height: auto;
}

.btnArea .cap {
  margin-top: 1.5rem;
  color: #262626;
  font-size: 1.2rem;
  font-weight: 200;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
}

.btnArea .cap span {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .photofeed {
    margin-top: 0;
    padding: 6rem 0 4rem;
    background-color: #EBEBE6;
  }

  .photofeed .wrapper {
    padding-bottom: 10rem;
    width: 1000px;
  }

  .instaFeed {
    display: flex;
    justify-content: space-between;
    flex-flow: row nowrap;
    width: 100%;
    margin-left: 0;
  }

  .instaFeed li {
    width: 15.3%;
  }

  .instaFeed li:nth-child(n + 5) {
    display: block;
  }

  .btnArea {
    position: absolute;
    bottom: 0;
    left: auto;
    right: 0;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
    align-items: center;
  }

  .btnArea .instaBtn {
    margin: 0;
    width: 164px;
    height: auto;
  }

  .btnArea .cap {
    margin: 0 1rem 0;
    padding-top: 8rem;
    text-align: center;
  }

  .btnArea .cap span {
    display: inline-block;
  }
}

@media only screen and (min-width: 1600px) {
  .photofeed .wrapper {
    width: 1240px;
  }
}

@media only screen and (max-width: 768px) {
  .instaSlider .insta-block .img {
    max-width: none;
    max-height: none;
  }
}



/* menu.php */
.menu {
  padding-top: 2rem;
}

.menu .page-title .wrapper {
  color: #565656;
  width: 100%;
}

.menu .page-title .title {
  padding: 1rem;
  font-size: 2.5rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.menu .page-title .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.menu .menu-content {
  margin-top: 4rem;
}

.menu .menu-navi .wrapper {
  width: 100%;
}

.menu .menu-navi .navi {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-flow: row wrap;
  padding-bottom: 2rem;
}

.menu .menu-navi .navi .navi-item {
  display: table;
  margin: 5px;
  min-height: 41px;
  width: calc(50% - 20px);
  border: 1px solid #DFDFD8;
  font-size: 11px;
  box-sizing: content-box;
}

.menu .navi-item a {
  display: table-cell;
  vertical-align: middle;
  text-decoration: none;
  color: #9F9F88;
}

.menu .navi::after {
  margin: 5px;
  display: block;
  content: "";
  width: calc(50% - 20px);
}

.menu .content.bg1 {
  width: 100%;
  height: 100%;
  background-color: #EBEBE6;
  font-family: 'Noto Serif JP', serif;
  padding-bottom: 5%;
}

.menu .content.bg2 {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  font-family: 'Noto Serif JP', serif;
  padding-bottom: 5%;
}

.menu .content.bg3 {
  width: 100%;
  height: 100%;
  background-color: #40403D;
  font-family: 'Noto Serif JP', serif;
  padding-bottom: 5%;
}

.menu .content.bg4 {
  width: 100%;
  height: 100%;
  background-color: #5C5C59;
  font-family: 'Noto Serif JP', serif;
  padding-bottom: 5%;
}

.menu .content .wrapper {
  width: 100%;
  margin: auto;
}

.menu .content .wrapper .textarea {
  text-align: left;
  color: #262626;
  padding: 2rem;
  /*margin: 1rem;*/
  line-height: 1.7rem;
}

.menu .content .wrapper .textarea.special {
  color: #ffffff;
}

.menu .content .wrapper .course {
  padding: 1rem;
  margin: 1rem;
}

.menu .content .wrapper .course .course-menu {
  padding: 0.7rem 0;
}

.menu .content .wrapper .course .course-content {
  padding-top: 1rem;
}

.menu .content .wrapper .course .topic-plan .course-content {
  padding-top: 4rem;
}

.menu .content .course .course-menu .course-title {
  font-size: 16px;
  color: #61613A;
  text-align: left;
}

.menu .content .course .course-menu .course-title.special {
  color: #BDBDAD;
}

.menu .content .course .course-menu .course-text {
  position: relative;
  text-align: left;
  width: 100%;
  color: #262626;
  height: 20px;
  font-size: 10px;
}

.menu .content .course .course-menu .course-text.special {
  color: #ffffff;
}

.menu .content .course .course-menu .course-price {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  gap: 5px;
  padding: 1rem 0;
}

.menu .content .course .course-menu.topic-plan .course-price {
  padding-top: 4rem;
}

.menu .content .course .course-menu .course-price .time {
  position: relative;
  width: 60px;
  height: 20px;
  font-size: 11px;
  background-color: #A1A18A;
}

.menu .content .course .course-menu .course-price .time.special {
  background-color: #A1A18A;
  color: #231815;
}

.menu .content .course .course-menu .course-price .default-money {
  position: relative;
  color: #818163;
  font-size: 12px;
  height: 20px;
  width: 60px;
}

.menu .content .course .course-menu .course-price .arrow {
  position: relative;
  color: #fff;
  font-size: 10px;
  height: 20px;
  width: 10px;
}

.menu .content .course .course-menu .course-price .default-money.special {
  color: #A1A18A;
}

.menu .content .course .course-menu .course-price .money {
  position: relative;
  color: #818163;
  font-size: 15px;
  height: 20px;
  width: 60px;
}

.menu .content .course .course-menu .course-price .money.special {
  color: #A1A18A;
}

.menu .content .course .course-menu .course-text p,
.menu .content .course .course-menu .course-price .time p,
.menu .content .course .course-menu .course-price .default-money p,
.menu .content .course .course-menu .course-price .arrow p,
.menu .content .course .course-menu .course-price .money p {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

.menu .content .course .course-menu .course-text p {
  line-height: 1.2rem;
}

.menu .content hr {
  width: 100%;
  border: none;
  border-bottom: 1px dotted #686868;
  height: 1px;
  color: #ffffff;
}

.menu .content .remark {
  padding: 2rem 0;
  margin: 1rem;
  /*width:100%;*/
}

.menu .content .remark .inner {
  padding: 1.5rem;
  border: 1px solid #fff;
  text-align: left;
}

.menu .content .remark .remark-content {
  width: 100%;
  text-align: left;
  font-size: 11px;
  font-weight: 400;
  color: #fff;
  line-height: 3rem;
}



/* 760px以上の場合 */
@media only screen and (min-width: 768px) {
  .menu-header img {
    width: 100%
  }

  .menu .title {
    height: 65px;
    width: 100%;
    padding: 1rem;
    font-size: 4rem;
    line-height: 3.4rem;
    text-align: center;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
  }

  .menu .title span {
    display: block;
    font-size: 1.8rem;
    color: #262626;
    line-height: 2rem;
  }

  .menu .content .course .course-menu .course-text p {
    line-height: 1.6rem;
  }
}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {
  .menu {
    padding-top: 5rem;
  }

  .menu .page-title .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .menu .page-title .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .menu .page-title .wrapper {
    padding-bottom: 10rem;
    width: 1000px;
  }

  .menu .menu-content {
    margin-top: 5.5rem;
  }

  .menu .menu-navi .wrapper {
    width: 1000px;
  }

  .menu .menu-navi .navi .navi-item {
    min-height: 82px;
    width: calc(25% - 20px);
    font-size: 18px;
  }

  .menu .navi::after {
    width: calc(75% - 20px);
  }

  section.winback {}

  .menu .content .wrapper {
    width: 1000px;
    padding: 20px 0;
  }

  .menu .content .wrapper .course .course-menu {
    padding: 1rem 0;
  }

  .menu .content .wrapper .textarea {
    font-size: 20px;
    line-height: 2.9rem;
  }

  .menu .content .wrapper .course .course-content {
    /*display: flex;*/
    /*justify-content: space-between;*/
    /*flex-flow: row wrap; */
  }

  .menu .content .course .course-menu .course-title {
    font-size: 29px;
  }

  .menu .content .course .course-menu.topic-plan .course-title {
    text-align: center;
  }

  .menu .content .course .course-menu .course-text {
    width: 60%;
    font-size: 16px;
    height: 60px;
  }

  .menu .content .course .course-menu .course-price {
    padding: 0;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
  }

  .menu .content .course .course-menu .course-price .time {
    width: 95px;
    height: 40px;
    font-size: 22px;
  }

  .menu .content .course .course-menu .course-price .default-money {
    font-size: 27px;
    height: 40px;
    width: 120px;
  }

  .menu .content .course .course-menu .course-price .money {
    font-size: 30px;
    height: 40px;
    width: 120px;
  }

  .herb-special {
    width: 105%;
    position: relative;
    margin: 2em 0;
    padding: 40px 10px 7px;
    border: solid 2px #92814f;
  }

  .herb-special .special-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 35px;
    line-height: 35px;
    font-size: 2rem;
    background: #92814f;
    color: #ffffff;

  }

}

.menu .content hr {
  width: 1000px;
}

.menu .content .remark .inner {
  padding: 2rem;
}

.menu .content .remark .remark-content {
  font-size: 17px;
}
}

/* 1300px以上の場合 */
@media only screen and (min-width: 1300px) {
  .menu .menu-navi .wrapper {
    width: 1200px;
  }
}

/* amenity.php */
.amenity .wrapper {
  color: #565656;
  width: 100%;
}

.amenity .wrapper img {
  width: 100%;
}

.amenity {
  padding: 2rem 0 3rem;
}

.amenity .title {
  padding: 1rem;
  font-size: 2.5rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.amenity .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.amenity-content {
  margin-top: 4rem;
}

.amenity-content .amenity-title {
  padding: 0.5rem 1.5rem;
  background: linear-gradient(to right, #BABAA9 50%, #ffffff);
  font-size: 18pt;
  line-height: 1.7;
  text-align: left;
  color: #ffffff;
  font-family: 'Noto Serif JP', sans-serif;
}

.amenity-content .amenity-block .inner .textarea {
  padding: 3rem 1rem 1rem 1rem;
  text-align: left;
  font-family: 'Noto Serif JP', sans-serif;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 500;
}

/* 760px以上の場合 */
@media only screen and (min-width: 768px) {
  .amenity .title {
    height: 65px;
    width: 100%;
    padding: 1rem;
    font-size: 4rem;
    line-height: 3.4rem;
    text-align: center;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
  }

  .amenity .title span {
    display: block;
    font-size: 1.8rem;
    color: #262626;
    line-height: 2rem;
  }

  .amenity-content .amenity-block .inner .textarea {
    padding: 2rem 1rem 1rem 1rem;
    font-size: 18px;
  }

  .amenity-content .amenity-title {
    font-size: 2rem;
    line-height: 2;
  }
}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {
  .amenity .amenity-content .amenity-block {
    padding: 45px 0rem;
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
  }

  .amenity {
    padding: 5rem 0 6.5rem;
  }

  .amenity .title {
    font-size: 5.5rem;
    line-height: 6rem;
    margin-bottom: 10.5rem;
  }

  .amenity .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .amenity .wrapper {
    padding-bottom: 10rem;
    width: 1000px;
  }

  .amenity-content {
    margin-top: 5.5rem;
  }

  .amenity-content .amenity-title {
    margin: 2.5rem 0 0 0;
    font-size: 26px;
  }

  .amenity .amenity-content .amenity-block .inner {
    width: 48%;
  }

  .amenity-content .amenity-block .inner .textarea {
    padding: 1rem 1rem 1rem 1rem;
    font-size: 1.8rem;
  }
}

/* 1200px以上の場合 */
@media only screen and (min-width: 1200px) {
  .amenity .wrapper {
    width: 1200px;
  }
}

/* infection.php */
.infection .wrapper {
  color: #565656;
  width: 100%;
  font-family: 'Noto Serif JP', serif;
}

.infection .wrapper img {
  width: 100%;
}

.infection {
  padding: 2rem 0 3rem;
}

.infection .title {
  padding: 1rem;
  font-size: 2.5rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.infection .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.infection-content {
  margin-top: 4rem;
}

.infection .infection-content .infection-block .inner {
  margin: 15px;
}

.infection .inner .right .right-contents-header {
  display: -webkit-flex;
  display: flex;
  border-bottom: 1px solid #72724F;
}

.infection .inner .right .right-contents-header img {
  width: 40px;
  height: 40px;
}

.infection .inner .right .right-contents-header .right-contents-title {
  font-size: 22px;
  color: #262626;
  margin: auto 1rem
}

.infection .inner .right .left {
  padding: 1rem 0;
}

.infection .inner .right .textarea {
  padding: 3rem 1rem 1rem 1rem;
  text-align: left;
  font-size: 14px;
  line-height: 1.7;
  color: #262626
}

.infection .inner .right .textarea img {
  margin: 2rem 0;
}

.infection-content .infection-block .inner .textarea span {
  color: #72724f;
}

/* 760px以上の場合 */
@media only screen and (min-width: 768px) {
  .infection-header img {
    width: 100%
  }

  .infection .title {
    height: 65px;
    width: 100%;
    padding: 1rem;
    font-size: 4rem;
    line-height: 3.4rem;
    text-align: center;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
  }

  .infection .title span {
    display: block;
    font-size: 1.8rem;
    color: #262626;
    line-height: 2rem;
  }
}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {

  .infection .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .infection .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .infection .wrapper {
    padding-bottom: 5rem;
    width: 1000px;
  }

  .infection .wrapper .title-image {
    width: 680px;
    margin: auto;
  }

  .infection .infection-content .infection-block {
    padding: 45px 0rem;
    display: flex;
    /*justify-content: ;*/
    flex-flow: row wrap;
  }

  .infection .inner .left img {
    width: 400px;
    height: 400px;
  }

  .infection .inner .right {
    width: 740px;
    /*height: 400px;*/
  }

  .infection .inner .right .right-contents-header img {
    width: 85px;
    height: 85px;
  }

  .infection .inner .right .right-contents-header .right-contents-title {
    font-size: 40px;
  }

  .infection-content .infection-block .inner .textarea {
    padding: 3rem 1rem 1rem 1rem;
    line-height: 1.7;
    font-size: 1.7rem;
  }

  .infection .inner .right .textarea img {
    width: 300px;
    height: 200px;
    margin: 2rem 0 0 0;
  }
}

/* 1200px以上の場合 */
@media only screen and (min-width: 1200px) {
  .infection .wrapper {
    width: 1200px;
  }
}



/* faq.php */
.faq {
  padding-top: 2rem;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
}

.faq .page-title .wrapper {
  color: #565656;
  width: 100%;
}

.faq .page-title .title {
  padding: 1rem;
  font-size: 2rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.faq .page-title .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.faq .faq-navi .wrapper {
  width: 80%;
}

.faq .faq-navi {
  padding-bottom: 2rem;
}

.faq .faq-navi .navi .navi-item {
  display: table;
  margin: 10px auto;
  min-height: 40px;
  width: 100%;
  border: 1px solid #DFDFD8;
  font-size: 18px;
  box-sizing: content-box;
}

.faq .navi-item a {
  display: table-cell;
  vertical-align: middle;
  text-decoration: none;
  color: #9F9F88;
}

.faq .content {
  width: 100%;
  margin-bottom: 5%;
}

.faq .content .section-title {
  height: auto;
  padding: 1rem 0;
  margin: 2rem 0;
  font-size: 18px;
  ;
  color: #9F9F88;
}

.faq .content .section-title .title {
  display: flex;
  align-items: center;
}

.faq .content .section-title .title:before,
.faq .content .section-title .title:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #9F9F88;
}

.faq .content .section-title .title:before {
  margin-right: 1rem;
}

.faq .content .section-title .title:after {
  margin-left: 1rem;
}

.faq .content .wrapper .block {
  width: 100%;
  padding: 1rem;
  margin: 1rem 0;
  background-color: #EBEBE6;
}

.faq .content .block .block-header {
  display: -webkit-flex;
  display: flex;
}

.faq .content .block .block-header img {
  height: 30px;
  width: 30px;
}

.faq .content .block .block-header .block-title {
  text-align: left;
  font-size: 16px;
  color: #262626;
  margin: auto 1rem;
}

.faq .content .block hr {
  margin: 1rem 0;
  width: 100%;
  border: none;
  border-bottom: 1px dotted #686868;
  height: 1px;
  color: #ffffff;
}

.faq .content .block .textarea {
  font-size: 1rem;
  text-align: left;
  color: #262626;
  margin: 1rem 1rem 1rem 0;
  line-height: 1.7rem;
}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {

  .faq .wrapper {
    width: 1000px;
  }

  .faq .page-title .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .faq .page-title .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .faq .page-title .wrapper {
    padding-bottom: 6rem;
    width: 1000px;
  }

  .faq .faq-navi .wrapper {
    width: 1000px;
  }

  .faq .faq-navi {
    padding-bottom: 10rem;
    align-items: center;
  }

  .faq .faq-navi .navi {
    display: flex;
    justify-content: space-around;
    flex-flow: row wrap;
  }

  .faq .faq-navi .navi .navi-item {
    min-height: 75px;
    width: calc(32% - 20px);
  }

  .faq .content .wrapper .block {
    padding: 2rem;
    margin: 1rem 0;
    background-color: #EBEBE6;
  }

  .faq .content .section-title {
    font-size: 26px;
  }

  .faq .content .block .block-header img {
    height: 50px;
    width: 50px;
  }

  .faq .content .block .block-header .block-title {
    font-size: 23px;
  }

  .faq .content .block hr {
    margin: 1rem 0;
  }

  .faq .content .wrapper .block .textarea {
    font-size: 16px;
    line-height: 2.2rem;
    margin: 1rem;
  }
}


/* access */
.access {
  padding-top: 2rem;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
}

.access .page-title .wrapper {
  color: #565656;
  width: 100%;
}

.access .page-title .title {
  padding: 1rem;
  font-size: 3rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.access .page-title .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.access .logo-area {
  width: 100%;
  text-align: center;
  background-color: #E5E4DE;
}

.access .logo-area .wrapper {
  width: 80%;
  margin: auto;
}

.access .logo-area img {
  margin: 2rem 0;
  width: 300px;
}

.access .info .wrapper {
  width: 80%;
  margin: auto;
}

.access .info {
  width: 100%;
  text-align: center;
  background-color: #E5E4DE;
}

.access .info .textarea {
  color: #262626;
  font-family: 'Noto Serif JP', serif;
  text-align: left;
  font-size: 1.2rem;
  margin: auto;
  padding: 2rem 0;
  line-height: 1.7;
}

.access .info .textarea .caption {
  color: #606039;
}

.access .info .guide-area {
  font-size: 1.7rem;
  margin: auto;
  padding: 2rem 0;
  width: 100%;
}

.access .info .guide-area .guide-box {
  color: #ffffff;
  font-family: 'Noto Serif JP', serif;
  background-color: #72724F;
  font-weight: bold;
  border-radius: 10px;
  line-height: 1.7;
}

.access .info .guide-area .guide-box .text {
  padding: 1.5rem 0;
}

.access .map {
  width: 100%;
  text-align: center;
  background-color: #E5E4DE;
}

.access .map .map_back {
  padding: 1rem 0;
  background-color: #E5E4DE;
  padding-bottom: 5rem;
}

/* 760px以上の場合 */
@media only screen and (min-width: 768px) {
  .access .info .textarea {
    width: 60%;
    font-size: 1.4rem;
  }

  .access .info .textarea .address {
    padding-left: 15%;
  }

}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {
  .access .wrapper {
    width: 1000px;
  }

  .access .page-title .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .access .page-title .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .access .page-title .wrapper {
    padding-bottom: 6rem;
  }

  .access .logo-area img {
    width: 400px;
    margin: 6rem 0;
  }

  .access .info .textarea {
    font-size: 2rem;
    /*width: 50%;*/
    padding: 3rem 0;
  }

  .access .info .textarea .address {
    padding-left: 10%;
  }

  .access .info .guide-area {
    font-size: 2rem;
    padding: 2rem 0;
    width: 60%;
  }

  .access .info .guide-area .guide-box .text {
    padding: 3rem 0;
  }

  .access .map .map_back {
    padding: 5rem 0;
  }
}


/* aboutus */

.aboutus {
  /*padding: 2rem 0 3rem;*/
}

.aboutus .bg-gradation {
  background-color: #BABAA9;
}

.aboutus .bg-mono {
  background-color: #BABAA9;
}

.aboutus .page-title {
  width: 100%;
}

.aboutus .title {
  padding: 1rem;
  font-size: 2.5rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.aboutus .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.aboutus .concept {
  width: 100%;
  text-align: center;
}

.aboutus .concept .concept-title {
  font-family: 'Noto Serif JP', serif;
  color: #262626;
  font-size: 2.7rem;
  padding: 1rem;
  letter-spacing: 2px;
  font-weight: 600;
}

.aboutus .concept .under-line {
  margin: auto;
  border-top: 5px dotted #9E9E87;
  border-right: none;
  border-bottom: none;
  border-left: none;
  width: 100%;
}

.aboutus .concept .content-text {
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  padding-top: 1rem;
  line-height: 4rem;
  font-size: 1.6rem;
  color: #262626;
}

.aboutus .item-img .wrapper {
  padding-bottom: 3rem;
}

.aboutus .approach .approach-comment {
  text-align: center;
  line-height: 4rem;

}

.aboutus .approach {
  position: relative;
}

.aboutus .approach .approach-comment {

  font-family: 'Noto Serif JP', serif;
  text-align: center;
  line-height: 4rem;
  font-size: 1.8rem;
  color: #262626;
  position: absolute;
  top: 10%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, 0%);
}

.aboutus .approach .approach-comment span {
  color: #57572F;
  font-weight: bold;
}

/* 760px以上の場合 */
@media only screen and (min-width: 768px) {
  .aboutus-header img {
    width: 100%
  }

  .aboutus .concept .content-text {
    padding-top: 4rem;
    line-height: 8rem;
    font-size: 2rem;
  }

  .aboutus .approach .approach-comment {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    line-height: 7rem;
    font-size: 3rem;
  }
}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {
  .aboutus .bg-gradation {
    background: -moz-linear-gradient(bottom, #BABAA9, #FFF);
    background: -webkit-linear-gradient(bottom, #BABAA9, #FFF);
    background: linear-gradient(to top, #BABAA9, #FFF);
  }

  .aboutus .page-title .wrapper {
    padding: 3rem 0 4rem;
  }

  .aboutus .title {
    font-size: 5.5rem;
    line-height: 6rem;
    margin-bottom: 1.5rem;
  }

  .aboutus .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .aboutus .page-title .wrapper,
  .aboutus .concept .wrapper {
    padding-bottom: 5rem;
    width: 700px;
  }

  .aboutus .concept .concept-title {
    letter-spacing: 8px;
    font-size: 6rem;
    padding: 1rem
  }

  .aboutus .concept .content-text {
    padding-top: 4rem;
    line-height: 8rem;
    font-size: 2rem;
  }

  .aboutus .item-img .wrapper {
    padding-bottom: 8rem;
  }

  .aboutus .approach {}

  .aboutus .approach .approach-comment {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    line-height: 6rem;
    font-size: 2rem;
  }
}


/* voice */
.voice {
  padding-top: 2rem;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
}

.voice .page-title .wrapper {
  color: #565656;
  width: 100%;
}

.voice .page-title .title {
  padding: 1rem;
  font-size: 3rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.voice .page-title .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.voice .customer .wrapper {
  width: 100%;
}

.voice .customer .container {
  width: 100%;
  background-color: #B7B7A7;
  margin-bottom: 45px;
}

.voice .customer .container .content {
  width: 95%;
  margin: 1rem auto;
  padding: 1rem 0;
}

.voice .container .content .content-header {
  width: 100%;
  /*display: table;*/
  justify-content: center;
  border-bottom: 1px solid white;
}

.voice .container .content .content-header .img-area {
  display: table-cell;
  padding-bottom: 2rem;
  width: 50px;
}

.voice .container .content .content-header img {
  width: 50px;
  height: 50px;
}

.voice .container .content .content-header .content-title {
  display: table-cell;
  overflow-wrap: break-word;
  text-align: left;
  vertical-align: middle;
  padding-left: 1rem;
  color: #262626;
  font-size: 1.5rem;
  line-height: 1.2;
  font-family: 'Noto Serif JP', serif;
}

.voice .content .block {
  display: table;
  padding: 1rem 0;
  width: 100%;
}

.voice .content .block .left {
  width: 100%;
  position: relative;
  border-radius: 10px;
  margin-bottom: 3rem;
}

.voice .content .block .left.wht {
  background-color: #ffffff;
}

.voice .content .block .left.gre {
  background-color: #DDDDD6;
}

.voice .content .block .left.wht::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  bottom: -20px;
  border-top: 25px solid #fff;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}

.voice .content .block .left.gre::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  bottom: -20px;
  border-top: 25px solid #DDDDD6;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}

.voice .content .block .left .speech_bubble {
  width: 100%;
  padding: 2rem 1rem;
}

.voice .content .block .left .textarea {
  width: 100%;
  padding: 1.5rem;
  font-size: 1.3rem;
  line-height: 1.4;
  text-align: left;
  font-weight: 300;
  letter-spacing: 2px;
  font-family: 'Noto Sans JP', serif;
}

.voice .content .block .right img {
  width: 50px;
  height: 50px;
}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {
  .voice .wrapper {
    width: 1000px;
  }

  .voice .page-title .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .voice .page-title .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .voice .page-title .wrapper {
    padding-bottom: 6rem;
  }

  .voice .customer .wrapper {
    width: 1000px;
  }

  .voice .container .content .content-header {
    margin: 1rem 0;
  }

  .voice .container .content .content-header .img-area {
    padding-bottom: 0;
  }

  .voice .container .content .content-header img {
    width: 50px;
    height: 50px;
  }

  .voice .container .content .content-header .content-title {
    font-size: 1.8rem;
  }

  .voice .content .block {
    padding: 2rem 0;
  }

  .voice .content .block .left {
    display: table-cell;
    width: 85%;
    margin-bottom: 0px;
  }

  .voice .content .block .left.wht::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -20px;
    border-left: 25px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    top: 25%;
    left: 100%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }

  .voice .content .block .left.gre::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -20px;
    border-left: 25px solid #DDDDD6;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    top: 25%;
    left: 100%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }

  .voice .content .block .left .textarea {
    padding: 2rem 1rem;
    font-size: 1.8rem;
  }

  .voice .content .block .right {
    display: table-cell;
    width: 100%;
  }

  .voice .content .block .right img {
    width: 82px;
    height: 82px;
  }
}


/* gallery */

.gallery {
  padding-top: 2rem;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
}

.gallery .page-title .wrapper {
  color: #565656;
  width: 100%;
}

.gallery .page-title .title {
  padding: 1rem;
  font-size: 3rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  color: #DFDFD8;
}

.gallery .page-title .title span {
  display: block;
  font-size: 1.8rem;
  color: #262626;
  line-height: 2rem;
}

.gallery .content .disnon {
  display: none;
  position: relative;
  z-index: 10;
}

.gallery .galMenu {
  padding: 2rem 0;
}

.gallery .galMenu .tab {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-flow: row wrap;
}

.gallery .galMenu .tab li {
  width: 140px;
  height: 43px;
  padding: 1.2rem 0;
  color: #9F9F88;
  background-color: #ffffff;
  border: 1px solid #9F9F88;
}

.gallery .galMenu .tab li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #9F9F88;
  font-size: 14pt;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
}

.gallery .galMenu .tab li:hover a,
.gallery .galMenu .tab li.selected a {
  color: #fff;
}

.gallery .galMenu .tab li:hover,
.gallery .galMenu .tab li.selected {
  color: #fff;
  background-color: #9F9F88;
}

.gallery .content .tab-content .catch {
  display: flex;
  align-items: center;
  /*justify-content: space-between; */
  padding: 2rem 0;
  font-size: 2.5rem;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  color: #9F9F88;
}

.gallery .content .tab-content .catch:before,
.gallery .content .tab-content .catch:after {
  content: '';
  flex-grow: 1;
  /* 余白を分け与える */
  height: 1px;
  background: #9F9F88;
}

.gallery .content .tab-content .catch:before {
  margin-right: 1em;
}

.gallery .content .tab-content .catch:after {
  margin-left: 1em;
}

.gallery .wrapper .photolist {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 2rem 0;
}

.gallery .wrapper .photolist li {
  margin: 0 auto 1rem;
  width: 100%;
  position: relative;
}

.gallery .wrapper .photolist li a {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: all 0.3s 0s linear;
}

.gallery .wrapper .photolist li img {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.gallery .wrapper .photolist li a:hover {
  opacity: 0.7;
}

.gallery .btn-insta {
  margin: 0 auto 2.5rem;
  width: 100%;

}

.gallery .btn-insta .btn-link {
  width: 100%;
  margin: auto;
}

.gallery .btn-insta .btn-link a {
  display: block;
}

.gallery .btn-insta .btn-link a:hover {
  opacity: .5;
}

.gallery .btn-insta .btn-link img {
  width: 100%;
}

.fixed_banner_sp {
  position: fixed;
  z-index: 3;
  bottom: 30px;
}

/* 768px以上 */
@media only screen and (min-width: 768px) {
  .fixed_banner_sp {
    display: none;
  }

  .gallery .galMenu .tab {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
  }

  .gallery .galMenu {
    padding: 2rem 0 3rem 0;
  }

  .gallery .galMenu .tab li {
    margin-right: 1rem;
    margin-bottom: 1rem;
    width: 192px;
    height: 52px;
  }

  .gallery .galMenu .tab li:nth-child(2n),
  .gallery .galMenu .tab li:nth-child(3n) {
    margin-right: 1rem;
  }

  .gallery .galMenu .tab li a {
    font-size: 1.6rem;
  }

  .gallery .btn-insta {
    margin: 5rem auto;
  }

  .gallery .wrapper .photolist {
    display: flex;
    justify-content: flex-start;
    flex-flow: row wrap;
  }

  .gallery .wrapper .photolist li {
    width: 32.2%;
    /*max-width: 32.2%;*/
    margin: 0 1.7% 1rem 0;
  }

  .gallery .btn-insta .btn-link {
    width: 380px;
  }
}

/* 1024px以上の場合 */
@media only screen and (min-width: 1024px) {
  .gallery .wrapper {
    width: 1000px;
  }

  .gallery .page-title .title {
    font-size: 5.5rem;
    line-height: 6rem;
  }

  .gallery .page-title .title span {
    margin-top: 1.8rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }

  .gallery .page-title .wrapper {
    padding-bottom: 6rem;
  }

  .gallery .galMenu .tab li {
    padding: 1.5rem 0;
  }

  .gallery .wrapper .photolist li {
    margin: 0 1rem 1rem 0;
  }

  .gallery .btn-insta {
    margin: 5rem auto 10rem;
  }

  .fixed_banner_sp {
    display: none;
  }
}

.news {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 35px;
  z-index: 9999;
}

@media only screen and (max-width: 425px) {
  .news {
    width: 176px;

  }
}


.xmasbanner {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 20px;
  z-index: 9999;
}

.xmasbanner .bnr a {
  transition: all .2s 0s ease-in;
  opacity: 1;
}

.xmasbanner .bnr a:hover {
  opacity: 0.7;
}