@charset "UTF-8";

.item_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: 40px 0 0 0;
}

.image_wrap {
  width: 42%;
}

.data_wrap {
  width: 53%;

  & a {
    color: #57aeff;
    text-decoration: underline
  }
}

.data_block {
  margin-bottom: 40px;
}

#relation_wrap {
  width: 100%;
  max-width: 920px;
  margin: 50px auto 0;
}

.item-photo {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 50px;

  &::after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
  }

  & li {
    width: 32%;
  }

  & li:first-child {
    width: 100%;
  }
}

h1,
h3 {
  font-size: 2.8rem;
  font-weight: 700;
  color: #00375a;
}

h2 {
  font-weight: 600;
  font-size: 2rem;
  color: #00375a;
  margin-bottom: 20px;
}

.detail {
  margin-bottom: 5px;

  & dd:last-of-type {
    padding-bottom: 20px;
  }

  & p {
    margin-top: 20px;
  }
}

.detail-tit::before,
.detail-tit::after {
  content: "";
  position: absolute;
  right: 20px;
  top: calc(50% - 7px);
  width: 2px;
  height: 14px;
  background-color: #b4b4b4;
}

.amount {
  width: 100%;
  text-align: center;
  border: 2px solid #91d0d3;
  margin-top: 20px;
  font-size: 1.8rem;

  & th {
    background-color: #00AAB1;
    color: #fff;
    text-align: center;
    border: 1px solid #91d0d3;
    vertical-align: middle;
    font-weight: 400;
    line-height: 1.3;
  }

  & td {
    border: 1px solid #91d0d3;
    color: #003d5c;
  }

  & span {
    font-size: 90%;
  }

  & .table_icon {
    width: 30%;
    padding: 10px 20px 5px;

    & img {
      width: 90%;
    }
  }

  & .table_food_icon {
    position: relative;
    padding: 0 0 25px;

    & img {
      width: 30%;
      max-width: 127px;
    }

    & span {
      position: absolute;
      display: block;
      bottom: 5px;
      width: 100%;
    }
  }
}

.amount_adult {
  width: 100%;
  text-align: center;
  border-bottom: 1px solid #0a3a5b;
  margin-top: 20px;
  font-size: 1.4rem;

  & th {
    background-color: #FFF;
    color: #0a3a5b;
    text-align: center;
    border-top: 1px solid #0a3a5b;
    vertical-align: middle;
    margin-right: 5px;
    font-weight: 400;
    line-height: 1.3;
  }

  & .table_title {
    padding: 5px;
    color: #0a3a5b;
    border: none;
  }

  & td {
    border-top: 1px solid #0a3a5b;
    vertical-align: middle;
    color: #0a3a5b;
    line-height: 1.1;
    padding: 5px 0px 5px 0px;
  }

  & span {
    font-size: 80%;
  }

  & .table_icon {
    width: 10%;
    padding: 5px;

    & img {
      width: 80%;
    }
  }

  & .table_food_icon {
    position: relative;
    padding: 5px;

    & img {
      width: 50%;
      width: 100%;
      max-width: 127px;
    }

    & span {
      position: absolute;
      display: block;
      bottom: 5px;
      width: 100%;
    }
  }
}

.item_list-block {
  margin-top: 20px;

  & dt {
    font-weight: bold;
  }

  & dd {
    padding: 0 0 0 1em;
    position: relative;
  }

  & dd:first-of-type {
    padding-top: 0;
  }

  & dd::before {
    content: "・";
    position: absolute;
    left: 0;
  }
}

.relation-item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;

  &::after {
    content: "";
    display: block;
    width: 48.5%;
    height: 0;
  }

  & li {
    width: 23%;
    aspect-ratio: 1 / 1.5;
    border-radius: 10px;
    border: 1px solid #c2c2c2;
    text-align: center;
    margin-bottom: 10px;
    padding: 10px;
    position: relative;
    overflow: hidden;
  }

  & div:last-of-type {
    position: absolute;
    width: 100%;
    bottom: 10px;
    left: 0;
    font-size: 1.3rem;
    line-height: 1.3;
  }

  & a {
    display: inline-block;
    background-image: linear-gradient(to right, rgb(0, 57, 91), rgb(23, 95, 130), rgb(0, 57, 91));
    color: #fff;
    border-radius: 5px;
    max-width: 6em;
    width: 38%;
    padding: 5px 10px;
    margin-top: 10px;
    transition: .1s ease-in-out;
    text-decoration: none;

    &:hover {
      opacity: 0.8;
    }
  }
}

.main-pic {
  width: 100%;


  & img {
    position: absolute;
    top: 38%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    display: block;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
  }

  &:hover img:nth-of-type(2) {
    opacity: 0;
  }
}



@media screen and (max-width: 900px) {

  .image_wrap,
  .data_wrap {
    width: 100%;
  }

  .item_wrap,
  #relation_wrap {
    width: 94%;
  }

  h1 {
    margin-top: 50px;
  }

  h2 {
    margin-bottom: 20px;
  }

  .relation-item {
    & li {
      width: 49%;
    }
  }
}