/* CSS Document */
#keyvisual{
    position: absolute;
    height: 100%;
    width: 100%;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%);
}
.sec__spirit__box__img.fadeIn.active {
    opacity: 1;
/*    animation: fadeInImg 1s;*/
	transition: cubic-bezier(.17,.67,.83,.67);
}
@keyframes fadeInImg {
    0% {
        opacity: 0;
        transform: translateX(-60px);
        transition-duration: 0s;
    }

    100% {
        opacity: 1;
        transform: translateX(0px);
        transition-duration: 1.2s;
    }
}

.bgFadeIn + #keyvisual .sec__spirit__episode__img{
    opacity: 1;
    transition: opacity 1.4s /*cubic-bezier(.17,.67,.83,.67)*/ ;
}
.bgFadeIn.active + #keyvisual .sec__spirit__episode__img{
    opacity: 0;
    /*animation: fadeOutImg 1.4s forwards;
	transition: cubic-bezier(.17,.67,.83,.67) ;*/
}
/*@keyframes fadeOutImg {
    0% {
        opacity: 1;
        transition-duration: 0s;
    }

    100% {
        opacity: 0;
        transition-duration: 1.5s;
    }
}*/

:root{
    --section-bg: #A56631;
    --circle-bg:#AE4D32;
    --circle-history:#E4764D;
}
.c_main{
    overflow: visible;
}

.sec__spirit__nendai__cont {
	background: var(--sub);
	position: relative;
	overflow: hidden;
	z-index: 0;
	transition: .5s;
	margin-top: 80px;
	padding-bottom: 6rem;
}
.change-color-on .sec__spirit__nendai__cont { /* class名change-color-on 付与時*/
	background: var(--main);
}
.sec__spirit__wrapper{
    /*background: var(--sub);*/
    /*background: var(--main);*/
    /*color: #fff;*/
	position: relative;
}
.sec__spirit__wrapper .vertical-bar {
	background-color: var(--circle-history);
	width: 1px;
	height: 0;
	position: absolute;
	top: 0;
	/*left: 53.45%;*/
	left: 33px;
	transform: translateX(-50%);
}

.sec__spirit__box__cap{
    margin-bottom: 40px;
	position: relative;
}

.sec__spirit__box__cap .text__big{
    font-size: 130%;
}
.sec__spirit__box__cap p{
    font-size: calc(14 / var(--root-font-size) * 1rem);
	padding-left: 2.7em;
}
.sec__spirit__box__cap p:not(:last-of-type){
    margin-bottom: 1.5em;
}
.section__title.page{
    margin-bottom: 60px;
}
.section__title.sub {
    position: relative;
	margin-top: 60px;
}
.section__title.sub .jp{
    font-family: "fot-rodin-pron", sans-serif;
    font-weight: 500;
	font-size: calc(20 / var(--root-font-size) * 1rem);

}
.section__title.sub .jp::before{
    content: none;
}
.section__title.sub .en{
    color: #A56631;
    font-size: calc(15 / var(--root-font-size) * 1rem);
    margin-top: 8px;
    font-family: "baskerville-urw", serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0px;
    display: block;
}
.sec__spirit__header .inner{
    position: relative;
    z-index: 1;
	padding: 10.625rem 24px 9rem;
    padding-top: 8rem;
}
.sec__spirit__contents{
    background: var(--sub);
   /* background: var(--main);*/
    position: relative;
	transition: .5s;
}
.sec__spirit__contents.change-color-on { /*class名change-color-on 付与時*/
	background: var(--main);
}
.sec__spirit__nendai__container{
	margin-bottom: 30px;
    position: sticky;
    top: 0;
    z-index: 1;
}
.sec__spirit__nendai__container::before{
    content: "";
    width: 100%;
    /*height: 320px;*/
    height: 260px;
    border-radius: 0 0 50% 50%;
    /*border-radius: 0 0 250px 250px;*/
    background: var(--main);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1;
	transition: .5s;
}
 .change-color-on .sec__spirit__nendai__container::before{ /*class名change-color-on 付与時*/
 	background: var(--sub);
 }

.sec__spirit__nendai__header{
    background: var(--main);
}
.sec__spirit__nendai__header .inner{
    padding: 0 24px;
    font-size: calc(15 / var(--root-font-size) * 1rem);
    width: 100%;
    margin: auto;
    position: relative;
    z-index: 2;
}
.sec__spirit__nendai__inner{
    position: relative;
    font-family: "baskerville-urw", serif;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
    height: 150px;
    overflow: hidden;
    text-align: center;

    padding: 20px;
    z-index: 1;
}
.sec__spirit__number{
    font-size: calc(50 / var(--root-font-size) * 1rem);
    line-height: 1.2;
}
.sec__spirit__number{
    position: absolute;
    left: 50%;
    top: 20px;
    opacity: 0;
    transform: translateX(-50%) scale(0.7);
    transition: all .8s ease;
}
.sec__spirit__number.active{
    /*top: 75px;*/
    top: 45px;
    transform: translateX(-50%) scale(1);
    opacity: 1;
}
.sec__spirit__nendai__episode{
    position: absolute;
    /*top: 60px;*/
    top: 30px;
    left: 100px;
}
.sec__spirit__nendai__episode::before{
	opacity: .7;
    content: "";
    position: absolute;
    top: 0;
    left: -8px;
    width: 20px;
    height: 20px;
    background: var(--circle-bg);
    border-radius: 50%;
    z-index: -1;
}
.sec__spirit__container{
    /*padding-top: 80px;*/
    padding-top: 0px;
    padding-bottom: 160px;
}
.sec__spirit__wrapper:last-of-type .sec__spirit__container {
	/*padding-bottom: 12.625rem;*/
	padding-bottom: 0;
}
.sec__spirit__box__cap__title{
    font-size: calc(18 / var(--root-font-size) * 1rem);
	line-height: 18px;
    margin-bottom: 20px;
	position: relative;
	z-index: 1;
}
.sec__spirit__box__cap__title::before{
    content: "●";
    /*color: var(--circle-history);*/
	color: #bfbfbf;
    margin-right: 1em;
}
.sec__spirit__box__cap__title .dot-change-color {
	color: var(--circle-history);
	transform: scale(1.1);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
.sec__spirit__box__img {
    padding-left: 2.6em;
}

.sec__spirit__episode{
    position: relative;
    color: #fff;
    padding: 100px 0;
}
.sec__spirit__episode p{
    font-size: calc(14 / var(--root-font-size) * 1rem);        
}
.sec__spirit__episode p .text__big{
    font-size: 130%;
}
.sec__spirit__episode p:not(:last-of-type){
    margin-bottom: 2em;
}
.sec__spirit__episode::before{
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(38, 38, 38, .6);
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.sec__spirit__episode__img,
.sec__spirit__episode__img__2{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.sec__spirit__episode__img{
    z-index: 2;
}
.sec__spirit__episode__img__2{
    z-index: 1;
}
.sec__spirit__episode__img img,
.sec__spirit__episode__img__2 img{
    height: 100%;
    object-fit: cover;
}
.sec__spirit__episode__container,
.sec__spirit__episode__container__2{
    position: relative;
    z-index: 4;
}
.sec__spirit__episode__container.inner , .sec__spirit__episode__container__2.inner {
	padding: 0rem 24px 4rem;
}
.footer__inner{
    margin-top: 0;
}
@media screen and (min-width: 768px) {
    .section__title.sub .jp{
        font-size: calc(30 / var(--root-font-size) * 1rem);
        margin-top: 1em;
		font-weight: 600;
    }
    .section__title.sub .en{
       font-size: calc(18 / var(--root-font-size) * 1rem);
    	margin-top: 15px;
    }
	.sec__spirit__nendai__header .inner {
    font-size: calc(18 / var(--root-font-size) * 1rem);
	}
	.sec__spirit__nendai__container::before{
    content: "";
    width: 100%;
    height: 400px;
	}
	.sec__spirit__nendai__inner {
    height: 180px;
	}
	.sec__spirit__nendai__episode {
    top: 85px;
	}
	.sec__spirit__number.active {
    top: 100px;
	}
	.sec__spirit__number {
    font-size: calc(55 / var(--root-font-size) * 1rem);
	}
    .sec__spirit__nendai__cont {
        padding-bottom: 12.625rem;
    }
	
	.sec__spirit__wrapper .vertical-bar {
    	left: 53.45%;
	}
	
    .sec__spirit__box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        flex-direction: row-reverse;
    }
    .sec__spirit__box__cap{
        width: 45%;
        margin-bottom: 0;
    }
    .sec__spirit__box__img{
        width: 45%;
    }
	.sec__spirit__box__cap__title{
    margin-bottom: 30px;
	}
    .section__title.sub{
		margin-top: 80px;
        display: inline-block;
    }
    .sec__spirit__nendai__container{
        margin-bottom: 100px;
    }
	
}

@media screen and (900px < width < 1200px )  {
	.sec__spirit__nendai__cont .vertical-bar{
		left: 53.15%;
	}
}

@media screen and (min-width: 1200px) {
	.sec__spirit__nendai__cont .vertical-bar{
		left: calc( 50% + 2.35em);
	}	
}

@media screen and (min-width: 1360px) {
    .sec__spirit__episode .inner{
        max-width: 800px;
    }
.sec__spirit__episode p{
    font-size: calc(16 / var(--root-font-size) * 1rem);        
}
}