@charset "UTF-8";
/* CSS Document */
/* COMMON----------------------------------------- */
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px */
  width: 100%;
  background-color: #FFFFFF;
  scroll-behavior: smooth;
  text-transform: none;
  cursor: none;
  overflow-x: hidden;
}
a time, a {
  font-family: 'Sen', sans-serif;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  color: #292929;
  word-break: break-all;
}
body, a p {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #292929;
  line-height: 2.4rem;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.3rem;
}
h1, h2 {
  font-family: 'Sen', sans-serif;
  font-weight: 500;
}
h2 {
  font-family: 'Sen', sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #6B9A5E;
  margin: 80px auto 0;
}
h2::after, h3::before, .about > span::before, .event > span::before {
  content: '';
  display: block;
  width: min(1040px, 60vw);
  border-bottom: solid 0.5px #727272;
  margin: 20px auto 40px;
}
.access > h3::before, .cafe > h3::before, .refill > h3::before, .dogrun > h3::before, .privacy > h3::before, .error > h3::before, .event > h3::before, .thanks > h3::before, .modal-open > span ::before, .terms_of_use > h3::before, .about h3::before, .basecamp h3::before {
  content: none;
}
.about span::before {
  margin: 60px auto;
}
footer i {
  color: #fff;
  font-size: 3.0rem;
  padding: 0 10px;
}
@media screen and (max-width:960px) {
  h2::after, h3::before, .about span::before {
    width: max(300px, 80vw);
  }
  p, li, a, a time, a p, time {
    font-weight: 300;
  }
}
/* マウスカーソル　----------------------------------------- */
#cursor {
  pointer-events: none;
  position: fixed;
  top: -4px;
  left: -4px;
  width: 8px;
  height: 8px;
  background: rgba(0, 0, 0, 1.0);
  transform: translate(-100px, -100px);
  border-radius: 50%;
  z-index: 10000;
}
#stalker {
  pointer-events: none;
  position: fixed;
  top: -16px;
  left: -16px;
  width: 32px;
  height: 32px;
  background: rgba(253, 254, 0, 0.8);
  border-radius: 50%;
  transform: translate(-100px, -100px);
  transition: transform 0.2s;
  transition-timing-function: ease-out;
  z-index: 10000;
}
#stalker.hov_ {
  top: -40px;
  left: -40px;
  width: 80px;
  height: 80px;
  transition: .15s;
  background: rgba(253, 254, 0, 0.5);
}
/* scroll up anime ----------------------------------------- */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.delay-time {
  animation-delay: 0.5s;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeUpTrigger {
  opacity: 0;
}
/* loading　----------------------------------------- */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #6B9A5E;
  z-index: 10000;
  opacity: 1; /* 初期状態は完全に表示 */
  visibility: visible; /* 初期状態は表示 */
  transition: opacity 0.5s ease, visibility 0s linear 0.5s; /* フェードアウト時にopacityだけ変化し、visibilityは遅延で変化 */
}

.loading.hidden {
  opacity: 0; /* フェードアウト時 */
  visibility: hidden; /* 完全に隠す */
}

.loading img:nth-of-type(1) {
  width: 70px;
  position: absolute;
  top: calc(50% - 28px);
  left: calc(50% - 35px);
  margin: 0 auto;
}

.loading img:nth-of-type(2) {
  width: 150px;
  position: absolute;
  top: calc(50% - 75px);
  left: calc(50% - 75px);
  margin: 0 auto;
  animation: 10s ease infinite guruguru;
}

@keyframes guruguru {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* btn　----------------------------------------- */
.read_more_btn {
  margin: 20px auto 50px;
  padding: 10px 30px;
  width: 200px;
  /* border: solid 0.5px #727272; */
  background: #6B9A5E;
  color: #fff;
  transition: .5s;
  display: block;
}
.read_more_btn i {
  padding: 0 0 4px 15px;
  vertical-align: bottom;
  margin-top: 0px;
  font-size: 1.3rem;
}
.read_more_btn:hover {
  background: #93BE87;
  /* border: solid 0.5px #6B9A5E; */
}

.read_more_btn_bonfire {
  margin: 20px auto 50px;
  padding: 10px 30px;
  width: 200px;
  background: #ED8E53;
  color: #fff;
  transition: .5s;
  display: block;
}
.read_more_btn i {
  padding: 0 0 4px 15px;
  vertical-align: bottom;
  margin-top: 0px;
  font-size: 1.3rem;
}
.read_more_btn:hover {
  background: #93BE87;
  /* border: solid 0.5px #6B9A5E; */
}

/* HEADER　（ロゴ＋スライダー画像+TOPコピー＋固定コピー）----------------------------------------- */
header > div:nth-child(1) {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px;
}
header > div h1 a img {
  width: 200px;
  margin: 15px 0 5px 30px;
}
header > div:nth-child(2) span {
  padding: 0 20px;
}
header > div:nth-of-type(2) {
  position: relative;
  height: max(600px, 85vh);
  overflow: hidden;
  margin: 0 auto;
  z-index: 1;
  width: 100vw;
}
/* ★ここから */
.c-mv {
  position: relative;
  width: 100%;
  height: 100vh; /* 画面の高さに合わせる */
  overflow: hidden; /* 画面外の部分を隠す */
}
.c-mv__video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw; /* ビューポートの幅全体 */
  height: auto; /* 高さは自動で調整 */
  min-height: 100vh; /* ビューポートの高さに合わせる */
  transform: translate(-50%, -50%); /* 中央に配置 */
  z-index: 0;
}
.c-mv__mask {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: rgba(255, 255, 255, 0.1);
}
.firstview div:nth-of-type(3), .firstview div:nth-of-type(4), .firstview div:nth-of-type(5), .firstview div:nth-of-type(6) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  animation: slide-animation 32s infinite;
  z-index: 10;
  opacity: 0;
  display: none;
}
.firstview div:nth-of-type(3) {
  background-image: url("images/image_15.jpg");
  background-repeat: no-repeat;
  background-position: top 43% left 0;
  animation-delay: 0s;
}
.firstview div:nth-of-type(4) {
  background-image: url("images/image_08.jpg");
  background-repeat: no-repeat;
  background-position: top 40% left 0;
  animation-delay: 8s;
}
.firstview div:nth-of-type(5) {
  background-image: url("images/image_10.jpg");
  background-repeat: no-repeat;
  background-position: top 23% left 0;
  animation-delay: 16s;
}
.firstview div:nth-of-type(6) {
  background-image: url("images/image_11.jpg");
  background-repeat: no-repeat;
  background-position: bottom left 0;
  animation-delay: 24s;
}
@keyframes slide-animation {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    z-index: 0;
  }
}
.copy_top span:first-of-type {
  display: block;
  position: absolute;
  top: 23vh;
  writing-mode: vertical-rl;
  background-color: #fff;
  left: max(20px, 13vw);
  color: #292929;
  z-index: 100;
  padding: 15px 8px 0px;
  letter-spacing: 0.7rem;
  font-weight: 600;
  font-family: "Klee One", cursive;
  font-size: 1.6rem;
}
.copy_top span:last-of-type {
  display: block;
  position: absolute;
  top: 23vh;
  left: max(20px, 8vw);
  writing-mode: vertical-rl;
  padding: 15px 8px 0px;
  color: #292929;
  background-color: #fff;
  z-index: 100;
  letter-spacing: 0.7rem;
  font-weight: 600;
  font-family: "Klee One", cursive;
  font-size: 1.6rem;
}
.copy_fixed {
  position: fixed;
  transform: rotate(-90deg);
  z-index: 1;
  right: -207px;
  top: 49%;
}
@media screen and (min-width:2000px) {
  .firstview div:nth-of-type(4) {
    background-position: top 63% left 0;
  }
  .copy_top span:first-of-type {
    font-size: 2.4rem;
    padding: 30px 20px 0px;
  }
  .copy_top span:last-of-type {
    font-size: 2.4rem;
    padding: 30px 20px 0px;
    left: max(20px, 9vw);
  }
}
@media screen and (max-width:960px) {
  header > div h1 a img {
    width: 150px;
    margin: 10px 0 5px 10px;
  }
  .c-mv__video, .c-mv__mask {
    display: none;
  }
 .firstview div:nth-of-type(3) {
    background-image: url("images/image_05.jpg");
    background-position: center left 68%;
    display: block;
  }
 .firstview div:nth-of-type(4) {
    background-image: url("images/image_10.jpg");
    background-position: center left 30%;
    display: block;
  }
 .firstview div:nth-of-type(5) {
    background-image: url("images/image_33.jpg");
    background-position: center left 37%;
    display: block;
  }
 .firstview div:nth-of-type(6) {
    background-image: url("images/image_13.jpg");
    background-position: center;
    display: block;
  }
  .copy_fixed {
    display: none;
  }
  /* .copy_top span:first-of-type, .copy_top span:last-of-type {
    padding: 20px 5px;
	} */
  .copy_top span:first-of-type {
    left: min(61px, 20vw);
    padding: 12px 4px 0px;
    font-weight: 600;
    top: 16vh;
    letter-spacing: 0.7rem;
    writing-mode: vertical-rl;
    font-size: 1.4rem;
    opacity: 0.9;
  }
  .copy_top span:last-of-type {
    padding: 12px 4px 0px;
    font-weight: 600;
    left: min(25px, 6vw);
    top: 16vh;
    letter-spacing: 0.7rem;
    writing-mode: vertical-rl;
    font-size: 1.4rem;
    opacity: 0.9;
  }
}
/*
@media (max-width: 768px) {
  .c-mv__video {
    width: auto;
    height: 161vh;
  }
}

.c-mv__mask {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
} */
/* ja-en btn----------------------------------------- */
.lang_change_wap {
  display: flex;
  gap: 16px;
  align-items: center;
  margin: 10px 102px 10px 0;
  width: 92px;
  justify-content: space-between;
  position: fixed;
  z-index: 300;
  right: 0;
}
.lang_change_wap > label div {
  color: #B2AE7F;
}
.lang_change_wap > label:first-of-type {
  padding: 0 0 0 15px;
  margin: -19px 0 0 0px;
  transition: .3s;
}
.lang_change_wap > label:last-of-type {
  padding: 0 9px 0 0;
  margin: -19px 0 0 0px;
  transition: .3s;
}
input[type=checkbox]:checked ~ .lang_change_btn_text {
  background: #6B9A5E;
  color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 100px;
  transition: .3s;
  padding: 5px 2px 0 4px;
}
.lang_change_wap label > input {
  display: block;
  opacity: 0;
  transition: .3s;
}
.lang_change_wap span {
  width: 100px;
  height: 42px;
  background: #E3E1C4;
  border-radius: 100px;
  z-index: -100;
  position: absolute;
}
@media screen and (max-width:500px) {
  .lang_change_wap {
    margin: 0px 20px 20px 0;
    right: 0;
    bottom: 0;
    display: none;
  }
  .lang_change_wap.active {
    display: flex;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
  }
}
html[lang="ja"] *:is([lang]):not([lang="ja"]), html[lang="en"] *:is([lang]):not([lang="en"]) {
  display: none !important;
}
/* hbg ----------------------------------------- */
.hbg_wap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 40px;
  height: 40px;
  position: fixed;
  top: 22px;
  right: 25px;
  z-index: 300;
  background: #6B9A5E;
  border-radius: 5px;
}
.hbg_wap span {
  position: absolute;
  width: 21px;
  height: 1.5px;
  background-color: #fff;
  margin-left: 10px;
}
.hbg_wap span:first-of-type {
  top: 12px;
}
.hbg_wap span:nth-of-type(2) {
  top: 50%;
}
.hbg_wap span:last-of-type {
  top: 28px;
}
.hbg_menu_wap {
  z-index: 200;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: max(1440px, 100%);
  height: 100vh;
  background-color: #6B9A5E;
}
.hbg_menu {
  position: fixed;
  top: 0;
  right: 0;
  width: calc(60vw - 10vw);
  height: calc(100vh - 10vh);
  margin: 5vh 5vw 5vh;
  display: none;
  transition: .5s;
}
.hbg_menu ul {
  width: 50%;
}
.hbg_menu li {
  color: #fff;
  text-align: left;
  margin: 30px 30px 0;
  width: calc(50% - 60px);
  list-style: none;
}
.hbg_menu li i {
  font-size: 1.6rem;
  padding-right: 20px;
}
.hbg_menu li a {
  color: #fff;
  font-weight: 400;
  font-size: 1.6rem;
}
.hbg_menu li span {
  display: block;
  padding-left: 32px;
  font-weight: 300;
  font-size: 1.1rem;
}
.hbg_menu_sns_wap a i {
  font-size: 3.0rem;
  padding-right: 30px;
}
.hbg_menu_wap img {
  height: 100vh;
  width: 40vw;
  object-fit: cover;
  transition: .5s;
  display: none;
  z-index: 200;
}
.hbg_wap.active {
  border: 1.5px #fff;
}
.hbg_wap.active span:first-of-type {
  top: 50%;
  transform: rotate(45deg);
}
.hbg_wap.active span:nth-of-type(2) {
  opacity: 0;
}
.hbg_wap.active span:last-of-type {
  top: 50%;
  transform: rotate(-45deg);
}
.hbg_menu_wap.active {
  overflow: hidden;
  display: flex;
}
.hbg_menu_wap.active img {
  display: block;
  animation-name: fadein;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
.hbg_menu.active {
  display: flex;
  flex-wrap: wrap;
  animation-name: fadein;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (max-width:960px) {
  .hbg_wap {
    top: 13px;
    right: 30px;
  }
  .hbg_menu {
    width: calc(100vw - 10vw);
  }
  .hbg_menu_wap.active img {
    display: none;
  }
}
@media screen and (max-width:500px) {
  .hbg_wap {
    top: 15px;
    right: 10px;
  }
  .hbg_menu {
    width: calc(100vw - 6vw);
    height: calc(100vh - 22vh);
    margin: 11vh 3vw;
  }
  .hbg_menu li {
    margin: 0 20px 0 30px;
    width: calc(100% - 50px);
  }
  /* .hbg_menu li:nth-of-type(11) {
    display: none;
  } */
  .hbg_menu li i {
    padding-right: 15px;
  }
  .hbg_menu li a {
    font-size: 1.4rem;
  }
  .hbg_menu li span {
    display: none;
  }
  .hbg_menu_sns_wap a i {
    font-size: 1.8rem;
    padding: 0 15px 0;
  }
}
/* btn_access_fixed ----------------------------------------- */
.btn_access_fixed {
  position: fixed;
  right: 208px;
  top: 22px;
  color: #6B9A5E;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 8px 10px;
  z-index: 100;
  display: block;
}
.btn_access_fixed a {
  color: #6B9A5E;
  font-weight: 600;
}
.btn_access_fixed a i {
  padding-right: 10px;
  font-size: 2.0rem;
}
@media screen and (max-width:960px) {
  .btn_access_fixed {
    top: 13px;
  }
}
@media screen and (max-width:500px) {
  .btn_access_fixed {
    right: 60px;
    top: 15px;
    padding: 7px 5px;
  }
  .btn_access_fixed a {
    font-size: 1.2rem;
  }
}
/* btn_dog_fixed ----------------------------------------- */
.btn_dog_fixed {
  position: fixed;
  right: 20px;
  bottom: 20px;
  color: #fff;
  background-image: url("images/icon_dog_paw_g.png");
  background-size: cover;
  padding: 8px 10px;
  z-index: 100;
  width: 80px;
  height: 84px;
  animation: yureru-updown 5s infinite;
  font-family: 'Sen', sans-serif;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  word-break: break-all;
}
.btn_dog_fixed a {
  color: #fff;
  font-weight: 500;
  display: block;
  margin: 0 auto;
  background-image: url("images/icon_dog_paw_b.png");
  background-size: cover;
  padding: 53px 24px 0 0;
  line-height: 1.5rem;
  width: 74px;
  height: 46px;
  position: fixed;
  right: 4px;
  bottom: 5px;
  font-family: 'Sen', sans-serif;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  word-break: break-all;
}
@keyframes yureru-updown {
  0% {
    transform: translate(0px, 2px);
  }
  5% {
    transform: translate(0px, -2px);
  }
  10% {
    transform: translate(0px, 2px);
  }
  15% {
    transform: translate(0px, -2px);
  }
  20% {
    transform: translate(0px, 2px);
  }
  25% {
    transform: translate(0px, -2px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}
@media screen and (max-width:500px) {
  .btn_dog_fixed {
    right: 10px;
    bottom: 10px;
    width: 65px;
    height: 70px;
  }
  .btn_dog_fixed a {
    font-size: 1.2rem;
    padding: 48px 23px 0 0;
    line-height: 1.3rem;
    width: 65px;
    height: 40px;
    right: 1px;
    bottom: 2px;
  }
}
/* btn_summerfes_fixed ----------------------------------------- */
.btn_summerfes_fixed {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background-image: url("images/btn_summerfes.png");
  background-size: cover;
  padding: 8px 10px;
  z-index: 100;
  width: 118px;
  height: 100px;
  animation: yureru-updown 5s infinite;
  display: block;
}
.btn_summerfes_fixed a {
  display: block;
  width: 118px;
  height: 100px;
}
@keyframes yureru-updown {
  0% {
    transform: translate(0px, 2px);
  }
  5% {
    transform: translate(0px, -2px);
  }
  10% {
    transform: translate(0px, 2px);
  }
  15% {
    transform: translate(0px, -2px);
  }
  20% {
    transform: translate(0px, 2px);
  }
  25% {
    transform: translate(0px, -2px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}
@media screen and (max-width:500px) {
  .btn_dog_fixed {
    right: 10px;
    bottom: 10px;
    width: 65px;
    height: 70px;
  }
  .btn_dog_fixed a {
    font-size: 1.2rem;
    padding: 48px 23px 0 0;
    line-height: 1.3rem;
    width: 65px;
    height: 40px;
    right: 1px;
    bottom: 2px;
  }
}
/* footer ----------------------------------------- */
footer {
  display: block;
  margin: 50px auto 0;
  background: #6B9A5E;
  padding: 40px 0 10px;
}
footer > div:first-child {
  margin: 0 auto 30px;
  display: flex;
  justify-content: center;
}
footer a {
  display: block;
  color: #fff;
  font-weight: 300;
  padding: 0 0 10px;
  font-size: 1.3rem;
}
footer img {
  display: block;
  margin: 30px auto;
  width: 80px;
}
footer small {
  color: #fff;
  font-weight: 300;
  font-size: 1.1rem;
}
/* icon---------------------------------------------- */
.icon_wap {
  width: min(960px, 64vw);
  height: 100%;
  margin: 0 auto;
  display: flex;
  border: none;
  border-radius: 5px;
  padding: 10px 10px 10px;
  justify-content: space-around;
  align-items: baseline;
}
.icon_wap div {
  width: 25%;
}
.icon_wap div img {
  height: max(70px, 4vw);
}
.icon_wap div:nth-of-type(1) img {
  height: max(80px, 5vw);
}
@media screen and (max-width:960px) {
  .icon_wap {
    width: max(300px, 60vw);
    flex-wrap: wrap;
  }
  .icon_wap div {
    width: 50%;
  }
  .icon_wap div p {
    font-size: 1.2rem;
    font-weight: 500;
    padding-top: 10px;
  }
  .icon_wap div:nth-of-type(3), .icon_wap div:nth-of-type(4) {
    margin-top: 50px;
  }
}
/* home_info ----------------------------------------- */
.banner {
  background: #F4F3E9;
  margin: -24px auto 0;
  padding: 10px 0px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
}
.banner span {
  color: #ED8E53;
  line-height: 4.0rem;
  margin-right: 30px;
}
.banner a {
  display: block;
  margin: 0;
  padding: 4px 10px;
}
/*.banner {
    width: min(700px, 50vw);
	  background: #6B9A5E;
    height: 100%;
    margin: 60px auto 0;
    border: none;
    border-radius: 5px;
    padding: 10px 0px 10px;
    display: flex;
    justify-content: space-between;
	  align-items: center;
	  background-image:url("images/image_07.jpg");
	  background-size: 100%;
    background-position: center -42px;
}
.banner > div:nth-of-type(1) {
	  text-align: left;
		font-size: 1.6rem;
	  font-weight: 500;
}

.banner > div:nth-of-type(1) span {
    background-color: #fff;
    color: #6B9A5E;
    line-height: 4.0rem;
}

.banner > div:nth-of-type(1) a {
	  display: block;
}

/* .banner > div:nth-of-type(2) {
	  background-image:url("images/image_07.jpg");
	  background-size: 100%;
    background-position: center -42px;
    width: 40%;
    height: 100px; 
} 

.banner .read_more_btn {
	margin: 0 auto;
	padding: 0;
} */
.banner::after {
  content: "";
  display: block;
  width: 30px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 5s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 5s ease-in-out infinite;
}
@keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@-webkit-keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@media screen and (max-width:960px) {
  .banner {
    display: block;
    padding: 10px 0px 24px;
  }
  .banner span {
    margin-right: 0;
    font-weight: 600;
  }
  .banner a {
    margin: 0 auto;
  }
}
/* home_info ----------------------------------------- */
.info_headline_wap {
  width: min(700px, 50vw);
  background: #F4F3E9;
  height: 100%;
  margin: 0 auto;
  display: block;
  border: none;
  border-radius: 5px;
  padding: 10px;
}

.info_headline_wap:hover {
  transition: .5s;
  background: #FEFBDE;
}
.info_headline_wap:hover p, .info_headline_wap:hover time {
  text-decoration: underline 1px;
  transition: .5s;
}

@media screen and (max-width:960px) {
  .info_headline_wap {
    width: max(250px, 70vw);
    text-align: left;
    padding: 10px 20px 10px;
  }
  .info_headline_wap p {
    text-align: left;
  }
}
/* home_about ----------------------------------------- */
.home_about p {
  display: block;
  width: min(700px, 60vw);
  margin: 0 auto;
}
.home_about iframe {
  width: min(700px, 60vw);
}
@media screen and (max-width:960px) {
  .home_about p {
    width: max(300px, 60vw);
    text-align: left;
  }
  .home_about iframe {
    width: max(300px, 60vw);
  }
}
/* home_story ----------------------------------------- */
.home_story p {
  display: block;
  width: min(700px, 60vw);
  margin: 0 auto;
}
@media screen and (max-width:960px) {
  .home_story p {
    width: max(300px, 60vw);
    text-align: left;
  }
}
/* info_summary ----------------------------------------- */
.info_summary {
  margin: 0 auto 50px;
}
@media screen and (max-width:960px) {
  .info_summary {
    width: max(300px, 80vw);
  }
}
/* info_article ----------------------------------------- */
.info_article h2 {
  padding: 0 20%;
}
.info_article time {
  display: block;
  margin-top: -30px;
}
.info_article_text {
  background: #fff;
  text-align: left;
  width: min(700px, 50vw);
  height: 100%;
  margin: 30px auto 50px;
  display: block;
}
.info_article_text p a {
  font-weight: 500;
  color: #6B9A5E;
}
.info_wap img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  margin: 0px auto 30px;
}
.info_article_omoitsuki img {
  display: block;
  width: min(700px, 50vw);
  height: auto;
  object-fit: cover;
  margin: 0px auto 30px;
  border: 0.5px solid #ececec;
}
@media screen and (max-width:960px) {
  .info_article h2 {
    padding: 0 10%;
  }
  .info_article_text {
    width: max(300px, 80vw);
  }
  .info_wap img {
    width: 100%;
    height: max(250px, 20vh);
  }
  .info_article_omoitsuki img {
    width: max(300px, 60vw);
    height: auto;
  }
}
/* story ----------------------------------------- */
.story img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  margin: 50px auto 0;
}
.story img:nth-of-type(1) {
  margin: 0 auto;
  object-position: top 35% left 0;
}
.story img:nth-of-type(2) {
  object-position: 0% 63%;
}
.story img:nth-of-type(3) {
  object-position: 0% 73%;
  margin: 30px auto 0;
}
.story p {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 50px auto 0;
}
.story p:nth-of-type(21), .story p:nth-of-type(22) {
  margin: 50px auto 80px;
}
@media screen and (max-width:960px) {
  .story img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  .story img:nth-of-type(1), .story img:nth-of-type(2), .story img:nth-of-type(3) {
    object-position: center;
  }
  .story p {
    width: max(300px, 60vw);
  }
}
/* concept ----------------------------------------- */
.concept h3 {
  margin: 60px auto 0;
}
.concept h3:first-of-type::before {
  content: none;
}
.concept img {
  width: min(700px, 30vw);
  margin: 0 auto;
}
.concept p {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 50px auto 0;
}
.concept p:nth-of-type(5), .concept p:nth-of-type(6) {
  margin: 50px auto 80px;
}
.concept span p {
  text-align: center;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.6rem;
}
@media screen and (max-width:960px) {
  .concept img {
    width: max(300px, 60vw);
  }
  .concept p {
    width: max(300px, 60vw);
  }
}
/* about ----------------------------------------- */
.about h3 {
  margin: 60px auto;
  color: #6B9A5E;
  font-size: 1.6rem;
}
.about h3:first-of-type::before {
  content: none;
}
.about h4 {
  font-weight: 500;
}
.about img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  margin: 0 auto;
}
.about_img_yukai {
  width: min(300px, 50vw) !important;
  height: auto !important;
}
.about p {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 30px auto 50px;
}
.about_p_yukai {
  text-align: center !important;
}

.toggle_contents {
  width: min(700px, 50vw);
	background-color: #6B9A5E;
  position: relative;
	margin: 0 auto 10px;
}

.toggle_contents dt h3 {
  display: block;
  color: #fff;
	text-align: left;
	margin: 0;
  font-size: 1.5rem;
}

.toggle_contents dd h4 {
  display: block;
  color: #6B9A5E;
	padding-left: min(53px, 4vw);
	text-align: left;
	margin: 0 auto 30px;
}

.toggle_contents dd h4:before {
  display: inline-block;
  content: '';
  background-color: #6B9A5E;
  width: 6px;
  height: 24px;
  margin-right: 10px;
  vertical-align: bottom;
}

.toggle_contents dd {
  display: block;
  background-color: #E3E1C4;
  padding: 30px 0px;
}

.toggle_contents dd p {
  display: block;
  width: 86%;
  color: #292929;
}

.toggle_contents dd img {
  width: min(600px, 45vw);
  height: min(260px, 35vh);
  object-fit: cover;
  margin: 0 auto;
}

.toggle_title {
  padding: 10px 10px 8px 20px;
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.4;
	color: #fff;
	display: flex;
  justify-content: space-between;
}
/*
.toggle_btn {
  position: absolute;
  top: 9px;
  right: 16px;
  background: #fff;
  display: block;
  width: 24px;
  height: 24px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
}
.toggle_btn:before {
  display: block;
  content: '';
  width: 15px;
  height: 3px;
  position: relative;
  top: 10.5px;
  right: 0px;
  background-color: #6B9A5E;
  margin: 0 auto !important;
}
.toggle_btn:after {
  display: block;
  content: '';
  width: 3px;
  height: 15px;
  position: relative;
  top: -20.5px;
  right: -0.5px;
  background-color: #6B9A5E;
  margin: 0 auto !important;
}

.toggle_title.selected .toggle_btn:before {
  content: normal;
} */
.toggle_contents dd {
  display: none;
}

.fa-caret-down {
  font-size: 1.6rem;
  color: #6B9A5E;
  padding-right: 10px;
  background-color: #fff;
  border-radius: 100px;
  padding: 5px 5px 5px 8px;
}
.toggle_title.selected .fa-caret-down {
  transform: rotate(180deg);
}

/* 
.about_collaboration_wap {
  width: min(700px, 60vw);
  margin: 0 auto 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.about_collaboration_wap p {
  margin: 0;
  width: auto;
  font-size: 1.3rem;
}
.about_collaboration_wap > div {
  display: flex;
  justify-content: space-between;
  width: min(300px, 27vw);
  height: 80px;
  background-color: #F4F3E9;
  color: #292929;
  margin: 0 auto 30px;
}
.about_collaboration_wap > div:last-child {
  background-color: #fff;
}
.about_collaboration_wap > div > div:first-child {
  width: 16vw;
  background-color: #F4F3E9;
  padding: 17px 15px 15px 24px;
  text-align: left;
}
.about_collaboration_wap > div > div:last-child {
  background-color: #6B9A5E;
  color: #fff;
  padding: 15px;
  width: 55px;
  text-align: center;
}
.about_collaboration_wap > div > div h4:nth-child(1) {
  font-size: 1.3rem;
}
.about_collaboration_wap > div > div h4:nth-child(2), .about_collaboration_wap > div > div p:nth-child(2) {
  font-size: 1.0rem;
} */

/* モーダル一旦閉鎖
.modal-open{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  margin: auto;
  cursor: pointer;
	font-weight: 400;
}

.modal-container{
  position: fixed;
	top: 85%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
	background-color: #6B9A5E;
	color: #fff;
}
.modal-container:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal-container.active{
  opacity: 0.9;
  visibility: visible;
}
.modal-body{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: min(700px, 50vw);
	padding: 100px 80px 90px;
}
.modal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 60px;
  right: 70px;
  width: 40px;
  height: 40px;
  font-size: 30px;
  color: #fff;
  cursor: pointer;
}
.modal-content{
  text-align: left;
} */
@media screen and (max-width:960px) {
  .about img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  .about p {
    width: max(300px, 60vw);
  }
	/*
  .about_collaboration_wap {
    width: max(300px, 60vw);
    display: block;
  }
  .about_collaboration_wap > div {
    width: max(300px, 60vw);
  }
  .about_collaboration_wap > div:last-child {
    display: none;
  }
  .about_collaboration_wap p {
    width: auto;
  }
  .about_collaboration_wap > div > div:first-child {
    width: 70vw;
  }
  .about_collaboration_wap > div > div h4:nth-child(2), .about_collaboration_wap > div > div p:nth-child(2) {
    font-size: 1.2rem;
  }
  .modal-container {
    top: 82%;
  }
  .modal-body {
    width: min(600px, 70vw);
    padding: 120px 30px 110px;
  }
  .modal-close {
    top: 100px;
    right: 30px;
  } */
  .toggle_contents {
     width: max(300px, 60vw);
	}
	.toggle_contents dt h3 {
    font-size: 1.5rem;
}
	.toggle_contents dd h4 {
    padding-left: 20px;
}
	.toggle_contents dd img {
    width: max(300px, 60vw);
		height: auto;
    object-fit: cover;
    margin: 0 auto;
}
}
/* access ----------------------------------------- */
.access p {
  display: block;
  margin: 0 auto 50px;
}
iframe {
  width: min(1040px, 60vw);
  margin: 0 auto 50px;
  aspect-ratio: 16/9;
}
.access img {
  width: min(1040px, 60vw);
  margin: 0 auto 50px;
  /*border: #a2a2a2 solid 1px; */
}
.access img:nth-of-type(2) {
  display: none;
}
@media screen and (max-width:960px) {
  .access p {
    width: max(300px, 90vw);
  }
  iframe {
    width: max(300px, 60vw);
    aspect-ratio: 16/16;
  }
  .access img {
    width: max(300px, 60vw);
  }
  .access img:nth-of-type(1) {
    display: none;
  }
  .access img:nth-of-type(2) {
    display: block;
  }
}
/* cafe ----------------------------------------- */
.cafe img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  margin: 0 auto;
}
.cafe img:nth-of-type(2), .cafe img:nth-of-type(3), .cafe img:nth-of-type(4) {
  width: min(700px, 50vw);
  height: auto;
  object-fit: cover;
  margin: 40px auto;
  border: #a2a2a2 solid 1px;
  justify-content: center;
  display: block;
}
.cafe img:last-of-type {
  margin: 0 auto 80px;
}
.cafe p, .cafe ul, .cafe li {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.cafe ul {
  margin: 0px auto;
}
.cafe li {
  display: list-item;
  list-style-position: inside;
}
.cafe h3, .cafe p:nth-of-type(1), .cafe p:nth-of-type(2) {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 30px auto 0;
}
#cafe_menu {
  margin: 0 auto;
}
#cafe_menu img {
  margin: 30px auto;
  width: min(700px, 40vw);
  height: 100%;
  border: #a2a2a2 solid 1px;
}
@media screen and (max-width:960px) {
  .cafe img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  .cafe img:nth-of-type(2), .cafe img:nth-of-type(3), .cafe img:nth-of-type(4) {
    width: max(300px, 60vw);
  }
  .cafe h3, .cafe p:nth-of-type(1), .cafe p:nth-of-type(2), .cafe p, .cafe ul, .cafe li {
    width: max(300px, 60vw);
  }
  #cafe_menu img {
    width: max(300px, 60vw);
  }
}
/* refill station ----------------------------------------- */
.refill img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  object-position: 0% 44%;
  margin: 0 auto;
}
.refill img:last-of-type {
  display: block;
}
.refill p, .refill ul, .refill li {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.refill li {
  display: list-item;
  list-style-position: inside;
}
.refill h3, .refill p:nth-of-type(1), .refill p:nth-of-type(2) {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 30px auto 0;
}
#refill_howto {
  margin: 0 auto;
}
#refill_howto img {
  margin: 30px auto;
  width: min(700px, 40vw);
  height: 100%;
  border: #a2a2a2 solid 1px;
}
.slick-dots {
  position: relative !important;
  bottom: 30px !important;
  text-align: center !important;
}
.slick-dots li button:before {
  font-size: 20px !important;
}
.slick-next {
  right: 0 !important;
}
@media screen and (max-width:960px) {
  .refill img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  .refill h3, .refill p:nth-of-type(1), .refill p:nth-of-type(2), .refill p, .refill ul, .refill li {
    width: max(300px, 60vw);
  }
  #refill_howto img {
    width: max(300px, 60vw);
  }
}
/* dogrun ----------------------------------------- */
.dogrun img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  object-position: 0% 44%;
  margin: 0px auto;
}
.dogrun img:last-of-type {
  display: block;
}
.dogrun p, .dogrun ul, .dogrun li {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.dogrun table {
  margin: 20px auto;
  width: min(700px, 50vw);
}
.dogrun table:nth-of-type(4) {
  margin: 0px auto;
}
.dogrun table:nth-of-type(5) {
  text-align: left;
}
.dogrun th {
  border: solid 1px #6B9A5E;
  background-color: #6B9A5E;
  color: #fff;
  padding: 10px 20px;
}
.dogrun td {
  border: solid 1px #6B9A5E;
  padding: 10px 20px;
  vertical-align: middle;
}
.dogrun table:nth-of-type(5) td {
  padding: 10px 20px;
}
.dogrun table:nth-of-type(5) tr td:first-child {
  font-size: 2.0rem;
  color: #fff;
  background-color: #6B9A5E;
}
.dogrun h3, .dogrun p:nth-of-type(1), .dogrun p:nth-of-type(2) {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 30px auto 0;
}
.dogrun > a:nth-of-type(1), .dogrun > a:nth-of-type(2) {
  color: #fff;
  font-weight: 400;
  background-color: #CF9061;
}
.dogrun span, .dogrun p a, .dogrun a {
  color: #6B9A5E;
  font-weight: 500;
}
.dogrun ul span {
  color: #CF9061;
  font-weight: 500;
}
#dogrun_point img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  object-position: 0% 44%;
  margin: 20px auto 40px;
}
#dogrun_point div:nth-of-type(2) img {
  object-position: 0% 100%;
}
#dogrun_point div:nth-of-type(4) img {
  object-position: 0% 72%;
}
#dogrun_point div:nth-of-type(5) img {
  object-position: 0% 0%;
}
#dogrun_point div:nth-of-type(6) img {
  object-position: 0% 70%;
}
#dogrun_point div:nth-of-type(7) img {
  object-position: 0% 70%;
}
#dogrun_howto {
  margin: 0 auto;
}
#dogrun_howto img {
  margin: 30px auto;
  width: min(200px, 20vw);
  height: 100%;
}
#dogrun_howto span {
  font-size: 2.0rem;
  color: #fff;
  border-radius: 100px;
  background-color: #6B9A5E;
  padding: 7px 11px 9px 12px;
  display: inline-block;
  margin: 0 auto;
}
#dogrun_howto p {
  width: 40vw;
  margin: 0 auto 70px;
}
/* .slick-dots {
  position: relative !important;
  bottom: 30px !important;
  text-align: center !important;
	border: none;
}
.slick-dots li button:before {
  font-size: 20px !important;
}
.slick-next {
  right: 0 !important;
}
.w-full {
    width: 80% !important;
}

.flex-col {
	background-color: #000;
} */

.fa-circle {
  font-size: 1.4rem;
  color: #6B9A5E;
  padding-right: 10px;
}
@media screen and (max-width:960px) {
  .dogrun img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  .dogrun h3, .dogrun p:nth-of-type(1), .dogrun p:nth-of-type(2), .dogrun p, .dogrun ul, .dogrun li {
    width: max(300px, 60vw);
  }
  .dogrun table {
    width: max(300px, 60vw);
  }
  .dogrun th {
    vertical-align: middle;
    font-size: 1.2rem;
    padding: 7px;
  }
  .dogrun td {
    font-size: 1.3rem;
    padding: 10px;
  }
  .dogrun ol li {
    font-size: 1.3rem;
  }
  #dogrun_point img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  #dogrun_howto img {
    width: max(300px, 60vw);
  }
  #dogrun_howto img {
    width: max(100px, 40vw);
  }
  #dogrun_howto p {
    width: max(300px, 60vw);
  }
}
/* terms of use ----------------------------------------- */
.terms_of_use p, .terms_of_use a {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 10px auto;
}
.terms_of_use li {
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.terms_of_use h3 {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 50px auto 0;
}
.terms_of_use ul {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 10px auto 0;
  list-style-position: inside;
  padding-left: 10px;
}
.terms_of_use ul span {
  color: #CF9061;
  font-weight: 500;
}
.terms_of_use a {
  display: block;
  text-align: left;
  color: #6B9A5E;
  transition: .5s;
}
.terms_of_use a:first-of-type {
  margin: 30px auto 5px;
}
.terms_of_use i {
  padding: 0 20px 0 0;
  transition: .5s;
}
.terms_of_use a:hover, .terms_of_use i:hover {
  color: #A2D594;
}
@media screen and (max-width:960px) {
  .terms_of_use h3, .terms_of_use p:nth-of-type(1), .terms_of_use p:nth-of-type(2), .terms_of_use p, .terms_of_use ul, .terms_of_use li, .terms_of_use a {
    width: max(300px, 60vw);
  }
}
/* privacy ----------------------------------------- */
.privacy p, .privacy ul, .privacy li, .privacy a {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.privacy h3, .privacy p:nth-of-type(1), .privacy p:nth-of-type(2) {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 50px auto 0;
}
.privacy p:nth-of-type(15), .privacy p:nth-of-type(16) {
  margin: 0 auto 80px;
}
.privacy ul {
  margin: 25px auto 0;
}
.privacy a {
  display: block;
  text-align: left;
  color: #6B9A5E;
  transition: .5s;
}
.privacy a:first-of-type {
  margin: 30px auto 5px;
}
.privacy i {
  padding: 0 20px 0 0;
  transition: .5s;
}
.privacy a:hover, .privacy i:hover {
  color: #A2D594;
}
@media screen and (max-width:960px) {
  .privacy h3, .privacy p:nth-of-type(1), .privacy p:nth-of-type(2), .privacy p, .privacyul, .privacy ul, .privacy li, .privacy a {
    width: max(300px, 60vw);
  }
}
/* error ----------------------------------------- */
.error p {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.error p:last-of-type {
  display: block;
  width: min(700px, 50vw);
  margin: 0 auto 50px;
}
.error h3 {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 50px auto 50px;
}
.error a {
  color: #6B9A5E;
  transition: .5s;
}
.error a:hover {
  color: #A2D594;
}
@media screen and (max-width:960px) {
  .error h3, .error p, .error a, .error p:last-of-type {
    width: max(300px, 60vw);
  }
}
/* event ----------------------------------------- */
.event p {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.event p:last-of-type {
  display: block;
  width: min(700px, 50vw);
  margin: 0 auto 50px;
}
.event h3 {
  display: block;
  width: min(700px, 50vw);
  margin: 50px auto 50px;
}
.event img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  margin: 0px auto 30px;
}
#calendar {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #292929;
  line-height: 2.0rem;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.3rem;
  background-color: #fff;
  width: min(700px, 50vw);
  height: auto;
  margin: 0 auto 60px;
}
.fc .fc-toolbar-title {
  font-size: 1.4rem;
  color: #292929;
}
.fc :after {
  display: none;
}
@media screen and (max-width:960px) {
  .event h3, .event p, .event p:last-of-type {
    width: max(300px, 60vw);
  }
  .event img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  #calendar {
    width: max(300px, 60vw);
    height: max(650px, 60vh);
  }
}
/* eventページ　モーダルウィンドウのスタイル */
.modal {
  display: none;
  position: fixed;
  z-index: 500;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.close {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}

/* basecamp ----------------------------------------- */
.basecamp img {
  width: min(700px, 50vw);
  height: min(300px, 40vh);
  object-fit: cover;
  object-position: 0% 44%;
  margin: 0px auto;
}
.basecamp img:last-of-type {
  display: block;
}
.basecamp p, .basecamp ul, .basecamp li {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
.basecamp table {
  margin: 0px auto 20px;
  width: min(700px, 50vw);
}

.basecamp th {
  border: solid 1px #6B9A5E;
  background-color: #6B9A5E;
  color: #fff;
  padding: 10px 20px;
}
.basecamp td {
  border: solid 1px #6B9A5E;
  padding: 10px 20px;
  vertical-align: middle;
}

.basecamp_td_left {
  text-align: left;
}

.basecamp table:nth-of-type(5) td {
  padding: 10px 20px;
}

.basecamp h3, .basecamp p:nth-of-type(1), .basecamp p:nth-of-type(2) {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 30px auto 0;
}
.basecamp > a:nth-of-type(1), .basecamp > a:nth-of-type(2) {
  color: #fff;
  font-weight: 400;
  background-color: #CF9061;
}
.basecamp span, .basecamp p a, .basecamp a {
  color: #6B9A5E;
  font-weight: 500;
}
.basecamp ul span {
  color: #CF9061;
  font-weight: 500;
}
#basecamp_point img {
  width: min(700px, 50vw);
  height: min(500px, 56vh);
  object-fit: cover;
  object-position: 0% 44%;
  margin: 0px auto 40px;
}

/*
#basecamp_point div:nth-of-type(2) img {
  object-position: 0% 100%;
}
#basecamp_point div:nth-of-type(4) img {
  object-position: 0% 72%;
}
#basecamp_point div:nth-of-type(5) img {
  object-position: 0% 0%;
}
#basecamp_point div:nth-of-type(6) img {
  object-position: 0% 70%;
}
#basecamp_point div:nth-of-type(7) img {
  object-position: 0% 70%;
} */

#basecamp_point div p {
	text-align: left;
}

#basecamp_howto {
  margin: 0 auto;
}
#basecamp_howto img {
  margin: 30px auto;
  width: min(200px, 20vw);
  height: 100%;
}
#basecamp_howto span {
  font-size: 2.0rem;
  color: #fff;
  border-radius: 100px;
  background-color: #6B9A5E;
  padding: 7px 11px 9px 12px;
  display: inline-block;
  margin: 0 auto;
}
#basecamp_howto p {
  width: 40vw;
  margin: 0 auto 70px;
}
/* .slick-dots {
  position: relative !important;
  bottom: 30px !important;
  text-align: center !important;
	border: none;
}
.slick-dots li button:before {
  font-size: 20px !important;
}
.slick-next {
  right: 0 !important;
}
.w-full {
    width: 80% !important;
}

.flex-col {
	background-color: #000;
} */

.fa-circle {
  font-size: 1.4rem;
  color: #6B9A5E;
  padding-right: 10px;
}
@media screen and (max-width:960px) {
  .basecamp img {
    width: max(300px, 60vw);
    height: max(250px, 20vh);
  }
  .basecamp h3, .basecamp p:nth-of-type(1), .basecamp p:nth-of-type(2), .basecamp p, .basecamp ul, .basecamp li {
    width: max(300px, 60vw);
  }
  .basecamp table {
    width: max(300px, 60vw);
  }
  .basecamp th {
    vertical-align: middle;
    font-size: 1.2rem;
    padding: 7px;
  }
  .basecamp td {
    font-size: 1.3rem;
    padding: 10px;
  }
  .basecamp ol li {
    font-size: 1.3rem;
  }
  #basecamp_point img {
    width: max(300px, 60vw);
    height: max(300px, 20vh);
  }
  #basecamp_howto img {
    width: max(300px, 60vw);
  }
  #basecamp_howto img {
    width: max(100px, 40vw);
  }
  #basecamp_howto p {
    width: max(300px, 60vw);
  }
}

/* contact ----------------------------------------- */
.contact form {
  margin: 0px auto;
}
.contact form, .contact > p:nth-of-type(1), .contact > p:nth-of-type(2) {
  width: min(700px, 50vw);
  margin: 0px auto 50px;
  text-align: left;
}
.contact form > p a {
  color: #6B9A5E;
  transition: .5s;
}
.contact form > p a:hover {
  color: #A2D594;
}
.contact p:nth-of-type(27), .contact p:nth-of-type(28) {
  width: min(700px, 50vw);
  margin: 0px auto 50px;
  text-align: center;
}
.contact form div {
  text-align: left;
  width: min(700px, 50vw);
}
.contact div label {
  display: inline-block;
  margin-bottom: 10px;
}
.contact div label p, .contact label span p {
  width: auto;
  display: inline-block;
}
.contact div label span p {
  color: #EC5C2A;
}
.contact div input {
  background-color: #F4F3E9;
  width: min(700px, 50vw);
  height: 50px;
  padding: 0px 20px;
  border: none;
  margin-bottom: 50px;
}
.contact div input:focus {
  outline: solid 2px #6B9A5E;
}
.contact div:nth-of-type(3) div {
  display: flex;
  margin: 20px auto 10px;
  height: 40px;
}
.contact div:nth-of-type(3) div:last-of-type {
  margin: 20px auto 40px;
}
.contact div:nth-of-type(3) div input {
  width: 10%;
  height: 20px;
  accent-color: #6B9A5E;
  outline: none;
}
.contact div:nth-of-type(4) textarea {
  display: block;
  background-color: #F4F3E9;
  width: min(700px, 50vw);
  height: 150px;
  padding: 20px 20px;
  border: none;
  margin-bottom: 20px;
}
.contact div:nth-of-type(4) textarea:focus {
  outline: solid 2px #6B9A5E;
}
.contact button {
  margin: 50px auto;
  width: 300px;
  height: 60px;
  border: none;
  background: #6B9A5E;
  color: #fff;
  transition: .5s;
  display: block;
  font-size: 1.6rem;
}
.contact button p {
  letter-spacing: 2px;
  color: #fff;
}
.contact button i {
  padding: 0 0 2px 15px;
  vertical-align: bottom;
  margin-top: 0px;
  font-size: 1.3rem;
}
.contact button:hover {
  background: #93BE87;
}
@media screen and (max-width:960px) {
  .contact form, .contact > p:nth-of-type(1), .contact > p:nth-of-type(2), .contact p:nth-of-type(27), .contact p:nth-of-type(28), .contact form div, .contact div input, .contact div:nth-of-type(4) textarea {
    width: max(300px, 60vw);
  }
  .contact div:nth-of-type(1) input, .contact div:nth-of-type(2) input, .contact div:nth-of-type(4) textarea {
    width: 90%;
  }
}
/* thanks ----------------------------------------- */
.thanks p {
  display: block;
  width: min(700px, 50vw);
  text-align: left;
  margin: 0px auto;
}
@media screen and (max-width:960px) {
  .thanks h3, .thanks p {
    width: max(300px, 60vw);
  }
}
/* map ----------------------------------------- */
.map img {
  width: min(1040px, 60vw);
  margin: 0 auto 50px;
}
.map img:nth-of-type(2) {
  width: max(300px, 80vw);
  display: none;
}
.map > div {
  margin: 0 auto 80px;
  width: min(1040px, 60vw);
  text-align: left;
}
.map > div > span:nth-of-type(1), .map > div > span:nth-of-type(2) {
  display: inline-block;
  color: #fff;
  background-color: #6B9A5E;
  padding: 2px 10px;
  margin-bottom: 10px;
}
.map > div > span:nth-of-type(3), .map > div > span:nth-of-type(4) {
  display: inline-block;
  color: #fff;
  background-color: #CF9061;
  padding: 2px 10px;
  margin-bottom: 10px;
}
.map > div > p {
  margin-bottom: 30px;
}
@media screen and (max-width:960px) {
  .map img:nth-of-type(1) {
    display: none;
  }
  .map img:nth-of-type(2) {
    display: block;
  }
  .map > div {
    width: max(300px, 80vw);
  }
}
/* event_summerfes ----------------------------------------- */
.event_summerfes, .event_summerfes_sp {
  overflow: hidden;
}
.event_summerfes img {
  width: min(1040px, 60vw);
  height: auto;
  margin: 0 auto;
  display: block;
}
.event_summerfes img:first-child {
  width: min(1000px, 50vw);
}
.event_summerfes_sp img {
  display: none;
}
@media screen and (max-width:960px) {
  .event_summerfes img {
    display: none;
  }
  .event_summerfes_sp img {
    display: block;
    height: auto;
    margin: 0 auto;
    width: 100vw;
  }
  .event_summerfes_sp div {
    height: auto;
    width: 100vw;
    overflow: auto;
  }
  .event_summerfes_sp div img {
    height: auto;
    width: 200vw;
  }
}