@charset "UTF-8";
/*
Theme Name: 
Description:  Web Site
Author: Hiroki Ishiida
Version: 1.0
*/
/*------------ COMMON SETTING ------------ */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px !important;
  font-size: 62.5%;
}

body {
  color: #262626;
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Montserrat", "M PLUS 1", sans-serif;
  font-style: normal;
  letter-spacing: 0.02em;
  overflow-wrap: break-word;
}

img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 25px;
  aspect-ratio: 3/2;
}

a {
  transition: all 0.3s;
}
a:hover {
  opacity: 1;
  transition: all 0.3s;
}
@media screen and (min-width: 1080px) {
  a:hover {
    opacity: 0.6;
  }
}

.wrapper {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.miniWrapper {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

section {
  padding: 60px 15px;
}
section:nth-child(odd) {
  background-color: #fff;
}
section:nth-child(even) {
  background-color: #f9f9f9;
  border-radius: 15px;
}
@media screen and (min-width: 768px) {
  section:nth-child(even) {
    border-radius: 30px;
  }
}
@media screen and (min-width: 1080px) {
  section {
    padding: 80px 15px;
  }
}
@media screen and (min-width: 1200px) {
  section {
    padding: 80px 0;
  }
}

.sectionPdZero {
  padding: 60px 0;
}
@media screen and (min-width: 1080px) {
  .sectionPdZero {
    padding: 80px;
  }
}

.sectionPdZeroInnerContents {
  padding: 0 15px;
}
@media screen and (min-width: 1080px) {
  .sectionPdZeroInnerContents {
    padding: 0 0;
  }
}

.Title {
  margin-bottom: 30px;
  font-size: 4rem;
  font-weight: 700;
  color: #3a3a3a;
}
@media screen and (min-width: 1080px) {
  .Title {
    font-size: 5rem;
  }
}
.Title span:not(.char) {
  font-size: 1.6rem;
  color: #78aa4a;
  display: block;
}
@media screen and (min-width: 1080px) {
  .Title span:not(.char) {
    font-size: 2rem;
  }
}
.Title .char {
  display: inline-block;
  vertical-align: baseline;
  line-height: 1;
  opacity: 0;
  transform: translateY(0.9em);
  filter: blur(6px);
  will-change: transform, opacity, filter;
}
.Title.is-inview .char {
  animation: titleRise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}

@keyframes titleRise {
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
.Pcver {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .Pcver {
    display: block !important;
  }
}

.Spver {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .Spver {
    display: none !important;
  }
}

main {
  overflow: hidden;
}

/* ------- BTN -------- */
.Btn {
  max-width: 360px;
  width: 100%;
  margin: 40px auto 0;
  position: relative;
  color: #fff;
  padding: 15px;
  border-radius: 100px;
  background-color: #78aa4a;
  display: block;
  transition: all 0.3s;
  line-height: 1;
  text-align: center;
  font-weight: 600;
  border: 3px solid #78aa4a;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .Btn {
    font-size: 1.8rem;
  }
}
.Btn::before {
  content: "";
  background: url(../img/icon/arrow.svg) no-repeat;
  width: 34px;
  height: 34px;
  position: absolute;
  background-size: contain;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.Btn:hover {
  color: #78aa4a;
  opacity: 1;
  background-color: #fff;
}
.Btn:hover::before {
  right: 40px;
  transition: all 0.3s;
  opacity: 0;
}

.blank::before {
  content: "";
  background: url(../img/icon/blank.svg) no-repeat;
}

.download::before {
  content: "";
  background: url(../img/icon/download.svg) no-repeat;
}

.BackBtn {
  margin: 0 auto;
}
.BackBtn::before {
  right: unset;
  left: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}
.BackBtn:hover::before {
  left: 40px;
  opacity: 0;
}

.gridContent {
  display: grid;
  gap: 25px;
}
@media screen and (min-width: 768px) {
  .gridContent {
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 30px;
  }
}

.TextContent p {
  line-height: 1.7;
}

/* 共通設定 */
/*----------------- HEADER ----------------- */
header {
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
}
header .Header__inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  padding: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.5s;
}
@media screen and (min-width: 1080px) {
  header .Header__inner {
    gap: 10px;
  }
}

.logo {
  max-width: 120px;
  width: 100%;
  z-index: 100;
}
.logo img {
  aspect-ratio: unset;
  border-radius: 0;
}
@media screen and (min-width: 1080px) {
  .logo {
    max-width: 180px;
  }
}

.Header__inner.is-animation {
  left: 10px;
  right: 10px;
  top: 10px;
  background-color: rgba(255, 255, 255, 0.9490196078);
  border-radius: 15px;
}

/*------------------- NAV ------------------ */
nav {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.9490196078);
  transition: all 0.5s;
  visibility: hidden;
}
nav.panelactive {
  visibility: visible;
  opacity: 1;
  transition: all 0.5s;
}
@media screen and (min-width: 1080px) {
  nav {
    visibility: visible;
    opacity: 1;
    height: -moz-fit-content;
    height: fit-content;
    position: unset;
    background: unset;
    text-align: left;
    padding: 0 0;
    overflow: unset;
  }
}
nav .headerBottomContent {
  position: absolute;
  bottom: 15px;
  left: 15px;
  right: 15px;
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (min-width: 1080px) {
  nav .headerBottomContent {
    display: none;
  }
}
nav .Menu__content {
  position: absolute;
  top: 50%;
  left: 15px;
  right: 15px;
  transform: translateY(-50%);
  margin-top: 10px;
}
@media screen and (min-width: 1080px) {
  nav .Menu__content {
    position: unset;
    transform: unset;
    padding: 0 0;
    margin-top: 0;
  }
}

@media screen and (min-width: 1080px) {
  .Menu__content {
    display: flex;
    align-items: center;
    gap: 25px;
    justify-content: end;
    width: 100%;
  }
}
.Menu__content .Menu__list {
  display: grid;
  gap: 15px;
  margin-bottom: 10px;
}
@media screen and (min-width: 1080px) {
  .Menu__content .Menu__list {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 25px;
    margin-bottom: 0;
  }
}
.Menu__content .Menu__list .Menu__item {
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
  font-size: 2.2rem;
  font-weight: 700;
  color: #3a3a3a;
  position: relative;
}
@media screen and (min-width: 1080px) {
  .Menu__content .Menu__list .Menu__item {
    margin: 0 0;
    padding: unset;
    border: unset;
    font-size: 1.5rem;
    white-space: nowrap;
  }
}
.Menu__content .Menu__list .Menu__item::before {
  content: "";
  background: url(../img/icon/arrow-menu.svg) no-repeat;
  width: 30px;
  height: 30px;
  position: absolute;
  background-size: contain;
  top: 50%;
  right: 0;
  transform: translateY(-67%);
  transition: all 0.3s;
}
@media screen and (min-width: 1080px) {
  .Menu__content .Menu__list .Menu__item::before {
    display: none;
  }
}
.Menu__content .Menu__list .Menu__item:hover::before {
  right: 20px;
  transition: all 0.3s;
}
.Menu__content .Menu__list .Menu__item a {
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
  gap: 1px;
}
@media screen and (min-width: 1080px) {
  .Menu__content .Menu__list .Menu__item a {
    align-items: center;
  }
}
.Menu__content .Menu__list .Menu__item a span {
  font-size: 1.4rem;
  font-weight: 600;
  color: #78aa4a;
}
@media screen and (min-width: 1080px) {
  .Menu__content .Menu__list .Menu__item a span {
    font-size: 1.3rem;
  }
}
.Menu__content .Menu__list .Menu__item.Btn {
  padding: 20px;
  margin: 0 auto;
  border-bottom: unset;
  font-size: 1.8rem;
  color: #fff;
  background-color: #644b46;
  grid-column: 1/3;
}
@media screen and (min-width: 1080px) {
  .Menu__content .Menu__list .Menu__item.Btn {
    margin: 0 0;
    font-size: 1.4rem;
    max-width: 160px;
    padding: 15px;
  }
}
.Menu__content .Menu__list .Menu__item.Btn::before {
  background: url(../img/icon/arrow-yellow.svg) no-repeat;
}
@media screen and (min-width: 1080px) {
  .Menu__content .Menu__list .Menu__item.Btn::before {
    display: none;
  }
}
@media screen and (min-width: 1080px) {
  .Menu__content .BtnContent {
    max-width: 160px;
    width: 100%;
  }
}
.Menu__content .BtnContent ul {
  display: grid;
  gap: 10px;
}
@media screen and (min-width: 1080px) {
  .Menu__content .BtnContent ul {
    display: block;
  }
}
.Menu__content .BtnContent ul li:nth-child(1) .Btn {
  background-color: #323333;
  border-color: #323333;
}
@media screen and (min-width: 1080px) {
  .Menu__content .BtnContent ul li:nth-child(1) .Btn {
    background-color: #78aa4a;
    border-color: #78aa4a;
  }
}
.Menu__content .BtnContent ul li:nth-child(1) .Btn:hover {
  background-color: #fff;
  color: #323333;
}
@media screen and (min-width: 1080px) {
  .Menu__content .BtnContent ul li:nth-child(1) .Btn:hover {
    color: #78aa4a;
  }
}
.Menu__content .BtnContent ul li .Btn {
  margin: 0 auto;
}
@media screen and (min-width: 1080px) {
  .Menu__content .BtnContent ul li .Btn {
    font-size: 1.4rem;
    padding: 12px;
    font-weight: 600;
  }
}
@media screen and (min-width: 1080px) {
  .Menu__content .BtnContent ul li .Btn::before {
    display: none;
  }
}

/*------------- HAMBERGER MENU ------------ */
.home .OpenBtnContent {
  background-color: #fff;
}
.home .OpenBtnContent .OpenBtn span {
  background-color: #644b46;
}
.home .Header__inner.is-animation .OpenBtnContent,
.home .Header__inner.menu-open .OpenBtnContent {
  background-color: #644b46;
}
.home .Header__inner.is-animation .OpenBtnContent .OpenBtn span,
.home .Header__inner.menu-open .OpenBtnContent .OpenBtn span {
  background-color: #fff;
}
@media screen and (min-width: 1080px) {
  .home .Header__inner.is-animation .Menu__item,
  .home .Header__inner.menu-open .Menu__item {
    color: #3a3a3a;
  }
}

.OpenBtnContent {
  border-radius: 100px;
  background-color: #644b46;
  width: 45px;
  height: 45px;
  aspect-ratio: 1/1;
  z-index: 1000;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 1080px) {
  .OpenBtnContent {
    display: none;
  }
}
.OpenBtnContent .OpenBtn {
  width: 18px;
  height: 12px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}
.OpenBtnContent .OpenBtn span {
  width: 18px;
  height: 2px;
  background-color: #fff;
  display: block;
  transition: all 0.3s;
  position: absolute;
  border-radius: 50px;
}
.OpenBtnContent .OpenBtn span:nth-of-type(1) {
  top: 0;
}
.OpenBtnContent .OpenBtn span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.OpenBtnContent .OpenBtn span:nth-of-type(3) {
  bottom: 0;
}
.OpenBtnContent .OpenBtn.active span:nth-of-type(1) {
  top: 42%;
  transform: rotate(35deg);
}
.OpenBtnContent .OpenBtn.active span:nth-of-type(2) {
  transform: scaleX(0);
}
.OpenBtnContent .OpenBtn.active span:nth-of-type(3) {
  top: 42%;
  bottom: unset;
  transform: rotate(145deg);
}

/*----------------- KEY-VISUAL ------------------ */
.KeyVisual {
  height: 80vh;
  position: relative;
  overflow: hidden;
  border-radius: 0 0 25px 25px;
  z-index: 1;
}
@media screen and (min-width: 1080px) {
  .KeyVisual {
    height: 85vh;
  }
}
.KeyVisual::before, .KeyVisual::after {
  content: "";
  position: absolute;
  width: 20%;
  height: 100%;
  top: 0;
  z-index: 10;
  background: url(../img/KeyVisual/kv-logo.svg) repeat-y;
  background-size: 100% auto;
  opacity: 0.5;
  pointer-events: none;
  animation: logoScroll 25s linear infinite;
}
.KeyVisual::before {
  left: -30px;
}
.KeyVisual::after {
  right: -30px;
  transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .KeyVisual::before, .KeyVisual::after {
    width: 17%;
  }
}
@keyframes logoScroll {
  from {
    background-position: center 0;
  }
  to {
    background-position: center 100%;
  }
}
.KeyVisual .full {
  overflow: hidden;
  margin-bottom: 0;
}
.KeyVisual .full div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 80vh;
}
@media screen and (min-width: 1080px) {
  .KeyVisual .full div {
    height: 85vh;
  }
}
.KeyVisual .KeyVisualCatch {
  position: absolute;
  bottom: 20px;
  left: 15px;
  z-index: 10;
  display: grid;
  gap: 7px;
  width: 80%;
  max-width: 400px;
}
@media screen and (min-width: 768px) {
  .KeyVisual .KeyVisualCatch {
    gap: 10px;
  }
}
@media screen and (min-width: 1080px) {
  .KeyVisual .KeyVisualCatch {
    left: 30px;
    bottom: 30px;
  }
}
@media screen and (min-width: 1200px) {
  .KeyVisual .KeyVisualCatch {
    left: 7.5%;
  }
}
.KeyVisual .KeyVisualCatch img {
  aspect-ratio: unset;
  border-radius: 7px;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}

/*------------- Scroll ------------- */
.scroll {
  z-index: 10;
  position: relative;
}
.scroll p {
  display: inline-block;
  position: absolute;
  right: 15px;
  bottom: 20px;
  padding-bottom: 110px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-rl;
  transition: 0.2s;
  overflow: hidden;
  opacity: 0;
  animation: FadeIn 5s ease forwards;
}
@media screen and (min-width: 1080px) {
  .scroll p {
    right: 30px;
    bottom: 30px;
  }
}
@media screen and (min-width: 1200px) {
  .scroll p {
    right: 7.5%;
  }
}
@keyframes FadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.scroll p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #bebebe;
}
.scroll p:hover {
  opacity: 0.5;
}

#scroll p {
  color: #fff;
}
#scroll p::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #fff;
}
#scroll p::after {
  animation: scrollDown 3s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes scrollDown {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
/*----------------- TOP NEWS ------------------ */
.TopNews {
  max-width: 900px;
  width: 100%;
  margin: 30px auto 0;
  padding: 0 15px;
}
.TopNews .TopNewsInner {
  padding: 15px;
  background-color: #f5f5f5;
  display: grid;
  border-radius: 15px;
}
@media screen and (min-width: 768px) {
  .TopNews .TopNewsInner {
    border-radius: 25px;
    padding: 20px;
  }
}
.TopNews .TopNewsInner .TopNewsTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.TopNews .TopNewsInner .TopNewsTitle p {
  font-size: 2.4rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .TopNews .TopNewsInner .TopNewsTitle p {
    font-size: 3rem;
  }
}
.TopNews .TopNewsInner .TopNewsTitle .Btn {
  max-width: 130px;
  padding: 5px;
  font-size: 1.2rem;
  margin: 0 0;
  padding-right: 15px;
}
@media screen and (min-width: 768px) {
  .TopNews .TopNewsInner .TopNewsTitle .Btn {
    max-width: 160px;
    padding: 7px;
    font-size: 1.4rem;
  }
}
.TopNews .TopNewsInner .TopNewsTitle .Btn::before {
  width: 16px;
  height: 16px;
  right: 5px;
}
@media screen and (min-width: 768px) {
  .TopNews .TopNewsInner .TopNewsTitle .Btn::before {
    width: 18px;
    height: 18px;
    right: 8px;
  }
}
.TopNews .TopNewsInner .TopNewsTitle .Btn:hover::before {
  right: 20px;
}
.TopNews .TopNewsInner .News__list {
  display: grid;
  gap: 10px;
}
.TopNews .TopNewsInner .News__list .News__item .Date {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .TopNews .TopNewsInner .News__list .News__item .Date {
    font-size: 1.4rem;
  }
}
.TopNews .TopNewsInner .News__list .News__item .News__item--title {
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .TopNews .TopNewsInner .News__list .News__item .News__item--title {
    font-size: 1.6rem;
  }
}
.TopNews .TopNewsInner .News__list .News__item:nth-child(2) {
  display: none;
}

.concept {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
.concept .TextContent {
  display: grid;
  gap: 15px;
}
.concept .TextContent img {
  width: 90%;
  height: auto;
  aspect-ratio: unset;
  border-radius: 0;
  display: flex;
  max-width: 600px;
}
@media screen and (min-width: 1080px) {
  .concept .TextContent img {
    width: 100%;
    max-width: unset;
  }
}
@media screen and (min-width: 1080px) {
  .concept .TextContent .BtnContent .Btn {
    margin-top: 20px;
  }
}

.home .concept {
  max-width: 1100px;
}
@media screen and (min-width: 1080px) {
  .home .concept .wrapper .Btn {
    margin: 30px auto 0;
  }
}
@media screen and (min-width: 1080px) {
  .home .concept .wrapper .TextContent {
    display: grid;
    grid-template-columns: 39% 1fr;
    gap: 30px;
    align-items: center;
  }
}
@media screen and (min-width: 1080px) {
  .home .concept .wrapper .TextContent p {
    font-size: 1.7rem;
  }
}

@media screen and (min-width: 1080px) {
  .page-id-4260 .concept .wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    align-items: center;
  }
}

/*-----------------  TOP ------------------ */
/*-----------------  NEWS ------------------ */
.NewsList .NewsListItem {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #ddd;
}
.NewsList .NewsListItem a {
  transition: all 0.3s;
  position: relative;
  display: block;
}
@media screen and (min-width: 1080px) {
  .NewsList .NewsListItem a {
    display: flex;
    align-items: center;
    gap: 15px;
  }
}
.NewsList .NewsListItem:last-child {
  border-bottom: unset;
  padding-bottom: 0;
  margin-bottom: 0;
}
.NewsList .NewsListItem .NewsListText {
  font-weight: 500;
  display: -webkit-box; /* 必須 */
  -webkit-box-orient: vertical; /* 必須 */
  -webkit-line-clamp: 2; /* 行数を制限 */
  overflow: hidden; /* はみ出た部分を非表示 */
  line-height: 1.2;
}

.NewsListHead {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 7px;
}
@media screen and (min-width: 1080px) {
  .NewsListHead {
    margin-bottom: 0;
  }
}
.NewsListHead .Date {
  margin-bottom: 0;
}

.Date {
  font-size: 1.4rem;
  color: #939393;
  margin-bottom: 5px;
  line-height: 1 !important;
}

.Cat {
  padding: 8px 15px;
  background: #78aa4a;
  color: #fff;
  border-radius: 100px;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 600;
}
@media screen and (min-width: 1080px) {
  .Cat {
    font-size: 1.6rem;
  }
}

/*-----------------  pageBtn ------------------ */
.pageBtn {
  padding: 30px 15px;
  background: url(../img/top/pageBtn-sp.png) no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 0 !important;
}
@media screen and (min-width: 768px) {
  .pageBtn {
    background: url(../img/top/pageBtn-pc.png) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 30px;
  }
}
@media screen and (min-width: 1080px) {
  .pageBtn {
    padding: 60px;
  }
}
.pageBtn .pageBtnList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
@media screen and (min-width: 1080px) {
  .pageBtn .pageBtnList {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}
.pageBtn .pageBtnList li {
  background-color: #fff;
  border-radius: 25px;
  padding: 20px 10px;
}
@media screen and (min-width: 1080px) {
  .pageBtn .pageBtnList li {
    padding: 30px 10px;
  }
}
.pageBtn .pageBtnList li img {
  display: block;
  max-width: 80px;
  width: 100px;
  margin: 0 auto;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: unset;
}
@media screen and (min-width: 1080px) {
  .pageBtn .pageBtnList li img {
    max-width: 100px;
  }
}
.pageBtn .pageBtnList li .Title {
  margin-bottom: unset;
  margin-top: 10px;
  font-size: 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .pageBtn .pageBtnList li .Title {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1080px) {
  .pageBtn .pageBtnList li .Title {
    font-size: 3rem;
  }
}
.pageBtn .pageBtnList li .Title span:not(.char) {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .pageBtn .pageBtnList li .Title span:not(.char) {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1080px) {
  .pageBtn .pageBtnList li .Title span:not(.char) {
    font-size: 1.6rem;
  }
}

/*-----------------  event ------------------ */
.Swiper {
  overflow: visible;
  display: flex;
  position: relative;
}

.swiper-pagination {
  bottom: 0;
}
.swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #d9e6ce;
  opacity: 1;
}
.swiper-pagination .swiper-pagination-bullet-active {
  background: #75ad45;
}

.eventList {
  padding-bottom: 40px;
}
.eventList-item {
  filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.1));
  height: auto !important;
}
.eventList-item a {
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: 0 0 20px 20px;
  background: #fff;
}
.eventList-item-img {
  position: relative;
}
.eventList-item-img img {
  border-radius: 0 0;
  border-radius: 20px 20px 0 0;
}
.eventList-item-img .Cat {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 7px 14px;
  font-size: 1.2rem;
}
.eventList-item-content {
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .eventList-item-content {
    padding: 12px;
  }
}
.eventList-item .Date {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .eventList-item .Date {
    font-size: 1.4rem;
  }
}
.eventList-item-title {
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 7px;
  display: -webkit-box; /* 必須 */
  -webkit-box-orient: vertical; /* 必須 */
  -webkit-line-clamp: 2; /* 行数を制限 */
  overflow: hidden; /* はみ出た部分を非表示 */
}

.tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tagList li {
  padding: 5px 12px;
  background: #f5f5f5;
  border-radius: 100px;
  font-size: 1.2rem;
  line-height: 1;
  color: #3a3a3a;
}

/*-----------------  shopList ------------------ */
.shopList-swiper {
  overflow: visible;
  display: flex;
  position: relative;
}

.home .shop .Btn {
  margin: 20px auto 0;
}

.shopList {
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .shopList {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.shopList-item {
  filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.1));
  padding: 15px;
  background-color: #fff;
  border-radius: 25px;
}
@media screen and (min-width: 768px) {
  .shopList-item {
    padding: 20px;
  }
}
.shopList-item-img {
  margin-bottom: 10px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .shopList-item-img {
    margin-bottom: 15px;
  }
}
.shopList-item-img img {
  width: 100%;
  aspect-ratio: 260/163;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.shopList-item-img .Cat {
  position: absolute;
  top: 10px;
  left: 10px;
}
.shopList-item-content {
  font-weight: 700;
  display: grid;
  gap: 5px;
  position: relative;
}
.shopList-item-content::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 32px;
  height: 32px;
  background: url(../img/icon/arrow-menu.svg) no-repeat;
}
.shopList-item-content .shopList-item-copy {
  line-height: 1.3;
  color: #78aa4a;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .shopList-item-content .shopList-item-copy {
    font-size: 1.8rem;
  }
}
.shopList-item-content .shopList-item-title {
  line-height: 1.2;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .shopList-item-content .shopList-item-title {
    font-size: 2.6rem;
  }
}

@media screen and (min-width: 768px) {
  .shopSwiper-pagination {
    display: none;
  }
}

/*-----------------  instagram ------------------ */
.instagram .instagram-area #sbi_images {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 15px !important;
  width: -moz-max-content !important;
  width: max-content !important;
  animation: instaLoop 60s linear infinite;
}
.instagram .instagram-area .sbi_item {
  flex: 0 0 220px !important;
  width: 220px !important;
  max-width: 220px !important;
  padding: 0 !important;
  filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.1));
}
.instagram .instagram-area .sbi_photo img {
  aspect-ratio: 3/4;
}
@keyframes instaLoop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.instagram .Btn::before {
  background: url(../img/icon/blank.svg) no-repeat;
}

/*----------------- CTA ------------------ */
.cta {
  margin: 0 15px 30px;
  padding: 30px 15px;
  background: url(../img/cta/ctaBG-sp.png) no-repeat;
  border-radius: 25px;
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .cta {
    padding: 30px;
    background: url(../img/cta/ctaBG-pc.png) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
@media screen and (min-width: 1080px) {
  .cta {
    padding: 60px;
  }
}
.cta .ctaInner {
  padding: 30px 15px;
  background-color: #fff;
  border-radius: 25px;
  position: relative;
  overflow: hidden;
}
.cta .ctaInner::before {
  content: "";
  width: 160px;
  height: 160px;
  background: url(../img/KeyVisual/kv-logo.png) no-repeat;
  position: absolute;
  top: 13%;
  right: -15px;
  background-size: contain;
  animation: logoAnimation 80s linear infinite, logoFadeIn 1.5s ease forwards;
}
@media screen and (min-width: 1080px) {
  .cta .ctaInner::before {
    width: 200px;
    height: 200px;
  }
}
@media screen and (min-width: 768px) {
  .cta .ctaInner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    align-items: end;
    padding: 30px;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1080px) {
  .cta .ctaInner {
    padding: 50px;
    grid-template-columns: 55% 1fr;
  }
}
.cta .ctaInner .Title {
  margin-bottom: 20px;
}
.cta .ctaInner .Btn {
  margin-top: 20px;
  background-color: #644b46;
  border-color: #644b46;
}
@media screen and (min-width: 768px) {
  .cta .ctaInner .Btn {
    margin-top: 0;
  }
}
.cta .ctaInner .Btn::before {
  width: 32px;
  height: 32px;
}
.cta .ctaInner .Btn:hover {
  color: #644b46;
  background-color: #fff;
}
.cta .ctaInner p {
  line-height: 1.5;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .cta .ctaInner p {
    font-size: 1.6rem;
  }
}

/*----------------- LOW KEYVISUAL ------------------ */
.LowKeyVisual {
  padding: 105px 15px 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .LowKeyVisual {
    padding: 125px 15px 0;
  }
}
@media screen and (min-width: 1080px) {
  .LowKeyVisual {
    padding: 140px 30px 0;
  }
}
.LowKeyVisual .Title {
  margin: 0 0 30px 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .LowKeyVisual .Title {
    font-size: 5rem;
    margin: 0 0 40px 0;
  }
}
@media screen and (min-width: 1080px) {
  .LowKeyVisual .Title {
    font-size: 7rem;
    margin: 0 0 60px 0;
  }
}
@media screen and (min-width: 768px) {
  .LowKeyVisual .Title span:not(.char) {
    font-size: 2rem;
  }
}
.LowKeyVisual .Title::before {
  content: "";
  background: url(../img/KeyVisual/kv-logo.png) no-repeat;
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  width: 180px;
  height: 180px;
  background-size: contain;
  opacity: 0;
  animation: logoAnimation 80s linear infinite, logoFadeIn 1.5s ease forwards;
}
@media screen and (min-width: 768px) {
  .LowKeyVisual .Title::before {
    width: 220px;
    height: 220px;
  }
}
@media screen and (min-width: 1080px) {
  .LowKeyVisual .Title::before {
    width: 500px;
    height: 500px;
    top: 165%;
  }
}
@keyframes logoAnimation {
  from {
    transform: translateY(-50%) rotate(0deg);
  }
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}
@keyframes logoFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.LowKeyVisual .LowKeyVisualImg {
  border-radius: 25px;
  aspect-ratio: 2/1;
  overflow: hidden;
  position: relative;
  z-index: 10;
  max-height: 300px;
  width: 100%;
}
.LowKeyVisual .LowKeyVisualImg img {
  aspect-ratio: unset;
  border-radius: unset;
}

/* パンクズリスト */
.breadcrumb-trail {
  margin: 10px 15px 0 15px;
}
@media screen and (min-width: 1080px) {
  .breadcrumb-trail {
    margin: 10px 30px 0 30px;
  }
}
.breadcrumb-trail .fbc-wrap {
  width: 100%;
  word-break: break-word;
}
.breadcrumb-trail .fbc-wrap .fbc-items {
  padding: 0 0 !important;
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px;
}
.breadcrumb-trail .fbc-wrap .fbc-items li {
  padding: 0 0 !important;
  font-weight: 400;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-family: "Montserrat" !important;
  overflow: hidden;
  line-height: 1;
}
.breadcrumb-trail .fbc-wrap .fbc-items li:first-child {
  padding: 0 0 !important;
}
@media screen and (min-width: 768px) {
  .breadcrumb-trail .fbc-wrap .fbc-items li {
    font-size: 1.4rem !important;
  }
}
@media screen and (min-width: 768px) {
  .breadcrumb-trail .fbc-wrap .fbc-items li span {
    font-size: 1.4rem !important;
  }
}

/*----------------- Concept PAGE ------------------ */
.conceptPage .concept .TextContent .uneiContent {
  font-size: 1.4rem;
  margin-bottom: 30px;
}
.conceptPage .concept .TextContent .uneiContent p {
  font-weight: 500;
}
.conceptPage .concept .TextContent .uneiContent a {
  color: #2370ca;
}
.conceptPage .concept .videoFrame {
  max-width: 800px;
  width: 100%;
}
.conceptPage .concept .videoFrame video {
  width: 100%;
  border-radius: 25px;
}
.conceptPage .concept_services .concept_servicesList {
  display: grid;
  gap: 30px;
}
@media screen and (min-width: 1080px) {
  .conceptPage .concept_services .concept_servicesList {
    gap: 60px;
  }
}
@media screen and (min-width: 1080px) {
  .conceptPage .concept_services .concept_servicesList li {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
  }
}
.conceptPage .concept_services .concept_servicesList li .TextContent {
  line-height: 1.7;
  margin-bottom: 15px;
}
@media screen and (min-width: 1080px) {
  .conceptPage .concept_services .concept_servicesList li .TextContent {
    margin-bottom: 0;
  }
}
.conceptPage .concept_services .concept_servicesList li .TextContent .TextContentTitle {
  margin-bottom: 10px;
  line-height: 1.3;
}
.conceptPage .concept_services .concept_servicesList li .TextContent .TextContentTitle b {
  font-size: 6rem;
  font-weight: 800;
  color: #acd487;
  display: block;
  line-height: 1;
}
.conceptPage .concept_services .concept_servicesList li .TextContent .TextContentTitle {
  font-size: 2rem;
  font-weight: 700;
  color: #3a3a3a;
}
@media screen and (min-width: 1080px) {
  .conceptPage .concept_services .concept_servicesList li .TextContent .TextContentTitle {
    font-size: 2.4rem;
  }
}
.conceptPage .concept_services .concept_servicesList li .imgContent {
  margin-left: 15px;
  border-radius: 25px 0 0 25px;
  overflow: hidden;
}
@media screen and (min-width: 1080px) {
  .conceptPage .concept_services .concept_servicesList li .imgContent {
    border-radius: 25px;
    margin-left: 0;
  }
}
.conceptPage .concept_services .concept_servicesList li .imgContent img {
  border-radius: 0 0;
}

/*----------------- servicesPage ------------------ */
.servicesPage .price .priceText {
  line-height: 1.6;
  margin-bottom: 30px;
}
.servicesPage .price .priceList {
  display: grid;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .servicesPage .price .priceList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.servicesPage .price .priceList .priceListItem {
  padding: 30px 15px 15px;
  border-radius: 25px;
  background-color: #f9f9f9;
}
@media screen and (min-width: 768px) {
  .servicesPage .price .priceList .priceListItem {
    height: -moz-fit-content;
    height: fit-content;
  }
}
.servicesPage .price .priceList .priceListItem .priceListItemTitle {
  display: grid;
  gap: 1px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #3a3a3a;
  margin-bottom: 25px;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem .priceListItemTitle {
    font-size: 2.8rem;
  }
}
.servicesPage .price .priceList .priceListItem .priceListItemTitle span {
  color: #78aa4a;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem .priceListItemTitle span {
    font-size: 2rem;
  }
}
.servicesPage .price .priceList .priceListItem ul {
  display: grid;
  gap: 20px;
  margin-bottom: 20px;
}
.servicesPage .price .priceList .priceListItem ul li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.servicesPage .price .priceList .priceListItem ul li .priceListItemtime {
  display: flex !important;
  align-items: end;
  gap: 0 !important;
}
.servicesPage .price .priceList .priceListItem ul li p {
  font-weight: 600;
  color: #3a3a3a;
}
.servicesPage .price .priceList .priceListItem ul li p:nth-child(1) {
  font-size: 1.8rem;
  display: grid;
  gap: 5px;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem ul li p:nth-child(1) {
    font-size: 2rem;
  }
}
.servicesPage .price .priceList .priceListItem ul li p:nth-child(1) span {
  font-size: 1.2rem;
  color: #939393;
  font-weight: 500;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem ul li p:nth-child(1) span {
    font-size: 1.4rem;
  }
}
.servicesPage .price .priceList .priceListItem ul li p:nth-child(1) b {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem ul li p:nth-child(1) b {
    font-size: 1.6rem;
  }
}
.servicesPage .price .priceList .priceListItem ul li p:nth-child(2) {
  font-size: 2rem;
  display: flex;
  align-items: baseline;
  gap: 2px;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem ul li p:nth-child(2) {
    font-size: 2.2rem;
  }
}
.servicesPage .price .priceList .priceListItem ul li p:nth-child(2) span {
  font-size: 1.4rem;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem ul li p:nth-child(2) span {
    font-size: 1.6rem;
  }
}
.servicesPage .price .priceList .priceListItem .optionsList {
  padding-top: 15px;
  margin-top: 15px;
  border-top: 1px solid #ddd;
}
.servicesPage .price .priceList .priceListItem .optionsList .optionsListTitle {
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #3a3a3a;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem .optionsList .optionsListTitle {
    font-size: 1.8rem;
  }
}
.servicesPage .price .priceList .priceListItem .optionsList ul {
  gap: 8px;
  margin-bottom: 15px;
}
.servicesPage .price .priceList .priceListItem .optionsList ul li p:nth-child(1) {
  font-size: 1.4rem;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem .optionsList ul li p:nth-child(1) {
    font-size: 1.6rem;
  }
}
.servicesPage .price .priceList .priceListItem .optionsList ul li p:nth-child(2) {
  font-size: 1.6rem;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem .optionsList ul li p:nth-child(2) {
    font-size: 1.8rem;
  }
}
.servicesPage .price .priceList .priceListItem .optionsList ul li p:nth-child(2) span {
  font-size: 1.2rem;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem .optionsList ul li p:nth-child(2) span {
    font-size: 1.4rem;
  }
}
.servicesPage .price .priceList .priceListItem .priceListItemExcerpt {
  padding: 10px;
  background-color: #fff;
  border-radius: 15px;
  line-height: 1.5;
  font-size: 1.2rem;
}
@media screen and (min-width: 1080px) {
  .servicesPage .price .priceList .priceListItem .priceListItemExcerpt {
    font-size: 1.4rem;
  }
}
.servicesPage .precautions {
  line-height: 1.6;
}
.servicesPage .precautions .precautionsText {
  margin-bottom: 30px;
}
.servicesPage .precautions .precautionsList {
  display: grid;
  gap: 20px;
  margin-bottom: 15px;
}
.servicesPage .precautions .precautionsList li {
  border-bottom: 1px solid #ddd;
  padding-bottom: 15px;
}
.servicesPage .precautions .precautionsList li p:nth-child(1) {
  font-size: 1.8rem;
  font-weight: 700;
  color: #3a3a3a;
  margin-bottom: 10px;
  line-height: 1;
}
@media screen and (min-width: 1080px) {
  .servicesPage .precautions .precautionsList li p:nth-child(1) {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1080px) {
  .servicesPage .membership .miniWrapper {
    display: grid;
    grid-template-columns: 64% 1fr;
    gap: 20px;
    align-items: center;
  }
}
.servicesPage .membership p {
  line-height: 1.6;
}
.servicesPage .membership .Btn {
  margin: 20px auto 0;
}
.servicesPage .membership .BtnExcerpt {
  font-size: 1.3rem;
  text-align: center;
  margin-top: 3px;
}
.servicesPage .memberInterview .member-swiper {
  position: relative;
  padding-bottom: 55px;
}
@media screen and (min-width: 1080px) {
  .servicesPage .memberInterview .memberInterviewList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    transform: unset !important;
  }
}
.servicesPage .memberInterview .memberInterviewList li {
  border-radius: 25px;
  padding: 15px;
  background-color: #fff;
}
@media screen and (min-width: 1080px) {
  .servicesPage .memberInterview .memberInterviewList li {
    width: 100% !important;
  }
}
.servicesPage .memberInterview .memberInterviewList li .memberInterviewTop {
  display: grid;
  gap: 10px;
  grid-template-columns: 80px 1fr;
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 10px;
  align-items: center;
}
.servicesPage .memberInterview .memberInterviewList li .memberInterviewTop img {
  aspect-ratio: unset;
  border-radius: unset;
}
.servicesPage .memberInterview .memberInterviewList li .memberInterviewTop p {
  font-weight: 600;
  line-height: 1.3;
  color: #3a3a3a;
  display: grid;
  gap: 5px;
}
.servicesPage .memberInterview .memberInterviewList li .memberInterviewTop p span {
  color: #939393;
  font-weight: 400;
  font-size: 1.4rem;
  text-align: right;
}
.servicesPage .memberInterview .memberInterviewList li .memberInterviewText {
  line-height: 1.6;
}
.servicesPage .contractFlow ul {
  display: grid;
  gap: 15px;
  justify-items: center;
}
@media screen and (min-width: 768px) {
  .servicesPage .contractFlow ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media screen and (min-width: 768px) {
  .servicesPage .contractFlow ul .arrow {
    display: none;
  }
}
.servicesPage .contractFlow ul .arrow img {
  max-width: 35px;
  aspect-ratio: unset;
  border-radius: unset;
  -o-object-fit: contain;
     object-fit: contain;
}
.servicesPage .contractFlow ul li {
  padding: 15px;
  border-radius: 20px;
  background-color: #f9f9f9;
}
.servicesPage .contractFlow ul li p:nth-child(1) {
  font-size: 2rem;
  font-weight: 700;
  display: grid;
  gap: 5px;
  margin-bottom: 10px;
}
.servicesPage .contractFlow ul li p:nth-child(1) span {
  font-size: 1.6rem;
  color: #78aa4a;
}
@media screen and (min-width: 1080px) {
  .servicesPage .contractFlow ul li p:nth-child(1) span {
    font-size: 1.8rem;
  }
}
.servicesPage .contractFlow ul li p:nth-child(2) {
  line-height: 1.5;
}
@media screen and (min-width: 1080px) {
  .servicesPage .contractFlow ul li p:nth-child(2) {
    font-size: 1.4rem;
  }
}
.servicesPage .faqList {
  display: grid;
  gap: 20px;
}
.servicesPage .faqList li {
  display: grid;
  gap: 10px;
}
.servicesPage .faqList li .QListTitle {
  background-color: #6b6b6b;
  padding: 15px;
  border-radius: 15px;
  color: #fff;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.3;
  font-size: 1.8rem;
}
.servicesPage .faqList li .QListTitle span {
  font-size: 2.4rem;
}
.servicesPage .faqList li p {
  line-height: 1.5;
}

/*----------------- PrivacyPolicy ------------------ */
.PrivacyPolicy .main__item-text {
  line-height: 1.7;
  margin-bottom: 15px;
}
.PrivacyPolicy .main__item-title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 5px;
  color: #3a3a3a;
}

/*----------------- PAGE TOP ------------------ */
.pageTop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 100px;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: 0.6s;
  filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.1));
}
@media screen and (min-width: 1080px) {
  .pageTop {
    width: 130px;
    right: 15px;
    bottom: 15px;
  }
}
.pageTop.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: 0.6s;
}
.pageTop img {
  border-radius: unset;
  aspect-ratio: unset;
}
.pageTop:hover {
  transform: translateY(-5px);
}

/*----------------- Archive ------------------ */
.archive .NewsCategory {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 40px;
  font-size: 1.4rem;
}
@media screen and (min-width: 1080px) {
  .archive .NewsCategory {
    font-size: 1.6rem;
    justify-content: center;
    margin-bottom: 60px;
  }
}
.archive .NewsCategory li button {
  padding: 10px 30px;
  border-radius: 2px;
  background-color: #999;
  color: #fff;
  font-weight: 500;
}

.Pagenation {
  font-size: 2rem;
  width: 100%;
  text-align: center;
  margin-top: 80px;
  font-weight: 500;
  letter-spacing: 0.3em;
}

.ArchiveBox {
  margin-top: 30px;
}
.ArchiveBox .ArchiveList a {
  background: #e3eed8;
  color: #9ea993;
}

.CategoryBox {
  margin-bottom: 30px;
}
.CategoryBox .ArchiveList a {
  background: #f0f0f0;
  color: #585858;
}

.ArchiveBoxTitle {
  font-size: 1.8rem;
  font-weight: 700;
  color: #3a3a3a;
  position: relative;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .ArchiveBoxTitle {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1080px) {
  .ArchiveBoxTitle {
    font-size: 2.4rem;
  }
}
.ArchiveBoxTitle::after {
  content: "";
  flex: 1;
  width: 100%;
  height: 2px;
  background-color: #e6e6e6;
  border-radius: 10px;
}

.ArchiveList {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .ArchiveList {
    gap: 7px;
  }
}
.ArchiveList a {
  display: block;
  padding: 8px 20px;
  border-radius: 100px;
  line-height: 1;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .ArchiveList a {
    font-size: 1.8rem;
    padding: 8px 23px;
  }
}
.ArchiveList a.is-active {
  background: #78aa4a;
  color: #fff;
}

/*--------------- CALENDAR -------------- */
/*-- ARCHIVE -- */
.calendar .calendar_excerpt {
  line-height: 1.5;
  display: grid;
  gap: 20px;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
.calendar .CalendarList {
  display: grid;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .calendar .CalendarList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1080px) {
  .calendar .CalendarList {
    grid-template-columns: repeat(3, 1fr);
  }
}
.calendar .CalendarList .CalendarListItem img {
  aspect-ratio: unset;
  border-radius: 10px;
}

.SelectWrap {
  position: relative;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .SelectWrap {
    margin-bottom: 30px;
  }
}
.SelectWrap::before {
  content: "";
  background: url(../img/icon/arrow.svg) no-repeat;
  width: 34px;
  height: 34px;
  position: absolute;
  background-size: contain;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(90deg);
  transition: all 0.3s;
  z-index: 1;
}
.SelectWrap .Btn {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0 auto;
  background-color: #644b46;
  border-color: #644b46;
}
.SelectWrap .Btn:hover {
  color: #644b46;
  background-color: #fff;
}

/*--------------- SHOP -------------- */
/*-- ARCHIVE -- */
.post-type-archive-shop .shopList {
  display: grid;
  gap: 30px;
}

/*-- SINGLE -- */
@media screen and (min-width: 768px) {
  .shop-template-default .shop .pcGridWrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .shop-template-default .shop .pcGridWrapText {
    margin-top: -30px;
  }
}
.shop-template-default .shop .shopImg-swiper,
.shop-template-default .shop .pcGridWrapText {
  min-width: 0;
}
.shop-template-default .shop .shopList-item-content {
  margin-bottom: 20px;
}
.shop-template-default .shop .shopList-item-content::before {
  display: none;
}
.shop-template-default .shop .shopList-item-content .shopList-item-copy {
  margin-bottom: 3px;
}
.shop-template-default .shop .shopList-item-content .shopList-item-title {
  font-size: 3.2rem;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1;
}
.shop-template-default .shop .shopImg-swiper {
  margin-bottom: 15px;
  padding-bottom: 30px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .shop-template-default .shop .shopImg-swiper {
    margin-bottom: 0;
  }
}
.shop-template-default .shop .shopImg-swiper .swiper-pagination {
  bottom: 0;
}
.shop-template-default .shop .shopText {
  line-height: 1.7;
  margin-bottom: 20px;
}
.shop-template-default .shop .shopIcon {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 7px;
}
.shop-template-default .shop .shopIcon li {
  max-width: 50px;
  width: 100%;
}
.shop-template-default .shop .shopIcon li img {
  border-radius: 0;
  aspect-ratio: unset;
  -o-object-fit: contain;
     object-fit: contain;
}
.shop-template-default .floormap .floormapList {
  display: grid;
  gap: 20px;
  margin-bottom: 30px;
  align-items: start;
}
@media screen and (min-width: 768px) {
  .shop-template-default .floormap .floormapList {
    grid-template-columns: repeat(2, 1fr);
  }
}
.shop-template-default .floormap .floormapList li:only-child {
  grid-column: 1/-1;
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
}
.shop-template-default .floormap .floormapList li img {
  aspect-ratio: unset;
  border-radius: unset;
  -o-object-fit: contain;
     object-fit: contain;
}
.shop-template-default .floormap .floormapSpaceSlider {
  overflow: visible;
}
.shop-template-default .floormap .floormapSpaceList {
  margin-left: 15px;
  display: flex;
  transition-timing-function: linear !important;
}
@media screen and (min-width: 1080px) {
  .shop-template-default .floormap .floormapSpaceList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-left: 0;
    transform: unset !important;
    gap: 15px;
    align-items: stretch;
  }
}
@media screen and (min-width: 1080px) {
  .shop-template-default .floormap .floormapSpaceList li {
    width: 100% !important;
  }
}
.shop-template-default .floormap .floormapSpaceList li .imgContent {
  aspect-ratio: 4/5;
  margin-bottom: 10px;
}
.shop-template-default .floormap .floormapSpaceList li .imgContent img {
  aspect-ratio: unset;
  border-radius: 15px;
  display: block;
}
.shop-template-default .floormap .floormapSpaceList li p:nth-child(2) {
  font-weight: 600;
}
.shop-template-default .floormap .floormapSpaceList li p:nth-child(3) {
  line-height: 1.6;
  font-size: 1.4rem;
}
.shop-template-default .access .mapGrid {
  display: grid;
  gap: 20px;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .shop-template-default .access .mapGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    align-items: center;
  }
}
.shop-template-default .access .map {
  border-radius: 25px;
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.shop-template-default .access .map iframe {
  width: 100%;
  height: 100%;
}
.shop-template-default .access .textContent {
  display: grid;
  gap: 10px;
}
.shop-template-default .access .textContent p {
  line-height: 1.7;
}
.shop-template-default .access .BtnContent {
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid #ddd;
}
.shop-template-default .access .BtnContent .singleNav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
}
.shop-template-default .access .BtnContent .singleNav a {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  position: relative;
}
.shop-template-default .access .BtnContent .singleNav a::before {
  content: "";
  background: url(../img/icon/arrow-menu.svg) no-repeat;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  position: absolute;
  background-size: contain;
}
.shop-template-default .access .BtnContent .singleNav .singleNavPrev {
  margin-right: auto;
}
.shop-template-default .access .BtnContent .singleNav .singleNavPrev a {
  padding-left: 25px;
}
.shop-template-default .access .BtnContent .singleNav .singleNavPrev a::before {
  left: 0;
  position: absolute;
  transform: translateY(-50%) rotate(180deg);
}
.shop-template-default .access .BtnContent .singleNav .singleNavNext {
  margin-left: auto;
}
.shop-template-default .access .BtnContent .singleNav .singleNavNext a {
  padding-right: 25px;
}
.shop-template-default .access .BtnContent .singleNav .singleNavNext a::before {
  right: 0;
  position: absolute;
}

/*--------------- EVENT -------------- */
/*-- ARCHIVE -- */
.post-type-archive-event-topic .eventList {
  display: grid;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .post-type-archive-event-topic .eventList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1080px) {
  .post-type-archive-event-topic .eventList {
    grid-template-columns: repeat(3, 1fr);
  }
}
.post-type-archive-event-topic .eventList .eventList-item {
  padding-bottom: 0;
}

/*--------------- WP-PAGENAVI -------------- */
.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi {
    margin-top: 40px;
  }
}
.wp-pagenavi a,
.wp-pagenavi span {
  font-size: 2.4rem;
  padding: 10px;
  transition: all 0.3s;
  font-weight: 600;
  color: #3a3a3a;
}
.wp-pagenavi .current {
  color: #bdc6b4;
}
.wp-pagenavi .extend:last-of-type {
  display: none;
}
.wp-pagenavi .pages {
  display: none;
}

/*----------------- Single ------------------ */
.CardContent {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
}
.CardContent .Date {
  font-size: 1.4rem;
  color: #666666;
  line-height: 1;
}

.catLabel {
  background: #fff;
  color: #78aa4a;
  padding: 7px 10px;
  font-size: 1.4rem;
  font-weight: 600;
  border: 2px solid #78aa4a;
  border-radius: 5px;
  z-index: 2;
  line-height: 1;
}

#Post {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  word-wrap: break-word;
}
#Post .TextInner {
  border-bottom: 1px solid #ddd;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
#Post .TextInner .Date {
  margin-bottom: 0;
}
#Post .catLabel {
  font-size: 1.2rem;
  padding: 8px 14px;
}
#Post .CardTitle {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.3;
  color: #3a3a3a;
}
@media screen and (min-width: 768px) {
  #Post .CardTitle {
    font-size: 2rem;
  }
}
#Post h2.wp-block-heading {
  font-size: 1.8rem;
  position: relative;
  padding-left: 12px;
  line-height: 1;
  margin-bottom: 15px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #Post h2.wp-block-heading {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
}
#Post h2.wp-block-heading::before {
  content: "";
  width: 7px;
  height: 150%;
  background-color: #78aa4a;
  position: absolute;
  line-height: 1.5;
  border-radius: 100px;
  top: 50%;
  left: 0;
  transform: translateY(-55%);
}
#Post h3.wp-block-heading {
  color: #3a3a3a;
  padding: 10px;
  font-weight: 600;
  background-color: #f2f2f2;
  border-radius: 5px;
  margin-bottom: 10px;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  #Post h3.wp-block-heading {
    font-size: 2rem;
  }
}
#Post h4.wp-block-heading {
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
  margin-bottom: 5px;
  font-weight: 600;
  color: #3a3a3a;
}
#Post .thumbnail {
  margin-bottom: 30px;
}
#Post strong {
  font-weight: 600 !important;
  color: #3a3a3a;
}
#Post .PostText {
  line-height: 1.7;
  margin-bottom: 15px;
}
#Post .PostText a {
  color: #2370ca;
}
#Post img {
  aspect-ratio: unset !important;
  margin: 0 auto 15px;
  display: block;
}
@media screen and (min-width: 768px) {
  #Post img {
    width: 80%;
  }
}
#Post .wp-block-columns {
  gap: 20px;
  display: flex;
}
#Post .wp-block-columns a {
  color: #2370ca;
}
#Post .wp-block-buttons {
  display: flex;
  justify-content: center;
}
#Post .wp-block-image.aligncenter {
  display: block !important;
}
#Post .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
  width: 100%;
}
#Post .BtnContent {
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid #ddd;
}
#Post .BtnContent .singleNav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
}
#Post .BtnContent .singleNav a {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  position: relative;
}
#Post .BtnContent .singleNav a::before {
  content: "";
  background: url(../img/icon/arrow-menu.svg) no-repeat;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  position: absolute;
  background-size: contain;
}
#Post .BtnContent .singleNav .singleNavPrev {
  margin-right: auto;
}
#Post .BtnContent .singleNav .singleNavPrev a {
  padding-left: 25px;
}
#Post .BtnContent .singleNav .singleNavPrev a::before {
  left: 0;
  position: absolute;
  transform: translateY(-50%) rotate(180deg);
}
#Post .BtnContent .singleNav .singleNavNext {
  margin-left: auto;
}
#Post .BtnContent .singleNav .singleNavNext a {
  padding-right: 25px;
}
#Post .BtnContent .singleNav .singleNavNext a::before {
  right: 0;
  position: absolute;
}
#Post .wp-block-file__embed {
  margin-bottom: 15px;
}
#Post .wp-block-file {
  font-size: 2rem;
  display: grid;
  justify-items: center;
}
#Post .wp-block-file__button {
  background: #78aa4a;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  display: block;
  padding: 5px 20px;
  margin-top: 10px;
  border-radius: 40px;
  text-decoration: none;
  font-size: 1.8rem;
}

/*----------------- FORM ------------------ */
.contact-excerpt {
  line-height: 1.5;
  max-width: 800px;
  width: 100%;
  margin: 0 auto 30px;
}
.contact-excerpt a {
  color: #2370ca;
  text-decoration: underline;
}

.reserve-excerpt {
  line-height: 1.5;
  max-width: 800px;
  width: 100%;
  margin: 0 auto 30px;
}
.reserve-excerpt a {
  color: #2370ca;
  text-decoration: underline;
}
.reserve-excerpt p {
  margin-bottom: 10px;
}
.reserve-excerpt .reserve-excerpt-title {
  padding-left: 12px;
  position: relative;
  margin-bottom: 5px;
  color: #3a3a3a;
  font-weight: 600;
}
.reserve-excerpt .reserve-excerpt-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 7px;
  height: 110%;
  background-color: #78aa4a;
  border-radius: 100px;
}

.Form {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
.Form .FormText {
  line-height: 1.8;
  text-align: left;
}
.Form .must,
.Form .any {
  font-size: 1.2rem;
  color: #fff;
  background-color: #3a3a3a;
  height: 26px;
  width: 60px;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.Form .any {
  background-color: #fff;
  color: #3a3a3a;
  border: 2px solid #3a3a3a;
}
.Form dl {
  text-align: left;
  margin-bottom: 30px;
}
.Form dl dt {
  font-size: 1.8rem;
  font-weight: 700;
}
.Form dl dt p {
  display: flex;
  gap: 5px;
  align-items: center;
}
.Form dl dt p span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.Form dl dd {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 30px;
}
.Form dl dd:last-child {
  margin-bottom: 0;
}
.Form dl .formNote {
  margin: 10px 0 15px;
}
.Form dl .fileContent p {
  display: grid;
  gap: 15px;
}
.Form dl .fileContent p br {
  display: none;
}
.Form dl .wpcf7-form-control-wrap {
  width: -moz-fit-content;
  width: fit-content;
}
.Form dl .wpcf7-form-control-wrap input[type=file] {
  width: 100%;
  font-size: 14px;
  position: relative;
}
.Form dl .wpcf7-form-control-wrap input[type=file]::file-selector-button {
  margin-right: 12px;
  padding: 8px 16px;
  background: #78aa4a;
  border: none;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  transition: 0.3s;
}
.Form dl .wpcf7-form-control-wrap input[type=file]::file-selector-button:hover {
  opacity: 0.8;
}
.Form dl .wpcf7-form-control-wrap .file-clear-btn {
  position: absolute;
  top: 50%;
  right: -30px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 50%;
  background: #9c9c9c;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.Form dl input[type=text],
.Form dl input[type=tel],
.Form dl input[type=email],
.Form dl input[type=date],
.Form dl select,
.Form dl textarea {
  font-size: 1.6rem;
  border-radius: 5px;
  background-color: #fcfcfc;
  border: 1px solid #d6d7d9;
  height: 50px;
  width: 100%;
  padding: 15px;
  text-align: left;
}
.Form dl ::-moz-placeholder {
  color: #ccc;
}
.Form dl ::placeholder {
  color: #ccc;
}
.Form dl .wpcf7-not-valid-tip {
  text-align: left;
}
.Form dl .wpcf7-checkbox,
.Form dl .wpcf7-radio {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-weight: 400;
}
.Form dl .wpcf7-checkbox .wpcf7-list-item,
.Form dl .wpcf7-radio .wpcf7-list-item {
  margin: 0 0;
  display: block;
}
.Form dl .TimeSelect p {
  display: grid;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .Form dl .TimeSelect p {
    grid-template-columns: 1fr 20px 1fr;
    align-items: center;
    gap: 15px;
  }
}
.Form dl .TimeSelect p .wpcf7-form-control-wrap {
  width: 100%;
}
.Form dl .TimeSelect p span {
  color: #3a3a3a;
  text-align: center;
}
.Form dl .wpcf7-date {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  position: relative;
  padding-right: 50px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url(../img/icon/calenderselect.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 20px;
  cursor: pointer;
}
.Form dl .wpcf7-date::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.Form dl select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-image: url(../img/icon/select-icon.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 20px;
  cursor: pointer;
}
.Form dl textarea {
  height: 300px;
}
.Form .privacyContent {
  display: block;
  text-align: center;
  padding: 18px;
  border-radius: 10px;
  background: #ececec;
  max-width: 400px;
  margin: 0 auto;
  color: #262626;
}
.Form .privacyContent input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin-right: 10px;
  margin-top: -3px;
}
.Form .privacyContent .privacyText {
  font-size: 1.5rem;
  font-weight: 500;
}
.Form .privacyContent .privacyText a {
  color: #1d8ad9;
  text-decoration: underline;
}
.Form .captchac .captchacTitle {
  font-size: 1.8rem;
  font-weight: 500;
  color: #262626;
  align-items: center;
  display: flex;
  gap: 5px;
}
.Form .captchac .captchacContent p {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 15px 0 30px;
}
@media screen and (min-width: 768px) {
  .Form .captchac .captchacContent p {
    flex-direction: row;
    align-items: center;
  }
}
.Form .captchac .captchacContent p input {
  font-size: 1.6rem;
  border-radius: 5px;
  background-color: #fcfcfc;
  border: 1px solid #d6d7d9;
  color: #262626;
  width: 100%;
  padding: 15px;
  text-align: left;
}
.Form .captchac .captchacContent p span {
  width: 100%;
}
.Form .captchac .captchacContent p img {
  max-width: 500px;
  width: 100%;
  display: block;
  border-radius: 10px;
  border: 1px solid #d6d7d9;
  aspect-ratio: unset;
  height: auto;
}
@media screen and (min-width: 768px) {
  .Form .captchac .captchacContent p img {
    width: 60%;
  }
}
.Form .Btn {
  width: 100%;
  max-width: 600px;
  padding: 20px 0;
  font-size: 1.8rem;
  font-style: normal;
}
@media screen and (min-width: 1080px) {
  .Form .Btn {
    max-width: 440px;
  }
}
.Form .privacyContent {
  display: block;
  text-align: center;
  padding: 18px;
  border-radius: 3px;
  background: #ececec;
  max-width: 400px;
  margin: 20px auto 0;
  color: #262626;
}
.Form .privacyContent input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin-right: 10px;
  margin-top: -3px;
}
.Form .privacyContent .privacyText {
  font-size: 1.5rem;
  font-weight: 500;
}
.Form .privacyContent .privacyText a {
  color: #1d8ad9;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .thanks {
    text-align: center;
  }
}
.thanks .thanks-content {
  display: grid;
  gap: 10px;
  line-height: 1.7;
  margin-bottom: 30px;
}

/*------ Footer --------*/
footer {
  background-color: #fff;
  padding: 30px 15px 15px;
}
@media screen and (min-width: 1080px) {
  footer .FooterTopContent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1080px) {
  footer .FooterBottomContent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
  }
}
footer .FooterTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 1080px) {
  footer .FooterTop {
    margin-bottom: 0;
  }
}
footer .FooterTop .logo {
  max-width: 160px;
  z-index: 1;
}
footer .snsList {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 15px;
}
@media screen and (min-width: 1080px) {
  footer .snsList {
    width: 50%;
    margin: 0 0;
  }
}
footer .snsList li {
  max-width: 40px;
  width: 100%;
}
footer .snsList li img {
  border-radius: unset;
  aspect-ratio: unset;
}
footer .menuBottomContent {
  justify-content: flex-start;
  text-align: start;
}
@media screen and (min-width: 1080px) {
  footer .menuBottomContent {
    justify-content: flex-end;
    text-align: end;
  }
}

.sns {
  display: flex !important;
  gap: 10px;
}
@media screen and (min-width: 1080px) {
  .sns {
    display: none !important;
  }
}
.sns li {
  max-width: 40px;
  width: 100%;
}
.sns li img {
  border-radius: unset;
  aspect-ratio: unset;
}

.menuBottomContent {
  display: grid;
  justify-content: flex-end;
  gap: 5px;
  text-align: end;
}
.menuBottomContent .privacy {
  font-size: 1.4rem;
}
.menuBottomContent .Copyright {
  font-size: 1.2rem;
}/*# sourceMappingURL=style.css.map */