@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=M+PLUS+1:wght@300;400&family=Noto+Sans+JP:wght@300;400;700;900&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: top;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  margin: 0;
  padding: 0; }

input, select {
  margin: 0;
  padding: 0;
  vertical-align: middle; }

textarea {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: middle; }

img {
  vertical-align: bottom;
  font-size: 0;
  line-height: 0; }

address {
  font-style: normal; }

sup {
  vertical-align: text-top; }

em {
  font-style: normal; }

.mt0 {
  margin-top: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt65 {
  margin-top: 65px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt75 {
  margin-top: 75px !important; }

.mt80 {
  margin-top: 80px !important; }

.mt85 {
  margin-top: 85px !important; }

.mt90 {
  margin-top: 90px !important; }

.mt95 {
  margin-top: 95px !important; }

.mt100 {
  margin-top: 100px !important; }

.mt105 {
  margin-top: 105px !important; }

.mt110 {
  margin-top: 110px !important; }

.mt115 {
  margin-top: 115px !important; }

.mt120 {
  margin-top: 120px !important; }

.mt125 {
  margin-top: 125px !important; }

.mt130 {
  margin-top: 130px !important; }

.mt135 {
  margin-top: 135px !important; }

.mt140 {
  margin-top: 140px !important; }

.mt145 {
  margin-top: 145px !important; }

.mt150 {
  margin-top: 150px !important; }

.mt0-sp {
  margin-top: 0px !important; }

.mt5-sp {
  margin-top: 5px !important; }

.mt10-sp {
  margin-top: 10px !important; }

.mt15-sp {
  margin-top: 15px !important; }

.mt20-sp {
  margin-top: 20px !important; }

.mt25-sp {
  margin-top: 25px !important; }

.mt30-sp {
  margin-top: 30px !important; }

.mt35-sp {
  margin-top: 35px !important; }

.mt40-sp {
  margin-top: 40px !important; }

.mt45-sp {
  margin-top: 45px !important; }

.mt50-sp {
  margin-top: 50px !important; }

.mt55-sp {
  margin-top: 55px !important; }

.mt60-sp {
  margin-top: 60px !important; }

.mt65-sp {
  margin-top: 65px !important; }

.mt70-sp {
  margin-top: 70px !important; }

.mt75-sp {
  margin-top: 75px !important; }

.mt80-sp {
  margin-top: 80px !important; }

.mt85-sp {
  margin-top: 85px !important; }

.mt90-sp {
  margin-top: 90px !important; }

.mt95-sp {
  margin-top: 95px !important; }

.mt100-sp {
  margin-top: 100px !important; }

.mt105-sp {
  margin-top: 105px !important; }

.mt110-sp {
  margin-top: 110px !important; }

.mt115-sp {
  margin-top: 115px !important; }

.mt120-sp {
  margin-top: 120px !important; }

.mt125-sp {
  margin-top: 125px !important; }

.mt130-sp {
  margin-top: 130px !important; }

.mt135-sp {
  margin-top: 135px !important; }

.mt140-sp {
  margin-top: 140px !important; }

.mt145-sp {
  margin-top: 145px !important; }

.mt150-sp {
  margin-top: 150px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb85 {
  margin-bottom: 85px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb95 {
  margin-bottom: 95px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mb105 {
  margin-bottom: 105px !important; }

.mb110 {
  margin-bottom: 110px !important; }

.mb115 {
  margin-bottom: 115px !important; }

.mb120 {
  margin-bottom: 120px !important; }

.mb125 {
  margin-bottom: 125px !important; }

.mb130 {
  margin-bottom: 130px !important; }

.mb135 {
  margin-bottom: 135px !important; }

.mb140 {
  margin-bottom: 140px !important; }

.mb145 {
  margin-bottom: 145px !important; }

.mb150 {
  margin-bottom: 150px !important; }

.mb0-sp {
  margin-bottom: 0px !important; }

.mb5-sp {
  margin-bottom: 5px !important; }

.mb10-sp {
  margin-bottom: 10px !important; }

.mb15-sp {
  margin-bottom: 15px !important; }

.mb20-sp {
  margin-bottom: 20px !important; }

.mb25-sp {
  margin-bottom: 25px !important; }

.mb30-sp {
  margin-bottom: 30px !important; }

.mb35-sp {
  margin-bottom: 35px !important; }

.mb40-sp {
  margin-bottom: 40px !important; }

.mb45-sp {
  margin-bottom: 45px !important; }

.mb50-sp {
  margin-bottom: 50px !important; }

.mb55-sp {
  margin-bottom: 55px !important; }

.mb60-sp {
  margin-bottom: 60px !important; }

.mb65-sp {
  margin-bottom: 65px !important; }

.mb70-sp {
  margin-bottom: 70px !important; }

.mb75-sp {
  margin-bottom: 75px !important; }

.mb80-sp {
  margin-bottom: 80px !important; }

.mb85-sp {
  margin-bottom: 85px !important; }

.mb90-sp {
  margin-bottom: 90px !important; }

.mb95-sp {
  margin-bottom: 95px !important; }

.mb100-sp {
  margin-bottom: 100px !important; }

.mb105-sp {
  margin-bottom: 105px !important; }

.mb110-sp {
  margin-bottom: 110px !important; }

.mb115-sp {
  margin-bottom: 115px !important; }

.mb120-sp {
  margin-bottom: 120px !important; }

.mb125-sp {
  margin-bottom: 125px !important; }

.mb130-sp {
  margin-bottom: 130px !important; }

.mb135-sp {
  margin-bottom: 135px !important; }

.mb140-sp {
  margin-bottom: 140px !important; }

.mb145-sp {
  margin-bottom: 145px !important; }

.mb150-sp {
  margin-bottom: 150px !important; }

.pb24 {
  padding-bottom: 24px !important; }

.w0per {
  width: 0% !important; }

.w1per {
  width: 1% !important; }

.w2per {
  width: 2% !important; }

.w3per {
  width: 3% !important; }

.w4per {
  width: 4% !important; }

.w5per {
  width: 5% !important; }

.w6per {
  width: 6% !important; }

.w7per {
  width: 7% !important; }

.w8per {
  width: 8% !important; }

.w9per {
  width: 9% !important; }

.w10per {
  width: 10% !important; }

.w11per {
  width: 11% !important; }

.w12per {
  width: 12% !important; }

.w13per {
  width: 13% !important; }

.w14per {
  width: 14% !important; }

.w15per {
  width: 15% !important; }

.w16per {
  width: 16% !important; }

.w17per {
  width: 17% !important; }

.w18per {
  width: 18% !important; }

.w19per {
  width: 19% !important; }

.w20per {
  width: 20% !important; }

.w21per {
  width: 21% !important; }

.w22per {
  width: 22% !important; }

.w23per {
  width: 23% !important; }

.w24per {
  width: 24% !important; }

.w25per {
  width: 25% !important; }

.w26per {
  width: 26% !important; }

.w27per {
  width: 27% !important; }

.w28per {
  width: 28% !important; }

.w29per {
  width: 29% !important; }

.w30per {
  width: 30% !important; }

.w31per {
  width: 31% !important; }

.w32per {
  width: 32% !important; }

.w33per {
  width: 33% !important; }

.w34per {
  width: 34% !important; }

.w35per {
  width: 35% !important; }

.w36per {
  width: 36% !important; }

.w37per {
  width: 37% !important; }

.w38per {
  width: 38% !important; }

.w39per {
  width: 39% !important; }

.w40per {
  width: 40% !important; }

.w41per {
  width: 41% !important; }

.w42per {
  width: 42% !important; }

.w43per {
  width: 43% !important; }

.w44per {
  width: 44% !important; }

.w45per {
  width: 45% !important; }

.w46per {
  width: 46% !important; }

.w47per {
  width: 47% !important; }

.w48per {
  width: 48% !important; }

.w49per {
  width: 49% !important; }

.w50per {
  width: 50% !important; }

.w51per {
  width: 51% !important; }

.w52per {
  width: 52% !important; }

.w53per {
  width: 53% !important; }

.w54per {
  width: 54% !important; }

.w55per {
  width: 55% !important; }

.w56per {
  width: 56% !important; }

.w57per {
  width: 57% !important; }

.w58per {
  width: 58% !important; }

.w59per {
  width: 59% !important; }

.w60per {
  width: 60% !important; }

.w61per {
  width: 61% !important; }

.w62per {
  width: 62% !important; }

.w63per {
  width: 63% !important; }

.w64per {
  width: 64% !important; }

.w65per {
  width: 65% !important; }

.w66per {
  width: 66% !important; }

.w67per {
  width: 67% !important; }

.w68per {
  width: 68% !important; }

.w69per {
  width: 69% !important; }

.w70per {
  width: 70% !important; }

.w71per {
  width: 71% !important; }

.w72per {
  width: 72% !important; }

.w73per {
  width: 73% !important; }

.w74per {
  width: 74% !important; }

.w75per {
  width: 75% !important; }

.w76per {
  width: 76% !important; }

.w77per {
  width: 77% !important; }

.w78per {
  width: 78% !important; }

.w79per {
  width: 79% !important; }

.w80per {
  width: 80% !important; }

.w81per {
  width: 81% !important; }

.w82per {
  width: 82% !important; }

.w83per {
  width: 83% !important; }

.w84per {
  width: 84% !important; }

.w85per {
  width: 85% !important; }

.w86per {
  width: 86% !important; }

.w87per {
  width: 87% !important; }

.w88per {
  width: 88% !important; }

.w89per {
  width: 89% !important; }

.w90per {
  width: 90% !important; }

.w91per {
  width: 91% !important; }

.w92per {
  width: 92% !important; }

.w93per {
  width: 93% !important; }

.w94per {
  width: 94% !important; }

.w95per {
  width: 95% !important; }

.w96per {
  width: 96% !important; }

.w97per {
  width: 97% !important; }

.w98per {
  width: 98% !important; }

.w99per {
  width: 99% !important; }

.w100per {
  width: 100% !important; }

@media screen and (max-width: 767px) {
  .w0per-sp {
    width: 0% !important; } }

@media screen and (max-width: 767px) {
  .w1per-sp {
    width: 1% !important; } }

@media screen and (max-width: 767px) {
  .w2per-sp {
    width: 2% !important; } }

@media screen and (max-width: 767px) {
  .w3per-sp {
    width: 3% !important; } }

@media screen and (max-width: 767px) {
  .w4per-sp {
    width: 4% !important; } }

@media screen and (max-width: 767px) {
  .w5per-sp {
    width: 5% !important; } }

@media screen and (max-width: 767px) {
  .w6per-sp {
    width: 6% !important; } }

@media screen and (max-width: 767px) {
  .w7per-sp {
    width: 7% !important; } }

@media screen and (max-width: 767px) {
  .w8per-sp {
    width: 8% !important; } }

@media screen and (max-width: 767px) {
  .w9per-sp {
    width: 9% !important; } }

@media screen and (max-width: 767px) {
  .w10per-sp {
    width: 10% !important; } }

@media screen and (max-width: 767px) {
  .w11per-sp {
    width: 11% !important; } }

@media screen and (max-width: 767px) {
  .w12per-sp {
    width: 12% !important; } }

@media screen and (max-width: 767px) {
  .w13per-sp {
    width: 13% !important; } }

@media screen and (max-width: 767px) {
  .w14per-sp {
    width: 14% !important; } }

@media screen and (max-width: 767px) {
  .w15per-sp {
    width: 15% !important; } }

@media screen and (max-width: 767px) {
  .w16per-sp {
    width: 16% !important; } }

@media screen and (max-width: 767px) {
  .w17per-sp {
    width: 17% !important; } }

@media screen and (max-width: 767px) {
  .w18per-sp {
    width: 18% !important; } }

@media screen and (max-width: 767px) {
  .w19per-sp {
    width: 19% !important; } }

@media screen and (max-width: 767px) {
  .w20per-sp {
    width: 20% !important; } }

@media screen and (max-width: 767px) {
  .w21per-sp {
    width: 21% !important; } }

@media screen and (max-width: 767px) {
  .w22per-sp {
    width: 22% !important; } }

@media screen and (max-width: 767px) {
  .w23per-sp {
    width: 23% !important; } }

@media screen and (max-width: 767px) {
  .w24per-sp {
    width: 24% !important; } }

@media screen and (max-width: 767px) {
  .w25per-sp {
    width: 25% !important; } }

@media screen and (max-width: 767px) {
  .w26per-sp {
    width: 26% !important; } }

@media screen and (max-width: 767px) {
  .w27per-sp {
    width: 27% !important; } }

@media screen and (max-width: 767px) {
  .w28per-sp {
    width: 28% !important; } }

@media screen and (max-width: 767px) {
  .w29per-sp {
    width: 29% !important; } }

@media screen and (max-width: 767px) {
  .w30per-sp {
    width: 30% !important; } }

@media screen and (max-width: 767px) {
  .w31per-sp {
    width: 31% !important; } }

@media screen and (max-width: 767px) {
  .w32per-sp {
    width: 32% !important; } }

@media screen and (max-width: 767px) {
  .w33per-sp {
    width: 33% !important; } }

@media screen and (max-width: 767px) {
  .w34per-sp {
    width: 34% !important; } }

@media screen and (max-width: 767px) {
  .w35per-sp {
    width: 35% !important; } }

@media screen and (max-width: 767px) {
  .w36per-sp {
    width: 36% !important; } }

@media screen and (max-width: 767px) {
  .w37per-sp {
    width: 37% !important; } }

@media screen and (max-width: 767px) {
  .w38per-sp {
    width: 38% !important; } }

@media screen and (max-width: 767px) {
  .w39per-sp {
    width: 39% !important; } }

@media screen and (max-width: 767px) {
  .w40per-sp {
    width: 40% !important; } }

@media screen and (max-width: 767px) {
  .w41per-sp {
    width: 41% !important; } }

@media screen and (max-width: 767px) {
  .w42per-sp {
    width: 42% !important; } }

@media screen and (max-width: 767px) {
  .w43per-sp {
    width: 43% !important; } }

@media screen and (max-width: 767px) {
  .w44per-sp {
    width: 44% !important; } }

@media screen and (max-width: 767px) {
  .w45per-sp {
    width: 45% !important; } }

@media screen and (max-width: 767px) {
  .w46per-sp {
    width: 46% !important; } }

@media screen and (max-width: 767px) {
  .w47per-sp {
    width: 47% !important; } }

@media screen and (max-width: 767px) {
  .w48per-sp {
    width: 48% !important; } }

@media screen and (max-width: 767px) {
  .w49per-sp {
    width: 49% !important; } }

@media screen and (max-width: 767px) {
  .w50per-sp {
    width: 50% !important; } }

@media screen and (max-width: 767px) {
  .w51per-sp {
    width: 51% !important; } }

@media screen and (max-width: 767px) {
  .w52per-sp {
    width: 52% !important; } }

@media screen and (max-width: 767px) {
  .w53per-sp {
    width: 53% !important; } }

@media screen and (max-width: 767px) {
  .w54per-sp {
    width: 54% !important; } }

@media screen and (max-width: 767px) {
  .w55per-sp {
    width: 55% !important; } }

@media screen and (max-width: 767px) {
  .w56per-sp {
    width: 56% !important; } }

@media screen and (max-width: 767px) {
  .w57per-sp {
    width: 57% !important; } }

@media screen and (max-width: 767px) {
  .w58per-sp {
    width: 58% !important; } }

@media screen and (max-width: 767px) {
  .w59per-sp {
    width: 59% !important; } }

@media screen and (max-width: 767px) {
  .w60per-sp {
    width: 60% !important; } }

@media screen and (max-width: 767px) {
  .w61per-sp {
    width: 61% !important; } }

@media screen and (max-width: 767px) {
  .w62per-sp {
    width: 62% !important; } }

@media screen and (max-width: 767px) {
  .w63per-sp {
    width: 63% !important; } }

@media screen and (max-width: 767px) {
  .w64per-sp {
    width: 64% !important; } }

@media screen and (max-width: 767px) {
  .w65per-sp {
    width: 65% !important; } }

@media screen and (max-width: 767px) {
  .w66per-sp {
    width: 66% !important; } }

@media screen and (max-width: 767px) {
  .w67per-sp {
    width: 67% !important; } }

@media screen and (max-width: 767px) {
  .w68per-sp {
    width: 68% !important; } }

@media screen and (max-width: 767px) {
  .w69per-sp {
    width: 69% !important; } }

@media screen and (max-width: 767px) {
  .w70per-sp {
    width: 70% !important; } }

@media screen and (max-width: 767px) {
  .w71per-sp {
    width: 71% !important; } }

@media screen and (max-width: 767px) {
  .w72per-sp {
    width: 72% !important; } }

@media screen and (max-width: 767px) {
  .w73per-sp {
    width: 73% !important; } }

@media screen and (max-width: 767px) {
  .w74per-sp {
    width: 74% !important; } }

@media screen and (max-width: 767px) {
  .w75per-sp {
    width: 75% !important; } }

@media screen and (max-width: 767px) {
  .w76per-sp {
    width: 76% !important; } }

@media screen and (max-width: 767px) {
  .w77per-sp {
    width: 77% !important; } }

@media screen and (max-width: 767px) {
  .w78per-sp {
    width: 78% !important; } }

@media screen and (max-width: 767px) {
  .w79per-sp {
    width: 79% !important; } }

@media screen and (max-width: 767px) {
  .w80per-sp {
    width: 80% !important; } }

@media screen and (max-width: 767px) {
  .w81per-sp {
    width: 81% !important; } }

@media screen and (max-width: 767px) {
  .w82per-sp {
    width: 82% !important; } }

@media screen and (max-width: 767px) {
  .w83per-sp {
    width: 83% !important; } }

@media screen and (max-width: 767px) {
  .w84per-sp {
    width: 84% !important; } }

@media screen and (max-width: 767px) {
  .w85per-sp {
    width: 85% !important; } }

@media screen and (max-width: 767px) {
  .w86per-sp {
    width: 86% !important; } }

@media screen and (max-width: 767px) {
  .w87per-sp {
    width: 87% !important; } }

@media screen and (max-width: 767px) {
  .w88per-sp {
    width: 88% !important; } }

@media screen and (max-width: 767px) {
  .w89per-sp {
    width: 89% !important; } }

@media screen and (max-width: 767px) {
  .w90per-sp {
    width: 90% !important; } }

@media screen and (max-width: 767px) {
  .w91per-sp {
    width: 91% !important; } }

@media screen and (max-width: 767px) {
  .w92per-sp {
    width: 92% !important; } }

@media screen and (max-width: 767px) {
  .w93per-sp {
    width: 93% !important; } }

@media screen and (max-width: 767px) {
  .w94per-sp {
    width: 94% !important; } }

@media screen and (max-width: 767px) {
  .w95per-sp {
    width: 95% !important; } }

@media screen and (max-width: 767px) {
  .w96per-sp {
    width: 96% !important; } }

@media screen and (max-width: 767px) {
  .w97per-sp {
    width: 97% !important; } }

@media screen and (max-width: 767px) {
  .w98per-sp {
    width: 98% !important; } }

@media screen and (max-width: 767px) {
  .w99per-sp {
    width: 99% !important; } }

@media screen and (max-width: 767px) {
  .w100per-sp {
    width: 100% !important; } }

html {
  font-size: 62.5%; }

* {
  box-sizing: border-box; }

body {
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  background: #fff; }
  @media screen and (max-width: 767px) {
    body {
      width: 100%;
      -webkit-text-size-adjust: 100%; } }

img {
  max-width: 100%;
  height: auto; }
  @media screen and (max-width: 767px) {
    img {
      width: 100%; } }

.pcNone {
  display: none; }
  @media screen and (max-width: 767px) {
    .pcNone {
      display: block !important; } }

@media screen and (max-width: 767px) {
  .spNone {
    display: none !important; } }

.color01 {
  color: #f00; }

.right {
  text-align: right !important; }

.center {
  text-align: center !important; }

.areaLink {
  cursor: pointer; }

/* link
*****************************************/
a {
  color: #000;
  text-decoration: underline; }
  a:hover, a:active {
    text-decoration: none;
}

.hover a img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity .3s; }
.hover a:hover img {
  opacity: .6; }
@media screen and (max-width: 767px) {
  .hover a:hover img {
    opacity: 1.0; } }

.imgOver01 > a {
  display: block;
  overflow: hidden; }
  .imgOver01 > a > img {
    transform: scale(1);
    transition: transform .6s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .imgOver01 > a:hover > img {
    transition: transform .3s;
    transform: scale(1.1); }
    @media screen and (max-width: 767px) {
      .imgOver01 > a:hover > img {
        transform: scale(1); } }

.btn01 > a {
  display: inline-block;
  padding: 8px 30px;
  color: #231815;
  background-color: #2a80e1;
  text-decoration: none;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  transition: all .6s;
  text-align: center;
  border-radius: 30px; }
  @media screen and (max-width: 767px) {
    .btn01 > a {
      font-size: 1.4rem;
      padding: 11px 33px; } }
  @media screen and (min-width: 768px) {
    .btn01 > a:hover {
      background-color: #666;
      color: #fff;
      transition: all .3s; } }
.btn01.type02 a {
  border: 1px solid #231815;
  background: none; }
  @media screen and (min-width: 768px) {
    .btn01.type02 a:hover {
      background-color: #4c2faf;
      color: #e4f962;
			border: 1px solid #4c2faf; } }
.btn01.type03 a {
  border: 1px solid #231815;
  background: #fff;
  font-size: 1.4rem;
  padding: 11.5px 30px; }
  @media screen and (min-width: 768px) {
    .btn01.type03 a:hover {
      border: 1px solid #4c2faf;
      background-color: #4c2faf;
      color: #e4f962; } }

.btn02 > a {
  display: inline-block;
  padding: 8px 53px 9px 16px;
  color: #231815;
  background-color: #C7B7FF;
	border: 1px solid #4c2faf;
  text-decoration: none;
  font-size: 1.8rem;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  transition: all .6s;
  text-align: left;
  position: relative; }
  .btn02 > a::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 56px;
    height: 56.5px;
    background: url("../img/ic02.png") no-repeat 0 0/56px;
    margin-top: -28.25px; }
  .btn02 > a:hover {
    /*opacity: 0.7;*/
		color: #e4f962;
		background-color: #4c2faf;
    transition: all .3s; }
.btn02.type02 {
  /*text-align: center;*/ }
  .btn02.type02 .en {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    margin-left: -0.5em; }
  .btn02.type02 a {
    line-height: 1.2;
    padding: 28px 155px 29px 22px; }
    .btn02.type02 a::before {
      right: 5px;
      transform: rotate(270deg); }
.btn02.type03 {
  text-align: center; }
  .btn02.type03 .en {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    margin-left: -0.5em; }
  .btn02.type03 a {
    font-size: 1.4rem;
    line-height: 1.2;
    padding: 18px 52px 19px 16px; }
    .btn02.type03 a::before {
      right: 5px;
      width: 43.12px;
      height: 43.505px;
      background: url("../img/ic02.png") no-repeat 0 0/43px;
      margin-top: -21.7525px;
      transform: rotate(270deg); }
.btn02.type04 a {
  padding: 18px 16px !important; }
.btn02.type2023 a {
  color: #031e5b;
  background-color: #EED56A; }

.languageNav {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .languageNav {
      justify-content: center; } }
  .languageNav li {
    position: relative;
    line-height: 1; }
    .languageNav li a {
      color: #231815;
      font-family: 'Lato', sans-serif;
      font-weight: 700;
      font-size: 1.3rem;
      line-height: 1;
      text-decoration: none; }
    .languageNav li.current a::before {
      content: '';
      position: absolute;
      bottom: -9px;
      left: 0;
      width: 100%;
      height: 2px;
      background: #231815; }
    .languageNav li + li {
      margin-left: 30px; }
      .languageNav li + li::before {
        content: '';
        position: absolute;
        top: 0;
        left: -14px;
        width: 1px;
        height: 1.3rem;
        background: #231815; }

.snsList {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .snsList {
      justify-content: center; } }
  .snsList li {
    width: 30px;
    height: 30px;
    margin-left: 12px;
    transition: .3s; }
    .snsList li:first-child {
      margin-left: 0; }
    .snsList li a {
      display: block;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      height: 30px; }
    .snsList li.X {
      background: url("../img/logo_x01.svg") no-repeat 0 0/27px; }
    .snsList li.insta {
      background: url("../img/logo_insta01.svg") no-repeat 0 0/30px; }
    .snsList li.youtube {
      width: 37.4px;
      background: url("../img/logo_youtube.svg") no-repeat 0 50%/100%; }
    .snsList li.info {
      background: url("../img/logo_info.png") no-repeat 0 0/30px; }
    .snsList li.note {
      background: url("../img/logo_note01.svg") no-repeat 0 1px/28px; }
    @media screen and (min-width: 768px) {
      .snsList li:hover {
        opacity: 0.7; } }

@media screen and (min-width: 768px) {
  .nav01 {
    display: flex;
    flex-wrap: wrap; }
    .nav01 li {
      margin-right: 24px;
      position: relative; }
      .nav01 li:last-child {
        margin-right: 0; }
      .nav01 li.current a::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: #231815; }
      .nav01 li a {
        display: block;
        color: #231815;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700;
        /*font-size: 1.3rem;*/
        line-height: 3;
        text-decoration: none;
        position: relative; }
        .nav01 li a .en {
          font-family: 'Lato', sans-serif;
          font-weight: 700; } }
      @media screen and (min-width: 768px) and (min-width: 768px) {
        .nav01 li a:hover::before {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 2px;
          background: #231815; } }

.nav02 li {
  line-height: 3.5;
  margin-right: 24px;
  display: inline-block;
  position: relative; }
  .nav02 li.current a::before {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #231815; }
  .nav02 li a {
    color: #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    text-decoration: none;
    position: relative; }
.nav02 li.current a {
	font-weight: 700;
}
    @media screen and (min-width: 768px) {
      .nav02 li a:hover::before {
        content: '';
        position: absolute;
        bottom: -12px;
        left: 0;
        width: 100%;
        height: 2px;
        background: #231815; } }

.leadArea .nav02 {
  text-align: center; }
.leadArea .heading01 + .nav02 {
  margin-top: 23px;
  margin-bottom: -34px; }

.nav03 {
  display: flex;
  flex-wrap: wrap; }
  .nav03 li a {
    display: inline-block;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    text-decoration: none;
    padding-top: 7px;
    padding-bottom: 7px;
    position: relative;
    transition: .3s; }
    .nav03 li a::before {
      content: '';
      position: absolute;
      top: 50%;
      margin-top: -17px;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: #1E2123 url("../img/ic03.svg") no-repeat 50% 50%/16px;
      border: 2px solid #fff;
      transition: .3s; }
    @media screen and (min-width: 768px) {
      .nav03 li a:hover {
        opacity: 0.7; } }
  .nav03 li.next {
    margin-left: 20px; }
    .nav03 li.next a {
      padding-left: 42px; }
      .nav03 li.next a::before {
        left: 0; }
  .nav03 li.back {
    margin-right: 20px; }
    .nav03 li.back a {
      padding-right: 42px; }
      .nav03 li.back a::before {
        right: 0;
        transform: rotate(180deg); }
  .nav03 li.disable a {
    color: #bcbcbd; }
    .nav03 li.disable a::before {
      background-color: #bcbcbd; }
  .nav03.type02 {
    justify-content: flex-end;
    margin-top: 32px; }
    @media screen and (max-width: 767px) {
      .nav03.type02 {
        margin-top: 14px; } }
  .nav03.type03 {
    align-items: center; }
    .nav03.type03 li.back {
      margin-right: 0; }
      .nav03.type03 li.back a {
        padding-left: 42px;
        padding-right: 0; }
        .nav03.type03 li.back a::before {
          right: inherit;
          left: 0;
          transform: rotate(180deg); }
  .nav03.type04 {
    margin-top: 32px; }
    @media screen and (min-width: 768px) {
      .nav03.type04 {
        justify-content: flex-end; } }
    @media screen and (max-width: 767px) {
      .nav03.type04 {
        justify-content: center; } }
    .nav03.type04 li a {
      padding-left: 69px; }
      .nav03.type04 li a::before {
        margin-top: -26px;
        width: 52px;
        height: 52px;
        background: #1E2123 url("../img/ic03.svg") no-repeat 50% 50%/25px; }
  .contents02 .newsArea .nav03 {
    justify-content: center;
    margin-top: 480px;
    margin-bottom: 200px; }
  .newsArea .nav03.type03 {
    margin-top: 100px;
    margin-bottom: 200px; }

.nav04 {
  border-top: 1px solid #E2E2E2;
  padding-top: 11px; }
  @media screen and (max-width: 767px) {
    .nav04 {
      display: none; } }
  .nav04 li:hover a, .nav04 li.current a {
    background: url("../img/ic04.svg") no-repeat 32px calc(50% - 2px)/25px; }
    .nav04 li:hover a::before, .nav04 li.current a::before {
      height: 2px;
      background: #07654B; }
  .nav04 li a {
    display: block;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    text-decoration: none;
    padding: 17px 0 21px 77px;
    position: relative; }
    .nav04 li a::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background: #E2E2E2; }

.list01 li {
  line-height: 2.25;
  padding-left: 1em;
  position: relative; }
  .list01 li::before {
    content: '';
    position: absolute;
    top: 18px;
    left: 5px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #07654B; }

.list02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .list02 li {
    text-align: center;
    line-height: 1.5;
    background: #FFF2BB;
    width: 48.9743589744%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    padding: 8px 5px; }
    .list02 li:nth-child(n + 3) {
      margin-top: 16px; }
    @media screen and (max-width: 767px) {
      .list02 li {
        text-align: left;
        padding: 8px 10px;
        width: 48%; }
        .list02 li:nth-child(n + 3) {
          margin-top: 12px; } }
  .list02 + .btnList01 {
    margin-top: 55px; }

.olList01 li {
  line-height: 2.25; }
  .olList01 li + li {
    margin-top: 2em; }
  .olList01 li .num {
    margin-right: 0.3em; }
  .olList01 li dl dt {
    font-size: 1.8rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700; }

.olList02 li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 2.25; }
  .olList02 li .num {
    margin-right: 0.3em; }

.btnList01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .btnList01 li + li {
    margin-left: 32px; }
    @media screen and (max-width: 767px) {
      .btnList01 li + li {
        margin-left: 0;
        margin-top: 10px; } }
  .btnList01 li a {
    min-width: 300px;
    font-size: 1.4rem; }

.btnList02 {
  display: flex;
  flex-wrap: wrap; }
  .btnList02 li {
    margin-right: 13px;
    margin-bottom: 10px; }
    .btnList02 li a {
      min-width: 210px;
      font-size: 1.8rem; }
      @media screen and (max-width: 767px) {
        .btnList02 li a {
          min-width: 210px; } }
      @media screen and (max-width: 320) {
        .btnList02 li a {
          min-width: 100%; } }

.imgList01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (min-width: 768px) {
    .imgList01 {
      margin-left: 21px;
      margin-right: 27px; } }
  .imgList01 li {
    max-width: 46.1977186312%; }
    .imgList01 li:nth-child(n + 3) {
      margin-top: 80px; }
      @media screen and (max-width: 767px) {
        .imgList01 li:nth-child(n + 3) {
          margin-top: 40px; } }

.heading01 {
  color: #4c2faf;
  font-family: 'M PLUS 1', sans-serif;
  font-weight: 300;
  /*font-size: 5.0rem;*/
	font-size: 2.4rem;
  line-height: 1.3;
  margin-top: 55px;
  margin-bottom: 58px; }
  @media screen and (max-width: 767px) {
    .heading01 {
      font-size: 2.0rem;
		} 
	}
  .contents01 .heading01 {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    color: #1E2123;
    font-size: 5.0rem;
    margin-bottom: 58px; }
  .program24hArea01 .heading01{
    color: #fff; }
#footer01 .heading01 {
    color: #231815; }
  #footer01 .heading01 {
    font-family: 'Lato', sans-serif;
    font-weight: 300; }
  .heading01.type02 {
    color: #1E2123; }
  .heading01:first-child {
    background: #4c2faf;
		color: #fff;
		margin: 0 -500%;
  	padding: 24px 500%;
}
  .heading01 .sub {
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 2.0rem;
    margin-top: 14px; }
    @media screen and (max-width: 767px) {
      .heading01 .sub {
        font-size: 1.7951rem;
        margin-top: 11px; } }
  .heading01 .en {
    font-family: 'Lato', sans-serif;
    font-weight: 400; }
  .heading01.type02 {
    font-size: 3.6rem;
    margin-bottom: 33px;
    margin-top: 106px; }
    .heading01.type02:first-child {
      margin-top: 0; }
  .heading01.type03 {
    display: inline-block;
    border-radius: 20px;
    background: #e4f962;
		color: #4c2faf;
    padding: 2px 32px 3px;
    font-size: 2.4rem;
margin: 0 0 40px;}
  .leadArea .heading01 {
    color: #fff;
    /*font-size: 3.2rem;*/
		font-size: 1.8rem;
    margin-bottom: 6px; }
.heading01.type04 {
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 0;
}
.heading01.type04 span{
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 300;
	margin-top: 8px;
}
@media screen and (max-width: 767px) {
	.leadArea .heading01 {
		font-size: 2.0rem;
	}
}

.heading02 {
  color: #4c2faf;
  font-size: 3.6rem;
  line-height: 1.3;
  font-family: 'M PLUS 1', sans-serif;
  font-weight: 300;
  border-bottom: 1px solid #E2E2E2;
  padding-bottom: 25px;
  margin-top: 104px;
  margin-bottom: 25px; }
  .heading02.type2023 {
    display: inline-block;
    color: #031e5b;
    border-bottom: 1px solid #031e5b; }
.heading02 span{
	font-size: 2.4rem;
}
  @media screen and (max-width: 767px) {
    .heading02 {
      font-size: 3rem; } }
  .heading02:first-child {
    margin-top: 0; }
  .heading02 .en {
    font-family: 'Lato', sans-serif;
    font-weight: 300; }

.heading03 {
  text-align: center;
  color: #07654B;
  font-size: 3.6rem;
  line-height: 1.3;
  font-family: 'M PLUS 1', sans-serif;
  font-weight: 400;
  padding-bottom: 25px;
  margin-top: 104px;
  margin-bottom: 25px; }
  @media screen and (max-width: 767px) {
    .heading03 {
      font-size: 3rem; } }
  .heading03:first-child {
    margin-top: 0; }
  .heading03 .en {
    font-family: 'Lato', sans-serif;
    font-weight: 300; }

.text01 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.875; }
  .text01.type02 {
    color: #4c2faf; }
  .text01 + .text03 {
    margin-top: 5px; }
.text01 span{
	background:linear-gradient(transparent 60%, #e4f962 60%);
}
.text01.type02 span{
	padding: 4px 16px;
  margin-right: 8px;
  background: #4c2faf;
  color: #fff;
	font-size: 2.0rem;
}
@media screen and (max-width: 767px) {
	.text01 + .text03 {
		margin-top: 2px; 
	}
	.text01.type02 span {
		display: block;
		text-align: center;
	}
}

.text02 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.6rem; }
  @media screen and (max-width: 767px) {
    .text02 {
      font-size: 1.516rem; } }

.text03 {
  line-height: 2.25; }
  .text03 + .btnList01 {
    margin-top: 55px; }

.txResult {
  border-radius: 20px;
  color: #4c2faf;
  background: #e4f962;
  padding: 2px 32px 3px;
  font-size: 2.4rem;
  margin: 24px auto 0;
  /*width: 300px;*/
  font-family: 'M PLUS 1', sans-serif;
  font-weight: 300;
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
.txResult.type02{
	font-size: 100%;
}

/* header
*****************************************/
#header01 {
  width: 100%;
  padding: 35px 0 42px;
  transition: all .2s;
  background: #e4f962;
  position: relative; }
  @media screen and (max-width: 767px) {
    #header01 {
      padding: 15px 16px; } }
  #header01.fixed {
    background: #002741; }
  #header01 > .inner01 {
    max-width: 1262px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between; }
    @media screen and (min-width: 768px) {
      #header01 > .inner01 {
        position: relative; } }
    @media screen and (max-width: 767px) {
      #header01 > .inner01 {
        padding-left: 0;
        padding-right: 0; } }
    #header01 > .inner01 .titleArea {
      color: #f4cada; }
#header01 > .inner01 .titleArea .spIcon{
	display: none;
}
@media screen and (max-width: 767px) {
	#header01 > .inner01 .titleArea {
		display: flex;
		gap:24px;
	}
	#header01 > .inner01 .titleArea .spIcon{
		display: flex;
		gap:10px;
		align-items:flex-end;
	}
	#header01 > .inner01 .titleArea .spIcon div{
		text-align: center;
	}
	#header01 > .inner01 .titleArea .spIcon a.type01 img{
		width: 20px;
  	margin-bottom: 1px;
	}
	#header01 > .inner01 .titleArea .spIcon a.type02 img{
		width: 28px;
  	margin-bottom: 3px;
	}
	#header01 > .inner01 .titleArea .spIcon p{
		font-size: 1.2rem;
		color: #231815;
		font-family: 'Lato', sans-serif;
	}
}
      #header01 > .inner01 .titleArea a {
        color: #f4cada;
        text-decoration: none; }
      #header01 > .inner01 .titleArea h1 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 900;
        font-size: 2rem;
        line-height: 1.3; }
        #header01 > .inner01 .titleArea h1 .en {
          font-family: 'Lato', sans-serif;
          font-weight: 900; }
        @media screen and (max-width: 767px) {
          #header01 > .inner01 .titleArea h1 {
            font-size: 1.229rem; } }
      #header01 > .inner01 .titleArea .logo {
        width: 160px;
        /*margin-top: 6px;
        margin-bottom: 4px;*/
        line-height: 1;
        font-size: 0; }
        @media screen and (max-width: 767px) {
          #header01 > .inner01 .titleArea .logo {
            width: 100px; } }
      #header01 > .inner01 .titleArea .date {
        font-family: 'Lato', sans-serif;
        font-weight: 900;
        font-size: 1.3rem;
        line-height: 1.3; }
        @media screen and (max-width: 767px) {
          #header01 > .inner01 .titleArea .date {
            font-size: 0.8rem; } }
    @media screen and (min-width: 768px) {
      #header01 > .inner01 .languageNav {
        position: absolute;
        top: -17px;
        right: 20px;
			}
			#globalNav01 #nav0{
				top: -17px;
				right: 20px;
				position: absolute;
				display: flex;
			}
			#globalNav01 #nav0 p{
				font-size: 1.3rem;
				color: #fff;
				line-height: 1;
				margin-right: 32px;
				padding-top: 8px;
			}
			#globalNav01 #nav0 p a{
				color: #231815;
				text-decoration: none;
				margin-right: 4px;
			}
			#globalNav01 #nav0 p::after{
				content: "";
				display: inline-block;
				width: 16px;
				height: 14px;
				background-image: url('/common/img/ic_file.svg');
				background-position: center;
				background-size: contain;
			}
			#globalNav01 #nav0 p a:hover::before {
				content: '';
				position: absolute;
				bottom: -9px;
				/*left: 0;*/
				width: 98px;
				height: 2px;
				background: #231815;
			}
			#header01 > .inner01 .languageNav{
				position: initial;
				padding-top: 8px;
			}
			#globalNav01 #nav0 .btn01.type02{
				font-size: 1.3rem;
				margin-right: 24px;
			}
			#globalNav01 #nav0 .btn01.type02 a{
				padding: 4px 16px;
			}
		}
    @media screen and (min-width: 768px) {
      #header01 > .inner01 > .inner02 {
        /*width: calc(100% - 460px);*/
        margin-bottom: -10px; } }
    @media screen and (min-width: 768px) {
      #header01 > .inner01 > .inner02 #headNavArea01 #globalNav01 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: end; }
        #header01 > .inner01 > .inner02 #headNavArea01 #globalNav01 > .inner01 {
          width: 181.4px;
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-end; } }
    @media screen and (min-width: 768px) and (max-width: 1171.4px) {
      #header01 > .inner01 > .inner02 #headNavArea01 #globalNav01 > .inner01 {
        display: none; } }

    #header01 > .inner01 > .inner02 .snsList {
      width: 164px;
      margin-top: 8px;
      margin-bottom: 4px; }
      @media screen and (max-width: 767px) {
        #header01 > .inner01 > .inner02 .snsList {
          margin-top: 56px;
          margin-bottom: 0;
          width: 100%; } }

@media screen and (max-width: 767px) {
  #headNavArea01 {
    position: absolute;
    top: 68px;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    transition: all .5s ease 0s;
    transform: translateX(100%); }
    .active #headNavArea01 {
      transform: translateX(25.867vw); } }
.headButton01 {
  display: none;
  position: absolute;
  top: 13px;
  right: 2px;
  width: 43px;
  height: 41px;
  color: #fff;
  overflow: hidden;
  cursor: pointer; }
  @media screen and (max-width: 767px) {
    .headButton01 {
      display: block; }
      .headButton01 > span {
        display: block;
        position: absolute;
        left: 50%;
        margin-left: -16px;
        width: 32px;
        height: 4px;
        background-color: #231815;
        text-indent: 100%;
        white-space: nowrap; }
      .headButton01 > .top {
        top: 9px;
        transition-duration: .1s, .1s;
        transition-delay: .1s, 0;
        transition-property: top, transform; }
      .headButton01 > .bottom {
        bottom: 9px;
        transition-duration: .1s, .1s;
        transition-delay: .1s, 0;
        transition-property: bottom, transform; }
      .headButton01 > .middle {
        top: 19px;
        transition: background .1s; }
      .active .headButton01 > .middle {
        background: none; }
      .active .headButton01 > .top {
        top: 18px;
        transform: rotate(45deg);
        transition-delay: 0, .1s; }
      .active .headButton01 > .bottom {
        bottom: 19px;
        transform: rotate(-45deg);
        transition-delay: 0, .1s; } }

@media screen and (max-width: 767px) {
  #globalNav01 {
    position: absolute;
    bottom: 0;
    padding: 28px 0;
    width: 74.133vw;
    background-color: #e4f962;
    top: 0; } }
@media screen and (max-width: 767px) {
  #globalNav01 .nav01 + .inner01 .nav01 {
    margin-top: 0; } }
@media screen and (max-width: 767px) {
  #globalNav01 .nav01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 32px auto 0;
    padding: 0 25px; } }
@media screen and (max-width: 767px) {
  #globalNav01 .nav01 > li {
    width: 100%;
    opacity: 0; }
    .active #globalNav01 .nav01 > li {
      opacity: 1; } }
@media screen and (max-width: 767px) {
  #globalNav01 .nav01 > li a {
    color: #231815;
    display: block;
    padding: 13px 0;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    /*font-size: 1.3rem;*/
    text-decoration: none; } }

/* footer
*****************************************/
#footer01 {
  color: #231815;
  background: #e4f962;
  position: relative; }
  #footer01 > .inner01 {
    margin: 0 auto;
    padding: 78px 20px 100px;
    max-width: 1160px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #footer01 > .inner01 {
        padding: 78px 10px 100px; } }
    #footer01 > .inner01 .heading01 {
      margin-bottom: 46px;
			margin-top: 80px;
			font-size: 4.0rem;
		}
      @media screen and (max-width: 767px) {
        #footer01 > .inner01 .heading01 {
          margin-bottom: 52px; } }
    #footer01 > .inner01 .snsList {
      justify-content: center;
      /*margin-top: 45px;*/
		}
      @media screen and (max-width: 767px) {
        #footer01 > .inner01 .snsList {
          margin-top: 42px; } }
    #footer01 > .inner01 .languageNav {
      justify-content: center;
      margin-top: 52px; }
    #footer01 > .inner01 .nav01 {
      justify-content: center;
      margin-top: 73px; }
      #footer01 > .inner01 .nav01 + .nav01 {
        margin-top: 30px; }
      @media screen and (max-width: 767px) {
        #footer01 > .inner01 .nav01 {
          display: none; } }
    #footer01 > .inner01 .titleArea {
      text-align: center;
      margin-top: 60px; }
      @media screen and (max-width: 767px) {
        #footer01 > .inner01 .titleArea {
          margin-top: 54px; } }
      #footer01 > .inner01 .titleArea p {
        display: inline-block;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 900;
        font-size: 2.0rem;
        line-height: 1.1;
        text-align: left; }
        #footer01 > .inner01 .titleArea p .en1 {
          font-family: 'Lato', sans-serif;
          font-weight: 900; }
        #footer01 > .inner01 .titleArea p .en2 {
          display: inline-block;
          font-size: 3.0rem;
          line-height: 1.1;
          font-family: 'Lato', sans-serif;
          font-weight: 900;
          text-align: left; }
    #footer01 > .inner01 .tx01 {
      margin-top: 30px;
      font-family: 'Lato', sans-serif;
      font-weight: 900;
      line-height: 1.875; }
      #footer01 > .inner01 .tx01 a {
        color: #231815;
        text-decoration: none; }
        @media screen and (min-width: 768px) {
          #footer01 > .inner01 .tx01 a:hover {
            text-decoration: underline; } }
      @media screen and (max-width: 767px) {
        #footer01 > .inner01 .tx01 {
          margin-top: 32px; } }
    #footer01 > .inner01 .copyright01 {
      margin-top: 35px; }
      #footer01 > .inner01 .copyright01 small {
        font-family: 'Lato', sans-serif;
        font-weight: 900;
        font-size: 1.3rem; }

/* contents
*****************************************/
.wrap01 {
  display: flex;
  flex-wrap: wrap; }
  .wrap01.bC {
    justify-content: center; }
  .wrap01.between {
    justify-content: space-between; }
  .wrap01.aC {
    align-items: center; }
  .wrap01.aEnd {
    align-items: end; }
  .wrap01.reverse {
    flex-direction: row-reverse; }

.contentsWrap {
  width: 100%; }
  @media screen and (max-width: 767px) {
    .contentsWrap {
      overflow: hidden; } }
  .contentsWrap .contents01 .mainArea {
    margin-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .contentsWrap .contents01 .mainArea {
        margin-bottom: 120px; } }
    .contentsWrap .contents01 .mainArea .slider01 {
      margin-bottom: 0; }
      .contentsWrap .contents01 .mainArea .slider01 li {
        /*margin-left: 8px;
        margin-right: 8px;*/
        position: relative; }
        @media screen and (max-width: 767px) {
          .contentsWrap .contents01 .mainArea .slider01 li {
            margin-left: 4px;
            margin-right: 4px; } }
        .contentsWrap .contents01 .mainArea .slider01 li img {
          width: 100%; }
        .contentsWrap .contents01 .mainArea .slider01 li a .detailBox {
          line-height: 1.875;
          position: absolute;
          left: 41px;
          bottom: 42px;
          padding: 22px 62px 22px 28px;
          max-width: 518px;
          background: rgba(255, 242, 187, 0.8);
          transition: .3s; }
          @media screen and (max-width: 767px) {
            .contentsWrap .contents01 .mainArea .slider01 li a .detailBox {
              left: 4px;
              bottom: 5px;
              padding: 2px 10px; }
              .contentsWrap .contents01 .mainArea .slider01 li a .detailBox p {
                display: none; }
                .contentsWrap .contents01 .mainArea .slider01 li a .detailBox p.text01 {
                  display: inline;
                  font-size: 1.4rem; } }
          .contentsWrap .contents01 .mainArea .slider01 li a .detailBox::before {
            content: '';
            position: absolute;
            right: 0;
            top: 50%;
            width: 56px;
            height: 56.5px;
            background: url("../img/ic02.png") no-repeat 0 0/56px;
            margin-top: -28.25px;
            transform: rotate(270deg); }
            @media screen and (max-width: 767px) {
              .contentsWrap .contents01 .mainArea .slider01 li a .detailBox::before {
                background: none; } }
        @media screen and (min-width: 768px) {
          .contentsWrap .contents01 .mainArea .slider01 li a:hover .detailBox {
            background: #fff2bb; } }
    @media screen and (max-width: 767px) {
      .contentsWrap .contents01 .mainArea .slider02 {
        margin-left: -17px;
        margin-right: -16px; } }
    .contentsWrap .contents01 .mainArea .slider02 li {
      margin-left: 8px;
      margin-right: 8px; }
      @media screen and (max-width: 767px) {
        .contentsWrap .contents01 .mainArea .slider02 li {
          margin-left: 4px;
          margin-right: 4px; } }
    .contentsWrap .contents01 .mainArea > .inner01 {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 20px;
      padding-right: 20px; }
      @media screen and (max-width: 767px) {
        .contentsWrap .contents01 .mainArea > .inner01 {
          padding-left: 17px;
          padding-right: 16px; } }
      .contentsWrap .contents01 .mainArea > .inner01 > .inner02 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        @media screen and (max-width: 767px) {
          .contentsWrap .contents01 .mainArea > .inner01 > .inner02 .heading01 {
            font-size: 2.7972rem;
            margin-bottom: 32px; } }
        .contentsWrap .contents01 .mainArea > .inner01 > .inner02 > .inner03 {
          width: 100%; }
          @media screen and (max-width: 767px) {
            .contentsWrap .contents01 .mainArea > .inner01 > .inner02 > .inner03 {
              width: 100%; } }
          .contentsWrap .contents01 .mainArea > .inner01 > .inner02 > .inner03 .newsArea {
            /*margin-top: 174px;*/ }
            @media screen and (max-width: 767px) {
              .contentsWrap .contents01 .mainArea > .inner01 > .inner02 > .inner03 .newsArea {
                /*margin-top: 80px;*/ } }
        .contentsWrap .contents01 .mainArea > .inner01 > .inner02 > .inner04 {
          max-width: 350px; }
          @media screen and (max-width: 767px) {
            .contentsWrap .contents01 .mainArea > .inner01 > .inner02 > .inner04 {
              max-width: 100%; } }
          .contentsWrap .contents01 .mainArea > .inner01 > .inner02 > .inner04 section + section {
            margin-top: 73px; }
    .contentsWrap .contents01 .mainArea .snsBox01 {
      border: 1px solid #ccc;
      border-radius: 10px; }
      .contentsWrap .contents01 .mainArea .snsBox01 .title {
        font-family: 'Lato', sans-serif;
        font-weight: 900;
        font-size: 2.6rem;
        padding: 8px 15px 8px 65px;
        border-bottom: 1px solid #ccc; }
      .contentsWrap .contents01 .mainArea .snsBox01 > .inner01 {
        padding: 16px; }
        .contentsWrap .contents01 .mainArea .snsBox01 > .inner01 .btn01 {
          margin-top: 22px; }
    @media screen and (max-width: 767px) {
      .contentsWrap .contents01 .mainArea .X_Area {
        margin-top: 76px; } }
    .contentsWrap .contents01 .mainArea .X_Area .timelineWrap {
      max-height: 243px;
      min-height: 243px;
      overflow-y: scroll; }
    .contentsWrap .contents01 .mainArea .X_Area .snsBox01 .title {
      background: url("../img/logo_x02.png") no-repeat 16px 50%/30px; }
    .contentsWrap .contents01 .mainArea .instagramArea .snsBox01 .title {
      background: url("../img/logo_insta02.png") no-repeat 16px 50%/30px; }
  .contentsWrap .contents01 .sponsorsArea {
    background: #fff; }
    .contentsWrap .contents01 .sponsorsArea > .inner01 {
      max-width: 1130px;
      margin-left: auto;
      margin-right: auto;
      padding: 117px 20px 120px; }
      .contentsWrap .contents01 .sponsorsArea > .inner01 .heading01 {
        text-align: center;
background-color: #FFF;
	color: #000;
	margin-bottom: 58px;}
      .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList {
        display: flex;
        flex-wrap: wrap; }
        @media screen and (max-width: 767px) {
          .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList {
            justify-content: space-between; } }
        @media screen and (min-width: 768px) {
          .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList li {
            width: 17.7981651376%;
            margin-right: 2.752293578%; }
            .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList li:nth-child(5n + 5) {
              margin-right: 0; }
            .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList li:nth-child(n + 6) {
              margin-top: 30px; } }
        @media screen and (max-width: 767px) {
          .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList li {
            width: 45.6140350877%; }
            .contentsWrap .contents01 .sponsorsArea > .inner01 .sponsorsList li:nth-child(n + 3) {
              margin-top: 30px; } }
  .contentsWrap .program24hArea01 {
    background: #4c2faf;
		margin-bottom: 80px;}
    .contentsWrap .program24hArea01 > .inner01 {
      max-width: 1190px;
      margin-left: auto;
      margin-right: auto;
      padding: 24px 20px;
      color: #fff; }
      @media screen and (max-width: 767px) {
        .contentsWrap .program24hArea01 > .inner01 {
          padding: 0 16px; }
			}
      .contentsWrap .program24hArea01 > .inner01.type02 {
        max-width: 840px; }
      .contentsWrap .program24hArea01 > .inner01 .heading01 {
				font-size: 2.6rem;
        text-align: center;
			}
.contentsWrap .program24hArea01 > .inner01 .heading01 small{
	font-size: 1.6rem;
}
.contentsWrap .program24hArea01 > .inner01 .sub{
	display: inline-block;
}
      .contentsWrap .program24hArea01 > .inner01 .programList {
        display: flex;
        flex-wrap: wrap; }
        @media screen and (min-width: 768px) {
          .contentsWrap .program24hArea01 > .inner01 .programList li {
            width: 31.4782608696%;
            margin-right: 2.7826086957%;
            width: 23.5%;
            margin-right: 2%; }
            .contentsWrap .program24hArea01 > .inner01 .programList li:nth-child(4n + 4) {
              margin-right: 0; }
            .contentsWrap .program24hArea01 > .inner01 .programList li:nth-child(n + 5) {
              margin-top: 64px; } }
        @media screen and (max-width: 767px) {
					.contentsWrap .program24hArea01 > .inner01 .programList {
						justify-content: space-between;
					}
          .contentsWrap .program24hArea01 > .inner01 .programList li {
            width: 48%; }
            .contentsWrap .program24hArea01 > .inner01 .programList li:nth-child(n + 3) {
              margin-top: 40px; } }
        .contentsWrap .program24hArea01 > .inner01 .programList li .hdg {
          font-size: 1.8rem;
          margin-bottom: 14.06px; }
          @media screen and (max-width: 767px) {
            .contentsWrap .program24hArea01 > .inner01 .programList li .hdg {
              font-size: 1.8rem;
              margin-bottom: 18.0025px; } }
        .contentsWrap .program24hArea01 > .inner01 .programList li figure figcaption {
          font-size: 1.4rem;
          margin-top: 7.4px; }
          @media screen and (max-width: 767px) {
            .contentsWrap .program24hArea01 > .inner01 .programList li figure figcaption {
              font-size: 1.895rem;
              margin-top: 9.475px; } }
      .contentsWrap .program24hArea01 > .inner01 .areaResult {
        position: relative; }
        .contentsWrap .program24hArea01 > .inner01 .areaResult .txtResult {
          position: absolute;
          left: 8px;
          top: 8px;
          border-radius: 12px;
          color: #07654B;
          background-color: rgba(244, 202, 218, 1.0);
          padding: 2px 8px 3px;
          font-size: 1.2rem; }
  .contentsWrap .contents02 {
    overflow: hidden; }
    .contentsWrap .contents02 > .inner01 {
      max-width: 1143px;
      margin-left: auto;
      margin-right: auto;
      padding: 0 20px 0; }
      @media screen and (max-width: 767px) {
        .contentsWrap .contents02 > .inner01 {
          padding: 0 16px 0; } }
    @media screen and (max-width: 767px) {
      .contentsWrap .contents02 .slider01,
      .contentsWrap .contents02 .thumbnail01 {
        margin-left: -16px;
        margin-right: -16px; } }
    .contentsWrap .contents02 .localNav {
      background: #E7E7E7;
      margin: 0 -500%;
      padding: 44px 500% 1px; }
      @media screen and (max-width: 767px) {
        .contentsWrap .contents02 .localNav {
          margin: 0 -20px;
          padding: 44px 20px 3px; } }
      .contentsWrap .contents02 .localNav > .inner01 {
        display: flex;
        flex-wrap: wrap; }
        .contentsWrap .contents02 .localNav > .inner01 .month {
          width: 77px;
          display: inline-block;
          font-family: 'Noto Sans JP', sans-serif;
          font-weight: 700;
          margin-right: 10px;
          line-height: 1; }
        .contentsWrap .contents02 .localNav > .inner01 .nav02 {
          width: calc(100% - 77px - 10px); }
    .contentsWrap .contents02 .leadArea {
      background: #4c2faf;
      margin: 0 -500%;
      padding: 0 500%; }
      @media screen and (max-width: 767px) {
        .contentsWrap .contents02 .leadArea {
          margin: 0 -16px;
          padding: 0 0; } }
      .contentsWrap .contents02 .leadArea.type02 {
        background: #FFF2BB; }
        .contentsWrap .contents02 .leadArea.type02 > .inner01 {
          padding: 45px 20px 79px; }
          @media screen and (max-width: 767px) {
            .contentsWrap .contents02 .leadArea.type02 > .inner01 {
              padding: 45px 16px 79px; } }
      .contentsWrap .contents02 .leadArea > .inner01 {
        max-width: 840px;
        margin-left: auto;
        margin-right: auto;
        /*padding: 84px 20px 98px;*/
        color: #fff; }
        @media screen and (max-width: 767px) {
          .contentsWrap .contents02 .leadArea > .inner01 {
            padding: 0 16px } }
        .contentsWrap .contents02 .leadArea > .inner01 a {
          color: #fff; }
        .contentsWrap .contents02 .leadArea > .inner01 .btn02 a {
          color: #07654B; }
        .contentsWrap .contents02 .leadArea > .inner01.type02 {
          max-width: calc(100% - 264px - 56px);
          margin-left: 0;
          margin-right: 0;
          padding-left: 0;
          padding-right: 0; }
          @media screen and (max-width: 767px) {
            .contentsWrap .contents02 .leadArea > .inner01.type02 {
              max-width: 100%;
              padding-left: 16px;
              padding-right: 16px; } }
          .contentsWrap .contents02 .leadArea > .inner01.type02 .heading01 {
            text-align: left;
            font-size: 3.6rem;
            margin-bottom: 65px; }
            @media screen and (max-width: 767px) {
              .contentsWrap .contents02 .leadArea > .inner01.type02 .heading01 {
                font-size: 3.411rem;
                margin-bottom: 61.5875px; } }
        .contentsWrap .contents02 .leadArea > .inner01 .heading01 {
          text-align: center; }
        .contentsWrap .contents02 .leadArea > .inner01 .tx01 {
          font-size: 1.8rem;
          line-height: 1.66;
          margin-top: 37px; }
        .contentsWrap .contents02 .leadArea > .inner01 .tx02 {
          margin-top: 35px;
          margin-bottom: -18px;
          text-align: center;
          font-size: 2.6rem;
          line-height: 1.38;
color: #000;}
          @media screen and (max-width: 767px) {
            .contentsWrap .contents02 .leadArea > .inner01 .tx02 {
              font-size: 1.8296rem;
              margin-top: 42px;
              margin-bottom: -19px; } }
        .contentsWrap .contents02 .leadArea > .inner01 .tx03 {
          margin-top: 35px;
          text-align: center;
          color: #000;
          font-size: 1.8rem;
          line-height: 2.22; }
.contentsWrap .contents02 .leadArea > .inner01 .tx04 {
	color: #FFF;
	font-size: 2.4rem;
	font-family: 'M PLUS 1', sans-serif;
  font-weight: 300;
	padding: 40px 0 24px 0;
}
@media screen and (max-width: 767px) {
	.contentsWrap .contents02 .leadArea > .inner01 .tx04 {
		font-size: 2.0rem;
	}
}

.contentsWrap .contents02 .pgTitleArea{
	padding: 40px 0;
}
.contentsWrap .contents02 .pgTitleArea .heading01 {
	background: #FFF;
	font-size: 5.0rem;
	color: #231815;
	text-align: center;
	padding: 0;
}
.contentsWrap .contents02 .pgTitleArea .heading01 span {
	font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
	.contentsWrap .contents02 .pgTitleArea .heading01 {
		font-size: 3.2rem;
		margin: 0;
	}
	.contentsWrap .contents02 .pgTitleArea .heading01 span {
		font-size: 2.0rem;
	}
}

.imgL_wrap01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .imgL_wrap01 + .imgL_wrap01 {
    margin-top: 64px; }
  .imgL_wrap01 .fig01 {
    width: 270px; }
    @media screen and (max-width: 767px) {
      .imgL_wrap01 .fig01 {
        width: 72%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 34px; } }
  .imgL_wrap01 .textWrap {
    width: calc(100% - 270px - 32px);
    padding-top: 1px;
    padding-bottom: 15px;
    position: relative;
    border-bottom: 1px solid #E2E2E2; }
    @media screen and (max-width: 767px) {
      .imgL_wrap01 .textWrap {
        width: 100%;
        padding-bottom: 64px; } }

.imgL_wrap02 {
  padding-bottom: 25px;
  border-bottom: 1px solid #E2E2E2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .imgL_wrap02 {
      padding-bottom: 35px; } }
  .imgL_wrap02 + .imgL_wrap02 {
    margin-top: 64px; }
  .imgL_wrap02 .fig01 {
    width: 480px; }
    @media screen and (max-width: 767px) {
      .imgL_wrap02 .fig01 {
        width: 100%; } }
  .imgL_wrap02 .textWrap {
    width: calc(100% - 480px - 40px);
    margin-top: -5px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .imgL_wrap02 .textWrap {
        margin-top: 26px;
        width: 100%; } }
    .imgL_wrap02 .textWrap .text01 + p {
      margin-top: 20px; }
      @media screen and (max-width: 767px) {
        .imgL_wrap02 .textWrap .text01 + p {
          margin-top: 38px;
          line-height: 2.25; } }
    @media screen and (max-width: 767px) {
      .imgL_wrap02 .textWrap .nav03 {
        margin-top: 54px; } }
.imgL_wrap02 .fig01 figcaption{
	text-align: right;
	font-size: 1.2rem;
}

.imgL_wrap03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .imgL_wrap03 + .imgL_wrap03 {
    margin-top: 15px; }
    @media screen and (max-width: 990px) {
      .imgL_wrap03 + .imgL_wrap03 {
        margin-top: 30px; } }
  .imgL_wrap03 .fig01 {
    width: 359px; }
    @media screen and (max-width: 990px) {
      .imgL_wrap03 .fig01 {
        width: 100%; } }
  .imgL_wrap03 .textWrap {
    width: calc(100% - 359px - 40px);
    margin-top: -5px;
    position: relative; }
    @media screen and (max-width: 990px) {
      .imgL_wrap03 .textWrap {
        margin-top: 30px;
        width: 100%; } }

.dlWrap01 dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  .dlWrap01 dl + dl {
    margin-top: 24px; }
    @media screen and (max-width: 767px) {
      .dlWrap01 dl + dl {
        margin-top: 28px; } }
  .dlWrap01 dl dt {
    text-align: left;
    font-size: 1.8rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    line-height: 2;
    padding: 8px 34px 8px 23px; }
    @media screen and (min-width: 768px) {
      .dlWrap01 dl dt {
        width: 327px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        position: relative;
        margin-right: 32px; } }
    @media screen and (max-width: 990px) {
      .dlWrap01 dl dt {
        width: 257px;
        font-size: 1.6rem; } }
    @media screen and (max-width: 930px) {
      .dlWrap01 dl dt {
        width: 187px; } }
    @media screen and (max-width: 767px) {
      .dlWrap01 dl dt {
        width: 100%;
        background: #E7E7E7;
        padding: 19px 23px 18px; } }
  .dlWrap01 dl dd {
    text-align: left;
    line-height: 2.25;
    padding-top: 8px;
    padding-bottom: 8px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .dlWrap01 dl dd {
        width: calc(100% - 327px - 32px);
        border-bottom: 1px solid #E2E2E2;
        min-height: 116px;
        display: flex;
        flex-wrap: wrap;
        align-items: center; } }
    @media screen and (max-width: 990px) {
      .dlWrap01 dl dd {
        width: calc(100% - 257px - 32px); } }
    @media screen and (max-width: 930px) {
      .dlWrap01 dl dd {
        width: calc(100% - 187px - 32px);
        min-height: 146px; } }
    @media screen and (max-width: 767px) {
      .dlWrap01 dl dd {
        width: 100%;
        line-height: 2.25;
        padding-top: 24px;
        padding-bottom: 12px; } }
    .dlWrap01 dl dd a.full {
      width: 100%; }
    .dlWrap01 dl dd.type02 {
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        .dlWrap01 dl dd.type02 {
          text-align: center; }
          .dlWrap01 dl dd.type02 .btn02 {
            margin-top: 24px; }
            .dlWrap01 dl dd.type02 .btn02 a {
              width: auto; } }
    @media screen and (min-width: 768px) {
      .dlWrap01 dl dd::before {
        content: '';
        position: absolute;
        top: 0;
        left: -359px;
        width: 327px;
        height: 100%;
        background: #E7E7E7;
        z-index: -1; } }
    @media screen and (max-width: 990px) {
      .dlWrap01 dl dd::before {
        left: -289px;
        width: 257px; } }
    @media screen and (max-width: 930px) {
      .dlWrap01 dl dd::before {
        left: -219px;
        width: 187px; } }

.dlWrap02 dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  .dlWrap02 dl + dl {
    margin-top: 32px; }
    .dlWrap02 dl + dl.type02 {
      margin-top: 24px; }
  .dlWrap02 dl.type02 dd {
    padding-top: 8px;
    padding-bottom: 8px; }
  .dlWrap02 dl dt {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.26;
    /*margin-right: 26px;*/
    padding: 8px 0;
    width: 160px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media screen and (max-width: 990px) {
      .dlWrap02 dl dt {
        width: 100px; } }
    @media screen and (max-width: 930px) {
      .dlWrap02 dl dt {
        width: 40px; } }
    @media screen and (max-width: 767px) {
      .dlWrap02 dl dt {
        width: 100%;
        background: #E7E7E7;
        padding: 19px 23px 18px;
        margin-right: 0; } }
  .dlWrap02 dl dd {
    width: calc(100% - 160px - 26px);
    text-align: left;
    line-height: 1.3;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative; }
    @media screen and (max-width: 990px) {
      .dlWrap02 dl dd {
        width: calc(100% - 100px - 32px); } }
    @media screen and (max-width: 930px) {
      .dlWrap02 dl dd {
        width: calc(100% - 40px - 32px); } }
    @media screen and (max-width: 767px) {
      .dlWrap02 dl dd {
        width: 100%;
        line-height: 2.25;
        padding-top: 24px;
        padding-bottom: 12px; } }
    .dlWrap02 dl dd a {
      width: 100%; }
    .dlWrap02 dl dd::before {
      content: '';
      position: absolute;
      top: 50%;
      left: -186px;
      width: 160px;
      height: 100%;
      background: #E7E7E7;
      transform: translateY(-50%);
      z-index: -1; }
      @media screen and (max-width: 990px) {
        .dlWrap02 dl dd::before {
          left: -132px;
          width: 100px; } }
      @media screen and (max-width: 930px) {
        .dlWrap02 dl dd::before {
          left: -72px;
          width: 40px; } }
    .dlWrap02 dl dd .tx01 {
      width: 100%;
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 1; }
      @media screen and (max-width: 767px) {
        .dlWrap02 dl dd .tx01 {
          line-height: 1.3; } }

.dlWrap03 + .text02 {
  margin-top: 30px; }

.text02 + .dlWrap03 {
  margin-top: 6px; }
.dlWrap03 dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .dlWrap03 dl dt,
  .dlWrap03 dl dd {
    font-size: 1.6rem;
    line-height: 2.25; }
  .dlWrap03 dl dt {
    width: 4.5em; }
  .dlWrap03 dl dd {
    width: calc(100% - 4.5em); }
    .dlWrap03 dl dd ul li ul {
      margin-left: 3em; }

.dlWrap04 dl {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start; }
  .dlWrap04 dl + dl {
    margin-top: 24px; }
    @media screen and (max-width: 767px) {
      .dlWrap04 dl + dl {
        margin-top: 28px; } }
  .dlWrap04 dl dt {
    font-size: 1.6rem;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 2;
    padding: 4px 10px;
    background: #4c2faf;
    margin-right: 16px;
    min-width: 161px; }
  .dlWrap04 dl dd {
    text-align: left;
    padding-top: 4px;
    padding-bottom: 4px; }
    .dlWrap04 dl dd ul li {
      line-height: 2; }
      .dlWrap04 dl dd ul li + li {
        margin-top: 10px; }
      .dlWrap04 dl dd ul li a {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700; }
.dlWrap04.type2023 dl dt {
  background: #031e5b; }

.aboutArea,
.programArea {
  position: relative; }

.newsArea > .inner01,
.aboutArea > .inner01,
.programArea > .inner01,
.scheduleArea > .inner01,
.ticketArea > .inner01,
.mapArea > .inner01,
.companyArea > .inner01 {
  padding: 120px 0 81px 3px; }
  @media screen and (max-width: 767px) {
    .newsArea > .inner01,
    .aboutArea > .inner01,
    .programArea > .inner01,
    .scheduleArea > .inner01,
    .ticketArea > .inner01,
    .mapArea > .inner01,
    .companyArea > .inner01 {
      padding-left: 0;
		padding-top: 40px;} }
  .newsArea > .inner01 .inner02,
  .aboutArea > .inner01 .inner02,
  .programArea > .inner01 .inner02,
  .scheduleArea > .inner01 .inner02,
  .ticketArea > .inner01 .inner02,
  .mapArea > .inner01 .inner02,
  .companyArea > .inner01 .inner02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .newsArea > .inner01 .inner02 .inner03,
    .aboutArea > .inner01 .inner02 .inner03,
    .programArea > .inner01 .inner02 .inner03,
    .scheduleArea > .inner01 .inner02 .inner03,
    .ticketArea > .inner01 .inner02 .inner03,
    .mapArea > .inner01 .inner02 .inner03,
    .companyArea > .inner01 .inner02 .inner03 {
      width: calc(100% - 264px - 56px); }
      @media screen and (max-width: 767px) {
        .newsArea > .inner01 .inner02 .inner03,
        .aboutArea > .inner01 .inner02 .inner03,
        .programArea > .inner01 .inner02 .inner03,
        .scheduleArea > .inner01 .inner02 .inner03,
        .ticketArea > .inner01 .inner02 .inner03,
        .mapArea > .inner01 .inner02 .inner03,
        .companyArea > .inner01 .inner02 .inner03 {
          width: 100%; } }
    .newsArea > .inner01 .inner02 .nav,
    .aboutArea > .inner01 .inner02 .nav,
    .programArea > .inner01 .inner02 .nav,
    .scheduleArea > .inner01 .inner02 .nav,
    .ticketArea > .inner01 .inner02 .nav,
    .mapArea > .inner01 .inner02 .nav,
    .companyArea > .inner01 .inner02 .nav {
      width: 264px; }
      .newsArea > .inner01 .inner02 .nav .nav04,
      .aboutArea > .inner01 .inner02 .nav .nav04,
      .programArea > .inner01 .inner02 .nav .nav04,
      .scheduleArea > .inner01 .inner02 .nav .nav04,
      .ticketArea > .inner01 .inner02 .nav .nav04,
      .mapArea > .inner01 .inner02 .nav .nav04,
      .companyArea > .inner01 .inner02 .nav .nav04 {
        background: #fff; }
      @media screen and (max-width: 767px) {
        .newsArea > .inner01 .inner02 .nav,
        .aboutArea > .inner01 .inner02 .nav,
        .programArea > .inner01 .inner02 .nav,
        .scheduleArea > .inner01 .inner02 .nav,
        .ticketArea > .inner01 .inner02 .nav,
        .mapArea > .inner01 .inner02 .nav,
        .companyArea > .inner01 .inner02 .nav {
          width: 100%;
          margin-top: 50px; } }
    .newsArea > .inner01 .inner02 #fixNav,
    .aboutArea > .inner01 .inner02 #fixNav,
    .programArea > .inner01 .inner02 #fixNav,
    .scheduleArea > .inner01 .inner02 #fixNav,
    .ticketArea > .inner01 .inner02 #fixNav,
    .mapArea > .inner01 .inner02 #fixNav,
    .companyArea > .inner01 .inner02 #fixNav {
      z-index: 1; }
      .newsArea > .inner01 .inner02 #fixNav.fixed,
      .aboutArea > .inner01 .inner02 #fixNav.fixed,
      .programArea > .inner01 .inner02 #fixNav.fixed,
      .scheduleArea > .inner01 .inner02 #fixNav.fixed,
      .ticketArea > .inner01 .inner02 #fixNav.fixed,
      .mapArea > .inner01 .inner02 #fixNav.fixed,
      .companyArea > .inner01 .inner02 #fixNav.fixed {
        position: fixed;
        top: 10px;
        left: 50%;
        margin-left: 287px; }
        @media screen and (max-width: 1143px) {
          .newsArea > .inner01 .inner02 #fixNav.fixed,
          .aboutArea > .inner01 .inner02 #fixNav.fixed,
          .programArea > .inner01 .inner02 #fixNav.fixed,
          .scheduleArea > .inner01 .inner02 #fixNav.fixed,
          .ticketArea > .inner01 .inner02 #fixNav.fixed,
          .mapArea > .inner01 .inner02 #fixNav.fixed,
          .companyArea > .inner01 .inner02 #fixNav.fixed {
            left: inherit;
            margin-left: 0;
            right: 20px; } }
        .newsArea > .inner01 .inner02 #fixNav.fixed.fixedFooter,
        .aboutArea > .inner01 .inner02 #fixNav.fixed.fixedFooter,
        .programArea > .inner01 .inner02 #fixNav.fixed.fixedFooter,
        .scheduleArea > .inner01 .inner02 #fixNav.fixed.fixedFooter,
        .ticketArea > .inner01 .inner02 #fixNav.fixed.fixedFooter,
        .mapArea > .inner01 .inner02 #fixNav.fixed.fixedFooter,
        .companyArea > .inner01 .inner02 #fixNav.fixed.fixedFooter {
          position: absolute;
          top: inherit;
          bottom: 20px;
          right: 0; }
  .newsArea > .inner01 .slider01 li img,
  .aboutArea > .inner01 .slider01 li img,
  .programArea > .inner01 .slider01 li img,
  .scheduleArea > .inner01 .slider01 li img,
  .ticketArea > .inner01 .slider01 li img,
  .mapArea > .inner01 .slider01 li img,
  .companyArea > .inner01 .slider01 li img {
    width: 100%; }
  .newsArea > .inner01 .thumbnail01,
  .aboutArea > .inner01 .thumbnail01,
  .scheduleArea > .inner01 .thumbnail01,
  .ticketArea > .inner01 .thumbnail01,
  .mapArea > .inner01 .thumbnail01,
  .companyArea > .inner01 .thumbnail01 {
    margin-top: 11.5px;
    margin-bottom: 78px; }
.programArea > .inner01 .thumbnail01,
.programArea > .inner01 .thumbnailCat{
	margin-top: 11.5px;
  margin-bottom: 8px;
}
    .newsArea > .inner01 .thumbnail01 li,
    .aboutArea > .inner01 .thumbnail01 li,
    .programArea > .inner01 .thumbnail01 li,
		.programArea > .inner01 .thumbnailCat li,
    .scheduleArea > .inner01 .thumbnail01 li,
    .ticketArea > .inner01 .thumbnail01 li,
    .mapArea > .inner01 .thumbnail01 li,
    .companyArea > .inner01 .thumbnail01 li {
      cursor: pointer;
      margin-left: 6.5px;
      margin-right: 6.5px; }
/*.programArea > .inner01 .thumbnail01{
	margin-bottom: 0;
}*/
.programArea > .inner01 .copyR,
.programArea > .inner01 figure figcaption{
	text-align: right;
	font-size: 1.2rem;
}

.programArea > .inner01 .credits{
	border-top: 1px solid #E2E2E2;
	margin-top: 64px;
  padding-top: 40px;
}
.programArea > .inner01 .credits li{
	margin-bottom: 12px;
	text-indent: -3em;
	padding-left: 3em;
}

.newsArea .newsTopicWrap {
  margin-top: 0; }
  @media screen and (max-width: 767px) {
    .newsArea .newsTopicWrap {
      margin-top: 0; } }
  .newsArea .newsTopicWrap .newsTopic {
    padding-bottom: 16px;
    border-bottom: 1px solid #ccc; }
    .newsArea .newsTopicWrap .newsTopic + .newsTopic {
      padding-top: 16px; }
    .newsArea .newsTopicWrap .newsTopic figure {
      width: 300px;
      margin-right: 32px; }
      @media screen and (max-width: 767px) {
        .newsArea .newsTopicWrap .newsTopic figure {
          margin-right: 0;
					margin-bottom: 16px;
					width: 100%;
				} 
			}
    .newsArea .newsTopicWrap .newsTopic .textWrap {
      width: calc(100% - 332px);
      margin-top: -4px; }
      @media screen and (max-width: 767px) {
        .newsArea .newsTopicWrap .newsTopic .textWrap {
          width: 100%; } }
.newsArea .newsTopicWrap .newsTopic a {
	display: block;
	text-decoration: none; 
}
.newsArea .newsTopicWrap .newsTopic a:hover {
    text-decoration: none;
		transition: all .3s;
		opacity: 0.7;
}
.newsArea .date {
  font-size: 1.4rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  margin-bottom: 6px; }
.newsArea .hdg {
	font-weight: 700;
	margin-bottom: 8px;
	color: #4c2faf;
}
  .newsArea .date .new {
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    padding: 2px 10px;
    background: #ED2C96;
    border-radius: 10.5px;
    margin-left: 10px; }
.newsArea .newsDetail {
  margin-top: 127px; }
  .newsArea .newsDetail .newsTitle01 {
    font-size: 1.8rem;
    line-height: 1.33;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin-bottom: 25px; }
  .newsArea .newsDetail > .inner01 {
    padding-top: 100px; }
    .newsArea .newsDetail > .inner01 .imgWrap01 {
      max-width: 780px;
      margin-left: auto;
      margin-right: auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        .newsArea .newsDetail > .inner01 .imgWrap01 figure {
          width: 49%; } }
  .newsArea .newsDetail ul {
    list-style: disc;
    margin-left: 18px; }
    .newsArea .newsDetail ul.number {
      list-style: decimal;
      margin-left: 18px; }
    .newsArea .newsDetail ul li {
      margin-bottom: 8px; }

.aboutArea > .inner01 {
  padding-bottom: 120px; }

.programArea .imgWrap01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .programArea .imgWrap01 figure img {
    width: 100%; }
  .programArea .imgWrap01 figure:nth-child(1),
  .programArea .imgWrap01 figure:nth-child(2) {
    width: 49.1%; }
  .programArea .imgWrap01 figure:nth-child(3) {
    width: 100%; }

.scheduleArea {
  margin: 0 -15px; }
  .scheduleArea > .inner01 {
    padding-top: 95px;
    padding-bottom: 95px;
    margin-right: -10px; }
.scheduleArea #notes{
	margin: 40px 24px 0 15px;
	border: 1px solid #E2E2E2;
	padding: 30px 30px 18px;
}
.scheduleArea #notes .title{
	font-weight: 700;
	border-bottom: 1px solid #E2E2E2;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}
.scheduleArea #notes .icon{
	display: inline-block;
	color: #07654B;
	font-family: 'Noto Sans JP', sans-serif;
	border-radius: 15px;
	background: #f4cada;
	padding: 2px 10px 3px;
	margin-right: 8px;
}
.scheduleArea #notes p{
	margin-bottom: 1em;
}
.c_qa{
	background: #1d78bf !important;
	color: #FFF !important;
}
.c_award{
	background: #bba102 !important;
	color: #FFF !important;
}
.c_opening{
	background: #e67237 !important;
	color: #FFF !important;
}
.c_talk{
	background: #f6b531 !important;
	color: #FFF !important;
}
.c_speech{
	background: #df4e66 !important;
	color: #FFF !important;
}
.c_OE{
	background: #e4f962 !important;
	color: #000 !important;
	border-radius: 0 !important;
	margin-left: 16px;
	font-size: 1.4rem;
}

.contentsWrap .contents02 .programArea .leadArea.scheduleUpper{
	padding-top: 40px;
}
.contentsWrap .contents02 .programArea .leadArea.scheduleUpper .btn02 > a{
	font-size: 1.6rem;
}
.contentsWrap .contents02 .leadArea.scheduleUpper > .inner01 .scheduleWrap .schedule .btn02 a {
	padding: 8px 57px 8px 16px;
}
.contentsWrap .contents02 .programArea .leadArea.scheduleUpper .scheduleWrap .schedule{
	padding: 16px 0;
}

#schedule h2.heading01{
	padding-top: 40px;
	margin-bottom: 0;
}
.scheduleWrap {
  /*max-width: 780px;*/
  border-top: 1px solid #FFF; 
	padding-bottom: 40px;
}
.scheduleWrap .schedule {
	padding: 20px 0;
	border-bottom: 1px solid #FFF; }
.scheduleWrap .schedule .detailWrap {
	width: 506px; }
.scheduleWrap .schedule .detailWrap p {
        line-height: 1.875; }
.scheduleWrap .schedule .detailWrap p span.venue{
	margin-left: 16px;
}
.scheduleWrap .schedule .detailWrap .icon{
	display: inline-block;
	color: #4c2faf;
	font-family: 'Noto Sans JP', sans-serif;
	border-radius: 15px;
	background: #e4f962;
	padding: 2px 10px 3px;
	line-height: 1.5;
}
.scheduleWrap .schedule .detailWrap .director{
	display: inline-block;
	margin-left: 8px;
}
@media screen and (max-width: 1120px) {
	.scheduleWrap .schedule .btn02 {
		margin-top: 20px; }
}
.contentsWrap .contents02 .leadArea > .inner01 .scheduleWrap .schedule .btn02 a {
	padding: 15px 57px 16px 16px;
	color: #4c2faf;
}
.contentsWrap .contents02 .leadArea > .inner01 .scheduleWrap .schedule .btn02 a:hover{
	background-color: #e4f962;
}
.scheduleWrap .schedule .btn02 > a::before {
	transform: rotate(270deg);
}

.table01 {
  width: calc(100% - 10px);
  border-spacing: 15px 25px;
  border-collapse: separate; }
  @media screen and (max-width: 767px) {
    .table01 {
      border-spacing: 7.5px 12.5px; } }
  .table01 .w01 {
    width: 15.25%; }
  .table01 .w02 {
    width: 15.5%; }
  .table01 .w03 {
    width: 15.5%; }
  .table01 .w04 {
    width: 54.5%; }
  .table01 thead tr th,
  .table01 thead tr td {
    text-align: center;
    color: #fff;
    background: #4c2faf;
    padding: 0.5em 1em; }
    @media screen and (max-width: 767px) {
      .table01 thead tr th,
      .table01 thead tr td {
        /*writing-mode: vertical-rl;*/
        vertical-align: middle;
        text-align: center;
				writing-mode: horizontal-tb;
				text-orientation: mixed;
				transform: none;
			} }
    .table01 thead tr th.type02,
    .table01 thead tr td.type02 {
      text-align: left;
      padding-left: 9em; }
      @media screen and (max-width: 767px) {
        .table01 thead tr th.type02,
        .table01 thead tr td.type02 {
          writing-mode: inherit;
          text-align: center;
          padding-left: 1em; } }
  .table01 tbody tr th,
  .table01 tbody tr td {
    text-align: left; }
  .table01 tbody tr th {
    vertical-align: top;
    background: #E7E7E7;
    padding: 0 5px 0 10px; }
    .table01 tbody tr th .day {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 700;
      font-size: 3.6rem; }
    @media screen and (max-width: 767px) {
      .table01 tbody tr th {
        padding-top: 5px; } }
  .table01 tbody tr td {
    padding-bottom: 24px;
    border-bottom: 1px solid #E2E2E2;
    position: relative; }
    .table01 tbody tr td::before {
      content: '';
      position: absolute;
      bottom: -1px;
      right: -15px;
      width: 15px;
      height: 1px;
      background: #E2E2E2; }
    .table01 tbody tr td:last-child::before {
      width: 0; }
    .table01 tbody tr td .tx01 {
      display: inline-block;
      color: #07654B;
      font-family: 'Noto Sans JP', sans-serif;
      /*font-weight: 700;*/
      border-radius: 15px;
      background: #f4cada;
      padding: 2px 10px 3px; }
    .table01 tbody tr td .wrap01 .btn02.type03 {
      margin-top: 10px; }

.movieWrap01 {
  padding-left: 34px;
  padding-right: 34px; }
  .movieWrap01 > .inner01 {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden; }
    .movieWrap01 > .inner01 iframe {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }

.noteWrap01 {
  max-width: 700px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .noteWrap01 {
      height: auto; } }

@media screen and (max-width: 767px) {
  .slick-prev,
  .slick-next {
    width: 25px;
    height: 25px; } }

@media screen and (max-width: 767px) {
  .slick-prev {
    left: 9px; } }

@media screen and (max-width: 767px) {
  .slick-next {
    right: 9px; } }
