@charset "UTF-8";
/* ---------------------------------------- ■ default.css
---------------------------------------- */
/* RESET
---------------------------------------- */
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section { display: block; }

body { line-height: 1; }

body * { box-sizing: border-box; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:after, blockquote:before, q:after, q:before { content: ''; content: none; }

table { border-collapse: collapse; border-spacing: 0; }

img { max-width: 100%; height: auto; vertical-align: top; }

hr { background: 0; border: 0; width: 100%; height: 0; }

/* BASE
---------------------------------------- */
html, body { font-size: 10px; }

body { background: #071224; margin: 0; padding: 0; letter-spacing: 0.04em; line-height: 1.7; color: #fff; font-family: "游ゴシック", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo UI", osaka, sans-serif; }

/* PARTS
---------------------------------------- */
/* Ancher */
a { text-decoration: underline; color: #000; }
a:hover { text-decoration: none; }
a.inactive { pointer-events: none; cursor: default; color: #999 !important; }
a[href^="tel:"] { text-decoration: none; pointer-events: none; cursor: default; }

sup { vertical-align: top; font-size: 0.5em; }

/* Note */
.note { letter-spacing: 0; font-size: 1.4rem; }

.noteList { font-size: 1.4rem; }
.noteList li { padding-left: 1em; letter-spacing: 0; line-height: 1.5; text-indent: -1em; }

/* text-align */
.ta-c { text-align: center; }

.ta-r { text-align: right; }

.ta-l { text-align: left; }

/* vertical-align */
.va-m { vertical-align: middle; }

.va-t { vertical-align: top; }

.va-b { vertical-align: bottom; }

/* Table */
.tbl { display: table; }
.tbl .row { display: table-row; }
.tbl .cell { display: table-cell; vertical-align: middle; }
.tbl .cell.top { vertical-align: top; }
.tbl .cell.btm { vertical-align: bottom; }
.tbl.top .cell { vertical-align: top; }
.tbl.btm .cell { vertical-align: bottom; }

/* Other */
.ib { display: inline-block!important; }

.nowrap { white-space: nowrap; }

.sq::before, .sq > li::before { content: '■'; }

.dsk::before, .dsk > li::before { content: '●'; }

.dot::before { content: '・'; }

ul.dot::before { content: ''; }
ul.dot > li { padding-left: 1em; text-indent: -1em; }
ul.dot > li::before { content: '・'; }

.tri::before, .tri > li::before { content: '▼'; display: inline-block; margin-right: 5px; transform: rotate(-90deg); }

.fixedBg { background-color: #000; background-repeat: no-repeat; background-position: center center; background-attachment: fixed; background-size: cover; }

.sticky { position: -webkit-sticky; position: sticky; }

#mq { width: 0; height: 0; }

/* ▼ @media : PC */
@media screen and (min-width: 769px) { #mq { display: block; }
  .sp { display: none; } }
/* ▼ @media : SP */
@media screen and (max-width: 768px) { body { letter-spacing: 0; line-height: 1.5; }
  #mq, .pc { display: none; }
  a[href^="tel:"] { pointer-events: auto; cursor: pointer; }
  .tbl.rsp, .tbl.rsp .row, .tbl.rsp .cell { display: block; }
  .tbl.rsp .row + .row { margin-top: 1em; }
  .fixedBg { background-attachment: scroll; } }
.note, .noteList { font-size: 1.3rem; }

a { outline: none; }
a:focus { outline: none; }
a.txtLink::after { content: '＞'; }

.sprite { position: absolute; overflow: hidden; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; white-space: nowrap; clip: rect(0 0 0 0); clip-path: inset(50%); }

/* Font
---------------------------------------- */
.gotham { font-family: 'Montserrat', sans-serif; }

/* #container
---------------------------------------- */
#container { position: relative; margin: 0; padding: 0; font-size: 1.6rem; }
#container a { color: #fff; }
#container main { width: 100%; text-align: center; }
#container main .contents { max-width: 1100px; margin: 0 auto; }
#container main .contents > section h2 { margin-bottom: 35px; letter-spacing: 0.05em; line-height: 1.0; font-family: 'Montserrat', sans-serif; font-size: 3.3rem; }

#nav1 { display: flex; display: -ms-flex; display: -webkit-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; position: fixed; left: 0; top: 0; width: 100%; height: 70px; padding: 0 30px; background: #00000a; z-index: 999; transition: all 500ms ease; }
#nav1 .odd { display: flex; display: -ms-flex; display: -webkit-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#nav1 .odd h1 { max-width: 88px; }
#nav1 .odd ul { display: flex; display: -ms-flex; display: -webkit-flex; flex-wrap: wrap; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: 30px; }
#nav1 .odd ul li { margin-right: 20px; }
#nav1 .odd ul li.nop { letter-spacing: 0.1em; line-height: 1.2; text-decoration: none; color: #fff; font-family: 'Montserrat', sans-serif; font-size: 1.5rem; background: #717071; }

#nav1 .odd ul li a { letter-spacing: 0.1em; line-height: 1.2; text-decoration: none; color: #fff; font-family: 'Montserrat', sans-serif; font-size: 1.5rem; }
#nav1 .odd ul li.noop { letter-spacing: 0.1em; line-height: 1.2; text-decoration: none; color: #999; font-family: 'Montserrat', sans-serif; font-size: 1.5rem; }

#nav1 .odd ul li a:hover { text-decoration: underline; }
#nav1 .odd ul li:last-child { margin-right: 0; }
#nav1 .odd .instagram { display: none; }
#nav1 .even .btn { display: none; }
#nav1 .instagram a { display: block; padding: 10px; }
#nav1 .instagram a img { max-width: 22px; }

#nav1 .odd .twit { display: none; }
#nav1 .twit a { display: block; padding: 10px; }
#nav1 .twit a img { max-width: 22px; }

#nav1 .odd .fb{ display: none; }
#nav1 .fb a { display: block; padding: 10px; }
#nav1 .fb a img { max-width: 22px; }

#nav1 .sns{display:flex; justify-content: flex-end;}


#menu1 { display: none; position: fixed; left: 0; top: 50px; }

body.open { overflow: hidden; }

#container footer { position: relative; padding: 75px 20px 60px; background: #fff; text-align: center; color: #3e3a39; z-index: 10; }
#container footer .notes { padding-bottom: 100px; }
#container footer .notes article { max-width: 800px; margin: 0 auto; text-align: left; font-size: 1.3rem; }
#container footer .notes article ul li { padding-left: 1em; text-indent: -1em; }
#container footer .notes article ul li::before { content: '・'; }
#container footer .notes article ul + h5 { margin-top: 3em; }
#container footer .sponsor { margin-bottom: 2em; }
#container footer .coSponsors { margin-bottom: 100px; }
#container footer .coSponsors .tx1, #container footer .coSponsors .tx2 { margin-bottom: 2em; }
#container footer .coSponsors .logo { max-width: 135px; margin: 35px auto 0; }
#container footer .coSponsors .logoList { display: flex; display: -ms-flex; display: -webkit-flex; flex-wrap: wrap; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: center; -ms-justify-content: center; -webkit-justify-content: center; max-width: 910px; margin: 0 auto; }
#container footer .coSponsors .logoList li { width: calc((100% - 100px) / 3); margin: 20px 10px 0; }
#container footer h2, #container footer .period { margin-bottom: 1em; }
#container footer h2{max-width: 400px; margin: auto;}
#container footer .period, #container footer address { color: #071224; font-size: 1.7rem; }
#container footer .inquiries { margin-top: 55px; color: #071224; }
#container footer .inquiries h3 { margin-bottom: 20px; line-height: 1.1; }
#container footer .inquiries h3 span { display: block; }
#container footer .inquiries h3 span:first-child { font-family: 'Montserrat', sans-serif; font-size: 3rem; }
#container footer .inquiries h3 span:last-child { margin-top: 7px; font-size: 2rem; font-weight: bold; }
#container footer .inquiries h4 { margin-bottom: 0.5em; font-size: 1.635rem; font-weight: bold; }
#container footer .inquiries .tel a { letter-spacing: 0.05em; color: #071224; font-weight: bold; font-size: 3.2rem; }
#container footer .inquiries .open { margin-top: 1em; font-size: 1.472rem; }
#container footer .link { padding: 80px 0 25px; letter-spacing: 0.1em; font-family: 'Montserrat', sans-serif; font-size: 1.5rem; font-weight: bold; }
#container footer .link a { text-decoration: underline; color: #071224 !important; }
#container footer .link a span { text-decoration: underline; }
#container footer .link a:hover { text-decoration: none; }
#container footer .link a:hover span { text-decoration: none; }
#container footer .copyright { font-family: 'Montserrat', sans-serif; font-size: 1.1rem; }

.subCtg main #hero { padding: 110px 20px 100px; }
.subCtg main #hero h1 { font-family: 'Montserrat', sans-serif; font-size: 3.4rem; font-weight: bold; }

/* #modal
---------------------------------------- */
body.modal { overflow: hidden; }

#modal { display: none; position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; background: rgba(7, 18, 36, 0.33); font-size: 1.6rem; z-index: 999; }
#modal a { color: #071224; text-decoration: none; }
#modal a:hover { text-decoration: underline; }
#modal .wrap { display: flex; display: -ms-flex; display: -webkit-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; justify-content: center; -ms-justify-content: center; -webkit-justify-content: center; position: relative; width: 100%; height: 100%; padding: 0 10vw; }
#modal .wrap .layer { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#modal .wrap .box { position: relative; overflow: scroll; max-width: 700px; max-height: 85vh; padding: 55px 50px 60px; background: #fff; color: #071224; }

#mq { position: relative; }
.pc{
    display: block;
}
/* @media : PC
---------------------------------------- */
@media screen and (min-width: 769px) { #mq { top: 769px; } }
/* @media : SP
---------------------------------------- */
@media screen and (max-width: 768px) { #mq { top: 768px; }
  #nav1 { padding-right: 0; padding-left: 17px; height: 50px; }
  #nav1 .odd h1 { max-width: 70px; }
  #nav1 .odd ul { display: none; }
  
  #nav1 .odd .sns{display: flex; justify-content: flex-start; margin-left: 0;}
  #nav1 .odd .sns li{width: 25px; margin-left: 0px; margin-right: 10px;}
  
  #nav1 .odd .twit,
  #nav1 .odd .fb,
  #nav1 .odd .instagram { display: block; margin-left: 2vw; }
  #nav1 .odd .twit a img,
  #nav1 .odd .fb a img,
  #nav1 .odd .instagram a img { position: relative; top: 2px; max-width: 20px; }
  #nav1 .even .twit,
  #nav1 .even .fb,
  #nav1 .even .instagram { display: none; }
  
  #nav1 .even .btn { display: flex; display: -ms-flex; display: -webkit-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; justify-content: center; -ms-justify-content: center; -webkit-justify-content: center; position: relative; width: 50px; height: 50px; }
  #nav1 .even .btn a { display: block; position: relative; width: 24px; height: 24px; background: #111; }
  #nav1 .even .btn a > div { position: absolute; left: 0; top: calc(50% - 1.5px); width: 100%; height: 3px; background: #fff; transition: all 500ms ease; }
  #nav1 .even .btn a > div:nth-child(1) { top: 0; }
  #nav1 .even .btn a > div:nth-child(2) { top: calc(100% - 3px); }
  #menu1 { overflow: scroll; width: 100%; height: calc(100vh - 50px); background: #000; z-index: 999; }
  #menu1 .inner { position: relative; width: 100%; height: 100%; padding: 70px 10px 0; }
  #menu1 .inner ul { width: 77%; margin: auto; }
  #menu1 .inner ul li a { display: block; padding: 10px 0; letter-spacing: 0.1em; text-decoration: none; font-family: 'Montserrat', sans-serif; font-size: 4.8177083333vw; font-weight: bold; }
  #menu1 .inner ul li.noop { display: block; padding: 10px 0; letter-spacing: 0.1em; text-decoration: none; font-family: 'Montserrat', sans-serif; font-size: 4.8177083333vw; font-weight: bold; color: #999; }
  #menu1 .inner ul li:last-child { margin-top: 30px; }
  #menu1 .inner ul li:last-child a { font-size: 2.734375vw; font-weight: normal; }
  body.open #nav1 .even .btn a > div:nth-child(1) { top: 50%; transform: rotate(45deg); }
  body.open #nav1 .even .btn a > div:nth-child(2) { transform: scale(0) rotate(90deg); }
  body.open #nav1 .even .btn a > div:nth-child(3) { top: 50%; transform: rotate(135deg); }
  #container footer { padding-top: 60px; }
  #container footer h2 { width: 80%; margin: 0 auto; }
  #container footer .sponsor { margin-bottom: 1em; }
  #container footer .coSponsors .tx1, #container footer .coSponsors .tx2 { margin-bottom: 1em; }
  #container footer .inquiries { margin-top: 40px; }
  #container footer .link { padding-top: 40px; }
  .subCtg main #hero { padding: 50px 20px; }
  #modal .wrap .box { padding: 30px; } .pc{
    display: none;
}}
@media screen and (max-width: 480px) { #mq { top: 480px; }
  #container main .contents > section h2 { font-size: 6.875vw; }
  #menu1 .inner ul li a { font-size: 5.2083333333vw; }
    #menu1 .inner ul li.noop {
    font-size: 5.2083333333vw;
}
  #menu1 .inner ul li:last-child a { font-size: 3.75vw; }
  #container footer .notes { padding-bottom: 50px; }
  #container footer .inquiries .tel a { font-size: 6.6666666667vw; }
  #container footer .coSponsors { margin-bottom: 60px; }
  #container footer .coSponsors .logo { max-width: 100px; margin: 1em auto 0; }
  #container footer .coSponsors .logoList li { width: calc((100% - 61px) / 3); }
  #modal .wrap .box { padding: 15px; }

}
