@charset "UTF-8";


@media (orientation: landscape) {
  ._v { display: none !important; }
}
@media (orientation: portrait) {
  ._h { display: none !important; }
}

/* ==========================================================================
   Sections
========================================================================== */
.section {
  margin-top: 6em;
  margin-bottom: 6em;
}
.section-padding {
  padding-top: 3em;
  padding-bottom: 3em;
}
.content {
  margin-top: 3.5em;
  margin-bottom: 3.5em;
}
.section-padding .content {
  margin-top: 3em;
  margin-bottom: 3em;
}
@media (min-width: 992px) {
  .section {
    margin-top: 8em;
    margin-bottom: 8em;
  }
  .section-padding {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .content {
    margin-top: 5em;
    margin-bottom: 5em;
  }
  .section-padding .content {
    margin-top: 4em;
    margin-bottom: 4em;
  }
}


.container,
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
  max-width: 83%;
  padding-right: .35em;
  padding-left: .35em;
}
.container.container_L {
  max-width: 93%;
}
.container.container_XS {
  width: 53.7em;
}
.row {
  margin-right: -.35em;
  margin-left: -.35em;
}
.col, [class*="col-"] {
  padding-right: .35em;
  padding-left: .35em;
}
@media (max-width: 575px) {
  .container.container_sp_L {
    max-width: 93%;
  }
}
@media (min-width: 575px) {
  .container,
  .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: calc(90% + 1em);
    padding-right: .5em;
    padding-left: .5em;
  }
  .row {
    margin-right: -.5em;
    margin-left: -.5em;
  }
  .col, [class*="col-"] {
    padding-right: .5em;
    padding-left: .5em;
  }
}
@media (min-width: 1200px) {
  .container,
  .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: calc(1100px + 2em);
    padding-right: 1em;
    padding-left: 1em;
  }
  .container.container_S {
    max-width: calc(1000px + 2em);
  }
  .container.container_L {
    max-width: calc(1200px + 2em);
  }
  .row {
    margin-right: -1em;
    margin-left: -1em;
  }
  .col, [class*="col-"] {
    padding-right: 1em;
    padding-left: 1em;
  }
}

@media (min-width: 1440px) {
  .container {
    max-width: calc(1200px + 2em);
  }
  .container.container_S {
    max-width: calc(1100px + 2em);
  }
  .container.container_L {
    max-width: calc(1300px + 2em);
  }
}



.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

/* ==========================================================================
   Links
========================================================================== */
a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease-in-out, background .2s ease-in-out, transform .2s ease-in-out, opacity .2s;
}

/* ==========================================================================
   Image
========================================================================== */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.cover {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}



figure.landscape,
figure.hd,
figure.portrait,
figure.square {
  display: block;
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}
figure.landscape > img,
figure.hd > img,
figure.portrait > img,
figure.square > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

figure.landscape {
  padding-top: 75% !important;
}
figure.hd {
  padding-top: 56.25% !important;
}
figure.portrait {
  padding-top: 137.142% !important;
}

@media(max-width:767px){
  figure.sm_square {
    display: block;
    width: 100%;
    padding-top: 100% !important;
    position: relative;
    overflow: hidden;
  }
  figure.sm_square img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media(max-width:575px){
  figure.xs_square {
    display: block;
    width: 100%;
    padding-top: 100% !important;
    position: relative;
    overflow: hidden;
  }
  figure.xs_square img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}


/* ==========================================================================
   Typography
========================================================================== */
@font-face {
  font-family: "Bon Vivant Serif";
  font-weight: 400;
  src: url("../fonts/BonVivantSerif.woff") format("woff");
}


h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: var(--mincho);
  font-weight: 400;
  line-height: 1.75;
  position: relative; }
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {
  text-decoration: none; }

h1, .h1 {
  font-size: 2.75em; }

h2, .h2 {
  font-size: 1.769em; }

h3, .h3 {
  font-size: 1.615em; }

h4, .h4 {
  font-size: 1.462em; }

h5, .h5 {
  font-size: 1.385em; }

h6, .h6 {
  font-size: 1.231em; }


@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2.154em; }
  h3, .h3 {
    font-size: 2em; }
  h4, .h4 {
    font-size: 1.846em; }
  h5, .h5 {
    font-size: 1.538em; }
}



p {
  margin-bottom: 1.5em;
}
p:last-child {
  margin-bottom: 0;
}

.ttl + p {
  margin-top: 1.5em;
}
.ttl + p a {
  text-decoration: underline;
}
@media (min-width: 1200px) {
  .read {
    font-size: 1.077em;
  }
}


.gothic {
  font-family: var(--gothic);
  font-weight: 400;
}
.mincho {
  font-family: var(--mincho);
  font-weight: 400;
}
.font1 {
  font-family: var(--font1);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.font2 {
  font-family: var(--font2);
  font-weight: 400;
}

.fw-400,
.text-normal { font-weight: 400 !important; }
.fw-500,
.text-medium { font-weight: 500 !important; }
.fw-600,
.text-semibold { font-weight: 600 !important; }
.fw-700,
.text-bold { font-weight: 700 !important; }
.text-italic { font-style: italic; }
.text-justify { text-align: justify; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }

@media (min-width: 576px) {
  .text-sm-left { text-align: left !important; }
  .text-sm-right { text-align: right !important; }
  .text-sm-center { text-align: center !important; }
}
@media (min-width: 768px) {
  .text-md-left { text-align: left !important; }
  .text-md-right { text-align: right !important; }
  .text-md-center { text-align: center !important; }
}
@media (min-width: 992px) {
  .text-lg-left { text-align: left !important; }
  .text-lg-right { text-align: right !important; }
  .text-lg-center { text-align: center !important; }
}
@media (min-width: 1200px) {
  .text-xl-left { text-align: left !important; }
  .text-xl-right { text-align: right !important; }
  .text-xl-center { text-align: center !important; }
}



.display-txt {
  font-family: var(--font2);
  font-size: 4.615em;
  line-height: 1.06;
  white-space: nowrap;
}
.display-txt span {
  display: block;
}
.display-txt span.font1 {
  line-height: 0.8;
}
@media (min-width: 576px) {
  .display-txt {
    font-size: 6em;
  }
}
@media (min-width: 768px) {
  .display-txt {
    font-size: 6.5em;
  }
}
@media (min-width: 1200px) {
  .display-txt {
    font-size: 7.7em;
  }
}

/* ==========================================================================
   Button
========================================================================== */
.btn {
  display: inline-block;
  text-align: center;
  font-size: 1.077em;
  font-family: inherit;
  letter-spacing: .05em;
  line-height: 2;
  font-weight: 400;
  padding: 1em;
  width: 100%;
  background: var(--black);
  border: 1px solid var(--black);
  color: var(--white);
  text-decoration: none;
  outline: none;
  cursor: pointer;
  position: relative;
  transition: color .2s, background .2s, border .2s;
}
.btn:hover {
  background: transparent;
  color: var(--black);
}
.btn.bg1 {
  background: var(--color1);
  border: 1px solid var(--color1);
}
.btn.bg1:hover {
  background: transparent;
  color: var(--color1);
}

@media (min-width: 576px) {
  .btn {
    width: 22em;
  }
  .row .btn {
    width: 100%;
  }
}

.btn.btn_XL {
  width: 100%;
  border-radius: 4em;
  font-size: 1.231em;
}
@media (min-width: 992px) {
  .btn.btn_XL {
    font-size: 1.385em;
  }
}



.btn2 {
  display: inline-block;
  text-align: left;
  font-size: 1.154em;
  font-family: var(--font1);
  letter-spacing: .08em;
  line-height: 1.5;
  font-weight: 400;
  padding: 0 0 .75em;
  margin: .5em 1em 1em 0;
  width: 16em;
  max-width: 100%;
  background: transparent;
  border: 0;
  border-right: 0.5px solid currentColor;
  border-bottom: 0.5px solid currentColor;
  color: var(--black);
  text-decoration: none;
  outline: none;
  cursor: pointer;
  position: relative;
  transition: color .2s, background .2s, border .2s;
}
.btn2::before {
  content: '';
  display: block;
  width: 1em;
  height: 1em;
  border-top: 0.5px solid currentColor;
  border-left: 0.5px solid currentColor;
  position: absolute;
  right: -1em;
  bottom: -1em;
}
.btn2::after {
  content: '';
  display: block;
  width: .5em;
  height: .5em;
  border-radius: 100%;
  background: currentColor;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(50%,50%);
  transition: .2s;
}
.btn2:hover::after {
  animation:
    circlemove 1s ease-in-out forwards,
    cirlemovehide 1s ease-out forwards;
}
@keyframes circlemove{
  0%{bottom:0;}
  30%{bottom:-1em;}
  35%{bottom:2.5em;}
  40%{bottom:2.5em;}
  100%{bottom:0;}
}
@keyframes cirlemovehide{
  0%{opacity:1}
  30%{opacity:0;}
  60%{opacity:0;}
  80%{opacity:1;}
}


/* ==========================================================================
   Page header
========================================================================== */
.section__header {
  margin-bottom: 1.5em;
}
.section__header .en_ttl {
  font-family: var(--font1);
  font-weight: 400;
  letter-spacing: .08em;
}
@media (min-width: 576px) {
  .section__header {
    margin-bottom: 2em;
  }
}


.page__header {
  padding: 8em 0 4em;
  width: 100%;
  height: 18em;
  display: flex;
  align-items: flex-end;
  background-color: var(--l-gray);
  color: var(--white);
  position: relative;
}
.page__header.page__header--nocover {
  justify-content: center;
  text-align: center;
  color: inherit;
}
.page__header .bg {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  filter: grayscale(100%);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.page__header .bg::before {
  content: '';
  display: block;
  background-color: rgba(0,0,0,0.5);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.page__header .en_ttl {
  display: block;
  font-family: var(--font1);
  font-size: 1.833em;
  font-weight: 400;
  letter-spacing: .16em;
  position: relative;
  z-index: 2;
}
.page__header .ttl {
  font-family: inherit;
  margin-top: 0;
  font-size: .923em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
  position: relative;
  z-index: 2;
}

@media (min-width: 576px) {
  
}
@media (min-width: 768px) {
  .page__header {
    height: 20.5em;
    padding: 10em 0 5em;
  }
  .page__header .en_ttl {
    font-size: 2.308em;
  }
  .page__header .ttl {
    font-size: 1.077em;
  }
}
@media (min-width: 1200px) {
  .page__header {
    height: 22.75em;
  }
}


.page.about .page__header .bg {
  background-position: 40% 30%;
}
.page.locationphoto .page__header .bg {
  background-position: 70% 55%;
}
.page.photographer_hairmake .page__header .bg {
  background-position: 2% 2%;
}
.post-type-archive-studio .page__header .bg {
  background-position: 85% 70%;
}
.post-type-archive-costume .page__header .bg {
  background-position: 50% 2%;
}

/* ==========================================================================
   Responsive iframe
========================================================================== */
.iframeBox {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.iframeBox iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* ==========================================================================
   List
========================================================================== */
ul.row,
ol.row,
.lists {
  list-style-type: none;
}
.lists .list {
  line-height: 1.5;
  letter-spacing: .08em;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.lists .list a {
  display: block;
  position: relative;
  padding: 20px 0;
}
.lists .list a .entry__meta {
    display: block;
    font-size: 1em;
    letter-spacing: .1em;
    margin-right: 30px;
}
.lists .list a .ttl {
    line-height: 1.5;
    font-size: 1.3em;
}
@media (min-width: 992px) {
  .lists .list a {
      display: flex;
      align-items: center;
  }
}


/* ==========================================================================
   Accordion
========================================================================== */
.acc_list .acc {
  border-bottom: 1px solid var(--border1);
}
.acc_list .acc.on {
  padding-bottom: 1.5em;
}
.acc_list .acc_btn {
  display: block;
  white-space: nowrap;
  padding: .5em 2rem;
  position: relative;
  cursor: pointer;
}
.acc_list .acc_btn::before {
  content: '';
  display: block;
  width: .6em;
  height: .6em;
  border-top: 1.5px solid var(--color2);
  border-right: 1.5px solid var(--color2);
  position: absolute;
  top: 50%;
  right: 1em;
  transition: .2s;
  transform: translateY(-72.5%) rotate(135deg);
}
.acc_list .acc.on .acc_btn:before {
  transform: translateY(-25%) rotate(-45deg);
}

.acc_list .acc_btn .faq__q {
  font-family: var(--mincho);
  font-size: 1.154em;
  line-height: 1.5;
  letter-spacing: .08em;
  white-space: normal;
  padding: .5em 0 .5em 1em;
  position: relative;
}
.acc_list .acc_btn .faq__q .label {
  width: 2.25em;
  height: 2.25em;
  border-radius: 100%;
  background: var(--color2);
  color: var(--white);
  display: block;
  text-align: center;
  font-size: 1.125em;
  line-height: 2.25;
  position: absolute;
  top: 0;
  left: -2rem;
}

.acc_list .acc_body .faq__a {
  background: var(--color4);
  padding: 1.75em 2.5%;
  position: relative;
}
.acc_list .acc_body .faq__a .label {
  font-family: var(--font1);
  color: var(--color2);
  display: block;
  font-size: 1.538rem;
  line-height: 1.25;
  position: absolute;
  top: 1.1rem;
  left: .1em;
}
.acc_list .acc_body .faq__a a {
  color: var(--color1);
  text-decoration: underline;
}
@media (min-width: 576px){
  .acc_list .acc_btn {
    padding: 1em 2rem;
  }
  .acc_list .acc_btn .faq__q {
    font-size: 1.231em;
    padding: .5em 0 .5em 1.5em;
  }
}


/* ==========================================================================
   Filter
========================================================================== */
ul.filters,
ul.tabs {
  list-style-type: none;
  margin: -1.75em -1px 0;
}
ul.filters li,
ul.tabs li {
  padding: 1px;
}
form ul.filters li input[type="radio"] {
  display: none;
}
ul.filters li a,
form ul.filters li input[type="radio"] + label,
ul.tabs li span {
  display: block;
  font-size: 1em;
  line-height: 1.5;
  text-align: center;
  padding: 1em .5em;
  border-radius: 0;
  border: 0;
  background: var(--gray);
  color: var(--white);
  cursor: pointer;
  transition: background .2s;
}
ul.filters.font1 li a,
form ul.filters.font1 li input[type="radio"] + label,
ul.tabs.font1 li span {
  font-size: 1.154em;
  letter-spacing: .08em;
  padding: .6em .5em;
}
ul.filters li a:hover,
ul.filters li.current a,
form ul.filters li input[type="radio"]:checked + label,
ul.tabs li span:hover,
ul.tabs li.current span {
  background: var(--black);
}

.tab-cont:not(:first-of-type) {
  display: none;
}

@media (min-width: 768px) {
  ul.filters,
  ul.tabs {
    margin: -2.25em -0.5px 0;
  }
  ul.filters li,
  ul.tabs li {
    padding: 0.5px;
  }
  ul.filters li span,
  form ul.filters li input[type="radio"] + label,
  ul.tabs li span {
    font-size: 1em;
    padding: 1em .5em;
  }
  ul.filters.font1 li span,
  form ul.filters.font1 li input[type="radio"] + label,
  ul.tabs.font1 li span {
    font-size: 1.231em;
    padding: .75em .5em;
  }
}

/* ==========================================================================
   Filter
========================================================================== */
ul.sorts {
  list-style-type: none;
  justify-content: center;
  align-items: center;
  gap: 1.5em;
  margin: 2em 0 0;
}
ul.sorts::before {
  /*content: '';*/
  display: block;
  width: 1.25em;
  height: 1.25em;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%3E%3Cpath%20d%3D%22M20%204V16H23L19%2021L15%2016H18V4H20ZM12%2018V20H3V18H12ZM14%2011V13H3V11H14ZM14%204V6H3V4H14Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
  background-size: contain;
}
ul.sorts li {
  padding: 0;
  position: relative;
}
form ul.sorts li input[type="radio"] {
  display: none;
}
form ul.sorts li input[type="radio"] + label {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  padding: .5em 0;
  border-radius: 0;
  border: 0;
  background: none;
  color: var(--gray);
  cursor: pointer;
  transition: color .2s;
}
form ul.sorts li:hover input[type="radio"] + label {
  color: var(--d-gray);
}
form ul.sorts li input[type="radio"]:checked + label {
  color: inherit;
}

@media (min-width: 768px) {
  ul.sorts li {
    padding: 0.5px;
  }
  ul.sorts li input[type="radio"] + label {
    font-size: 1em;
    padding: 1em .5em;
  }
}

/* ==========================================================================
   Grid items
========================================================================== */
.grid-item {
  text-align: center;
  line-height: 1.5;
}
.col.grid-item,
[class*="col-"].grid-item,
.col > .grid-item,
[class*="col-"] > .grid-item {
  padding-bottom: .7em;
}
.grid-item a {
  display: block;
  position: relative;
  overflow: hidden;
}
.grid-item figure {
  background-color: var(--l-gray);
  display: block;
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}
.bg-l-gray .grid-item figure {
  background-color: var(--white);
}
.grid-item img {
  display: block;
  width: 100%;
}
.grid-item figure > img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.grid-item a figure > img {
  transition: transform .3s;
}
.grid-item a:hover figure > img {
  transform: scale(1.1);
}

.grid-item a[data-fancybox] {
  
}
.grid-item a[data-fancybox] figure::before,
.grid-item a[data-fancybox] figure::after {
  content: '';
  display: block;
  width: 15%;
  padding-top: 15%;
  background-color: var(--black);
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  transition: .3s;
}
.grid-item a[data-fancybox] figure::after {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20width%3D%2215%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22m.5%2015h-1v-15h1z%22%20transform%3D%22translate(7.5)%22%2F%3E%3Cpath%20d%3D%22m.5%2015h-1v-15h1z%22%20transform%3D%22matrix(0%201%20-1%200%2015%207.5)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  background-size: 45%;
}

.grid-item a figure svg {
  width: 12em;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  opacity: .25;
}

.grid-item .txtBox {
  padding-top: 1em;
}
.grid-item .txtBox > * {
  margin-bottom: .75em;
}
.grid-item .ttl {
  font-family: inherit;
  font-size: .846em;
  margin-bottom: 1em;
}
.grid-item .ttl span {
  display: inline-block;
}


@media (min-width: 576px) {
  .col.grid-item,
  [class*="col-"].grid-item,
  .col > .grid-item,
  [class*="col-"] > .grid-item {
    padding-bottom: 1em;
  }
  .grid-item .ttl {
    font-size: 1em;
  }
}
@media (min-width: 1200px) {
  .col.grid-item,
  [class*="col-"].grid-item,
  .col > .grid-item,
  [class*="col-"] > .grid-item {
    padding-bottom: 2em;
  }
}

.row.no-gutters .grid-item {
  padding-bottom: 0 !important;
}



.grid.row.p_L .col.grid-item,
.grid.row.p_L [class*="col-"].grid-item,
.grid.row.p_L .col > .grid-item,
.grid.row.p_L [class*="col-"] > .grid-item {
  padding-bottom: 1.5em;
}
@media (min-width: 992px) {
  .grid.row.p_L {
    margin-right: -1em;
    margin-left: -1em;
  }
  .grid.row.p_L .col.grid-item,
  .grid.row.p_L [class*="col-"].grid-item,
  .grid.row.p_L .col > .grid-item,
  .grid.row.p_L [class*="col-"] > .grid-item {
    padding: 0 1em 2.5em;
  }
}
@media (min-width: 1200px) {
  .grid.row.p_L {
    margin-right: -1.5em;
    margin-left: -1.5em;
  }
  .grid.row.p_L .col.grid-item,
  .grid.row.p_L [class*="col-"].grid-item,
  .grid.row.p_L .col > .grid-item,
  .grid.row.p_L [class*="col-"] > .grid-item {
    padding: 0 1.5em 3.5em;
  }
}

/* ==========================================================================
   card
========================================================================== */
.card .txtBox {
  text-align: left;
}
.card time {
  font-family: var(--font1);
  font-size: 1.077em;
}
.card .card-meta {
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card .card-meta .cats span {
  background: var(--color2);
  border-color: var(--color2);
  color: var(--white);
  margin: 0 .3em .5em;
}
.card .card-meta time + .cats span {
  margin: 0 0 0 .5em;
}
.card .card-meta:has(.ttl) {
  align-items: flex-start;
}
.card .card-meta .ttl {
  font-size: 1em;
  font-family: var(--mincho);
}
.card h5.h6 {
  font-size: 1.154em;
}

.card .more {
  text-align: right;
  margin-top: 0;
}
.card .more span {
  display: inline-block;
  text-align: left;
  width: 14em;
  max-width: 45%;
  padding-bottom: .5em;
  margin: 0 .25em .25em 0;
  border-bottom: 0.5px solid currentColor;
  cursor: pointer;
  position: relative;
}
.card .more span::after {
  content: '';
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-radius: 100%;
  background: currentColor;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(50%,50%);
  transition: .2s;
}


.card .dateBox {
  display: flex;
  gap: 1.25em;
  margin-top: 1.25em;
}
.card .dates span {
  display: inline-block;
  margin-bottom: .75em;
}
.card .dates span * {
  display: inline-block;
}

.card .price:first-of-type {
  color: #796B32;
}
.card .price:first-of-type .num {
  font-size: 1.846em;
}
.card .price:nth-of-type(n+2),
.card .price small {
  font-size: .813rem;
}

.post-ttl {
  margin: .75em 0;
}

/* ==========================================================================
   Load more
========================================================================== */
#loadMore.btn {
  font-family: var(--font1);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5.5em;
  height: 5.5em;
  border-radius: 100%;
  margin-right: auto;
  margin-left: auto;
}
#loadMore.btn::before,
#loadMore.btn::after {
  content: '';
  display: block;
  width: 1px;
  height: 1em;
  background: var(--white);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
#loadMore.btn::after {
  background-color: var(--black);
  bottom: -1em;
}
#loadMore.btn:hover::before {
  background: var(--black);
}


/* ==========================================================================
   Fancybox
========================================================================== */
.fancybox__container {
  --fancybox-bg: rgba(0,0,0,0.8);
  --fancybox-slide-gap: 120px;
}

.fancybox__slide {
  padding: 3.5em 0;
}
.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
  padding-top: 8em;
}
.fancybox-image {
  max-width: 860px;
}

.fancybox__nav {
  --f-button-width: 3.25em;
  --f-button-height: 3.25em;
  --f-button-hover-bg: transparent;
  --f-button-active-bg: transparent;
  --f-button-svg-width: 2.5em;
  --f-button-svg-height: 2.5em;
  --f-button-svg-stroke-width: 0.8;
  --f-button-svg-filter: none;
  --f-button-next-pos: 0;
  --f-button-prev-pos: 0;
  width: 100%;
  max-width: calc(1000px + 1em);
  margin: auto;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
}
.f-button svg {
  stroke-linecap: butt;
  stroke-linejoin: miter;
}
.f-button:focus-visible {
  box-shadow: none;
}
.f-button.is-close-btn {
  --f-button-svg-stroke-width: 1;
}
.fancybox__content>.f-button.is-close-btn {
  --f-button-width: 2.5em;
  --f-button-height: 2.5em;
  --f-button-svg-width: 2em;
  --f-button-svg-height: 2em;
  opacity: 1;
  top: -3em;
  opacity: 0;
}

.is-compact .fancybox__content>.f-button.is-close-btn {
  --f-button-outline-color: transparent;
  --f-button-bg: transparent;
  --f-button-active-bg: transparent;
  --f-button-hover-bg: transparent;
  --f-button-svg-width: 2em;
  --f-button-svg-height: 2em;
  top: -3em;
  right: .5em;
}

.is-selected .fancybox__content>.f-button.is-close-btn {
  opacity: 1;
}


@media (min-width: 992px) {
  .fancybox__nav {
    --f-button-width: 3.5em;
    --f-button-height: 3.5em;
    --f-button-svg-width: 3.5em;
    --f-button-svg-height: 3.5em;
    --f-button-svg-stroke-width: 0.5;
  }
  .fancybox__content>.f-button.is-close-btn {
    --f-button-width: 3.5em;
    --f-button-height: 3.5em;
    --f-button-svg-width: 3.5em;
    --f-button-svg-height: 3.5em;
    top: -4.5em;
  }
  .is-compact .fancybox__content>.f-button.is-close-btn {
    --f-button-svg-width: 3.5em;
    --f-button-svg-height: 3.5em;
    top: -4.5em;
  }
  .f-button.is-close-btn {
    --f-button-svg-stroke-width: 0.6;
  }
}


/* ============================
   Splide slider
=============================== */
main .splide figure,
main .splide figure img {
  margin: 0;
}
main .splide__pagination__page {
  background: var(--l-gray);
  width: 8px;
  height: 8px;
  margin: 5px;
  opacity: 1;
}
main .bg-l-gray .splide__pagination__page {
  background: var(--gray);
}
main .splide__pagination__page.is-active {
  background: var(--black);
  transform: scale(1);
}
main .splide__arrow {
  font-size: inherit;
  width: 24px;
  height: 24px;
  background: var(--black);
  opacity: 1;
}
main .splide__arrow svg {
  fill: var(--white);
  height: 7px;
  width: 7px;
}
main .splide__arrow--prev {
  left: -30px;
}
main .splide__arrow--next {
  right: -30px;
}
main .over-right .splide__arrow--next {
  right: 1.8vw;
}

@media (min-width: 576px) {
  main .over-right .splide__arrow--next {
    right: 5vw;
  }
}

@media (min-width: 1200px) {
  main .splide__arrow {
    width: 30px;
    height: 30px;
  }
  main .splide__arrow svg {
    height: 8px;
    width: 8px;
  }
  main .splide__arrow--prev {
    left: -56px;
  }
  main .splide__arrow--next {
    right: -56px;
  }
}

/* ==========================================================================
   Map
========================================================================== */
.ggmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 80%;
  filter: grayscale(100%);
}
.ggmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 576px) {
  .ggmap {
    padding-top: 40%;
  }
}


.map-link {
  display: inline-block;
  font-size: .923em;
  padding-left: 2em;
  background: url(../img/icon-pin.svg) no-repeat left bottom / 1.2em;
  position: relative;
}
.map-link span {
  display: inline-block;
  border-bottom: 1px solid;
}


dl.access dt {
  font-weight: 600;
  border-bottom: 1px solid var(--border1);
  padding-bottom: .25em;
  margin-top: 2em;
  margin-bottom: .75em;
}

#access .display-txt {
  font-size: max(4.3em, 9vw);
}
#access .display-txt .font1 {
  font-size: 25%;
  margin-right: 2.5em;
}

/* ==========================================================================
   Color
========================================================================== */
.bg-white { background-color: var(--white); }
.bg-l-gray { background-color: var(--l-gray); }
.bg-color3 { background-color: var(--color3); }

.red { color: var(--red); }
.white { color: var(--white); }
.l-gray { color: var(--l-gray); }
.gray2 { color: var(--gray2); }
.d-gray { color: var(--d-gray); }
.color2 { color: var(--color2); }
.color3 { color: var(--color3); }

/* ==========================================================================
   WP Post
========================================================================== */
.container-entry {
  max-width: 860px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 992px) {
  .container-entry {
    margin-left: 0;
  }
}
.container-entry h1,
.container-entry h2,
.container-entry h3,
.container-entry h4,
.container-entry h5,
.container-entry h6, {
  line-height: 1.75;
  margin: 2.25em 0 1em;
}

.container-entry h1 { font-size: 1.462em; }
.container-entry h2 { font-size: 1.231em; }
.container-entry h3 { font-size: 1.231em; }
.container-entry h4 { font-size: 1.154em; }
.container-entry h5 { font-size: 1.077em; }
.container-entry h6 { font-size: 1em; }
@media(min-width:576px){
  .container-entry h1 { font-size: 1.692em; }
  .container-entry h2 { font-size: 1.538em; }
  .container-entry h3 { font-size: 1.385em; }
  .container-entry h4 { font-size: 1.231em; }
  .container-entry h5 { font-size: 1.154em; }
  .container-entry h6 { font-size: 1em; }
}

/*---------------*/
.cats {
  display: flex;
  flex-wrap: wrap;
  margin: .25em 0;
}
.cats span {
  display: inline-block;
  text-align: center;
  font-family: var(--font1);
  font-size: .846em;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.5;
  color: #777;
  border: 1px solid currentColor;
  padding: .35em .75em;
  min-width: 7em;
  margin-right: .5em;
  margin-bottom: .5em;
}


.article__header {
  max-width: 800px;
  margin: 0 auto 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--border1);
}
.article__header .entry__meta {
  display: block;
}
.article__header .ttl {
  margin: 0!important;
}

.article__footer {
  max-width: 800px;
  margin: 60px auto 15px;
  padding-top: 45px;
  border-top: 1px solid rgba(0,0,0,0.1);
}

.entry__meta {
  display: flex;
  align-items: center;
}
.entry__meta time {
  display: inline-block;
  color: var(--gray);
  margin-right: 1.25em;
}
.entry__meta .cat {
  display: inline-block;
  font-weight: 700;
  font-size: .75em;
}

/* entry__content */
.entry__content {
  letter-spacing: 0;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
}

.entry__content a:not(.btn):not(.btn2) {
  color: var(--color1);
  text-decoration: underline;
}

.entry__content blockquote {
  margin: 0 0 1.5em 0.75em;
  padding: 0 0 0 0.75em;
  border-left: 3px solid #8da0b6;
  font-style: italic;
  color: #abb1b5;
}

.entry__content dl {
  margin-top: 1em;
  margin-bottom: 3em;
}
.entry__content dt {
  font-feature-settings: "palt";
  background-color: #1a1a1a;
  font-weight: 700;
  font-size: 1.125em;
  margin-bottom: .75em;
  padding: .5em .75em;
}
.entry__content dd {
  margin-left: 0;
  margin-bottom: 1em;
  padding: 0 1em;
}
.entry__content dd + dt {
  margin-top: 1em;
}

.entry__content figure {
  margin-top: 1em;
  margin-bottom: 3em;
}
.entry__content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 1em;
  margin-bottom: 3em;
}
.entry__content pre {
  background: #323944;
  color: #f8f9fa;
  font-size: 0.9em;
  padding: 15px;
  border-radius: 3px;
  margin-top: 1em;
  margin-bottom: 3em;
}
  
.entry__content .video{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.entry__content .video iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin-top: 1em;
  margin-bottom: 3em;
}

.entry__content table {
  width: 100%;
  margin-top: 1em;
  margin-bottom: 3em;
  line-height: 1.5;
}
.entry__content table th {
  background-color: var(--l-gray2);
  border: 1px solid var(--border1);
  padding: .5em;
  font-weight: 400;
}
.entry__content table tbody th {
  text-align: left;
}
.entry__content table td {
  border: 1px solid var(--border1);
  padding: .5em;
}
.entry__content .scroll-table {
  overflow-x: auto;
  margin-bottom: 3em;
}
.entry__content .scroll-table table {
  margin-bottom: 1em;
}
.entry__content .scroll-table table tbody th {
  white-space: nowrap;
}

.entry__content ul,
.entry__content ol {
  margin-left: 0;
  padding-left: 0;
  margin-top: 1em;
  margin-bottom: 3em;
}
.entry__content ol ol,
.entry__content ul ul,
.entry__content ol ul,
.entry__content ul ol {
  margin-top: .5em;
  margin-bottom: .5em;
}
.entry__content ol li,
.entry__content ul li  {
  margin-top: .5em;
  margin-bottom: .5em;
}

.entry__content ol li {
  list-style-type: none;
  padding-left: 1.5em;
  counter-incement: cnt;
  position: relative;
}
.entry__content ol li::before {
  content: counter(cnt)".";
  position: absolute;
  left: 0;
}
.entry__content ol li ol li {
  padding-left: 2em;
}
.entry__content ol li ol li::before {
  content: "("counter(cnt)")";
}
.entry__content ol li ol li ol {
  margin-left: 2em;
}
.entry__content ol li ol li ol li,
.entry__content .list-katakana-iroha li {
  list-style-type: katakana-iroha;
  padding-left: 1em;
  text-indent: -1em;
}
.entry__content ol li ol li ol li::before,
.entry__content .list-katakana-iroha li::before {
  display: none;
}


.entry__content p {
  margin-top: 1em;
  margin-bottom: 1.5em;
}

.entry__content h1,
.entry__content h2,
.entry__content h3,
.entry__content h4,
.entry__content h5,
.entry__content h6, {
  line-height: 1.75;
  margin: 2.25em 0 1em;
}
.entry__content h1 { font-size: 1.462em; }
.entry__content h2 { font-size: 1.231em; }
.entry__content h3 { font-size: 1.231em; }
.entry__content h4 { font-size: 1.154em; }
.entry__content h5 { font-size: 1.077em; }
.entry__content h6 { font-size: 1em; }
@media(min-width:576px){
  .entry__content h1 { font-size: 1.692em; }
  .entry__content h2 { font-size: 1.538em; }
  .entry__content h3 { font-size: 1.385em; }
  .entry__content h4 { font-size: 1.231em; }
  .entry__content h5 { font-size: 1.154em; }
  .entry__content h6 { font-size: 1em; }
}


.entry__content > .section > h2:first-child {
  margin-top: 0;
}


/* tags */
.tags {
  margin: .75em 0 0;
}
.tags span {
  display: inline-block;
  font-size: .923em;
  margin-right: .75em;
}
.tags a {  
  text-decoration: none;
}

/* not found */
#post-not-found {
  text-align: center;
  margin: 0 auto;
  padding: 1em 0;
}

.entry__content .alignfull,
.entry__content .alignwide {
  width: 100vw;
  margin-left: calc(((100vw - 100%)/2)*-1);
}
@media (min-width: 576px) {
  .entry__content .alignwide {
    width: calc(100% + (100vw - 100%)/2);
    margin-left: calc(((100vw - 100%)/4)*-1);
  }
}
.entry__content .alignfull > img,
.entry__content .alignwide > img {
  display: block;
  margin-right: auto;
  margin-left: auto;
  min-width: 100%;
}
@media (min-width: 576px) {
  .entry__content .excerpt {
    margin-right: -1.25em;
    margin-left: -1.25em;
  }
}

.entry__content .wp-block-separator {
  margin-top: 3em;
  margin-bottom: 3em;
}
.entry__content .wp-block-buttons {
  margin: 3em -15px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.entry__content .wp-block-buttons.aligncenter {
  justify-content: center;
}
.entry__content .wp-block-buttons.alignright {
  justify-content: flex-end;
}
.entry__content .wp-block-buttons .wp-block-button,
.entry__content .wp-block-buttons .wp-block-button:last-child {
  margin-right: 0;
  margin-left: 0;
  padding: 0 15px;
  width: 100%;
}
.entry__content .wp-block-button__link {
  width: 100%;
  padding: 1.5em 3em;
  display: inline-block;
  text-align: center;
  font-size: 1em;
  letter-spacing: .1em;
  line-height: 1.54em;
  border-radius: 0;
}
.entry__content .is-style-fill .wp-block-button__link {
  background-color: #111;
  color: #FFF;
  border: 1px solid transparent;
}
.entry__content .is-style-outline .wp-block-button__link,
.entry__content .wp-block-button__link.is-style-outline {
  background-color: transparent;
  color: #111;
  border: 1px solid currentColor;
}
@media (min-width: 768px){
  .entry__content .wp-block-buttons .wp-block-button,
  .entry__content .wp-block-buttons .wp-block-button:last-child {
      width: 50%;
      min-width: 300px;
  }
  .entry__content .wp-block-buttons .wp-block-button:first-child:last-child {
      width: 100%;
  }
}

.entry__content .wp-block-table.is-style-stripes {
  border-bottom: none;
}
.entry__content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: rgba(0,0,0,0.05);
}




@media (min-width: 576px){
  .privacy-policy .entry__content p {
    font-size: 1.077em;
  }
}


/* ==========================================================================
   Pagination - Archive
========================================================================== */
.pagination,
.wp-prev-next {
  margin: 30px 0 15px; }

.pagination {
  text-align: center;
}
.pagination ul {
  display: flex;
  justify-content: center;
  white-space: nowrap;
  padding: 0;
}
.pagination li {
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.pagination li .page-numbers {
  margin: 0;
  text-decoration: none;
  padding: 0;
  font-family: var(--font1);
  line-height: 1em;
  font-size: 1em;
  font-weight: normal;
  padding: .75em;
  min-width: 2.25em;
  display: block;
}
.pagination li .page-numbers:not(.current):not(.next):not(.prev) {
  color: var(--black);

}
.pagination li .page-numbers:hover,
.pagination li .page-numbers:focus {
  color: var(--gray);
}
.pagination li .page-numbers.current {
  background: var(--black);
  color: var(--white);
  cursor: default;
  font-weight: 700;
}

/* ==========================================================================
   Pagination - Single
========================================================================== */
.paginav li a:not(.btn) {
  display: inline-block;
  margin: 1em 0;
}


/* ==========================================================================
   Single
========================================================================== */
.page__header.page__header--nocover.entry_header {
  justify-content: flex-start;
  text-align: left;
  padding-bottom: 8em;
}
.entry-ttl .en_ttl {
  font-size: 1.385em;
  letter-spacing: .06em;
}
.single .post-thumbnail {
  margin-top: -7em;
}
.single .post-thumbnail img {
  width: 100%;
}
@media (min-width: 576px) {
  .single .post-thumbnail {
    margin-top: -6em;
  }
}

/* ==========================================================================
   Form
========================================================================== */
.form-box {
  text-align: left;
  overflow: hidden;
}
.form-box .form-group {
  margin-bottom: 12px;
  padding-bottom: 12px;
}
.form-box .row {
  margin-bottom: 15px;
}
.form-box .form-label {
  display: block;
  font-weight: 700;
  margin-bottom: .5em;
  position: relative;
}
.form-box .form-label .req {
  display: inline-block;
  vertical-align: top;
  margin-left: .5em;
}
.req {
  color: var(--red);
}
.form-box .form-label .small {
    display: block;
    font-size: 11px;
}
.form-box .form-label .any {
  background: var(--gray);
}
.form-box .button {
  text-decoration: none;
  margin-top: 15px;
}
.form-box .button-back {
  color: var(--color1);
  background: var(--l-gray);
  border-color: var(--l-gray);
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  background-color: var(--white);
  border: 1px solid transparent;
  border-radius: 0;
  outline: 0;
  box-sizing: border-box;
  font-size: 1em;
  color: inherit;
  max-width: 100%;
  transition: border 0.2s ease-out;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--gray);
}
label {
  cursor: pointer;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"] {
  width: 100%;
  height: 50px;
  padding: 0 14px;
}
input[type="radio"],
input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  background-color: var(--white);
  border: 1px solid transparent;
  border-radius: 0;
  outline: 0;
  box-sizing: border-box;
  color: inherit;
  width: 30px;
  height: 30px;
  margin: 0 1em 0 0 !important;
  position: relative;
}
input[type="checkbox"]:before {
  position: absolute;
  top: 4px;
  left: 10px;
  transform: rotate(50deg);
  width: 8px;
  height: 16px;
  border-right: 2px solid var(--white);
  border-bottom: 2px solid var(--white);
  content: '';
  transition: border 0.2s ease-out;
}
input[type="checkbox"]:checked:before {
  border-color: var(--black);
}
input[type="radio"] {
  border-radius: 100%;
}
input[type="radio"]:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background: var(--white);
  content: '';
  transform: scale(0.5);
  transition: 0.15s;
}
input[type="radio"]:checked:before {
  background: var(--black);
  transform: scale(1.0);
}
textarea {
  padding: 14px;
  width: 100%;
  height: auto;
}
select {
  height: 50px;
  padding: 0 10% 0 14px;
  background-image: url(../img/icon-arrow-down.svg);
  background-repeat: no-repeat;
  background-position: center right 10%;
  background-size: 11px;
}
select::-ms-expand {
  display: none;
}
.form-box .form-field .d-sm-flex {
  align-items: center;
}
.form-box .form-field .d-sm-flex + .d-sm-flex {
  margin-top: .5em;
}
.form-box .form-field .inline-label {
  display: inline-block;
  padding-right: 1.5em;
  font-weight: 600;
  line-height: 3;
  white-space: nowrap;
}
.form-box .form-field .inline-label .req {
  display: inline-block;
  color: var(--red);
  vertical-align: top;
  margin-left: .5em;
}
.form-box .form-field label {
  display: flex;
  align-items: center;
}
.form-box .form-field .form-help {
  margin: 5px 0;
  font-size: .923em;
  line-height: 1.75;
}
.form-box .form-group.privacy-check .form-label {
  margin-bottom: 1em;
}
::placeholder {
  color: var(--gray);
}
::-ms-input-placeholder {
  color: var(--gray);
}
:-ms-input-placeholder {
  color: var(--gray);
}
@media (min-width: 576px) {
  .form-box .form-field .d-sm-flex + .d-sm-flex {
    margin-top: 1em;
  }
}
@media (min-width: 768px) {
  .form-box .form-group {
    display: flex;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .form-box .form-group.form-block {
    display: block;
    padding-bottom: 0;
  }
  .form-box .form-group .form-label {
    flex: 0 0 17em;
    margin-bottom: 0;
  }
  .mw_wp_form_input .form-box .form-group .form-label {
    line-height: 40px;
    padding-top: 9px;
  }
  .form-box .form-group .form-field {
    flex-basis: 100%;
  }
  .form-box .form-group.privacy-check .form-label {
    line-height: 2;
    margin-bottom: 0.5em;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .form-box .form-group.form-buttons .form-label {
    display: none;
  }
}
@media (min-width: 1200px) {
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select {
    height: 58px;
  }
}





.privacy-check a {
  text-decoration: underline;
}
.form-scroll-field > * {
  margin: 0 0 .75em;
}
.mw_wp_form_send_error {
  text-align: center;
}
.mw_wp_form .error {
  color: var(--red);
  font-family: var(--gothic);
  font-size: .923em;
  line-height: 1.25;
  margin: 5px 0;
}
.input-only, .confirm-only {
  display: none;
}
.mw_wp_form_input .input-only {
  display: block;
}
.mw_wp_form_confirm .confirm-only {
  display: block;
}
.mw_wp_form_confirm .form-label {
  line-height: inherit;
}
.mwform-radio-field:first-of-type {
  margin-top: 6px;
}
.mwform-radio-field:last-of-type {
  margin-bottom: 6px;
}
.horizontal-item {
  display: inline-flex;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}
.mwform-radio-field-text,
.mwform-checkbox-field-text {
  font-weight: 700;
  font-size: .923em;
  padding-right: .5em;
  margin-right: 1em;
  line-height: 30px;
}

/* ==========================================================================
   Button
========================================================================== */
.button,
input[type="button"],
input[type="submit"] {
  display: inline-block;
  text-align: center;
  font-size: 1em;
  font-family: inherit;
  letter-spacing: .05em;
  line-height: 1.5;
  font-weight: 600;
  padding: 1.25em 2.5em;
  width: 100%;
  min-width: 196px;
  background-color: var(--black);
  border: 1px solid var(--black);
  color: var(--white);
  text-decoration: none;
  outline: none;
  cursor: pointer;
  position: relative;
  transition: .2s;
}
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  background-color: transparent;
  color: var(--black);
}



/*********************
datepicker
*********************/
#ui-datepicker-div {
  font-family: monospace;
  text-align: center;
  padding: 2px 0 0 0;
  width: 240px!important;
  border: 1px solid var(--gray);
  border-radius: 0;
  color: var(--black);
  font-size: 12px!important;}
.ui-datepicker-calendar {
  width: 100%;
  background: #FFF;
  margin: 0!important;
  table-layout: fixed;}
.ui-datepicker-calendar thead tr th {
  line-height: 30px;}
.ui-datepicker-calendar thead tr th span {
  font-size: 12px!important; }
.ui-datepicker th {
  padding: 0!important;}
.ui-datepicker td {
  padding: 0!important;}
.ui-datepicker td span,
.ui-datepicker td a {
  text-align: center!important;
  display: block;
  line-height: 32px;
  text-decoration: none;
  padding: 0!important;
  background: none!important;
  border: none!important;
  color: inherit!important;}
.ui-datepicker td.ui-datepicker-unselectable span {
  opacity: .4;}
.ui-datepicker-week-end:first-child {
  color: var(--red);
}
.ui-datepicker-week-end:last-child {
  color: var(--blue);
}


.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: auto!important;
  height: 22px;
  background: none;
  border: none;
  padding: 0 5px;
  font-family: inherit;}
.ui-state-active,
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  background: #DBDBDB!important;}

.ui-datepicker-header {
  background: #FFF!important;
  color: var(--black)!important;
  border: 0!important;
  border-radius: 0!important;
  padding: 4px 0!important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: normal!important;}
.ui-datepicker-header .ui-datepicker-title {
  width: 60%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;}
.ui-datepicker-header .ui-datepicker-next .ui-icon {
  background-size: 8px;
  background-position: center center;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2216%22%20width%3D%2210%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M310.6%20233.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-192%20192c-12.5%2012.5-32.8%2012.5-45.3%200s-12.5-32.8%200-45.3L242.7%20256%2073.4%2086.6c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200l192%20192z%22%2F%3E%3C%2Fsvg%3E');
}
.ui-datepicker-header .ui-datepicker-prev .ui-icon {
  background-size: 8px;
  background-position: center center;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2216%22%20width%3D%2210%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M9.4%20233.4c-12.5%2012.5-12.5%2032.8%200%2045.3l192%20192c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L77.3%20256%20246.6%2086.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200l-192%20192z%22%2F%3E%3C%2Fsvg%3E');
}
.ui-datepicker-next, .ui-datepicker-prev {
  border: 0!important;}
.ui-datepicker-next span, .ui-datepicker-prev span {
  font-size: 10px;
  padding: 3px 8px;
  color: transparent;
  display: flex;
  align-items: center;}
.ui-datepicker-next {
  order: 5;}
.ui-state-disabled {
  pointer-events: none;
  opacity: .4;
}




/****************************************************************************
   PRINT STYLE
****************************************************************************/
@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important; }

  a, a:visited {
    color: #444 !important;
    text-decoration: underline; }
    a:after, a:visited:after {
      content: " (" attr(href) ")"; }
    a abbr[title]:after, a:visited abbr[title]:after {
      content: " (" attr(title) ")"; }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  tr, img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  @page {
    margin: 0.5cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; }

  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none; } }

