/* ==========================================================================
   STORY TOP
   ======================================================================= */

.story.index .section__wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    max-width: none;
}

/* pseudo class base setting */
.story-header::before,
.story-header__ttl::before,
.story-summary__ttl::before {
  content: '';
  display: block;
}

.story__bg_color {
  background: #fafcfc;
}

.story.index .story__bg_color {
  background: #fbfbfb;
}


.story-header {
  position: relative;
  width: 100%;
  display: block;
}

.story .story-header__ttl {
  width: 100%;
  display: block;
  position: absolute;
  top: 2%;
  bottom: 0;
  left: 1%;
  right: 0;
  margin: auto;
}

.story_bnr a:hover img {
  transition: 3s;
  opacity: 0.7;
}

@media all and (min-width: 768px) {
  .story .story-header {
    height: 480px;
    background: url('../img/story/hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .story .story-header__ttl {
    width: 315px;
    height: 202px;
    background: url(../img/story/hero_ttl.png) 0 0 no-repeat;
    background-size: contain;
  }

  .story .bnr_wrap {
    width: 80.954%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
    max-width: 920px;
  }

  .story__large_bnr li .text {
    width: 51.09%;
  }

  .story__large_bnr .volume2 .text {
    width: 51.848%;
  }

  .story__large_bnr .volume3 .text {
    width: 42.718%;
  }

  .story__large_bnr .volume2 .text {
    margin: 0 -1.73% 0 auto;
  } 

  .story__large_bnr .volume4 .text {
    width: 55%;
    margin: 0 -1.73% 0 auto;
  } 

}

@media all and (max-width: 767px) {
  .story .story-header::before {
    padding-top: 71%;
    background: url('../img/story/sp-hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }

  .story.index .story-header__ttl {
    width: 50.4%;
    height: 45.523%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }

  .story.index .story-header__ttl::before {
    padding-top: 64.13%;
    background: url(../img/story/sp-hero_ttl.png) 0 0 no-repeat;
    -webkit-background-size: 100%;
    background-size: 100%;
  }

  .story .story-header__ttl {
    width: 50.534%;
    height: auto;
    top: auto;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: 0 auto;
  }
  .story .story-header__ttl::before {
    padding-top: 61.217%;
    background: url('../img/story/sp-hero_ttl.png') 0 0 no-repeat;
    -webkit-background-size: 100%;
    background-size: 100%;
  }

}



/* ==========================================================================
   STORY VOLUME1
   ======================================================================= */

.volume.volume1 .story-header__ttl {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -38.59%;
  right: 0;
  margin: auto;
}

@media all and (min-width: 768px) {
  .volume.volume1 .story-header {
    height: 480px;
    background: url('../img/story/volume1/hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .volume.volume1 .story-header__ttl {
    width: 347px;
    height: 260px;
    background: url(../img/story/volume1/hero_ttl_W20250304.png) 0 0 no-repeat;
    background-size: contain;
  }
}

@media all and (max-width: 767px) {
  .volume.volume1 .story-header::before {
    padding-top: 71%;
    background: url('../img/story/volume1/sp-hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }

  .volume.volume1 .story-header__ttl {
    width: 77.334%;
    height: auto;
    top: auto;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: 0 auto;
  }
  .volume.volume1 .story-header__ttl::before {
    padding-top: 45%;
    background: url('../img/story/volume1/sp-hero_ttl_W20250304.png') 0 0 no-repeat;
    -webkit-background-size: 100%;
    background-size: 100%;
  }
}

/* ==========================================================================
   STORY VOLUME2
   ======================================================================= */

.volume.volume2 .story-header__ttl {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40.41%;
  right: 0;
  margin: auto;
}

@media all and (min-width: 768px) {
  .volume.volume2 .story-header {
    height: 480px;
    background: url('../img/story/volume2/hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .volume.volume2 .story-header__ttl {
    width: 289px;
    height: 217px;
    background: url(../img/story/volume2/hero_ttl.png) 0 0 no-repeat;
    background-size: contain;
  }
}

@media all and (max-width: 767px) {
  .volume.volume2 .story-header::before {
    padding-top: 71%;
    background: url('../img/story/volume2/sp-hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }

  .volume.volume2 .story-header__ttl {
    width: 77.334%;
    height: auto;
    top: auto;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: 0 auto;
  }
  .volume.volume2 .story-header__ttl::before {
    padding-top: 40%;
    background: url('../img/story/volume2/sp-hero_ttl.png') 0 0 no-repeat;
    -webkit-background-size: 100%;
    background-size: 100%;
  }
}

/* ==========================================================================
   STORY VOLUME3
   ======================================================================= */

.volume.volume3 .story-header__ttl {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -38.59%;
  right: 0;
  margin: auto;
}

@media all and (min-width: 768px) {
  .volume.volume3 .story-header {
    height: 480px;
    background: url('../img/story/volume3/hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .volume.volume3 .story-header__ttl {
    width: 284px;
    height: 217px;
    background: url(../img/story/volume3/hero_ttl.png) 0 0 no-repeat;
    background-size: contain;
  }
}

@media all and (max-width: 767px) {
  .volume.volume3 .story-header::before {
    padding-top: 71%;
    background: url('../img/story/volume3/sp-hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }

  .volume.volume3 .story-header__ttl {
    width: 77.334%;
    height: auto;
    top: auto;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: 0 auto;
  }
  .volume.volume3 .story-header__ttl::before {
    padding-top: 40%;
    background: url('../img/story/volume3/sp-hero_ttl.png') 0 0 no-repeat;
    -webkit-background-size: 100%;
    background-size: 100%;
  }
}

/* ==========================================================================
   STORY VOLUME4
   ======================================================================= */

.volume.volume4 .story-header__ttl {
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 39%;
  right: 0;
  margin: auto;
}

@media all and (min-width: 768px) {
  .volume.volume4 .story-header {
    height: 480px;
    background: url('../img/story/volume4/hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }
  .volume.volume4 .story-header__ttl {
    width: 282px;
    height: 217px;
    background: url(../img/story/volume4/hero_ttl.png) 0 0 no-repeat;
    background-size: contain;
  }
}

@media all and (min-width: 768px) and (max-width: 1220px) {

.volume.volume2 .story-header__ttl {
  top: 40%;
  left: 60%;
}

.volume.volume4 .story-header__ttl {
  top: 40%;
  left: 60%;
}

}

@media all and (max-width: 767px) {
  .volume.volume4 .story-header::before {
    padding-top: 71%;
    background: url('../img/story/volume4/sp-hero_bg.jpg') 0 0 no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
  }

  .volume.volume4 .story-header__ttl {
    width: 77.334%;
    height: auto;
    top: auto;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: 0 auto;
  }
  .volume.volume4 .story-header__ttl::before {
    padding-top: 40%;
    background: url('../img/story/volume4/sp-hero_ttl.png') 0 0 no-repeat;
    -webkit-background-size: 100%;
    background-size: 100%;
  }
}

@media all and (min-width: 768px) {

  .story__history {
    margin: 4.53% 0 0;
    font-size: 14px;
  }

  .story__history .sentence {
    margin: 2.97% 0 0;
    line-height: 1.6;
  }

  .story__main_title {
    margin: 11.62% 0 0;
  }

  .story__main_title img {
    width: 100%;
  }

  .story__sentence {
    margin: 4.76% 0 0;
    font-size: 16px;
    line-height: 1.65;
  }

  .story__sentence a {
    border-bottom: 1px dotted #023f96;
  }

  .story__sentence .sentence {
    margin: 0;
  }

  .story__sentence .sentence2 {
    margin: 3.83% 0 0;
    line-height: 1.75;
  }

  .story__sentence .sentence3 {
    margin: 3.25% 0 0;
    line-height: 1.75;
  }

  .story__sentence a {
    color: #023f96;
  }

  .story__img {
    max-width: 560px;
    margin: 6.62% auto 11.74%;
    text-align: center;
  }

  .story__img img {
    width: 100%;
  }

  .story_bnr .company__link_bnr_list {
      width: 96.057%;
      margin: 0 auto;
      padding: 39px 0 9px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
  }

  .story_bnr .company__link_bnr_list.in_page .bnr__text {
      width: 100%;
      margin: 6px auto 48px;
  }

  .story_bnr.company__link_bnr_area .section__wrapper {
    max-width: none;
  }

}

@media all and (max-width: 767px) {

  .story__history {
    margin: 4.31% 0 0;
    font-size: 12px;
  }

  .story__history .sentence {
    margin: 3.59% 0 0;
    line-height: 1.6;
  }

  .story__sentence {
    margin: 8.48% 0 0;
    font-size: 13px;
    line-height: 1.65;
  }

  .story__sentence a {
    border-bottom: 1px dotted #023f96;
  }

  .story__main_title {
    margin: 8.48% 0 0;
  }

  .story__main_title img {
    width: 100%;
  }

  .story__img {
    margin: 8.2% 0 7.19%;
    text-align: center;
  }

  .story__img img {
    width: 100%;
  }

  .story__sentence .sentence {
    margin: 0;
  }

  .story__sentence .sentence2 {
    margin: 4.74% 0 0;
    line-height: 1.75;
  }

  .story__sentence .sentence3 {
    margin: 4.02% 0 0;
    line-height: 1.75;
  }

  .story__sentence a {
    color: #023f96;
  }

  .story__img img {
    width: 100%;
  }

}