@charset "UTF-8";

/* PROFILE */
.profile{
  padding: 14rem 0 15rem;
}
.profile h2{
  margin-bottom: 16rem;
}
.profileimg{
  width: 100%;
  margin: 0 auto ;
}
.profileBox li{
  width: 50%;
  padding: 7rem 5rem 0 ;
}
.profileBox li h3{
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem;
}
.profileBox li .profileTxt{
  font-size: 1.8rem;
  line-height: 1.33;
}
.profileBox li .profileTxt a{
  color: #0B75A5;
  display: block;
  font-size: 1.8rem;
  font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.33;
}
@media (max-width: 767px){
  .profile{
    padding: 24rem 0 0rem;
  }
  .profile .inner{
    padding: 0;
  }
  .profile .subTtl{
    white-space: nowrap;
  }
  .profile h2{
    margin-bottom: 10rem;
  }
  .profileimg{
    width: 100%;
    margin: 0 auto ;
  }
  .profileBox{
    display: block;
    padding: 0 3.2rem;
  }
  .profileBox li{
    width: 100%;
    padding: 8rem 0 12rem;
  }
  .profileBox li h3{
    font-size: 4.8rem;
    text-align: left;
    margin-bottom: 6.4rem;
  }
  .profileBox li .profileTxt{
    font-size: 3.6rem;
    line-height: 1.5;
  }
  .profileBox li .profileTxt a{
    font-size: 3.6rem;
    line-height: 1.5;
  }
}




/* story */
.story{
  padding: 16rem 0 18rem;
  position: relative;
  background: url(../images/story03/story_bg.png) center 27rem no-repeat;
  background-size: contain;
}
/* .story::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/story03/story_bg_left.png) center center no-repeat;
  background-size: contain;
  width: 42.9rem;
  height: 416.7rem;
  z-index: -1;
}
.story::after{
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: url(../images/story03/story_bg_right.png) center center no-repeat;
  background-size: contain;
  width: 35.8rem;
  height: 416.7rem;
  z-index: -1;
} */
.story h2{
  margin-bottom: 19rem;
}
.story .storyBlock:not(:last-of-type){
  margin-bottom: 12rem;
}
.story .storyBlock:last-of-type{
  margin-bottom: 0;
}
/* .story .storyBlock:nth-of-type(odd){
  padding-left: 2.5rem;
  padding-right: 3rem;
}
.story .storyBlock:nth-of-type(even){
  padding-left: 2.5rem;
  padding-right: 2.5rem;
} */
.storyBlock .storyTxtBox{
  width: 52rem;
}
.storyTxtBox .storyTxt{
  font-size: 1.8rem;
  line-height: 1.666;
}
.storyImg{
  width: 57.5rem;
  position: relative;
}

/* story */
@media (max-width: 767px){
  .story{
    padding: 24rem 0 24rem;
    background: url(../images/story03/story_bg_sp.png) center 35rem no-repeat;
    background-size: contain;
  }
  /* .story::before{
    background: url(../images/story03/story_bg_left_sp.png) center center no-repeat;
    background-size: contain;
    top: 12rem;
    width: 41.4rem;
    height: 881.7rem;
  }
  .story::after{
    background: url(../images/story03/story_bg_right_sp.png) center center no-repeat;
    background-size: contain;
    bottom: 0;
    width: 41.2rem;
    height: 1064.95rem;
  } */
  .story .inner{
    padding: 0 3.2rem;
  }
  .story h2{
    margin-bottom: 10rem;
  }
  .story .storyBlock{
    display: block;
  }
  .story .storyBlock:not(:last-of-type){
    margin-bottom: 23.1rem;
  }
  .story .storyBlock:last-of-type{
    margin-bottom: 20;
  }
  .story .storyBlock:nth-of-type(odd){
    padding: 0;
  }
  .story .storyBlock:nth-of-type(even){
    padding: 0;
  }
  .storyBlock .storyTxtBox{
    width: 100%;
  }
  .storyTxtBox h3{
    font-size: 9rem;
    text-align: center;
    margin-bottom: 8rem;
  }
  .storyTxtBox .cast{
    font-size: 4.8rem;
    text-align: center;
    margin-bottom: 5rem;
  }
  .storyTxtBox .storyTxt{
    font-size: 3.6rem;
    line-height: 1.5;
    margin-bottom: 8.5rem;
  }
  .storyImg{
    width: 100%;
    position: relative;
  }
  
  .storyImg.bgRed{
    margin-left: 1rem;
  }
  .storyImg.bgGreen{
    margin-right: 1rem;
    margin-left: auto;
  }
}

.spot{
  padding: 18rem 0 0;
  background: #EDEDED;
}
.spot h2{
  margin-bottom: 15rem;
}
.spotInner{
  width: 115.2rem;
  margin: 0 auto;
}
.spotInner .spotlist:not(:last-of-type){
  margin-bottom: 12.3rem;
}
.spotlist{
  display: flex;
  position: relative;
}
.spotlist li{
  width: 35.3rem;
}
.spotTopTxt{
  font-size: 2rem;
  margin-bottom: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.spotlist li .round{
  width: 2rem;
  height: 2rem;
  background-color: #E4542C;
  border-radius: 60px;
  display: block;
  position: relative;
  margin-bottom: 1.8rem;
}
.spotlist li .round::after{
  content: "";
  height: 0.1rem;
  width: 56rem;
  background-color: #E4542C;
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.spotImgWrap img{
  vertical-align: bottom;
}
@media (min-width: 768px){
  .spotlist li.middleLine .round::after{width: 57.8rem;}
  .spotlist li.afterLongLine .round::after{width: 90rem;}
  .spotlist li.beforeShortLine .round::after{
    width: 90rem;
    left: -50rem;
  }
  .spotlist li.beforeLongLine .round::after{
    width: 108rem;
    left: -50rem;
  }
  .spotlist li.lineNone .round::after{
    display: none;
  }

  .spotImgaArea div img:not(:first-child){
    display: none;
  }
}



.spotImgaArea .spotTtl{
  font-size: 1.4rem;
  margin: 0.3rem 0 2.5rem;
  line-height: 2;
}
.spotInner{
  padding-bottom: 20rem;
}
.spotImgaArea .spotlead{
  font-size: 1.8rem;
  line-height: 1.33;
  padding-bottom: 3rem;
}
.spotImgaArea h4{
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-bottom: 1.5rem;
}
.spotAddress{
  font-size: 1.8rem;
  line-height: 1.33;
}
@media (min-width: 768px){
  .spotAddress a{
    white-space: nowrap;
  }
}
.spotAddress a{
  font-size: 1.8rem;
  line-height: 1.33;
  color: #057CA8;
  font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.spotVisualArea{
  padding: 12rem 0 ;
  background: url(../images/story03/spotvisual_bg.png) center center no-repeat;
  background-size: cover;
}
.spotVisual{
  width: 117.7rem;
  margin: 0 auto 0;
}

.gmap{
  height: 0;
  overflow: hidden;
  padding-bottom: 34.5%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  }
.gmap iframe,
.gmap object,
.gmap embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all  0.7s ease;
}
.gmap iframe:hover,
.gmap object:hover,
.gmap embed:hover {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  filter: grayscale(0%);
}
.linkBox{
  width: 22rem;
  height: 6rem;
  border: 0.3rem solid #E4542C;
  color: #E4542C;
  padding-left: 5rem;
  font-size: 1.8rem;
  font-style: italic;
  letter-spacing: 0.056em;
  margin: 0 auto;
}
.linkBox::after{
  content: "";
  background: url(../images/arrow_r.png) center center no-repeat;
  background-size: contain;
  width: 1rem;
  height: 2rem;
  display: block;
  margin-left: 2.4rem;
}
@media (max-width: 767px){

  .spot{
    padding: 24rem 0 0;
    background: #F3F3F3;
  }
  .spot h2{
    margin-bottom: 10rem;
  }
  .spotInner{
    width: auto;
    padding:  0 3.2rem 20rem 6.5rem;

  }
  .spotlist li{
    width: 100%;
  }
  .spotlist{
    display: block;
    position: relative;
  }
  .spotTopTxt{
    font-size: 4.8rem;
    margin-bottom: 4rem;
  }
  .spotlist li{
    margin-bottom: 16rem;
    position: relative;
  }
  .spotlist li .round{
    position: absolute;
    width: 2rem;
    height: 2rem;
    top: 1.5rem;
    left: -4.5rem;
    background-color: #E4542C;
    border-radius: 60px;
    display: block;
    margin-bottom: 8.7rem;
  }
  
  .spotlist li .round::after{
    content: "";
    height: 180rem;
    width: 0.1rem;
    background-color: #E4542C;
    position: absolute;
    top: 1rem;
    left: 0.85rem;
  }
  .spotlist li.beforeLongLine .round::after{
    height: 164.2rem;
  }
  .spotlist li.lineNone .round::after{
    display: none;
  }
  .spotImgaArea{
    width: 100%;
  }
  .spotImgaArea .spotTtl{
    font-size: 2.8rem;
    line-height: 1.33;
    margin: 3.6rem 0 4.8rem;
  }
  .spotImgaArea .spotlead{
    font-size: 3.6rem;
    line-height: 1.5;
    padding-bottom: 7rem;
  }
  .spotImgaArea h4{
    font-size: 4.8rem;
    margin-bottom: 3.5rem;
  }
  .spotImgWrap{
    width: 100%;
    height: 44rem;
    position: relative;
  }
  .spotImgWrap img{
    position: absolute;
  }
  .spotAddress{
    font-size: 3.6rem;
    line-height: 1.33;
  }
  .spotAddress a{
    font-size: 3.6rem;
  }
  .spotVisualArea{
    padding: 12rem 0 19.8rem;
    background: url(../images/story03/spotvisual_bg_sp.png) center center no-repeat;
    background-size: cover;
  }
  .spotVisual{
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: -1;
    transform: scale(0.9);
  }
  .gmap{
    padding-bottom: 88.5%;    
  }
  
  .linkBox{
    width: 46.4rem;
    height: 14rem;
    border: 0.2rem solid #E4542C;
    color: #E4542C;
    padding-left: 10rem;
    font-size: 3.6rem;
    background: #FFF;
  }
  .linkBox::after{
    width: 6rem;
    height: 3.4rem;
    margin-left: 5rem;
  }
}

.movie{
  padding: 18rem 0 16rem;
}
.movie .inner{
  padding: 0 2.4rem;
}
.movie h2{
  margin-bottom: 16rem;
}
.movie h3{
  font-size: 6.3rem;
  font-style: italic;
  margin-bottom: 8rem;
}
.movie .movieTumb:nth-of-type(1){
  margin-bottom: 12rem;
}
.movieTumb{
  display: block;
  margin: 0 auto;
  width: 100%;
  position: relative;
  cursor: pointer;
}
.movieTumb::after{
  content: "";
  width: 14rem;
  height: 9rem;
  background: url(/images/story03/movie_icon.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.movieTumb img{
  vertical-align: bottom;
  transform: scale(1.009);
  line-height: 1.0em;
}
.movieTumb.mainCol{
  border: 15px solid #E4542C;
  background-color:  #E4542C;
}
.movieTumb.green{
  border: 15px solid #009E3B;
  background-color:  #009E3B;
}
.credit{
 width: 40rem;;
  margin: 0 auto;
  margin-top: 17.5rem;

}
.credit p{
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.02em;
}
.credit p:nth-of-type(1){
  margin-left: 5.4rem;
}
.credit p:nth-of-type(2){
  margin-left: 3.1rem;
}
.credit p:nth-of-type(3){
  margin-left: 5.5rem;
}

@media (max-width: 767px){

.movie{
  padding: 24rem 0 32rem;
}
.movie .inner{
  padding: 0 2.4rem;
}
.movie h2{
  margin-bottom: 10rem;
}
.movie h3{
  font-size: 9rem;
  margin-bottom: 12rem;
}
.movie .movieTumb:nth-of-type(1){
  margin-bottom: 16rem;
}
.movieTumb{
  display: block;
  margin: 0 auto;
  width: 100%;
  position: relative;
  cursor: pointer;
}
.movieTumb::after{
  content: "";
  width: 14rem;
  height: 9rem;
  background: url(/images/story03/movie_icon.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.movieTumb.mainCol{
  border: 10px solid #E4542C;
  background-color:  #E4542C;
}
.movieTumb.green{
  border: 10px solid #009E3B;
  background-color:  #009E3B;
}

.credit{
  width: 65.5rem;
  margin: 0 auto;
  margin-top: 32rem;

}
.credit p{
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
.credit p:nth-of-type(1){
  margin-left: 14.6rem;
}
.credit p:nth-of-type(2){
  margin-left: 8.4rem;
}
.credit p:nth-of-type(3){
  margin-left: 14.9rem;
}
}

.fade-rollover{
  background-size: cover;
}
.spot-m{
  margin-bottom: 4rem;
}
@media (min-width: 768px){
  .spotlist li.lastLine .round::after {
    content: "";
    height: 0.1rem;
    width: 34.5rem;
    background-color: #E4542C;
    position: absolute;
    top: 1rem;
    left: 1rem;
  }
}
@media (max-width: 767px){
.spotlist li.lastLine .round::after {
    content: "";
    height: 140rem;
    width: 0.1rem;
    background-color: #E4542C;
    position: absolute;
    top: 1rem;
    left: 0.85rem;
}
}



