@charset "UTF-8";

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light;tab-size:2;scrollbar-gutter:stable}:where(html:has(dialog:modal[open])){overflow:clip}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg,video){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem);text-wrap:balance}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(dialog){border:none;background:none;inset:unset;max-width:unset;max-height:unset}:where(dialog:not([open])){display:none!important}:where(:focus-visible){outline:3px solid CanvasText;box-shadow:0 0 0 5px Canvas;outline-offset:1px}:where(:focus-visible,:target){scroll-margin-block:8vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}
body {
    display: block;
    margin: 0px;
}
html,body, .content {
    width: 100%;
    height: 100%;
  }




.art01{
    background-color: #0E310E;   
}

.art02{
    background-color: #2C0708;   
}


.art03{
    background-color: #0E310E;   
}


.art04{
    background-color: #2C0708;   
}



h2{
    color:#000000;
    font-size: 2.5em;
    font-family:futura;
    background-color: #ffffff;
    border-top:solid 2px #000000;
    border-bottom:solid 2px #000000;
    text-align: center;
    height: 10%;
    font-weight: normal;
    display: grid;
    place-items: center;
    width:100%;
}

h2.fixed{
    position: fixed;/*fixedを設定して固定*/
    z-index: 999;/*最前面へ*/
    top:0;/*位置指定*/
    left:0;/*位置指定*/
}

.story{
    display: grid;
    align-items: center;   
}


.story__content{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    width: 80%;
    margin: 0 auto;
    align-items: end;
    -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.story__img{
    width: 40%;
}

.story__note{
    width: 50%; 
}

.story__note p{
    font-size: 0.9em;
    margin-top: 20px;
    line-height: 2;
}

.story_title{
    background-color: transparent;
    border-top:none;
    border-bottom:none;
    text-align: left;
    height: auto;
    font-weight: normal;
    display: block;
    width:100%;
    font-size: 4em;
}

.profile__content{
    width: 80%;
    margin: 0 auto;
    display: grid;
    align-items:center;
    margin-top: 50px;
}

.profile__content p{
    line-height: 2 ;
    font-size: 0.9em;
}

.profile__name h3{
    font-family:futura;
    font-size: 1.5em;
    margin-right: 15px;
    font-weight: normal;

}

.profile__name{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    margin-bottom: 20px;
    align-items: end;
}


.art__content{
    vertical-align: middle;
    display: flex;
    justify-content: center;
    align-items: center;
    height:calc(100vh - 10%);
    
}

.art__content h3{
    color:#ffffff;
    font-size: 2.2em;
    font-family:'Noto Sans JP',
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

.art__content__itemlink{
    cursor: pointer;
    background-color: #ffffff;
    display: block;
}

.art__content__itemlink img{
  transition: all 0.2s ease;
}

.art__content__itemlink:hover img{
    opacity: 0.7;
}
    

.art__01 {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    width: 80%;
    margin: 0 auto;
    -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    align-items: center;
}

.art__01 img{
    width:100%;
}

.art__01__imgblock{
    width: 40%;
}

.art__01__imglist__wrap{
    width: 55%;
}

.art__01__imglist{
    margin-top: 20px;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.art__01__imglist div{
    background-color: #ffffff;
    width:23%;
    padding:10px;
    display:flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
}

small {
    position: fixed;
    left: 20px;
    top: 30%;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

small {
    font-size: 80%;
}

/*========= ページネーションCSS ===============*/

.pagination {
	position:fixed;
	right:20px;
	top: 50%;
  	transform: translateY(-50%);
	font-size:1em;
	z-index: 10;
	list-style: none;
}

.pagination a {
	display:block;
	height:20px;
	margin-bottom:5px;
	color:#fff;
	position:relative;
	padding:4px;
}

.pagination a.active:after {
	box-shadow:inset 0 0 0 5px;
}

.pagination a .hover-text {
	position:absolute;
	right:15px;
	top:0;
	opacity:0;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	padding-right: 15px;
}

.pagination a:hover .hover-text {
	opacity: 1;
}

.pagination a:after {
	-webkit-transition:box-shadow 0.5s ease;
	transition:box-shadow 0.5s ease;
	width:10px;
	height:10px;
	display: block;
	border:1px solid;
	border-radius:50%;
	content:'';
	position: absolute;
	margin:auto;
	top:0;
	right:3px;
	bottom:0;
}

@media screen and (max-width:768px) { 
	.pagination a .hover-text{
		display: none;
	}

    .story__content{
        display: block;
        width: 90%;
    }
    .story__note{
        width: 100%;
        margin: 20px 0;
    }

    .story__note p{
        font-size: 0.8em;
    }

    .story__img{
        
    }
    .story__img img{
        height:35vh;
        display: block;
        margin:  0 auto;
    }
    .profile__content{
        width: 90%;
    }
    
    .profile__content p{
        line-height: 1.5;
        font-size: 0.8em;
    }

    .art__01{
        display: block;
    }
    
    .art__01__imgblock{
        width: 100%;
    }

    .art__01__imglist__wrap{
        width: 100%;
    }

    .art__01__imglist{
        width: 100%;
    }

    .art__content{
        height:calc(100svh - 10%);
    }

    .art__content h3{
        font-size: 1.5em;
        margin-top: 20px;
    }

    small{
        font-size: 50%;
    }

    #sns-icon{
        right:5px
    }
    .story_title{
        font-size:2em
    }

    .story__note p{
        line-height: 1.5;
    }

    .story__img{
        width: 80%;
        margin: 0 auto;
    }

    #video-area {
        position: relative;
        width: 100vw;
        height: 100svh;
    }
}



/* sns icon */
#sns-icon img{
    width: 20px;
}

#sns-icon{
    position: fixed;
    right:20px;
    bottom:20px;
    display: flex;
}

#sns-icon li{
     margin:0 10px;   
}

#sns-icon a{
    transition: all .5s;
}

#sns-icon a:hover{
    opacity: 0.7;
}

#video-area {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background-color: #000000;
}

#video-area > video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100vh;
}

.video-area {
    position: relative;
  }
  
  /* video */
  
  .video-box {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
  }
  .video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
 

  .btn_lang{
    position: fixed;
    top: 20px;
    right: 20px;
  }

  .btn_lang button{
    border: none;
    background-color: transparent;
    display: block;
    display: flex;
    align-items: center;
    color: #B5B5B5;
    gap: 5px;
  }

  /* モーダル。背景が黒、角丸、中央寄せ、ボタンを縦並び、タイトルあり、閉じるボタンが右上にある */
  .lang_modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    display: none;
    justify-content: center;
    align-items: center;
  }

  .lang_modal.active{
    display: flex;
  }


  .lang_modal__body{
    background-color: #000000;
    border-radius: 20px;
    border: solid 1px #707070;
    color: #C1C1C1;
    padding: 40px 30px 60px 30px;
    width: 630px;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    opacity: 0;
    transition: all ease 0.3s !important;
  }


  .lang_modal__body.active{
    opacity: 1;
  }

  .lang_modal__body__title{
    font-size: 27px;
    margin-bottom: 20px;
    width: 100%;
  }

  .lang_modal__body__buttons{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }

  .lang_modal__body__buttons__btn{
    background-color: #000000;
    color: #707070;
    border: solid 1px #707070;
    padding: 15px;
    text-decoration: none;
    font-size: 27px;
    transition: all ease 0.3s;
  }

  .lang_modal__body__buttons__btn:hover{
    background-color: #707070;
    color: #000000;
  }

  .lang_modal__body__close{
    position: absolute;
    top: -20px;
    right: -20px;
    color: #C1C1C1;
    cursor: pointer;
  }