@charset "UTF-8";
/* ==========================================================
0～480px
========================================================== */
@media screen and (min-width: 1px) and (max-width: 480px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block;
  }

  #overlay {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 100px;
    z-index: 888;
    background: rgba(0, 0, 0, 0.6);
  }

  /* header
  ----------------------------------------------------------- */
  #top-head {
    height: 64px;
  }

  #logo-head {
    width: 100%;
    clear: both;
    z-index: 999;
    padding: 0;
  }
  #logo-head .logo {
    width: 260px;
    padding: 12px 0 0 4%;
    margin: 0;
  }
  #logo-head ul {
    display: none;
  }

  #global-nav {
    position: absolute;
    top: -495px;
    width: 100%;
    height: auto;
    padding: 8px 0 0 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  #global-nav ul {
    width: 100%;
    clear: both;
    position: static;
    padding: 0;
    background: #FFF;
  }
  #global-nav ul li {
    float: none;
    width: 100%;
    text-align: left;
    border-bottom: 1px dotted #3A3630;
  }
  #global-nav ul li a {
    width: 100%;
    height: auto;
    line-height: 48px;
    margin: 0;
    padding: 0 48px;
    color: #3A3630;
  }
  #global-nav ul li a:hover {
    text-decoration: none;
  }
  #global-nav ul li a span {
    display: block;
    background: none !important;
    width: 100%;
    height: auto;
    padding-top: 0;
    margin: 0;
    font-weight: bold;
  }

  #global-nav .g01 a {
    background: url(../images/common/gnav_icon01.svg) no-repeat 16px 50%;
    background-size: 24px;
  }

  #global-nav .g02 a {
    background: url(../images/common/gnav_icon02.svg) no-repeat 16px 50%;
    background-size: 24px;
  }

  #global-nav .g03 a {
    background: url(../images/common/gnav_icon03.svg) no-repeat 16px 50%;
    background-size: 24px;
  }

  #global-nav .g04 a {
    background: url(../images/common/gnav_icon04.svg) no-repeat 16px 50%;
    background-size: 24px;
  }

  #global-nav .g05 a {
    background: url(../images/common/gnav_icon05.svg) no-repeat 16px 50%;
    background-size: 24px;
  }

  #global-nav .g01 a:hover {
    background: url(../images/common/gnav_icon01_hover.svg) no-repeat 16px 50% #FADC0E;
    background-size: 24px;
  }

  #global-nav .g02 a:hover {
    background: url(../images/common/gnav_icon02_hover.svg) no-repeat 16px 50% #FADC0E;
    background-size: 24px;
  }

  #global-nav .g03 a:hover {
    background: url(../images/common/gnav_icon03_hover.svg) no-repeat 16px 50% #FADC0E;
    background-size: 24px;
  }

  #global-nav .g04 a:hover {
    background: url(../images/common/gnav_icon04_hover.svg) no-repeat 16px 50% #FADC0E;
    background-size: 24px;
  }

  #global-nav .g05 a:hover {
    background: url(../images/common/gnav_icon05_hover.svg) no-repeat 16px 50% #FADC0E;
    background-size: 24px;
  }

  #global-nav .gnav-sptab {
    display: block;
    background: #FADC0E;
    padding: 24px 0 16px;
    text-align: center;
  }
  #global-nav .gnav-sptab li {
    display: inline-block;
    border: none;
    width: 75%;
    margin-bottom: 16px;
  }
  #global-nav .gnav-sptab li.head-access a {
    background: url(../images/common/icon_marker.svg) no-repeat 5% 50% #fff;
    background-size: 18px;
    color: #3A3630;
    line-height: 40px;
    font-size: 12px;
    font-size: 1.2rem;
    padding: 0 0 0 1em;
  }
  #global-nav .gnav-sptab li.head-en a {
    background: url(../images/common/icon_en.svg) no-repeat 6% 49% #3A3630;
    background-size: 17px;
    color: #fff;
    line-height: 40px;
    font-size: 12px;
    font-size: 1.2rem;
    padding: 0 0 0 0.5em;
  }
    #global-nav .gnav-sptab li.head-x a {
    background: url(../images/common/icon_x.svg) no-repeat 6% 49% #3A3630;
    background-size: 17px;
    color: #fff;
    line-height: 40px;
    font-size: 12px;
    font-size: 1.2rem;
    padding: 0 0 0 0.5em;
  }

  /*fixed*/
  #top-head.fixed {
    position: fixed;
    top: 0;
    height: auto;
    z-index: 999;
  }

  #top-head.fixed #logo-head {
    display: block;
    height: 64px;
  }

  /* Toggle Button */
  #nav-toggle {
    display: block;
  }

  /* #nav-toggle animation */
  .open #nav-toggle span:nth-child(1) {
    top: 7px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }

  .open #nav-toggle span:nth-child(3) {
    top: 7px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }

  /* #global-nav slide animation */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }

  /* visual
  ----------------------------------------------------------- */
  #tp-visual {
    height: auto;
    background: none;
  }
  #tp-visual .tp-visual-inner {
    overflow: visible;
    position: static;
    width: 100%;
    height: auto;
    margin-left: 0;
  }

  .slider .slide {
    height: auto;
  }
  .slider .slide img {
    display: block;
    position: static;
    width: 100%;
    height: auto;
  }
  .slider .slide img.pc {
    display: none !important;
  }

  .spcal {
    background: url(../images/common/bg_line.png);
    margin-top: 54px;
  }
  
  .calender {
    position: static;
    text-align: center;
    padding: 24px 0;
    width: 240px;
    margin: 0 auto;
  }
  .calender img {
    width: 240px;
  }
  .calender2 {
    position: relative;
    width: 240px;
    margin: 0 auto;
    z-index: 1;
  }
  .calender2 img {
    width: 240px;
  }
  /* #tp-contents
  ----------------------------------------------------------- */
  /*tp-pickup*/
  .tp-pickup {
    width: 100%;
    clear: both;
    padding: 48px 4% 24px;
  }
  .tp-pickup h2 {
    margin: 0 auto 32px;
  }
  .tp-pickup h2 img {
    width: 160px;
  }
  .tp-pickup li {
    margin-bottom: 40px;
  }
  .tp-pickup li figure {
    width: 100%;
    float: none;
    text-align: center;
  }
  .tp-pickup li figure img {
    border-radius: 50%;
    width: 80%;
  }
  .tp-pickup li .balloon {
    float: none;
    width: 100%;
    margin: 24px 0 0 0;
  }
  .tp-pickup li .balloon::before {
    top: -30px;
    left: 50%;
    margin-left: -15px;
    margin-top: 0;
    border: 15px solid transparent;
    border-bottom: 15px solid #fff;
  }
  .tp-pickup li dt a {
    font-size: 18px;
    font-size: 1.8rem;
    padding: 12px 40px 12px 16px;
  }
  .tp-pickup li dd {
    padding: 12px 16px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  /*tp-info*/
  .tp-info-bg {
    background: url(../images/common/footer_bg.png);
    padding: 24px 0 48px;
  }

  .tp-info {
    width: 100%;
    clear: both;
    width: 92%;
    padding: 20px 4%;
  }

  .info-open {
    width: 100%;
    float: none;
    padding: 16px 4% 24px;
    margin: 0 0 40px;
  }
  .info-open dt {
    font-size: 22px;
    font-size: 2.2rem;
  }

  .info-time,
  .info-holiday {
    width: 100%;
    float: none;
    padding: 24px 0;
  }

  .info-time {
    margin-right: 0;
    margin-bottom: 40px;
  }

  /*tp-bnr*/
  .tp-bnr {
    width: 100%;
    clear: both;
    position: static;
    height: auto;
  }
  .tp-bnr div {
    width: 100%;
    clear: both;
    background: url(../images/tp_bnr_bg_sp.jpg) no-repeat top center, url(../images/common/bg.jpg);
    position: static;
    padding-bottom: 40px;
  }
  .tp-bnr ul {
    width: 100%;
    clear: both;
    padding: 20px 4% 0;
    text-align: center;
  }
  .tp-bnr ul li {
    width: 100%;
  }
  .tp-bnr ul li:first-child {
    margin-right: 0;
  }
  .tp-bnr ul li img {
    width: 100%;
  }

  /*tp-news*/
  .tp-news {
    padding-bottom: 32px;
  }

  .news-inner {
    width: 100%;
    clear: both;
    padding-top: 100px;
  }

  .news-box {
    width: 100%;
    float: none;
    padding-bottom: 64px;
  }
  .news-box h2::before {
    background-size: 40px;
    width: 40px;
    height: 40px;
  }
  .news-box h2 img {
    width: 213px;
  }
  .news-box .item-date {
    display: none;
  }
  .news-box .item-contents {
    display: none;
  }
  .news-box li {
    position: static;
    padding: 12px 4% 10px;
  }
  .news-box li span {
    position: static;
    width: 100%;
    margin: 0;
    display: block;
  }

  .news-box .archive_link {
    text-align: center;
    float: none;
    clear: both;
  }
  .news-box .archive_link p {
    display: inline-block;
  }

  .tp-twitter {
    width: 300px;
    float: none;
    padding: 0;
    margin: auto;
  }

  /* aside
  ----------------------------------------------------------- */
  .tp-sub-btn {
    padding: 40px 4%;
  }
  .tp-sub-btn ul {
    width: 100%;
    clear: both;
  }
  .tp-sub-btn ul li {
    width: 130px;
  }
  .tp-sub-btn ul li:first-child {
    margin-right: 6%;
  }

  /* footer
  ----------------------------------------------------------- */
  footer {
    background: none;
    padding-top: 0;
    margin-top: 0;
    z-index: 777;
    position: relative;
  }

  .f-inner {
    width: 100%;
    clear: both;
    padding: 16px 0 0;
  }

  .f-info {
    width: 100%;
    float: none;
    padding: 16px 4% 24px;
  }
  .f-info .f-sublogo {
    width: 15%;
  }
  .f-info .f-logo {
    width: 90%;
  }
  .f-info dt {
    color: #fff;
    background: #3A3630;
    padding: 5px 0;
    display: block;
    width: 6em;
    clear: none;
    float: none;
    text-align: center;
    border-radius: 5px;
  }
  .f-info dd {
    display: block;
    width: 70%;
    float: none;
    padding-left: 0;
    padding-top: 8px;
    margin-bottom: 16px;
  }

  .f-link {
    width: 100%;
    float: none;
    background: url(../images/common/footer_bg02.png);
    position: static;
    padding: 0 1% 24px;
  }
  .f-link nav {
    margin-bottom: 0;
  }
  .f-link nav ul {
    width: 48%;
  }
  .f-link nav ul.f-link02 {
    margin-left: 2%;
  }
  .f-link nav li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .f-link nav li a {
    line-height: 48px;
    display: block;
    position: relative;
    padding-left: 15px;
  }
  .f-link nav li::before {
    padding-right: 0.3em;
    position: absolute;
    padding-top: 15px;
  }

  .f-link-btn {
    padding: 24px 10% 16px;
  }
  .f-link-btn li {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-bottom: 16px;
    text-align: center;
  }
  .f-link-btn li a {
    background: url(../images/common/icon_window.svg) 95% 50% no-repeat #fff;
    background-size: 16px;
    border-radius: 24px;
    color: #3A3630;
    padding: 0 3em 0 1.6em;
    line-height: 48px;
    display: block;
  }

  .f-twitter {
    width: 60px;
    padding: 8px;
    position: static;
    margin: 0 auto;
    text-align: center;
  }

  .pagetop {
    border-radius: 0;
    display: block;
    overflow: visible;
    position: static;
    text-align: center;
  }
  .pagetop a {
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    border-radius: 0;
    width: 100%;
    padding: 20px 0 0 0;
    line-height: 1;
  }
  .pagetop a img {
    margin: 0 auto;
    width: 24px;
    display: block;
  }

  /* sub_common
  ----------------------------------------------------------- */
  #sub-visual {
    background: url(../images/common/sub_visual_sp.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    padding: 12px 0 40px;
  }
  #sub-visual img {
    width: auto;
    height: 100px;
    margin: 0 auto;
  }

  #breadCrumb {
    display: none;
  }

  #sub-main {
    padding-top: 40px;
  }

  .inner {
    width: 100%;
    clear: both;
    padding: 0 4% 48px;
  }

  .ttl-base {
    font-size: 24px;
    font-size: 2.4rem;
    margin-bottom: 32px;
    position: relative;
  }
  .ttl-base::before {
    content: url(../images/common/icon_slash01.svg);
    position: absolute;
    top: 0;
    left: 4%;
  }
  .ttl-base::after {
    content: url(../images/common/icon_slash01.svg);
    position: absolute;
    top: 0;
    right: 4%;
  }

  .ttl-cercle {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.2;
    background: url(../images/common/ttl_cercle.png) no-repeat 0 50%;
    background-size: 40px 40px;
    padding-left: 24px;
    padding-top: 24px;
    padding-bottom: 24px;
    margin-bottom: 0;
    letter-spacing: 0.1em;
  }

  /*table*/
  th {
    width: 100%;
    display: block;
    text-align: center;
    border: none;
    background: #E3DCD2;
    padding: 0.5em 0;
  }

  td {
    width: 100%;
    display: block;
    border: none;
    padding-bottom: 32px;
  }

  /* guide
  ----------------------------------------------------------- */
  .ginfo-box .group {
    float: none;
    width: 100%;
  }
  .ginfo-box .rest {
    float: none;
    width: 100%;
  }

  .ginfo-box dt {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 4px 1em 6px;
  }
  .ginfo-box dd {
    padding: 30px 4% 16px;
    text-align: left;
  }

  .guide-info-area .btn {
    width: 80%;
    float: none;
  }
  .guide-info-area .btn a {
    line-height: 60px;
    background: url(../images/common/icon_marker_white.svg) no-repeat 8% 50% #05B3C0;
    background-size: 18px;
    padding-left: 8%;
  }

  .ginfo-detail {
    margin-top: 0;
    padding-top: 24px;
  }

  .guide-facility-area {
    padding: 24px 4%;
  }
  .guide-facility-area .inner {
    padding: 32px 4%;
    margin-bottom: 24px;
  }

  .gfaci-info {
    width: 100%;
  }
  .gfaci-info h2 {
    font-size: 24px;
    font-size: 2.4rem;
    background-size: 32px;
    padding-left: 1.8em;
    margin-bottom: 24px;
  }
  .gfaci-info th, .gfaci-info td {
    border-top: none;
    padding: 0.5em 0;
  }
  .gfaci-info table {
    margin-bottom: 1em;
  }

  .gfaci-img {
    width: 100%;
    text-align: center;
    margin-top: 16px;
  }
  .gfaci-img img {
    border-radius: 50%;
    width: 70%;
  }

  .faci01 .gfaci-info, .faci02 .gfaci-img {
    float: none;
  }

  .faci01 .gfaci-img, .faci02 .gfaci-info {
    float: none;
  }

  /* exhibition
  ----------------------------------------------------------- */
  .ex-map-area .ex-map {
    width: 100%;
  }
  .ex-anchor {
    margin-top: 40px;
  }
  .ex-anchor ul {
    font-size: 0px;
    font-size: 0rem;
  }
  .ex-anchor li {
    width: 48%;
    height: 60px;
    margin-right: 4%;
    margin-bottom: 10px;
    text-align: center;
  }
  .ex-anchor li:nth-child(5n) {
    margin-right: 4%;
  }
  .ex-anchor li:nth-child(2n) {
    margin-right: 0;
  }
  .ex-anchor li a {
    background: url(../images/icon_arrow_btm.svg) no-repeat #fff 5% 50%;
    background-size: 8px;
    border-bottom: 1px solid #E9DB98;
    color: #3A3630;
    display: block;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    padding: 0 1em;
    text-decoration: none;
    transition: all .3s;
  }
  .ex-anchor li a:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
  }

  .ex-display-area {
    padding: 32px 0;
  }
  .ex-display-area .inner {
    margin-top: -70px;
    padding-top: 70px;
  }

  .display-ttl {
    height: auto;
    padding: 1em 1em 1em 0;
  }
  .display-ttl::before {
    left: -4%;
    width: 4%;
    height: 100%;
  }
  .display-ttl::after {
    bottom: -18px;
    left: -4%;
    width: 4%;
    height: 18px;
  }
  .display-ttl h3 {
    position: static;
    transform: translateY(0);
    display: inline-block;
    float: none;
    width: 100%;
    text-align: center;
  }
  .display-ttl h3 a {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .display-ttl .btn {
    width: 50%;
    float: none;
    margin-top: 0.8em;
  }
  .display-ttl .btn a {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 32px;
    background: url(../images/icon_arrow_circle.svg) no-repeat 10% 50% #fff;
    background-size: 16px;
    border: none;
    padding-left: 1.2em;
  }

  .display-box {
    padding: 24px 4%;
  }
  .display-box figure {
    width: 100%;
    float: none;
    margin-bottom: 1em;
  }
  .display-box figure img {
    width: auto;
    border-radius: 16px;
  }
  .display-box .display-detail {
    width: 100%;
    float: none;
  }
  .display-box .display-detail dl {
    border-radius: 16px;
    padding: 2em 4% 1em;
  }
  .display-box .display-detail dd {
    background: url(../images/common/icon_arrow_blue.svg) no-repeat 0 50%;
    background-size: 16px;
    padding: 12px 4% 12px 8%;
    font-size: 14px;
    font-size: 1.4rem;
  }

  /* exhibition/list
  ----------------------------------------------------------- */
  .ex-list-area {
    padding: 0;
  }

  .ex-search {
    padding-bottom: 24px;
  }
  .ex-search .search-txt {
    float: none;
    width: 100%;
    margin-bottom: 1em;
  }
  .ex-search .search-box {
    float: none;
    width: 100%;
    padding: 1em 4%;
  }

  .ex-list-item {
    padding: 32px 0 40px;
    border-top: none;
  }
  .ex-list-item h3 {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 1em;
    text-align: center;
    line-height: 1.4;
  }
  .ex-list-item figure {
    float: none;
    width: 100%;
    text-align: center;
  }
  .ex-list-item img {
    width: 100%;
  }
  .ex-list-item ul {
    float: none;
    width: 100%;
    padding-top: 1em;
  }
  .ex-list-item li {
    background: url(../images/common/icon_arrow_blue.svg) no-repeat 0 48%;
    background-size: 16px;
    padding: 0;
    border-bottom: 1px dotted #3A3630;
  }
  .ex-list-item li a {
    color: #3A3630;
    display: block;
    text-decoration: none;
    padding: 16px 0 16px 22px;
  }

  /* exhibition/detail
  ----------------------------------------------------------- */
  #ex-detail {
    padding-bottom: 0;
  }

  #ex-detail .inner {
    padding: 0;
  }

  .ex-detail-primary {
    padding: 32px 4%;
    margin-bottom: 32px;
  }
  .ex-detail-primary h1 {
    font-size: 22px;
    font-size: 2.2rem;
    padding: 0.8em 1em;
    margin-bottom: 16px;
  }
  .ex-detail-primary h1::after {
    border-width: 0 0 16px 16px;
  }
  .ex-detail-primary img {
    margin-bottom: 24px;
  }

  .pattern01 .ex-detail-primary img {
    width: 100%;
  }

  .pattern02 .ex-detail-primary img {
    width: 70%;
  }

  .pattern03 .ex-detail-primary img {
    width: 100%;
  }

  .ex-detail-secondary {
    padding: 0 4% 64px;
  }
  .ex-detail-secondary figure {
    width: 80%;
    margin: 0 auto;
  }
  .ex-detail-secondary dl {
    width: 100%;
    text-align: left;
  }
  .ex-detail-secondary dt {
    text-align: left;
    margin-bottom: 0;
  }

  .ex-detail-secondary.img-l figure {
    float: none;
  }
  .ex-detail-secondary.img-l .detail-txt {
    float: none;
  }

  .ex-detail-secondary.img-r figure {
    float: none;
  }
  .ex-detail-secondary.img-r .detail-txt {
    float: none;
  }

  .detail-box {
    padding: 0 4% 64px;
  }
  .detail-box figure {
    margin-bottom: 16px;
  }
  .detail-box figure img {
    border-radius: 16px;
  }
  .detail-box dt {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 0.8em;
    margin-bottom: 0.8em;
  }
  .detail-box dd {
    font-size: 14px;
    font-size: 1.4rem;
  }

  .detail-column2 .detail-box {
    width: 50%;
    margin-right: 0;
  }

  .detail-column3 .detail-box {
    width: 33%;
    margin-right: 0;
  }
  .detail-column3 .detail-box figure {
    margin-bottom: 16px;
  }

  .detail-column4 .detail-box {
    width: 50%;
    margin-right: 0;
  }
  .detail-column4 .detail-box:nth-child(2n) {
    margin-right: 0;
  }
  .detail-column4 .detail-box figure {
    margin-bottom: 16px;
  }
  .detail-column4 .detail-box dt {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .detail-movie {
    padding: 40px 0 0 0;
    margin-bottom: 64px;
  }
  .detail-movie h2 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .detail-movie h2::before {
    width: 30px;
    top: -48px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .detail-movie h2::after {
    bottom: -16px;
    width: 80px;
    height: 4px;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-color: #FADC0E;
  }

  .movie-box {
    padding: 56px 4% 24px;
    margin-top: -12px;
  }
  .movie-box .youtube {
    width: 100%;
    margin: 0 auto 24px;
  }

  .movie-col1 p {
    padding: 0;
  }

  .movie-col2 .movie-box {
    padding: 56px 4% 24px;
  }
  .movie-col2 .movie-box .youtube {
    width: 100%;
  }
  .movie-col2 .movie-box .movie-list {
    width: 100%;
    margin-bottom: 40px;
  }
  .movie-col2 .movie-box .movie-list:first-child {
    margin-right: 0;
  }
  .movie-col2 .movie-box .movie-list:last-child {
    margin-bottom: 0;
  }

  .detail-table {
    padding: 0 4% 40px;
  }

  #ex-detail .btn {
    width: 80%;
  }
  #ex-detail .btn a {
    line-height: 60px;
    background: url(../images/icon_arrow_circle_back.svg) no-repeat 8% 52% #fff;
    background-size: 20px;
  }

  .ex-relate {
    border-radius: 0;
    padding: 32px 4%;
    margin-top: 80px;
  }
  .ex-relate h2 {
    font-size: 20px;
    font-size: 2rem;
  }
  .ex-relate ul li {
    font-size: 14px;
    font-size: 1.4rem;
    width: 100%;
    margin-right: 0;
    margin-bottom: 16px;
    line-height: 1.2;
  }
  .ex-relate ul li a {
    padding: 20px 8px 20px 40px;
    background: url(../images/icon_arrow_circle.svg) no-repeat 3% 50%;
    background-size: 20px;
  }

  /* event
  ----------------------------------------------------------- */
  #event-detail {
    padding-bottom: 0;
  }

  #event-detail .inner {
    padding: 0;
  }

  .event-primary {
    padding: 32px 4% 48px;
    margin-bottom: 32px;
  }
  .event-primary h1 {
    font-size: 22px;
    font-size: 2.2rem;
    padding: 0.8em 1em;
    margin-bottom: 16px;
  }
  .event-primary h1::after {
   border-width: 0 0 16px 16px;
}
  .event-primary img {
    margin-bottom: 24px;
    width: 100%;
  }
  .event-primary dl {
    width: 100%;
    margin: 0 auto 24px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .event-primary dt {
    padding-top: 12px;
    padding-bottom: 10px;
    width: 100%;
    float: none;
  }
  .event-primary dd {
    background: #fff;
    margin-left: 0;
    padding-top: 12px;
    padding-bottom: 10px;
  }
  .event-primary p {
    text-align: left;
  }

  .event-point {
    padding: 58px 4% 12px;
    margin-bottom: 80px;
  }
  .event-point::after {
    display: none;
  }
  .event-point h2 {
    font-size: 24px;
    font-size: 2.4rem;
    padding-bottom: 40px;
    position: relative;
    border: none;
    margin-bottom: 0;
  }
  .event-point h2::before {
    content: url(../images/icon_flag.svg);
    width: 40px;
    position: absolute;
    top: -85px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  .epoint-box {
    padding-bottom: 40px;
  }
  .epoint-box figure {
    float: none;
    width: 100%;
  }
  .epoint-box figure img {
    width: 100%;
  }
  .epoint-box p {
    float: none;
    width: 100%;
    padding-top: 24px;
  }

  .event-archive {
    border-radius: 0;
    padding: 32px 4% 40px;
  }
  .event-archive h2 {
    font-size: 20px;
    font-size: 2rem;
  }
  .event-archive dl dt a {
    padding: 16px 4% 16px 40px;
  }
  .event-archive dl dt span {
    display: block;
    margin-left: 0;
    margin-top: 8px;
    border-radius: 5px;
  }
  .event-archive dl dd {
    padding: 16px 4%;
    font-size: 14px;
    font-size: 1.4rem;
  }

  /* reserve
  ----------------------------------------------------------- */
  .reserve-info-area {
    padding: 0;
  }
  .reserve-info-area .alignC {
    text-align: left !important;
    padding: 0 4%;
  }
  .reserve-info-area .inner {
    padding: 16px 4% 48px;
  }
  .reserve-info-area .inner h3 {
    margin-bottom: 16px;
  }
  .rinfo-box {
    text-align: left;
    margin-top: 24px;
    padding: 0 0 40px;
    width: 100%;
  }
  .rinfo-box dt {
    font-size: 16px;
    font-size: 1.6rem;
    width: 100%;
    padding: 10px 0;
    text-align: center;
  }
  .rinfo-box dd {
    padding: 16px 4% 16px;
    font-size: 15px;
    font-size: 1.5rem;
    color: #3A3630;
    line-height: 1.8;
    margin: 0 auto;
    width: 100%;
  }
  .rinfo-box .rest dd {
    text-align: left;
    padding-bottom: 25px;
  }
  .rinfo-box .rest dd ul {
    margin-bottom: 1em;
  }

  .reserve-info-area table {
    border-top: none;
    margin: 2em 0 1em;
  }

  .reserve #sub-main .btn {
    width: 100%;
  }
  .reserve #sub-main .btn a {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1;
    background: url(../images/icon_cal_cercle.svg) no-repeat 8% 50% #fff;
    background-size: 30px;
    padding: 15px 0 15px 1em;
  }

  .reserve-program-area {
    padding: 40px 4% 64px;
  }
  .reserve-program-area .ttl-base {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .reserve-program-area .alignC {
    text-align: left !important;
  }
  .reserve-program-area .inner {
    border-radius: 10px;
    padding: 8px 4% 24px;
    margin-top: 24px;
  }
  .reserve-program-area ul {
    border: none;
    border-top: 1px dotted #3A3630;
    padding-top: 16px;
    margin-bottom: 16px;
  }
  .reserve-program-area li {
    border: none;
    padding: 0.5em 0 0.5em 1em;
    text-indent: -1em;
  }
  .reserve-program-area dl {
    margin: 0;
    padding: 10px 4% 16px;
  }
  .reserve-program-area dt {
    font-size: 14px;
    font-size: 1.4rem;
    background: url(../images/bg_ribon.png) no-repeat 50% 0;
    background-size: 133px;
    padding: 10px 0 24px;
    float: none;
    text-align: center;
  }
  .reserve-program-area dd {
    font-size: 14px;
    font-size: 1.4rem;
    padding-top: 0;
  }
  .reserve-program-area .program03 {
    margin-bottom: 40px;
  }

  /* education
  ----------------------------------------------------------- */
  .education-area {
    padding: 0 0 32px 0;
  }
  .education-area .alignC {
    margin-bottom: 2em;
    padding: 0 4%;
    text-align: left !important;
  }

  .education-area .inner {
    padding: 16px 4% 48px;
  }
  .education-area .inner h3 {
    margin-bottom: 16px;
  }

  .education-box figure, .business-box figure {
    width: 100%;
    float: none;
    margin-bottom: 2em;
  }
  .education-box figcaption, .business-box figcaption {
    font-size: 13px;
    font-size: 1.3rem;
  }
  .education-box .e-box-txt, .business-box .e-box-txt {
    width: 100%;
    float: none;
  }

  .e-box-txt .btn {
    width: 80%;
    margin: 24px auto 0;
    float: none;
  }
  .e-box-txt .btn a {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 48px;
    background: url(../images/icon_window_blue.svg) no-repeat 8% 50% #fff;
    background-size: 16px;
    padding-left: 1em;
  }

  /* business
  ----------------------------------------------------------- */
  .business-area {
    padding: 0 0 32px 0;
  }

  .business-area .business-intro {
    width: 100%;
    clear: both;
    padding: 0 4% 32px;
  }
  .business-area .business-intro .b-intro-txt {
    width: 100%;
    float: none;
  }
  .business-area .business-intro figure {
    width: 100%;
    float: none;
  }

  .business-area .inner {
    padding: 16px 4% 48px;
  }

  /* access
  ----------------------------------------------------------- */
  .access #sub-visual {
    background: url(../images/common/sub_visual_sp.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    padding: 12px 0 40px;
  }
  .access #sub-visual img {
    height: 80px;
  }

  .access-map-area {
    padding-bottom: 24px;
  }
  .access-map-area .inner {
    padding: 0 0 40px 0;
  }

  .access-map-area p, .access-map-area ul {
    padding: 0 4%;
  }

  .access-map-area ul {
    margin-bottom: 0;
  }
  .access-map-area ul li {
    display: inline-block;
    width: 100%;
    margin-bottom: 1em;
  }
  .access-map-area ul li .sp {
    display: inline-block;
  }

  .amap-box {
    background: none;
    padding: 0;
    margin-top: 2em;
  }
  .amap-box figure {
    margin-bottom: 2em;
    border: 4px solid #fff;
  }
  .amap-box .btn {
    width: 80%;
    margin: 0 0 16px 0;
  }
  .amap-box .btn a {
    line-height: 60px;
    background: url(../images/icon_arrow_circle.svg) no-repeat 8% 50% #fff;
    background-size: 20px;
  }

  .access-trafic-area {
    padding-bottom: 64px;
  }
  .access-trafic-area .alignC {
    text-align: left !important;
    padding: 0 4%;
  }

  .access-trafic-area .inner {
    padding: 16px 4%;
    margin-top: 32px;
  }
  .access-trafic-area .inner figure {
    margin-bottom: 40px;
  }
  .access-trafic-area .inner h4 {
    padding-left: 1.5em;
    margin-bottom: 1em;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .access-trafic-area .inner dt {
    margin-bottom: 0;
  }
  .access-trafic-area .inner dd {
    margin-bottom: 1em;
    padding-left: 1em;
  }
  .access-trafic-area .inner .reference {
    padding: 8px 4%;
  }

  .hidden_box label {
    background: url(../images/icon_arrow_circle_under.svg) no-repeat 10% 50% #fff;
    background-size: 16px;
    border: solid 2px #3A3630;
    border-radius: 50px;
    color: #3A3630;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    outline: none;
    margin: 0 auto 32px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 48px;
    width: 60%;
    transition: 0.2s;
  }

  .hidden_box input:checked ~ label {
    background: url(../images/icon_arrow_circle_close.svg) no-repeat 10% 50% #fff;
    background-size: 16px;
  }

  .hidden_box input {
    display: none;
  }

  .hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
  }

  .hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
  }

  /* link
  ----------------------------------------------------------- */
  .link #sub-visual {
    background: url(../images/common/sub_visual_sp.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    padding: 12px 0 40px;
  }
  .link #sub-visual img {
    height: 80px;
  }

  .link-area {
    padding: 0 0 32px;
  }
  .link-area li a {
    color: #3A3630;
    padding: 1em 0 1em 1.5em;
    position: relative;
  }
  .link-area li a::before {
    content: "●";
    position: absolute;
    top: 35%;
    left: 0;
    padding-right: 0;
    display: block;
  }

  /* sitemap
  ----------------------------------------------------------- */
  .sitemap #sub-visual {
    background: url(../images/common/sub_visual_sp.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    padding: 12px 0 40px;
  }
  .sitemap #sub-visual img {
    height: 80px;
  }

  .sitemap-area {
    padding: 0 0 32px;
  }
  .sitemap-area .sitemap01 {
    width: 100%;
    float: none;
  }
  .sitemap-area .sitemap02 {
    width: 100%;
    float: rnone;
  }
  .sitemap-area li {
    margin-bottom: 1em;
  }
  .sitemap-area li a {
    background-size: 24px;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 1.2em;
  }

  /* download
  ----------------------------------------------------------- */
  .download #sub-visual {
    background: url(../images/common/sub_visual_sp.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    padding: 12px 0 40px;
  }
  .download #sub-visual img {
    height: 80px;
  }

  .dl-area {
    padding: 0 0 32px;
  }
  .dl-area .alignC {
    text-align: left !important;
    padding: 0 4%;
  }

  .dl-area .inner {
    padding: 24px 4% 40px;
    margin-top: 24px;
  }

  .dl-item {
    text-align: center;
  }
  .dl-item a {
    width: 100%;
    margin-right: 0;
    margin-top: 48px;
    padding-bottom: 0;
  }
  .dl-item img {
    width: 65%;
  }
  .dl-item .btn {
    width: 100%;
  }
  .dl-item .btn span {
    background: url(../images/icon_dl.svg) no-repeat 10% 50% #fff;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 60px;
    padding-left: 0;
  }

  /* info
  ----------------------------------------------------------- */
  .info #sub-visual {
    background: url(../images/common/sub_visual_sp.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    padding: 12px 0 40px;
  }
  .info #sub-visual img {
    height: 80px;
  }

  .info-area {
    padding: 0 0 40px;
  }
  .info-area .inner {
    *zoom: 1;
  }
  .info-area .inner:after {
    content: "";
    display: table;
    clear: both;
  }

  .info-list {
    float: none;
    width: 100%;
    padding-bottom: 40px;
  }
  .info-list .item-date {
    display: none;
  }
  .info-list .item-contents {
    display: none;
  }
  .info-list .date {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 0.8em;
  }
  .info-list .contents {
    padding-left: 0;
    width: 100%;
  }

  .info-archive {
    float: none;
    width: 100%;
  }
  .info-archive dt {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 1em 0;
  }
  .info-archive dd a {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 0 0 2.4em;
    text-decoration: none;
    background: url(../images/icon_arrow_circle.svg) no-repeat 4% 50%;
    background-size: 16px;
  }

  /* search
  ----------------------------------------------------------- */
  .search #sub-visual {
    background: url(../images/common/sub_visual_sp.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    padding: 12px 0 40px;
  }
  .search #sub-visual img {
    height: 80px;
  }

  .search-area {
    padding: 0 0 40px;
  }
  .search-area .inner {
    *zoom: 1;
  }
  .search-area .inner:after {
    content: "";
    display: table;
    clear: both;
  }
}
/* -----@media screen and (max-width:480px) ------ */
