@charset "Shift_JIS";

* {box-sizing: border-box;}

/* header：ヘッダーエリアのスタイル
   ========================================================================== */
#global-header {
  padding: 15px 0 10px;
  width: calc(1vh - calc(1vh - 100%)); }
  #global-header .l-header-contents-wrapper {
    display: grid;
    grid-template-columns: calc(50% - ((1240px + 40px) / 2)) repeat(3, auto) calc(50% - ((1240px + 40px) / 2));
    grid-template-rows: 35px repeat(2, min-content);
    grid-auto-rows: min-content;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    max-width: none; }
    #global-header .l-header-contents-wrapper .l-header-logo-parent {
      grid-area: 1 / 2 / 3 / 3;
      margin-bottom: 10px;
      display: grid;
      grid-template-columns: repeat(2, auto);
      grid-template-rows: repeat(3, auto);
      column-gap: 5px;
      padding: 32px 0 0 20px; }
      @media only screen and (max-width: 767px) {
        #global-header .l-header-contents-wrapper .l-header-logo-parent {
          padding-top: 0; } }
      #global-header .l-header-contents-wrapper .l-header-logo-parent .l-header-logo {
        grid-area: 1 / 1 / 2 / 2; }
      #global-header .l-header-contents-wrapper .l-header-logo-parent .l-free-edit-logo-bottom {
        grid-area: 2 / 1 / 3 / 2; }
      #global-header .l-header-contents-wrapper .l-header-logo-parent .l-exhibit-name {
        grid-area: 3 / 1 / 4 / 2;
        color: #888888;
        margin-top: 10px;
        font-size: 12px;
        font-size: 1.2rem; }
        @media only screen and (max-width: 767px) {
          #global-header .l-header-contents-wrapper .l-header-logo-parent .l-exhibit-name {
            font-size: 10px;
            font-size: 1rem; } }
      #global-header .l-header-contents-wrapper .l-header-logo-parent .l-free-edit-logo-right {
        grid-area: 1 / 2 / 4 / 3; }
    #global-header .l-header-contents-wrapper .l-header-utilityNav-parent {
      grid-area: 1 / 3 / 2 / 5;
      display: flex;
      align-items: flex-start;
      justify-content: flex-end;
      flex-wrap: wrap;
      padding-right: 20px; }
      @media only screen and (max-width: 767px) {
        #global-header .l-header-contents-wrapper .l-header-utilityNav-parent {
          flex-wrap: nowrap; } }
      #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-utilityNav {
        display: flex; }
        #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-utilityNav li {
          font-size: 11px;
          font-size: 1.1rem;
          border-left: 1px solid #888888;
          line-height: 1;
          padding: 3px 10px 0; }
          #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-utilityNav li:last-child {
            border-right: 1px solid #888888;
            margin-right: 5px; }
          #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-utilityNav li .fa {
            margin-right: 5px;
            color: #1e1e1e; }
      #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav {
        position: relative;
        display: flex;
        column-gap: 5px;
        justify-content: flex-end; }
        #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .l-header-userNav-child {
          display: none;
          background-color: #fff;
          border: 1px solid #959cb1;
          border-radius: 2px;
          box-shadow: 0 4px 22px 3px rgba(0, 0, 0, 0.11);
          padding: 15px 20px 15px 24px;
          position: absolute;
          right: 0;
          top: 25px;
          width: 200px; }
          #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .l-header-userNav-child:before {
            background-color: #FFF;
            content: '';
            border-top: 1px solid #959cb1;
            border-right: 1px solid #959cb1;
            display: block;
            height: 9px;
            position: absolute;
            right: 40px;
            top: -6px;
            width: 9px;
            -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
          #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .l-header-userNav-child li {
            display: block;
            margin-left: 0;
            text-align: left;
            white-space: nowrap;
            font-size: 11px;
            font-size: 1.1rem; }
            #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .l-header-userNav-child li a {
              color: #000; }
              #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .l-header-userNav-child li a:hover {
                color: #274f79;
                text-decoration: none; }
              #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .l-header-userNav-child li a span {
                display: block;
                padding: 10px 0;
                position: relative; }
                #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .l-header-userNav-child li a span:after {
                  border-top: 2px solid #dadada;
                  border-right: 2px solid #dadada;
                  content: '';
                  display: block;
                  height: 6px;
                  position: absolute;
                  right: 0;
                  top: 11px;
                  width: 6px;
                  -webkit-transform: rotate(45deg);
                  -ms-transform: rotate(45deg);
                  transform: rotate(45deg); }
        #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .c-button04 {
          min-width: 90px;
          white-space: nowrap;
          padding: 3px 10px;
          font-size: 11px;
          font-size: 1.1rem; }
          #global-header .l-header-contents-wrapper .l-header-utilityNav-parent .l-header-userNav .c-button04 .fa {
            margin-right: 6px; }
    #global-header .l-header-contents-wrapper .l-header-orderNav {
      grid-area: 2 / 3 / 3 / 4;
      display: flex;
      flex-wrap: wrap;
      column-gap: 10px;
      row-gap: 5px;
      margin: 10px;
      align-content: flex-start; }
      @media only screen and (max-width: 767px) {
        #global-header .l-header-contents-wrapper .l-header-orderNav {
          display: flex;
          flex-wrap: nowrap;
          column-gap: 5px; } }
      #global-header .l-header-contents-wrapper .l-header-orderNav li {
        white-space: nowrap; }
        @media only screen and (max-width: 767px) {
          #global-header .l-header-contents-wrapper .l-header-orderNav li {
            white-space: normal;
            flex-shrink: 1;
            font-weight: bold;
            line-height: 1;
            text-align: center;
            flex-basis: 100%;
            padding: 10px 0;
            font-size: 12px;
            font-size: 1.2rem; }
            #global-header .l-header-contents-wrapper .l-header-orderNav li a {
              background: transparent;
              border: none;
              padding: 0; }
              #global-header .l-header-contents-wrapper .l-header-orderNav li a span.fa {
                font-size: 24px;
                font-size: 2.4rem;
                margin-bottom: 5px; }
              #global-header .l-header-contents-wrapper .l-header-orderNav li a span:not(.fa) {
                color: #000;
                display: block;
                font-size: 12px;
                font-size: 1.2rem; } }
    #global-header .l-header-contents-wrapper .l-header-delivery {
      grid-area: 2 / 4 / 3 / 5;
      word-break: break-all;
      font-size: 10px;
      font-size: 1rem;
      color: #888888;
      text-align: right;
      line-height: 1.25;
      padding-right: 20px; }
      @media only screen and (min-width: 768px) and (max-width: 1024px) {
        #global-header .l-header-contents-wrapper .l-header-delivery {
          margin-top: 10px; } }
    #global-header .l-header-contents-wrapper .l-header-search {
      grid-area: 4 / 1 / 4 / 6; }
    @media only screen and (min-width: 768px) and (max-width: 1024px) {
      #global-header .l-header-contents-wrapper {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(4, min-content);
        grid-column-gap: 0px;
        grid-row-gap: 0px; }
        #global-header .l-header-contents-wrapper .l-header-logo-parent {
          grid-area: 1 / 1 / 3 / 2; }
        #global-header .l-header-contents-wrapper .l-header-utilityNav-parent {
          grid-area: 1 / 2 / 2 / 3; }
        #global-header .l-header-contents-wrapper .l-header-delivery {
          grid-area: 2 / 2 / 3 / 3; }
        #global-header .l-header-contents-wrapper .l-header-orderNav {
          grid-area: 3 / 1 / 4 / 3;
          padding-left: 20px; }
        #global-header .l-header-contents-wrapper .l-header-search {
          grid-area: 4 / 1 / 5 / 3; } }
    @media only screen and (max-width: 767px) {
      #global-header .l-header-contents-wrapper {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(4, auto);
        grid-column-gap: 0px;
        grid-row-gap: 0px; }
        #global-header .l-header-contents-wrapper .l-header-logo-parent {
          grid-area: 1 / 1 / 2 / 2;
          margin: 0 10px;
          padding-left: 0; }
        #global-header .l-header-contents-wrapper .l-header-utilityNav-parent {
          grid-area: 1 / 2 / 2 / 4;
          padding-right: 0; }
        #global-header .l-header-contents-wrapper .l-header-delivery {
          margin: 0 10px;
          grid-area: 1 / 2 / 2 / 3;
          padding-right: 0; }
        #global-header .l-header-contents-wrapper .l-header-group01 {
          grid-area: 2 / 1 / 3 / 4;
          padding: 10px 0;
          min-height: 66px; }
        #global-header .l-header-contents-wrapper .l-header-search {
          grid-area: 3 / 1 / 4 / 4;
          margin-bottom: 0;
          padding: 7px 0; }
          #global-header .l-header-contents-wrapper .l-header-search .l-header-search-keyword {
            margin: 0 10px;
            border-radius: 3px; }
        #global-header .l-header-contents-wrapper .l-header-search > div {
          padding: 0; }
        #global-header .l-header-contents-wrapper .l-header-orderNav {
          grid-area: 4 / 1 / 5 / 4; } }
  #global-header .l-nav-gnav.u-sp-item {
    display: none; }
  #global-header .l-header-search > div {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    width: 100%; }
    #global-header .l-header-search > div .l-nav-categorySearch-area-parent {
      flex-basis: 180px; }
      @media only screen and (min-width: 768px) and (max-width: 1024px) {
        #global-header .l-header-search > div .l-nav-categorySearch-area-parent {
          flex-basis: 140px; } }
      #global-header .l-header-search > div .l-nav-categorySearch-area-parent .l-nav-categorySearch-area {
        width: 100%;
        white-space: nowrap; }
    #global-header .l-header-search > div .l-nav-catalogSearch {
      flex-basis: 180px;
      white-space: nowrap; }
      @media only screen and (min-width: 768px) and (max-width: 1024px) {
        #global-header .l-header-search > div .l-nav-catalogSearch {
          flex-basis: 140px; } }
    #global-header .l-header-search > div .l-header-search-keyword {
      display: flex;
      flex-wrap: nowrap;
      flex-grow: 1;
      background: white;
      align-items: center; }
      #global-header .l-header-search > div .l-header-search-keyword .l-nav-keywordSearch {
        flex-grow: 1;
        align-items: center; }

.l-header-logo {
  max-width: 125px; }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .l-header-logo {
      max-width: 130px; } }
  @media only screen and (max-width: 767px) {
    .l-header-logo {
      max-width: 120px; } }

@media only screen and (max-width: 767px) {
  .l-contents-search-detail#detailSearchForm {
    display: none; }
    .l-contents-search-detail#detailSearchForm .js-acc-body {
      display: block; }
    body.l-header-show-detail-search .l-contents-search-detail#detailSearchForm {
      display: block;
      position: static;
      border: none;
      box-shadow: none; }
      body.l-header-show-detail-search .l-contents-search-detail#detailSearchForm #searchFormRight {
        width: auto; } }



/* margin：marginを付与する汎用クラス
   ========================================================================== */
.u-mt0 {
  margin-top: 0px !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-mr0 {
  margin-right: 0px !important; }

.u-mr5 {
  margin-right: 5px !important; }

.u-mr10 {
  margin-right: 10px !important; }

.u-mr15 {
  margin-right: 15px !important; }

.u-mr20 {
  margin-right: 20px !important; }

.u-ml0 {
  margin-left: 0px !important; }

.u-ml5 {
  margin-left: 5px !important; }

.u-ml10 {
  margin-left: 10px !important; }

.u-ml15 {
  margin-left: 15px !important; }

.u-ml20 {
  margin-left: 20px !important; }



/* flex utility */
.u-flex {
  display: flex;
  width: 100%; }

.u-flex-col {
  flex-direction: column; }

.u-flex-row-reverse {
  flex-direction: row-reverse; }

.u-inline-flex {
  display: inline-flex; }

@media only screen and (max-width: 767px) {
  .u-flex-col-sp {
    flex-direction: column; }
    .u-flex-col-sp .u-justify-left, .u-flex-col-sp .u-justify-right, .u-flex-col-sp .u-justify-center, .u-flex-col-sp .u-justify-between, .u-flex-col-sp .u-justify-around {
      justify-content: unset; } }

@media only screen and (max-width: 767px) {
  .u-flex-sp {
    display: flex; } }

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .u-flex-tb {
    display: flex; } }

.u-justify-left {
  justify-content: left; }

.u-justify-right {
  justify-content: right; }

.u-justify-center {
  justify-content: center; }

.u-justify-between {
  justify-content: space-between; }

.u-justify-around {
  justify-content: space-around; }

.u-justify-end {
  justify-content: end; }

@media only screen and (max-width: 767px) {
  .u-justify-left, .u-justify-right, .u-justify-center, .u-justify-between, .u-justify-around {
    justify-content: unset; }
  .u-justify-left-sp {
    justify-content: left; }
  .u-justify-right-sp {
    justify-content: right; }
  .u-justify-center-sp {
    justify-content: center; }
  .u-justify-between-sp {
    justify-content: space-between; } }

.u-align-start {
  align-items: start; }

.u-align-end {
  align-items: end; }

.u-align-center {
  align-items: center; }

.u-align-baseline {
  align-items: baseline; }

@media only screen and (max-width: 767px) {
  .u-align-start, .u-align-end, .u-align-center {
    align-items: unset; }
  .u-align-start-sp {
    align-items: start; }
  .u-align-end-sp {
    align-items: end; }
  .u-align-center-sp {
    align-items: center; } }

.u-content-center {
  align-content: center; }

.u-flex-1 {
  flex: 1; }

.u-row-gap-0px {
  row-gap: 0px; }

.u-col-gap-0px {
  column-gap: 0px; }

.u-gap-0px {
  gap: 0px; }

.u-row-gap-4px {
  row-gap: 4px; }

.u-col-gap-4px {
  column-gap: 4px; }

.u-gap-4px {
  gap: 4px; }

.u-row-gap-8px {
  row-gap: 8px; }

.u-col-gap-8px {
  column-gap: 8px; }

.u-gap-8px {
  gap: 8px; }

.u-row-gap-12px {
  row-gap: 12px; }

.u-col-gap-12px {
  column-gap: 12px; }

.u-gap-12px {
  gap: 12px; }

.u-row-gap-16px {
  row-gap: 16px; }

.u-col-gap-16px {
  column-gap: 16px; }

.u-gap-16px {
  gap: 16px; }

.u-row-gap-20px {
  row-gap: 20px; }

.u-col-gap-20px {
  column-gap: 20px; }

.u-gap-20px {
  gap: 20px; }

.u-row-gap-24px {
  row-gap: 24px; }

.u-col-gap-24px {
  column-gap: 24px; }

.u-gap-24px {
  gap: 24px; }

.u-row-gap-28px {
  row-gap: 28px; }

.u-col-gap-28px {
  column-gap: 28px; }

.u-gap-28px {
  gap: 28px; }

.u-row-gap-32px {
  row-gap: 32px; }

.u-col-gap-32px {
  column-gap: 32px; }

.u-gap-32px {
  gap: 32px; }

.u-row-gap-36px {
  row-gap: 36px; }

.u-col-gap-36px {
  column-gap: 36px; }

.u-gap-36px {
  gap: 36px; }

.u-row-gap-40px {
  row-gap: 40px; }

.u-col-gap-40px {
  column-gap: 40px; }

.u-gap-40px {
  gap: 40px; }



/* grid utility */
.u-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr); }

.u-grid-col-1 {
  grid-column: span 1; }

.u-grid-col-2 {
  grid-column: span 2; }

.u-grid-col-3 {
  grid-column: span 3; }

.u-grid-col-4 {
  grid-column: span 4; }

.u-grid-col-5 {
  grid-column: span 5; }

.u-grid-col-6 {
  grid-column: span 6; }

.u-grid-col-7 {
  grid-column: span 7; }

.u-grid-col-8 {
  grid-column: span 8; }

.u-grid-col-9 {
  grid-column: span 9; }

.u-grid-col-10 {
  grid-column: span 10; }

.u-grid-col-11 {
  grid-column: span 11; }

.u-grid-col-12 {
  grid-column: span 12; }

@media only screen and (max-width: 767px) {
  .u-grid-col-1-sp {
    grid-column: span 1; }
  .u-grid-col-2-sp {
    grid-column: span 2; }
  .u-grid-col-3-sp {
    grid-column: span 3; }
  .u-grid-col-4-sp {
    grid-column: span 4; }
  .u-grid-col-5-sp {
    grid-column: span 5; }
  .u-grid-col-6-sp {
    grid-column: span 6; }
  .u-grid-col-7-sp {
    grid-column: span 7; }
  .u-grid-col-8-sp {
    grid-column: span 8; }
  .u-grid-col-9-sp {
    grid-column: span 9; }
  .u-grid-col-10-sp {
    grid-column: span 10; }
  .u-grid-col-11-sp {
    grid-column: span 11; }
  .u-grid-col-12-sp {
    grid-column: span 12; } }



/* 追加css */
#global-header img {
	width: 100%;
}
.container {
	width: auto;
	max-width: 900px;
}
.right_contents2 {
	width: 100%;
	max-width: 650px;
}
.footer {
	width: auto;
	max-width: 894px;
}
.footer .go_top {
	width: auto;
	max-width: 894px;
}
.footer ul.ul1 {
	width: auto;
	max-width: 870px;
}
.footer ul.ul1 li.bt2 {
	width: auto;
}