@charset "UTF-8";
/*
* story_detail.css
*
*/
/* --------------------------------
storydetail
-------------------------------- */
.storydetail {
  padding-bottom: 90px; 
  max-width: 1264px;
}
@media (max-width: 767.98px) {
  .storydetail {
    padding-top: 3.2vw;
    padding-bottom: 16vw;
  }
}

.storydetail-hero {
  position: relative;
  padding-bottom: 9%;
}
@media (max-width: 767.98px) {
  .storydetail-hero {
    padding-bottom: 18.66667vw;
  }
}
.storydetail-hero::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1; 
  right: -100%;
  bottom: 0;
  left: -100%;
  margin: auto;
  width: 100vw;
  height: 59%;
  background: url(/assets/img/bg_texture_dark.jpg) 0 0/200px 200px repeat;
}
@media (max-width: 767.98px) {
  .storydetail-hero::before {
    bottom: 0;
    height: 86%;
  }
}
.storydetail-hero::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: -6%;
  left: 0;
  margin: auto;
  width: 1px;
  height: 11.2%;
  background: #2e2e2e;
}
@media (max-width: 767.98px) {
  .storydetail-hero::after {
    bottom: -4%;
    height: 8%;
  }
}
@media (max-width: 767.98px) {
  .storydetail-hero {
    margin-left: -2.26667vw;
    width: 85.33333vw;
  }
}

.storydetail-mv {
  position: relative;
}
@media (max-width: 767.98px) {
  .storydetail-mv {
    margin-left: -9.6vw; 
    width: calc(100% + 19.2vw);
  }
}
.storydetail-mv img {
  position: relative;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .storydetail-mv img {
    height: 93.33333vw;

    -o-object-fit: cover;

       object-fit: cover;
  }
}

.storydetail-titlearea {
  position: relative;
  z-index: 1;
  margin: -9.5% auto 0;
  padding: 25px 56px 32px;
  width: 66%;
  min-width: 600px;
  max-width: 792px;
  background: #f3ede8;
  text-align: center;
}
@media (max-width: 767.98px) {
  .storydetail-titlearea {
    margin-top: -27%;
    padding: 5.86667vw 6.66667vw;
    width: 100%;
    min-width: auto; 
    max-width: none;
  }
}

.storydetail-index {
  letter-spacing: 3.72px;
  color: #c0a177; 
  font-family: "Ubuntu", sans-serif;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.7;
}
@media (max-width: 767.98px) {
  .storydetail-index {
    font-size: 3.2vw;
  }
}

.storydetail-heading {
  margin-top: 10px;
  padding: 0 34px 18px;
  border-bottom: 1px solid rgba(46, 46, 46, 0.1); 
  letter-spacing: 2.3px;
  color: #2e2e2e;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.3;
}
@media (max-width: 767.98px) {
  .storydetail-heading {
    margin-top: 1.06667vw;
    padding: 0;
    padding-bottom: 3.2vw;
    text-align: left; 
    letter-spacing: 0.9px;
    font-size: 4vw;
    line-height: 1.47;
  }
}

.storydetail-lead {
  margin-top: 20px;
  padding: 0 40px;
  letter-spacing: 1.4px;
  color: #453e3e; 
  font-size: 14px;
  line-height: 1.57;
}
@media (max-width: 767.98px) {
  .storydetail-lead {
    margin-top: 3.2vw;
    padding: 0;
    text-align: left; 
    font-size: 3.46667vw;
    line-height: 1.54;
  }
}

.profile {
  margin: 40px auto 0;
  width: 70%;
  max-width: 840px;
}
@media (max-width: 767.98px) {
  .profile {
    margin-top: 10.66667vw;
    width: 100%;
    max-width: none;
  }
}

.profile-item {
  display: flex;
}
.profile-item + .profile-item {
  margin-top: 25px;
}

.profile-item_img {
  overflow: hidden;
  border-radius: 50%; 
  width: 128px;
  height: 128px;

  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .profile-item_img {
    width: 22.4vw;
    height: 22.4vw;
  }
}

.profile-item_container {
  padding: 14px 0 0 24px;
}
@media (max-width: 767.98px) {
  .profile-item_container {
    padding: 0 0 0 5.33333vw;
  }
}

.profile-item_post {
  letter-spacing: 1.2px; 
  font-size: 12px;
  font-weight: bold;
  line-height: 1.25;
}
@media (max-width: 767.98px) {
  .profile-item_post {
    letter-spacing: 0.72px; 
    font-size: 3.2vw;
    line-height: 1.58;
  }
}

.profile-item_name {
  letter-spacing: 2px; 
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 767.98px) {
  .profile-item_name {
    letter-spacing: 0.96px; 
    font-size: 4.26667vw;
  }
}

.profile-item_txt {
  margin-top: 10px;
  letter-spacing: 1.3px; 
  font-size: 13px;
  line-height: 1.62;
}
@media (max-width: 767.98px) {
  .profile-item_txt {
    letter-spacing: 0.78px; 
    font-size: 3.46667vw;
    line-height: 1.54;
  }
}

.profile-item_link {
  margin-top: 5px;
  letter-spacing: 1.3px; 
  font-size: 13px;
  line-height: 1.62;
}
@media (max-width: 767.98px) {
  .profile-item_link {
    letter-spacing: 0.78px; 
    font-size: 3.46667vw;
    line-height: 1.54;
  }
}
.profile-item_link a {
  transition: opacity ease 0.2s;
  text-decoration: underline;
}
.profile-item_link a:hover {
  opacity: 0.7;
}
.profile-item_link a:hover {
  opacity: 0.7;
}

.storydetail-container {
  margin: auto;
  padding: 11% 32px 9.5%;
  max-width: 1064px;
}
@media (max-width: 767.98px) {
  .storydetail-container {
    padding: 21.33333vw 0 16vw; 
    width: 80.53333vw;
  }
}
.storydetail-container h2 {
  margin: auto;
  padding: 0 32px;
  max-width: 856px;
  font-size: 26px;
  font-weight: normal; 
  line-height: 1.46;
}
@media (max-width: 767.98px) {
  .storydetail-container h2 {
    padding: 0;
    font-size: 4.8vw;
    line-height: 1.5;
  }
}
.storydetail-container h2 + p {
  margin-top: 52.5px;
}
@media (max-width: 767.98px) {
  .storydetail-container h2 + p {
    margin-top: 10.66667vw;
  }
}
.storydetail-container h2 + figure {
  margin-top: 84px;
}
@media (max-width: 767.98px) {
  .storydetail-container h2 + figure {
    margin-top: 10.66667vw;
  }
}
.storydetail-container h3 {
  margin: auto;
  padding: 0 32px;
  max-width: 856px;
  letter-spacing: 1.9px; 
  font-size: 19px;
  font-weight: bold;
  line-height: 1.58;
}
@media (max-width: 767.98px) {
  .storydetail-container h3 {
    padding: 0;
    font-size: 4.8vw;
    line-height: 1.5;
  }
}
.storydetail-container h3 + p {
  margin-top: 52.5px;
}
@media (max-width: 767.98px) {
  .storydetail-container h3 + p {
    margin-top: 6.66667vw;
  }
}
.storydetail-container h3 + figure {
  margin-top: 56px;
}
@media (max-width: 767.98px) {
  .storydetail-container h3 + figure {
    margin-top: 11.46667vw;
  }
}
.storydetail-container p {
  margin: auto;
  padding: 0 32px;
  max-width: 856px;
  letter-spacing: 1.4px;
  color: #2e2e2e; 
  font-size: 14px;
  line-height: 1.79;
}
@media (max-width: 767.98px) {
  .storydetail-container p {
    padding: 0;
    letter-spacing: 0.84px; 
    font-size: 3.73333vw;
    line-height: 1.7;
  }
}
.storydetail-container p + h2 {
  margin-top: 112px;
}
@media (max-width: 767.98px) {
  .storydetail-container p + h2 {
    margin-top: 6.66667vw;
  }
}
.storydetail-container p + h3 {
  margin-top: 72px;
}
@media (max-width: 767.98px) {
  .storydetail-container p + h3 {
    margin-top: 10.66667vw;
  }
}
.storydetail-container p + p {
  margin-top: 33px;
}
@media (max-width: 767.98px) {
  .storydetail-container p + p {
    margin-top: 6.66667vw;
  }
}
.storydetail-container p + figure {
  margin-top: 102px;
}
@media (max-width: 767.98px) {
  .storydetail-container p + figure {
    margin-top: 10.66667vw;
  }
}
.storydetail-container figure img {
  max-height: 500px;

  -o-object-fit: cover;

     object-fit: cover;
}
@media (max-width: 767.98px) {
  .storydetail-container figure img {
    height: 50.66667vw;
  }
}
.storydetail-container figure + p {
  margin-top: 90px;
}
@media (max-width: 767.98px) {
  .storydetail-container figure + p {
    margin-top: 9.6vw;
  }
}
.storydetail-container figure + h2 {
  margin-top: 92px;
}
@media (max-width: 767.98px) {
  .storydetail-container figure + h2 {
    margin-top: 9.86667vw;
  }
}
.storydetail-container figure + h3 {
  margin-top: 96px;
}
@media (max-width: 767.98px) {
  .storydetail-container figure + h3 {
    margin-top: 10.66667vw;
  }
}

.storydetail-content {
  margin: auto;
  padding: 0 32px;
  max-width: 1064px;
}
@media (max-width: 767.98px) {
  .storydetail-content {
    padding: 0; 
    width: 80.53333vw;
  }
}

.storydetail-btn {
  margin: auto;
  text-align: center;
}
.storydetail-btn + .recommend {
  margin-top: 100px;
}
@media (max-width: 767.98px) {
  .storydetail-btn + .recommend {
    margin-top: 16vw;
  }
}
.storydetail-btn + .share {
  margin-top: 100px;
}
@media (max-width: 767.98px) {
  .storydetail-btn + .share {
    margin-top: 16vw;
  }
}

/* share 共通パーツ ---------------------- */
@media (max-width: 767.98px) {
  .share-list_item .icon {
    width: 8vw;
    height: 8vw;
  }
}

/* components ---------------------- */
@media (max-width: 767.98px) {
  .storydetail-taglist .c-tag + .c-tag {
    margin-left: 0.8vw;
  }
}