@charset "utf-8";
/* CSS Document */

/*---------------- コース詳細 ----------------*/
.course__wrapper {
  width: 100%;
  background-color: #F8EBE0;
  text-align: center;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.course__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.course__inner p {
  font-weight: 500;
}
.course__inner-description {
  color: #574845;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 3.0rem;
}

/* iPad Smaller than 999px ----------- */
@media only screen and (max-width : 999px) {
  .course__wrapper {
    padding: 0 20px;
  }
}
/*-----------*/

/* --------- コース概要上のふきだし --------- */
.balloon-1 {
  position: relative;
  margin-bottom: 50px;
  padding: 20px;
  background: #fafafe;
  border-radius: 20px;
  box-shadow: 0 1px 2px 0 rgba(87, 72, 69, 0.2);
}
.balloon-1:before {  
  content: "";
  position: absolute;
  left: 58%;
  width: 14px;
  height: 14px;
  bottom: -45px;
  background: #fafafe;
  border-radius: 50%;
  box-shadow: 0 1px 3px 0 rgba(87, 72, 69, 0.3);
}
.balloon-1:after {
  content: "";
  position: absolute;
  left: 60%;
  width: 20px;
  height: 20px;
  bottom: -26px;
  background: #fafafe;
  border-radius: 50%;
  box-shadow: 0 1px 3px 0 rgba(87, 72, 69, 0.3);
}
.balloon-1 p {
  font-size: 1.8rem;
  line-height: 3.0rem;
  margin: 0; 
  padding: 0;
}
/* Smartphones (landscape) ----------- */
@media only screen and (max-width :767px) {
  .balloon-1 {
  margin: 0 35px 50px;
}
}
/* // コース概要上のふきだし --------- */

/* --------- コース概要 --------- */
.course__figure-school {
  width: 100%;
  max-width: 450px;
}
.course__figure-spot {
  width: 100%;
  max-width: 450px;
}
.course__figure {
  display: flex;
  text-align: center;
  justify-content: space-around;
  padding-bottom: 120px;
  margin: 60px auto 0;
}
.course-title {
  color: #54C0C8;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 2.6rem;
  font-weight: 700;
  background-color: #D0E7E9;
  width: 100%;
  padding: 30px;
  border-radius: 40px;
  box-shadow: 0 1px 3px 0 rgba(87, 72, 69, 0.2);
  position: relative;
  z-index: 10;
  margin-bottom: -40px;
}
.course-table {
  padding: 48px 16px 16px;
  background-color: #FDF9F5;
  box-shadow: 0 1px 3px 0 rgba(87, 72, 69, 0.2);
}
.course-table__line {
  display: flex;
  align-items: center;
  padding: 20px 0 15px;
  border-bottom: solid 1px #54C0C8;
}
.course-table__line__category {
  width: 105px;
  padding-left: 5px;
}
.course-table__line__category img {
  width: 100%;
}
.course-table__line__content {
  max-width: 300px;
  text-align: left;
  font-size: 1.8rem;
  padding-left: 16px;
  padding-bottom: 5px;
}
.course-table__content--span {
  font-size: 1.4rem;
}
.course-table__line__content--salon:first-child {
  margin-bottom: 20px;
}
.course-table__entrance-fee {
  background-color: #D0E7E9;
  padding: 10px 10px 10px 20px;
  margin-left: 110px;
  margin-bottom: 20px;
}
.course-table__entrance-fee__memo {
  text-align: left;
}
.course-table__entrance-fee__item {
  width: 50%;
  text-align: left;
}
.course-table__additional-info {
  font-size: 1.4rem;
  display: block;
  text-align: left;
}

/* iPad Smaller than 999px ----------- */
@media only screen and (max-width : 999px) {
  .course__figure {
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-items: center;
  }
  .course__figure-school {
    margin-bottom: 80px;
  }
  .course-table__line__content {
    max-width: 100%;
    font-size: 1.6rem;
    padding: 0 10px;
  }
  .course-table__min999px--flexbox {
    flex-direction: column;
  }
  .course-table__min999px--flexbox__category {
    margin: 0 auto 10px 0;
  }
  .course-table__entrance-fee {
    margin: 0 0 20px;
    padding: 10px 20px;
  }
}
/* Smaller than 500px ----------- */
@media only screen and (max-width : 500px) {
  .course-table {
    padding: 60px 20px 40px;
  }
}
/* // コース概要 --------- */

/* -----------------シンプルなアコーディオン（持ち物）----------------- */
.accordion__handcarry-goods {
  width: 100%;
  max-width: 480px;
  align-items: center;
  margin: 10px auto 0;
}
.accordion__handcarry-goods summary {
  display: list-item;
  list-style: none;
  position: relative;
	background: #FDF9F5;
  padding: 15px 30px;
  box-shadow: 0 1px 3px 0 rgba(87, 72, 69, 0.3);
}
.accordion__handcarry-goods summary {
  color: #574845;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  align-items: center;
}
.accordion__handcarry-goods summary::-webkit-details-marker {
  display:none;
}
.accordion__handcarry-goods summary:hover {
  cursor: pointer;
}
.accordion__handcarry-goods summary::before {
  content: '';
  display: inline-block;
  width: 25px;
  height: 25px;
  background-image: url("../images/course/icon-bag.png");
  background-size: contain;
  margin-right: 20px;
}
.accordion__handcarry-goods summary::after {
	 /*タイトル横の矢印*/
  content:"";
	width: 10px;
	height: 10px;
	border-top: 3px solid #574845;
	border-right: 3px solid #574845;
  border-radius: 3px;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top: calc( 50% - 8px );
	right: 30px;
	transform: rotate(135deg);
}
.course__figure-table {
  text-align: left;
  padding: 24px 18px;
  background:#FDF9F5;
}
.course__figure-table table {
  width: 100%;
}
.course__figure-table h4 {
  font-size: 1.6rem;
  font-weight: 600;
  padding-bottom: 5px;
  border-bottom: solid 1px rgba(87, 72, 69, 0.5);
  margin-bottom: 10px;
}
.course__figure-table__item td {
  width: 20%;
  padding: 8px 4px;
}
.course__figure-table__item td span {
  font-size: 1.4rem;
}
.course__figure-table h5 {
  font-size: 1.6rem;
  font-weight: 600;
  padding-bottom: 5px;
  border-bottom: solid 1px rgba(87, 72, 69, 0.5);
  margin: 30px 0 10px;
}
.course__figure-description {
  margin-top: 40px;
}
.course__figure-description p {
  font-size: 1.6rem;
  margin-bottom: 10px;
}

/* Smartphones (landscape) ----------- */
@media only screen and (max-width :767px) {
  .accordion__handcarry-goods summary {
  padding: 15px 20px;
}
}

/* // 持ち物アコーディオン --------- */
/*---------------- // コース詳細 ----------------*/

/*---------------- Joiaの1日 ----------------*/
.joia-day__wrapper {
  width: 100%;
  background-color: #FDF9F5;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding-bottom: 10px;
  margin: 0 auto;
}
.joia-day__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.joia-day__inner-description {
  color: #574845;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 3.0rem;
  margin-bottom: 40px;
}

/*---------------- タイムライン ----------------*/
#joia-day__timeline {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}
#joia-day__timeline::before {
  position: absolute;
  content: "";
  top: 10px;
  left: 60px; 
  width: 3px;
  height: 98%; /*端の丸からはみ出さないよう、残り2%とtopで調整済*/
  background-color: rgba(87, 72, 69, 0.7);;
}
.timeline-item {
  position: relative;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  margin-bottom: 40px;
}
.timeline-item .time {
  position: absolute;
  box-sizing: border-box;
  min-width: 64px;
  min-height: 64px;
  padding: 20px 5px;
  text-align: center;
  color: #54C0C8;
  font-size: 2.0rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  background-color: #D0E7E9;
  top: 50%;
  left: 29px;
  margin-top: -32px; /* H:64px 1/2*/
  border-radius: 64px;
}
.timeline-item .description {
  display: block;
  text-align: left;
  font-size: 2.0rem;
  font-weight: 500;
  max-width: 630px;
  margin-left: 80px;
  padding: 10px 40px;
}
.timeline-item .description span {
  font-size: 1.6rem;
  font-weight: 500;
}
.timeline-scene {
  position: relative;
}
.scene-description {
  display: block;
  text-align: left;
  font-size: 2.0rem;
  font-weight: 500;
  max-width: 630px;
  margin-left: 60px;
  padding: 10px 60px;
  background-color: rgba(87, 72, 69, 0.1);
}
#timeline-image-01, #timeline-image-02, #timeline-image-03 {
  width: 270px;
}
#timeline-image-01 img, #timeline-image-02 img, #timeline-image-03 img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 30px 30px 0 0;
}
#timeline-image-01 p, #timeline-image-02 p, #timeline-image-03 p {
  width: 100%;
  background-color: #fafafe;
  text-align: left;
  padding: 20px;
  border-radius: 0 0 30px 30px;
  margin: -5px 0 0;
  box-shadow: 0 1px 3px 0 rgba(87, 72, 69, 0.2);
}
#timeline-scene-01, #timeline-scene-02, #timeline-scene-03 {
  position: relative;
  padding-bottom: 100px;
}
#timeline-image-01, #timeline-image-03 {
  position: absolute;
  top: -120px;
  left: 600px;
}
#timeline-image-02 {
  position: absolute;
  top: -120px;
  left: 260px;
}
#main-activity {
  margin: 150px auto 200px;
}
#main-activity .time {
  display: none;
}
#main-activity__description {
  display: block;
  text-align: left;
  font-size: 2.0rem;
  font-weight: 500;
  max-width: 400px;
  margin-left: 60px;
  padding: 10px 60px;
}
#joia-day__timeline #last-item {
  margin-top: 80px;
}

/* iPad Smaller than 999px ----------- */
@media only screen and (max-width : 999px) {
  .joia-day__wrapper {
    padding: 0;
  }
  .joia-day__inner {
    width: 100%;
    padding-bottom: 10px;
  }
  .joia-day__inner-description {
    padding: 0 30px;
    font-size: 1.6rem;
    letter-spacing: 0.01rem;
  }
  #joia-day__timeline {
  position: relative;
  max-width: 330px;
  margin: 0 auto;
}
  #joia-day__timeline::before {
    position: absolute;
    content: "";
    top: 10px;
    left: 32px;
    width: 3px;
    height: 98%;
    background-color: rgba(87, 72, 69, 0.7);
}
  .timeline-item .description {
  font-size: 1.8rem;
  width: 270px;
  margin-left: 32px;
  padding: 10px 0px 10px 50px;
}
  .timeline-item .time {
    left: 0;
  }
  .scene-description {
  font-size: 1.8rem;
  font-weight: 600;
  margin-left: 32px;
  padding: 20px 50px;
}
  .timeline-scene .time {
  position: absolute;
    top: 0;
    margin-top: 0;
  }
  #main-activity {
  margin: 40px auto;
}
  #main-activity__description {
  font-size: 1.8rem;
  font-weight: 600;
  margin-left: 32px;
  padding: 20px 50px;
  }
  #timeline-image-01, #timeline-image-02, #timeline-image-03 {
  position: static;
  width: 296px;
  margin: 0 0 0 35px;
}
  #timeline-image-01 img, #timeline-image-02 img, #timeline-image-03 img {
  border-radius: 0;
}
}
/*-----------*/
/*---------------- // Joiaの1日 ----------------*/

/* --------- LINEへの誘導 --------- */
.balloon-2 {
  width: 100%;
  max-width: 720px;
  position: relative;
  margin: 100px auto 50px;
  padding: 30px 20px;
  background: #F8EBE0;
  border-radius: 20px;
  box-shadow: 0 1px 2px 0 rgba(87, 72, 69, 0.2);
}
.balloon-2:before {  
  content: "";
  position: absolute;
  left: 58%;
  width: 18px;
  height: 18px;
  bottom: -50px;
  background: #F8EBE0;
  border-radius: 50%;
  box-shadow: 0 1px 2px 0 rgba(87, 72, 69, 0.3);
}
.balloon-2:after {
  content: "";
  position: absolute;
  left: 60%;
  width: 25px;
  height: 25px;
  bottom: -30px;
  background: #F8EBE0;
  border-radius: 50%;
  box-shadow: 0 1px 2px 0 rgba(87, 72, 69, 0.3);
}
.balloon-2 p {
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  line-height: 3.0rem;
}
.balloon-2 p span {
  font-weight: 600;
}
#sp-line-link {
  padding: 0 40px;
  margin-bottom: 60px;
}
#sp-line-link a {
  text-decoration: none;
}
#sp-line-link img {
  width: 80px;
}
#sp-line-link a h2 {
  color: #574845;
  font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-weight: 500;
  font-size: 1.6rem;
}
#sp-line-link a h2 strong {
  font-weight: 600;
  background-image: linear-gradient(transparent 70%, rgba(120, 195, 199, 0.3) 0%);
  padding: 0 2px;
  margin: 0 2px;
}
/* Smartphones (landscape) ----------- */
@media only screen and (max-width :767px) {
  .balloon-2 {
  max-width: 300px;
  margin: 80px auto 60px;
}
}
/*-----------*/
/* // LINEへの誘導 --------- */

/*---------------- よくあるご質問 ----------------*/
.additional-info {
  width: 100%;
  background-color: #FDF9F5;
  text-align: center;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding-bottom: 60px;
}
#faq-p {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.075rem;
  margin-bottom: 40px;
}
.additional-info__inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.additional-info__accordion {
  max-width: 1000px;
  align-items: center;
  margin: 0 auto;
}
.additional-info__accordion summary {
  display: list-item;
  list-style: none;
  align-items: center;
  padding: 15px 30px;
  text-align: left;
	background-color: #F8EBE0;
  border-bottom: solid 1px rgba(87, 72, 69, 0.1);
  box-shadow: 0 1px 3px 0 rgba(87, 72, 69, 0.2);
  position: relative;
}
/* 一部ブラウザで消えなかった場合は以下も追記 */
  .additional-info__accordion summary::-webkit-details-marker {
  display:none;
}
.additional-info__accordion summary:hover {
  cursor: pointer;
}
.additional-info__accordion summary h3 {
  color: #574845;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  font-weight: 500;
}
.additional-info__accordion summary::after {
	 /*タイトル横の矢印*/
  content:"";
	width: 10px;
	height: 10px;
	border-top: 3px solid #574845;
	border-right: 3px solid #574845;
  border-radius: 3px;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top: calc( 50% - 8px );
	right: 30px;
	transform: rotate(135deg);
}
/* 【要確認】開閉の＞が変わらない */
.additional-info__accordion details:checked + .additional-info__accordion summary::after {
  transform: rotate(-45deg) !important;
}
.accordion-text {
  text-align: left;
  padding: 30px;
  background:#fafafe;
}
.accordion-text p {
  padding-bottom: 10px;
}

/* iPad Smaller than 999px ----------- */
@media only screen and (max-width : 999px) {
  .additional-info__inner {
    padding: 0 40px;
  }
}

/* Smartphones (landscape) ----------- */
@media only screen and (max-width :767px) {
  .additional-info__accordion summary {
  padding: 10px 20px;
}
.additional-info__accordion summary h3 {
  font-size: 1.6rem;
  font-weight: 500;
  margin-right: 15px;
}
  .additional-info__accordion summary::after {
    right: 20px;
  }
}
/*-----------*/

/*---------------- 対策について ----------------*/
#counterplan {
  width: 100%;
  max-width: 1000px;
  background-color: #FDF9F5;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding-top: 120px;
  margin: 0 auto 80px;
}
.tab {
	display: flex;
  justify-content: flex-start;
}
.tab li {
  list-style: none;
  margin-left: 40px;
}
.tab li a{
	text-decoration: none;
  display: block;
  color: #574845;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  font-weight: 500;
	background: #F8EBE0;
	padding: 10px 30px;
  border: solid 3px rgba(87, 72, 69, 0.5);
  border-radius: 20px 20px 0 0;
}
.tab li.active a {
  background: rgb(208, 231, 233);
}
.area {
  display: none;/*はじめは非表示*/
  opacity: 0;
  background: #fafafe;
	margin: -3px auto 0;
	padding: 60px;
  border: solid 3px rgba(87, 72, 69, 0.5);
  border-radius: 5px 30px 30px 5px;
}
/*ふわっと表示させるためのアニメーション*/
.area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: .5s;
    animation-fill-mode: forwards;
}
@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
#infection-control {
  text-align: left;
}
#infection-control h2 {
  text-align: center;
  color: #574845;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  font-weight: 500;
  padding-bottom: 15px;
  border-bottom: solid 3px rgb(208, 231, 233);
  margin-bottom: 20px;
}
#infection-control h3 {
  margin-top: 40px;
  padding-bottom: 10px;
}
.infection-control__list li {
  list-style: circle;
  margin: 0 auto 5px 30px;
  text-align: justify;
}
#emergency-measures h2 {
  text-align: center;
  color: #574845;
  font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, 'Yu Gothic medium', 'Hiragino Sans', "メイリオ", 'sans-serif';
  font-size: 1.8rem;
  font-weight: 500;
  padding-bottom: 15px;
  border-bottom: solid 3px rgb(208, 231, 233);
  margin-bottom: 20px;
}
#emergency-measures ul li {
  list-style: none;
  text-align: left;
}
.emergency-measures__list h3 {
  margin-top: 40px;
  padding-bottom: 10px;
}
.emergency-measures__list p {
  text-align: justify;
}

/* iPad Smaller than 999px ----------- */
@media only screen and (max-width : 999px) {
  #counterplan {
    padding: 120px 40px 0;
  }
}

/* Smartphones (landscape) ----------- */
@media only screen and (max-width :767px) {
  .tab li {
  margin: 0 10px 0 0;
}
  .tab li a{
  font-size: 1.6rem;
	padding: 10px 8px;
}
  .area {
    padding: 40px 20px;
    border-radius: 5px;
  }
}
/*-----------*/