@charset "utf-8";
/* CSS Document */

/* トップページ専用のスタイル
----------------------------------------------------------- */
.slider {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
  height: 100vh;
  overflow: hidden;
}
.slide_box {
	position: relative;
  height: 100%;
  overflow: hidden;
}
.slide_box::before {
	position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 30%;
  height: 100%;
  background: rgba(185, 30, 35, .75);
  content: '';
}
.slider .slide_box .slide_box_in ,
.slider .slide_box .slide_box_in div {
	position: relative;
	width: 100%;
  height: 100%;
	display: flex;
	align-items: center;
}
.slider .slide_box .slide_box_in picture {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex !important;
	align-items: center;
}
.slider .slide_box .slide_box_in img {
	display: block;
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.slider .slide_box .catch {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  width: 1040px;
  height: 100%;
  margin: 0 auto;
  padding: 0 20px;
  padding-bottom: 60px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
.slider .slide_box .catch h3 {
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro','Noto Serif JP',serif;
  font-size: 5.0rem;
  font-weight: 500;
  line-height: 1.4;
  color: #FFF;
}

.top main .news {
  padding: 30px 0;
}
.top main .news .box {
  display: flex;
  justify-content: center;
}
.top main .news .box .box_l {
  display: flex;
  align-items: center;
  white-space: nowrap;
  padding-right: 35px;
  border-right: solid 2px #313131;
}
.top main .news .box .box_l h3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.top main .news .box .box_l h3 span ,
.top main .news .box .box_l h3 em {
  display: block;
  line-height: 1.1;
}
.top main .news .box .box_l h3 span {
  font-size: 3.0rem;
  font-family: 700;
  color: #b91e23;
  margin-bottom: .3em;
}
.top main .news .box .box_l h3 em {
  font-weight: 700;
}
.top main .news .box .box_r {
  padding-left: 25px;
}
.top main .news .box .box_r section {
  display: flex;
}
.top main .news .box .box_r section:not(:last-of-type) {
  margin-bottom: .4em;
}
.top main .news .box .box_r section time {
  display: block;
  white-space: nowrap;
  font-size: 1.3rem;
  font-weight: 700;
  color: #b91e23;
  margin-right: 1em;
/*下記追加CSS*/
  margin-top: 5px;
}
.top main .news .box .box_r section p a {
  font-size: 1.3rem;
  font-weight: 700;
  word-break: break-all;
}
.top main .movie {
  max-width: 620px;
  padding: 60px 20px;
  margin: 0 auto;
}
.top main .movie .movie_box {
  position: relative;/*   */
  /*padding-top: 56.25%; */
  padding-top: 10%;
  margin-bottom: 30px;
}
/*.top main .movie .movie_box iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}*/
.top main .movie h3 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: #b91e23;
  margin-bottom: .3em;
}
.top main .movie .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.top main .about {
  background: #b91e23;
  color: #FFF;
  padding: 50px 0;
}
.top main .about .box {
  position: relative;
}
.top main .about .box h3 {
  font-size: 5.0rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: .3em;
}
.top main .about .box .comment {
  max-width: 580px;
  margin: 0 auto;
}
.top main .about .box .btn {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  left: 0;
}
.top main .about .box .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 3px #FFF;
  border-radius: 50%;
  width: 160px;
  height: 160px;
  font-size: 2.5rem;
  font-weight: 700;
  color: #FFF;
}
.top main .about .box .btn a:hover {
  border: solid 3px #FFF;
  background: #FFF;
  color: #b91e23;
}
.top main .btn_list {
  padding-top: 25px;
  padding-bottom: 25px;
  display: flex;
}
.top main .btn_list section {
  width: 33.3%;
  height: 420px;
}
.top main .btn_list section a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 20px;
  color: #FFF;
}
.top main .btn_list section:nth-of-type(odd) a {
  background: #535353;
}
.top main .btn_list section:nth-of-type(even) a {
  background: #626262;
}
.top main .btn_list section a::before {
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - (40px + (2px * 2)));
  height: calc(100% - (40px + (2px * 2)));
  display: block;
  border: solid 2px #FFF;
  content: '';
}
.top main .btn_list section a h3 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: .8em;
  text-align: center;
}
.top main .btn_list section a h3.line01 {
  padding: .9em 0;
}
.top main .btn_list section a p {
  max-width: 225px;
  margin: 0 auto;
  font-size: 1.4rem;
  word-break: break-all;
}
.top main .banner_list {
  padding-bottom: 25px;
}
.top main .banner_list section:not(:last-of-type) {
  margin-bottom: 25px;
}
.top main .banner_list section a {
  position: relative;
  display: flex;
  height: 227px;
  overflow: hidden;
}
.top main .banner_list section a::before {
  position: absolute;
  top: 0;
  z-index: 1;
  width: 40%;
  height: 100%;
  background: rgba(185, 30, 35, .5);
  content: '';
}
@media screen and (min-width: 1600px) {
  
  .top main .banner_list section a::before {
    width: 45vw;
  }

}
.top main .banner_list section:nth-of-type(odd) a::before {
  right: 0;
}
.top main .banner_list section:nth-of-type(even) a::before {
  left: 0;
}
.top main .banner_list section a p {
  position: relative;
	width: 100%;
	height: 100%;
	display: flex !important;
	align-items: center;
  background: #FFF;
}
.top main .banner_list section a p picture {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex !important;
	align-items: center;
}
.top main .banner_list section a p picture img {
	display: block;
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.top main .banner_list section a .box {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: 100%;
  display: flex;
  align-items: center;
}
.top main .banner_list section a .box h3 {
  display: flex;
  flex-direction: column;
}
.top main .banner_list section:nth-of-type(odd) a .box h3 {
  margin-left: auto;
}
.top main .banner_list section:nth-of-type(even) a .box h3 {
  margin-right: auto;
}
.top main .banner_list section a .box h3 > span ,
.top main .banner_list section a .box h3 > em {
  display: block;
  color: #FFF;
  line-height: 1.1;
}
.top main .banner_list section a .box h3 > span {
  font-size: 5.0rem;
  font-weight: 700;
  margin-bottom: .2em;
}
.top main .banner_list section a .box h3 > span em {
  font-size: 4.0rem;
  font-weight: 700;
}
.top main .banner_list section a .box h3 > em {
  font-weight: 700;
}



@media screen and (max-width: 1040px) {
  
  .slider .slide_box .catch {
    width: 100%;
  }

}



@media screen and (max-width: 940px) {
  
  .top main .about .box .btn {
    position: relative;
    top: inherit;
    transform: inherit;
    left: inherit;
    padding-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .top main .about .box .btn a {
    border-radius: inherit;
    width: auto;
    height: auto;
    padding: .3em 4.5em;
  }
  .top main .btn_list section a {
    padding: 20px 15%;
    color: #FFF;
  }
  .top main .banner_list section a::before {
    width: 45vw;
  }

}


/* sp
----------------------------------------------------------- */
@media screen and (max-width: 767px) {


  .slider {
    height: 100vh;
  }
  .slider .slide_box .slide_box_in ,
  .slider .slide_box .slide_box_in div {
    height: 100vh;
  }
  .slider .slide_box .catch {
    width: 100vw;
    padding: 0 4%;
    padding-bottom: 5vh;
  }
  .slider .slide_box .catch h3 {
    font-size: 2.5rem;
  }

  .top main .news {
    padding: 10vw 0;
  }
  .top main .news .box {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
  }
  .top main .news .box .box_l {
    display: flex;
    align-items: center;
    white-space: nowrap;
    padding-right: 0;
    padding-bottom: 5vw;
    border-right: none;
    border-bottom: solid 2px #313131;
  }
  .top main .news .box .box_l h3 span {
    font-size: 2.0rem;
  }
  .top main .news .box .box_r {
    padding-left: 0;
    padding-top: 5vw;
  }
  .top main .news .box .box_r section {
    display: flex;
    flex-direction: column;
  }
  .top main .news .box .box_r section time {
    white-space: inherit;
    margin-right: 0;
  }
  .top main .movie {
    max-width: 100%;
    padding: 10vw 4%;
  }
  .top main .movie .movie_box {
    padding-top: 56.25%;
    margin: 0 auto;
    margin-bottom: 5vw;

  }
  .top main .movie .movie_box iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .top main .movie h3 {
    text-align: left;
    font-size: 2.0rem;
  }
  .top main .about {
    padding: 10vw 0;
  }
  .top main .about .box h3 {
    font-size: 2.0rem;
  }
  .top main .about .box .comment {
    max-width: 100%;
  }
  .top main .about .box .btn a {
    font-size: 2.0rem;
  }
  .top main .btn_list {
    padding-top: 6vw;
    padding-bottom: 6vw;
    display: flex;
    flex-direction: column;
  }
  .top main .btn_list section {
    width: 100%;
    height: auto;
  }
  .top main .btn_list section a {
    padding: 5vw 6vw;
  }
  .top main .btn_list section a::before {
    top: 2vw;
    left: 2vw;
    width: calc(100% - (4vw + ( 2px * 2)));
    height: calc(100% - (4vw + ( 2px * 2)));
  }
  .top main .btn_list section a h3 {
    font-size: 2.0rem;
	padding-top: 30px;
  }
  .top main .btn_list section a h3.line01 {
    padding-top: 30px;
  }
  .top main .btn_list section a p {
    max-width: 100%;
  }
  .top main .banner_list {
    padding-bottom: 10vw;
  }
  .top main .banner_list section:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  .top main .banner_list section a {
    height: auto;
  }
  .top main .banner_list section a::before {
    position: absolute;
    top: inherit;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 20vw;
  }
  .top main .banner_list section a .box {
    top: inherit;
    bottom: 0;
    align-items: flex-end;
    padding-bottom: 2vw;
  }
  .top main .banner_list section a .box h3 > span {
    font-size: 2.5rem;
  }
  .top main .banner_list section a .box h3 > span em {
    font-size: 2.0rem;
  }


}
@media screen and (max-width: 450px) {
.movie_box {
    width: 80%;
  }
}