@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
/* 1336pxの場合　フォントサイズ以外
 min(1rem,calc(10vw/12.8)) */

 #wrapper #main img {
 width: 100%;
 height: auto;
}
/*                        mv                          */
.mv_inner {
 margin-top: min(8.5rem, calc(85vw / 12.8));
 position: relative;
}

.mv_logo {
 width: min(39rem, calc(390vw / 12.8));
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
}

/*                        section                        */
.section_contents {
 background-color: #f5f5f7;
}
.section_inner {
 width: min(106.5rem, calc(1065vw / 12.8));
 margin: 0 auto;
}
.section_ttl {
 position: relative;
 display: flex;
 align-items: flex-end;
 font-size: 3.6rem;
 letter-spacing: 0.1em;
 font-family: YakuHanJP, "Noto Serif JP", serif;
 color: #b5002b;
 font-weight: 700;
 z-index: 1;
 padding-left: min(2rem, calc(20vw / 12.8));
 line-height: 1.5;
}
.section_ttl::before {
 content: "";
 width: min(6.2rem, calc(62vw / 12.8));
 height: min(7rem, calc(70vw / 12.8));
 background: url(../images/anniversary/ttl_icon_01.svg) no-repeat;
 background-size: cover;
}
.section_ttl .sab {
 font-size: 14.8rem;
 letter-spacing: 0.01em;
 position: absolute;
 bottom: 0;
 left: 0;
 line-height: 1.2;
 z-index: -1;
 color: #b5002b1d;
}
/*                        about                          */

.about_inner {
 padding: min(9rem, calc(90vw / 12.8)) 0;
}
.about_ttl {
 font-size: 5.2rem;
 font-weight: 600;
 color: #ad0026;
 line-height: 1.53;
 font-family: yakuhanmp, "Noto Serif JP", serif;
 letter-spacing: 0.05em;
}
.about_detail .icon {
 width: min(5.3rem, calc(53vw / 12.8));
 margin: min(4rem, calc(40vw / 12.8)) auto 0;
}
.about_detail p {
 font-size: 1.7rem;
 letter-spacing: 0.08em;
 line-height: 2.3;
 font-weight: 600;
 margin-top: min(4rem, calc(40vw / 12.8));
 color: #4b4945;
}
.about_detail .logo {
 width: min(30.2rem, calc(302vw / 12.8));
 margin: min(5rem, calc(50vw / 12.8)) auto 0;
}

/*                        news                          */
#news {
 padding-bottom: min(13.5rem, calc(135vw / 12.8));
}
.news_inner {
 padding-top: min(13rem, calc(130vw / 12.8));
}
.news_item {
 width: 100%;
 margin: 0 auto;
}
.news_box {
 width: 100%;
 background-color: #fff;
 border-radius: min(0.5rem, calc(5vw / 12.8));
 margin-top: min(4.5rem, calc(45vw / 12.8));
 box-sizing: border-box;
 padding: min(3rem, calc(30vw / 12.8)) min(4.5rem, calc(45vw / 12.8));
 height: auto;
 box-sizing: border-box;
}
.news_box_inner {
 overflow-y: auto;
    scrollbar-gutter: stable;
 max-height: min(30rem, calc(300vw / 12.8));
 height: auto;
}


.news_box_inner::-webkit-scrollbar {
  width: min(.8rem, calc(8vw / 12.8));
}
.news_box_inner::-webkit-scrollbar-track {
  background: transparent;
}
.news_box_inner::-webkit-scrollbar-thumb {
  background-color: #c1c1c1;
  border-radius: 100vw;
}
.news_box a {
 display: block;
 width: 100%;
}
.news_box dl {
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 box-sizing: border-box;
 padding: min(1.5rem, calc(15vw / 12.8)) min(1rem, calc(10vw / 12.8));
 border-bottom: #e6e6e6 solid min(0.1rem, calc(1vw / 12.8));
}
.news_box a:last-of-type dl {
 border: none;
}
.news_box dt {
 width: min(17rem, calc(170vw / 12.8));
 display: flex;
 justify-content: space-between;
 align-items: center;
 font-size: 1.3rem;
 font-weight: 500;
 color: #b3b3b3;
 letter-spacing: 0.02em;
}
.news_box dt .tag {
 width: min(8.3rem, calc(83vw / 12.8));
 background-color: #b5002b;
 font-size: 1.1rem;
 font-weight: 500;
 letter-spacing: 0.01em;
 color: #fff;
 border-radius: min(1rem, calc(10vw / 12.8));
 line-height: 1.7;
}
.news_box dd {
 width: min(75.5rem, calc(755vw / 12.8));
 font-size: 1.5rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 color: #575352;
 text-align: justify;
 padding: 0 min(1.6rem, calc(16vw / 12.8)) 0 min(1.6rem, calc(16vw / 12.8));
 box-sizing: border-box;
}


@media (hover: hover) {
 .news_box a:where(:any-link, :enabled, summary):hover {
  opacity: .7;
 }

}

/*                        content                        */
#content {
 padding-bottom: min(12rem, calc(120vw / 12.8));
}
.content_inner {
 position: relative;
 z-index: 1;
 padding: min(12rem, calc(120vw / 12.8)) 0 min(6rem, calc(60vw / 12.8));
}
.content_inner::before {
 content: "";
 width: 100vw;
 height: 100%;
 background-color: #c99f45;
 position: absolute;
 top: 0;
 right: 0;
 z-index: -1;
}
.content_ttl {
 color: #fff;
}
.content_ttl .sab {
 color: #c59529;
}
.content_ttl::before {
 background: url(../images/anniversary/ttl_icon_02.svg) no-repeat;
 background-size: cover;
}
.content_flex {
 width: min(97rem, calc(970vw / 12.8));
 display: flex;
 justify-content: space-between;
 margin-top: min(4rem, calc(40vw / 12.8));
}
.content_box {
 width: min(29.7rem, calc(297vw / 12.8));
}
.content_movie {
 position: relative;
 z-index: 1;
 overflow: hidden;
 border-radius: min(0.5rem, calc(5vw / 12.8));
}
.content_movie iframe {
 width: 100%;
 height: 100%;
 aspect-ratio: 16/9;
 border: none;
}

.content_txt {
 font-size: 1.5rem;
 font-weight: 500;
 line-height: 1.75;
 letter-spacing: 0.08em;
 text-align: justify;
 margin-top: min(1rem, calc(10vw / 12.8));
 color: #fff;
}


/*                        history                        */
#history {
 overflow: hidden;
}
.history_inner {
 padding-bottom: min(13.5rem, calc(135vw / 12.8));
}
.history_top {
 position: relative;
 z-index: 1;
 padding: min(15rem, calc(150vw / 12.8)) 0 min(10.5rem, calc(105vw / 12.8));
 margin-bottom: min(11.5rem, calc(115vw / 12.8));
}
.history_top::before {
 content: "";
 width: 100vw;
 height: 100%;
 background-color: #b5002b;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
}
.history_top_item {
 width: min(95.6rem, calc(956vw / 12.8));
 margin-left: auto;
}
.history_ttl {
 color: #fff;
 justify-content: center;
 padding-left: 0;
}
.history_ttl .sab {
 color: #a80028;
 right: 0;
 margin: 0 auto;
}
.history_ttl::before {
 background: url(../images/anniversary/ttl_icon_02.svg) no-repeat;
 background-size: cover;
}

.history_top_txt {
 font-size: 2rem;
 font-weight: 500;
 letter-spacing: 0.12em;
 color: #fff;
 margin: min(2.5rem, calc(25vw / 12.8)) 0 min(4.5rem, calc(45vw / 12.8));
}

.history_top_movie {
 position: relative;
 z-index: 1;
 overflow: hidden;
 width: 100%;
 aspect-ratio: 16/9;
 border-radius: min(.3rem, calc(3vw / 12.8));
 overflow: hidden;
}
.history_top_movie  iframe {
 width: 100%;
 height: 100%;
 border: none;
}


.history_timeline {
 position: relative;
 z-index: 1;
}
.history_bg {
 width: min(150rem, calc(1500vw / 12.8));
 position: absolute;
 top: max(-14rem, calc(-140vw / 12.8));
 left: 50%;
 transform: translateX(-50%);
 z-index: -1;
}


.history_timeline_inner {
 width: min(99.2rem, calc(992vw / 12.8));
 margin-left: auto;
 position: relative;
 z-index: 1;
 margin-bottom: min(11rem, calc(110vw / 12.8));
}
.history_timeline_item {
 display: flex;
 flex-direction: column;
 gap: min(3.5rem, calc(35vw / 12.8)) 0;
}
.history_timeline_item dl {
 width: fit-content;
 background-color: #fff;
 text-align: justify;
 padding: min(2.2rem, calc(22vw / 12.8)) min(3.7rem, calc(37vw / 12.8))  min(2.5rem, calc(25vw / 12.8)) ;
 border-radius: min(1.2rem, calc(12vw / 12.8));
 border: min(.2rem, calc(2vw / 12.8)) solid #c99f45;
}
.history_timeline_item dt {
 font-size: 1.5rem;
 font-weight: 400;
 letter-spacing: 0.04em;
 color: #b5002b;
 margin-bottom: min(.5rem, calc(5vw / 12.8));
}
.history_timeline_item dd {
 font-size: 1.7rem;
 letter-spacing: 0.06em;
 line-height: 1.77;
 font-weight: 600;
 color: #575352;
}
.history_timeline_item dd.cl_txt {
 color: #ac8d39;
}
.history_timeline_item dd span {
 font-size: 1.5rem;
 font-weight: 400;
 display: block;
 line-height: 1.73;
}
.history_timeline_item dl:nth-of-type(1){
 margin-left: min(2rem, calc(20vw / 12.8));
}
.history_timeline_item dl:nth-of-type(2) {
 margin-left: min(24.5rem, calc(245vw / 12.8));
}
.history_timeline_item dl:nth-of-type(3) {
 margin-left: min(47rem, calc(470vw / 12.8));
}
.history_timeline_item dl:nth-of-type(4) {
 margin-left: min(33.5rem, calc(335vw / 12.8));
}
.history_timeline_item dl:nth-of-type(5) {
 margin-left: min(21.5rem, calc(215vw / 12.8));
}
.history_timeline_item dl:nth-of-type(6) {
 margin-left: min(9.5rem, calc(95vw / 12.8));
}
.history_timeline_item dl:nth-of-type(7) {
 margin-left: min(21.5rem, calc(215vw / 12.8));
}
.history_timeline_item dl:nth-of-type(8) {
 margin-left: min(36.5rem, calc(365vw / 12.8));
}
.history_timeline_item dl:nth-of-type(9) {
 margin-left: min(17rem, calc(170vw / 12.8));
}
.history_timeline_item dl:nth-of-type(10) {
 margin-left:0;
}
.history_timeline_item dl:nth-of-type(11) {
 margin-left: min(22rem, calc(220vw / 12.8));
}
.history_timeline_item dl:nth-of-type(12) {
 margin-left: min(43rem, calc(430vw / 12.8));
}
.history_timeline_item dl:nth-of-type(13) {
 margin-left: min(62.5rem, calc(625vw / 12.8));
}
.history_timeline_item dl:nth-of-type(14) {
 margin-left: min(43rem, calc(430vw / 12.8));
}
.history_line {
 width: min(68.5rem, calc(685vw / 12.8));
 position: absolute;
 top: min(5rem, calc(50vw / 12.8));
 left: max(-9rem, calc(-90vw / 12.8));
 z-index: -1;
}
.history_img {
 position: absolute;
}

.history_img_01 {
 width: min(29rem, calc(290vw / 12.8));
 top: min(7rem, calc(70vw / 12.8));
 right: 0;
}
.history_img_02 {
 width: min(26.2rem, calc(262vw / 12.8));
 top: min(27rem, calc(270vw / 12.8));
 left: max(-7.5rem, calc(-75vw / 12.8));
 z-index: -1;
}
.history_img_03 {
 width: min(28.6rem, calc(286vw / 12.8));
 top: min(81rem, calc(810vw / 12.8));
 right: 0;
}
.history_img_04 {
 width: min(26.9rem, calc(269vw / 12.8));
 top: min(125rem, calc(1250vw / 12.8));
 left: max(-6.5rem, calc(-65vw / 12.8));
}
.history_img_05 {
 width: min(24.3rem, calc(243vw / 12.8));
 top: min(146rem, calc(1460vw / 12.8));
 right: 0;
}
.history_img_06 {
 width: min(23.9rem, calc(239vw / 12.8));
 top: min(216rem, calc(2160vw / 12.8));
 left: min(3rem, calc(30vw / 12.8));
}


.history_movie {
 width: min(95.6rem, calc(956vw / 12.8));
 margin: 0 auto;
 position: relative;
 z-index: 1;
}
.history_movie_ttl {
 font-size: 2rem;
 font-weight: 500;
 letter-spacing: 0.12em;
 color: #b5002b;
 margin: 0 0 min(4.5rem, calc(45vw / 12.8));
}

.history_movie_item {
 width: 100%;
 aspect-ratio: 16/9;
 border-radius: min(.3rem, calc(3vw / 12.8));
 overflow: hidden;
}
.history_movie_item iframe{
 width: 100%;
 height: 100%;
 border: none;
 aspect-ratio: 16/9;
}

/*                        project                        */
#project {
 overflow: hidden;
 padding-bottom: min(9.5rem, calc(95vw / 12.8));
}
.project_inner {
 width: min(106.5rem, calc(1065vw / 12.8));
 margin: 0 auto;
 position: relative;
 z-index: 1;
 padding: min(13rem, calc(130vw / 12.8)) 0 min(8rem, calc(80vw / 12.8));
}
.project_inner::before {
 content: "";
 width: 100vw;
 height: 100%;
 background-color: #b5002b;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
}
.project_ttl::before {
 background: url(../images/anniversary/ttl_icon_02.svg) no-repeat;
 background-size: cover;
}
.project_item {
 width: min(97.5rem, calc(975vw / 12.8));
 margin-left: auto;
}
.project_ttl {
 color: #fff;
}
.project_ttl .sab {
 color: #a80028;
}
.project_item_flex {
 display: flex;
 justify-content: space-between;
 margin-top: min(7.5rem, calc(75vw / 12.8));
}
.project_item_detail {
 width: min(54rem, calc(540vw / 12.8));
 text-align: justify;
}
.project_item_ttl {
 font-size: 1.8rem;
 color: #fff;
 line-height: 1.83;
 letter-spacing: 0.14em;
 font-weight: 600;
}
.project_item_txt {
 font-size: 1.5rem;
 font-weight: 500;
 color: #fff;
 margin-top: min(2rem, calc(20vw / 12.8));
}
.project_item_img {
 width: min(36rem, calc(360vw / 12.8));
}

.project_item_02 {
 margin-top: min(10rem, calc(100vw / 12.8));
}
.project_item_02 .project_item_detail {
 width: 100%;
 margin-top: min(7.5rem, calc(75vw / 12.8));
}
.project_item_02 .project_item_flex {
 width: 100%;
 justify-content: flex-start;
 gap:0  min(2.5rem, calc(25vw / 12.8));
 margin-top: min(4.5rem, calc(45vw / 12.8));
}

/*                        logo                        */
#logo {
 overflow: hidden;
}
.logo_inner {
 padding-bottom: min(20rem, calc(200vw / 12.8));
}
.logo_ttl {
 color: #fff;
}
.logo_ttl .sab {
 color: #c59529;
}
.logo_ttl::before {
 background: url(../images/anniversary/ttl_icon_02.svg) no-repeat;
 background-size: cover;
}
.logo_item {
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: relative;
}
.logo_item::before {
 content: '';
 width: 100vw;
 height: 100%;
 background-color: #fff;
 position: absolute;
 top: 0;
 left: 0;
}
.logo_detail {
 width: min(58.5rem, calc(585vw / 12.8));
 padding: min(13rem, calc(130vw / 12.8)) 0 min(8rem, calc(80vw / 12.8));
 position: relative;
 z-index: 1;
}
.logo_detail::before {
 content: "";
 width: 100vw;
 height: 100%;
 background-color: #c99f45;
 position: absolute;
 top: 0;
 right: 0;
 z-index: -1;
}
.logo_txt {
 font-size: 1.5rem;
 font-weight: 600;
 line-height: 2.1;
 letter-spacing: 0.16em;
 text-align: left;
 color: #fff;
 margin-top: min(5rem, calc(50vw / 12.8));
}
.logo_img {
 width: min(39rem, calc(390vw / 12.8));
 position: relative;
 z-index: 1;
}

/*                   purpose_inner                  */

.purpose_inner {
 padding-bottom:  min(14rem, calc(140vw / 12.8));
}
.purpose_ttl {
 letter-spacing: 0.05em;
}
.purpose_txt {
 font-size: 1.7rem;
 letter-spacing: 0.1em;
 text-align: justify;
 font-weight: 500;
 margin: min(5rem, calc(50vw / 12.8)) 0 min(9rem, calc(90vw / 12.8));
}

.purpose_splide {
 padding-left: min(10rem, calc(100vw / 12.8));
 margin: min(7rem, calc(70vw / 12.8)) 0 0;
}
.splide__list {
 align-items: flex-end;
}

.splide__slide.is-active {
 width: min(52rem, calc(520vw / 12.8)) !important;
 animation-name: fadein;
 animation-duration: 0.5s;
 animation-fill-mode: forwards;
 padding-bottom: min(1.5rem, calc(15vw / 12.8));
 background-color: #b5002b;
 opacity: 0;
}
.splide__slide:not(.is-active) {
 width: min(17rem, calc(170vw / 12.8)) !important;
}

.purpose_img img {
 border-radius: min(0.4rem, calc(4vw / 12.8));
}
.splide__slide.is-active {
 border-radius: min(0.8rem, calc(8vw / 12.8)) min(0.8rem, calc(8vw / 12.8)) 0 0;
}

@keyframes fadein {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
.splide__slide.is-prev,
.splide__slide:has(+ .is-prev) {
 opacity: 0;
}

.purpose_detail {
 width: min(38.5rem, calc(385vw / 12.8));
 position: absolute;
 top: min(15rem, calc(150vw / 12.8));
 left: min(60rem, calc(600vw / 12.8));
 text-align: left;
 opacity: 0;
}
.is-active.is-visible .purpose_detail {
 opacity: 1;
}
.purpose_detail_ttl {
 font-size: 3.3rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 color: #b5002b;
 line-height: 1.63;
}
.purpose_detail_txt {
 font-size: 2.1rem;
 font-weight: 500;
 letter-spacing: 0.06em;
 color: #b5002b;
 line-height: 1.7;
}
.purpose_detail_btn {
 width: min(22.2rem, calc(222vw / 12.8));
 margin-top: min(4rem, calc(40vw / 12.8));
}
.purpose_detail_btn a {
 background-color: #fff;
 display: block;
 width: 100%;
 padding: min(1.6rem, calc(16vw / 12.8)) 0;
 position: relative;
}
.purpose_detail_btn span {
 display: block;
 width: min(11.5rem, calc(115vw / 12.8));
 margin: 0 auto;
 font-size: 0;
}

.purpose_detail_btn a::before {
 content: "";
 width: min(0.8rem, calc(8vw / 12.8));
 height: min(0.8rem, calc(8vw / 12.8));
 border-top: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 border-right: min(0.3rem, calc(3vw / 12.8)) solid #b5002b;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
 right: min(2rem, calc(20vw / 12.8));
}

.purpose_splide .splide__arrow {
 width: min(4rem, calc(40vw / 12.8));
 height: min(4rem, calc(40vw / 12.8));
}
.purpose_splide .splide__arrow--prev {
 left: min(7rem, calc(70vw / 12.8));
}
.purpose_splide .splide__arrow--next {
 right: min(7rem, calc(70vw / 12.8));
}
.purpose_splide .splide__arrow svg {
 fill: #b5002b;
}

@media (hover: hover) and (pointer: fine) {
 .purpose_detail_btn a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
}

.purpose_btn {
 width:  min(28rem, calc(280vw / 12.8));
 margin-left: auto;
 margin-top:  min(4.5rem, calc(45vw / 12.8));
}
.purpose_btn a{
 display: block;
 width:  100%;
 margin-left: auto;
 background-color: #b5002b;
 font-size: 1.4rem;
 letter-spacing: 0.02em;
 font-weight: 700;
 color: #fff;
 padding: min(1.3rem, calc(13vw / 12.8)) 0;
 border-radius: min(3rem, calc(30vw / 12.8));
 position: relative;
 border: min(.3rem, calc(3vw / 12.8)) #B5002B solid;
 box-sizing: border-box;
}
.purpose_btn a span {
 width:  min(.8rem, calc(8vw / 12.8));
 height:  min(1.2rem, calc(12vw / 12.8));
 background: url(../images/anniversary/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right:  min(3rem, calc(30vw / 12.8));
}
.purpose_btn a span::after {
 content: '';
 width:  100%;
 height:100%;
 background: url(../images/anniversary/arrow_hover.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
 opacity: 0;
 transition: .4s;
}


@media (hover: hover) {
 .purpose_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #ffff;
  color: #B5002B;
 }
 .purpose_btn a:where(:any-link, :enabled, summary):hover span::after{
  opacity: 1;
 }
}



@media screen and (max-width: 767px) {
 .mv_inner {
 margin-top:0;
}

.mv_logo {
 width:31rem;
}

/*                        section                        */
.section_inner {
 width: 34.5rem;
 margin: 0;
}
.section_ttl {
 font-size: 2.5rem;
 padding-left: 0;
 line-height: 1.72;
}
.section_ttl::before {
 width:4.2rem;
 height: 4.8rem;
}
.section_ttl .sab {
 font-size: 6.3rem;
 line-height: 1.7;
}
/*                        about                          */

.about_inner {
 padding:6.5rem 0 7.5rem;
}
.about_ttl {
 font-size: 3rem;
 line-height: 1.6;
 letter-spacing: 0.06em;
}
.about_detail .icon {
 width: 6rem;
 margin:4rem auto 0;
}
.about_detail p {
 font-size: 1.4rem;
 letter-spacing: 0.08em;
 line-height: 2.07;
 margin-top: 2.5rem;
}
.about_detail .logo {
 width: 20.7rem;
 margin:4rem auto 0;
}

/*                        news                          */
#news {
 padding-bottom: 7.3rem;
}
.news_inner {
 padding-top: 8.5rem;
 margin-left: auto;
}
.news_item {
 width: 100%;
 margin: 0 auto;
}
.news_box {
 border-radius: .4rem 0 0 .4rem;
 margin-top: 3rem;
 padding:2.5rem 2.7rem;
}
.news_box_inner {
 max-height:24rem;
}
.news_box_inner::-webkit-scrollbar {
  width:.5rem;
}



.news_box dl {
 flex-direction: column;
 padding: 1.5rem 0;
 border-bottom: #e6e6e6 solid .1rem;
}
.news_box dt {
 width:100%;
 justify-content:flex-start;
 gap: 0 1.2rem;
 font-size: 1.2rem;
}
.news_box dt .tag {
 width: 8.5rem;
 border-radius: 1rem;
}
.news_box dd {
 width:100%;
 font-size: 1.25rem;
 padding-left:0 ;
 padding-right: 1rem;
}

/*                        content                        */
#content {
 padding-bottom:7rem;
}
.content_inner {
 padding:8rem 0 6rem;
}
.content_item {
 padding-left: 3rem;
}
.content_flex {
 width:28.5rem;
 flex-direction: column;
 gap: 2rem 0;
 margin-top: 3.5rem;
}
.content_box {
 width: 100%;
}
.content_movie {
 border-radius: .4rem;
}

.content_txt {
 font-size: 1.3rem;
 margin-top: 1rem;
}


/*                        history                        */
.history_inner {
 padding-bottom: 7.5rem;
 margin-left: auto;
}
.history_top {
 padding: 9rem 0 7rem;
 margin-bottom: 5.5rem;
}
.history_top_item {
 width: 28.5rem;
 margin: 0 auto;
}

.history_top_txt {
 font-size: 1.6rem;
 margin: 2rem 0 3rem;
}
.history_top_movie {
 border-radius: .4rem;
}



.history_timeline_inner {
 width: 32rem;
 display: flex;
 justify-content: space-between;
 flex-direction: row-reverse;
 padding-bottom: 0;
 margin: 0;
}
.history_timeline_item {
 width: 27rem;
 gap:2.7rem 0;
}
.history_timeline_item dl {
 width:100%;
 padding: 1.2rem 1.5rem 1.6rem 2rem;
 border-radius:1rem;
 margin: 0  !important;
 box-sizing: border-box;
}
.history_timeline_item dt {
 font-size: 1.9rem;
 line-height: 1.8;
 font-weight: 500;
}
.history_timeline_item dd {
 font-size: 1.3rem;
 font-weight: 500;
 line-height: 1.65;
 font-weight: 600;
}
.history_timeline_item dd span {
 font-weight: 500;
 font-size: 1.3rem;
}

.history_line {
 width: 4.1rem;
 position: static;
}
.history_img {
 position: static;
 width: 100% !important;
}



.history_movie {
 width: 28.5rem;
 margin-left: 1.8rem;
 margin-top: 7rem;
}
.history_movie_ttl {
 font-size: 1.6rem;
 line-height: 1.87;
 margin: 0 0 3rem;
}






/*                        project                        */
#project {
 padding-bottom: 8rem;
}
.project_inner {
 width: 34.5rem;
 padding:10rem 0 6rem;
 margin-left: auto;
}
.project_item {
 width:28.5rem;
 margin: 0 auto;
}
.project_ttl {
 justify-content: center;
 align-items: flex-start;

}
.project_ttl .sab {
 right: 0;
 margin: 0 auto;
 line-height: 3;
}
.project_item_flex {
 flex-direction: column;
 margin-top:1.5rem;
 gap: 3rem 0;
}
.project_item_detail {
 width:100%;
 text-align: justify;
}
.project_item_ttl {
 font-size: 1.5rem;
}
.project_item_txt {
 font-size: 1.25rem;
 margin-top:1rem;
}
.project_item_img {
 width: 100%;
}

.project_item_02 {
 margin-top:10rem;
}
.project_item_02 .project_item_detail {
 width: 100%;
 margin-top:1.5rem;
}
.project_item_02 .project_item_flex {
 flex-direction: column;
 gap:  2rem 0;
 margin-top:2.5rem;
}


/*                        logo                        */
.logo_inner {
 padding-bottom: 10rem;
}
.logo_ttl {
 align-items: flex-start;
 justify-content: center;
}
.logo_ttl .sab {
 right: 0;
 margin: 0 auto;
 line-height: 3;
}

.logo_item {
 flex-direction:column;
 background-color: #fff;
}
.logo_item::before {
 content: none;
}
.logo_detail {
 width:28.5rem;
 padding:10rem 0 6rem;
 margin-left: auto;
 padding-right: 3rem;
}

.logo_txt {
 font-size: 1.3rem;
 line-height: 1.88;
 letter-spacing: 0.3em;
 text-align: justify;
 margin-top:1.5rem;
}
.logo_img {
 width: 20.8rem;
 padding: 5rem 0;
}

/*                   purpose_inner                  */

.purpose_inner {
 padding-bottom:  7rem;
 width: 100%;
}
.purpose_ttl {
 letter-spacing: 0.05em;
 align-items: flex-start;
 justify-content: center;
 text-align: left;
 gap: 0 .5rem;
}
.purpose_ttl .sab {
 top: -6rem;
 bottom: auto;
}
.purpose_txt {
 width: 31rem;
 font-size: 1.4rem;
 margin: 3.5rem auto 6.5rem;
}




 .purpose_splide {
  padding-left: 1.5rem;
  margin: 2.4rem 0 3.8rem;
 }

 .splide__slide.is-active {
  width: 15rem !important;
  padding-bottom: 0.5rem;
 }
 .splide__slide:not(.is-active) {
  width: 5rem !important;
 }
 .purpose_detail {
  width: 15rem;
  top: 2.5rem;
  left: 17.5rem;
 }
 .purpose_detail_ttl {
  font-size: 1.2rem;
  line-height: 1.37;
 }
 .purpose_detail_txt {
  font-size: 1rem;
  line-height: 1.4;
 }
 .purpose_detail_btn {
  width: 8.4rem;
  margin-top: 0.5rem;
 }
 .purpose_detail_btn a {
  padding: 0.7rem 0;
 }
 .purpose_detail_btn span {
  width: 4rem;
 }

 .purpose_detail_btn a::before {
  width: 0.2rem;
  height: 0.2rem;
  border-top: 0.1rem solid #b5002b;
  border-right: 0.1rem solid #b5002b;
  right: 0.8rem;
 }
 .purpose_splide .splide__arrow {
  width: 2.5rem;
  height: 2.5rem;
 }
 .purpose_splide .splide__arrow--prev {
  left: 0.5rem;
 }
 .purpose_splide .splide__arrow--next {
  right: 1rem;
 }
 .purpose_splide .splide__arrow svg {
  width: 1.2rem;
  height: 1.2rem;
 }


.purpose_btn {
 width: 24.2rem;
margin: 0 auto;
 margin-top:  5rem;
}
.purpose_btn a{
 font-size: 1.25rem;
 padding: 1.1rem 0;
 border-radius:2.5rem;
 border:.2rem #B5002B solid;
}
.purpose_btn a span {
 width:  .7rem;
 height: 1rem;
 right:  2.5rem;
}

}
