img {
	max-width:100%;
	height:auto;
}

#contents {
	background:#fff;
}

#contents .wrapper {
	margin:0 auto;
	width:100%;
}

#mv{
    background: url(../img/story/bg_ttl_sp.jpg) no-repeat 50% 0 #000;
    background-size: 100%;
    height: auto;
    padding-bottom: 30px;
}
.story_mv_area{
    margin: 0 auto 40px;
    padding-top: 35vw;
    position: relative;
    width: 90%;
}
#mv h1{
    position: absolute;
    top: 10vw;
    left: 8vw;
}
#mv h1:after{
    width: 100%;
}
.sub_txt{
    width: 100%;
}
/* story_cont01 */
.story_cont01{
    margin: 0 auto;
    text-align: left;
    width: 80%;
}
.story_cont01 h2{
    color: #fff;
    font-size: 18px;
    font-family: 'Open Sans';
    font-weight: 800;
    margin-bottom: 20px;
}
.story_cont01 h2 span{
    color: #c90e38;
    display: block;
    font-size: 14px;
    font-family: 'Open Sans', sans-serif;
    /*font-style: italic;*/
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .story_cont01 h2 span {
    /* IE11 にのみ適用される */
    font-style: normal;
  }
}

@supports (-ms-ime-align: auto) {
  /* Edge のみ適用される */
  .story_cont01 h2 span {
    font-style: normal;
  }
}


.story_cont01 h2:before{
    background-color: #c90e38;
    content: "";
    display: block;
    height: 3px;
    margin-bottom: 8px;
    width: 75px;
}
.story_cont01 p{
    color: #fff;
    font-size: 14px;
    margin-bottom: 30px;
    line-height: 32px;
}
.intro_cd{
    margin: 0 -10vw;
}

@media screen and (min-width: 787px) {
    #contents {
    	padding-top:0;
    	padding-bottom:80px;
    	background:#fff;
    }
    #contents .wrapper {
    	margin:0 auto;
    }
    #mv{
        background: url(../img/story/bg_ttl_pc.png) no-repeat 50% 0 #000;
        background-size: cover auto;
        margin: 0;
        padding-bottom: 95px;
    }
    .story_mv_area{
        margin: 0 auto 230px;
        padding-top: 235px;
        width: 92%;
        max-width: 1300px;
    }
    #mv h1{
        top: 170px;
        left: 10px;
    }
    #mv h1:after{
        width: 134px;
    }
    .sub_txt{
        width: 100%;
        max-width: 942px;
    }
    .story_cont01{
        width: 980px;
    }
    .story_cont01 h2{
        font-size: 26px;
        margin-bottom: 30px;
    }
    .story_cont01 h2 span{
        font-size: 18px;
    }
    .story_cont01 h2:before{
        width: 68px;
    }
    .story_cont01 p{
        font-size: 18px;
        margin-bottom: 50px;
        line-height: 48px;
    }
    .intro_cd{
        margin: 0 auto;
    }
}

/* story_cont02 */
.sec_cont{
    margin: 0 auto;
    padding: 30px 0;
    width: 80%;
}
.sec_cont h2{
    font-size: 20px;
    font-family: 'Open Sans';
    font-weight: 800;
    line-height: 35px;
    margin: 0 auto 25px;
    text-align: left;
    /*font-style: italic;*/
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .sec_cont h2 {
    /* IE11 にのみ適用される */
    font-style: normal;
  }
}

@supports (-ms-ime-align: auto) {
  /* Edge のみ適用される */
  .sec_cont h2 {
    font-style: normal;
  }
}

.sec_cont p{
    font-size: 14px;
    line-height: 32px;
    margin: 0 auto 25px;
    text-align: left;
}
.sec_cont .pict li{
    width: 100%;
}
.sec_cont .pict li:first-child{
    margin-bottom: 20px;
}
.sec_cont .pict li.note{
    font-size: 12px;
    margin: 10px auto 0;
    text-align: center;
    width: 100%;
}
.story_cont02 h2{
	/*
	background: linear-gradient(110deg, #ed1140, #e6103f 45%, #c90e38);
    -webkit-background-clip: text;
    -webkit-text-fill-color: #fff0;
    */
    color: #c90e38;
}


.story_cont02 p strong{
    color: #c90e38;
}


@media screen and (min-width: 787px) {
    .sec_cont{
        padding: 90px 0;
        width: 980px;
    }
    .sec_cont h2{
        font-size: 36px;
        line-height: 60px;
        margin: 0 auto 45px;
        text-align: center;
    }
    .sec_cont p{
        font-size: 18px;
        line-height: 42px;
        margin: 0 auto 45px;
        text-align: center;
    }
    .sec_cont .pict{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .sec_cont .pict li{
        width: 49%;
    }
    .sec_cont .pict li:first-child{
        margin: 0;
    }
    .sec_cont .pict li.note{
        font-size: 15px;
        margin: 20px auto 0;
    }
    .story_cont02 h2{
	    /*
	background: #c90e38;
    -webkit-background-clip: text;
    -webkit-text-fill-color: #fff0;
    */
    background: none;
    color: #c90e38;
    }



}

/* story_cont03 */
.story_cont03{
    background: url(../img/story/bg01_sp.jpg) repeat;
    margin-bottom: 30px;
}
.story_cont03 h2{
    color: #fff;
}
.story_cont03 p{
    color: #fff;
    text-align: left;
}
.story_cont03 p strong{
    color: #faf205;
}
.story_cont03 .pict li.note{
    color: #fff;
}
.message_area{
    background: url(../img/story/bg02_sp.jpg) no-repeat 50% 0;
    background-size: cover;
    box-sizing: border-box;
    margin: 0 auto 30px;
    padding: 6% 4% 8%;
    width: 93%;
}
.message{
    background: url(../img/story/message_line_sp.png) repeat;
    font-size: 12px;
    margin-bottom: 10px;
    line-height: 28px;
}
.message sup{
    color: #ca002c;
    font-size: 70%;
}
.author{
    font-size: 16px;
    font-weight: bold;
    text-align: right;
}
.author:before{
    background-color: #333;
    content: "";
    display: inline-block;
    height: 1px;
    margin-right: 10px;
    vertical-align: middle;
    width: 20px;
}
.archive_link {
    text-align: right;
}

.archive_link a{
    color: #ca002c;
    font-size: 12px;
    text-decoration: underline;
}
.archive_link a:hover{
    text-decoration: none;
}
@media screen and (min-width: 787px) {
    .story_cont03{
        background: url(../img/story/bg01.jpg) repeat;
        margin-bottom: 90px;
        background-size: cover;
    }
    .message_area{
        background: url(../img/story/bg02.jpg) no-repeat 50% 0;
        background-size: cover;
        margin: 0 auto 30px;
        padding: 60px;
		width: 90%;
		max-width: 1090px;
    }
    .message{
        background: url(../img/story/message_line.png) repeat;
        font-size: 18px;
        margin-bottom: 35px;
        line-height: 40px;
    }
    .author_area{
        display: flex;
        justify-content: space-between;
        flex-flow: row-reverse;
        align-items: center;
    }
    .author{
        font-size: 22px;
    }
    .author:before{
        margin-right: 10px;
        width: 30px;
    }
    .archive_link a{
        font-size: 16px;
    }

    .story_cont03 p{
	    text-align: center;
	}
}


@media screen and (min-width: 1060px) {
    .sub_txt{
        width: 942px;
    }

}