/*--------------------------------------------------------
　共通style
--------------------------------------------------------*/
#story_1 {
  --w-base: 1366;
  --w-tricky-base: 1140;
  --w-tricky-left: 450;
  --w-tricky-right: 609;
  --h-base: 768;
}

#story_1 .title_img {
  position: absolute;
  width: calc(280 / var(--w-base) * 100%);
  max-width: 350px;
  top: calc(40 / var(--h-base) * 100%);
  right: 80px;
  z-index: 2;
}

#story_1 .main_area {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  width: 84%;
  margin: 0 auto;
  max-width: 156vh;
  position: relative;
  height: 100vh;
}

#story_1 .main_area p {
  font-family:
    "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #093a56;
  font-weight: 500;
}

#story_1 .left_area {
  width: calc(450 / var(--w-tricky-base) * 100%);
  margin-right: calc(81 / var(--w-tricky-base) * 100%);
  margin-top: 16vh;
}

#story_1 .left_area .title_01 {
  width: 100%;
}

#story_1 .left_area .text_01 {
  width: 96%;
  margin: 20px auto 0;
  position: relative;
}

#story_1 .left_area .text_01 p {
  font-size: 14px;
  line-height: 1.85;
  text-align: justify;
}

#story_1 .left_area .text_01 p.info {
  margin-top: 2.4em;
  font-size: 12px;
  line-height: 1.85;
}

/* 右カラム（写真）
   写真は複数カットを1枚に合成したアセット。デザイン上はカットごとに
   原寸（2倍アセットは1/2）・座標が異なるため、シーン別に絶対配置する */
#story_1 .right_area {
  width: calc(609 / var(--w-tricky-base) * 100%);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

#story_1 .right_area .img_01 img {
  vertical-align: bottom;
}

#story_1 .scn_inner {
  background: #f2f2f2;
  border-width: 20px 65px 20px 20px;
  border-style: solid;
  border-color: #fff;
  box-sizing: border-box;
  height: 100%;
}

/* 詳細DATAボタン（style.cssの共通指定 max-width:160px を解除して使う） */
/* #story_1 .info_btn {
  margin-top: 26px;
}

#story_1 .detail_btn {
  width: calc(195 / 422 * 100%);
  max-width: none;
  margin-top: 0;
  margin-left: 0;
}

#story_1 .detail_btn a {
  display: block;
  opacity: 1;
  -moz-transition: ease-in-out, 0.3s;
  -o-transition: ease-in-out, 0.3s;
  -webkit-transition: ease-in-out, 0.3s;
  transition: ease-in-out, 0.3s;
}

#story_1 .detail_btn a:hover {
  opacity: 0.7;
}

#story_1 .detail_btn img {
  vertical-align: bottom;
} */

/* ［DATA］モーダル（詳細DATAボタンで開閉）
   詳細DATAボタンの左下とモーダルの左下を揃え、ボタンに重ねて上方向へ開く。
   .info_btn は .text_01 内で最後のフロー要素のため、bottom:0 がボタン下端と一致する */
/* #story_1 .info_btn + .info {
  width: calc(461 / 422 * 100%);
  padding: 21px 27px;
  border-color: #093a56;
  left: 0;
  right: auto;
  top: auto;
  bottom: 0;
  margin-top: 0;
  z-index: 11;
  color: #093a56;
  font-size: 12px;
  line-height: 1.85;
}

#story_1 .info_btn + .info .info_close {
  border-color: #093a56;
}

#story_1 .info_btn + .info .info_close span::before,
#story_1 .info_btn + .info .info_close span::after {
  background: #093a56;
} */

/*--------------------------------------------------------
　個別style
--------------------------------------------------------*/
/* scn01 FV */
#story_1 #scn01 {
  background: url("/book/focal/onagawa/images/trip/fv_bg.jpg") no-repeat center
    90% / cover;
  opacity: 1;
  z-index: 501;
}

#story_1 #scn01 .main_title {
  width: calc(616 / var(--w-base) * 100%);
  max-width: 770px;
  position: absolute;
  top: calc(257 / var(--h-base) * 100%);
  left: calc(103 / var(--w-base) * 100%);
}

/* scn02 導入 */
#story_1 #scn02 {
  background: #093a56;
}

#story_1 #scn02.popup::after {
  content: "";
  display: block;
  background: rgba(0, 0, 0, 0.4);
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

#story_1 #scn02 .main_text {
  width: calc(660 / var(--w-base) * 100%);
  position: absolute;
  top: calc(210 / var(--h-base) * 100%);
  left: calc(353 / var(--w-base) * 100%);
}

#story_1 #scn02 .main_text > p {
  font-family:
    "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #fff;
  font-size: 19px;
  line-height: 2.1;
  text-align: justify;
}

#story_1 #scn02 .main_text > p.credit_text {
  margin-top: 3em;
  font-family: "Koburina Gothic W3 JIS2004", sans-serif;
  font-size: 13px;
  line-height: 1.75;
}

#story_1 #scn02 .schedule {
  width: calc(119 / var(--w-base) * 100%);
  position: absolute;
  top: calc(485 / var(--h-base) * 100%);
  right: calc(78 / var(--w-base) * 100%);
  cursor: pointer;
}

#story_1 #scn02 .schedule a {
  display: block;
  opacity: 1;
  -moz-transition: ease-in-out, 0.3s;
  -o-transition: ease-in-out, 0.3s;
  -webkit-transition: ease-in-out, 0.3s;
  transition: ease-in-out, 0.3s;
}

#story_1 #scn02 .schedule a:hover {
  opacity: 0.7;
}

/* scn03 */
#story_1 #scn03 {
  background: url("/book/focal/onagawa/images/trip/day1_largeimg01.jpg")
    no-repeat center bottom / cover;
}

/* scn04 */
#story_1 #scn04 .img_01 {
  width: calc(580 / var(--w-tricky-right) * 100%);
}

/* scn05 */
#story_1 #scn05 {
  background: url("/book/focal/onagawa/images/trip/day1_largeimg02.jpg")
    no-repeat center center / 70% auto;
}
#story_1 #scn05 .car_box .min {
  bottom: 10px;
}

/* scn06 */
#story_1 #scn06 .img_01 {
  width: calc(671 / var(--w-tricky-right) * 100%);
  margin-left: calc(-37 / var(--w-tricky-right) * 100%);
}

/* scn07 */
#story_1 #scn07 {
  background: url("/book/focal/onagawa/images/trip/day1_largeimg03.jpg")
    no-repeat center center / 70% auto;
}

/* scn08 */
#story_1 #scn08 .img_01 {
  width: calc(643 / var(--w-tricky-right) * 100%);
  margin-left: calc(-23 / var(--w-tricky-right) * 100%);
}

/* scn09 */
#story_1 #scn09 {
  background: url("/book/focal/onagawa/images/trip/day1_largeimg04.jpg")
    no-repeat center center / 70% auto;
}

/* scn10 */
#story_1 #scn10 .img_01 {
  width: calc(678 / var(--w-tricky-right) * 100%);
  margin-left: calc(-23 / var(--w-tricky-right) * 100%);
}

/* scn11 */
#story_1 #scn11 {
  background: url("/book/focal/onagawa/images/trip/day1_largeimg05.jpg")
    no-repeat center center / cover;
}

/* scn12 */
#story_1 #scn12 .img_01 {
  width: calc(684 / var(--w-tricky-right) * 100%);
  margin-left: calc(-15 / var(--w-tricky-right) * 100%);
}

/* scn13 */
#story_1 #scn13 {
  background: url("/book/focal/onagawa/images/trip/day1_largeimg06.jpg")
    no-repeat center center / 70% auto;
}

/* scn14 */
#story_1 #scn14 .img_01 {
  width: calc(708 / var(--w-tricky-right) * 100%);
  margin-left: calc(-18 / var(--w-tricky-right) * 100%);
  max-width: 650px;
}

/* scn15 */
#story_1 #scn15 {
  background: url("/book/focal/onagawa/images/trip/day2_largeimg01.jpg")
    no-repeat center 20% / cover;
}

/* scn16 */
#story_1 #scn16 {
  background: url("/book/focal/onagawa/images/trip/day2_largeimg02.jpg")
    no-repeat center center / cover;
}
#story_1 #scn16 .car_box .min {
  bottom: 10px;
}

/* scn17 */
#story_1 #scn17 .img_01 {
  width: calc(695 / var(--w-tricky-right) * 100%);
  margin-left: calc(-23 / var(--w-tricky-right) * 100%);
}

/* scn18 */
#story_1 #scn18 {
  background: url("/book/focal/onagawa/images/trip/day2_largeimg03.jpg")
    no-repeat center center / 70% auto;
}

/* scn19 */
#story_1 #scn19 .img_01 {
  width: 100%;
}

/* scn20 */
#story_1 #scn20 {
  background: url("/book/focal/onagawa/images/trip/day2_largeimg04.jpg")
    no-repeat center center / 70% auto;
}

/* scn21 */
#story_1 #scn21 .img_01 {
  width: calc(700 / var(--w-tricky-right) * 100%);
  margin-left: calc(-40 / var(--w-tricky-right) * 100%);
}

/* scn22 */
#story_1 #scn22 .img_01 {
  width: 100%;
}

#story_1 #scn22 .left_area {
  margin-top: 20vh;
}

#story_1 #scn22 .title_01 {
  position: relative;
}

#story_1 #scn22 .obj_01 {
  position: absolute;
  width: calc(325 / var(--w-tricky-left) * 100%);
  top: 0;
  left: 0;
  margin-top: calc(-120 / var(--w-tricky-right) * 100%);
  margin-left: calc(-270 / var(--w-tricky-right) * 100%);
}

#story_1 #scn22 .obj_02 {
  width: calc(247 / var(--w-tricky-left) * 100%);
  margin-top: 1em;
  margin-left: auto;
}

/* scn23 */
#story_1 #scn23 .img_01 {
  width: calc(650 / var(--w-tricky-right) * 100%);
  margin-left: calc(-37 / var(--w-tricky-right) * 100%);
}

#story_1 #scn23 .left_area {
  margin-top: 20vh;
}

#story_1 #scn23 .title_01 {
  position: relative;
}

#story_1 #scn23 .obj_01 {
  position: absolute;
  width: calc(193 / var(--w-tricky-left) * 100%);
  top: 0;
  left: 0;
  margin-top: calc(-50 / var(--w-tricky-right) * 100%);
  margin-left: calc(-28 / var(--w-tricky-right) * 100%);
}

#story_1 #scn03 .large_title,
#story_1 #scn15 .large_title {
  width: calc(342 / var(--w-base) * 100%);
  max-width: 427px;
  position: absolute;
  top: calc(217 / var(--h-base) * 100%);
  left: calc(57 / var(--w-base) * 100%);
}

#story_1 #scn15 .large_title {
  top: calc(340 / var(--h-base) * 100%);
  left: calc(846 / var(--w-base) * 100%);
}

/* 移動画面（itakura /trip/#scn05 と同じ挙動：パネルがフェードイン→車が点線上を走る） */
@keyframes car_box {
  0% {
    opacity: 0;
  }
  67% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes car_move {
  0% {
    left: 0%;
    transform: rotate(-2deg);
  }
  2% {
    left: 0%;
    transform: rotate(2deg);
  }
  4% {
    transform: rotate(-2deg);
  }
  6% {
    transform: rotate(2deg);
  }
  8% {
    transform: rotate(-2deg);
  }
  10% {
    transform: rotate(-2deg);
  }
  12% {
    transform: rotate(2deg);
  }
  14% {
    transform: rotate(0deg);
  }
  16% {
    transform: rotate(0deg);
  }
  86% {
    transform: rotate(-2deg);
  }
  88% {
    transform: rotate(-2deg);
  }
  90% {
    transform: rotate(-2deg);
  }
  92% {
    transform: rotate(2deg);
  }
  94% {
    transform: rotate(-2deg);
  }
  96% {
    transform: rotate(2deg);
  }
  98% {
    transform: rotate(0deg);
  }
  100% {
    left: calc(100% - 52px);
  }
}

/* opacityアニメーションで重なり順の文脈ができるため、car_box自体を
   全面レイヤーにして .trans_img より前面に置く（itakuraは背景画像方式のため不要） */
#story_1 .car_box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
}

#story_1 .active .car_box {
  opacity: 1;
  animation: car_box 1s ease 0s 1 normal forwards;
}

#story_1 .car_box .inner {
  position: absolute;
  z-index: 2;
  top: calc(143 / var(--h-base) * 100%);
  left: 0;
  width: 16%;
  max-width: 220px;
  height: 120px;
  background: #093a56;
  border-radius: 0 60px 60px 0;
}

#story_1 .car_box .min {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22px;
  width: 160px;
  margin: 20px auto 0;
  line-height: 1.4;
  text-align: center;
  font-family: "Koburina Gothic W6 JIS2004", sans-serif;
  font-size: 16px;
  color: #fff;
}

#story_1 .car_box .car_road {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 160px;
  height: 5px;
}

#story_1 .car_box .car_road > img {
  position: absolute;
  top: 0;
  left: 0;
  height: 5px;
}

#story_1 .car_box .car {
  position: absolute;
  left: 0;
  bottom: 12px;
  width: 52px;
}

#story_1 .car_box .car img {
  vertical-align: bottom;
}

#story_1 .active .car_box .car {
  animation: car_move 2s ease-in-out forwards 1.2s;
  transform: translate(0, 0);
}

/* スケジュールポップアップ */
#story_1 .schedule-box {
  display: none;
  cursor: pointer;
  width: 80%;
  left: 0;
  position: absolute;
  right: 0;
  margin: auto;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 10;
}

#story_1 .schedule-box a:hover {
  opacity: 1;
}
