@charset "UTF-8";
/* header
====================================================================================================================================== */
#container.top {
  position: relative;
}
#container.top #header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  padding-bottom: 2rem;
  z-index: 10;
  overflow: visible;
}
#container.top #header .btn {
  color: #fff;
  border-color: #fff;
}
@media (min-width: 1024px) {
  #container.top #header {
    color: #fff;
  }
  #container.top #header a {
    color: #fff;
  }
}
#container.top #menu_btn_sp:not(.opened) a {
  background: none;
}
#container.top #menu_btn_sp:not(.opened) .i_list {
  border-color: #fff;
}
#container.top #menu_btn_sp:not(.opened) .i_list:before, #container.top #menu_btn_sp:not(.opened) .i_list:after {
  border-color: #fff;
}

/* coomon_parts
====================================================================================================================================== */
.fukidashi,
.fukidashi_line {
  display: inline-block;
  position: relative;
  font-weight: bold;
  font-size: 0.8rem;
  line-height: 1.6;
  text-align: center;
  overflow: visible;
}

.fukidashi {
  background-color: #FCDF00;
  padding: 0.3em 1em;
  margin-bottom: 1em;
  border-radius: 1.5em;
}
.fukidashi:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  top: auto;
  bottom: -5px;
  left: 50%;
  margin-left: -4px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #FCDF00 transparent transparent transparent;
}

.fukidashi_line {
  padding: 0.5em 1.4em;
}
.fukidashi_line:before, .fukidashi_line:after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  left: 0;
  border-right: solid 1px #111;
  width: 1px;
  height: 100%;
  transform: rotate(-20deg);
}
.fukidashi_line:after {
  left: auto;
  right: 0;
  transform: rotate(20deg);
}

.kazari_dot {
  position: absolute;
  left: -25px;
  bottom: -13%;
  width: calc(100% + 50px);
  height: 50%;
  z-index: 1;
}

.kazari_dot * {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: #FA6F19;
  width: 3em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  z-index: 100;
}
@media (min-width: 1024px) {
  .kazari_dot * {
    width: 2.5em;
  }
}
.kazari_dot *.dot_green {
  background: #00A629;
}
.kazari_dot *.dot_yellow {
  background: #FCDF00;
}
.kazari_dot *.dot_xs {
  width: 1.5em;
}
@media (min-width: 1024px) {
  .kazari_dot *.dot_xs {
    width: 1em;
  }
}
.kazari_dot *.dot_sm {
  width: 2.4em;
}
@media (min-width: 1024px) {
  .kazari_dot *.dot_sm {
    width: 1.6em;
  }
}
.kazari_dot *.dot_la {
  width: 3.6em;
}
.kazari_dot *.dot_xl {
  width: 6.4em;
}

.tit_box {
  position: relative;
  font-weight: bold;
}
.tit_box h2,
.tit_box h3 {
  display: inline-block;
  position: relative;
}
.tit_box h2 {
  border: 0;
}
.tit_box h2 .border {
  display: inline-block;
  background: url(../images/bg_line.svg) repeat-x left bottom;
  background-size: 200px auto;
  padding-bottom: 0.15em;
  margin-bottom: 0.25em;
}
@media (min-width: 1024px) {
  .tit_box h2 {
    font-size: 2.2rem;
  }
}
.tit_box .fukidashi_img {
  position: absolute;
  right: -6.15rem;
  top: -9rem;
  width: 12.3rem;
  aspect-ratio: 1/0.7;
}
.tit_box .fukidashi_img.f_single {
  right: -3rem;
  top: -5rem;
}
.tit_box .fukidashi_img > div {
  position: absolute;
  left: 57%;
  top: 0;
}
.tit_box .fukidashi_img > div.dot02 {
  left: 0;
  top: 16%;
  z-index: 2;
}
.tit_box .fukidashi_img > div.dot03 {
  left: 40%;
  top: 55%;
  z-index: 2;
}
.tit_box .fukidashi_img .wrap {
  display: inline-block;
  background: url(../images/fukidashi_r.png) no-repeat center top;
  background-size: 100% 100%;
  padding: 1.8em 1.4em 2em;
  font-size: 0.9rem;
  color: #fff;
  white-space: nowrap;
  text-align: center;
  transform: rotate(10deg);
  z-index: 1;
}
.tit_box .fukidashi_img .wrap.f_yellow {
  background-image: url(../images/fukidashi_y_long.png);
  color: #111;
  transform: rotate(-2deg);
}
.tit_box .fukidashi_img .wrap.f_green {
  background-image: url(../images/fukidashi_g_long.png);
}
.tit_box .fukidashi_img .wrap.column02 {
  padding-top: 1.4em;
  padding-bottom: 1.4em;
}
.tit_box .fukidashi_img .wrap.column02.f_green {
  background-image: url(../images/fukidashi_g.png);
}
.tit_box .illust {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 120px;
}
@media (min-width: 1024px) {
  .tit_box .illust {
    width: 190px;
  }
}

/* mainvisual
====================================================================================================================================== */
.top .first_conts {
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  .top .first_conts {
    margin-bottom: 10rem;
  }
}

.first_conts {
  background: #111;
  position: relative;
  overflow: visible;
}
.first_conts #main_slider,
.first_conts #main_slider .mainvisual {
  margin: 0;
  overflow: hidden;
}
.first_conts #main_slider {
  opacity: 0.9;
}
.first_conts .main_copy,
.first_conts .button_area {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  font-weight: bold;
  z-index: 10;
  overflow: hidden;
}
.first_conts .main_copy {
  padding: 7rem 25px 4.9rem;
}
.first_conts .main_copy .main_text {
  font-size: 2.2rem;
  line-height: 1.4;
  margin-bottom: 0.6rem;
}
.first_conts .main_copy .main_text rt {
  font-size: 0.3em;
  margin-bottom: -0.2em;
}
.first_conts .main_copy .sub_text {
  font-size: 0.9rem;
}
.first_conts .button_area {
  bottom: -3.7rem;
}
.first_conts .button_area .button_wrap {
  position: relative;
  display: inline-block;
  width: auto;
  background: #fff;
  margin: 1em auto 0;
  padding: 7px;
  border-radius: 3em;
}
.first_conts .button_area .button_wrap:hover {
  transform: scale(1.04);
}
.first_conts .button_area .button_wrap .fukidashi {
  position: absolute;
  left: -3px;
  top: -0.6rem;
}
.first_conts .button_area .button_wrap .btn {
  margin: 0;
  min-width: 300px;
  background-image: none;
  padding-right: 2rem;
}
.first_conts .button_area .button_wrap .btn:before {
  content: "";
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  margin: 0 0.4em 0.2em 0;
  vertical-align: middle;
  background: url(../images/icon/i_search_w.svg) no-repeat center center;
  background-size: 100% auto;
}
.first_conts .button_area .button_wrap .btn:hover {
  transform: scale(1);
}
.first_conts .kazari_dot {
  height: 75%;
}
.first_conts .kazari_dot .dot01 {
  left: 4%;
  top: 20%;
}
.first_conts .kazari_dot .dot02 {
  left: -5%;
  top: 56%;
}
.first_conts .kazari_dot .dot03 {
  left: 50%;
  top: auto;
  bottom: 0;
}
.first_conts .kazari_dot .dot04 {
  left: 76%;
}
.first_conts .kazari_dot .dot05 {
  left: 84%;
  top: 30%;
}
.first_conts .kazari_dot .dot06 {
  left: 88%;
  top: 74%;
}
@media (min-width: 1024px) {
  .first_conts .main_copy {
    top: 0;
    bottom: auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0 0 12.5rem 50px;
    z-index: 2;
  }
  .first_conts .main_copy .main_text {
    font-size: 3rem;
  }
  .first_conts .button_area {
    bottom: 4.5rem;
    padding-left: 50px;
    text-align: left;
  }
  .first_conts .kazari_dot {
    left: 18%;
    transform: scale(1.4);
    bottom: 0;
    width: 77%;
    height: 52%;
  }
  .first_conts .kazari_dot .dot01 {
    top: 0;
    left: 8%;
  }
  .first_conts .kazari_dot .dot02 {
    top: 32%;
  }
  .first_conts .kazari_dot .dot03 {
    left: 31%;
    bottom: 6%;
  }
  .first_conts .kazari_dot .dot04 {
    left: 78%;
    top: 20%;
  }
  .first_conts .kazari_dot .dot05 {
    top: 47%;
  }
  .first_conts .kazari_dot .dot06 {
    left: 59%;
    top: 77%;
  }
}
@media (min-width: 1024px) and (min-width: 1300px) {
  .first_conts .main_copy,
  .first_conts .button_area {
    padding-left: 80px;
  }
}

/* contents
====================================================================================================================================== */
/* about us */
.first_copy {
  margin-bottom: 1.5rem;
}

.kataribe_copy {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 2.5rem;
}
.kataribe_copy .kataribe_word {
  position: relative;
  display: inline-block;
  width: 7.8rem;
  height: 3rem;
  background: #fff;
  margin-bottom: 0.4em;
  border: solid 2px #111;
  box-shadow: 3px 3px 0 #111;
  line-height: 1;
  vertical-align: middle;
  overflow: hidden;
}
.kataribe_copy .kataribe_word .wrap {
  position: absolute;
  width: 100%;
}
.kataribe_copy .kataribe_word img {
  width: 100%;
  height: 3rem;
  /* フレーム高さに合わせる */
  -o-object-fit: cover;
     object-fit: cover;
}
.kataribe_copy .ruby_bottom {
  position: relative;
}
.kataribe_copy .ruby_bottom .ruby {
  position: absolute;
  left: 0;
  bottom: -1.2rem;
  width: 100%;
  font-size: 0.4em;
  text-align: center;
  letter-spacing: 1em;
}

.about_us .text_area {
  margin-bottom: 3.2rem;
}
.about_us .dot_image {
  position: relative;
  margin-left: -20%;
  margin-right: -20%;
  height: 88vw;
}
.about_us .dot_image .dot_photo {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  width: 50%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}
.about_us .dot_image .dot_photo.dot02 {
  width: 32%;
  left: 49%;
  top: auto;
  bottom: 0;
}
.about_us .dot_image .dot_photo.dot03 {
  width: 18%;
  left: 76%;
  top: 9%;
}
.about_us .dot_image .dot_fukidashi {
  position: absolute;
  left: 58%;
  bottom: 45%;
}
.about_us .dot_image .dot_fukidashi .fukidashi_line {
  transform: rotate(10deg);
}
.about_us .dot_image .kazari_dot {
  left: 0;
  bottom: -4.7rem;
  width: 100%;
  height: 130%;
  z-index: -1;
}
.about_us .dot_image .kazari_dot .dot01 {
  left: 45%;
  top: 19%;
}
.about_us .dot_image .kazari_dot .dot02 {
  left: 3%;
  top: 47%;
}
.about_us .dot_image .kazari_dot .dot03 {
  left: 29%;
  top: auto;
  bottom: -4%;
}
.about_us .dot_image .kazari_dot .dot04 {
  left: 70%;
  top: 0;
}
.about_us .dot_image .kazari_dot .dot05 {
  left: 82%;
  top: 19%;
}
.about_us .dot_image .kazari_dot .dot06 {
  left: 75%;
  top: 72%;
}
@media (min-width: 1024px) {
  .about_us {
    position: relative;
    overflow: visible;
  }
  .about_us .text_area {
    width: 48%;
  }
  .about_us .dot_image {
    position: absolute;
    right: calc(500px - 50vw);
    top: -6rem;
    width: 45vw;
    height: calc(100% + 12rem);
    margin: 0;
    z-index: -1;
  }
  .about_us .dot_image .dot_photo.dot01 {
    width: 495px;
    left: 26%;
    top: -10%;
  }
  .about_us .dot_image .dot_photo.dot02 {
    width: 280px;
    left: 0;
    top: 52%;
  }
  .about_us .dot_image .dot_photo.dot03 {
    width: 172px;
    left: 61%;
    top: 73%;
  }
  .about_us .dot_image .dot_fukidashi {
    left: -1%;
    top: 45%;
    bottom: auto;
  }
  .about_us .dot_image .dot_fukidashi .fukidashi_line {
    transform: rotate(-20deg) !important;
  }
  .about_us .dot_image .kazari_dot {
    transform: scale(1.4);
  }
  .about_us .dot_image .kazari_dot .dot01 {
    left: 29%;
    top: 40%;
  }
  .about_us .dot_image .kazari_dot .dot02 {
    display: none;
  }
  .about_us .dot_image .kazari_dot .dot03 {
    left: 30%;
    top: 77.5%;
  }
  .about_us .dot_image .kazari_dot .dot04 {
    left: 60%;
    top: 60%;
  }
  .about_us .dot_image .kazari_dot .dot05 {
    left: 75%;
    top: 46%;
  }
}

/* tour list */
#tour_list {
  background: url(../images/bg_yellow.png) repeat center top;
  background-size: 600px auto;
  padding: 6rem 0;
}

/* workshop list */
/* sns */
.sns_box,
.faq_box {
  width: 100%;
  padding: 4rem 25px;
}
@media (min-width: 1024px) {
  .sns_box,
  .faq_box {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

.sns_box {
  background: url(../images/bg_sankaku.png);
  background-size: 24px auto;
}
.sns_box h3.tit_icon {
  padding-left: 2.4rem;
}
.sns_box h3.tit_icon:before {
  background: url(../images/icon/sns_i_b.png) no-repeat center center;
  background-size: 100% auto;
  border-radius: 0;
  width: 1.8rem;
}
.sns_box .conts_wrap ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sns_box .conts_wrap ul li {
  flex: 0 0 calc(33.333% - 10px);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  margin: 0 !important;
}

.faq_box {
  background: #00A629;
}
.faq_box h3 {
  color: #fff;
}/*# sourceMappingURL=top.css.map */