@charset "utf-8";
/* Reset */
html{font-size: 62.5%;}
body{color: #000; word-spacing: 0; font-size: 1.4rem; line-height: 1.78; overflow-x: hidden;
font-family: "Noto Sans JP", sans-serif; font-weight: 500;
-webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; background: #EA9C28;}

body::-webkit-scrollbar:horizontal{display: none; height: 0; width: 0;}
body::-webkit-scrollbar{height: 0; width: 10px;}
body::-webkit-scrollbar-track{background: #ffffff;}
body::-webkit-scrollbar-thumb{background: #B6002A; border-radius: 10px;}

*{margin: 0; padding: 0; box-sizing: border-box; border: 0;}
h1, h2, h3, h4, h5, h6{font-size: 100%; font-weight: 600;}
ol, ul{list-style: none;}
table{border-collapse: collapse; border-spacing: 0;}
dt, th{text-align: left; font-weight: normal;}
a{color: inherit; text-decoration: none;}
img{vertical-align: bottom; max-width: 100%; height: auto;}
sup{font-size: 60%;}

@media screen and (min-width: 769px){
    a[href^="tel:"]{pointer-events: none;}
    .only-sp{display: none;}
}

@media screen and (max-width: 768px){
    .only-pc{display: none;}
}

/* Loading */
.loading{position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #6a020d; color: #fff; z-index: 9999; overflow: hidden; display: flex; justify-content: center; align-items: center; align-content: center; flex-wrap: wrap; text-align: center;}
.loading-logo{width: min(36vw,360px); line-height: 1;}

body.is-fixed{width: 100%; height: 100vh; overflow: hidden;}

@media screen and (max-width: 768px){
    .loading-logo{width: 50vw;}
}

/* SNS */
.sns{display: flex; justify-content: center; align-items: center;}
.sns a{margin: 0 15px; text-indent: -9999px; background: #B6002A;}
.sns a:hover{background: #EA9C28;}

.sns a.sns-x{width: 46px; height: 47px;
mask: url("../img/ic-x.svg") no-repeat top left/100% 100%;
-webkit-mask: url("../img/ic-x.svg") no-repeat top left/100% 100%;}

.sns a.sns-instagram{width: 49px; height: 49px;
mask: url("../img/ic-instagram.svg") no-repeat top left/100% 100%;
-webkit-mask: url("../img/ic-instagram.svg") no-repeat top left/100% 100%;}

.sns a.sns-youtube{width: 52px; height: 37px;
mask: url("../img/ic-youtube.svg") no-repeat top left/100% 100%;
-webkit-mask: url("../img/ic-youtube.svg") no-repeat top left/100% 100%;}

@media screen and (max-width: 768px){    
    .sns a{margin: 0 12px;}
    .sns a.sns-x{width: 33px; height: 34px;}
    .sns a.sns-instagram{width: 36px; height: 36px;}
    .sns a.sns-youtube{width: 38px; height: 28px;}
}

/* Header */
.btn-menu{position: fixed; top: 0; right: 0; width: 70px; height: 60px; border-radius: 0 0 0 20px; background: #1A1A1A; z-index: 101; cursor: pointer;}
.btn-menu:hover{background: #000;}
.btn-menu span{width: 22px; height: 2px; background: #fff; display: block; position: absolute; left: 24px; transition: .3s;}
.btn-menu span:nth-of-type(1){top: 19px;}
.btn-menu span:nth-of-type(2){top: 28px;}
.btn-menu span:nth-of-type(3){top: 37px;}

body.menu-open .btn-menu span:nth-of-type(1){top: 28px; transform: rotate(45deg);}
body.menu-open .btn-menu span:nth-of-type(2){display: none;}
body.menu-open .btn-menu span:nth-of-type(3){top: 28px; transform: rotate(-45deg);}

@media screen and (max-width: 768px){    
    .btn-menu{width: 50px; height: 45px; border-radius: 0 0 0 10px;}
    .btn-menu span{width: 20px; height: 1px; left: 15px;}
    .btn-menu span:nth-of-type(1){top: 12px;}
    .btn-menu span:nth-of-type(2){top: 21px;}
    .btn-menu span:nth-of-type(3){top: 30px;}
    
    body.menu-open .btn-menu span:nth-of-type(1){top: 21px;}
    body.menu-open .btn-menu span:nth-of-type(3){top: 21px;}
}

/* Menu */
.menu{position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow: auto; background: #887575; text-align: center; color: #fff; z-index: 100;}
.menu-wrap{padding: 80px 0;}
.menu-logo{margin: 0 0 40px; opacity: 0; transition: 0.7s 0.3s;}
body.menu-open .menu-logo{opacity: 1;}

.menu-list{margin: 0 0 60px;}
.menu-list a{font-size: 3rem; line-height: 2; letter-spacing: 0.15em; font-weight: 400; font-family: "Tai Heritage Pro", serif;}
.menu-list a:hover{color: #B6002A;}

.menu-sns{margin: 0 0 40px;}
.menu-sns a{background: #fff;}
.menu-sns a:hover{background: #B6002A;}

/* Menu Animation */
.menu{pointer-events: none; visibility: hidden; opacity: 0; transition: 0.5s;}
.menu-list{opacity: 0; transform: translateY(30px); transition: 0.7s 0.4s;}
.menu-sns{opacity: 0; transform: translateY(30px); transition: 0.7s 0.5s;}
.menu-img{opacity: 0; transform: translateY(30px); transition: 0.7s 0.6s;}

body.menu-open .menu{pointer-events: auto; visibility: visible; opacity: 1;}
body.menu-open .menu-list{opacity: 1; transform: translateY(0);}
body.menu-open .menu-sns{opacity: 1; transform: translateY(0);}
body.menu-open .menu-img{opacity: 1; transform: translateY(0);}

@media screen and (max-width: 768px){
    .menu-wrap{padding: 40px 0;}
    .menu-logo{width: 206px; margin: 0 auto 30px;}
    .menu-list{margin: 0 0 40px;}
    .menu-list a{font-size: 2rem; line-height: 2.5; letter-spacing: 0.1em;}    
    .menu-sns{margin: 0 0 30px;}
    .menu-img{width: 68px; margin: 0 auto;}
}

/* Main */
.main{background: #fff; padding-bottom: 1px;}
.m-title{text-align: center; margin: 0 0 50px;}
.m-title span{display: inline-block; font-size: 4.4rem; line-height: 0.8; font-family: "Tai Heritage Pro", serif; font-weight: 400; color: #B6002A; padding: 0 0 23px; position: relative; min-width: 370px;}
.m-title span::after{content: ""; width: 0; height: 5px; display: block; position: absolute; left: 50%; bottom: 0;
transform: translateX(-50%); transition: 1s .1s;
border-bottom: 1px solid #B6002A; border-top: 1px solid #B6002A;}

.m-title.is-view span{letter-spacing: 0.1em;}
.m-title.is-view span::after{width: 100%;}

.m-title[data-color="white"] span{color: #fff;}
.m-title[data-color="white"] span::after{border-bottom: 1px solid #fff; border-top: 1px solid #fff;}

.m-desc{font-size: 1.8rem; line-height: 1.78; letter-spacing: 0.15em;}
.m-desc sup{font-size: 60%;}
.cap{font-size: 1rem; line-height: 1.5; letter-spacing: 0.05em;}

@media screen and (max-width: 768px){
    .m-title{margin: 0 0 40px;}
    .m-title span{font-size: 2.8rem; min-width: 240px; padding: 0 0 15px;}
    .m-title span::after{height: 3px;}
    
    .m-desc{font-size: 1.6rem; line-height: 1.75; letter-spacing: 0.1em;}
}

/* MV */
h1.logo{position: absolute; top: 45px; left: 120px; width: 120px; z-index: 3;}

.mv{position: relative; width: 100%; height: 100vh; min-height: 100dvh; overflow: hidden; line-height: 1; background: #6a020d;}
.mv-img{position: absolute; top: 0; left: 0; width: 100%; height: 100%;
background-size: cover;
background-repeat: no-repeat;
background-position: bottom center;}

.mv-img1{z-index: 1; background-image: url("../img/mv-01.webp");}
.mv-img2{z-index: 2; background-image: url("../img/mv-02.webp");
opacity: 0; transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);}
.mv-img2.is-show{opacity: 1;}

.mv-tit{width: 80%; position: absolute; bottom: 32vw; height: calc(100vh - 32vw); left: 0; right: 0; margin: 0 auto; z-index: 3;
display: flex; justify-content: center; align-items: center; align-content: center;}

.mv-tit span{width: 100%; background: url("../img/mv-tit.webp") no-repeat top left/100% auto; text-indent: -9999px; display: block;}
.mv-tit span::after{content: ""; display: block; padding-bottom: 16.1%;}

.mv-tit{opacity: 0; transform: translateY(30%); -webkit-transform: translateY(30%); transition: 0.8s cubic-bezier(0.33, 1, 0.68, 1);}
.mv-tit.is-show{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0);}

.mv-logo{width: 220px; position: absolute; bottom: 25px; right: 8.3%; z-index: 3;
opacity: 0; transform: translateY(30%); -webkit-transform: translateY(30%);}
.mv-logo.is-show{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0);
transition: 0.8s cubic-bezier(0.33, 1, 0.68, 1) 0.5s;}

.mv-scroll{position: absolute; bottom: 0; right: 40px; display: flex; z-index: 4;}
.mv-scroll_bar{position: relative; width: 1px; height: 160px; background: #fff3; margin: 0 13px 0 0; order: -1;}
.mv-scroll_bar::before{content: ""; position: absolute; bottom: 0; left: 0; width: 1px; height: 100%; background: #fff;
-webkit-animation: mvScroll 2s infinite; animation: mvScroll 2s infinite;}
.mv-scroll_txt{font-size: 1.2rem; line-height: 1.33; letter-spacing: 0.1em; font-weight: 400; color: #fff; font-family: "Tai Heritage Pro", serif;
mix-blend-mode: difference; writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl;}

@keyframes mvScroll {
    0% {
        -webkit-transform: scale(1,0);
        transform: scaleY(0);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0;
    }
    50% {
        -webkit-transform: scale(1,1);
        transform: scale(1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0;
    }
    51% {
        -webkit-transform: scale(1,1);
        transform: scale(1);
        -webkit-transform-origin: 0 100%;
        transform-origin: 0 100%;
    }
    100% {
        -webkit-transform: scale(1,0);
        transform: scaleY(0);
        -webkit-transform-origin: 0 100%;
        transform-origin: 0 100%;
    }
}

@media screen and (max-width: 1400px){
    h1.logo{left: 50px;}
    
    .mv-logo{right: 70px;}
    
    .mv-scroll{right: 15px;}
}

@media screen and (max-width: 768px){
    h1.logo{top: 20px; left: 25px; width: 90px;}
}

@media screen and (max-width: 768px) and (orientation: portrait) {    
    .mv-img{background-size: 100% auto;}
    .mv-img1{background-image: url("../img/mv-01_sp.webp");}
    .mv-img2{background-image: url("../img/mv-02_sp.webp");}
    
    .mv-inner{position: absolute; top: 50px; bottom: 75vw; left: 0; width: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-content: center; align-items: center;}
    
    .mv-tit{width: 78.6%; top: auto; height: auto; position: static; margin: 0 auto; display: block;}
    .mv-tit span{background: url("../img/mv-tit_sp.webp") no-repeat top left/100% auto;}
    .mv-tit span::after{padding-bottom: 48.9%;}
    
    .mv-logo{width: 58.667%; margin: 0 auto; position: static;}
    .mv-logo img{width: 100%;}
    
    .mv-scroll{display: block; bottom: 63vw;}
    .mv-scroll_bar{height: 66px; margin: 10px 0 0 4px;}
    .mv-scroll_txt{font-size: 1rem;}
}

/* Message */
.message{background: #C7914C; color: #fff; padding: 65px 0 0 0; position: relative; text-align: center; z-index: 1; overflow: hidden;}
.message::after{content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 148px; z-index: -1; border-radius: 50px 50px 0 0; background: rgba(255, 255, 255, 0.3);}

.message-left,
.message-right{position: absolute; top: 220px; color: #fff; opacity: 0.4; font-family: "Tai Heritage Pro", serif; font-size: 6rem; line-height: 0.8; font-weight: 400; letter-spacing: 0.1em;}

.message-left{left: min(6vw,125px); -webkit-writing-mode: sideways-lr; writing-mode: sideways-lr;}
.message-right{right: min(6vw,125px); -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl;}

.message-logo{margin: 0 auto 20px; line-height: 1;}

.message-tit{margin: 0 0 30px;}
.message-tit span{display: inline-block; font-size: 4.4rem; letter-spacing: 0.1em; line-height: 0.8; font-family: "Tai Heritage Pro", serif; font-weight: 400; padding: 30px 10px 25px; position: relative;}
.message-tit span::before,
.message-tit span::after{content: ""; width: 0; height: 5px; display: block; position: absolute; left: 50%; border-top: 1px solid #fff; border-bottom: 1px solid #fff; transform: translateX(-50%); transition: 1s;}
.message-tit span::before{top: 0;}
.message-tit span::after{bottom: 0;}

.message-tit.is-view span::before,
.message-tit.is-view span::after{width: 100%;}
    
.message-txt{margin: 0 0 45px;}
.message-txt .cap{margin: 30px 0 0 0;}

.message-egg{margin: 0 0 50px;}

.message-img{line-height: 1; padding: 0 25px;}
.message-img_txt{margin: 0 0 10px;}

.message-img_txt{opacity: 0; transform: translateY(100%); -webkit-transform: translateY(100%);
transition: opacity .5s .8s, transform .5s .8s;}
.message-img_char{opacity: 0; transform: translateY(100%); -webkit-transform: translateY(100%);
transition: opacity .5s .3s, transform .5s .3s;}

.message-img.is-view .message-img_txt,
.message-img.is-view .message-img_char{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0);}

@media screen and (max-width: 768px){
    .message{padding: 45px 0 0 0;}
    .message::after{height: 138px; border-radius: 30px 30px 0 0;}
    
    .message-logo{width: 220px;}
    
    .message-tit span{font-size: min(7.5vw,2.8rem); padding: 20px 8px 15px;}
    .message-tit span::before,
    .message-tit span::after{height: 3px;}
    
    .message-txt{margin: 0 0 40px;}
    .message-txt .cap{margin: 15px 0 0 0;}
    
    .message-egg{width: 130px; margin: 0 auto 40px;}
    .message-img_txt{max-width: 320px; margin: 0 auto 10px;}
    .message-img_char{max-width: 270px; margin: 0 auto;}
}

/* Package */
.package{background: #B6002A; color: #fff; text-align: center; padding: 85px 0 65px;}
.package-img{margin: 0 0 28px;}

@media screen and (max-width: 768px){
    .package{padding: 60px 0;}
    .package-img{width: 250px; margin: 0 auto 25px;}
}

/* Marquee */
.marquee{background: #C7914C; padding: 17px 0; overflow: hidden; width: 100%; position: relative; line-height: 1;}
.marquee-wrap{display: flex;} 
.marquee-txt{display: flex; height: 86px; width: 2595px;
-webkit-animation: marqueeLoop 30s infinite linear both;
animation: marqueeLoop 30s infinite linear both;}
.marquee-txt li{height: 86px; width: 865px;}

@keyframes marqueeLoop {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@media screen and (max-width: 768px){
    .marquee{padding: 15px 0;}
    .marquee-txt{height: 51px; width: 1539px;}
    .marquee-txt li{height: 51px; width: 513px;}
}

/* Movie */
.movie{padding: 100px 25px 35px;}
.movie-box{margin: 0 0 90px;}
.movie-ifr{max-width: 1024px; width: 100%; margin: 0 auto; line-height: 1; position: relative;}
.movie-ifr::after{content: ""; display: block; padding-bottom: 56.25%;}
.movie-ifr iframe{position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.movie-overlay{position: absolute; inset: 0; z-index: 1;}
.movie-overlay.is-active {pointer-events: none;}
.movie-tit{text-align: center; margin: 55px auto 0; width: 360px; height: 50px; border-radius: 25px; background: #B6002A; color: #fff; font-size: 2.2rem; line-height: 1.6; padding: 7px 0; font-weight: 600; letter-spacing: 0.1em;}

@media screen and (max-width: 768px){
    .movie{padding: 60px 25px 20px;}
    .movie-box{margin: 0 0 50px;}
    .movie-tit{width: 230px; height: 34px; border-radius: 34px; font-size: 1.6rem; letter-spacing: 0.05em; padding: 3px 0; margin: 25px auto 0;} 
}

/* Profile */
.profile{max-width: 1200px; width: 100%; margin: 0 auto; border-radius: 30px 30px 0 0; background: #B6002A; color: #fff; position: relative; overflow: hidden;}
.profile-img{position: absolute; bottom: 0; right: 0; width: 36%; line-height: 1;
opacity: 0; transform: translate3d(100%,100%,0); transition: 1s .1s;}
.profile.is-view .profile-img{opacity: 1; transform: translate3d(0,0,0);}

.profile-outer{padding: 80px 38% 90px 5%;}
.profile-inner{max-width: 495px; width: 100%; margin: 0 auto;}
.profile-tit{margin: 0 0 30px; font-size: 3.4rem; line-height: 0.8; font-family: "Tai Heritage Pro", serif; font-weight: 400; padding: 0 0 23px; position: relative; transition: 1s .1s;}
.profile-tit::after{content: ""; width: 0; height: 5px; display: block; position: absolute; left: 0; bottom: 0;
border-bottom: 1px solid #fff; border-top: 1px solid #fff; transition: 1s .1s;}

.profile-tit.is-view{letter-spacing: 0.2em;}
.profile-tit.is-view::after{width: 100%;}

.profile-name{font-size: 2.6rem; font-weight: 600; font-family: "Noto Serif JP", serif; line-height: 1.35; letter-spacing: 0.1em; margin: 0 0 10px;}
.profile-txt{font-size: 1.4rem; line-height: 2.28; letter-spacing: 0.1em;}

@media screen and (max-width: 768px){    
    .profile-img{width: 220px; transition: .5s .7s;}
    .profile-outer{padding: 40px 25px 255px;}
    .profile-inner{max-width: 768px;}
    .profile-tit{font-size: 3rem; text-align: center; margin: 0 0 25px; padding: 0 0 15px;}
    .profile-tit::after{height: 3px;}
    .profile-tit.is-view{letter-spacing: 0.15em;}
    
    .profile-name{font-size: 2.4rem;}
    .profile-txt{line-height: 1.78;}
}

/* History */
.history{padding: 100px 0 0;}
.history-wrap{border-radius: 50px 50px 0 0; background: #F1EDE5; overflow: hidden; padding: 35px 25px 0;}
.history-cont{max-width: 1200px; margin: 0 auto; width: 100%; position: relative;}

@media screen and (max-width: 768px){
    .history{padding: 60px 0 0;}
    .history-wrap{border-radius: 30px 30px 0 0; padding: 16px 25px 0;}
}

.history-label{position: absolute; top: 325px; left: 0; display: flex; justify-content: flex-end; align-items: center; width: 1em; height: calc(100% - 360px); font-size: 4.4rem; line-height: 0.8; font-weight: 400; letter-spacing: 0.1em; color: #fff; font-family: "Tai Heritage Pro", serif; opacity: .8; -webkit-writing-mode: sideways-lr; writing-mode: sideways-lr;}
.history-label li::after{content: ""; margin: 80px 0; width: 10px; height: 10px; border-radius: 100%; display: inline-block; background: #fff; position: relative; left: -10px;}
.history-label li:last-of-type::after{display: none;}

@media screen and (max-width: 1000px){
    .history-label{left: -10px;}
}

@media screen and (max-width: 768px){
    .history-label{display: none;}
}

.history-list{position: relative; width: 100%; max-width: 1136px; margin: 0 auto 40px; z-index: 1; padding: 18px 0 0; font-weight: 600; line-height: 1.6; color: #333;}
.history-list::before{content: ""; position: absolute; left: 50%; top: 0; height: 100%; width: 30px; border-radius: 30px 30px 0 0; transform: translateX(-50%); display: block; background: #fff;}

@media screen and (max-width: 768px){
    .history-list{padding: 48px 0 0; margin: 0 auto 30px;}
    .history-list::before{width: 26px;}
}

.history-row{display: flex; justify-content: flex-end; position: relative; width: 100%; margin: 0 0 24px;}
.history-row.d-center{justify-content: center;}
.history-row.d-start{justify-content: flex-start;}

.history-colL{width: 325px; position: absolute; left: 80px; z-index: 1; background: #fff; border-radius: 5px; border-top: 6px solid #B6002A;}
.history-colL .inner{padding: 20px 30px; text-align: right;}

.history-colL .line{position: absolute; top: 50%; left: 100%; margin-top: -1px; width: 176px; height: 2px; background: #B6002A; display: block; z-index: 0;}
.history-colL .line::before{content: ""; display: block; width: 26px; height: 26px; border-radius: 50%; background: #B6002A; position: absolute; top: 50%; right: 0; transform: translateY(-50%);}

.history-colR{width: 405px; background: #fff; border-radius: 5px; border-top: 6px solid #C7914C; position: relative;}
.history-colR.noBorder{border-top: none;}

.history-colR .inner{padding: 15px 30px 20px;}
.history-colR .line{position: absolute; top: 40px; right: 100%; width: 176px; height: 2px; background: #C7914C; display: block; z-index: 0;}
.history-colR .line::before{content: ""; display: block; width: 26px; height: 26px; border-radius: 50%; background: #C7914C; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}

.history-list .year-big{position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; width: 174px; height: 50px; color: #fff; border-radius: 100px; background: #B6002A; text-align: center; font-size: 4.2rem; line-height: 1.3; font-family: "Tai Heritage Pro", serif; letter-spacing: 0.05em; font-weight: 400; z-index: 2;
opacity: 0; visibility: hidden; transform: translateY(100px); transition: opacity 600ms,visibility 600ms,transform 600ms;}
.history-list .year-big.is-view{opacity: 1; visibility: visible; transform: translateY(0);}

.history-list .head{background: #C7914C; color: #fff; text-align: center; font-size: 2rem; line-height: 1.2; letter-spacing: 0.05em; padding: 12px 0; border-radius: 5px 5px 0 0; overflow: hidden; margin: 0 0 12px;}

.history-list .year{font-size: 3rem; line-height: 1.1; font-weight: 400; letter-spacing: 0.05em; font-family: "Tai Heritage Pro", serif; color: #B6002A;}
.history-list .tit{font-size: 1.8rem; line-height: 1.34; letter-spacing: 0.05em; color: #B6002A; margin: 0 0 7px;}

.history-list .img-head{text-align: center; margin: 0 0 15px;}
.history-list .img-head2{text-align: center; margin: 5px 0 15px;}
.history-list .img-bot{text-align: center; margin: 15px 0 0;}

.history-list .list li:not(:last-of-type){border-bottom: 2px dashed #B6002A; padding: 0 0 18px; margin: 0 0 18px;}

.history-list .txt{font-size: 1.6rem; line-height: 1.5; letter-spacing: 0.05em; margin: 2px 0 0 0;}
.history-list .cap{font-size: 1rem; line-height: 1.8; margin: 7px 0 0 0;}

#his1976-2 .line::before{display: none;}
#his1998 .txt span{display: inline-block;}
#his2004 .line::before{display: none;}

.history-colL,
.history-colR{opacity: 0; visibility: hidden; transform: translateY(100px); transition: opacity 600ms,visibility 600ms,transform 600ms;}

.history-colL.is-view,
.history-colR.is-view{opacity: 1; visibility: visible; transform: translateY(0);}

.history-colL .line,
.history-colR .line{opacity: 0; transition: opacity 400ms 300ms;}

.history-colL.is-view .line,
.history-colR.is-view .line{opacity: 1;}

@media screen and (min-width: 769px){
    #his1976 .line{top: 23px;}
    #his1976-2 .line{top: 17px;}

    #his1982{margin-top: -22px;}

    #his1984{margin-top: 98px;}
    #his1984 .inner{padding-bottom: 15px;}
    #his1984 .line{top: 105px;}

    #his1987 .txt{letter-spacing: 0.02em;}

    #his1993-inner{display: flex; justify-content: space-between;}
    #his1993-cont{width: 70%;}
    #his1993-img{width: 23%;}

    #his1996{top: 6px}
    #his1996 .line{top: 100px;}
    #his1998{margin: 0;}

    #his2004{padding: 0 0 80px;}
    #his2004 .year-big{position: static;}
    #his2004 .history-colL{top: auto; bottom: 0;}
    #his2004 .line{top: auto; bottom: 104px; margin: 0;}

    #his2008{position: relative;}
    #his2008 .inner{padding-top: 30px;}
    #his2008 .img-head{margin: 0;}    
    #his2008 .txts{margin: 0 -5px;}
    
    #his2010{position: absolute; right: 0; top: -60px;}

    #his2012{position: relative;}
    #his2012 .img-head{margin: 0;}

    #his2016{position: relative;}

    #his2020{position: relative;}

    #his2024{position: absolute; right: 0; bottom: 0;}
    #his2024 .line{top: auto; bottom: 77px;}
    #his2024 .img-bot{margin-bottom: 8px;}

    #his2025R{margin: 0;}
}

@media screen and (max-width: 1100px) and (min-width: 769px){
    .history-colR{width: 36.8182%;}
    .history-colR .line{width: calc(30% + 28px);}
    .history-colR .inner{padding: 10px 20px 20px;}

    .history-colL{width: 29.5455%; left: 7.273%;}
    .history-colL .line{width: calc(38% + 28px);}
    .history-colL .inner{padding: 20px 20px;}

    .history-list .year-big{width: 16%; font-size: 3.8vw; display: flex; justify-content: center; align-items: center;}
}

@media screen and (max-width: 768px){
    .history-row{margin: 0; display: block;}
    
    .history-colR{width: 100%; margin: 0 0 52px;}
    .history-colR .inner{padding: 15px 25px 20px;}
    .history-colR .line{top: -41px; right: 50%; height: 35px; width: 2px; margin-right: -1px;}
    .history-colR .line::before{width: 20px; height: 20px; top: 0; left: 50%; transform: translateX(-50%);}

    .history-colL{width: 100%; position: relative; left: auto; margin: 0 0 52px;}
    .history-colL .inner{padding: 20px 25px; text-align: left; width: 100%; display: flex; flex-wrap: wrap;}
    .history-colL .txts{font-size: 1.6rem;}
    .history-colL .cont{width: 100%; order: -1;}
    .history-colL .img-head{width: 100%; margin: 15px 0 0 0;}
    .history-colL .line{top: -41px; left: 50%; height: 35px; width: 2px; margin: 0 0 0 -1px;}
    .history-colL .line::before{width: 20px; height: 20px; top: 0; right: auto; left: 50%; transform: translateX(-50%);}

    .history-list .year-big{position: static; margin: 0 auto 16px;}
    .history-list .head{font-size: 1.8rem; line-height: 1.34; padding: 10px 0;}
    
    #his1951{margin-bottom: 16px;}
    
    #his1976{margin-bottom: 26px;}
    #his1976 .line{top: -16px; height: 16px; background: #B6002A;}
    #his1976 .line::before{display: none;}

    #his1976-2 .img-head{order: -2; margin: 0 0 15px;}
    #his1976-2 .line{top: -32px; height: 26px;}    

    #his1993-img{text-align: center; margin: 12px 0 0 0;}
}

#his2026{max-width: 688px; border-radius: 5px; background: #C7914C; margin: 65px auto 0; padding: 55px 20px 40px; text-align: center; position: relative; z-index: 4; color: #fff;}
#his2026 .year-big{margin-top: -25px; position: absolute;}
#his2026-txt{font-size: 1.8rem; line-height: 1.78; letter-spacing: 0.1em; font-weight: 600; margin: 0 0 35px;}
#his2026-img{margin: 0 0 23px;}

@media screen and (max-width: 768px){
    #his2026{padding: 55px 10px 20px;}
    #his2026-txt{font-size: 1.6rem; line-height: 1.62; margin: 0 0 15px;}
    #his2026-img{width: 210px; margin: 0 auto 15px;}
    #his2026-logo{width: 210px; margin: 0 auto;}
}

.history-char{text-align: center; line-height: 1;}

@media screen and (max-width: 768px){
    .history-char img{width: 232px;}
}

/* SNS */
.sns-bot{margin: 65px 0;}

@media screen and (max-width: 768px){
    .sns-bot{margin: 45px 0;}
}

/* Pagetop */
#pagetop{position: fixed; bottom: 20px; right: 20px; width: 54px; line-height: 1; z-index: 90; cursor: pointer; 
opacity: 0; visibility: hidden; pointer-events: none; transition: .4s;}
#pagetop.is-show{opacity: 1; visibility: visible; pointer-events: auto;}

@media screen and (min-width: 769px){
    #pagetop:hover{transform: scale(1.05) translateY(-10px); }
}

@media screen and (max-width: 768px){
    #pagetop{width: 48px; bottom: 40px; right: 10px;}
}

/* Footer */
.footer{background: #B6002A; color: #fff; text-align: center; padding: 25px 0 50px; line-height: 1;}
.footer-yodoran{margin: 0 0 15px;}
.copyright{margin: 35px 0 0 0; font-size: 1.2rem; letter-spacing: 0.1em; font-weight: 400; font-family: "Inter", sans-serif;}

@media screen and (max-width: 768px){
    .footer{padding: 30px 0;}
    .footer-yodoran{margin: 0 auto 10px; width: 180px;}
    .footer-nosan{width: 96px; margin: 0 auto;}
    .copyright{font-size: 1rem; letter-spacing: 0.05em; margin: 25px 0 0 0;}
}

/* Inview */
@media screen {
    .fade-in{opacity: 0; transition: opacity 1s .1s;}
    .fade-in.is-view{opacity: 1;}

    .fade-up{opacity: 0; transform: translateY(50px); -webkit-transform: translateY(50px);
    transition: opacity 1s .1s, transform 1s .1s; transform-origin: top;}
    .fade-up.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0);}

    .fade-up-med{opacity: 0; transform: translateY(50%); -webkit-transform: translateY(50%);
    transition: opacity 1s .1s, transform 1s .1s;}
    .fade-up-med.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0);}

    .fade-up-big{opacity: 0; transform: translateY(50%); -webkit-transform: translateY(50%);
    transition: opacity 1s .1s, transform 1s .1s;}
    .fade-up-big.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0);}
}