@charset "UTF-8";
* {
  box-sizing: border-box;
}

.for-pc {
  display: none;
}

.for-sp {
  display: block;
}

.toTop {
  display: none;
}

#top_bar {
  border-top: 2px solid black;
}

.span12 {
  width: 100%;
}

.sp100p {
  width: 100% !important;
  float: none !important;
  margin-left: 0 !important;
}

.sp90p {
  width: calc(100% - 20px) !important;
  float: none !important;
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
  width: 100%;
}

.row.pagetop-row {
  margin-top: 20px;
  background: none;
}

header#site_header {
  width: 100%;
  height: 64px;
  margin: 0 0 10px;
  padding: 3px 0 5px;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 10;
}
header#site_header.development.adminbar {
  top: 48px;
}
header#site_header .header-logo-area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 10px;
}
header#site_header .header-logo-area a {
  display: block;
  color: inherit;
  font-family: serif;
  max-width: calc(100% - 65px);
}
header#site_header .header-logo-area a img {
  width: 56px;
  margin-right: 10px;
}
header#site_header .header-logo-area a p {
  margin: 0 0 0;
}
header#site_header .header-logo-area h1 {
  font-size: 17px;
  line-height: 2;
}
header#site_header .header-logo-area p {
  font-size: 11px;
  line-height: 1.3;
}
header#site_header .header-logo-area .logo-right-text a img {
  width: 100%;
  padding: 10px 0 !important;
}
header#site_header .header-logo-area a.h1-en h1 {
  position: relative;
  margin-top: -4px;
  font-size: 18px;
  line-height: 1.3;
}

@media screen and (max-width: 374px) {
  .spmenu-button {
    right: 5px;
  }

  header#site_header .header-logo-area {
    padding: 6px 0 0 6px;
  }
  header#site_header .header-logo-area h1 {
    width: 264px;
    font-size: 15px;
    line-height: 2.6;
  }
}
.header-sub-menu {
  right: 0;
  top: 5px;
}

.header-sub-menu img {
  width: 45px;
}

.header-sub-menu .home {
  margin-right: 15px;
}

#site_header .home {
  position: static;
}

.logo-right-text {
  padding: 0;
}
.logo-right-text a img {
  padding: 10px !important;
}

/* グローバルナビ */
.spmenu-button {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 38px;
  height: 34px;
  background: #fff;
  z-index: 100001;
  border-radius: 2px;
  border: 2px solid #fff;
  box-sizing: content-box;
}
.spmenu-button span {
  display: block;
  width: 32px;
  height: 2px;
  background: #aaa;
  margin: 0 auto;
  transform-origin: center;
  border-radius: 1px;
  transition: 0.3s;
}
.spmenu-button span:nth-child(1) {
  transform: translateY(6px);
}
.spmenu-button span:nth-child(2) {
  transform: translateY(14px);
  opacity: 1;
}
.spmenu-button span:nth-child(3) {
  transform: translateY(22px);
}
.spmenu-button.spmenu-open {
  background: #fff;
}
.spmenu-button.spmenu-open span {
  background: #bbb;
}
.spmenu-button.spmenu-open span:nth-child(1) {
  transform: translateY(16px) rotate(45deg);
}
.spmenu-button.spmenu-open span:nth-child(2) {
  transform: translateY(14px);
  opacity: 0;
}
.spmenu-button.spmenu-open span:nth-child(3) {
  transform: translateY(12px) rotate(-45deg);
}

.spmenu-global-container {
  overflow-y: scroll;
  position: fixed;
  top: 0;
  left: -110vw;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 100000;
  transition: 0.5s;
}

.spmenu-button.spmenu-open + .spmenu-global-container {
  left: 0;
}

.spmenu-global-container {
  padding: 40px 20px;
}
.spmenu-global-container ul {
  list-style-type: none;
}
.spmenu-global-container ul li a {
  font-family: serif;
  font-size: 1.2em;
  line-height: 2.2;
  color: #333;
}

#topSlider {
  width: 100%;
  height: auto;
}

.royalSlider .royalSlide {
  width: 100%;
}

.royalSlider .royalImage {
  max-width: 100%;
}

.left-column,
.right-column {
  float: none;
  width: 94%;
  margin: 0 auto 20px;
}

.right-column #section-exhibition .span3 {
  width: 100%;
}

.banner-container a {
  display: inline-block;
}
.banner-container.coupon-banners {
  text-align: center;
}
.banner-container.coupon-banners a {
  margin: 0 10px;
}
.banner-container.tiny-banners {
  text-align: center;
}
.banner-container.tiny-banners a {
  margin: 5px 10px;
}
.banner-container.competition-banners {
  text-align: center;
}
.banner-container.competition-banners a {
  width: 47%;
  margin: 0 1% 10px;
}
.banner-container.sns-banner {
  margin-top: 30px;
  margin-left: 0 !important;
  float: none;
  text-align: center;
}

#section-holidays {
  margin-bottom: 30px;
}
#section-holidays .table-condensed th, #section-holidays .table-condensed td {
  padding: 0 5px;
}

#section-exhibition .row {
  margin-left: unset;
}

#section-exhibition .row .span3 {
  margin-right: 0 !important;
  border-right: none !important;
  margin-left: unset;
}

footer.pc-footer {
  display: none;
}
footer.sp-footer {
  display: block !important;
  width: 100%;
  padding: 20px 0;
  margin: 20px auto 0;
  background: #aaa;
}
footer.sp-footer .footer-nav-area {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
  margin-bottom: 1em;
}
footer.sp-footer .footer-nav-area ul {
  margin: 0 0 16px;
  min-width: 160px;
}
footer.sp-footer .footer-nav-area ul li {
  list-style-type: none;
  margin-top: 12px;
  font-size: 14px;
  color: #fff;
}
footer.sp-footer .footer-nav-area ul li a {
  color: #fff;
}
footer.sp-footer .footer-nav-area ul li.children {
  margin-top: 2px;
}
footer.sp-footer .footer-nav-area ul li.children a {
  font-size: 12px;
  color: #fff;
}
footer.sp-footer .footer-nav-area .footer-common-nav {
  border-top: 1px solid #bbb;
  padding-top: 1em;
  display: flex;
  flex-wrap: wrap;
}
footer.sp-footer .footer-nav-area .footer-common-nav li {
  width: 45%;
}
footer.sp-footer .footer-nav-area .douhanga {
  margin-bottom: 4px;
}
footer.sp-footer .footer-nav-area .site_index li {
  letter-spacing: 3px;
}
footer.sp-footer .footer-nav-area .site_index li a:before {
  content: url(../img/arrow-down_w.png);
  display: inline-block;
  width: 30px;
}
footer.sp-footer .address {
  margin-bottom: 1em;
  padding: 1em 0 1.5em;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  text-align: center;
  color: #fff;
}
footer.sp-footer .address .footer-logo {
  width: 45px;
  margin: 15px auto 5px;
  padding: 0;
}
footer.sp-footer .address .footer-logo img {
  max-width: 100%;
}
footer.sp-footer .address .footer-title {
  font-family: serif;
  font-size: 15px;
  text-align: center;
  float: none;
}
footer.sp-footer .address address {
  margin-bottom: 0;
}
footer.sp-footer .address address div {
  font-size: 11px;
  line-height: 1.4;
}
footer.sp-footer .copyright {
  float: none;
  padding: 0 3%;
  font-size: 9px;
  color: #fff;
}
footer.sp-footer .copyright .black {
  color: #fff;
}
footer.sp-footer .footer-yamasa-logo {
  width: 96%;
  margin: 0 2%;
  padding: 10px 0;
  display: block;
  text-align: center;
}
footer.sp-footer .footer-yamasa-logo img {
  display: inline-block;
}
footer.sp-footer .banner-container.sns-banner {
  margin: 0 auto !important;
  background: #fff;
  padding: 10px 3%;
}
footer.sp-footer .banner-container.sns-banner a {
  margin: 0 15px;
}

/* ここから
 基本的にはスマホ時にサーバーから取り出さないコンテンツ部分。 
 念の為CSSでも消し込んでおく */
.menu-global-container {
  display: none;
}

#section-aboutyozo {
  display: none;
}

#twitter-widget-0 {
  display: none !important;
}

.section-header.section-header-twitter {
  display: none;
  margin-top: 0 !important;
}

/* ここまで */
/* トップページその他 */
#whatsNew {
  margin-bottom: 30px;
}
#whatsNew .date {
  display: inline-block;
  padding: 1px 6px;
  margin-bottom: 5px;
  background-color: #605335;
  font-size: 11px;
  color: #fff;
}
#whatsNew .title {
  display: block;
  font-weight: normal;
}
#whatsNew .item {
  padding: 0 10px;
}
#whatsNew .desc {
  display: none;
}
#whatsNew .desc p {
  line-height: 1.4;
}

#section-exhibition.frontpage_section_exhibition .season-color.inline-label,
#section-exhibition.frontpage_section_exhibition .top-exhib-title,
#section-exhibition.frontpage_section_exhibition .top-exhib-time {
  display: none;
}
#section-exhibition.frontpage_section_exhibition a img {
  margin: 8px auto 0 !important;
}

#section-aboutyozo-smp a {
  display: inline-block;
  width: 100%;
  color: inherit;
}
#section-aboutyozo-smp a span {
  display: block;
  text-align: right;
  color: #73AADC;
}
#section-aboutyozo-smp a .img_left {
  margin-right: 0;
  float: none;
  display: block;
  margin: 10px auto;
}

/* 下層ページ page.php 共通*/
.row {
  margin-left: 0;
}

.page-contents-wrap.row {
  margin-left: 0;
}
.page-contents-wrap .span12 {
  float: none;
  margin-left: 0;
}
.page-contents-wrap .span12.contents {
  border: none;
}
.page-contents-wrap .span12.contents .row {
  margin-left: 0;
}
.page-contents-wrap .span12 .contentsContainer p {
  max-width: 100% !important;
}

.page-hamaguchi .contentsContainer > div,
.page-sitemap .contentsContainer > div,
.page-info .contentsContainer > div,
.page-access .contentsContainer > div,
.page-links .contentsContainer > div {
  float: none !important;
  margin: 0 !important;
}

/* 
* page about/hamaguchi
*/
.page-hamaguchi .contentsContainer h3 {
  margin-bottom: 15px;
}
.page-hamaguchi .contentsContainer div {
  width: 100% !important;
}
.page-hamaguchi .contentsContainer .floatleft, .page-hamaguchi .contentsContainer .floatright {
  float: none;
  display: block;
  margin: 0 auto 20px;
}
.page-hamaguchi .contentsContainer .table.table-striped {
  width: 100% !important;
}
.page-hamaguchi .contentsContainer .table.table-striped tr td:first-of-type {
  width: 70px;
}

/* 
* page about/works, mezzotint, minami
*/
.page-works .contentsContainer table, .page-mezzotint .contentsContainer table, .page-minami .contentsContainer table {
  float: none !important;
  display: block;
  width: 100% !important;
  margin: 0 !important;
  table-layout: unset !important;
}
.page-works .contentsContainer table td, .page-mezzotint .contentsContainer table td, .page-minami .contentsContainer table td {
  display: block;
  width: 100% !important;
  margin-bottom: 20px;
}
.page-works .contentsContainer table td img, .page-mezzotint .contentsContainer table td img, .page-minami .contentsContainer table td img {
  display: block;
  height: auto;
  width: 100% !important;
  margin: 0 auto 10px !important;
  float: none !important;
}
.page-works .contentsContainer .info strong, .page-mezzotint .contentsContainer .info strong, .page-minami .contentsContainer .info strong {
  font-size: 1.2em;
  font-weight: bold;
}

/* 
* page sitemap
*/
.page-sitemap .contentsContainer {
  display: flex;
  flex-direction: column;
}
.page-sitemap .contentsContainer > div h4 {
  margin-top: 15px !important;
}
.page-sitemap .contentsContainer > div:nth-child(1) {
  order: 3;
}
.page-sitemap .contentsContainer > div:nth-child(2) {
  order: 2;
}
.page-sitemap .contentsContainer > div:nth-child(3) {
  order: 1;
}

/* 
* page links
*/
.page-links .contentsContainer table.table {
  width: 100% !important;
}

/* 
* page access
*/
.page-access .contentsContainer div.tab-content {
  overflow-x: scroll;
}
.page-access .contentsContainer div.tab-content #home {
  width: 780px;
}
.page-access .contentsContainer div.tab-content #bus {
  width: 480px;
}
.page-access .contentsContainer div.tab-content #car {
  width: 480px;
}

.widget-access, .widget-info {
  margin: 20px !important;
}
.widget-access > .contents, .widget-info > .contents {
  padding-bottom: 0 !important;
}
.widget-access .span12, .widget-info .span12 {
  float: none;
  margin-left: 0;
}
.widget-access .contentsContainer, .widget-info .contentsContainer {
  margin: 0 15px !important;
}
.widget-access .contentsContainer .banner-container, .widget-info .contentsContainer .banner-container {
  height: auto !important;
  margin-top: 10px;
  margin-bottom: 10px;
}
.widget-access .contentsContainer .banner-container > div, .widget-info .contentsContainer .banner-container > div {
  max-width: 100%;
  float: none !important;
}
.widget-access .contentsContainer .banner-container > div:first-child, .widget-info .contentsContainer .banner-container > div:first-child {
  margin-bottom: 6px;
}
.widget-access .contentsContainer .banner-container .buttons, .widget-info .contentsContainer .banner-container .buttons {
  text-align: center !important;
}

/* 
* page info
*/
.page-info .contentsContainer table, .page-info .contentsContainer tbody, .page-info .contentsContainer tr, .page-info .contentsContainer th, .page-info .contentsContainer td {
  display: block;
  width: 100%;
}
.page-info .contentsContainer th {
  background: #dfdfdf;
  font-weight: bold;
}

/* 
* page cafe
*/
.page-cafe .gray {
  color: #999;
  font-size: 0.85em;
}
.page-cafe h2.page_title {
  padding: 8px 15px;
  font-size: 22px;
}
.page-cafe .contentsContainer h2, .page-cafe .contentsContainer h3 {
  font-weight: 400;
  text-align: center;
  margin-bottom: 10px;
}
.page-cafe .contentsContainer h3 {
  line-height: 22px;
}
.page-cafe .contentsContainer .floatleft, .page-cafe .contentsContainer .floatright {
  float: none;
  display: block;
  margin: 0 auto 10px;
  text-align: center;
}
.page-cafe .contentsContainer table tbody tr td:nth-child(2) {
  width: 70px;
  text-align: right;
}
.page-cafe .contentsContainer table tbody tr.chocolateset td:nth-child(2) {
  padding: 8px 0;
}
.page-cafe ul.gray {
  margin: 0 20px 40px;
  list-style: none;
  font-size: 0.9em;
}
.page-cafe ul.gray li {
  display: inline;
}
.page-cafe table.table {
  width: 100% !important;
}

/* 
* archive news
*/
.archive-news-title.page_title.bordered {
  border-top: none;
  border-left: none;
  border-right: none;
  padding: 5px 15px;
}

.news-content-row {
  width: calc(100% - 20px);
  margin: 0 auto 10px;
}
.news-content-row > .span12 {
  float: none;
  margin: 0;
  padding-bottom: 10px !important;
}
.news-content-row > .span12 .page_title {
  margin-bottom: 0;
  font-size: 16px;
}
.news-content-row > .span12 .page_title > .period_info {
  font-size: 13px;
}
.news-content-row > .span12 .page_title, .news-content-row > .span12 .page_title + .row {
  padding: 5px 10px;
}
.news-content-row > .span12 .row, .news-content-row > .span12 .span12 {
  float: none;
  margin: 0;
}
.news-content-row > .span12 .row .contentsContainer, .news-content-row > .span12 .span12 .contentsContainer {
  margin: 0;
}
.news-content-row > .span12 .row .contentsContainer p, .news-content-row > .span12 .span12 .contentsContainer p {
  margin-bottom: 0 !important;
}
.news-content-row .contents .span3 {
  float: none;
  margin: 15px auto;
}
.news-content-row .contents .span9 {
  width: unset !important;
  float: none;
  margin: 0;
}

/* 
* archive event
*/
.event-archive .page_title.bordered {
  border: none;
  padding: 5px 10px;
}
.event-archive .each-event > .row > .span3 {
  width: 100%;
  float: none !important;
  margin-left: 0 !important;
  padding: 10px 20px;
}
.event-archive .each-event > .row > .span3 .pictures {
  padding-left: 0;
}
.event-archive .each-event > .row .contentsContainer .page_title.single_title {
  padding: 6px 0;
}
.event-archive .each-event > .row .contentsContainer .page_title.single_title > a {
  margin-bottom: 5px;
  display: block;
}
.event-archive .each-event > .row .contentsContainer .page_title.single_title > .period_info {
  float: none;
  font-size: 12px;
  line-height: 1.2;
}

/**
 * 開催中の展覧会
 */
.event-tabs {
  position: static;
}
.event-tabs.popped-out {
  text-align: left;
}
.event-tabs ul.menu {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
}
.event-tabs ul.menu li.menu-item {
  display: block;
  width: 50%;
  margin: 0 0;
  padding: 6px 10px;
}
.event-tabs ul.menu li.menu-item:nth-child(1), .event-tabs ul.menu li.menu-item:nth-child(3) {
  border-right: none;
}
.event-tabs ul.menu li.menu-item:nth-child(3), .event-tabs ul.menu li.menu-item:nth-child(4) {
  border-bottom: 1px solid #ccc;
}
.event-tabs ul.menu li.menu-item:last-child {
  margin-right: 0;
}
.event-tabs ul.menu li.menu-item:nth-child(3) a {
  font-size: 12px;
}
.event-tabs ul.menu li a {
  display: block;
  line-height: 2;
}
.event-tabs.current-exhibition {
  margin-bottom: 20px;
}

.single-event-row [class*=span] {
  float: none !important;
  margin-left: 0 !important;
  width: 100%;
}
.single-event-row [class*=span].sp90p {
  margin-left: 10px !important;
}
.single-event-row .page_title {
  padding: 5px 15px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}
.single-event-row .page_title .period_info {
  font-size: 13px;
  line-height: 2;
}
.single-event-row .row .span6 {
  width: 100%;
  float: none !important;
  margin-left: 0 !important;
  padding: 5px 10px;
}
.single-event-row .row .span6 .contentsContainer {
  margin: 0;
}
.single-event-row .row .pictures, .single-event-row .row .information, .single-event-row .row .link-buttons {
  padding-left: 0;
}
.single-event-row .row .pictures {
  width: 90%;
  margin: 0 auto 10px !important;
}
.single-event-row .single-event-row-contents .span12 {
  width: 100%;
  float: none !important;
  margin-left: 0 !important;
}
.single-event-row .single-event-row-contents .contents-container.has-relevent {
  padding: 20px !important;
}
.single-event-row .single-event-row-contents .contents-container.has-relevent .related-event-info-box {
  position: static;
}
.single-event-row .single-event-row-contents table.event-gallery, .single-event-row .single-event-row-contents table.event-gallery tbody, .single-event-row .single-event-row-contents table.event-gallery th, .single-event-row .single-event-row-contents table.event-gallery td {
  display: block;
  width: 100%;
}
.single-event-row .single-event-row-contents table.event-gallery img, .single-event-row .single-event-row-contents table.event-gallery tbody img, .single-event-row .single-event-row-contents table.event-gallery th img, .single-event-row .single-event-row-contents table.event-gallery td img {
  margin-bottom: 10px;
}
.single-event-row .single-event-row-contents table.event-gallery .caption, .single-event-row .single-event-row-contents table.event-gallery tbody .caption, .single-event-row .single-event-row-contents table.event-gallery th .caption, .single-event-row .single-event-row-contents table.event-gallery td .caption {
  margin-bottom: 10px;
}
.single-event-row .single-event-row-contents table.event-gallery.talk .description {
  margin: 10px !important;
}

.exhibition-archive {
  padding: 0 10px;
}
.exhibition-archive .page_title.bordered {
  border: none;
  padding: 5px 0;
}
.exhibition-archive [class*=span] {
  width: 100%;
  float: none !important;
  margin-left: 0 !important;
}
.exhibition-archive [class*=span] .contents {
  padding: 10px;
}
.exhibition-archive [class*=span] .pictures, .exhibition-archive [class*=span] .information, .exhibition-archive [class*=span] .link-buttons {
  padding-left: 0;
}
.exhibition-archive [class*=span] .pictures {
  width: 90%;
  margin: 0 auto 10px;
}

/**
 * イベント・ワークショップ
 */
.page-and_workshops .span12 {
  float: none;
  margin-left: 0;
}
.page-and_workshops .page_title.single_title > a {
  line-height: 1.6;
}

.tsuushin-container > table {
  display: block;
  width: 100%;
  margin: 15px 0;
}
.tsuushin-container > table tbody, .tsuushin-container > table td {
  display: block;
}
.tsuushin-container > table tr {
  display: flex;
  justify-content: space-between;
}
.tsuushin-container > table td {
  width: 30% !important;
  padding: 0;
}

/**
 * Special Pages
 */
#specialImages figure {
  margin: 15px 0 !important;
  aspect-ratio: 1000/347 !important;
}
#specialImages figure img {
  max-height: 34.7vw !important;
}

.page_title {
  font-weight: normal !important;
}

#exhibition-archive .page_title,
#event-archive .page_title {
  font-weight: normal;
}

.single-kms_event_info h4 {
  font-weight: normal;
}
.single-kms_event_info table th {
  width: 25%;
  font-weight: normal;
}

#top_bar {
  height: 58px;
}

.single-event-row {
  margin-top: 58px;
}