@charset "UTF-8";
/*---------------------------------------------------------------------------

font

---------------------------------------------------------------------------*/
body {
  font-family: YakuHanJP,'Roboto','Avenir','Helvetica Neue','Helvetica','Arial', 游ゴシック, YuGothic, 'Yu Gothic Medium', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.8em; }

.en, #topics .topicsList li .subcategory {
  font-family: 'Roboto', sans-serif; }

/*---------------------------------------------------------------------------

mixin

---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------

colorset

---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------

space

---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------

space

---------------------------------------------------------------------------*/
.col-2-1 {
  width: 50%; }

.col-3-1 {
  width: 33.3%; }

.col-3-2 {
  width: 66.7%; }

/*--------------------------------------------------------------
z-index
--------------------------------------------------------------*/
/*--------------------------------------------------------------
max-width
--------------------------------------------------------------*/
/*---------------------------------------------------------------------------

lightgallery

---------------------------------------------------------------------------*/
.lg-outer .lg-image {
  padding-bottom: 150px !important; }

.lg-sub-html {
  padding: 10px 10px 100px 10px !important;
  background-color: rgba(0, 0, 0, 0.25) !important; }

.lg-sub-html p {
  font-size: 10px !important;
  margin-top: 0 !important; }

.lg-backdrop.in {
  opacity: 0.8; }

.lg-toolbar {
  background: none !important; }

/*---------------------------------------------------------------------------

common

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

body {
  overflow-x: hidden;
  background-color: #fff;
  color: #000; }

.wrapper {
  overflow: hidden; }

.content {
  padding: 40px 20px; }
  @media screen and (min-width: 768px) {
    .content {
      padding: 80px 20px; } }

.contentIn {
  max-width: 980px;
  margin: 0 auto;
  box-sizing: border-box; }

figure {
  margin: 0; }

.animate__animated {
  opacity: 0; }

/*-- h1, h2, h3, h4, h5, h6 --*/
h1, h2, h3, h4, h5, h6 {
  line-height: 1.5; }

/*-- h2 --*/
h2.ttl-style1 {
  text-align: center;
  overflow: hidden;
  margin-bottom: 40px;
  position: relative; }
  h2.ttl-style1 .en {
    display: block;
    margin-bottom: 10px;
    vertical-align: bottom; }
    h2.ttl-style1 .en img {
      height: 2em;
      width: auto; }
  h2.ttl-style1 .ja {
    font-size: 16px;
    font-weight: bold;
    vertical-align: bottom;
    line-height: 1.7em;
    color: #333;
    display: block;
    letter-spacing: 0.2em;
    margin-bottom: 10px; }

/*-- lead --*/
.lead {
  font-size: 24px;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .lead {
      font-size: 32px; } }

p {
  font-size: 16px;
  margin-bottom: 1.0em; }

.wavy {
  -moz-text-decoration-line: underline;
  -moz-text-decoration-style: wavy;
  -moz-text-decoration-color: #333;
  -webkit-text-decoration-line: underline;
  -webkit-text-decoration-style: wavy;
  -webkit-text-decoration-color: #333;
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: #333;
  -moz-text-underline-position: right;
  -webkit-text-underline-position: right;
  text-underline-position: right;
  text-underline-offset: 0.2em; }

/*-- a --*/
a {
  outline-width: 0;
  color: #005bac;
  text-decoration: underline; }

#topics .topicsList li a {
  text-decoration: none; }

/*-- btn --*/
.btn {
  text-align: center; }

.btn a, .btn span {
  color: #fff;
  background-color: #0e0000;
  border: 2px solid #333;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  padding: 5px 20px;
  margin: 0 auto;
  text-decoration: none;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  font-size: 16px; }
  .btn a:hover, .btn span:hover {
    background-color: #fff;
    color: #333;
    text-decoration: none; }

.btn_l a, .btn_l span {
  font-size: 24px;
  padding: 10px 40px; }

.drawer-nav .subNav .btn {
  margin-bottom: 20px; }

/*-- caption --*/
.caption, figcaption {
  margin-top: 1rem;
  font-size: 12px;
  line-height: 1.7; }
  .caption span, figcaption span {
    font-style: italic; }

footer .caption {
  margin: 0; }

/*-- note --*/
.note {
  font-size: 12px; }

ul.annotation {
  margin-left: 2em;
  font-size: 12px; }
  ul.annotation li {
    text-indent: -1em; }
    ul.annotation li:before {
      content: '※'; }

/*-- flL,flR --*/
@media screen and (min-width: 768px) {
  .flL {
    float: left; } }

@media screen and (min-width: 768px) {
  .flR {
    float: right; } }

/*-- flex-container --*/
.flex-container {
  display: block; }
  @media screen and (min-width: 768px) {
    .flex-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }

/*-- viewPC,viewS --*/
.viewPC {
  display: none; }
  @media screen and (min-width: 768px) {
    .viewPC {
      display: block; } }

.viewS {
  display: block; }
  @media screen and (min-width: 768px) {
    .viewS {
      display: none; } }

sup {
  font-size: 12px; }

/*-- header --*/
.header {
  color: #333; }
  .header button {
    color: #333; }
  .header h1 img {
    max-height: 30px; }
    @media screen and (min-width: 1000px) {
      .header h1 img {
        max-height: 40px; } }
  .header nav {
    background-color: transparent; }
  .header .global {
    background-color: #fff;
    font-weight: bold;
    border-bottom: 1px solid #888; }
    @media screen and (min-width: 1000px) {
      .header .global ul {
        margin-right: 120px;
        margin-left: auto;
        font-weight: bold; } }
    @media screen and (min-width: 1200px) {
      .header .global ul {
        margin-right: auto; } }
    .header .global ul li a {
      color: #333; }
      .header .global ul li a:after {
        background-color: #e60012; }
      .header .global ul li a span {
        color: #e60012; }
    .header .global ul li.non {
      opacity: 0.5; }
  .header .subNav {
    background-color: #005bac; }
    .header .subNav a {
      color: #fff;
      font-weight: bold; }
      .header .subNav a:hover {
        opacity: 0.8; }
  .header.no-btn-ticket h1 {
    margin: auto; }
  @media screen and (min-width: 1000px) {
    .header.no-btn-ticket ul {
      margin-right: auto; } }

@media screen and (min-width: 1000px) {
  .header .global li a:hover:after, #commentary #nav_commentary a:after, #guide #nav_guide a:after, #column #nav_column a:after, #videos #nav_videos a:after, #catalogGoods #nav_goods a:after, #collaboration #nav_collaboration a:after, #topics #nav_topics a:after, #ticket #nav_ticket a:after {
    width: 100%; } }

@media screen and (min-width: 1000px) {
  #nav_buy {
    height: 100%; } }
#nav_buy a {
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.0;
  padding: 0; }
  @media screen and (min-width: 1000px) {
    #nav_buy a {
      height: 100%; } }

/*-- drawer-nav --*/
.drawer-nav {
  background-color: #fff100;
  z-index: 88; }
  .drawer-nav .global li a, .drawer-nav .subNav li a {
    color: #333; }
  .drawer-nav .subNav {
    text-align: center;
    margin-top: 20px; }
    .drawer-nav .subNav li {
      text-align: center;
      margin-bottom: 10px; }
      .drawer-nav .subNav li a {
        display: inline; }

#snsBlock {
  padding-top: 0;
  float: none; }
  #snsBlock .contentIn {
    padding: 0; }
    @media screen and (min-width: 768px) {
      #snsBlock .contentIn {
        padding: 0 10px; } }

#cosponsor {
  text-align: center;
  padding-top: 0;
  padding-bottom: 20px; }
  #cosponsor .contentIn {
    max-width: 980px;
    margin: 0 auto; }
    #cosponsor .contentIn img {
      width: 180px; }

#pageTop {
  background-color: #0e0000;
  color: #fff;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px; }
  @media screen and (min-width: 768px) {
    #pageTop {
      padding: 0;
      width: 2.0em;
      height: 2.0em;
      margin: 20px auto;
      border: 1px solid #fff; } }
  #pageTop:hover {
    background: #e60012;
    cursor: pointer; }

/*-- footer --*/
footer {
  background-color: #333; }
  footer a {
    color: #fff; }
    @media screen and (min-width: 1000px) {
      footer a {
        color: #fff; } }
  footer .global {
    border-top: 1px solid #888;
    background-color: #fff; }
    footer .global li {
      font-weight: bold;
      color: #333; }
      footer .global li a {
        color: #333; }
  footer .subNav {
    max-width: 100%;
    padding: 10px;
    font-weight: bold;
    background-color: #005bac; }
    footer .subNav ul li {
      display: inline; }
      footer .subNav ul li a {
        display: inline;
        color: #fff; }
    footer .subNav ul li:nth-child(2) {
      margin: 0 10px; }
  footer .returnBlock {
    padding-bottom: 20px;
    margin-top: 20px; }
    footer .returnBlock a {
      color: #fff; }

/*-- bg-color --*/
.bg-base {
  background-color: #fff; }

.bg-sub {
  background-color: #005bac; }

.bg-sub2 {
  background-color: #fff100; }

.bg-key {
  background-color: #e60012; }

.bg-img {
  position: relative; }
  .bg-img:before, .bg-img:after {
    content: '';
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: 90px auto;
    display: block;
    position: fixed;
    /*position: absolute;*/
    z-index: -1000; }
    @media screen and (min-width: 768px) {
      .bg-img:before, .bg-img:after {
        background-size: 180px auto; } }
  .bg-img:before {
    background-image: url("images/bg_lt.svg");
    background-position: left top;
    top: 50px;
    left: 0; }
    @media screen and (min-width: 768px) {
      .bg-img:before {
        top: 60px; } }
  .bg-img:after {
    background-image: url("images/bg_rb.svg");
    background-position: right bottom;
    top: auto;
    right: 0;
    bottom: 0;
    left: auto; }

.kyokai-dots {
  position: relative; }
  .kyokai-dots:before, .kyokai-dots:after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: block;
    background-color: #e60012;
    position: absolute;
    top: 0;
    left: calc(50% - 15px); }
  .kyokai-dots:after {
    background-color: #005bac;
    left: auto;
    right: calc(50% - 15px); }

/*---------------------------------------------------------------------------

loading

---------------------------------------------------------------------------*/
#loading #loadIn {
  color: #005bac;
  background-color: #fff; }
  #loading #loadIn img {
    width: 80%;
    max-width: 320px; }
  #loading #loadIn .loading-wrapper {
    width: 200px;
    height: 60px;
    margin: 20px auto 0;
    position: relative; }
  #loading #loadIn .circle {
    width: 10px;
    height: 10px;
    position: absolute;
    border-radius: 50%;
    background-color: #e60012;
    left: calc(50% - 10px);
    transform-origin: 50%;
    animation: circle .5s alternate infinite ease; }
@keyframes circle {
  0% {
    top: 60px;
    height: 5px;
    border-radius: 50px 50px 20px 20px;
    transform: scaleX(1.7); }
  40% {
    height: 10px;
    border-radius: 50%;
    transform: scaleX(1); }
  100% {
    top: 0%; } }
  #loading #loadIn .circle:nth-child(2) {
    left: calc(50% + 10px);
    animation-delay: .2s;
    background-color: #005bac; }

/*---------------------------------------------------------------------------

top

---------------------------------------------------------------------------*/
#top {
  /*
  mainvisual
  ---------------------------------------------------------------------------*/
  /*
  countdownBlock
  ---------------------------------------------------------------------------*/
 	/*
	slider
	---------------------------------------------------------------------------*/
  /*
  otherinfo
  ---------------------------------------------------------------------------*/
  /*
  news
  ---------------------------------------------------------------------------*/
  /*
  intro
  ---------------------------------------------------------------------------*/
  /*
  point
  ---------------------------------------------------------------------------*/
  /*
  about
  ---------------------------------------------------------------------------*/
  /*
  profile
  ---------------------------------------------------------------------------*/
  /*
  footerBnr
  ---------------------------------------------------------------------------*/ }
  #top #oshirase_h {
    padding: 10px;
    text-align: center;
    color: #fff; }
    #top #oshirase_h p {
      font-size: 16px;
      font-weight: 600;
      color: #fff;
      margin-bottom: 0; }
      @media screen and (min-width: 768px) {
        #top #oshirase_h p {
          font-size: 2.2rem; } }
      #top #oshirase_h p a {
        color: #fff;
        text-decoration: none; }
        #top #oshirase_h p a:hover {
          opacity: 0.8; }
  #top #mainvisual {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin: 0 auto;
    width: 100%;
    /*max-width: 414px;*/
    height: 144.49vw;
    /*max-height: 600px;*/
    background-color: #fff;
    background-image: url(images/mainvisual_s.jpg);
    border-bottom: 1px solid #888; }
    @media screen and (min-width: 600px) {
      #top #mainvisual {
        max-width: 1424px;
        height: 50vw;
        max-height: 720px;
        background-image: url(images/mainvisual_pc.jpg); } }
    @media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 599px), only screen and (min-resolution: 192dpi) and (max-width: 599px) {
      #top #mainvisual {
        background-image: url(images/mainvisual_s@2x.jpg); } }
    @media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 600px), only screen and (min-resolution: 192dpi) and (min-width: 600px) {
      #top #mainvisual {
        background-image: url(images/mainvisual_pc@2x.jpg); } }
  #top #countdownBlock {
    text-align: center;
    background-color: #fff100;
    padding: 10px 20px; }
    #top #countdownBlock p {
      font-size: 24px;
      font-weight: 600;
      color: #0e0000;
      margin-bottom: 0;
      line-height: 1.0; }
      @media screen and (min-width: 768px) {
        #top #countdownBlock p {
          font-size: 32px; } }
      #top #countdownBlock p .en {
        font-size: 32px;
        color: #e60012;
        line-height: 1.0;
        font-weight: bold; }
        @media screen and (min-width: 768px) {
          #top #countdownBlock p .en {
            font-size: 40px; } }
        @media screen and (min-width: 768px) {
          #top #countdownBlock p .en {
            font-size: 40px; } }
  @media screen and (min-width: 768px) and (min-width: 768px) {
    #top #countdownBlock p .en {
      font-size: 56px; } }

      #top #countdownBlock p.open, #top #countdownBlock p.close {
        font-size: 32px; }
        @media screen and (min-width: 768px) {
          #top #countdownBlock p.open, #top #countdownBlock p.close {
            font-size: 40px; } }
      #top #countdownBlock p.open {
        color: #e60012; }
  #top #slide #slider .slick-dots {
    background: #fff;
    margin-bottom: -10px;
    z-index: 1; }
    #top #slide #slider .slick-dots li {
      margin: 0; }
  #top #slide #slider img {
    height: 150px; }
    @media screen and (min-width: 768px) {
      #top #slide #slider img {
        height: 300px; } }
  #top #slide .slick-dotted.slick-slider {
    margin-bottom: 0; }
  #top #otherinfo #announcement {
    border: #005bac 2px solid;
    padding: 20px;
    box-sizing: border-box;
    margin: 0 auto 40px; }
    @media screen and (min-width: 768px) {
      #top #otherinfo #announcement {
        width: calc(100% - 20px); } }
    #top #otherinfo #announcement h3 {
      color: #005bac;
      font-weight: bold;
      font-size: 24px;
      text-align: left; }
    #top #otherinfo #announcement p {
      margin-bottom: 10px; }
    #top #otherinfo #announcement ul {
      list-style: none; }
      #top #otherinfo #announcement ul li {
        margin-left: 1em;
        text-indent: -1em; }
        #top #otherinfo #announcement ul li:before {
          content: "\02022";
          color: #005bac;
          margin-right: 0.5em; }
    #top #otherinfo #announcement span.text-link {
      color: #e60012; }
      #top #otherinfo #announcement span.text-link a {
        color: #e60012; }
        #top #otherinfo #announcement span.text-link a:hover {
          text-decoration: none; }
    #top #otherinfo #announcement p.text-link {
      margin-left: 2em;
      color: #005bac; }
      #top #otherinfo #announcement p.text-link i {
        margin-right: 10px; }
      #top #otherinfo #announcement p.text-link a {
        color: #005bac; }
        #top #otherinfo #announcement p.text-link a:hover {
          text-decoration: none; }
    #top #otherinfo #announcement .attention h4 {
      font-weight: bold; }
    #top #otherinfo #announcement .attention ul {
      list-style: none; }
      #top #otherinfo #announcement .attention ul li {
        margin-left: 1em;
        text-indent: -1em; }
        #top #otherinfo #announcement .attention ul li:before {
          content: "\02022";
          color: #005bac;
          margin-right: 0.5em; }
        #top #otherinfo #announcement .attention ul li.important {
          font-weight: bold; }
  #top #otherinfo #reservationBnr {
    margin: 0 auto 40px; }
    @media screen and (min-width: 768px) {
      #top #otherinfo #reservationBnr {
        width: calc(100% - 20px); } }
    #top #otherinfo #reservationBnr a {
      border: 2px solid #e60012;
      background-color: #ff6868;
      padding: 10px;
      text-decoration: none;
      text-align: center;
      display: block; }
      #top #otherinfo #reservationBnr a .bnr {
        padding: 20px;
        display: block;
        width: 100%;
        height: 100%; }
        #top #otherinfo #reservationBnr a .bnr p {
          font-size: 16px;
          color: #fff; }
        #top #otherinfo #reservationBnr a .bnr .text-link {
          font-size: 24px;
          color: #fff;
          font-weight: bold; }
          #top #otherinfo #reservationBnr a .bnr .text-link .fa {
            margin-right: 0.2em; }
      #top #otherinfo #reservationBnr a:hover {
        color: #333;
        opacity: 0.8; }
  #top #otherinfo #btnFlyer {
    justify-content: space-between; }
    @media screen and (min-width: 768px) {
      #top #otherinfo #btnFlyer > div {
        padding: 0 10px;
        width: calc(50% - 10px); } }
  #top #otherinfo #bnrArea {
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      #top #otherinfo #bnrArea {
        justify-content: space-between;
        align-items: center; } }
    #top #otherinfo #bnrArea li {
      margin-bottom: 20px; }
      #top #otherinfo #bnrArea li.bnr {
        text-align: center;
        margin-bottom: 40px; }
        @media screen and (min-width: 768px) {
          #top #otherinfo #bnrArea li.bnr {
            padding: 0 10px; } }
        #top #otherinfo #bnrArea li.bnr a img {
          width: 100%; }
        #top #otherinfo #bnrArea li.bnr a:hover img {
          opacity: 0.8; }
  @media screen and (min-width: 768px) {
    #top #otherinfo #movieBlock {
      padding: 40px 10px 0; } }
  #top #otherinfo #yuutai {
    padding-bottom: 20px; }
    #top #otherinfo #yuutai .btn a {
      border: 2px solid #005bac;
      display: block;
      font-size: 16px;
      padding: 20px;
      background-color: #fff;
      color: #005bac; }
      @media screen and (min-width: 768px) {
        #top #otherinfo #yuutai .btn a {
          max-width: 400px; } }
      #top #otherinfo #yuutai .btn a:hover {
        border-color: #005bac;
        background-color: #005bac;
        color: #fff; }
  #top #otherinfo #access .btn a {
    width: 100%;
    max-width: none; }
    @media screen and (min-width: 768px) {
      #top #otherinfo #access .btn a {
        max-width: 400px; } }
  #top #news {
    position: relative; }
    #top #news .ttl em {
      color: #005bac; }
  #top #intro {
    position: relative;
    height: 100%; }
    #top #intro h2 {
      color: #333;
      margin-bottom: 40px;
      text-align: center;
      font-size: 32px; }
    @media screen and (min-width: 768px) {
      #top #intro .contentIn {
        justify-content: space-between; } }
    #top #intro .contentIn figure {
      margin-bottom: 20px;
      text-align: center; }
      @media screen and (min-width: 768px) {
        #top #intro .contentIn figure {
          width: calc(50% - 10px);
          padding: 0 10px;
          margin-bottom: 0; } }
    @media screen and (min-width: 768px) {
      #top #intro .contentIn .text-block {
        width: calc(50% - 10px);
        padding: 0 10px; } }
    #top #intro .contentIn .text-block em {
      color: #e60012;
      font-style: normal;
      font-weight: bold; }
  #top #point .contentIn {
    padding: 0; }
    @media screen and (min-width: 768px) {
      #top #point .contentIn {
        padding: 10px; } }
  #top #point h2 {
    font-size: 32px;
    text-align: right; }
  #top #point h3 {
    font-size: 24px;
    margin-bottom: 40px;
    text-align: right; }
  #top #point #pointBlock {
    justify-content: space-between;
    padding: 20px;
    border: 2px solid #fff100;
    background-color: #fff; }
    @media screen and (min-width: 768px) {
      #top #point #pointBlock {
        padding: 40px; } }
    #top #point #pointBlock .icon {
      padding: 0 20px 40px;
      width: 80%;
      margin: 0 auto; }
      @media screen and (min-width: 768px) {
        #top #point #pointBlock .icon {
          width: calc(25% - 20px);
          padding: 0;
          margin: 0 auto 0 0; } }
    @media screen and (min-width: 768px) {
      #top #point #pointBlock ul {
        width: calc(75% - 20px); } }
    #top #point #pointBlock ul li {
      flex-wrap: wrap; }
      #top #point #pointBlock ul li h4 {
        margin: 0 auto;
        margin-bottom: 20px;
        text-align: center;
        width: 80px;
        padding-top: 0.5em; }
        @media screen and (min-width: 768px) {
          #top #point #pointBlock ul li h4 {
            width: 120px;
            margin-right: 40px;
            text-align: left; } }
        #top #point #pointBlock ul li h4 img {
          width: 80px; }
          @media screen and (min-width: 768px) {
            #top #point #pointBlock ul li h4 img {
              width: 120px; } }
      #top #point #pointBlock ul li p {
        font-weight: bold;
        font-size: 24px;
        line-height: 2.0em; }
        @media screen and (min-width: 768px) {
          #top #point #pointBlock ul li p {
            width: calc(100% - 160px); } }
  #top #about .contentIn {
    padding: 0; }
    @media screen and (min-width: 768px) {
      #top #about .contentIn {
        padding: 0 10px; } }
    #top #about .contentIn .flex-container {
      justify-content: space-between; }
  @media screen and (min-width: 768px) {
    #top #about .text-block {
      width: calc(50% - 20px); } }
  @media screen and (min-width: 768px) {
    #top #profile .flex-container {
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap; } }
  #top #profile .work-block {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    max-width: 640px;
    margin: 0 auto 40px; }
    #top #profile .work-block h2 span {
      writing-mode: vertical-rl;
      color: #e60012;
      font-size: 24px;
      display: inline;
      word-break: keep-all;
      text-decoration-line: underline;
      text-decoration-style: solid;
      text-decoration-color: #e60012;
      text-underline-offset: 0.2em; }
    #top #profile .work-block figure {
      width: calc(100% - 100px); }
  #top #profile .pic-block {
    width: 100%;
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #top #profile .pic-block {
        width: 50%;
        margin: 0 auto 40px; } }
    #top #profile .pic-block .pic {
      display: block;
      content: '';
      width: calc(100vw - 40px);
      height: calc(100vw - 40px);
      max-width: 300px;
      max-height: 300px;
      border-radius: 50%;
      background: #e60012 url("images/pic_miro.jpg") center no-repeat;
      background-blend-mode: multiply;
      background-size: cover;
      position: relative;
      margin: 0 auto; }
      @media screen and (min-width: 1000px) {
        #top #profile .pic-block .pic {
          width: calc((100vw - 20px) / 2);
          height: calc((100vw - 20px) / 2);
          max-width: calc((980px - 80px) / 2);
          max-height: calc((980px - 80px) / 2);
          margin: 0 auto 0 0; } }
      #top #profile .pic-block .pic p {
        display: flex;
        writing-mode: vertical-rl;
        align-items: center;
        text-align: right;
        padding: 20px 0 0 0;
        margin: auto;
        color: #fff;
        font-weight: bold;
        position: absolute;
        left: -40px;
        right: 0; }
        @media screen and (min-width: 768px) {
          #top #profile .pic-block .pic p {
            left: -20px; } }
  @media screen and (min-width: 768px) {
    #top #profile .text-block {
      max-width: 980px;
      margin: 0 auto;
      padding: 0 10px; } }
  #top #profile .text-block h3 {
    margin-bottom: 20px; }
    #top #profile .text-block h3 .en {
      font-size: 32px;
      color: #e60012;
      display: block; }
  #top #footerBnrArea {
    text-align: center;
    background-color: #ddd;
    padding-top: 40px;
    padding-bottom: 20px; }
    @media screen and (min-width: 768px) {
      #top #footerBnrArea .flex-container {
        width: 100%;
        justify-content: space-between;
        margin: 0 auto; } }
    #top #footerBnrArea .contentIn {
      margin: 0 auto;
      max-width: none; }
      #top #footerBnrArea .contentIn .bnr-set {
        justify-content: center;
        flex-wrap: wrap; }
        #top #footerBnrArea .contentIn .bnr-set #bnrEvent20220315,
        #top #footerBnrArea .contentIn .bnr-set #bnrSpRestaurant,
        #top #footerBnrArea .contentIn .bnr-set #bnrMuseumInstagram {
          margin-bottom: 20px; }
          @media screen and (min-width: 768px) {
            #top #footerBnrArea .contentIn .bnr-set #bnrEvent20220315,
            #top #footerBnrArea .contentIn .bnr-set #bnrSpRestaurant,
            #top #footerBnrArea .contentIn .bnr-set #bnrMuseumInstagram {
              /*width: calc(50% - 20px);*/
              padding: 0 20px; } }
          @media screen and (min-width: 768px) {
            #top #footerBnrArea .contentIn .bnr-set #bnrEvent20220315 img,
            #top #footerBnrArea .contentIn .bnr-set #bnrSpRestaurant img,
            #top #footerBnrArea .contentIn .bnr-set #bnrMuseumInstagram img {
              height: 100%;
              max-height: 120px;
              width: auto !important;
              max-width: none; } }
    #top #footerBnrArea #spPickupArea {
      display: none; }

/*
lightgallery
---------------------------------------------------------------------------*/
.lg-outer .lg-img-wrap {
  padding: 20px; }

/*---------------------------------------------------------------------------

guide

---------------------------------------------------------------------------*/
#guide h2.ttl-style1 img {
  height: 5.2em; }
#guide #navigator {
  justify-content: space-between;
  margin-bottom: 80px; }
  @media screen and (min-width: 768px) {
    #guide #navigator .pic-block {
      width: calc(33.3% - 20px); } }
  #guide #navigator .pic-block figure {
    margin: 0 auto 20px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      #guide #navigator .pic-block figure {
        margin-right: 0;
        margin-bottom: 0;
        text-align: left; } }
  @media screen and (min-width: 768px) {
    #guide #navigator .text-block {
      width: calc(66.7% - 20px); } }
  #guide #navigator .text-block h3 {
    font-size: 24px;
    color: #e60012; }
  #guide #navigator .text-block h4 {
    font-size: 32px;
    margin-bottom: 20px; }
    #guide #navigator .text-block h4 span {
      margin-right: 20px;
      font-size: 16px; }
  #guide #navigator .text-block .price {
    border: 2px solid #0e0000;
    padding: 20px 10px 10px;
    text-align: center;
    position: relative;
    margin: 40px auto; }
    #guide #navigator .text-block .price h5 {
      font-size: 24px;
      position: absolute;
      display: inline-block;
      padding: 0 10px;
      margin: 0 auto;
      top: -0.8em;
      left: 0;
      right: 0;
      z-index: 0; }
      #guide #navigator .text-block .price h5:before {
        content: '';
        width: 8em;
        height: 100%;
        background: #fff;
        display: block;
        position: absolute;
        background-color: #fff;
        z-index: -1;
        margin: 0 auto;
        right: 0;
        left: 0; }
    #guide #navigator .text-block .price p {
      font-weight: bold;
      margin-bottom: 0; }
      #guide #navigator .text-block .price p span {
        font-size: 24px; }
  #guide #navigator .text-block #movieBlock {
    margin-bottom: 40px; }
    #guide #navigator .text-block #movieBlock h5 {
      font-size: 24px;
      margin-bottom: 20px; }
  #guide #navigator .text-block .comment {
    margin: 20px 0 40px;
    padding: 20px;
    background-color: #fff100; }
    #guide #navigator .text-block .comment h5 {
      font-size: 16px;
      margin-bottom: 10px; }
    #guide #navigator .text-block .comment p {
      margin-bottom: 0; }
  #guide #navigator .text-block .profile {
    border-bottom: 1px dotted #888;
    padding: 20px 0;
    position: relative; }
    #guide #navigator .text-block .profile:before {
      content: '';
      display: block;
      width: calc(100% - 5em);
      height: 1px;
      border-top: 1px dotted #888;
      position: absolute;
      top: 0;
      right: 0; }
    #guide #navigator .text-block .profile h5 {
      font-size: 16px;
      color: #888;
      display: inline-block;
      padding: 5px 5px 5px 0;
      position: absolute;
      top: -1em; }
    #guide #navigator .text-block .profile p {
      color: #0e0000;
      margin-bottom: 0; }
@media screen and (min-width: 768px) {
  #guide #report {
    max-width: 720px;
    margin: 0 auto; } }
#guide #report .ttl {
  text-align: center; }
  #guide #report .ttl h3 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    display: inline-block; }
    #guide #report .ttl h3:after {
      margin-top: 10px;
      content: '';
      width: 100%;
      height: 20px;
      display: block;
      background: url("images/line_wavy.svg") repeat-x; }
#guide #report .pic-text {
  justify-content: space-between;
  margin-bottom: 40px; }
  #guide #report .pic-text:nth-child(even) {
    flex-direction: row-reverse; }
#guide #report .pic-block {
  margin-bottom: 40px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    #guide #report .pic-block {
      width: calc( 50% - 20px ); } }
  @media screen and (min-width: 768px) {
    #guide #report .pic-block.pic-main {
      width: 100%;
      margin: 0 auto 40px; } }
  #guide #report .pic-block p {
    text-align: center; }
#guide #report .text-block {
  margin-bottom: 40px; }
@media screen and (min-width: 768px) {
  #guide #report .pic-set {
    justify-content: space-between; } }
@media screen and (min-width: 1000px) {
  #guide #report .pic-set {
    justify-content: space-around; } }
#guide #report .pic-set .pic-block {
  width: auto; }
  @media screen and (min-width: 768px) {
    #guide #report .pic-set .pic-block img {
      max-height: 380px;
      width: auto; } }
  @media screen and (min-width: 768px) {
    #guide #report .pic-set .pic-block:first-child {
      padding-right: 20px; } }
  @media screen and (min-width: 768px) {
    #guide #report .pic-set .pic-block:last-child {
      padding-left: 20px; } }
#guide #report .pic-block.last {
  margin: 0 auto 80px; }

/*---------------------------------------------------------------------------

ticket

---------------------------------------------------------------------------*/
#ticket .block {
  border-bottom: solid 1px #005bac;
  margin-bottom: 30px;
  padding-bottom: 30px; }
#ticket .ticketPageLinkTtl h4 {
  border: none;
  margin: 0;
  padding: 0;
  font-weight: 400; }
#ticket #informationTab h4 {
  color: #333;
  font-size: 24px;
  font-weight: 600; }
#ticket .info, #ticket #information .info {
  background-color: #fff100; }
#ticket .admissionfeeList {
  background-color: #fff; }
  #ticket .admissionfeeList th {
    background-color: #fff100;
    color: #333; }

/*---------------------------------------------------------------------------

topics

---------------------------------------------------------------------------*/
#topics .topicsList li > a, #topics .topicsList li > div {
  padding: 20px; }
#topics .subcategory {
  background-color: #005bac;
  display: inline-block;
  padding: 0 10px;
  color: #fff;
  margin-bottom: 10px; }
#topics .topicsList {
  margin-bottom: 40px; }
  #topics .topicsList li {
    margin-bottom: 20px;
    border-top: 2px solid #e60012;
    border-right: 2px solid #005bac;
    border-bottom: 2px solid #005bac;
    border-left: 2px solid #e60012; }
    #topics .topicsList li a:hover {
      background-color: #fff100; }
      @media screen and (min-width: 768px) {
        #topics .topicsList li a:hover .pic img {
          transform: scale(1.1); } }
    #topics .topicsList li h3 {
      color: #005bac;
      line-height: 1.5;
      font-size: 24px;
      margin-bottom: 20px; }
    #topics .topicsList li .update {
      color: #333; }
    #topics .topicsList li .pic {
      overflow: hidden; }
      @media screen and (min-width: 768px) {
        #topics .topicsList li .pic img {
          transform: scale(1);
          transition: .3s ease-out; } }
#topics #topicsEntry .update {
  text-align: right; }
#topics #topicsEntry .text {
  padding: 0; }
#topics #topicsEntry h3 {
  color: #333;
  margin-bottom: 20px;
  font-size: 24px; }
#topics #topicsEntry .btn.pageLink {
  margin-bottom: 40px; }
  #topics #topicsEntry .btn.pageLink a {
    max-width: 240px; }

/*---------------------------------------------------------------------------

press

---------------------------------------------------------------------------*/
#press .contentIn .text-block {
  max-width: 640px;
  margin: 0 auto;
  text-align: center; }
  #press .contentIn .text-block h3 {
    font-size: 24px;
    margin-bottom: 20px; }

/*---------------------------------------------------------------------------

commentary

---------------------------------------------------------------------------*/
#commentary .lead {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 80px;
  line-height: 1.5em; }
#commentary .year-section {
  margin-bottom: 80px; }
  #commentary .year-section h4 {
    text-align: center;
    font-size: 24px;
    /*margin-bottom: $sp-m;*/
    padding: 5px 10px;
    color: #fff100;
    background-color: #0e0000;
    display: inline-block;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px; }
    @media screen and (min-width: 768px) {
      #commentary .year-section h4 {
        margin-left: 40px; } }
  #commentary .year-section .border-top-left {
    padding-top: 40px;
    border-top: 2px solid #0e0000; }
    @media screen and (min-width: 768px) {
      #commentary .year-section .border-top-left {
        padding: 40px 0 0 40px;
        border-left: 2px solid #0e0000;
        border-top-left-radius: 20px; } }
  @media screen and (min-width: 768px) {
    #commentary .year-section .pic-text, #commentary .year-section .pic-set, #commentary .year-section .ttl-text {
      justify-content: space-between;
      padding: 0 10px; } }
  #commentary .year-section .pic-text .pic-block, #commentary .year-section .pic-text .text-block, #commentary .year-section .pic-set .pic-block, #commentary .year-section .pic-set .text-block, #commentary .year-section .ttl-text .pic-block, #commentary .year-section .ttl-text .text-block {
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #commentary .year-section .pic-text .pic-block, #commentary .year-section .pic-text .text-block, #commentary .year-section .pic-set .pic-block, #commentary .year-section .pic-set .text-block, #commentary .year-section .ttl-text .pic-block, #commentary .year-section .ttl-text .text-block {
        width: calc(50% - 20px); } }
  #commentary .year-section > .text-block {
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #commentary .year-section > .text-block {
        padding: 0 10px; } }
  #commentary .year-section h3 {
    font-size: 32px;
    margin-bottom: 20px;
    color: #005bac;
    letter-spacing: 0;
    line-height: 1.2em; }
    @media screen and (min-width: 768px) {
      #commentary .year-section h3 {
        font-size: 40px; } }
    #commentary .year-section h3 em {
      color: #e60012;
      font-style: normal; }
      #commentary .year-section h3 em.black {
        color: #333; }
    #commentary .year-section h3 span {
      font-size: 24px;
      color: #333; }
  #commentary .year-section .pic-lead-block {
    position: relative;
    height: 16em;
    margin: 0 auto 20px; }
    @media screen and (min-width: 768px) {
      #commentary .year-section .pic-lead-block {
        margin: 0 0 0 auto; } }
    #commentary .year-section .pic-lead-block h5 {
      display: inline-block;
      margin-bottom: 10px;
      position: absolute;
      right: 0; }
      @media screen and (min-width: 768px) {
        #commentary .year-section .pic-lead-block h5 {
          margin-bottom: 0; } }
      #commentary .year-section .pic-lead-block h5 span {
        text-align: left;
        color: #e60012;
        font-size: 24px;
        display: inline-block;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-decoration-color: #e60012;
        text-underline-offset: 0.2em;
        width: 100%;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl; }
        #commentary .year-section .pic-lead-block h5 span em {
          text-combine-upright: all;
          -webkit-text-combine: horizontal;
          -ms-text-combine-horizontal: all;
          font-style: normal; }
    #commentary .year-section .pic-lead-block p {
      text-align: left;
      color: #005bac;
      font-weight: bold;
      font-size: 16px;
      writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      display: inline-block;
      position: absolute;
      right: 0; }
      #commentary .year-section .pic-lead-block p span {
        text-combine-upright: all;
        -webkit-text-combine: horizontal;
        -ms-text-combine-horizontal: all; }
  #commentary .year-section .pic-block figure {
    text-align: center; }
    @media screen and (min-width: 768px) {
      #commentary .year-section .pic-block figure {
        text-align: left; } }
    #commentary .year-section .pic-block figure figcaption {
      text-align: left; }
  #commentary .year-section .pic-block#pic1 {
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #commentary .year-section .pic-block#pic1 {
        margin-top: 46px; } }
    #commentary .year-section .pic-block#pic1 .pic-lead-block {
      width: 16em; }
    #commentary .year-section .pic-block#pic1 p {
      right: 9em; }
  #commentary .year-section .pic-block#pic5 {
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #commentary .year-section .pic-block#pic5 {
        margin-top: 46px; } }
    #commentary .year-section .pic-block#pic5 .pic-lead-block {
      width: 13.5em; }
    #commentary .year-section .pic-block#pic5 p {
      right: 5em; }
  #commentary .year-section .pic-block#pic7 {
    margin-bottom: 40px; }
    #commentary .year-section .pic-block#pic7 .pic-lead-block {
      /*width: 17.5em;*/
      width: 9em;
      height: 18em; }
    #commentary .year-section .pic-block#pic7 p {
      right: 9em; }
  #commentary .year-section .pic-text#pic2, #commentary .year-section .pic-text#pic6, #commentary .year-section .pic-text#pic8, #commentary .year-section .pic-text #pic9, #commentary .year-section .pic-set#pic2, #commentary .year-section .pic-set#pic6, #commentary .year-section .pic-set#pic8, #commentary .year-section .pic-set #pic9 {
    justify-content: flex-start;
    flex-direction: row-reverse;
    margin-bottom: 40px; }
    #commentary .year-section .pic-text#pic2 .pic-lead-block, #commentary .year-section .pic-text#pic6 .pic-lead-block, #commentary .year-section .pic-text#pic8 .pic-lead-block, #commentary .year-section .pic-text #pic9 .pic-lead-block, #commentary .year-section .pic-set#pic2 .pic-lead-block, #commentary .year-section .pic-set#pic6 .pic-lead-block, #commentary .year-section .pic-set#pic8 .pic-lead-block, #commentary .year-section .pic-set #pic9 .pic-lead-block {
      width: 14em;
      margin: 0 auto 10px; }
      @media screen and (min-width: 768px) {
        #commentary .year-section .pic-text#pic2 .pic-lead-block, #commentary .year-section .pic-text#pic6 .pic-lead-block, #commentary .year-section .pic-text#pic8 .pic-lead-block, #commentary .year-section .pic-text #pic9 .pic-lead-block, #commentary .year-section .pic-set#pic2 .pic-lead-block, #commentary .year-section .pic-set#pic6 .pic-lead-block, #commentary .year-section .pic-set#pic8 .pic-lead-block, #commentary .year-section .pic-set #pic9 .pic-lead-block {
          margin-left: 40px;
          margin-right: auto;
          margin-bottom: 0; } }
    #commentary .year-section .pic-text#pic2 p, #commentary .year-section .pic-text#pic6 p, #commentary .year-section .pic-text#pic8 p, #commentary .year-section .pic-text #pic9 p, #commentary .year-section .pic-set#pic2 p, #commentary .year-section .pic-set#pic6 p, #commentary .year-section .pic-set#pic8 p, #commentary .year-section .pic-set #pic9 p {
      right: 5em; }
  #commentary .year-section .pic-text#pic6 .pic-lead-block, #commentary .year-section .pic-set#pic6 .pic-lead-block {
    width: 10.5em;
    height: 22em; }
  #commentary .year-section .pic-text#pic8, #commentary .year-section .pic-set#pic8 {
    justify-content: space-between; }
    #commentary .year-section .pic-text#pic8 .pic-lead-block, #commentary .year-section .pic-set#pic8 .pic-lead-block {
      width: 100%;
      height: auto;
      margin: 0; }
      #commentary .year-section .pic-text#pic8 .pic-lead-block p, #commentary .year-section .pic-set#pic8 .pic-lead-block p {
        writing-mode: horizontal-tb;
        right: 0;
        position: relative; }
  #commentary .year-section .pic-text#pic9 .pic-lead-block, #commentary .year-section .pic-set#pic9 .pic-lead-block {
    width: 9em;
    height: 22em; }
  #commentary .year-section .pic-text#pic9 p, #commentary .year-section .pic-set#pic9 p {
    right: 2.5em;
    -webkit-text-orientation: upright;
    text-orientation: upright; }
    #commentary .year-section .pic-text#pic9 p span, #commentary .year-section .pic-set#pic9 p span {
      text-combine-upright: none;
      -webkit-text-combine: none; }
  #commentary .year-section .pic-set {
    margin-bottom: 40px; }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet1 .pic-block:first-child {
      width: calc(49.2% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet1 .pic-block:last-child {
      width: calc(50.8% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet2 .pic-block:first-child {
      width: calc(40.6% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet2 .pic-block:last-child {
      width: calc(59.4% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet3 .pic-block:first-child {
      width: calc(52.5% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet3 .pic-block:last-child {
      width: calc(47.5% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet4 .pic-block:nth-child(1) {
      width: calc(40.4% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet4 .pic-block:nth-child(2) {
      width: calc(40.4% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section #picSet4 .pic-block:nth-child(3) {
      width: calc(19.2% - 20px); } }
  #commentary .year-section #kakomi {
    /*background-color: $cl-grey-extra-lighten;*/
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #commentary .year-section #kakomi {
        padding: 0 10px;
        margin-bottom: 80px; } }
    #commentary .year-section #kakomi .pic-text {
      border: 2px dashed #0e0000;
      border-radius: 20px;
      padding: 20px; }
      @media screen and (min-width: 768px) {
        #commentary .year-section #kakomi .pic-text {
          justify-content: space-between;
          padding: 40px; } }
    #commentary .year-section #kakomi .pic-block {
      margin-bottom: 0; }
      @media screen and (min-width: 768px) {
        #commentary .year-section #kakomi .pic-block {
          width: calc(33.3% - 20px); } }
    #commentary .year-section #kakomi .text-block {
      color: #0e0000; }
      @media screen and (min-width: 768px) {
        #commentary .year-section #kakomi .text-block {
          width: calc(66.7% - 20px); } }
  @media screen and (min-width: 768px) {
    #commentary .year-section#yearSection3 .ttl-text .text-block:last-child {
      margin-top: 46px; } }

/*---------------------------------------------------------------------------

catalogGoods

---------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  #catalogGoods #catalog .pic-text {
    justify-content: space-between; } }
#catalogGoods #catalog .pic-text .pic-block {
  text-align: center;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    #catalogGoods #catalog .pic-text .pic-block {
      width: calc(33.3% - 10px);
      padding: 0 10px;
      margin-bottom: 0; } }
@media screen and (min-width: 768px) {
  #catalogGoods #catalog .pic-text .text-block {
    width: calc(66.7% - 10px);
    padding: 0 10px; } }
#catalogGoods #catalog .pic-text .text-block .info-block {
  list-style: none;
  margin-bottom: 40px; }
  #catalogGoods #catalog .pic-text .text-block .info-block li {
    text-indent: -1em;
    margin-left: 1em;
    display: flex; }
    #catalogGoods #catalog .pic-text .text-block .info-block li:before {
      content: '\025cf';
      color: #e60012;
      display: inline;
      margin-right: 1em; }
    #catalogGoods #catalog .pic-text .text-block .info-block li span {
      width: 4em; }
    #catalogGoods #catalog .pic-text .text-block .info-block li p {
      margin-bottom: 0; }
#catalogGoods #catalog .pic-text .text-block .online-shop {
  border: 2px solid #0e0000;
  padding: 20px 10px 10px;
  padding-top: calc(40px + 20px);
  text-align: center;
  position: relative;
  margin: 40px auto; }
  @media screen and (min-width: 768px) {
    #catalogGoods #catalog .pic-text .text-block .online-shop {
      padding-top: 20px; } }
  #catalogGoods #catalog .pic-text .text-block .online-shop h3 {
    font-size: 24px;
    position: absolute;
    display: inline-block;
    padding: 0 10px;
    margin: 0 auto;
    top: -0.8em;
    left: 0;
    right: 0;
    z-index: 0; }
    #catalogGoods #catalog .pic-text .text-block .online-shop h3:before {
      content: '';
      width: 8em;
      height: 100%;
      background: #fff;
      display: block;
      position: absolute;
      background-color: #fff;
      z-index: -1;
      margin: 0 auto;
      right: 0;
      left: 0; }
      @media screen and (min-width: 768px) {
        #catalogGoods #catalog .pic-text .text-block .online-shop h3:before {
          width: 15em; } }
  #catalogGoods #catalog .pic-text .text-block .online-shop p {
    margin-bottom: 0; }
#catalogGoods #goods p.coming-soon {
  font-size: 24px;
  text-align: center;
  line-height: 1.5em;
  margin-bottom: 40px; }
#catalogGoods #goods .goods-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #catalogGoods #goods .goods-list li {
    width: calc(50% - 10px);
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      #catalogGoods #goods .goods-list li {
        width: calc(33.3% - 10px); } }
    #catalogGoods #goods .goods-list li img {
      margin-bottom: 10px; }
    #catalogGoods #goods .goods-list li p {
      text-align: center; }
  @media screen and (min-width: 768px) {
    #catalogGoods #goods .goods-list#goodsList2, #catalogGoods #goods .goods-list#goodsList3 {
      justify-content: center; } }
  @media screen and (min-width: 768px) {
    #catalogGoods #goods .goods-list#goodsList2 li, #catalogGoods #goods .goods-list#goodsList3 li {
      margin-left: 10px;
      margin-right: 10px; } }
  #catalogGoods #goods .goods-list#goodsList2 li .sp-mask {
    border: 1px solid #ddd; }
#catalogGoods #goods #rootote {
  text-align: center;
  margin-bottom: 80px; }
#catalogGoods #goods .message {
  text-align: center;
  padding: 0 20px;
  margin-bottom: 80px; }
  #catalogGoods #goods .message p {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5em;
    margin-bottom: 20px;
    padding: 0 20px;
    position: relative;
    display: inline-block; }
    #catalogGoods #goods .message p:before, #catalogGoods #goods .message p:after {
      content: '';
      width: 2px;
      height: 100%;
      display: block;
      background-color: #333;
      position: absolute;
      top: 0;
      left: 0;
      transform: rotate(-30deg); }
    #catalogGoods #goods .message p:after {
      transform: rotate(30deg);
      right: 0;
      left: auto; }
  #catalogGoods #goods .message img {
    display: block;
    margin: 0 auto; }
#catalogGoods #goods .note-block {
  padding: 20px;
  margin-bottom: 40px;
  background-color: #f1f1f1; }
  #catalogGoods #goods .note-block ul {
    margin-left: 1em; }
    #catalogGoods #goods .note-block ul li {
      margin-left: 0;
      font-size: 12px; }
      #catalogGoods #goods .note-block ul li:before {
        content: '※';
        display: inline-block;
        text-indent: -1em; }

/*---------------------------------------------------------------------------

collaboration

---------------------------------------------------------------------------*/
#collaboration #ankerNavi {
  text-align: center; }
  #collaboration #ankerNavi ul {
    width: auto;
    display: inline-block;
    position: relative;
    text-align: center;
    border-right: 2px solid #005bac;
    border-left: 2px solid #005bac;
    			/*&:before, &:after {
                    content: '';
                    width: 2px;
                    height: 8em;
                    display: block;
                    background-color: $cl-sub;
                    position: absolute;
                    left: 0;
                    top: 0;
    				@include mq(md){
    					display: none;
    				}
    			}
    			&:after {
                    right: 0;
                    left: auto;
    			}*/ }
    @media screen and (min-width: 768px) {
      #collaboration #ankerNavi ul {
        width: auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        border: none; } }
    #collaboration #ankerNavi ul li {
      box-sizing: border-box;
      display: inline-block;
      text-align: center;
      padding: 0 20px; }
      @media screen and (min-width: 768px) {
        #collaboration #ankerNavi ul li {
          border-right: 1px dotted #005bac; } }
      @media screen and (min-width: 768px) {
        #collaboration #ankerNavi ul li:first-child {
          border-left: 2px solid #005bac; } }
      #collaboration #ankerNavi ul li:last-child {
        border-right: none; }
        @media screen and (min-width: 768px) {
          #collaboration #ankerNavi ul li:last-child {
            border-right: 2px solid #005bac; } }
      #collaboration #ankerNavi ul li a {
        text-decoration: none;
        color: #333;
        padding-bottom: 20px;
        display: block;
        transition: .1s ease-out;
        position: relative;
        font-weight: bold; }
        #collaboration #ankerNavi ul li a .fa-chevron-down {
          padding-top: 5px;
          display: block;
          color: #005bac;
          transition: .1s ease-out;
          position: absolute;
          bottom: 5px;
          left: 0;
          right: 0;
          margin: 0 auto; }
        #collaboration #ankerNavi ul li a:hover {
          opacity: 0.8; }
          #collaboration #ankerNavi ul li a:hover .fa-chevron-down {
            bottom: 0; }
#collaboration .collabo-block .contentIn {
  padding-top: 20px; }
  @media screen and (min-width: 768px) {
    #collaboration .collabo-block .contentIn {
      padding: 0 10px; } }
#collaboration .collabo-block h3 {
  font-size: 32px;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 20px;
  color: #e60012; }
  #collaboration .collabo-block h3 span {
    border-top: 2px solid #005bac;
    border-bottom: 2px solid #005bac;
    color: #333;
    font-size: 16px;
    padding: 5px 0;
    vertical-align: middle;
    margin-top: 20px; }
    @media screen and (min-width: 768px) {
      #collaboration .collabo-block h3 span {
        margin-left: 20px; } }
#collaboration .collabo-block .date {
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold; }
  #collaboration .collabo-block .date span {
    padding: 5px;
    background-color: #fff100;
    margin-right: 10px; }
#collaboration .collabo-block .menu-block {
  justify-content: space-between;
  margin-bottom: 80px; }
  #collaboration .collabo-block .menu-block .pic-block {
    margin-bottom: 20px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      #collaboration .collabo-block .menu-block .pic-block {
        margin-bottom: 0; } }
  #collaboration .collabo-block .menu-block .text-block h4 {
    font-size: 24px; }
    #collaboration .collabo-block .menu-block .text-block h4:after {
      margin-top: 10px;
      content: '';
      width: 100%;
      height: 20px;
      display: block;
      background: url("images/line_wavy.svg") repeat-x; }
    #collaboration .collabo-block .menu-block .text-block h4 span {
      font-size: 16px;
      display: block;
      line-height: 1.5; }
    #collaboration .collabo-block .menu-block .text-block h4 .price {
      vertical-align: middle; }
      #collaboration .collabo-block .menu-block .text-block h4 .price:before {
        content: '';
        width: 1em;
        height: 1%;
        display: inline-block;
        border-bottom: 2px dotted #333;
        vertical-align: middle;
        text-indent: -1.5em;
        margin-right: 0.5em; }
  #collaboration .collabo-block .menu-block .text-block .note {
    color: #e60012;
    font-size: 16px; }
  #collaboration .collabo-block .menu-block .text-block .btn {
    margin-top: 20px; }
#collaboration .collabo-block#magots {
  padding-top: 0;
  padding-bottom: 0; }
  @media screen and (min-width: 768px) {
    #collaboration .collabo-block#magots .pic-block, #collaboration .collabo-block#magots .text-block {
      width: calc(50% - 20px); } }
#collaboration .collabo-block#lounge .flex-container {
  justify-content: space-between; }
  @media screen and (min-width: 768px) {
    #collaboration .collabo-block#lounge .flex-container .menu-block {
      width: calc(50% - 20px);
      margin-bottom: 20px; } }
  #collaboration .collabo-block#lounge .flex-container .menu-block .pic-block {
    margin-bottom: 20px; }
#collaboration .collabo-block#lounge .btn {
  margin-bottom: 40px; }
#collaboration .collabo-block#bookshop {
  padding-bottom: 0; }
  #collaboration .collabo-block#bookshop .menu-block {
    flex-direction: row-reverse; }
  @media screen and (min-width: 768px) {
    #collaboration .collabo-block#bookshop .pic-block, #collaboration .collabo-block#bookshop .text-block {
      width: calc(50% - 20px); } }

/*---------------------------------------------------------------------------

column

---------------------------------------------------------------------------*/
#column {
  /*ラジオボタンを全て消す*/
  /*タブ切り替えの中身のスタイル*/
  /*選択されているタブのコンテンツのみを表示*/
  /*選択されているタブのスタイルを変える*/ }
  #column .content {
    padding-bottom: 0; }
  @media screen and (min-width: 768px) {
    #column .contentIn {
      padding-right: 10px;
      padding-left: 10px; } }
  #column .tab_item {
    width: calc((100%/2) - 5px);
    height: 2.2em;
    box-sizing: border-box;
    background-color: #fff100;
    line-height: 2.0em;
    font-size: 16px;
    text-align: center;
    color: #333;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    border-top: 3px solid #fff100;
    margin: 0 10px 80px 0; }
    #column .tab_item:hover {
      border-top: 3px solid #fff100;
      cursor: pointer;
      background-color: #fff;
      color: #333; }
    #column .tab_item:last-of-type {
      margin-right: 0; }
    @media screen and (min-width: 768px) {
      #column .tab_item {
        height: auto;
        font-size: 16px; }
        #column .tab_item span {
          font-size: 12px; } }
  #column input[name="tab_item"] {
    display: none; }
  #column .tab_content {
    display: none;
    clear: both;
    overflow: hidden; }
    #column .tab_content h3.ttl {
      font-size: 32px;
      text-align: center;
      margin-bottom: 20px;
      color: #333;
      font-weight: 700;
      line-height: 1.0; }
      #column .tab_content h3.ttl img {
        height: 64px;
        width: auto;
        vertical-align: bottom;
        display: inline-block;
        margin-left: 10px; }
      #column .tab_content h3.ttl + h4 {
        font-size: 32px;
        margin-bottom: 80px;
        text-align: center;
        font-weight: 600;
        color: #333;
        position: relative; }
    #column .tab_content figure {
      margin-bottom: 40px; }
      #column .tab_content figure figcaption {
        text-align: left; }
    #column .tab_content .text-block {
      margin-bottom: 40px; }
      #column .tab_content .text-block p {
        margin-bottom: 20px; }
    #column .tab_content .pic-text.flex-container {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin-bottom: 80px; }
      #column .tab_content .pic-text.flex-container figure {
        text-align: center;
        margin-bottom: 40px;
        box-sizing: border-box; }
        @media screen and (min-width: 768px) {
          #column .tab_content .pic-text.flex-container figure {
            width: calc(50% - 20px); } }
      @media screen and (min-width: 768px) {
        #column .tab_content .pic-text.flex-container .text-block {
          width: calc(50% - 20px); } }
      #column .tab_content .pic-text.flex-container:nth-child(odd) {
        flex-direction: row-reverse; }
    #column .tab_content .auther {
      text-align: right;
      margin-bottom: 40px; }
  #column #tab1:checked ~ #tab1Content,
  #column #tab2:checked ~ #tab2Content,
  #column #tab3:checked ~ #tab3Content {
    display: block; }
  #column input:checked + .tab_item {
    background-color: transparent;
    color: #333;
    border-top: 3px solid #e60012; }
  #column input:disabled + .tab_item {
    border-top: 3px solid #ddd;
    color: #888;
    background-color: #ddd;
    cursor: inherit; }

/*---------------------------------------------------------------------------

videos

---------------------------------------------------------------------------*/
#videos {
  margin-bottom: 40px; }
  #videos .movie-block {
    margin-bottom: 80px; }
    #videos .movie-block:last-child {
      margin-bottom: 0; }
  #videos h3 {
    font-size: 24px;
    margin-bottom: 20px; }
