@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
html { overflow-x: hidden; }

html.overnone { overflow-x: initial; }

html, body { height: 100%; font-family: 'Noto Sans', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Prompt","Montserrat","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif; font-weight: normal; }

#header { min-width: 1000px; margin: 0 auto; padding: 0; width: 100%; position: fixed; top: 0; left: 0; height: 106px; display: block; background: #fff; z-index: 100; border-top: 4px #F07BB5 solid; }

#header .inner { margin: 0 auto; padding: 0; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; }

#header .inner .logo { background: white; -webkit-transition: all 0.5s ease-out; transition: all 0.5s ease-out; width: 110px; height: auto; display: block; position: absolute; top: 10px; left: 50px; }

#header .inner .logo.show { /*display: none;*/ opacity: 0; overflow: hidden; }

#header .inner .logo.show a { pointer-events: none !important; }

#header .inner .logo img { -webkit-transition: all 0.5s ease-out; transition: all 0.5s ease-out; vertical-align: bottom; }

#header .inner .logo img:hover { opacity: 0.8; }

#header .inner .menu-btn { display: none; }

#header .inner ul.menu-list { font-family: 'Didact Gothic', sans-serif; position: absolute; top: 0; right: 50px; }

#header .inner ul.menu-list li { font-family: 'Lato', sans-serif; position: relative; list-style: none; margin: 0 0 0 20px; padding: 0; font-size: 1.6rem; /*letter-spacing: 0.05em;*/ display: inline-block; line-height: 102px; }

#header .inner ul.menu-list li a, #header .inner ul.menu-list li span { color: #424242; text-decoration: none; display: block; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; font-weight: bold; }

#header .inner ul.menu-list li a:hover, #header .inner ul.menu-list li a.active, #header .inner ul.menu-list li span:hover, #header .inner ul.menu-list li span.active { /*color: rgba(215,6,28,1);*/ opacity: 0.7; }

#header .inner ul.menu-list li ul.category-list { display: none; position: absolute; bottom: -2em; left: -120px; width: 300px; z-index: 100; line-height: 1; padding: 0 20px 20px 20px; }

#header .inner ul.menu-list li ul.category-list.open { display: block; }

#header .inner ul.menu-list li ul.category-list li { line-height: 50px; }

#header .inner ul.menu-list li ul.category-list li a { color: #424242 !important; font-size: 1.4rem; }

#header a.top { display: none !important; }

#header a.sub { display: block !important; }

#index.root #header { background: none; border-top: rgba(255, 255, 255, 0) 4px solid; position: absolute; }

#index.root #header .logo { display: none; }

#index.root #header.show { background: #fff; z-index: 100; border-top: 4px #F07BB5 solid; -webkit-animation: SlideIn .3s; animation: SlideIn .3s; position: fixed; }

#index.root #header.show .logo { display: block; }

#index.about #header .inner ul.menu-list li.about a, #index.event #header .inner ul.menu-list li.eventinfo a, #index.links #header .inner ul.menu-list li.links a, #index.termst #header .inner ul.menu-list li.terms a, #index.photobook #header .inner ul.menu-list li.photobook a { color: #F07BB5; }

@-webkit-keyframes SlideIn { 0% { opacity: 1;
    -webkit-transform: translateY(-110px);
            transform: translateY(-110px); }
  100% { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes SlideIn { 0% { opacity: 1;
    -webkit-transform: translateY(-110px);
            transform: translateY(-110px); }
  100% { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

#footer { min-width: 1000px; background: white; margin: 0 auto; width: 100%; font-size: 0; line-height: 0; }

#footer .inner { margin: 0 auto; padding: 0; width: 100%; position: relative; }

#footer .inner ul.banner { margin: 0; padding: 50px 0; text-align: center; }

#footer .inner ul.banner li { list-style: none; display: inline-block; }

#footer .inner ul.banner li:nth-child(1) { margin-right: 150px; }

#footer .inner ul.banner li img { height: 100px; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }

#footer .inner ul.banner li img:hover { opacity: 0.7; }

#footer .inner p.copyright { margin: 0; padding: 0; text-align: center; font-size: 1.2rem; font-weight: normal; line-height: 40px; height: 40px; background: #434343; color: white; }

#footer .inner p.terms { position: fixed; right: 0; bottom: 0; width: 230px; background: white; z-index: 10; opacity: 0; visibility: visible; -webkit-transition: all 0.5s ease-out; transition: all 0.5s ease-out; overflow: hidden; }

#footer .inner p.terms.show { opacity: 1; visibility: visible; height: auto !important; }

#footer .inner p.terms.show a { pointer-events: auto !important; }

#footer .inner p.terms a { /*background: rgba(255,255,255,1); color:rgba(0,0,0,1);*/ background: #ea7bba; color: white; font-size: 1.8rem; font-weight: bold; width: 100%; height: 60px; line-height: 60px; display: block; text-decoration: none; text-align: center; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; pointer-events: none; }

#footer .inner p.terms a:hover { opacity: 0.7; }

#footer #go_top { width: 40px; position: fixed; right: 10px; bottom: 130px; z-index: 2; -webkit-transition: 0.5s; transition: 0.5s; cursor: pointer; opacity: 0; }

#footer #go_top.show { opacity: 1; }

#footer #go_top.show:hover { opacity: 0.8; }

#footer #section-nav-twitter { background: #434343; background-size: cover; padding: 0; position: relative; }

#footer #section-nav-twitter .inner { width: 100%; margin: 0 auto; padding: 70px 30px; -webkit-box-sizing: border-box; box-sizing: border-box; min-width: 1000px; max-width: 1000px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; line-height: 1; position: relative; }

#footer #section-nav-twitter .inner .twitter { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; width: 47%; }

#footer #section-nav-twitter .inner .twitter h2 { font-size: 2.1rem; font-weight: bold; color: white; margin-bottom: 30px; }

#footer #section-nav-twitter .inner .twitter .box { width: 100%; height: 300px; max-width: 450px; display: block; margin: 0 auto; padding: 0; -webkit-box-sizing: border-box; box-sizing: border-box; overflow-y: scroll; }

#footer #section-nav-twitter .inner .twitter .button { padding-top: 25px; text-align: center; }

#footer #section-nav-twitter .inner .twitter .button a { font-size: 1.6rem; color: white; border-radius: 28px; width: 240px; line-height: 58px; height: 58px; border: 1px white solid; text-decoration: none; display: inline-block; text-align: center; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; background: url(../../images/icon_twitter.png) no-repeat 20px 50%; background-size: 30px auto; padding-left: 10px; }

#footer #section-nav-twitter .inner .twitter .button a:hover { opacity: 0.7; }

#footer #section-nav-twitter .inner .nav { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; width: 43%; margin-right: 10%; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

#footer #section-nav-twitter .inner .logo { width: 32%; margin-right: 18%; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

#footer #section-nav-twitter .inner ul { width: 50%; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }

#footer #section-nav-twitter .inner ul li { list-style: none; display: block; margin-bottom: 40px; }

#footer #section-nav-twitter .inner ul li a { font-size: 1.8rem; font-weight: bold; color: white; text-decoration: none; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }

#footer #section-nav-twitter .inner ul li a:before { content: '-'; display: inline-block; margin-right: 5px; }

#footer #section-nav-twitter .inner ul li a:hover { opacity: 0.7; }

#footer a.top { display: none !important; }

#footer a.sub { display: block !important; }

body#index.root #header a.top { display: block !important; }

body#index.root #header a.sub { display: none !important; }

body#index.root #footer a.top { display: block !important; }

body#index.root #footer a.sub { display: none !important; }

main { min-width: 1000px; margin: 0 auto; padding: 0; display: block; -webkit-box-sizing: border-box; box-sizing: border-box; }
