@charset "utf-8";

/* ---------------------------
館内マップ
-------------------------------*/
.map .heading{
  color: #fff;
}
.map p{
  margin-bottom:4%;
  line-height: 1.7;
}
.map p span.caution{
  position: relative;
  padding-left:1.5em;
  display: block;
}
.map p span.caution::before{
  content: "※";
  position: absolute;
  top:0;
  bottom:0;
  margin:auto;
  left:0;
}
.map .activities-list{
  margin-top:10%;
  border-radius: 10px;
  background: repeating-linear-gradient(-45deg, rgba(237, 251, 252, 1), rgba(237, 251, 252, 1) 40px, rgba(255,255, 255, 255) 0, rgba(255, 255, 255, 1) 65px);
  display: flex;
  padding:11% 0;
}
.map .activities-list ul{
  width:50%;
  padding:0 4%;
}
.map .activities-list ul li:not(:last-of-type){
  margin-bottom:25px;
}
.map .activities-list ul li a{
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
  display: flex;
  align-items: center;
}
.map .activities-list ul li a .numb{
  width:30px;
  height:30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right:20px;
}
.map .activities-list ul li a .numb::after{
  content: "";
  width:30px;
  height:30px;
  background: #000;
  transform: rotate(45deg);
  position: absolute;
  top:0;
  left:0;
  z-index: 1;
}
.map .activities-list ul li a .numb span{
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: bold;
  font-size: 1.4rem;
  color: #fff;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 600px) {
  .map .activities-list ul li:not(:last-of-type){
    margin-bottom:20px;
  }
  .map .activities-list ul li a{
    font-size: 1.2rem;
  }
  .map .activities-list ul li a .numb{
    width:20px;
    height:20px;
    margin-right:10px;
  }
  .map .activities-list ul li a .numb::after{
    content: "";
    width:20px;
    height:20px;
  }
  .map .activities-list ul li a .numb span{
    font-size: 1rem;
  }
}
/* ---------------------------
各コンテンツ
-------------------------------*/
.detail{
  background: #fff;
}
.detail .contents-box{
  padding-top:150px;
  margin-top: -150px;
}
.detail .contents-box:not(:last-of-type){
  margin-bottom: 8%;
}
.detail .contents-box .inner{
  -moz-box-shadow: 0px 0px 29px 0px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 0px 29px 0px rgb(0 0 0 / 30%);
  -ms-box-shadow: 0px 0px 29px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 29px 0px rgb(0 0 0 / 30%);
}
.detail .contents-box figure{
  position: relative;
}
.detail .contents-box figure::before{
  content: "";
  position: absolute;
  top:0;
  left:0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 150px 150px 0 0;
  border-color: #000000 transparent transparent transparent;
}
.detail .contents-box figure figcaption{
  position: absolute;
  top:28px;
  left:24px;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 3.6rem;
  font-weight: bold;
  color: #fff;
  font-style: italic;
}
.detail .contents-box .text-wrap{
  background: #fff;
  position: relative;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  overflow: hidden;
}
.detail .contents-box .text-wrap .heading-wrap{
  width:100%;
  margin:7% 4%;
}

.detail .contents-box .text-wrap .heading-wrap h3{
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1.7;
  color: #005557;
  width:100%;
}
.detail .contents-box .text-wrap .heading-wrap h3 span{
  font-size: 1.4rem;
  font-weight: bold;
  color: #333;
  display: block;
}
.detail .contents-box .text-wrap .heading-wrap p{
  margin-top: 2%;
}
.detail .contents-box .text-wrap a{
  display: block;
  background: rgb(0,139,146);
  background: linear-gradient(90deg, rgba(0,139,146,1) 0%, rgba(0,90,94,1) 100%);
  width: 76%;
  padding: 3%;
  text-align: center;
  position: relative;
  right: -5%;
  transform: skewX(-45deg);
}
.detail .contents-box .text-wrap a::before{
  content: "";
  width:10px;
  height: 100%;
  background: #fff;
  position: absolute;
  top:0;
  left:15px;
}
.detail .contents-box .text-wrap a::after{
  content: "";
  width:10px;
  height: 100%;
  background: #fff;
  position: absolute;
  top:0;
  left:40px;
}
.detail .contents-box .text-wrap a span{
  color: #fff;
  width:100%;
  height:100%;
  transform: skewX(45deg);
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
}
.detail .contents-box .text-wrap a span::after{
  content: "";
    width: 10px;
    height: 10px;
    border: 1px solid;
    border-color: #fff #fff transparent transparent;
    transform: rotate(45deg);
    position: absolute;
    top:0;
    bottom:0;
    right:calc(10px + 5%);
    margin:auto;
}
@media screen and (max-width: 768px) {
  .detail .contents-box{
    padding-top:80px;
    margin-top: -80px;
  }
}
@media screen and (max-width: 600px) {
    .detail .contents-box figure::before{
    border-width: 90px 90px 0 0;
  }
  .detail .contents-box figure figcaption{
    top:15px;
    left:10px;
    font-size: 2.7rem;
  }
  .detail .contents-box .text-wrap .heading-wrap h3{
    font-size: 1.8rem;
  }
  .detail .contents-box .text-wrap .heading-wrap h3 span{
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    display: block;
  }
  .detail .contents-box .text-wrap a::before{
    content: "";
    width:7px;
    top:0;
    left:10px;
  }
  .detail .contents-box .text-wrap a::after{
    content: "";
    width:7px;
    left:26px;
  }
  .detail .contents-box .text-wrap a span{
    font-size: 1.2rem;
  }
  .detail .contents-box .text-wrap a span::after{
    width: 7px;
    height: 7px;
  }
}

/* ---------------------------
動画
-------------------------------*/
.movie {
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
  margin-top: 40px;
}

.movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

