/* 強制inc打ち消しcss */
.header_wrap,
.footer_wrap {
    display: none!important;
}
main{
  font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
  padding: 0;
  font-size: 14px;
  line-height: 1;
}
main .introstory,
main .cast {
    min-width: 1024px;
    max-width: 1800px;
    margin: 0 auto;
}
main .themesong,
main .director{
  min-width: 1080px;
  max-width: 1800px;
  margin: 0 auto;
  color:#382715;
  position: relative;
}
main .themesong{
  background:#fff;
}
main .director{
  background:#C5EBF5;
}

/* common */
.fadein {
    opacity: 0;
    transform : translate(0, 50px);
    transition : all 1000ms;
}
.fadein.scrollin{
    opacity: 1;
    transform: translate(0, 0);
}

/* header */
.movie-header {
    font-family: "游明朝", YuMincho, serif;
    padding: 0 20px 0 20px;
    height: 70px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow-y: scroll;
    position: fixed;
    width: calc(100% - 40px);
    max-width: 1760px;
    z-index: 999;
}
.movie-header > div,
.movie-header > div > ul {
    display: flex;
    align-items: center;
}
.movie-header__nav {
    margin-right: 20px;
}
.movie-header__nav-img {
    margin-right: 24px;
}
.movie-header__nav-list {
    min-width: 1020px;
}
.ie .movie-header__nav-list {
    min-width: 1200px;
}
.movie-header__nav-list li {
    position: relative;
    text-align: center;
}
.introstory-main .anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}
.movie-header__nav-list li::after {
    position: absolute;
    content: '';
    width: 1px;
    height: 20px;
    background-color: #000;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.movie-header__nav-list li:first-of-type::before {
    position: absolute;
    content: '';
    width: 1px;
    height: 20px;
    background-color: #000;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.movie-header__nav-list li a {
    font-size: 14px;
    display: block;
    padding: 0 22px;
}
.movie-header__nav-list .en {
    display: block;
    font-size: 8px;
    margin-top: 5px;
    letter-spacing: 0.1em;
}
.movie-header__sns-img {
    margin-right: 29px;
}
.movie-header__sns-list li:not(:last-of-type) {
    margin-right: 10px;
}
.movie-header__nav-list li .ja {
    position: relative;
    z-index: 1;
}
.movie-header__nav-list li .ja::before {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 0;
    height: 8px;
    background-color: #FFFCB3;
    z-index: -1;
    transition: .3s all;
}
.movie-header__nav-list li:hover .ja:before {
    width: 100%;
}
.movie-header__nav-list li .ja.active::before {
    width: 100%;
}

/* footer */
.movie-footer {
    height: 80px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.movie-footer__copy {
    text-align: center;
    font-size: 13px;
    color: #403B31;
}
/* footer director*/
.director .movie-footer {
    height: 80px;
    background-color: #fff;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    bottom: 0;
    width: 100%;
    min-width: 1180px;
    z-index: 1;
}

/* introstory*/
.introstory-main {
    padding-top: 70px;
}
.introstory-mainvisual {
    position: relative;
    background-image: url(../img/movie50/introstory/img-intro_mv.jpg);
    background-position: center center;
    background-size: cover;
    height: 730px;
}
.introstory-mainvisual__text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 6.5885%;
    max-width: 562px;
    width: 41%;
    color: #fff;
}
.introstory-mainvisual__text h1 {
    font-family: "游明朝", YuMincho, serif;
    font-size: 54px;
    line-height: 1.3;
    font-feature-settings: 'palt';
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 50px;
}

/*themesong*/
.themesong-main{
    padding-top: 70px;
}
.themesong-main h1{
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 40px;
    text-align: center;
    letter-spacing: 0.14em;
    padding: 100px 0px 60px;
    min-width: 1024px;
}
.themesong-kuwata{
    display:flex;
    width: 1024px;
    margin: 0 auto;
    margin-bottom: 80px;
    position: relative;
}
.themesong-kuwata img{
    width: 326px;
    margin-right: 126px;
}
.themesong-kuwata::after{
    content: "";
    display: inline-block;
    background-image: url(/tora-san/resources/img/movie50/theme_song/tora-san.png);
    background-size: contain;
    width: 145px;
    height: 154px;
    position: absolute;
    bottom: -80px;
    right: 0;
}
.themesong-text{
    margin-top: 117px;
}
.themesong-text p,.comments p:last-of-type{
    font-family:"ヒラギノ明朝 ProN", "Hiragino Mincho ProN";
    font-weight: 600;
    letter-spacing: 0.13em;
}
.themesong-text p:first-of-type{
    font-size:20px;
    margin-bottom: 25px;
}
.themesong-text p:last-of-type{
    font-size: 32px;
    text-align: center;
}
.themesong-text span{
    font-size:20px;
    margin-right: 10px;
}
.themesong .comments{
    background-image: url(/tora-san/resources/img/movie50/theme_song/kuwata-yamada-pc.jpg);
    min-width: 1024px;
    background-size: cover;
    background-position: bottom;
}
.themesong .comments p{
    color:#fff;
    line-height: 1.6em;
    letter-spacing: 0.13em;
}
.themesong .comments-inner{
    min-width: 1024px;
    width: 1080px;
    display: flex;
    margin: 0 auto;
    padding-top: 80px;
    padding-bottom: 250px;
}
.themesong .kuwata-comment,.yamada-comment{
    width: 520px;
    margin-right: 50px;
}
.themesong .kuwata-comment{
    margin-left: 50px;
}
.themesong .comments p:first-of-type{
    margin-bottom:20px;
}
.themesong .comments p:last-of-type{
    font-size: 22px;
    text-align: right;
}
/*director*/
.director{
    height: 100vh;
    min-height: 975px;
    position: relative;
}
.director .director-main{
    padding-top: 70px;
}
.director .director-main h1{
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 40px;
    text-align: center;
    letter-spacing: 0.14em;
    padding: 100px 0px 60px;
    min-width: 1180px;
}
.director .director-inner{
    display: flex;
    max-width: 1180px;
    margin: 0px auto;
    position: relative;
}
.director .director-text{
    background: #fff;
    min-width: 790px;
    height: 525px;
    margin-bottom: 100px;
    margin-left: 50px;
    position: relative;
}
.director .border{
    width: 652px;
    padding: 36px;
    padding-right: 56px;
    position: relative;
    top: 20px;
    left: 20px;
    border: dashed 3px #C5EBF5;
}
.director .director-text h2{
    font-family: "游明朝", YuMincho, serif;
    font-size: 38px;
    border-bottom: solid 1px;
    width: 234px;
    padding-bottom: 10px;
    margin: 0 auto;
    margin-bottom: 20px;
    text-align: center;
}
.director .director-text h2 span{
    font-size:20px;
    margin-right: 10px;
}
.director .director-text p:nth-of-type(1){
    font-family: "游明朝", YuMincho, serif;
    font-size: 18px;
    text-align: center;
    margin-bottom: 20px;
}
.director .director-text p:nth-of-type(2){
    font-size: 16px;
    line-height: 1.6em;
    letter-spacing: 0.13em;
}
.director .yoji-photo{
    z-index: 1;
    margin-top: -40px;
    margin-left: -40px;
}
.director .yoji-photo img{
    width: 330px;
}
.director .director-text::before{
    content:"";
    display:inline-block;
    background-image: url(/tora-san/resources/img/movie50/director/yoji.png);
    background-size: contain;
    width: 104px;
    height: 231px;
    position: absolute;
    bottom: -100px;
    left: -50px;
    z-index: 1;
}
.director .director-text::after{
    content: "";
    display: inline-block;
    background-image: url(/tora-san/resources/img/movie50/director/camera.png);
    background-size: contain;
    width: 130px;
    height: 127px;
    position: absolute;
    bottom: -100px;
    right: -60px;
}

/* cast*/
.cast .cast-main{
    padding-top: 70px;
    background: #FFEFB9;
}
.cast .cast-main h1,
.cast .staff-main h1{
    font-family: "游明朝", YuMincho, serif;
    font-size: 40px;
    color: #382715;
    text-align: center;
    padding:100px 0px 60px;
    letter-spacing: 0.14em;
}
.cast .cast-inner{
  max-width: 1080px;
  margin: 0px auto;
}
.cast .cast-inner ul li img{
  border: 4px solid #fff;
  box-sizing: border-box;
  width: 440px;
}
.cast ul.cast-top{
  display: flex;
}
.cast .cast-inner ul li h2{
  font-family: "游明朝", YuMincho, serif;
  font-size: 40px;
  font-weight: 500;
  color: #382715;
  margin-top: 60px;
  text-align: center;
  letter-spacing: 0.14em;
  padding-left: 40px;
}
.cast .cast-inner ul.cast-top li h2 span{
  font-size: 24px;
  margin-left: 20px;
  letter-spacing: 0.08em;
}
.cast .cast-inner ul.cast-top li:first-child{
  display: block;
  z-index: 2;
}
.cast .cast-inner ul.cast-top li:nth-child(2){
  background: #fff;
  margin: 40px 0px 0px -40px;
  position: relative;
}
.cast .cast-inner ul.cast-top li:nth-child(2) p{
  padding: 30px 80px 60px 100px;
  font-size: 16px;
  line-height: 1.6em;
  letter-spacing: 0.13em;
  font-feature-settings: 'palt';
}
.cast .cast-inner ul.cast-list,
.cast .cast-inner ul.cast-list_m,
.cast .cast-inner ul.cast-list_s{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 100px;
}
.cast .cast-inner ul.cast-list_m,
.cast .cast-inner ul.cast-list_s{
  margin-top: 0px;
}
.cast .cast-inner ul.cast-list li{
  width: 257px;
  margin:0px 16px 70px 0px;
}
.cast .cast-inner ul.cast-list_m li,
.cast .cast-inner ul.cast-list_s li{
  margin:0px 16px 60px 0px;
  color: #382715;
}
.cast .cast-inner ul.cast-list_m li{
  width: 166px;
}
.cast .cast-inner ul.cast-list_s li{
  width: 140px;
}
.cast .cast-inner ul.cast-list li h3,
.cast .cast-inner ul.cast-list_s li h3,
.cast .cast-inner ul.cast-list_m li h3{
  text-align: center;
  font-family: "游明朝", YuMincho, serif;
  font-size: 22px;
  margin-top: 20px;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #382715;
}
.cast .cast-inner ul.cast-list_s li h3,
.cast .cast-inner ul.cast-list_m li h3{
  margin-top: 18px;
}
.cast .cast-inner ul.cast-list li h3 span,
.cast .cast-inner ul.cast-list_s li h3 span,
.cast .cast-inner ul.cast-list_m li h3 span{
  display: block;
  font-size: 16px;
  margin-top: 10px;
}
.cast .cast-inner ul.cast-list_s li h3,
.cast .cast-inner ul.cast-list_m li h3{
  font-size: 18px;
}
.cast .cast-inner ul.cast-list_s li h3 span,
.cast .cast-inner ul.cast-list_m li h3 span{
  font-size: 14px;
  line-height: 1.4em;
  letter-spacing: 0.05em;
}
.cast .cast-inner ul.cast-list li img,
.cast .cast-inner ul.cast-list_s li img,
.cast .cast-inner ul.cast-list_m li img{
  width:100%;
}
.cast .cast-inner ul.cast-list li:nth-child(4),
.cast .cast-inner ul.cast-list_m li:last-child,
.cast .cast-inner ul.cast-list_s li:last-child{
  margin-right: 0px;
}
.cast .btn_jinbutsu{
  width: 350px;
  margin: 40px auto 0px;
  height: 74px;
  text-align: center;
  background: #874D23;
  font-size: 20px;
  line-height: 4.6rem;
  border: 1px solid #FFF;
  box-shadow: 0px 0px 0px 4px #874D23;
  position: relative;
}
_:-ms-input-placeholder, :root .btn_jinbutsu{
   line-height: 5rem;
  }
.cast .btn_jinbutsu a{
  color: #FFF;
  display: block;
}
.cast .btn_jinbutsu a::after {
    content: '';
    width: 11px;
    height: 11px;
    border: 0px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 29px;
    right: 30px;
}

.cast .staff-main{
  background: #fff;
}
.cast .staff-main ul.staff-list{
  display: flex;
  flex-wrap: wrap;
  max-width: 980px;
  margin: 20px auto 0px;
  padding-bottom: 50px;
}
.cast ul.staff-list li{
  width: 25%;
  text-align: center;
  font-family: "游明朝", YuMincho, serif;
  font-size: 14px;
  margin-bottom:60px;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
}
.cast ul.cast-top li:first-child::after{
  content: '';
display: inline-block;
width: 220px;
height: 130px;
background: url("../img/movie50/cast/torasan_02.png") no-repeat;
background-size: contain;
position: relative;
top: 30px;
left: -60px;
}
.cast ul.cast-top li:last-child::after{
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 106px;/*画像の幅*/
  height: 169px;/*画像の高さ*/
  background: url("../img/movie50/cast/torasan_01.png") no-repeat;
  background-size: contain;
	position: absolute;
  right: -60px;
	bottom: 0px;
}

.cast .cast-inner::after{
  content: '';
  display: inline-block;
  width: 154px;
  height: 116px;
  background: url("../img/movie50/cast/torasan_03.png") no-repeat;
  background-size: contain;
  position: relative;
  left: 83%;
}
.cast ul.staff-list li span{
  font-size: 22px;
  display: block;
  margin-top: 14px;
}
.cast ul.staff-img{
  display: flex;
  width: 100%;
}
.cast ul.staff-img li{
  width: 33.4%;
}
.cast ul.staff-img li img{
  width: 100%;
}

.cast .win.chrome70 .introstory-mainvisual__text h1 {
    font-size: 53px;
}
.cast .gecko .introstory-mainvisual__text h1 {
    font-size: 45px;
}


@media screen and (max-width:1366px) {
    .introstory-mainvisual__text h1 {
        font-size: 3.953vw;
    }
}
@media screen and (max-width:1024px) {
    .introstory-mainvisual__text h1 {
        font-size: 40px;
    }
    .themesong .comments-inner{
        padding-bottom: 330px;
    }
}
.introstory-mainvisual__text .sub {
    font-family: "游明朝", YuMincho, serif;
    font-size: 29px;
    margin-bottom: 25px;
    letter-spacing: 0.1em;
}
@media screen and (max-width:1100px) {
    .introstory-mainvisual__text .sub {
        font-size: 26px;
    }
}
.introstory-mainvisual__text .sub span {
    position: relative;
}
.introstory-mainvisual__text .sub span:after {
    position: absolute;
    content: 'キセキ';
    color: #fff;
    font-family: "游明朝", YuMincho, serif;
    font-size: 14px;
    letter-spacing: 0.1em;
    top: -20px;
    left: 6px;
}
.introstory-mainvisual__text P:nth-of-type(2),
.introstory-mainvisual__text P:nth-of-type(3) {
    font-size: 15px;
    line-height: 2.1333;
    letter-spacing: 0.03em;
    font-feature-settings:'palt';
}
.introstory-mainvisual__text P:nth-of-type(2) {
    margin-bottom: 15px;
}
.introstory-intro {
    position: relative;
    background-color: #C5ECF4;
    padding: 130px 0 0 0;
    color: #382715;
}
.introstory-intro__text01,
.introstory-intro__text02 {
    max-width: 876px;
    margin: 0 auto;
}
.introstory-intro__text01 {
    text-align: center;
    margin-bottom: 130px;
}
.introstory-intro__text01 p:nth-of-type(1) {
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 2;
    font-weight: bold;
    margin-bottom: 14px;
}
.introstory-intro__text01 p:nth-of-type(2) {
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 1.642;
    margin-bottom: 44px;
}
.introstory-intro__text01 p:nth-of-type(3) {
    font-size: 16px;
    letter-spacing: 0.075em;
    line-height: 2;
}
.introstory-intro__text02 {
    padding-bottom: 130px;
}
.introstory-intro__text02 p:nth-of-type(1) {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 27px;
}
.introstory-intro__text02 p:nth-of-type(2) {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 42px;
}
.introstory-intro__text02 p:nth-of-type(3) {
    font-size: 26px;
    letter-spacing: 0.05em;
    line-height: 1.7;
    text-align: center;
}
.introstory-intro__img {
    background-image: url(../img/movie50/introstory/img-intro_bg.jpg);
    background-position: center center;
    background-attachment: fixed;
    height: 652px;
    margin-bottom: 130px;
    background-size: cover;
}
.introstory-intro__img-list {
    width: 100%;
    display: flex;
}
.introstory-intro__img-list li {
    width: 25%;
}
.introstory-intro__img-list li img {
    width: 100%;
}
.introstory-story {
    background-color: #FFEFB9;
    padding: 130px 0 109px 0;
    color: #26190B;
}
.introstory-story h2 {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    text-align: center;
    font-size: 38px;
    letter-spacing: 0.1em;
    margin-bottom: 84px;
}
.introstory-story h2 span {
    position: relative;
}
.introstory-story__content01,
.introstory-story__content02 {
    display: flex;
    max-width: 1195px;
    margin: 0 auto;
}
.introstory-story__content01 {
    margin-bottom: 70px;
}
.introstory-story__content01-img {
    max-width: 564px;
    margin-right: 60px;
}
.introstory-story__content01-img img {
    width: 100%;
    border: 8px solid #fff;
    box-sizing: border-box;
}
.introstory-story__content01-text {
    max-width: 563px;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 2;
}
.introstory-story__content01-text p:first-of-type {
    margin-bottom: 20px;
}
.introstory-story__content02 {
    flex-direction: row-reverse;
    margin-bottom: 100px;
}
.introstory-story__content02-img {
    position: relative;
    width: 568px;
    height: 397px;
}
.introstory-story__content02-img li {
    position: absolute;
}
.introstory-story__content02-img li:nth-of-type(1) {
    top: 0;
    left: 0;
    width: 65.6%;
}
.introstory-story__content02-img li:nth-of-type(2) {
    bottom: 0;
    right: 0;
    width: 65.6%;
}
.introstory-story__content02-img li img {
    width: 100%;
    border: 8px solid #fff;
    box-sizing: border-box;
}
.introstory-story__content02-text {
    max-width: 567px;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-right: 57px;
}
.introstory-story__content02-text p:first-of-type {
    margin-bottom: 32px;
}
.introstory-story__text {
    max-width: 836px;
    margin: 0 auto;
}
.introstory-story__text p {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 24px;
    font-weight: bold;
}
.introstory-story__text p span:nth-of-type(1) {
    display: block;
    text-align: center;
    margin-top: 21px;
    padding-left: 80px;
}
.introstory-story__text p span:nth-of-type(2) {
    display: block;
    text-align: right;
    font-size: 21px;
    margin-top: 26px;
}

.win.chrome70 .introstory-mainvisual__text h1 {
    font-size: 53px;
}
.gecko .introstory-mainvisual__text h1 {
    font-size: 45px;
}
@media screen and (max-width:1366px) {
    .gecko .introstory-mainvisual__text h1 {
        font-size: 3.3vw;
    }
    .win.chrome70 .introstory-mainvisual__text h1 {
        font-size: 3.9vw;
    }
}
@media screen and (max-width:1024px) {
    .gecko .introstory-mainvisual__text h1 {
        font-size: 34px;
    }
    .win.chrome70 .introstory-mainvisual__text h1 {
        font-size: 40px;
    }
}
