@charset 'utf-8';

/* intro */
.page__tour__introGrid {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}

.page__tour__info {
  width: 48%;
}

.page__tour__info p {
  font-size: 1.25rem;
  line-height: 2;
}

.tour__intro__listBody {
  padding: 2rem;
  width: 48%;
  background: var(--bgColor2);
  box-sizing: border-box;
}

.tour__intro__listTitle {
  padding: 0 1rem;
  font-size: 1.5rem;
  font-weight: 800;
  text-align: center;
}

.tour__intro__listTitle::before{
  content: '- ';
}

.tour__intro__listTitle::after {
  content: ' -';
}

.tour__intro__list {
  margin-top: 2.5rem;
}

.tour__intro__item {
  position: relative;
  margin-top: 1.5rem;
  margin-left: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.tour__intro__item::before {
  content: '・';
  position: absolute;
  top: 50%;
  left: -25px;
  transform: translateY(-50%);
}

/* charm */
.page__tour__charmGrid {
  display: flex;
  justify-content: space-between;
  margin-top: 2.5rem;
}

.tour__charmItem {
  width: 30%;
  container-type: inline-size;
}

.tour__charmImg {
  width: 100%;
}

.tour__charmImg img {
  width: 100%;
}

.tour__charmTitle {
  position: relative;
  margin-top: 1rem;
  margin-left: 10%;
  font-size: 6cqw;
  font-weight: 700;
}

.tour__charmTitle::before {
  display: inline-block;
  width: 7cqw;
  height: 7cqw;
  font-size: 5cqw;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: var(--color1);
  position: absolute;
  top: 10%;
  left: -10%;
}

.tour__charmItem:nth-of-type(1) .tour__charmTitle::before {
  content: '1';
}
.tour__charmItem:nth-of-type(2) .tour__charmTitle::before {
  content: '2';
}
.tour__charmItem:nth-of-type(3) .tour__charmTitle::before {
  content: '3';
}

.tour__charmText {
  margin-top: 0.5rem;
  line-height: 1.5;
}

/* tournament */
.page__tournament__img {
  width: 100%;
}

.page__tournament__img a {
  transition: opacity .2s ease-out;
}

.page__tournament__img a:hover {
  opacity: 0.8;
}

.page__tournament__img img {
  width: 100%;
}

/* summary */
.summary__listBody {
  margin-top: 2.5rem;
}

.summary__listItem {
  position: relative;
  margin-left: 1.5rem;
  font-size: 1.25rem;
  line-height: 2;
}

.summary__listItem::before {
  content: '⚫︎';
  position: absolute;
  left: -1.5rem;
}

.summary__note {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* dinner */
.dinner__lead {
  margin-top: 2.5rem;
  font-size: 1.25rem;
  line-height: 2;
}

.dinner__restaurantGrid {
  display: flex;
  justify-content: space-between;
  margin-top: 2.5rem;
}

.dinner__restaurantItem {
  width: 30%;
  container-type: inline-size;
}

.dinner__restaurantItem img {
  width: 100%;
}

.dinner__restaurantName {
  margin-top: 1rem;
  /* font-size: 1.5rem; */
  font-size: min(10cqw, 1.5rem);
  font-weight: 700;
}

.dinner__restaurantText {
  margin-top: 0.5rem;
  line-height: 1.5;
}

.dinner__menuBody {
  margin-top: 3.5rem;
}

.dinner__menuGrid {
  display: flex;
  justify-content: space-between;
}

.dinner__menuText {
  width: 58%;
  font-size: 1.25rem;
  line-height: 1.75;
}

.dinner__menuImg {
  display: flex;
  justify-content: space-between;
  width: 38%;
}

.dinner__menuImg img {
  width: 48%;
}

.dinner__price {
  margin-top: 3.5rem;
  padding: 2rem;
  background: var(--bgColor2);
}

.dinner__priceTitle {
  font-size: 1.5rem;
  font-weight: 800;
  text-align: center;
}

.dinner__priceTitle::before {
  content: '- ';
}

.dinner__priceTitle::after {
  content: ' -';
}

.dinner__priceText {
  margin-top: 2rem;
  font-size: 1.25rem;
  line-height: 1.5;
  text-align: center;
}


/* flow */
.flow__schedule {
  margin-top: 2.5rem;
}

.flow__scheduleItem {
  padding: 2rem;
  border-bottom: 2px solid #E0E0E0;
}

.flow__scheduleItem:first-child {
  padding-top: 0;
}

.flow__scheduleItem:last-child {
  border-bottom: none;
}

.flow__scheduleTime {
  font-size: 1.25rem;
  font-weight: 700;
}

.flow__scheduleText {
  margin-top: 1rem;
  font-size: 1.25rem;
}

/* belongings */
.page__tour__belongingsList {
  margin-top: 2.5rem;
}

.page__tour__belongingsItem h3 {
  font-size: 1.5rem;
  font-weight: 800;
}

.page__tour__belongingsItem p {
  margin-top: 0.5rem;
  line-height: 1.5;
}

.page__tour__belongingsItem:last-child {
  margin-top: 2rem;
}

.page__tour__belongingsImg {
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
}

.page__tour__belongingsImg img {
  width: 22%;
}


/* caution */
.page__section__cautionList {
  margin-top: 2.5rem;
}

.page__section__cautionItem {
  margin-top: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.page__section__cautionNote {
  margin-top: 1rem;
}

@media screen and (max-width: 900px) {
  .page__tour__introGrid {
    display: block;
  }

  .page__tour__info {
    width: 100%;
  }

    .tour__intro__listBody {
    margin-top: 1.5rem;
    width: 100%;
  }
}

@media screen and (max-width: 580px) {
  /* intro */
  .page__tour__introGrid {
    display: block;
    margin-top: 1.5rem;
  }

  .page__tour__info p {
    font-size: 0.9rem;
    line-height: 1.75;
  }

  .tour__intro__listBody {
    margin-top: 1.5rem;
    padding: 1.25rem;
    width: 100%;
  }

  .tour__intro__listTitle {
    padding: 0 1rem;
    font-size: 1.25rem;
    font-weight: 700;
  }

  .tour__intro__listTitle::before{
    content: '- ';
  }

  .tour__intro__listTitle::after {
    content: ' -';
  }

  .tour__intro__list {
    margin-top: 1.5rem;
  }

  .tour__intro__item {
    position: relative;
    margin-top: 1rem;
    margin-left: 0.5rem;
    font-size: 0.9rem;
  }

  .tour__intro__item::before {
    left: -15px;
  }

  /* charm */
  .page__tour__charmGrid {
    display: block;
    margin-top: 1.5rem;
  }

  .tour__charmItem {
    width: 100%;
  }

  .tour__charmItem:nth-of-type(n + 2) {
    margin-top: 1.5rem;
  }

  .tour__charmImg img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  .tour__charmTitle {
    margin-top: 0.5rem;
    margin-left: 8%;
    font-size: 5cqw;
  }

  .tour__charmTitle::before {
    width: 5cqw;
    height: 5cqw;
    font-size: 4cqw;
    left: -7%;
  }

  .tour__charmText {
    margin-top: 0.5rem;
    padding-left: 0.5rem;
    font-size: 0.8rem;
    line-height: 1.25;
  }

  /* summary */
  .summary__listBody {
    margin-top: 1.5rem;
  }

  .summary__listItem {
    margin-left: 1.5rem;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .summary__listItem::before {
    left: -1.25rem;
  }

  .summary__note {
    margin-top: 1rem;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  /* dinner */
  .dinner__lead {
    margin-top: 1.5rem;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .dinner__restaurantGrid {
    display: block;
    margin-top: 1.5rem;
  }

  .dinner__restaurantItem {
    width: 100%;
    container-type: inline-size;
  }

  .dinner__restaurantItem:nth-of-type(n + 2) {
    margin-top: 1.5rem;
  }
 
  .dinner__restaurantItem img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  .dinner__restaurantName {
    margin-top: 0.5rem;
    font-size: 5cqw;
  }

  .dinner__restaurantText {
    font-size: 0.8rem;
    line-height: 1.25;
  }

  .dinner__menuBody {
    margin-top: 2.5rem;
  }

  .dinner__menuGrid {
    display: block;
  }

  .dinner__menuText {
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .dinner__menuImg {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .dinner__price {
    margin-top: 3.5rem;
    padding: 1.5rem;
    background: var(--bgColor2);
  }

  .dinner__priceTitle {
    font-size: 1.25rem;
    font-weight: 700;
  }

  .dinner__priceText {
    margin-top: 1.5rem;
    font-size: 0.9rem;
    line-height: 1.5;
    text-align: left;
  }

  /* flow */
  .flow__schedule {
    margin-top: 1.5rem;
  }

  .flow__scheduleItem {
    padding: 1rem;
    border-bottom: 2px solid #E0E0E0;
  }

  .flow__scheduleTime {
    font-size: 0.9rem;
  }

  .flow__scheduleText {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  /* belongings */
  .page__tour__belongingsList {
    margin-top: 1.5rem;
  }

  .page__tour__belongingsItem h3 {
    font-size: 5cqw
  }

  .page__tour__belongingsItem p {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .page__tour__belongingsItem:last-child {
    margin-top: 1.5rem;
  }

  .page__tour__belongingsImg {
    margin-top: 2rem;
    flex-wrap: wrap;
  }

  .page__tour__belongingsImg img {
    width: 48%;
  }

  .page__tour__belongingsImg img:nth-of-type(n + 3) {
    margin-top: 1rem;
  }

  /* caution */
  .page__section__cautionList {
    margin-top: 1.5rem;
  }

  .page__section__cautionItem {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    font-weight: 700;
  }

  .page__section__cautionNote {
    margin-top: 1rem;
    font-size: 0.8rem;
  }
}