@charset "utf-8";
/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 

 ■■■  ■                    ■                   
■     ■                    ■                   
■    ■■■■ ■ ■ ■   ■   ■■■ ■■■■ ■   ■  ■ ■  ■■■ 
 ■■   ■   ■■  ■   ■  ■■ ■  ■   ■   ■  ■■  ■  ■ 
  ■■■ ■   ■   ■   ■  ■     ■   ■   ■  ■   ■   ■
    ■ ■   ■   ■   ■  ■     ■   ■   ■  ■   ■■■■■
■   ■ ■   ■   ■  ■■  ■■    ■   ■  ■■  ■   ■    
■■■■  ■■  ■    ■■ ■   ■■■  ■■   ■■ ■  ■    ■■■ 

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* ---- Structure ---- */
html,body{ min-height:100%; position: relative; }
body{ color: #5e1c1c; background:#fff; }
body{ font-family: YakuHanMPs, "Noto Serif JP", serif; font-optical-sizing: auto; }
.fnt-bsc{font-family: YakuHanMPs, "Noto Serif JP", serif; font-optical-sizing: auto;}
.fnt-bsc.noyh{font-family: "Noto Serif JP", serif; font-optical-sizing: auto;}
.fnt-dsp1{ font-family: "Noto Sans JP", sans-serif; font-weight: 100; font-optical-sizing: auto; }
.fnt-ac0{ color:#5e1c1c; }
.fnt-ac1{ color:#ed3657; }
.fnt-ac2{ color:#41ad00; }
.fnt-ac3{ color:#ff7e28; }
.fnt-ac4{ color:#ff3728; }

header,article,section,footer{ position: relative; width: 100%; display: block; }
.lo-part,.lo-cont{ position: relative; width: 100%; display: block; }

.part-background{ position: absolute; width: 100%; min-height:100%; overflow: hidden; }
.part-foreground{ position: absolute; width: 100%; min-height:100%; overflow: hidden; z-index: 999; pointer-events: none; }
.part-header{ position: relative; z-index: 500; }
.part-body{ position: relative; }
.part-footer{ position: relative; }

/* lazyestload */
img { transition: filter 0.3s;}
img.lazyestload { width: 100%; filter: blur(8px);}

/* background */
#Background  > div{ width: 100%; min-height: 100%; position: absolute; top:0; pointer-events: none; }


/* foreground */
#Foreground  > div{ width: 100%; min-height: 100%; position: absolute; top:0; pointer-events: none; }
#Foreground .flw-pink{ width: 100%; height: 100vh; background-color: transparent; background-image: url(''); background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; position: fixed; pointer-events: none;  z-index: 2; }
#Foreground .flw-yellow{ width: 100%; height: 100vh; background-color: transparent; background-image: url(''); background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; position: fixed; pointer-events: none;  z-index: 2; }
#Foreground .flw-m-pink{ width: 100%; height: 100vh; background-color: transparent; background-image: url(''); background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; position: fixed; pointer-events: none;  z-index: 2; }
#Foreground .flw-m-yellow{ width: 100%; height: 100vh; background-color: transparent; background-image: url(''); background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; position: fixed; pointer-events: none;  z-index: 2; }


/* header */
.part-header{ width: 100%; height: 100%; padding-top: 3em; position: fixed; pointer-events: none; background-color: rgba(94, 28, 28, 0); background-size: calc(58/3000*100em); transition: all .3s ease-out 0s; }
.cont-global-navi{ width: calc(2000/3000*100em); position: relative; padding: 5em 0; margin: 0 auto; background: url("../images/common/ptn-w1.webp") repeat center top; background-size: calc(58/3000*100em); border-radius: 3em; }

.global-logo{ width: calc(367/3000*100em); margin: 0 auto 3em auto; padding: 0; position: relative;  }
.global-logo a{ display: inline-block; pointer-events: auto; position: relative; transition: transform .1s ease-out 0s; }
.global-logo a:hover{ transform: scale(1.1);}

.global-navi{ width: 100%; margin: 0 auto; position: relative; }
.global-navi > ul{ display: flex; flex-wrap: wrap; justify-content: center; flex-direction: column; list-style-type: none; padding: 0; margin: 0; position: relative; }
.global-navi > ul > li{ display: block; padding: 0 ; margin: 0 0 1.25em 0; position: relative; text-align: center; filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.1));}
.global-navi > ul > li a{ padding: 0; display: inline-block; line-height: 1; position: relative; pointer-events: all; text-decoration: none; transition: transform .1s ease-out 0s; }
.global-navi > ul > li a .label-e{ display: block; font-size: 3.0em; padding-bottom:.1em; font-weight: 100; letter-spacing: .1em; color: #000; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; }
.global-navi > ul > li a .label{ display: block; font-size: 1.2em; color: #5e1c1c; letter-spacing: .1em; }
.global-navi > ul > li a:hover{ transform: scale(1.1);}
.global-navi > ul > li.crt a{ opacity: 1; pointer-events: none; background-position-x: calc(600/3000*100em*-1); }

.global-navi > ul > li a::before{ content:""; display: block; width: calc(3.7em*0.9); height: calc(3.2em*0.9); background: url("../images/flw/l-p.webp") no-repeat center center; background-size: contain; position: absolute; top:.2em; left:-3.7em; pointer-events: none; }



.cont-global-navi{ display: none; }

.cont-sp-btn{ display: block; color:#000; width: calc(160/3000*100em); position: absolute; top:3.4em; right:7.1em; z-index: 2; pointer-events: all; }
.cont-sp-btn a{ display: block; line-height: 0; text-decoration: none; }
.cont-sp-btn .sp-navi-open{ display: block; }
.cont-sp-btn .sp-navi-close{ display: none; }
.spmenu-on .cont-sp-btn .sp-navi-open{ display: none; }
.spmenu-on .cont-sp-btn .sp-navi-close{ display: block; }

.spmenu-on .cont-global-navi{ display: block; }
.spmenu-on .part-header{ background: rgba(94, 28, 28, 1) url("../images/common/ptn-r1.webp") repeat center top; pointer-events: auto; }



/* body */
.part-body{ position: relative; display: block; margin: 0; }
.part-body-side{ display: none; }
.part-body-main{ position: relative; width: 100%; }

.cont-upper{ position: relative; }
.sub-page .cont-upper{ padding: 2em 0 2em 0; background: url("../images/common/ptn-w1.webp") repeat center top; background-size: calc(58/3000*100em); }
.sub-page .sub-logo{ width: calc(473/3000*100em); margin: 0 auto 2em auto; padding: 0; position: relative; }

.cont-middle{ position: relative; }
.sub-page .cont-middle{ background: rgba(94, 28, 28, 1) url("../images/common/ptn-r1.webp") repeat center top; background-size: calc(58/3000*100em); }

.cont-bottom{ position: relative; }

.cont-top-content > .inner{ padding: 0; margin: 0 auto;}
.cont-sub-content > .inner{ width: calc(2360/3000*100%); padding: 3em 0 2em 0; margin: 0 auto;}

.top-subtitle{ font-size: 1em; width: calc(1000/3000*100em); margin: 0 auto; z-index: 2; position: relative; }
.sub-subtitle{ font-size: 1em; width: calc(1000/3000*100em); margin: 0 auto; z-index: 2; position: relative; }

.block-title{ font-size: 1em; width: calc(350/3000*100em); margin: 0 auto 2em auto; z-index: 2; position: relative; }

.sub-content-container{  }

.cont-cat-navi{ width: 100%; position: relative; margin: 0 auto 3em auto; padding: .5em 0;}
.cat-navi{ width: 100%; margin: 0; position: relative; }
.cat-navi > ul{ display: flex; flex-wrap: wrap; justify-content: center; flex-direction: row; list-style-type: none; padding: 0; margin: 0; position: relative; }
.cat-navi > ul > li{ display: block; padding: .25em ; margin: .5em ; letter-spacing: .1em; line-height: 1; position: relative; background-color: #000;}
.cat-navi > ul > li.sep{ width: 100%; height: 1px; margin: 0 ; }
.cat-navi > ul > li a{ color: #FFF; padding: .5em ; text-decoration: none; position: relative; display: block; pointer-events: auto; border-radius: 0;  border:#FFF solid 1px; }
.cat-navi > ul > li a .label{ padding: 0 1em 0 1em; font-size: 1.1em; font-weight: normal; position: relative; }
.cat-navi > ul > li a:hover{ text-decoration: none; color: #e60000; border-color: #e60000; transform: scale(1.1);}
.cat-navi > ul > li.crt{ background-color: #e60000;}
.cat-navi > ul > li.crt a{ text-decoration: none; color: #FFF; border-color: #FFF; pointer-events: none;}

.subnavi-cursor{ position: absolute; width: 96%; bottom:.3em; left: 2%;  pointer-events: none; }
.subnavi-cursor ul{ display: flex; justify-content: space-between; margin: 0; padding: 0; list-style-type: none; }
.subnavi-cursor ul li{ display: block; width:calc(172/3000*100em); height: calc(79/3000*100em); position: relative; pointer-events: all; cursor: pointer; }
.subnavi-cursor ul li span{ display: block; width:100%; height: 100%; background: url("../images/common/cursor.png") no-repeat center center; background-size: 100%; transform-origin: center center; }
.subnavi-cursor ul li span:hover{ background-image: url("../images/cursor-hv.png"); }
.subnavi-cursor ul li.right span{ transform: scale(-1,1); }


/* footer */
.part-footer{ position: relative; }
.part-footer::before{ content:""; width: 100%; height: 3.3em; position: absolute; top:0; background: url("../images/common/ptn-g1.webp") repeat center top; background-size: calc(98/3000*100em); pointer-events: none; }
.cont-global-footer{ width: 100%; margin: 0 auto; padding: 5.3em 0 2em 0; position: relative; }
.footer-pagetop{ width: calc( 209/3000 * 100em ); height: calc( 190/3000 * 100em ); position: fixed; bottom:3em; right: 6em; z-index: 10; margin: 0; }
.footer-pagetop a{ display: block; position: relative; width: 100%; min-height: 100%; background:url("../images/navi/pagetop.webp") no-repeat center center; background-size: contain; }
.footer-pagetop a:hover{ transform: scale(1.1); }
.footer-pagetop{ opacity: 0;}
.footer-pagetop.start{ animation: anm-pagetop-btn .5s 0s ease-out both running;}
@-webkit-keyframes anm-pagetop-btn { 0% { opacity: 0; -webkit-transform: translateY(-2em); transform: translateY(-2em);} 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);}}
@keyframes anm-pagetop-btn { 0% { opacity: 0; -webkit-transform: translateY(-2em); transform: translateY(-2em);} 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);}}
.anm-pagetop-btn { -webkit-animation-name: anm-pagetop-btn; animation-name: anm-pagetop-btn;}

.cont-footer{  padding: 0; margin: 0 auto; text-align: center; }
.footer-copyrihgt p{ font-size: .9em; margin: 0; }

.footer-logo{width: calc( 367/3000 * 100em ); margin: 0 auto 2em auto; padding: .5em;}


/* content */
.inview{ animation:inview .5s .5s ease-out both paused; }
.inview-start{ animation:inview-start .5s .5s ease-out both running; }
.inview-act{ transform-origin: left top; transition: all .5s ease .1s;  }

.table-a{ border-collapse: separate; border-spacing: 2px;}
.table-a th{ padding:0.5em; background-color:rgba(255,255,255,.1); font-weight: normal; text-align: inherit; vertical-align: top; text-align: left; }
.table-a td{ padding:0.5em; background-color:rgba(255,255,255,.05); vertical-align: top; }

.cont-frame-a{ border:#f4f2ee solid .666em; border-radius: 3em; padding: 4em; background: url("../images/common/ptn-w2.webp") repeat center top; background-size: calc(98/3000*100em); }

.cont-frame-b{ border:#ed3657 solid 1px; padding: 5px; border-radius: 13em; background-color: #FFF; }
.cont-frame-b::before{ content:""; display: block; width: calc(100% - 2px); height: calc(100% - 2px); border:#41ad00 solid 1px; border-radius: calc(13em - 1px); position: absolute; top:1px; left:1px; pointer-events: none; z-index: 1; }
.cont-frame-b::after{ content:""; display: block; width: calc(100% - 6px); height: calc(100% - 6px); border:#5e1c1c solid 2px; border-radius: calc(13em - 3px); position: absolute; top:3px; left:3px; pointer-events: none; z-index: 1; }
.cont-frame-b > .inner{ border:#f4f2ee solid .666em; border-radius:calc( 13em - 5px ); padding: 4em; background: url("../images/common/ptn-w1.webp") repeat center top; background-size: calc(58/3000*100em); }


.frame-a{ border:#e60000 solid 1px; }
.frame-a2{ border:rgba(0, 0, 0, 0.1) solid .5em; background-color: #FFF; }
.frame-b{ border:#ffcc00 dashed 1px; border-radius: 1em; }

.frame-c{ position: relative; }
.frame-c::before{ content:""; display: block; width: 100%; height: 2em; border:#000 solid 2px; border-top:none; position: absolute; bottom:0; left:0; pointer-events: none; z-index: 1; }
.frame-c::after{ content:""; display: block; width: calc(100% - 6px); height: calc(2em - 3px); border:#ed3657 solid 1px; border-top:none; position: absolute; bottom:3px; left:3px; pointer-events: none; z-index: 1; }
.frame-c > .ic{ display: block; width: 9px; height: 9px; background-color: #FFF; border:#000 solid 2px; border-radius: 10em; position: absolute; bottom:-3px; left:0; right: 0; margin: 0 auto; pointer-events: none; z-index: 2; }
.frame-c > .inner{}
.frame-c > .inner::before{ content:""; display: block; width: 100%; height: 2em; border:#000 solid 2px; border-bottom:none; position: absolute; top:3px; left:0; pointer-events: none; z-index: 1; }
.frame-c > .inner::after{ content:""; display: block; width: calc(100% - 6px); height: calc(2em - 3px); border:#ed3657 solid 1px; border-bottom:none; position: absolute; top:6px; left:3px; pointer-events: none; z-index: 1; }
.frame-c > .inner > .ic{ display: block; width: 9px; height: 9px; background-color: #FFF; border:#000 solid 2px; border-radius: 10em; position: absolute; top:-1px; left:0; right: 0; margin: 0 auto; pointer-events: none; z-index: 2; }

.frame-c.mini{ }
.frame-c.mini::before{ height: 1em; }
.frame-c.mini::after{ height: calc(1em - 3px); }
.frame-c.mini > .inner::before{ height: 1em; }
.frame-c.mini > .inner::after{ height: calc(1em - 3px);  }

.rot-a{ position: relative; transform: rotate(3deg); }
.rot-b{ position: relative; transform: rotate(-3deg); }

.sdw-1{ filter: drop-shadow(.25em .25em 0 #e60000); }
.sdw-2{ filter: drop-shadow(0 0 .5em #d7000f); }
.sdw-3{ text-shadow:-1px 0px 0px #000,1px 0px 0px #000; filter: drop-shadow(0 0 .5em #fb00ff); }

.sdw-t1{ filter: drop-shadow(1px 1px 0 #ffe382); }
.sdw-t2{ filter: drop-shadow(1px 1px 0 #ebaffe); }

.sqr-image-box{ width: 27em; height: 27em; background-color: #FFF; position: relative; }
.sqr-image-box img{display: block; width: 100%; height: 100%; object-fit: scale-down;}


/* 1 */
.cont-entries{ padding: 0; margin: 0 auto;  }
.content-entry{ padding: 0; margin: 0 0 3em 0; position: relative; background-color: #fff; }
.content-entry::before{ content:""; display: block; width: 100%; height: 2em; border:#000 solid 2px; border-top:none; position: absolute; bottom:0; left:0; pointer-events: none; }
.content-entry::after{ content:""; display: block; width: calc(100% - 6px); height: calc(2em - 3px); border:#ed3657 solid 1px; border-top:none; position: absolute; bottom:3px; left:3px; pointer-events: none; }
.content-entry .entry-head{ margin-bottom: 0; position: relative; padding: 0; }
.content-entry .entry-head::before{ content:""; display: block; width: 100%; height: 2em; border:#000 solid 2px; border-bottom:none; position: absolute; top:3px; left:0; pointer-events: none; z-index: 1; }
.content-entry .entry-head::after{ content:""; display: block; width: calc(100% - 6px); height: calc(2em - 3px); border:#ed3657 solid 1px; border-bottom:none; position: absolute; top:6px; left:3px; pointer-events: none; z-index: 1; }
.content-entry .entry-date{ font-size: 1em; margin: 0 0 1em 0; text-align: center; pointer-events: none;  }
.content-entry .entry-date > span{ display: inline-block; padding: 0 1em .25em 1em; color: #5e1c1c; border-bottom:#5e1c1c solid 2px; line-height: 1; letter-spacing: .1em; margin-bottom: 0;}
.content-entry .entry-title{ padding: 0 3em 2em 3em; margin: 0; position: relative; text-align: center; }
.content-entry .entry-title > span{ color: #000;  font-size: 1.6em; line-height: 1.9; }
.content-entry .entry-title [data-ruby]::before { top: -1.5em;  }
.content-entry .entry-body{ padding: 0 3em 2em 3em; font-size: 1.1em; color: #000; letter-spacing: .05em; line-height: 1.9; position: relative; }
.content-entry .entry-body::before{ content:""; margin-bottom: 2em; display: block; position: relative; height: 1px; background-color: #ed3657; }
.content-entry .entry-body [data-ruby]::before { top: -1.5em;  }


.content-accordion .acd-check{ display: none;}
.content-accordion .acd-head .acd-label{ display: block; position: relative; z-index: 10; }
.content-accordion .acd-head{ position: relative; }
.content-accordion .acd-head .acd-label::before{ content:""; display: block; padding: .2em 0 0 0; width: 100%; height: 5em; margin: 0; text-align: center; line-height: 1; background: url("../images/common/news-open.webp") no-repeat center top; background-size: 2.666em; position: relative; pointer-events: none;}
.content-accordion .acd-head .acd-label:hover{ background-color: rgba(94, 28, 28, 0.04); cursor: pointer; }
.content-accordion .acd-body{ display: none; height: 0; overflow: hidden; transition: 0.5s all ease 0.5s; }
.content-accordion .acd-check:checked ~ .acd-body{ display: inherit; height: inherit; transition: 0.5s all ease 0s;}
.content-accordion .acd-check:checked ~ .acd-head .acd-label::before{ background-image: url("../images/common/news-close.webp")}

.content-link .lnk-head{ position: relative; }
.content-link .lnk-head > a::before{ content:""; display: block; padding: .2em 0 0 0; width: 100%; height: 5em; margin: 0; text-align: center; line-height: 1; background: url("../images/common/news-link.webp") no-repeat center top; background-size: 2.666em; position: relative; pointer-events: none;}
.content-link .lnk-head > a{ display: block; text-decoration: none;  position: relative; z-index: 10; }
.content-link .lnk-head > a:hover{ background-color: rgba(94, 28, 28, 0.04); cursor: pointer; }

.content-non .non-head{ position: relative; }
.content-non .non-head a{ display: block; text-decoration: none; pointer-events: none; }


.content-single{ padding: 2em 3em; margin: 0 0 3em 0; position: relative; background-color: #000; border:#e60000 solid 1px;  }
.content-single::before,
.content-single::after{ content:""; display: block; width: 3em; height: 2px; background-color: #e60000; position: absolute; top:0; left:0; pointer-events: none; }
.content-single::after{ left:inherit; right: 0; }

.cont-tiles{ display: flex; flex-wrap: wrap; justify-content: center;  }

.modal-data{ display: none; }
.cont-modal{ width: 100%; margin: 0 auto; }

.block-data{ display: none; }
.block-data.crt{ display: inherit; }


/* modaal */
.modaal-overlay{ background: rgba(94, 28, 28, 1) url("../images/common/ptn-r1.webp") repeat center top; background-size: calc(58/3000*100em); }
.modaal-wrapper{ overflow-x: hidden; }
.modaal-inner-wrapper{ padding: 80px 0; }
.image-typ2 .modaal-inner-wrapper{ padding: 80px 25%; }
.modaal-container{ color: inherit; background-color: transparent; box-shadow:none; max-width: inherit; }
.modaal-content-container{ padding: 0; }
.modaal-video-wrap{ margin: auto auto; }
.modaal-close{ right: 2.5em; top: 1.5em; width: 3em; height: 3em;}
.modaal-close:before,.modaal-close:after{ background-color: #fdfbc5; border-radius: 0; top: .4em; left: 2em; width: .4em; height: 4em; }
.modaal-close:focus,.modaal-close:hover {background: transparent;}
.modaal-close:focus:before,.modaal-close:focus:after{background: #000;}
.modaal-close:hover:before,.modaal-close:hover:after{background: #000;}

/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 

              ■                 ■                
■             ■  ■       ■      ■               ■
■             ■                 ■               ■
■  ■■■■    ■■■■  ■ ■   ■ ■   ■■■■  ■   ■  ■■■   ■
■  ■■  ■  ■■ ■■  ■  ■  ■ ■  ■■ ■■  ■   ■  ■  ■  ■
■  ■   ■  ■   ■  ■  ■ ■  ■  ■   ■  ■   ■   ■■■  ■
■  ■   ■  ■   ■  ■  ■ ■  ■  ■   ■  ■   ■ ■■  ■  ■
■  ■   ■  ■■ ■■  ■   ■■  ■  ■■ ■■  ■  ■■ ■   ■  ■
■  ■   ■   ■■■■  ■   ■   ■   ■■■■   ■■ ■  ■■■■  ■

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* Modal */
#Modal_data{ display: none; }

/* TOP-PAGE */
/* main */
.cont-top-visual{ width: 100%; min-height: 99.6em; background-color: #f4f2ee; position: relative; margin: 0 auto; padding: 0; overflow: hidden; }
.cont-top-visual img{ width: 100%; height: auto; }
.cont-top-visual .kv-container{  position: relative;}
.kv-container > div{ position: absolute; top:0; }
.kv-container .grp{ width: calc(2400/3000*100%);  margin: 0 auto;  position: relative; top:inherit; display: none; }
.kv-container .grp.on{ display: block; }
.kv-container .grp > div{ position: absolute; top:0; }
.kv-container .grp .vis-grp{ position: relative; width: 100%; margin: 0 auto; }
.kv-container .grp .vis-grp .bg{ position: relative; }
.kv-container .grp .vis-grp .vis{ position: absolute; top:0; }
.kv-container .vis-shadow{ width: 100%; height: 20em; background: linear-gradient(0deg,rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%); }
.kv-container .logo{ width: calc(1405/3000*100em); position: absolute; top:3em; left:4.3em; margin: 0; }
.kv-container .oa{ width: calc(1362/3000*100em); position: absolute; top:15em; left:5em; margin: 0; }
.kv-container .catch{ width: calc(162/3000*100em); position: absolute; top:22em; left:15em; margin: 0; }

.vis-switch-container{ display: none; padding: 0; margin: 0; position: absolute; top:74.3em; left:86em;  z-index: 2; }
.vis-switch{ display: flex; flex-wrap: wrap; flex-direction: column-reverse; justify-content: flex-start; }
.vis-switch > div{ width: calc(260/3000*100em); line-height: 0; margin: .5em; }
.vis-switch > div a{ display: inline-block; padding: .2em; background-color: #999; }
.vis-switch > div a img{ border:#000 solid 1px; }
.vis-switch > div.on a{  pointer-events: none; background-color: #e60000; }

.kv-container .grp .vis-grp{ transform: scale(1.55) translateY(-15%); opacity: 0; }
/* .kv-container .logo{ opacity: 0; transform: translateY(-10%); } */
.kv-container .catch{ opacity: 0; transform: translateY(30%); }
.kv-container .oa{ opacity: 0; transform: translateY(10%); }
.vis-switch-container{ visibility: hidden; opacity: 0; pointer-events: none;}
.flw-fig.p-top-visual1{ opacity: 0; }
.flw-fig.p-top-visual2{ opacity: 0; }

.cont-top-twitter{ display: none; }

.s0 .kv-container .grp .vis-grp{ transform: scale(1.55) translateY(-15%); opacity: 1; transition: all 1.0s ease .0s; }
.s1 .kv-container .grp .vis-grp{ transform: scale(1.55) translateY(17.5%); opacity: 1; transition: all 3.0s ease .0s; }
.s4 .kv-container .grp .vis-grp{ transform: scale(1.0) translate(0,0); opacity: 1; transition: all 1.5s ease .5s; }
.s4 .kv-container .grp .vis-grp .catch{ opacity: 1; transition: all 1.0s ease 1.0s; }
/* .s4 .kv-container .logo{ opacity: 1; transform: translateY(0%); transition: opacity .75s ease-out 1s, transform .5s ease-out 1s; } */
.s4 .kv-container .catch{ opacity: 1; transform: translateY(0%); transition: all .5s ease-out 1s; }
.s4 .kv-container .oa{ opacity: 1; transform: translateY(0%); transition: all .5s ease-out 1s; }
.s5 .vis-switch-container{ visibility: visible; opacity: 1; pointer-events: auto; }
.s5.top-page .part-header{ visibility: visible; }
.s5 .cont-top-twitter{ display: block; }
.s5 .flw-fig.p-top-visual1{ opacity: 1; }
.s5 .flw-fig.p-top-visual2{ opacity: 1; }

.kv-container .grp{ transform: scale(1.1,1.1) ; transform-origin: center center; opacity: 0; }
.kv-container .grp.on{ transform: scale(1,1); opacity: 1; transition: all 1.0s ease .0s; }


/* flower */
.flw-fig{ position: absolute; background-repeat:no-repeat; background-position: center center; background-size: contain; z-index: 9; pointer-events: none; transition: opacity .5s ease .25s; }
.flw-fig.inview-act{ opacity: 0; }
.flw-fig.inview-act.inview-act-start{ opacity: 1; }
.flw-fig.ff-lp{ width: calc(371/3000*100em); height: calc(317/3000*100em); background-image:url("../images/flw/l-p.webp"); }
.flw-fig.ff-ly{ width: calc(396/3000*100em); height: calc(438/3000*100em); background-image:url("../images/flw/l-y.webp"); }
.flw-fig.ff-p{ width: calc(154/3000*100em); height: calc(243/3000*100em); background-image:url("../images/flw/p.webp"); }
.flw-fig.ff-y{ width: calc(251/3000*100em); height: calc(152/3000*100em); background-image:url("../images/flw/y.webp"); }
.flw-fig.ff-mp{ width: calc(325/3000*100em); height: calc(196/3000*100em); background-image:url("../images/flw/m-p.webp"); }
.flw-fig.ff-my{ width: calc(252/3000*100em); height: calc(224/3000*100em); background-image:url("../images/flw/m-y.webp"); }

.flw-fig.p-top-visual1{ top:79em; left:1em; }
.flw-fig.p-top-visual2{ top:59em; right:3em; }

.flw-fig.p-top-movie1{ top:45em; left:8em; }
.flw-fig.p-top-movie2{ top:15em; right:3em; transform: scale(.6); }

.flw-fig.p-top-news1{ top:5em; right:5em; transform: scale(.5); }
.flw-fig.p-top-news2{ top:39em; right:13em; }

.flw-fig.p-top-intro1{ top:20em; left:10em; transform: scale(.5); }
.flw-fig.p-top-intro2{ top:72em; left:23em; transform: scale(.5); }

.flw-fig.p-top-staffcast1{ top:20em; right:3em; transform: scale(.5); }
.flw-fig.p-top-staffcast2{ top:98em; left:3em; }
.flw-fig.p-top-staffcast3{ top:94em; right:35em; transform: scale(.8); }
.flw-fig.p-top-staffcast4{ top:120em; right:7em; transform: scale(.8); }

.flw-fig.p-top-character1{ top:25em; right:2em; transform: scale(.8); }
.flw-fig.p-top-character2{ top:98em; left:9em; transform: scale(.6); }
.flw-fig.p-top-character3{ top:74em; right:5em; transform: scale(.6); }

.flw-fig.p-top-books1{ top:20em; right:3em; transform: scale(.5); }
.flw-fig.p-top-books2{ top:98em; left:0em; transform: scale(.8); }
.flw-fig.p-top-books3{ top:94em; right:0em; transform: scale(.7) rotate(-15deg); }
.flw-fig.p-top-books4{ top:154em; right:2em; transform: scale(.8); }


/* top-movie */
.cont-top-movie{ min-height: 50em; padding: 5em 0; background: url("../images/common/ptn-w1.webp") repeat center top; background-size: calc(58/3000*100em);}
.cont-top-movie > .inner{ padding: 1em 0; }
.top-movie-list{ width: calc(2000/3000*100em); /*width: 100%;*/ position: relative; margin: 0 auto; }
.top-movie-list .thm{ width: 100%; position: relative;text-align: center; line-height: 0; padding: 1em; border:#5e1c1c solid 1px; background-color: #FFF; }
.top-movie-list .thm::before{ content:""; width: calc(100% - 2px); height: calc(100% - 2px); position: absolute; top:1px; left:1px; border:#ed3657 solid 1px;  pointer-events: none; }
.top-movie-list .thm::after{ content:""; width: calc(100% - 6px); height: calc(100% - 6px); position: absolute; top:3px; left:3px; border:#41ad00 solid 1px;  pointer-events: none; }

.top-movie-list .thm > a{ display: inline-block; pointer-events: auto; overflow: hidden; line-height: 0; position: relative; }
.top-movie-list .thm > a::after{ content:""; position: absolute; display: block; width:100%; height:100%; background: url("../images/common/play.webp") no-repeat center center; background-size: calc(190/3000*100em); transform-origin: center center; pointer-events: none; top:0; left: 0; right: 0; margin: 0 auto; opacity: 1; }
.top-movie-list .thm > a:hover::after{ background-size: calc(190/3000*100em*1.1); }

.top-movie-cursor{ position: absolute; width: 85em; top:25em; left: 0; right: 0; margin: 0 auto; pointer-events: none; }
.top-movie-cursor ul{ display: flex; justify-content: space-between; margin: 0; padding: 0; list-style-type: none; }
.top-movie-cursor ul li{ display: block; width:calc(154/3000*100em); height: calc(174/3000*100em); position: relative; pointer-events: all; cursor: pointer; }
.top-movie-cursor ul li span{ display: block; width:100%; height: 100%; background:  url("../images/common/cursor.webp") no-repeat center center; background-size: 100%; transform-origin: center center; }
.top-movie-cursor ul li.left span{ transform: scale(-1,1); }
.top-movie-cursor ul li:hover{ transform: scale(1.1); }

.top-movie-dots{ text-align: center; padding-top: 1em;}
.top-movie-dots ul{ display: block; list-style-type: none; padding: 0; margin: 0; }
.top-movie-dots li { display: inline-block; margin: 0 5em 0 -1em; padding: 0;}
.top-movie-dots button { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.top-movie-dots li button { position: relative; text-indent: -9999px;}
.top-movie-dots li button:before { content: "●"; color: #f69aab; font-size: 1.8em; text-indent: 0px; position: absolute; top: 0; left: 0;}
.top-movie-dots li.slick-active button:before {content: "●";  color: #ed3657;}



/* top-news */
.cont-top-news{ min-height: 72em; background: url("../images/common/ptn-g1.webp") repeat center top; background-size: calc(98/3000*100em); }
.cont-top-news > .inner{ padding:4em 0 ; margin: 0 auto; }
.top-subtitle.news{ margin-bottom: 2em; }

.top-news-container{  width: calc(1860/3000*100em); margin: 0 auto 2em auto; }
.top-news-container > .inner{ padding: 1.75em 1.5em 1.5em 1.5em;}

.news-headline{ min-height: 20em; padding: 3em; background-color: rgba(255, 255, 255, 0.5); }
.news-headline a{ width: 100%; display: inline-block; margin-bottom: 2em;}
.news-headline dl{ font-size: 1.133em; display: flex; flex-wrap: wrap; }
.news-headline dl:last-child{ margin: 0;}
.news-headline dl dt{ width: 20%; display: block; position: relative; margin: 0; padding: 0; font-size: 1em; font-weight: normal; line-height: 1.5; letter-spacing: 0.1em; }
.news-headline dl dt::after{ content:""; width: 1px; height: .9em; background-color: #000; position: absolute; top:.3em; left:8.25em; }
.news-headline dl dd{ width: 80%; display: block; position: relative; margin: 0; padding: 0; font-size: 1.0em; line-height: 1.5; letter-spacing: 0.1em;  }
.news-headline a,
.news-headline a:visited{ text-decoration: none; color: #000; }
.news-headline a:hover{ color:#ed3657; }

.news-link{ width: 14em; display: block; position: relative; margin: 0 auto; }
.news-link > .inner{ padding: .75em;}
.news-link a{ display: block; text-align: center; color: #000; text-decoration: none; font-weight: normal; letter-spacing: .1em; font-size: 1.2em; padding: .75em 0; background-color: rgba(255, 255, 255, 0.5); }
.news-link a:hover{ color:#ed3657; }



/* top-intro */
.cont-top-intro{ min-height: 79em; position: relative; margin-top:-21em; z-index: 3; }
.cont-top-intro > .inner{ margin: 0 auto; padding: 0 ; overflow: hidden; }
.top-subtitle.intro{ margin-bottom: 4em; }

.top-intro-container{ min-height:79em; padding: 12em 0 0 0; background: url("../images/top-intro-bg.webp") no-repeat center top; background-size: 100%; }

.intro-text{ text-align: center; margin: 0 auto; position: relative; z-index: 3; }
.intro-text p{ font-size: 1.333em; line-height: 2.6; letter-spacing: .15em; margin-bottom: 1.9em; }
.intro-text p.mkw{ font-style: italic; font-weight: bold; font-size: 1.4em; }
.intro-text p [data-ruby]::before { top: -1.5em;  }




/* top-staffcast */
.cont-top-staffcast{ min-height: 136em; position: relative; margin-top:-23em; border-radius:0 0 16em 16em; background: rgba(94, 28, 28, 1) url("../images/common/ptn-r1.webp") repeat center top; background-size: calc(58/3000*100em); z-index: 2; }
.cont-top-staffcast > .inner{ width: 100%; margin: 0 auto; padding: 27em 0 4em 0; }
.top-subtitle.staffcast{ width: calc(1220/3000*100em); margin-bottom: 4em; }

.staffcast-container{ width: calc(2800/3000*100em); margin: 0 auto; position: relative;  }
.staffcast-container.staff{ margin-bottom: 5em; }

.block-title.staff,
.block-title.cast{ margin-bottom: 4em; }

.staffcast-list{ width: 70%; margin:0 auto 3em auto;  text-align: center; display: flex; flex-wrap: wrap; justify-content: center; position: relative; z-index: 3; }
.staffcast-list > div{ width: 25%; margin-bottom: 3em; position: relative; }
.staffcast-list.cs > div{ width: 25%;  }
.staffcast-list > div.sep{ width: 100%; height: 1px; margin-bottom: 0; }
.staffcast-list > div.full{ width: 100%; }
.staffcast-list > div.p60{ width: 60%; }
.staffcast-list > div.p50{ width: 50%; }
.staffcast-list > div.p40{ width: 40%; }
.staffcast-list > div.p33{ width: 30%; }
.staffcast-list > div.p30{ width: 30%; }
.staffcast-list > div.p25{ width: 25%; }
.staffcast-list > div.p20{ width: 20%; }
.staffcast-list > div > div{ margin-bottom: 3em; position: relative; }
.staffcast-list .pos{ display: block; font-size: 1.2em; letter-spacing: .05em;  margin-bottom: .5em; line-height: 1; }
.staffcast-list .name{ display: block; font-size: 1.6em; letter-spacing: .05em; margin-bottom: 0; line-height: 1.3; }
.staffcast-list .exname{ display: block; font-size: 1em; letter-spacing: .1em; padding-top: .5em; margin-bottom: 0; line-height: 1.2; }
.staffcast-list .comment{ display: inline-block; width: 2.4em; position: absolute; top:-0.1em; left:calc(50% + 2.0em); text-decoration: none; pointer-events: auto; transition: all .25s ease-out 0s; }
.staffcast-list .comment .cmt{ display: block; position: relative;}
.staffcast-list .comment .cmt:hover{transform: scale(1.1); text-decoration: none; cursor: pointer; }
.staffcast-list .comment.ch2{ left:calc(50% + 1.5em); }
.staffcast-list .comment.ch4{ left:calc(50% + 2.5em); }
.staffcast-list .comment.ch5{ left:calc(50% + 3.0em); }
.staffcast-list .comment.ch6{ left:calc(50% + 3.5em); }
.staffcast-list .comment.ch7{ left:calc(50% + 4em); }
.staffcast-list .comment.ch8{ left:calc(50% + 4.5em); }
.staffcast-list .comment.ch9{ left:calc(50% + 5em); }
.staffcast-list .comment.ch10{ left:calc(50% + 5.5em); }
.staffcast-list .comment.ch11{ left:calc(50% + 6em); }
.staffcast-list .comment.ch12{ left:calc(50% + 6.5em); }
.staffcast-list .comment.ch13{ left:calc(50% + 7em); }
.staffcast-list .comment.ch14{ left:calc(50% + 7.5em); }

.cont-modal.comment{ width: 66em;  }
.comment-frame{ position: relative; margin: 0 auto; padding: 3em ; border-radius: 3em; background: url("../images/common/ptn-w1.webp") repeat center top; background-size: calc(58/3000*100em); }



/* top-character */
.cont-top-character{ min-height: 101em; position: relative; margin-top:-14em; background-color: #f4f2ee; }
.cont-top-character > .inner{ padding: 20em 0 4em 0; }
.top-subtitle.character{ margin: 0 auto 4em 50em; }

#CharaCont{ position: relative;  }

.cont-character-navi{ width: calc(1000/3000*100em); padding: 0; margin: 0 auto 4em 50em; position: relative; z-index: 5; }
.character-navi{ width: 100%; margin: 0 auto }
.character-navi ul{ display: flex; flex-wrap: nowrap; justify-content: center; margin: 0; padding: 0; list-style-type: none; }
.character-navi ul li{ width: calc(230/3000*100em); display: block; margin: 0 .5em; flex-shrink: 1; }
.character-navi ul li a{ display: block; padding: .75em; position: relative; transform-origin: center center; pointer-events: all; cursor: pointer; background: url("../assets/character/nv/bg-off.webp") no-repeat center center; background-size: 100% ; }
.character-navi ul li a:hover{ text-decoration: none; transform: scale(1.05); }
.character-navi ul li.crt a{ pointer-events: none; background-image: url("../assets/character/nv/bg-on.webp"); }

.cont-character-data{ width:100%; min-height: 53em; position: relative; }
.character-data{ width:100%; min-height: 53em; position: relative; display: none; pointer-events:none;  }
.character-data .chr-img{ width: calc(1200/3000*100em); margin: 0; position: absolute; top:-26em; left:9em; z-index: 1; }
.character-data .chr-img .figure{ display: none; }
.character-data .chr-img .figure.nochange{ display: block; }
.character-data[data-swt="1"] .chr-img .figure.fig1{ display: block; }
.character-data[data-swt="2"] .chr-img .figure.fig2{ display: block; }
.character-data .chr-prof{ position: relative; width: calc(1407/3000*100em); padding-top: 6em; margin: 0 auto 0 43em; z-index: 2; }
.character-data .chr-prof .prof-frame{  width: calc(1407/3000*100em); height: calc(1407/3000*100em); background: url("../images/top-character-bg.webp") no-repeat center top; background-size: 100% ; position: absolute; top:0; z-index: 1;  }
.character-data .prof-name{ width: calc(320/3000*100em); margin: 0 auto 4em; display: block; position: relative; z-index: 2; }
.character-data .prof-text{ width: calc(900/3000*100em); margin: 0 auto; }
.character-data .prof-text .text{ text-align: center; margin: 0; font-size: 1.333em;  letter-spacing: .025em; line-height: 1.8; position: relative; z-index: 6; }
.character-data .prof-text .text [data-ruby]::before { top: -2em; }

.character-data.crt{ display: block; }
.character-data.crt .chr-img{ animation: anm-character-change .5s .5s ease-out both running; }
@keyframes anm-character-change {
  0% { opacity: 0; transform: translateY(-5%);}
  100% { opacity: 1; transform: translateY(0);}
}
.subnavi-cursor.character-cursor{ width: 100%; top:35em; bottom:inherit; left: 0;  }



/* top-books */
.cont-top-books{  position: relative; background: rgba(94, 28, 28, 1) url("../images/common/ptn-r1.webp") repeat center top; background-size: calc(58/3000*100em); }
.cont-top-books::before{ content:""; width: 100%; height: 2.3em; position: absolute; top:0; background: url("../images/common/ptn-bar-r1.webp") repeat-x left top; background-size: auto calc(69/3000*100em); }
.cont-top-books > .inner{ padding: 6em 0 4em 0; }
.top-subtitle.books{ margin-bottom: 4em; }
.top-books-container{ width: 92%; margin: 0 auto; padding: 5em 0; border-radius: 3em; background: url("../images/common/ptn-w1.webp") repeat center top; background-size: calc(58/3000*100em); }

.books-text{ margin: 0 auto 4em auto; text-align: center; }
.books-text > p{ letter-spacing: .05em;  }

.books-list{ width: 85%; display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 auto 2em auto; }
.books-list > div{ width: calc( (1 / 6 * (100% + .5em)) - .5em ); margin-bottom: .5em; margin-right: .5em; text-align: center; }
.books-list > div:nth-of-type(6n){ margin-right: 0;}
.books-list > div .thm{ display: block; margin-bottom: 0; }
.books-list > div .thm:hover{ transform: scale(1.05); }

.books-link{ margin-bottom: 2em; text-align: center; }
.books-link a{ display: inline-block; font-size: 1.133em; letter-spacing: .1em; padding: .5em 1.5em; background-color: #fff7e8; color: #5e1c1c; border:#5e1c1c double 3px; border-radius: 3em; }
.books-link a:before{ content:"▶︎ ";  }
.books-link a:hover{ text-decoration: none; background-color: #5e1c1c; border-color:#FFF; color: #FFF; }

/* SUB-PAGE */

.sub-page .cont-upper{ }
.sub-page .cont-middle{ min-height: calc(100vh - 5em);}
.sub-page .cont-sub-content{ min-height: calc(100vh - 5em);}

/* news */
.cont-sub-news{ }
.sub-subtitle.news{  }
.sub-news-container{ position: relative; }
.news-twt-btn{ width: 12.5em; margin-bottom: .25em; }

/* special */
.cont-sub-special{ }
.sub-subtitle.special{ width: calc(600/3000*100em); }
.sub-special-container{ position: relative; }



/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■      

                     ■                                                     
 ■■    ■■            ■  ■             ■■■                     ■            
 ■■    ■■            ■               ■   ■                                 
 ■■■  ■ ■   ■■■   ■■■■  ■  ■■■      ■     ■  ■   ■   ■■■  ■ ■ ■   ■■■  ■■■ 
 ■ ■  ■ ■  ■  ■  ■■ ■■  ■  ■  ■     ■     ■  ■   ■  ■  ■  ■■  ■  ■  ■  ■   
 ■ ■  ■ ■  ■   ■ ■   ■  ■   ■■■     ■     ■  ■   ■  ■   ■ ■   ■  ■   ■ ■■  
 ■  ■■  ■  ■■■■■ ■   ■  ■ ■■  ■     ■     ■  ■   ■  ■■■■■ ■   ■  ■■■■■   ■■
 ■  ■■  ■  ■     ■■ ■■  ■ ■   ■      ■  ■■   ■  ■■  ■     ■   ■  ■        ■
 ■      ■   ■■■   ■■■■  ■  ■■■■       ■■■■■   ■■ ■   ■■■  ■   ■   ■■■  ■■■ 

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* Custom 1920 ----------------------------------------------------------------------------- */
@media (max-width: 1919px) {
}
/* Custom 1400 ----------------------------------------------------------------------------- */
@media (max-width: 1399px) {

}
/* LG ----------------------------------------------------------------------------- */
@media (max-width: 1199px) {

}
/* MD ----------------------------------------------------------------------------- */
@media (max-width: 991px) {
}
/* lt768 ----------------------------------------------------------------------------- */
@media (min-width:768px) {
}
/* SM ----------------------------------------------------------------------------- */
@media (max-width: 767px) {
/* ---- Structure ---- */
html,body{ min-height:100%; position: relative; }
body{ }

/* background */
#Background .background-kv-r,
#Background .background-kv-l{ display: none; }



/* foreground */

/* header */
.part-header{ padding-top: 5em; background-size: calc(58/3000*100em); }
.cont-global-navi{ width: 80%; padding: 3em 0; background-size: calc(58/3000*100em); border-radius: 2em; }

.global-logo{ width: calc(367/3000*100em*0.75); margin: 0 auto 2em auto; }
.global-logo a:hover{ transform: scale(1.1);}
.global-navi > ul > li{ margin: 0 0 1.0em 0;}
.global-navi > ul > li a .label-e{ font-size: 2.2em; padding-bottom:.1em; }
.global-navi > ul > li a .label{ font-size: 1.0em; }
.global-navi > ul > li a::before{ width: calc(3.7em*0.6); height: calc(3.2em*0.6); top:.2em; left:-2.5em;  }

.cont-global-navi{ display: none; }

.cont-sp-btn{ width: calc(160/3000*100em*0.5); top:.75em; right:.75em; }





/* body */
.cont-top-content > .inner{ padding: 0; margin: 0 auto;}
.cont-sub-content > .inner{ width: 90%; padding: .75em 0 2em 0; margin: 0 auto;}

.sub-page .cont-upper{ padding: 1em 0 1.5em 0; background-size: calc(58/3000*100em); }
.sub-page .sub-logo{ width: calc(473/3000*100em*0.7); margin: 0 auto 1.5em auto;  }

.sub-page .cont-middle{ background-size: calc(58/3000*100em); }

.cont-top-content > .inner{ padding: 0; margin: 0 auto;}
.cont-sub-content > .inner{ width: inherit; padding: 3em 0 2em 0;}

.top-subtitle{ font-size: 1em; width: calc(1000/3000*100em*0.55); }
.sub-subtitle{ font-size: 1em; width: calc(1000/3000*100em*0.55); }

.block-title{ font-size: 1em; width: calc(350/3000*100em*0.75); }
.sub-content-container{  }


.cat-navi > ul > li{ margin: .25em ;}
.cat-navi > ul > li.sep-pc{ display: none; }
.cat-navi > ul > li.sep-sp{ display: block; }
.cat-navi > ul > li a{  padding: .5em ; }
.cat-navi > ul > li a .label{ font-size: 1em;  }



/* footer */
.part-footer{ position: relative; }
.part-footer::before{  height: 2.3em; background-size: calc(98/3000*100em);  }
.cont-global-footer{ width: 100%; margin: 0 auto; padding: 3.3em 0 1em 0; position: relative; }
.footer-pagetop{ width: calc( 209/3000 * 100em*.5 ); height: calc( 190/3000 * 100em*.5 ); position: fixed; bottom:3.5em; right: .75em; }
.footer-copyrihgt p{ font-size: .8em;  }
.footer-logo{width: calc( 367/3000 * 100em * .6 );}




/* content */
.sqr-image-box{ width: 21.25em; height: 21.25em;  }

.cont-frame-a{ border-width: .333em; border-radius: 2em; padding: 1.5em; background-size: calc(98/3000*100em); }

.cont-frame-b{ padding: 5px; border-radius: 5em; }
.cont-frame-b::before{ width: calc(100% - 2px); height: calc(100% - 2px); border-radius: calc(5em - 1px); top:1px; left:1px; }
.cont-frame-b::after{ width: calc(100% - 6px); height: calc(100% - 6px); border-radius: calc(5em - 3px); top:3px; left:3px; }
.cont-frame-b > .inner{ border:#f4f2ee solid .666em; border-radius:calc( 5em - 5px ); padding: 1.5em;   }

/* 1 */
.cont-entries{ }
.content-entry{ margin: 0 0 2em 0; }

.content-entry .entry-date{ margin: 0 0 1em 0;  }
.content-entry .entry-date > span{ padding: 0 1em .25em 1em; }
.content-entry .entry-title{ padding: 0 1.5em 1em 1.5em; }
.content-entry .entry-title > span{ font-size: 1.2em; line-height: 1.9; }
.content-entry .entry-title [data-ruby]::before { top: -1.5em; }
.content-entry .entry-body{ padding: 0 1.5em 1em 1.5em; font-size: 1.0em; }
.content-entry .entry-body::before{  margin-bottom: 1em;  }
.content-entry .entry-body [data-ruby]::before { top: -1.5em; }

.content-accordion .acd-head .acd-label::before{ height: 3em; background-size: calc(2.666em*0.7); }
.content-link .lnk-head > a::before{ height: 3em; background-size: calc(2.666em*0.7); }


.content-single{ padding: 1.5em; }


/* modaal */
.modaal-overlay{ }
.modaal-inner-wrapper{ padding: 60px 0; }
.image-typ2 .modaal-inner-wrapper{ padding: 60px 0; }
.modaal-close{ right: 2.5em; top: 1.5em; width: 2em; height: 2em;}
.modaal-close:before,.modaal-close:after{ top: .4em; left: 2em; width: .3em; height: 3em; }



/* TOP-PAGE */
/* main */
.cont-top-visual{ min-height: 47em; }
.kv-container .grp{ width: 100%; top:6em; }
.kv-container .vis-shadow{ height: 10em; background: linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 40%); }
.kv-container .logo{ width: calc(1405/3000*100em*0.4); top:.75em; left:0; right: 0; margin: 0 auto; }
.kv-container .oa{ width: calc(1362/3000*100em*0.6); top:44em; left:0; right: 0; margin: 0 auto; }
.kv-container .catch{ width: calc(162/3000*100em*0.5); top:7.5em; left:1em;  }

.kv-container .grp .vis-grp{ transform: scale(1.55) translateY(5%); opacity: 0; }
/* .kv-container .logo{ opacity: 0; transform: translateY(-10%); } */
.kv-container .catch{ opacity: 0; transform: translateY(10%); }

.s0 .kv-container .grp .vis-grp{ transform: scale(1.55) translateY(5%); opacity: 1; transition: all 1.0s ease .0s; }
.s1 .kv-container .grp .vis-grp{ transform: scale(1.55) translateY(14.5%); opacity: 1; transition: all 3.0s ease .0s; }
.s4 .kv-container .grp .vis-grp{ transform: scale(1.0) translate(0,0); opacity: 1; transition: all 1.5s ease .5s; }


/* flower */
.flw-fig{ }
.flw-fig.inview-act{ opacity: 0; }
.flw-fig.inview-act.inview-act-start{ opacity: 1; }
.flw-fig.ff-lp{ width: calc(371/3000*100em*0.4); height: calc(317/3000*100em*0.4); background-image:url("../images/flw/l-p.webp"); }
.flw-fig.ff-ly{ width: calc(396/3000*100em*0.4); height: calc(438/3000*100em*0.4); background-image:url("../images/flw/l-y.webp"); }
.flw-fig.ff-p{ width: calc(154/3000*100em*0.4); height: calc(243/3000*100em*0.4); background-image:url("../images/flw/p.webp"); }
.flw-fig.ff-y{ width: calc(251/3000*100em*0.4); height: calc(152/3000*100em*0.4); background-image:url("../images/flw/y.webp"); }
.flw-fig.ff-mp{ width: calc(325/3000*100em*0.4); height: calc(196/3000*100em*0.4); background-image:url("../images/flw/m-p.webp"); }
.flw-fig.ff-my{ width: calc(252/3000*100em*0.4); height: calc(224/3000*100em*0.4); background-image:url("../images/flw/m-y.webp"); }

.flw-fig.p-top-visual1{ top:40em; left:0; }
.flw-fig.p-top-visual2{ top:5em; right:0; }

.flw-fig.p-top-movie1{ top:18em; left:3em; }
.flw-fig.p-top-movie2{ top:17em; right:3em; transform: scale(.6); }

.flw-fig.p-top-news1{ top:5em; right:0em; transform: scale(.5); }
.flw-fig.p-top-news2{ top:39em; right:2em; }

.flw-fig.p-top-intro1{ top:9em; left:1em; transform: scale(.7); }
.flw-fig.p-top-intro2{ top:56em; left:25em; transform: scale(.8); }

.flw-fig.p-top-staffcast1{ top:7em; right:0; transform: scale(.6); }
.flw-fig.p-top-staffcast2{ top:61em; left:3em; }
.flw-fig.p-top-staffcast3{ top:59em; right:3em; transform: scale(.8); }
.flw-fig.p-top-staffcast4{ top:70em; right:5em; transform: scale(.8); }

.flw-fig.p-top-character1{ top:13em; right:0; transform: scale(.8); }
.flw-fig.p-top-character2{ top:68em; left:1em; transform: scale(.9); }
.flw-fig.p-top-character3{ top:83em; right:1em; transform: scale(.8); }

.flw-fig.p-top-books1{ top:10em; right:0; transform: scale(.7); }
.flw-fig.p-top-books2{ top:103em; left:0em; transform: scale(.9); }
.flw-fig.p-top-books3{ top:107em; right:0em; transform: scale(.8) rotate(-15deg); }
.flw-fig.p-top-books4{ top:119em; right:1em; transform: scale(.8); }


/* top-movie */
.cont-top-movie{ min-height: 20em; padding: 1em 0; background:}
.cont-top-movie > .inner{ padding: 1em 0; }
.top-movie-list{ width: 26em; /*width: 100%;*/ position: relative; margin: 0 auto; }
.top-movie-list .thm > a::after{ background-size: calc(190/3000*100em*0.5); }
.top-movie-list .thm > a:hover::after{ background-size: calc(190/3000*100em*.55); }


/* top-news */
.cont-top-news{ min-height: 52em; }
.cont-top-news > .inner{ padding:3em 0 ; margin: 0 auto; }
.top-subtitle.news{ margin-bottom: 2em; }

.top-news-container{  width: 90%; margin: 0 auto 1.5em auto; }
.top-news-container > .inner{ padding: 1.25em 1.0em 1.0em 1.0em;}

.news-headline{ min-height: 25em; padding: 1.5em; }
.news-headline a{ margin-bottom: 1.5em;}
.news-headline dl{ font-size: 1em; }
.news-headline dl:last-child{ margin: 0;}
.news-headline dl dt{ width: 100%; font-size: 1em; }
.news-headline dl dt::after{ display: none; }
.news-headline dl dd{ width: 100%; font-size: 1.0em; }

.news-link{ width: 12em; }
.news-link > .inner{ padding: .5em;}
.news-link a{ font-size: 1.0em; padding: .75em 0; }
.news-link a:hover{ color:#ed3657; }


/* top-intro */
.cont-top-intro{ min-height:64em; position: relative; margin-top:-6em; z-index: 3; }
.cont-top-intro > .inner{ margin: 0 auto; padding: 0 ; overflow: hidden; }
.top-subtitle.intro{ margin-bottom: 3em; }

.top-intro-container{ min-height:64em; padding: 5em 0 0 0; background-image: url("../images/top-intro-bg-sp.webp"); }
.intro-text p{ font-size: 1.066em; line-height: 2.2; letter-spacing: .15em; margin-bottom: 1.9em; }
.intro-text p.mkw{ font-size: 1.133em; }


/* top-staffcast */
.cont-top-staffcast{ min-height: 86.5em; margin-top:-12em; border-radius:0 0 5.5em 5.5em;  }
.cont-top-staffcast > .inner{ width: 100%; margin: 0 auto; padding: 10em 0 0em 0; }
.top-subtitle.staffcast{ width: calc(1220/3000*100em*0.55); margin-bottom: 3em; }

.staffcast-container{ width: 95%; }
.staffcast-container.staff{ margin-bottom: 3em; }

.block-title.staff,
.block-title.cast{ margin-bottom: 2em; }

.staffcast-list{ width: 100%; margin:0 auto 1em auto; }
.staffcast-list > div{ width: 25%; margin-bottom: 2em; position: relative; }
.staffcast-list.cs > div{ width: 25%;  }
.staffcast-list > div.sep{ width: 100%; height: 1px; margin-bottom: 0; }
.staffcast-list > div.full{ width: 100%; }
.staffcast-list > div.p60{ width: 100%; }
.staffcast-list > div.p50{ width: 100%; }
.staffcast-list > div.p40{ width: 100%; }
.staffcast-list > div.p33{ width: 50%; }
.staffcast-list > div.p30{ width: 50%; }
.staffcast-list > div.p25{ width: 50%; }
.staffcast-list > div.p20{ width: 50%; }
.staffcast-list > div > div{ margin-bottom: 3em; position: relative; }
.staffcast-list .pos{ display: block; font-size: 1em; letter-spacing: .05em;  margin-bottom: .5em; line-height: 1; }
.staffcast-list .name{ display: block; font-size: 1.2em; letter-spacing: .05em; margin-bottom: 0; line-height: 1.3; }
.staffcast-list .exname{ display: block; font-size: .9em; letter-spacing: .1em; padding-top: .5em; margin-bottom: 0; line-height: 1.2; }
.staffcast-list .comment{ font-size: 0.8em;}

.cont-modal.comment{ width: 95%;  }
.comment-frame{ padding: 2em 1em ; border-radius: 1.5em; }



/* top-character */
.cont-top-character{ min-height: 86em; position: relative; margin-top:-6em; background-color: #f4f2ee; }
.cont-top-character > .inner{ padding: 9em 0 1em 0; }
.top-subtitle.character{ margin: 0 auto 2em auto; }

#CharaCont{ position: relative;  }

.cont-character-navi{ width: 100%; margin: 0 auto 1em auto; }
.character-navi ul li{ width: calc(230/3000*100em*0.75);  margin: 0 .5em;  }
.character-navi ul li a{ padding: .55em; }

.cont-character-data{ width:100%; min-height: 63em; position: relative; }
.character-data{ width:100%; min-height: 63em; position: relative; display: none; pointer-events:none;  }
.character-data .chr-img{ width: 80%; margin: 0; position: relative; top:inherit; left:inherit; }

.character-data .chr-prof{ position: absolute; top:15em; width: 100%; padding-top: 6em; margin: 0 ; overflow: hidden; }
.character-data .chr-prof .prof-frame{ width: calc(1407/3000*100em*0.55); height: calc(1407/3000*100em*0.55); position: absolute; top:0; right:-16em; z-index: 1;  }
.character-data .prof-name{ width: calc(320/3000*100em*0.8); margin: 0 0 13em auto; display: block; position: relative; z-index: 2; }
.character-data .prof-text{ width: 100%; margin: 0 auto; }
.character-data .prof-text .text{  font-size: 1.2em; }



/* top-books */
.cont-top-books{  }
.cont-top-books::before{  height: 1.8em; }
.cont-top-books > .inner{ padding: 4em 0 2em 0; }
.top-subtitle.books{ margin-bottom: 3em; }
.top-books-container{ width: 95%; padding: 3em 0 2em 0; border-radius: 1.5em; }

.books-text{ margin: 0 auto 2em auto; }

.books-list{ width: 85%; display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 auto 2em auto; }
.books-list > div{ width: calc( (1 / 3 * (100% + .5em)) - .5em ); margin-bottom: .5em; margin-right: .5em; }
.books-list > div:nth-of-type(3n){ margin-right: 0;}

.books-link a{ font-size: 1.0em; }


/* SUB-PAGE */

.sub-page .cont-upper{ }
.sub-page .cont-middle{ min-height: calc(100vh - 5em);}
.sub-page .cont-sub-content{ min-height: calc(100vh - 5em);}

/* news */
.cont-sub-news{ }
.cont-sub-news > .inner{ padding: 2em 2em; }

.sub-subtitle.news{ }



/* SM ----------------------------------------------------------------------------- */
@media (orientation: portrait) and (max-width: 767px) {

}
/* XS ----------------------------------------------------------------------------- */
@media (max-width: 543px) {

}
/* pc - large ----------------------------------------------------------------------------- */
@media (min-width: 768px) {

}
/* pc - xlarge ----------------------------------------------------------------------------- */
@media (min-width: 1200px) {

}

