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


  common.css


------------------------------------------------------------*/
/*============================================================
  button
============================================================*/
/* .btn {
  display: table;
  width: auto;
  height: 5rem;
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
} */

.btn.disp-inline {
  display: inline-table;
}

.btn .text-btn {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.btn .text-btn .tl2 {
  display: inline-block;
  vertical-align: middle;
}

.btn .ico-btn {
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  vertical-align: middle;
}

@media (hover: hover), (-ms-high-contrast: active), (-ms-high-contrast: none) {
  a.btn:not(.active):hover,
  a.btn:not(.active) .tl2:hover {
    text-decoration: underline;
  }
}


/*  size
-------------------------*/
.btn.size-small {
  width: 16rem;
}

.btn.size-middle {
  width: 24rem;
}

.btn.size-large {
  width: 48rem;
}

.btn.size-full {
  width: 100%;
  max-width: 80vw;
}


/*  fill
-------------------------*/
.btn.type-fill.cl-blk {
  color: #fff;
  background-color: #111;
}

.btn.type-fill.cl-wht {
  color: #000;
  background-color: #fff;
}


/*  frame
-------------------------*/
.btn.type-frame {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
}

.btn.type-frame.cl-blk {
  color: #000;
  border-color: #000;
}

.btn.type-frame.cl-wht {
  color: #fff;
  border-color: #fff;
}

.btn.type-frame.cl-blk.active {
  background-color: #000;
  color: #fff;
}

.btn.type-frame.cl-wht.active {
  background-color: #fff;
  color: #000;
}


/*  round
-------------------------*/
.btn.type-round {
  border-radius: 20rem;
}


/*  ico arrow
-------------------------*/
.btn.ico-arrow {
  padding-left: 6rem;
  padding-right: 6rem;
}

.btn.ico-arrow::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 10px;
  border-color: transparent transparent transparent #000;
  margin: auto 0;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
}

.btn.ico-arrow::after {
  content: "";
  display: block;
  width: 4rem;
  height: 1px;
  background-color: #000;
  margin: auto 0;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
}

.btn.ico-arrow.cl-wht::before {
  border-color: transparent transparent transparent #fff;
}

.btn.ico-arrow.cl-wht::after {
  background-color: #fff;
}

.btn.ico-arrow.type-fill.cl-blk::before {
  border-color: transparent transparent transparent #fff;
}

.btn.ico-arrow.type-fill.cl-blk::after {
  background-color: #fff;
}

.btn.ico-arrow.type-fill.cl-wht::before {
  border-color: transparent transparent transparent #000;
}

.btn.ico-arrow.type-fill.cl-wht::after {
  background-color: #000;
}


/*============================================================
  btn-more
============================================================*/
.btn-more {
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}

.btn-more::before,
.btn-more::after {
  content: "";
  display: block;
  width: 1rem;
  height: 0.1rem;
  max-height: 1px;
  background-color: #000;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.btn-more::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}


/*============================================================
  btn-close
============================================================*/
.btn-close {
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}

.btn-close::before,
.btn-close::after {
  content: "";
  display: block;
  width:1rem;
  height: 0.1rem;
  max-height: 1px;
  background-color: #000;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.btn-close::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.btn-close::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}


/*============================================================
  btn-prev
  btn-next
============================================================*/
.btn-prev,
.btn-next {
  display: inline-block;
  width: 5rem;
  height: 5rem;
  background-color: rgba(255,255,255,0.95);
  vertical-align: middle;
  position: relative;
}

.btn-prev::before,
.btn-next::before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transform-origin: center center;
}

.btn-prev::before {
  border-top: 3px solid #000;
  border-left: 3px solid #000;
  left: 6%;
  transform: rotate(-45deg);
}

.btn-next::before {
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  right: 6%;
  transform: rotate(45deg);
}

.btn-prev .text-btn,
.btn-next .text-btn {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.btn-prev.enabled,
.btn-next.enabled {
  opacity: 0.2;
  cursor: default;
}

.btn-prev.size-small,
.btn-next.size-small {
  width: 3rem;
  height: 3rem;
}

.btn-prev.size-small::before,
.btn-next.size-small::before {
  width: 0.6rem;
  height: 0.6rem;
  border-width: 2px;
}


/*============================================================
  btn-play
============================================================*/
.btn-play {
  display: inline-block;
  width: 5rem;
  height: 5rem;
  border: 1px solid rgba(255,255,255,0.8);
  border-radius: 50%;
  position: relative;
}

.btn-play::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4rem 0 0.4rem 1.2rem;
  border-color: transparent transparent transparent #fff;
  margin: auto;
  position: absolute;
  left: 0.4rem;
  right: 0;
  top: 0;
  bottom: 0;
}

.btn-play .text-btn {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.box-video .btn-play {
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
}

/*============================================================
  btn-indicator-prev
  btn-indicator-next
============================================================*/
.btn-indicator-prev,
.btn-indicator-next {
  display: inline-block;
  width: 6rem;
  height: 4rem;
  vertical-align: middle;
  position: relative;
}

.btn-indicator-prev::before,
.btn-indicator-next::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
}

.btn-indicator-prev::before {
  border-width: 2.5px 10px 2.5px 0;
  border-color: transparent #fff transparent transparent;
  left: 0;
}

.btn-indicator-next::before {
  border-width: 2.5px 0 2.5px 10px;
  border-color: transparent transparent transparent #fff;
  right: 0;
}

.btn-indicator-prev::after,
.btn-indicator-next::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
}

.btn-indicator-prev::after {
  right: 0;
}

.btn-indicator-next::after {
  left: 0;
}

@media (max-width: 768px) and (orientation: portrait) {
  .btn-indicator-prev,
  .btn-indicator-next {
    width: 5rem;
    height: 2rem;
  }
}

/*============================================================
  btn-select
============================================================*/
.btn-select {
  border-bottom: 1px solid #000;
}

.btn-select::before {
  content: "";
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  margin: auto 0;
  position: absolute;
  left: 0.7rem;
  top: 0;
  bottom: 0;
  transform: rotate(45deg);
}

.btn-select.active::before {
  transform: rotate(225deg);
}

.btn-select.cl-wht,
.btn-select.cl-wht::before {
  border-color: #fff;
}


/*============================================================
  layer
============================================================*/
.layer-blk-lv1::after,
.layer-blk-lv2::after,
.layer-blk-lv3::after,
.layer-blk-lv4::after,
.layer-blk-lv5::after,
.layer-blk-lv6::after,
.layer-blk-lv7::after,
.layer-blk-lv8::after,
.layer-blk-lv9::after,
.layer-wht-lv1::after,
.layer-wht-lv2::after,
.layer-wht-lv3::after,
.layer-wht-lv4::after,
.layer-wht-lv5::after,
.layer-wht-lv6::after,
.layer-wht-lv7::after,
.layer-wht-lv8::after,
.layer-wht-lv9::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.layer-blk-lv1::after { background-color: rgba(0,0,0,0.1); }
.layer-blk-lv2::after { background-color: rgba(0,0,0,0.2); }
.layer-blk-lv3::after { background-color: rgba(0,0,0,0.3); }
.layer-blk-lv4::after { background-color: rgba(0,0,0,0.4); }
.layer-blk-lv5::after { background-color: rgba(0,0,0,0.5); }
.layer-blk-lv6::after { background-color: rgba(0,0,0,0.6); }
.layer-blk-lv7::after { background-color: rgba(0,0,0,0.7); }
.layer-blk-lv8::after { background-color: rgba(0,0,0,0.8); }
.layer-blk-lv9::after { background-color: rgba(0,0,0,0.9); }

.layer-wht-lv1::after { background-color: rgba(255,255,255,0.1); }
.layer-wht-lv2::after { background-color: rgba(255,255,255,0.2); }
.layer-wht-lv3::after { background-color: rgba(255,255,255,0.3); }
.layer-wht-lv4::after { background-color: rgba(255,255,255,0.4); }
.layer-wht-lv5::after { background-color: rgba(255,255,255,0.5); }
.layer-wht-lv6::after { background-color: rgba(255,255,255,0.6); }
.layer-wht-lv7::after { background-color: rgba(255,255,255,0.7); }
.layer-wht-lv8::after { background-color: rgba(255,255,255,0.8); }
.layer-wht-lv9::after { background-color: rgba(255,255,255,0.9); }


/*  hover layer
--------------------*/
.hv-layer {
  position: relative;
}

.hv-layer::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.1);
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover), (-ms-high-contrast: active), (-ms-high-contrast: none) {
  a:hover .hv-layer::after,
  .hv-layer:hover::after {
    opacity: 1;
  }
}


/*============================================================
  box-image
============================================================*/
.box-image {
  width: 100%;
  position: relative;
}

.box-image.disp-inline {
  width: auto;
}

.box-image.size-contain,
.box-image.size-cover {
  height: 100%;
  height: calc(100% + 1px);
  overflow: hidden;
}

.box-image.size-contain img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.box-image.size-contain.top img {
  margin-top: 0;
  margin-bottom: 0;
  bottom: auto;
}

.box-image.size-contain.bottom img {
  margin-top: 0;
  margin-bottom: 0;
  top: auto;
}

.box-image.size-contain.left img {
  margin-left: 0;
  margin-right: 0;
  right: auto;
}

.box-image.size-contain.right img {
  margin-left: 0;
  margin-right: 0;
  left: auto;
}

.box-image.size-cover img {

  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}


/*============================================================
  box-video
============================================================*/
.box-video {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
}

.box-video > img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.box-video > video {
  display: block;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.box-video > iframe,
.box-video .api-youtube {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left:0;
  top:0;
}


/*============================================================
  dl-table
============================================================*/
.dl-table {
  font-size: 0;
  letter-spacing: 0;
}

.dl-table > dt,
.dl-table > dd {
  display: inline-block;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  vertical-align: top;
}

.dl-table.va-top > dt,
.dl-table.va-top > dd {
  vertical-align: top;
}

.dl-table.va-middle > dt,
.dl-table.va-middle > dd {
  vertical-align: middle;
}

.dl-table.va-bottom > dt,
.dl-table.va-bottom > dd {
  vertical-align: bottom;
}

.dl-table > dt {
  width: 30%;
  padding-right: 4em;
}

.dl-table > dd {
  width: 70%;
}

@media (max-width: 768px) and (orientation: portrait) {
  .dl-table > dt {
    width: 30%;
  }

  .dl-table > dd {
    width: 70%;
  }
}


/*============================================================
  list-2col
============================================================*/
.list-2col {
  font-size: 0;
  letter-spacing: 0;
}

.list-2col > li {
  display: inline-block;
  width: 50%;
  vertical-align: top;
}

@media (max-width: 768px) and (orientation: portrait) {
  .list-2col > li {
    width: 100%;
  }
}


/*============================================================
  list-3col
============================================================*/
.list-3col {
  font-size: 0;
  letter-spacing: 0;
}

.list-3col > li {
  display: inline-block;
  width: 33.333%;
  width: calc(100% / 3);
  vertical-align: top;
}

html.ie .list-3col > li {
  width: 33.333%;
}

@media (max-width: 768px) and (orientation: portrait) {
  .list-3col > li {
    width: 100%;
  }
}


/*============================================================
  list-4col
============================================================*/
.list-4col {
  font-size: 0;
  letter-spacing: 0;
}

.list-4col > li {
  display: inline-block;
  width: 25%;
  vertical-align: top;
}

@media (max-width: 768px) and (orientation: portrait) {
  .list-4col > li {
    width: 50%;
  }
}


/*============================================================
  list style
============================================================*/
/*  disc
-------------------------*/
.list-disc > li {
  line-height: 1.6;
  list-style-type: disc;
  list-style-position: inside;
  text-indent: -0.95em;
  padding-left: 1.05em;
}

.list-disc > li + li {
  margin-top: 1em;
}


/*  decimal
-------------------------*/
.list-decimal > li {
  line-height: 1.6;
  list-style-type: decimal;
  list-style-position: inside;
  text-indent: -1.2em;
  padding-left: 1.4em;
}

.list-decimal > li + li {
  margin-top: 1em;
}


/*  notes
-------------------------*/
.list-notes > li {
  line-height: 1.6;
  list-style-position: inside;
  text-indent: -0.8em;
  padding-left: 1em;
}

.list-notes > li::before {
  content:"※";
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-right: 0.2em;
}

.list-notes > li + li {
  margin-top: 0.5em;
}


/*  number
-------------------------*/
.list-number {
  counter-reset: item;
}

.list-number > li {
  line-height: 1.6;
  list-style-position: inside;
  text-indent: -1.4em;
  padding-left: 1.4em;
}

.list-number > li::before {
  content: counter(item);
  counter-increment: item;
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  color: #fff;
  font-size: 75%;
  font-weight: normal;
  letter-spacing: 0;
  line-height: 0.9em;
  text-indent: 0;
  text-align: center;
  vertical-align: 15%;
  border-radius: 50%;
  background-color: #000;
  padding: 0.15em;
  margin-right: 0.8em;
}

.list-number > li.txt.blk::before {
  color: #fff;
  background-color: #000;
}

.list-number > li.txt.wht::before {
  color: #000;
  background-color: #fff;
}

.list-number > li + li {
  margin-top: 1em;
}


/*============================================================
  list-select
============================================================*/
.list-select {
  display: none;
  margin: 0 auto;
  filter: drop-shadow(0 0 30px rgba(0,0,0,0.05));
  position: absolute;
  left: 0;
  right: 0;
  top: 6rem;
  z-index: 5;
}

.list-select::before {
  content: "";
  display: block;
  width: 0;
  height:0;
  border: 0.8rem solid transparent;
  border-top-width: 0;
  border-bottom-color: rgba(255,255,255,0.95);
  margin: 0 auto;
}

.list-select > li {
  background-color: rgba(255,255,255,0.95);
  padding: 0.4rem;
}

.list-select > li:first-of-type {
  padding-top: 1.6rem;
}

.list-select > li:last-of-type {
  padding-bottom: 1.6rem;
}

.list-select > li > a {
  display: block;
  padding: 0.4em 0;
}

.list-select.inline {
  font-size: 0;
  letter-spacing: 0;
}

.list-select.inline > li {
  display: inline-block;
  letter-spacing: 0.08em;
  vertical-align: top;
}

.list-select.inline > li > a {
  padding: 0.8rem 2rem;
}


/*============================================================
  list-slide
============================================================*/
.list-slide {}

.list-slide > li {}


/*============================================================
  text-link
============================================================*/
.text-link {
  text-decoration: underline !important;
}

.text-link:hover {
  text-decoration: none !important;
}

.text-link.cl-blk {
  text-decoration-color: rgba(0,0,0,0.5) !important;
}

.text-link.cl-wht {
  text-decoration-color: rgba(255,255,255,0.5) !important;
}


/*============================================================
  text-notes
============================================================*/
.text-notes {
  text-indent: -0.8em;
  padding-left: 1em;
  position: relative;
}

.text-notes::before {
  content:"※";
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-right: 0.2em;
}


/*============================================================
  text-indicator
============================================================*/
.text-indicator {
  display: inline-block;
  vertical-align: middle;
  margin: 0 2.4rem;
}

.text-indicator .text-current {
  margin-right: 0.4rem;
  vertical-align: top;
}

.text-indicator .text-total {
  margin-left: 0.4rem;
  vertical-align: baseline;
}

@media (max-width: 768px) and (orientation: portrait) {
  .text-indicator {
    margin: 0 1.6rem;
  }

  .text-indicator .text-current {
    margin-right: 0.2rem;
  }

  .text-indicator .text-total {
    margin-left: 0.2rem;
  }
}

/*============================================================
  block-section
============================================================*/
.block-section {}

@media (max-width: 768px) and (orientation: portrait) {
  .block-section {}
}


/*============================================================
  block-hero
============================================================*/
.block-hero {
  height: 92rem;
}

@media (max-width: 768px) and (orientation: portrait) {
  .block-hero {
    height: 48rem;
  }
}


/*============================================================
  block-image
============================================================*/
.block-image {
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  
  margin-bottom: 20px;
}

.block-image.bg-cover {
  background-size: cover;
}

.block-image.bg-contain {
  background-size: contain;
}


/*============================================================
  block-2col
============================================================*/
.block-2col {
  font-size: 0;
  letter-spacing: 0;
}

.block-2col > .block-col {
  display: inline-block;
  width: 50%;
  vertical-align: top;
}
  
@media (max-width: 768px) and (orientation: portrait) {
  .block-2col > .block-col {
    width: 100%;
  }
}


/*============================================================
  block-3col
============================================================*/
.block-3col {
  font-size: 0;
  letter-spacing: 0;
}

.block-3col > .block-col {
  display: inline-block;
  width: 33.333%;
  width: calc(100% / 3);
  vertical-align: top;
}

html.ie .block-3col > .block-col {
  width: 33.333%;
}

@media (max-width: 768px) and (orientation: portrait) {
  .block-3col > .block-col {
    width: 100%;
  }
}


/*============================================================
  display-table
============================================================*/
.disp-table {
  display: table;
}

.disp-table.tl-auto {
  table-layout: auto !important;
}

.disp-table.tl-fixed {
  table-layout: fixed !important;
}

.disp-table > dl {
  display: table-row;
}

.disp-table > dl > dt,
.disp-table > dl > dd {
  display: table-cell;
  padding-bottom: 4rem;
}

.disp-table > dl > dt {
  padding-right: 4rem;
}

.disp-table-cell {
  display: table-cell;
}

@media (orientation: landscape), (min-width: 769px) and (orientation: portrait) {
  .disp-table-ld {
    display: table;
  }

  .disp-table-ld > dl > dt,
  .disp-table-ld > dl > dd {
    display: table-cell;
    padding-bottom: 4rem;
  }

  .disp-table-ld > dl > dt {
    padding-right: 4rem;
  }

  .disp-table-cell-ld {
    display: table-cell;
  }
}

@media (max-width: 768px) and (orientation: portrait) {
  .disp-table-sd {
    display: table;
  }

  .disp-table-sd > dl > dt,
  .disp-table-sd > dl > dd {
    display: table-cell;
    padding-bottom: 4rem;
  }

  .disp-table-sd > dl > dt {
    padding-right: 4rem;
  }

  .disp-table-cell-sd {
    display: table-cell;
  }
}


/*============================================================
  bnr-tag
============================================================*/
#bnr-tag {
  position: fixed;
  right: 0;
  bottom: 4%;
  z-index: 8;
  transform-origin: right bottom;
  filter: drop-shadow(0 0 30px rgba(0,0,0,0.05));
}

#bnr-tag .block-bnr {
  border-top-left-radius: 1px;
  border-bottom-left-radius: 1px;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

@media (max-width: 768px) and (orientation: portrait) {
  #bnr-tag {
    transform: scale(0.5);
    right: 0;
    bottom: 1rem;
  }
}


/*  block-bnr-experience
--------------------------------------------------*/
#bnr-tag .block-bnr-experience {
  width: 16rem;
  height: 16rem;
  background-color: #fff;
}

#bnr-tag .block-bnr-experience .block-image {
  width: 100%;
  height: 12rem;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

#bnr-tag .block-bnr-experience .block-text {
  display: table;
  width: 100%;
  height: 16rem;
}

#bnr-tag .block-bnr-experience .text-title {
  display: table-cell;
  width: 100%;
  height: 16rem;
  text-align: center;
  vertical-align: middle;
  padding-bottom: 4rem;
}

#bnr-tag .block-bnr-experience .text-body {
  width: 100%;
  background-color: #fff;
  padding: 1.2rem 0 1.4rem;
  position: absolute;
  left: 0;
  bottom: 0;
}


/*  block-bnr-chat
--------------------------------------------------*/
#bnr-tag .block-bnr-chat {
  display: table;
  width: 16rem;
  height: 16rem;
  background-color: #222;
}

#bnr-tag .block-bnr-chat .block-bnr-body {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  padding-bottom: 1.6rem;
}

#bnr-tag .block-bnr-chat .text-title .icon {
  width: 1.5rem;
  height: 1.5rem;
  fill: #fff;
  transform: translateY(0.8rem);
}


/*============================================================
  img load
============================================================*/
img[data-load] {
  background: url(../images/ico_loader.svg) center center no-repeat;
  background-size: 3rem auto;
}


/*============================================================
  loader
============================================================*/
.loader::before,
.loader::after {
  content: "";
  display: block;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}

.loader::before {
  border: 0.5rem solid rgba(255,255,255,0.2);
}

.loader::after {
  border-top: 0.4rem solid transparent;
  border-right: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
  border-left: 0.4rem solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: loading 1s infinite linear;
  animation: loading 1s infinite linear;
}

@-webkit-keyframes loading {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes loading {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*============================================================
  header
============================================================*/
#header {
  width: 98%;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  background-color: #fff;
}
#header .block-nav {
  width: 88%;
}
@media (max-width: 890px) {
  #header {
    height: 6rem;
    padding: 0 2rem;
    box-shadow: 0 1px rgba(0,0,0,0.1);
  }

  #header .block-nav {
    display: none;
    width: 100%;
    background-color: rgba(255,255,255,0.98);
    padding: 0 2rem;
    position: fixed;
    left: 0;
    top: 6rem;
    z-index: -1;
    overflow-y: scroll;
  }
}


/*  logo
--------------------------------------------------*/
#header .logo-eikokuya {
  width: 10%;
  max-width: 150px;
}

@media (max-width: 890px) {
  #header .logo-eikokuya {
    width: 9rem;
  }
}


/*  nav content
--------------------------------------------------*/
#header .list-nav-content {
  display: flex;
  width: 82%;
  align-items: center;
  justify-content: space-between;
}
#header .block-nav .nav-header form{
  width: 18%;
  text-align: right;
}
#header .block-nav .nav-header form input:first-child{
  width: 75%;
}

#header .list-nav-content > li {
  position: relative;
}

#header .nav-header{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#header .list-nav-content > li > a {
  display: block;
  padding: 1rem 0;
}

#header .list-nav-content .fs13 {
  font-size: 1.3rem;
}

@media (max-width: 890px) {
  #header .nav-header{
    display: block;
    padding-left: 0;
  }
  #header .list-nav-content {
    display: block;
    float: none;
    margin-left: 0;
    margin-top: 1rem;
  }

  #header .list-nav-content > li {
    display: block;
    height: auto;
    float: none;
    border-bottom: 1px solid #eee;
  }

  #header .list-nav-content > li.item-pulldown::after {
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.6rem;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    position: absolute;
    right: 0.3rem;
    top: 1.68rem;
    transform: rotate(45deg);
  }

  #header .list-nav-content > li.item-pulldown.active::after {
    transform: rotate(225deg);
  }

  #header .list-nav-content > li + li {
    margin-left: 0;
  }

  #header .list-nav-content > li > a {
    display: inline-block;
    height: auto;
    padding: 1.6rem 0;
  }
}


/*  nav content child
-------------------------*/
#header .list-nav-content-child {
  display: block;
  width: 24rem;
  height: 0;
  text-align: left;
  background-color: rgba(255,255,255,0.98);
  padding: 2rem;
  position: absolute;
  left: -2rem;
  top: 3rem;
  visibility: hidden;
}

#header .list-nav-content-child > li + li {
  margin-top: 1.2rem;
}

@media (orientation: landscape), (min-width: 769px) and (orientation: portrait) {
  #header .list-nav-content > li:hover .list-nav-content-child {
    height: auto;
    visibility: visible;
  }
}

@media (max-width: 890px) {
  #header .list-nav-content-child {
    display: none;
    width: 100%;
    height: auto;
    background: transparent;
    padding: 1.6rem 1rem 0.6rem;
    position: static;
    visibility: visible;
    overflow: hidden;
  }

  #header .list-nav-content-child > li + li {
    margin-top: 0;
  }

  #header .list-nav-content-child > li > a {
    display: block;
    padding: 1rem 0;
  }
}


/*  nav sns
--------------------------------------------------*/
#header .list-nav-sns {
  display: inline-table;
  height: 8rem;
  float: right;
}

#header .list-nav-sns > li {
  display: table-cell;
  height: 8rem;
  vertical-align: middle;
}

#header .list-nav-sns > li + li {
  padding-left: 2rem;
}

#header .list-nav-sns .icon {
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
  fill: #000;
}


/*  block experience
--------------------------------------------------*/
#header .block-experience {
  display: inline-table;
  height: 8rem;
  margin-right: 2rem;
  float: right;
}

#header .block-experience a {
  display: block;
  width: 90%;
  max-width: 240px;
  transition: .2s;
}
#header .block-experience a img {
  width: 100%;
}

@media (hover: hover), (-ms-high-contrast: active), (-ms-high-contrast: none) {
  #header .block-experience a:hover {
    opacity: 0.6;
    transition: .2s;
  }
}

@media (max-width: 890px) {
  #header .block-experience {
    display: none;
  }
}

.top_orderbtn{
  display: block;
  width: 100%;
  max-width: 220px;
  transition: .2s;
}
.top_orderbtn:hover{
  opacity: 0.6;
  transition: .2s;
}
.top_orderbtn img{
  width: 100%;
}
@media (max-width: 890px) {
  .top_orderbtn{
    display: none!important;
  }
}
/*  btn nav
--------------------------------------------------*/
#header .btn-nav {
  display: none;
  width: 5.6rem;
  height: 6rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

#header .btn-nav::before,
#header .btn-nav::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.5px;
  background-color: #000;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

#header .btn-nav::before {
  transform: translateY(-2.5px);
}

#header .btn-nav::after {
  transform: translateY(2.5px);
}

#header .btn-nav.active::before {
  transform: rotate(45deg);
}

#header .btn-nav.active::after {
  transform: rotate(-45deg);
}

@media (max-width: 890px) {
  #header .btn-nav {
    display: block;
  }
}


/*============================================================
  footer
============================================================*/
#footer {
  padding: 6rem 6rem 2rem;
}

#footer .symbol-eikokuya {
  width: 8.8rem;
  margin-bottom: 6rem;
  margin-left: 0.2rem;
}

#footer hr {
  border-top: 1px solid #666;
  margin: 1.6rem 0;
}

@media (max-width: 768px) and (orientation: portrait) {
  #footer {
    padding: 4rem 3rem 2rem;
  }

  #footer .symbol-eikokuya {
    width: 6.4rem;
    margin-bottom: 4rem;
    margin-left: 0;
  }

  #footer hr {
    margin: 0 0 1.6rem;
  }
}


/*  nav content
-------------------------*/
#footer .list-nav-content {
  margin: 0 0.2rem;
  padding-bottom: 2.4rem;
  overflow: hidden;
}

#footer .list-nav-content > li {
  display: inline-block;
  width: calc(100% / 6);
  float: left;
}

@media (orientation: landscape), (min-width: 769px) and (orientation: portrait) {
  #footer .list-nav-content > li:nth-last-of-type(1),
  #footer .list-nav-content > li:nth-last-of-type(2) {
    float: right;
  }

  #footer .list-nav-content > li:nth-last-of-type(1) {
    margin-top: 2rem;
  }
}

@media (max-width: 768px) and (orientation: portrait) {
  #footer .list-nav-content {
    margin: 0;
    padding-bottom: 0;
  }

  #footer .list-nav-content > li {
    display: inline-block;
    width: 50%;
    margin-bottom: 4rem;
  }

  #footer .list-nav-content > li:nth-of-type(n+3) {
    float: right;
  }
}


/*  nav content child
-------------------------*/
#footer .list-nav-content-child {
  margin-top: 1.6rem;
}

#footer .list-nav-content-child > li {}

#footer .list-nav-content-child > li + li {
  margin-top: 1.2rem;
}

@media (max-width: 768px) and (orientation: portrait) {
  #footer .list-nav-content-child {
    margin-top: 1.6rem;
  }

  #footer .list-nav-content-child > li + li {
    margin-top: 1.6rem;
  }
}


/*  nav guide
-------------------------*/
#footer .list-nav-guide {
  margin-top: 0.4rem;
  float: right;
}

#footer .list-nav-guide > li {
  float: left;
}

#footer .list-nav-guide > li + li {
  margin-left: 1.6rem;
}

@media (max-width: 768px) and (orientation: portrait) {
  #footer .list-nav-guide {
    margin-top: 0;
    float: none;
    overflow: hidden;
  }

  #footer .list-nav-guide > li {
    width: 50%;
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
  }

  #footer .list-nav-guide > li + li {
    margin-left: 0;
  }
}


/*  nav sns
-------------------------*/
#footer .list-nav-sns {
  float: left;
}

#footer .list-nav-sns > li {
  float: left;
}

#footer .list-nav-sns > li + li {
  margin-left: 2rem;
}

#footer .list-nav-sns .icon {
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
  fill: #000;
}

@media (max-width: 768px) and (orientation: portrait) {
  #footer .list-nav-sns {
    text-align: center;
    margin-top: 4rem;
    float: none;
    clear: both;
  }

  #footer .list-nav-sns > li {
    display: inline-block;
    float: none;
  }

  #footer .list-nav-sns > li + li {
    margin-left: 2rem;
  }
}


/*  copyright
-------------------------*/
#footer .text-copyright {
  display: block;
  text-align: center;
  padding: 3.2rem 0;
  clear: both;
}

@media (max-width: 768px) and (orientation: portrait) {
  #footer .text-copyright {
    padding: 2rem 0;
  }
}




/*  2021年4月1日
-------------------------*/
header > div > div.post-meta-wrapper.post-meta-single.post-meta-single-top > ul > li.post-date.meta-wrapper > span.meta-text > a,
.post-inner .entry-content p,p,
.relpost-block-container,
#sidebar{
  line-height: 1.8 !important;
  font-size: 1.5rem;
  color: #000;
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif !important;
  margin-top: 1.0rem;
}

.nav-links{
  line-height: 1.8 !important;
  font-size: 1.3rem;
  color: #000;
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif !important;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem;
}

.post-inner .entry-content h2,h2,.archive-title{
  font-size: 2.1rem;
  color: #000;
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif !important;
  text-align: left;
  margin-top: 2.5rem;
  margin-bottom:15px;
}
.post-inner .entry-content h3,h3{
  font-size: 1.8rem;
  color: #000;
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif !important;
  text-align: left;
  margin-top: 2.5rem;
  margin-bottom:15px;
}

  .post-inner .entry-content img{
    margin-top:15px;
    margin-bottom:15px;
    max-width: 450px;
  }

  .featured-media-inner{
    /* margin:15px auto; */
    text-align: center;
  }
  .featured-media-inner img{
    margin-top:15px;
    margin-bottom:15px;
    max-width: 100%;
    width:100;
    height: auto;
  }

  #main > div.pagination-wrapper.section-inner > nav > div > span.page-numbers.current,
  #main > div.pagination-wrapper.section-inner > nav > div > a{
    border:1px solid #888;
    padding:3px 5px;
    margin:3px;
    color:blue;
  }
  #main > div.pagination-wrapper.section-inner > nav > div > span.page-numbers.current{
    background:#ddd;
  }
  #main > div.pagination-wrapper.section-inner > nav > div > a.next.page-numbers,
  #main > div.pagination-wrapper.section-inner > nav > div > a.prev.page-numbers{
    border:none;
  }


  /* .meta-icon{
    display: none;;
  } */

.screen-reader-text{display: none;}
  .navigation, .pagination{
    text-align: center;
  }

  .post-inner p{padding:10px;line-height: 2;}
  .post-inner h2{padding:5px;line-height: 2;}
  .post-inner h3{padding:5px;line-height: 2;}

  figure > div > img{
    max-height:700px;
    width:auto;
  }

  .footer-nav-widgets-wrapper{display: none;}
  
  #sidebar{padding:15px;}
  @media (min-width: 768px){
    main #site-content{width:70%;float: left;}
    #sidebar, .footer-nav-widgets-wrapper{width:29%;float: left;padding:15px;padding-top: 16rem;}
  }
  .relpost-block-container{display: -webkit-flex;display: flex;}
  .relpost-block-container a{padding:5px;}
.relpost-block-container{padding: 5px;}

#rpwwt-recent-posts-widget-with-thumbnails-2 > ul > li{padding:3px;}

.archive-title{display: none;}

.nokg{ white-space: nowrap;}

main .footer-seo-text{
  margin-top: 80px;
  padding: 20px 5%;
  background-color: #E6E4E0;
  color: #666;
  font-size: 1.2rem;
}

/*検索窓*/
.list-nav-content .fs13{
  font-size: 1.3rem!important;
}
.menu-red{
  color: #9c4031!important;
  font-weight: bold;
}
.search-box_left{
  border: 1px solid #ccc!important;
  padding: 0.5rem;
  font-size: 1.3rem;
}

.search-box_right{
  padding: 0.4rem;
  background-color: #ccc!important;
  color: #fff;
  margin-left: -4px;
  font-size: 1.3rem;
}
@media screen and (max-width: 890px) {
  #header .list-nav-content{
    width: 100%;
  }
  .list-nav-content .fs13{
    font-size: 14px!important;
  }
  .search-box {
    position: unset;
    transform: unset;
    -webkit-transform: unset;
    -ms-transform: unset;
    margin: 2rem 0 4rem 0;
    display: flex;
  }
  .search-box_left{
    font-size: 14px;
    display: block;
    width: 100%;
  }
  .search-box_right{
    font-size: 14px;
    display: block;
  }
}
@media screen and (max-width: 890px) {
  #header .block-nav .nav-header form{
    width: 100%;
  }
  #header .block-nav .nav-header form input:first-child{
    width: 100%;
  }
  #header .block-nav .nav-header form{
    width: 100%;
  }
}
.bnr_ToCustomsuit{
  padding-right: unset!important;
}
.bnr_ToCustomsuit::before{
  display: none!important;
}

.text-cation{
	color: #d61c1c ;
	font-weight: 700;
	font-size: 15px;
}