body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.icb {
    color: #019faa;
}

.copicb {
    color: #e6002e;
}

a.label {
    cursor: pointer;
    background-color: #9f9e9e;
    margin-left: 16px;
    padding:8px 16px;
    border-radius: 4px;
    -webkit-transition: all .25s;
    -moz-transition: all .25s;
    transition: all .25s;
    font-weight: 600;
    background-color: #1da1f2;
}

a.label:hover {
    color: #fff;
    background-color: #1480c3;
}

.mt-image-left {
    float: left; margin: 0 20px 20px 0;
}
.mt-image-center {
    text-align: center; display: block; margin: 0 auto 20px;
}
.mt-image-right {
    float: right; margin: 0 0 20px 20px;
}


/* SCROLL UP Large and up */
@media screen and (min-width: 64em) {
    #scrollUp::before {
        display: inline-block;
        font-size: 30px;
        padding-left: 12px;
        padding-top:4px;
        font-weight: 800;
        font-family: "Font Awesome 5 Pro"; content: "\f062";
    }
     #scrollUp {
        bottom: 32px;
        right: 32px;
        width:50px;
        height:50px;
        background-color: rgba(0,0,0,0.5);
        -webkit-transition: all .25s;
        -moz-transition: all .25s;
        transition: all .25s;
    }
    a#scrollUp:hover {
        background-color: rgba(232,56,61,1);
    }
    a#scrollUp {
        color: #fff;
    }
}



/*nav*/

div#gmenu {
  position: fixed !important;
  -webkit-align-items: center;
  align-items: center;
  z-index: 999 !important;
  top: 0 !important;
  left: 0 !important;
  background: rgba(255,102,153, 1) !important;
  color: #FFF !important;
  width: 100% !important;
  display: flex !important;
  justify-content: space-between;
  -webkit-transition: all 0.6s ease-in-out !important;
  -moz-transition: all 0.6s ease-in-out !important;
  -o-transition: all 0.6s ease-in-out !important;
  transition: all 0.6s ease-in-out !important;
  -webkit-backface-visibility: hidden !important;
  font-family: "M PLUS 1p";
  font-weight: 600;
    min-height:80px;
}
div#gmenu.hide {
  top: -100px !important;
}
div#gmenu .logo img {
    
}
div#gmenu .logo {
 margin:16px 24px 16px 24px;
}
div#gmenu .logo a {

}
div#gmenu .gmenu_r_logo {
    margin-right:24px;
    margin-left:198px;
}

div#gmenu ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
    letter-spacing: -.4em;
}
div#gmenu ul li {
    display: inline-block;
    letter-spacing: normal;
}
div#gmenu ul li a {
  color: #fff;
  margin:0 16px;
  -webkit-transition: all 0.25s ease-in-out !important;
  -moz-transition: all 0.25s ease-in-out !important;
  -o-transition: all 0.25s ease-in-out !important;
  transition: all 0.25s ease-in-out !important;
}
div#gmenu ul li a:hover {
    color: #1da1f2;
}
div#gmenu ul li.home a::after {
    content: "|";
    margin-left:16px;
    color: #fff;
}

div#gmenu ul li.about a::before {
    content: "|";
    margin-right:16px;
    color: #fff;
}

@media screen and (max-width: 1320px) {
    div#gmenu .logo {
     margin-right:10px;
    }
    div#gmenu .gmenu_r_logo {
    margin-left:10px;
    }
    div#gmenu ul li a {
        margin:0 8px;
    }
}

#gmenu-mobile {
    display: none;
}


@media screen and (max-width: 63.9375em) {
    #gmenu-mobile {
        display: block;
    }
div#gmenu {
    display: none !important;
}
div#gmenu-mobile {
  position: fixed;
  -webkit-align-items: center;
  align-items: center;
  z-index: 2;
  top: 0;
  left: 0;
  background: rgba(255,102,153, 1);
  color: #FFF;
  width: 100%;
  display: flex;
  justify-content: space-between;
  -webkit-transition: all 0.6s ease-in-out;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
  -webkit-backface-visibility: hidden;
  height:80px;
}
#gmenu-mobile .logo {
  position: absolute;
  top: 50%;
  left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
#gmenu-mobile .logo a {

}
#gmenu-mobile .gmenu_l_logo {
    position: absolute;
    top: 50%;
    left: 16px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 39.9375em) {
    #gmenu-mobile .gmenu_l_logo img {
        width:13vw;
    }
    #gmenu-mobile .logo img {
        width:40vw;
    }
    
}


/*ハンバーガーメニュー*/

#hamb_nav .hamb-wrap {
  height: 30px;
  width: 40px;
  position: absolute;
  top: 50%;
  right: 16px;
   -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  cursor: pointer;
  z-index: 9999;
}
#hamb_nav .hamb {
  height: 3px;
  width: 30px;
  background: #fff;
  position: absolute;
  top: 14px;
  left: 0;
  transition: 0.2s;
}
#hamb_nav .hamb:before, #hamb_nav .hamb:after {
  content: '';
  position: absolute;
  background: #fff;
  height: 3px;
  width: 100%;
  transition: 0.2s;
}
#hamb_nav .hamb:before {
  top: 8px;
}
#hamb_nav .hamb:after {
  top: -8px;
}
#hamb_nav .active {
  background: none;
  transition: 0.2s;
}
#hamb_nav .active:before, #hamb_nav .active:after {
  transition: 0.2s;
  top: 0;
}
#hamb_nav .active:before {
  transform: rotate(45deg);
}
#hamb_nav .active:after {
  transform: rotate(-45deg);
}
#hamb_nav .logo {
  margin: 0 0 0 85px;
}
#hamb_nav nav {
  position: absolute;
  top: 80px;
  left: 0;
  height: calc(100vh - 80px);
  width: 100%;
  padding-top:32px;
  padding-left: 24px;
  display: none;
  background: rgba(0, 0, 0, 0.9);
  z-index: 3;
}
    #hamb_nav ul.topgnav {
        font-size: 1rem;
        list-style: none;
        position:relative;
    }
    #hamb_nav ul.topgnav ul {
        list-style: none;
        margin: 0;
    }
    #hamb_nav ul.topgnav ul {
        margin-left: 1rem;
    }
    #hamb_nav ul.topgnav li {
        line-height: 2.5;
        font-weight: 800;
    }
    #hamb_nav ul.topgnav li a {
        color: #ffffff;
    }
}




.page.container {
    margin-top:56px;
}




/*footer*/
footer {
    background-color: #F6F5EC;
    padding: 32px 0;
    margin-top:32px;
}
footer p.copyrights {
    font-size: 0.9rem;
    margin-left:16px;
}

footer ul.footnav  {
    list-style: none;
    margin: 0 0 32px 0;
}
footer h2 {
    font-weight: 500;
    font-size: 1.1rem;
    color: #5c5c5c;
}
footer ul.footnav li,footer ul.footnav li a {
    color: #7a7a7a;
}
footer ul.footnav li a:hover {
    text-decoration: underline;
}
footer ul.footnav li::before {
    margin-right: 0.5em;
    display: inline-block;
    font-family: "Font Awesome 5 Pro"; content: "\f105";
}

/*TOPページ*/

.mainimage {
    margin-top:80px;
    text-align: center;
}
.mainimage img {
        width:100%;
}

    .mainimage img {
        max-width:65em;
        margin: auto;
    }
    .container {
        max-width:45rem;
    }

/* Large and up */
@media screen and (min-width: 64em) {
        .small-full.container,.catlist.container {
        max-width:64rem;
    }
}


.container section {
    margin-right: 8px;
    margin-left: 8px;
    margin-bottom: 80px;
    margin-top:-80px;
    padding-top:80px;
}

.container p,.container ul,.container ol,.container dl {
    color:#2a2a2a;
    font-size: 0.9375rem;
    line-height: 1.6;
}

.container dl {
    margin-bottom: 32px;
}
.container h2 {
  text-align: center;
  font-size: 1.875rem;
  font-weight: normal;
  margin: 2.25rem 0 0.85rem;
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  color: #ff6699;
}
.container h2>span {
  display: block;
  font-size: 0.9375rem;
  color: #777;
  text-transform: uppercase;
  font-family: "M PLUS 1p";
    font-weight: 600;
}
h2+hr {
  width: 30px;
  border-bottom: 2px solid #2222;
  margin: 0.85rem auto 1.25rem;
}

.container h3 {
    font-family: "M PLUS 1p";
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.2;
    color: #4e4e4e;
}


.container .concept h3 {
    margin-bottom: 16px;
    text-align: center;
    font-size: 1.0625rem;
}

.article-cover {
    margin-bottom: 16px;
}
.article-cover img {
}
a .article-text {
    color: #2a2a2a;
}
.container p.article-date {
    margin-bottom: 0;
    font-weight:bold;
    font-size:0.75rem;
}
.container p.article-booth {
    margin-bottom: 8px;
}

.container p.article-booth span {
    margin-right:4px;
}
.container p.article-booth span:last-child {
    margin-right:0;
}

.label.icbl {
    background-color: rgba(1,159,170,1);
    border-radius: 18px;
    padding:6px 12px;
    cursor: pointer;
}
.label.copicbl {
    background-color: rgba(230,0,46,1);
    border-radius: 18px;
    padding:6px 12px;
    cursor: pointer;
}

.article-text .article-description,.concept p,.concept ul {
    font-size: 0.8125rem;
    line-height: 1.8;
}

.conceptbg {
    background: #bbe1ff url("../img/concept_back_C97.jpg") no-repeat center;
    background-size:cover;
}

.container .news ul {
    font-size: 0.9375rem;
}
.container .news ul li span {
    font-size: 0.8125rem;
}
p.snsiconlist {
    text-align: center;
}
p.snsiconlist span {
    margin:0 4px 16px 4px;
}
p.snsiconlist a .fa-circle {
    color:#d9d9d9;
    -webkit-transition: all .25s;
    -moz-transition: all .25s;
    transition: all .25s;
}
p.snsiconlist a .fa-stack {
    font-size: 1.6rem;
}
p.snsiconlist .button-twitter a .fa-circle {
    color:#1DA1F2;
}
p.snsiconlist .button-facebook a .fa-circle {
    color:#425F9C;
}
p.snsiconlist .button-instagram a .fa-circle {
    color:#d43779;
}
p.snsiconlist .button-website a .fa-circle {
    color:#ce1e1e;
}
.container .snslist h3 {
    text-align: center;
    margin-bottom: 16px;
}

p.morelink {
    margin-top: 16px;
    text-align: center;
}
p.morelink::before {
    margin-right: 0.5em;
    display: inline-block;
    font-family: "Font Awesome 5 Pro"; content: "\f105";
}
p.morelink a {
    font-family: "M PLUS 1p";
    font-weight: 600;
    font-size: 0.9375rem;
}



.page-head h1 {
    margin: 80px 0 24px;
    font-family: "M PLUS 1p";
    font-weight: 600;
    line-height: 1.3;
}

.container h3.article-title {
    color:#1480c3;
}

.page.container .article-title-date {
    line-height: 2;
}
.page.container .category a,.page.container .place a,.page.container .place2 a {
    font-family: "M PLUS 1p";
    font-weight: 600;
    color: #fff;
    margin-bottom: 0;
    line-height: 1;
    display: table-cell;
    vertical-align: middle;
    font-size: 0.875rem;
}

div .category,div .place,div .place2 {
    border-radius: 50%;
    width:80px;
    height:80px;
    text-align: center;
    display: table;
    float: right;
    margin:0 0 10px 10px;
}

div .place.east,div .place2.east {
    background-color: rgba(1,159,170,0.9);
}

div .place.west,div .place2.west {
    background-color: rgba(230,0,46,0.9);
}

div.sticky {
    padding-bottom: 16px;
}

.page.container .category a {
}
.page.container .place a {
}

.container .page-head + .main-content {
    padding-top:16px;
    margin-bottom: 48px;
}

.container .main-content h2 {
    font-family: "M PLUS 1p";
    font-weight: 600;
    text-align: left;
    font-size: 1.21875rem;
    margin: 0 0 24px 0;
    color: #ff6699;
}
.container .main-content h3 {
    font-family: "M PLUS 1p";
    font-weight: 600;
    text-align: left;
    font-size: 1.0625rem;
    margin: 0 0 24px 0;
    color: #2a2a2a;
}


.snsbutton {
    margin-bottom:48px;
}
.fb-like {
    margin-bottom: 0;
}
.snsbutton p.twitterbutton {
    margin-bottom: 8px;
}

.button i+span {
    margin-left:8px;
}

.button {
    background-color: #ff6699;
    padding: 12px 40px;
    margin: 32px 0;
    border-radius: 4px;
    color: #fff;
    font-weight: 600;
}
  .button:hover, .button:focus {
    background-color: #d90277;
    color: #fff;
}

.footnavi .button {
    background-color: #d0cdcd;
    padding: 12px 12px;
    margin: 0;
    border-radius: 4px;
    color: #4e4e4e;
}
.footnavi .button:hover, .footnavi .button:focus {
    background-color: #dbdbdb;
    color: #4e4e4e;
}



.list-head h1 {
    margin: 100px 0 8px;
    font-family: "M PLUS 1p";
    font-weight: 600;
    color: #696969;
}
.container .list-head h1 {
  text-align: center;
  font-size: 1.875rem;
  font-weight: normal;
  margin: 4rem 0 0.85rem;
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  color: #ff6699;
}
.container .list-head h1>span {
  display: block;
  font-size: 0.9375rem;
  color: #777;
  text-transform: uppercase;
  font-family: "M PLUS 1p";
    font-weight: 600;
}
.container .list-head h1+hr {
  width: 30px;
  border-bottom: 2px solid #2222;
  margin: 0.85rem auto 1.25rem;
}

section.itemlist {
    display: flex;
    justify-content:left;
   flex-wrap:wrap;
    margin:0;
   padding-top:0;
}
section.itemlist .article-block {
    width:46%;
    margin: 0 2% 32px;
}

@media screen and (min-width: 64em) {
    section.itemlist .article-block {
    width:29%;
    margin: 0 2% 32px;
}
}

.list-head + .main-content {
    
}


.timetable ul {
    list-style: none;
    margin: 0;
    margin-bottom: 80px;
}

.timetable ul li {
    font-weight: 600;
}
.timetable ul li dl {
    padding-bottom: 8px;
    border-bottom: 1px solid #e1e1e1;
    margin-bottom: 8px;
}
.timetable ul li dl dt {
    background-color: #777;
    font-size: 0.8rem;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline;
}
.timetable ul li dl dd {
    margin-top:8px;
}

.timetable ul li dl dd span {
    white-space: nowrap;
}

h2.day {
    background-color: #1da1f2;
    color: #fff !important;
    padding: 8px 16px;
    position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 79px;
}

@media screen and (max-width: 39.9375em) {
    /*横スクロール*/
    
    .grid-container.small-full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; 
    }
    
    :root {
      --gutter: 20px;
    }

    .app {
      padding: var(--gutter) 0;
      display: grid;
      grid-gap: var(--gutter) 0;
      grid-template-columns: var(--gutter) 1fr var(--gutter);
      align-content: start;
        -webkit-overflow-scrolling: touch;
    }

    .app > * {
      grid-column: 2 / -2;
    }
Ω
    .app > .full2 {
      grid-column: 1 / -1;
    }
    
    .app .article-block {
        scroll-snap-align: start;
    }

    .hs {
      display: grid;
      grid-gap: calc(var(--gutter) / 2);
      grid-template-columns: 10px;
      grid-template-rows: minmax(150px, 1fr);
      grid-auto-flow: column;
      grid-auto-columns: calc(50% - var(--gutter) * 2);
      overflow-x: scroll;
      scroll-snap-type: x proximity;
      scroll-padding:10px;
      padding-bottom: calc(.75 * var(--gutter));
      margin-bottom: calc(-.25 * var(--gutter));
    }

    .hs:before,
    .hs:after {
      content: '';
      width: 10px;
    }
    
    .hs.grid-padding-x .cell {
        padding:0;
    }
    
}

    .app ul {
      list-style: none;
      padding: 0 0 16px 0;
      margin:0;
    }

div .category img,div .place img,div .place2 img {
    width:80px;
    height:80px;
}
