@charset "UTF-8";
/* CSS Document */
@import "reset5.css";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap');

body { color: #231815; margin: 0; padding: 0; font-family: UniversNextPro-Regular, Univers, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif; font-size: 15px; letter-spacing: 0.088em; line-height: 0; font-weight: 400; -webkit-font-smoothing: antialiased; }
html { min-height: 100%; }

h2,h3,h4 { letter-spacing: 0.124em; line-height: 1.66em; font-weight: 500; font-feature-settings: "palt" 1 }
p { font-size: 15px; letter-spacing: 0.088em; line-height: 2em; font-weight: normal; font-feature-settings: "palt" 1 }

a:link { color: #231815; text-decoration: none }
a:visited { color: #231815; text-decoration: none }
a:hover { color: #231815; }
a:link { color: #231815 }

a.pj { display: block }
.txtl { /*opacity: 0*/ display: inline-block }

/*#wrapper { position: relative; width: 100%; z-index: 10; }*/
#wrapper {
  position: fixed;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  top: 0;
  left: 0;
  overflow: auto;
}

.fd { opacity: 0; transition: opacity 1.2s linear, transform 1.2s cubic-bezier(0.19, 1, 0.22, 1); }
.fd.active { opacity: 1; }
.sec, .std { position: relative; width: 100%; font-size: 12px; }
.handoff-sentinel{
        height: 1px;     /* 末尾に極小の当たり判定 */
    }
.sec.movie h1 { position: absolute; right: 2vw; top: 2vw; z-index: 10 }
.sec.movie p { position: absolute; left: 2vw; bottom: 2vw; font-size: 12px; font-weight: 300; color: #fff; z-index: 10 }
.mov { position: relative; background: #000; width: 100%; height: 100vh; overflow: hidden; z-index: 0 }
.mov video { position: absolute; left: 0; top: calc(50vh - 28.125vw); opacity: 0 }
.std { height: auto; }

#loader { position: fixed; left: 50%; top: 50%; margin: -16px 0 0 -16px; z-index: 1001 }
.loader svg {
	fill: none;
	stroke: #e4007f;
	stroke-width: 10;
	stroke-linecap: round;
	stroke-dasharray: 230 230;
	animation: loader 1.2s infinite cubic-bezier(.4,0,.3,1), loading 1.2s infinite linear;
	vertical-align: middle;
}
@keyframes loader {
	from { stroke-dashoffset: 230; }
	to { stroke-dashoffset: -230; }
}
@keyframes loading {
	from { transform: none; }
	to { transform: rotate(360deg); }
}
#main-contents { min-height: 100vh; padding-top: calc(4.4vw + 48px); }
#contents { position: relative; opacity: 0 }
#contents .cvr { position: absolute; left: 0; top: 0; width: 100%; height: 100vh; background: #fff }
.contents-inner { padding: 6.6vw 0 13.2vw }
#header { position: absolute; left: 0; top: 0; padding: 1.1vw 0; background: #fff; z-index: 100; }
#header.fixed { position: fixed; }
#header .logo-mark { padding: 1px 0 }
#header .logo-mark img { height: 46px }
#header .logotype { position: absolute; right: 40px; top: 16.5px }
#header .header-inner { position: relative; padding: 0 2.2vw }
.gnav { position: absolute; left: calc(120px + 2.2vw); top: 0 }
.gnav li { display: inline-block; position: relative }
.gnav li a { position: relative; display: block; padding: 0 1em; line-height: 48px; font-size: 14px; transition: all 0.2s }
.gnav li a i { position: relative; z-index: 1 }
.gnav li.current>a { color: #fff }
.gnav li a::after { content: ""; position: absolute; left: 0; top: 13px; width: 0; height: 22px; background: #008cd6; border-radius: 11px; transition: all 0.2s }
.gnav li:nth-child(3) a::after { background: #fcc800; }
.gnav li:nth-child(4) a::after { background: #e4007f; }
.gnav li:nth-child(5) a::after { background: #00a040; }
.gnav li:nth-child(6) a::after { background: #005bac; }
.gnav li:nth-child(7) a::after { background: #f39800; }
.gnav li:nth-child(8) a::after { background: #7d8488; }
.gnav li:nth-child(9) a::after { background: #008cd6; }
.gnav li:nth-child(10) a::after { background: #fcc800; }
.gnav li.current>a::after { width: 100% }
.gnav li a:hover { color: #fff }
.gnav li a:hover::after { width: 100% }
#sp-menu { display: none }
#btn-menu { display: none }
@media screen and (max-width: 1440px) {
   #header .logotype { right: 20px; }
    .gnav { position: absolute; left: calc(100px + 2.2vw); top: 0 }
}
@media screen and (max-width: 1400px) {
   #header .logotype { display: none }
    .gnav { position: absolute; left: calc(120px + 2.2vw); top: 0 }
}
@media screen and (max-width: 1140px) {
    .gnav { position: absolute; left: calc(100px + 2.2vw); top: 0 }
    .gnav li a { padding: 0 1em; line-height: 48px; font-size: 13px; }
}
@media screen and (max-width: 1080px) {
    #sp-menu { position: fixed; right: 0; top: 0; width: 100%; height: 100vh; background: rgba(255,255,255,0.95); overflow-y: scroll; -webkit-overflow-scrolling: touch; z-index: 9999; display: none }
    ::-webkit-full-page-media, :future, :root #sp-menu {
        height: 100dvh;
    }
    .gnav { display: none }
    #sp-menu .sp-menu-inner { padding: 0 4.4vw }
    #sp-menu .gnav { display: block; position: relative; left: inherit; top: inherit; margin-top: 48px }
    #header .logotype { display: block; right: auto; left: 136px; top: 16.5px }
    .gnav li { display: block; position: relative }
    .gnav li a { position: relative; display: block; padding: 0 2em; line-height: 48px; font-size: 14px; transition: all 0.2s }
    #btn-menu { display: block; position: absolute; right: 2.2vw; top: 0.55vw; width: 60px; height: 60px; cursor: pointer; z-index: 10000 }
    #btn-menu span { position: absolute; left: 50%; top: 50%; width: 24px; height: 1.5px; background: #7d8488; display: block; transition: all 0.2s }
    #btn-menu span.ln1 { left: 50%; top: 50%; margin: -5px 0 0 -12px; }
    #btn-menu span.ln2 { right: 50%; top: 50%; margin: 5px 0 0 -12px; }
    #btn-menu:hover span.ln1 { width: 30px; margin: -3px 0 0 -15px; }
    #btn-menu:hover span.ln2 { width: 30px; margin: 3px 0 0 -15px; }
    #btn-menu.active span.ln1 { transform: rotate(45deg); width: 24px; margin: 0 0 0 -15px; }
    #btn-menu.active span.ln2 { transform: rotate(-45deg); width: 24px; margin: 0 0 0 -15px; }
}

#footer { padding: 0 0 4.4vw }
#footer .pmcs { position: relative; padding: 0 8.8vw; overflow: hidden }
#footer .pmcs .credit { position: absolute; right: 1.2vw; bottom: 20px; width: 8.8vw }
#footer .pmcs .pmcs-inner { position: relative }
#footer .pmcs .pmcs-inner .pms::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #fff; transition: opacity 0.6s linear; }
#footer .pmcs .pmcs-inner .pms02::before { transition-delay: 0.24s }
#footer .pmcs .pmcs-inner .pms03::before { transition-delay: 0.48s }
#footer .pmcs .pmcs-inner .pms04::before { transition-delay: 0.72s }
#footer .pmcs .pmcs-inner .pms05::before { transition-delay: 0.96s }
#footer .pmcs .pmcs-inner .pms img { position: relative; opacity: 0 }
#footer .pmcs .pmcs-inner .pms01 { position: absolute; left: 0.55%; top: 0; width: 17.39%; height: 100% }
#footer .pmcs .pmcs-inner .pms02 { position: absolute; left: 20.44%; top: 0; width: 14.17%; height: 100%; }
#footer .pmcs .pmcs-inner .pms03 { position: absolute; left: 43.44%; top: 0; width: 11.5%; height: 100%; }
#footer .pmcs .pmcs-inner .pms04 { position: absolute; left: 60.28%; top: 0; width: 16.56%; height: 100%; }
#footer .pmcs .pmcs-inner .pms05 { position: absolute; left: 81.78%; top: 0; width: 17.72%; height: 100%; }
#footer .pmcs .pmcs-inner .pms01 img { margin-top: 29%; transform: translateY(-20%); transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
#footer .pmcs .pmcs-inner .pms02 img { margin-top: 10%; transform: translateY(30%); transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.075, 0.82, 0.165, 1); transition-delay: 0.24s }
#footer .pmcs .pmcs-inner .pms03 img { margin-top: 0; transform: translateY(50%); transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.19, 1, 0.22, 1); transition-delay: 0.48s }
#footer .pmcs .pmcs-inner .pms04 img { margin-top: 11.67%; transform: translateY(-20%); transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); transition-delay: 0.72s }
#footer .pmcs .pmcs-inner .pms05 img { margin-top: 24%; transform: translateY(-30%); transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.075, 0.82, 0.165, 1); transition-delay: 0.96s }
#footer .pmcs.active .pmcs-inner .pms::before { opacity: 0; }
#footer .pmcs.active .pmcs-inner .pms img { transform: translateY(0); opacity: 1 }
#footer .pmcs .pms-sp { display: none }
#footer p { text-align: center; font-size: 14px; margin-top: 3em }
#footer a:hover { color: #c7c7c7 }
.lang { text-align: center; margin-top: 5em }
.lang li { display: inline-block; position: relative; font-size: 0; }
.lang li::after { content: "|"; position: absolute; right: -1px; top: 50%; font-size: 14px; color: #c7c7c7 }
.lang li:last-child::after { display: none }
.lang li a { display: block; position: relative; font-size: 16px; line-height: 2em }
.lang li a.current { font-weight: bold; color: #469ee3 }
.f-nav { display: none; padding: 0 4.4vw; margin-top: 4em; text-align: center }
.f-nav li { display: inline-block; margin: 0.5em 0 }
.f-nav li a { position: relative; display: block; padding: 0 2em; line-height: 2em }
.f-nav li a::after { content: "/"; position: absolute; right: -0.5em; top: 0; color: #c7c7c7 }
.f-nav li a:hover { color: #c7c7c7 }
@media screen and (max-width: 1080px) {
    .f-nav { display: block; }
}

.inner-block { position: relative; padding: 0 8.8vw; margin: 0 auto; max-width: 880px; zoom:1; }
.inner-block.pt { padding-top: 8.8vw }
.inner-block::after { content:""; clear:both; display:block; height:0; }
.inner-block .column { float: left; width: 50%; }

.prologue h2 { font-size: 24px; margin-bottom: 1.66em }
.prologue h2 span.fs { font-size: 20px; margin-bottom: 0.5em }
.prologue p { font-size: 16px }
span.tit { color: #008cd6 }
span.tit .word1 .char2, span.tit .word2 .char4, span.tit .word4 .char2 { color: #fcc800; }
span.tit .word1 .char3, span.tit .word2 .char5, span.tit .word4 .char3 { color: #e4007f; }
span.tit .word1 .char4, span.tit .word3 .char1, span.tit .word4 .char4 { color: #00a040; }
span.tit .word2 .char1, span.tit .word3 .char2, span.tit .word4 .char5 { color: #005bac; }
span.tit .word2 .char2, span.tit .word3 .char3, span.tit .word4 .char6 { color: #f39800; }
span.tit .word2 .char3, span.tit .word3 .char4, span.tit .word4 .char7 { color: #7d8488; }
p.sign { margin-top: 2em }

.song h2 { font-size: 16px; line-height: 2em; margin-bottom: 4em }
.song h3 { font-size: 16px; line-height: 2em; margin-bottom: 4em }
.song .verse-2 { padding-top: 6em }
.song .verse-2.eng { padding-top: 12em }
.sessions h2 { font-size: 24px; margin-bottom: 1.66em; color: #e4007f }
.sessions h3 { font-size: 18px; margin-bottom: 3em }
.sessions p { margin-bottom: 1em }
.sessions p.mt { margin-top: 6em }
.cmn h3.tt { font-size: 20px; line-height: 2em; margin-bottom: 3em }
.cmn h2 { font-size: 16px; line-height: 2em; margin-bottom: 2em }
.cmn h2 .name { font-size: 22px; margin-bottom: 0.5em }
.narration figcaption { font-size: 16px; margin-bottom: 2em }
.portrait { max-width: 480px; margin: 2em 0 }
.portrait-m { max-width: 640px }
.hi-links { display: block; line-height: 2em; margin-top: 2em }
.hi-links li { display: block; margin: 0.5em 0 }
.hi-links li a:hover { text-decoration: underline }
.iloveny { padding-top: 2em }
.iloveny .logo { width: 280px; display: inline-block; margin-right: 2.2vw }
.iloveny p { display: inline-block; }
.pemusee { position: relative; text-align: right; margin-top: -100px; z-index: 0 }
.pemusee p { position: absolute; left: 0; top: 200px; font-size: 14px; text-align: left; z-index: 1 }
.colums-a { margin-top: -100px; zoom:1; }
.colums-a::after { content:""; clear:both; display:block; height:0; }
.colums-a p { display: block; float: left; margin-right: 4.4vw }
.npo-eip h3.tt { font-size: 20px; line-height: 2em; margin-bottom: 2em }
.npo-eip h2 { font-size: 20px; line-height: 2em; margin-bottom: 4em }
.vi { width: 75%; margin-top: 8em }
.duo { position: relative; animation: floating-y 1.8s ease-in-out infinite alternate-reverse; }
.duo::before { content: ""; position: absolute; left: 0; top: 0; display: block; width: 50%; height: 100%; border-radius: 50%; background: #ffd900; opacity: 0; transform: scale(0); transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.6,  1.275) }
.duo::after { content: ""; position: absolute; right: 0; top: 0; display: block; width: 50%; height: 100%; border-radius: 50%; background: #ffd900; opacity: 0; transform: scale(0); transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.32,  1.275); transition-delay: 0.08s; }
.duo.active::before { opacity: 1; transform: scale(1); }
.duo.active::after { opacity: 1; transform: scale(1); }
.duo-00 { position: absolute; right: 2%; top: 0; width: 20.8vw; height: 10.4vw }
.vi-block { padding-top: 22vw; animation: floating-x 7.6s ease-in-out infinite alternate-reverse; }
.duo-01 { width: 35vw; height: 17.5vw; margin-left: 28.5vw }
.duo-01::before, .duo-01::after { background: #e4007f }
.duo-02 { width: 17.6vw; height: 8.8vw; margin-left: 9.4vw }
.duo-02::before, .duo-02::after { background: #231815 }
.duo-03 { width: 50vw; height: 25vw; margin-left: 38vw }
.duo-03::before, .duo-03::after { background: #009d42 }
.duo-04 { width: 28.8vw; height: 14.4vw; margin-left: 17.8vw }
.duo-04::before, .duo-04::after { background: #f39800 }
.duo-05 { width: 38.4vw; height: 19.2vw; margin-left: 41.4vw }
.duo-05::before, .duo-05::after { background: #005bac }
.duo-06 { width: 14vw; height: 7vw; margin-left: 31vw }
.duo-06::before, .duo-06::after { background: #e50046 }
.duo-07 { width: 29vw; height: 14.5vw; margin-left: 59.8vw }
.duo-07::before, .duo-07::after { background: #b09d60 }
.duo-08 { width: 38.2vw; height: 19.1vw; margin-left: 13.2vw }
.duo-08::before, .duo-08::after { background: #a9368e }
.duo-09 { width: 23.2vw; height: 11.6vw; margin-left: 50vw }
.duo-09::before, .duo-09::after { background: #00a0e9 }
@keyframes floating-x {
  0% {
    transform: translateX(-2%);
  }
  100% {
    transform: translateX(2%);
  }
}
@keyframes floating-y {
  0% {
    transform: translateY(-8%);
  }
  100% {
    transform: translateY(8%);
  }
}

#lay { position: fixed; width: 100%; height: 100vh; left: 0; bottom: -100vh; background: #fff; display: none; z-index: 100 }
#lower #lay { bottom: 0; display: block; }
.overlay { position: fixed; left: 0; top: 0; inset: 0; background: black; display: none; z-index: 99; }
.overlay video { width: 100%; height: 100%; object-fit: contain; }

.clr-1 { color: #008cd6 }
.clr-2 { color: #fcc800 }
.clr-3 { color: #e4007f }
.clr-4 { color: #00a040 }
.clr-5 { color: #005bac }
.clr-6 { color: #f39800 }
.clr-7 { color: #7d8488 }
.clr-8 { color: #b09d60 }
.clr-9 { color: #ed6c00 }
.clr-10 { color: #a80083 }
.clr-11 { color: #1d2088 }
.clr-12 { color: #c452b4 }
.pt-0 { padding-top: 0 !important }
.mb-1 { margin-bottom: 1em !important }
.mt-3 { margin-top: 3em !important }
.mt-6 { margin-top: 6em !important }
.lh-1 { line-height: 1em !important }
.pc-none { display: none !important }
.sp-none { display: block !important }


@media screen and (max-width: 780px) {
    body { font-size: 12px; letter-spacing: 0.088em; }
    h2,h3,h4 { letter-spacing: 0.124em; line-height: 1.66em; }
    p { font-size: 12px; letter-spacing: 0.088em; line-height: 1.9em; }
    
    .std{
        overflow: auto;
        -webkit-overflow-scrolling: touch; /* iOS慣性スクロール */
        /* 高さ指定はケースに応じて：
        1) セクション全体を自然高さにしたい → 高さ指定しない（setHeights:false前提）
        2) 画面内に収めて中身だけスクロール → height: 100vh; を付与 */
    }
    .handoff-sentinel{
        height: 1px;/* 末尾に極小の当たり判定 */
    }
    #wrapper { scroll-snap-type: y proximity; }
    .sec { scroll-snap-align: start; scroll-snap-stop: always; }
    .sec.movie h1 { position: absolute; right: 2vw; top: calc(50vh - 28.125vw - 40px); z-index: 10 }
    .sec.movie h1 img { width: 92vw; height: auto }
    .sec.movie p { position: absolute; left: 2vw; bottom: 2vw; font-size: 12px; font-weight: 300; color: #fff; z-index: 10 }
    .mov { position: relative; background: #000; width: 100%; height: 100vh; overflow: hidden; z-index: 0 }
    ::-webkit-full-page-media, :future, :root .mov {
        height: 100dvh;
    }
    .mov video { position: absolute; left: 0; top: calc(50vh - 28.125vw); opacity: 0 }
    .movies { background: #000; text-align: center; padding: 30.8vw 0 }
    .movies h1 { margin-bottom: 15.4vw }
    .movies p { font-size: 11px; font-weight: 300; color: #fff; padding: 0 2.2vw; margin-top: 1em; text-align: left }
    .movies .mb { margin-bottom: 30.8vw }
    
    #main-contents { min-height: calc(100vh - 4.4vw - 48px); padding-top: calc(4.4vw + 48px); }
    #contents { position: relative; opacity: 0 }
    #contents .cvr { position: absolute; left: 0; top: 0; width: 100%; height: 100vh; background: #fff }
    .contents-inner { padding: 6.6vw 0 16.5vw }
    #header { position: absolute; left: 0; top: 0; padding: 20px 0; background: #fff; z-index: 100; }
    #header.fixed { position: absolute; }
    #header .logo-mark { padding: 0 }
    #header .logo-mark img { width: 75vw; height: auto }
    #header .logotype { display: none; right: auto; left: 96px; top: 12px }
    #header .logotype img { height: 12px }
    #header .header-inner { position: relative; padding: 0 2.2vw }
    #sp-menu { position: fixed; right: 0; top: 0; width: 100%; height: 100vh; padding-top: 0; background: rgba(255,255,255,0.95); overflow-y: scroll; -webkit-overflow-scrolling: touch; z-index: 9999; display: none }
    ::-webkit-full-page-media, :future, :root #sp-menu {
        height: 100dvh;
    }
    #sp-menu .gnav { margin-top: 60px }
    #btn-menu { position: fixed; right: 0; top: 0; width: 60px; height: 60px; cursor: pointer; z-index: 10000 }
    #btn-menu:not(.active):hover span.ln1 { width: 24px; margin: -5px 0 0 -12px; }
    #btn-menu:not(.active):hover span.ln2 { width: 24px; margin: 5px 0 0 -12px; }
    
    #footer { padding: 0 0 6.6vw }
    #footer .pmcs { position: relative; padding: 0 2.2vw; text-align: center }
    #footer .pmcs .credit { position: relative; right: inherit; bottom: inherit; width: 24vw; margin: 1em auto 0 }
    #footer .pmcs .pms-sp { position: relative; display: block; padding: 8.8vw; transform: translateY(13.2vw); opacity: 0; transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
    #footer .pmcs .pms-sp::after { content: ""; position: absolute; display: block; right: 0; bottom: 0; width: 36%; height: 36%; background: #fff; transition: opacity 0.6s linear; transition-delay: 0.6s; }
    #footer .pmcs.active .pms-sp { transform: translateY(0); opacity: 1 }
    #footer .pmcs.active .pms-sp::after { opacity: 0 }
    #footer p { text-align: center; font-size: 12px; margin-top: 3em }
    #footer a:hover { color: #c7c7c7 }
    .lang { text-align: center; margin-top: 3em; }
    .lang li::after { font-size: 12px; }
    .lang li a { display: block; position: relative; font-size: 14px; }
    .f-nav { display: block; padding: 0; margin-top: 4em; text-align: center }
    .f-nav li { display: inline-block; margin: 0.5em 0 }
    .f-nav li a { position: relative; display: block; padding: 0 1.5em }
    .f-nav li a::after { content: "/"; position: absolute; right: -0.5em; top: 0; color: #c7c7c7 }
    .f-nav li a:hover { color: #c7c7c7 }
    
    #lay { position: fixed; width: 100%; height: 100vh; left: 0; bottom: -100vh; background: #fff; display: none; z-index: 100 }
    #lower #lay { bottom: 0; display: block; }
    
    .inner-block { position: relative; padding: 0 4.4vw; margin: 0 auto; }
    .inner-block.pt { padding-top: 13.2vw }
    .inner-block::after { content:""; clear:both; display:block; height:0; }
    .inner-block .column { float: none; width: 100%; }
    
    .prologue h2 { font-size: 18px; margin-bottom: 1.66em }
    .prologue h2 span.fs { font-size: 16px; margin-bottom: 0.5em }
    .prologue p { font-size: 14px }
    p.sign img { width: 120px }
    .song h2 { font-size: 14px; }
    .song h3 { font-size: 14px; }
    .song .verse-2 { padding-top: 4em }
    .song .verse-2.eng { padding-top: 4em }
    .sessions h2 { font-size: 18px; margin-bottom: 1.66em; color: #e4007f }
    .sessions h3 { font-size: 16px; margin-bottom: 2em }
    .sessions p.mt { margin-top: 4em }
    .cmn h3.tt { font-size: 18px; line-height: 2em; margin-bottom: 2em }
    .cmn h2 { font-size: 14px; line-height: 2em; margin-bottom: 1.66em }
    .cmn h2 .name { font-size: 20px; margin-bottom: 0.5em }
    .narration figcaption { font-size: 14px; margin-bottom: 2em }
    .iloveny { padding-top: 2em }
    .iloveny .logo { width: 200px; display: block; margin-right: 0 }
    .iloveny p { margin-top: 1em }
    .pemusee { position: relative; text-align: right; margin-top: -6.6vw }
    .pemusee .pms { width: 76% }
    .pemusee p { position: relative; left: inherit; top: inherit; font-size: 11px; margin-top: -6em }
    .colums-a { margin-top: 6.6vw; zoom:1; }
    .colums-a::after { content:""; clear:both; display:block; height:0; }
    .colums-a p { display: block; float: left; margin-right: 4.4vw }
    .npo-eip h3.tt { font-size: 18px; line-height: 2em; margin-bottom: 2em }
    .npo-eip h2 { font-size: 14px; line-height: 2em; margin-bottom: 4em }
    .vi { width: auto; margin-top: 4em; padding: 0 7.4vw }
    
    .duo-00 { position: absolute; right: 4.4vw; top: 0; width: 24vw; height: 12vw }
    
    
	.pc-none { display: block !important }
	.sp-none { display: none !important }
    
}

@media screen and (max-width: 440px) {

}


