@charset "UTF-8";

/* ==========================================================================
   Sections
========================================================================== */
.section {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.section-padding {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.content {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 992px) {
  .section {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
  .section-padding {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  .content {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}


.container,
.container-fluid {
  padding-right: 20px;
  padding-left: 20px;
}
.row:not(.no-gutters) {
  margin-right: -20px;
  margin-left: -20px;
}
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
  padding-right: 20px;
  padding-left: 20px;
}
.row.no-gutters > .col,
.row.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.row.small-gutters {
  margin-right: -.25rem;
  margin-left: -.25rem;
}
.row.small-gutters > .col,
.row.small-gutters > [class*="col-"] {
  padding-right: .25rem;
  padding-left: .25rem;
  margin-bottom: .5rem;
}

@media (min-width: 576px){
  .container-fluid {
    padding-right: 2.25rem;
    padding-left: 2.25rem;
  }
}
@media (min-width: 992px){
  .container-fluid {
    padding-right: 45px;
    padding-left: 45px;
  }
}
@media (min-width: 1440px){
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: calc(1280px + 40px);
  }
  .container-fluid {
    max-width: calc(1280px + 90px + 180px);
  }
}


hr {
  border-top-color: var(--border2);
}
.border-b-0 {
  border-bottom: 0 !important;
}
dl.border-b-0::after {
  display: none;
}

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

/* ==========================================================================
   Image
========================================================================== */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.cover {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
svg {
  fill: currentColor;
}
.portrait img {
  display: block;
  aspect-ratio: 10/13;
  object-fit: cover;
}
img.fit {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
img.fit._s {
  aspect-ratio: 1/1;
  height: auto;
}
img.fit._separator {
  height: 48vw;
  max-height: 25rem;
}


@media (max-width: 575px) {
  .sp_over-right {
    margin-right: -20px;
  }
}

/* ==========================================================================
   Typography
========================================================================== */
.huge, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-weight: 700;
  position: relative; }
.huge a, 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; }

.huge { font-size: 4.285em; }
h1, .h1 { font-size: 1.714em; }
h2, .h2 { font-size: 1.571em; }
h3, .h3 { font-size: 1.286em; }
h4, .h4 { font-size: 1.286em; }
h5, .h5 { font-size: 1em; }
h6, .h6 { font-size: 1em; }
.txt { font-size: .857em; }
small, .small { font-size: .857em; }
xsmall, .xsmall { font-size: .714em; }

@media (min-width: 992px) {
  h2, .h2 { font-size: 1.714em; }
  h3, .h3 { font-size: 1.571em; }
  h4, .h4 { font-size: 1.286em; }
  h5, .h5 { font-size: 1.143em; }
  .txt { font-size: 1em; }
}


p {
  margin-top: 1.125em;
}
p:first-child {
  margin-top: 0;
}

.font1, .en_ttl, time {
  font-family: var(--font1);
}
.font2 {
  font-family: var(--font2);
  font-weight: 400!important;
}
.mincho {
  font-family: var(--mincho);
  font-weight: 400!important;
}

.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; }
}

/* ==========================================================================
   Button
========================================================================== */
a.arrow,
a span.arrow {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  text-decoration: none !important;
}
a.arrow svg.icon,
a span.arrow svg.icon {
  width: 1.75em;
  height: 1em;
  margin-left: .75em;
}

a.more,
a span.more {
  display: inline-block;
  font-family: var(--font1);
  font-size: .857rem;
  font-weight: 500;
  letter-spacing: .08em;
  transition: transform .3s ease-in-out;
}
a.more:hover,
a:hover span.more {
  transform: translateX(.75rem);
}


.btn {
  display: inline-block;
  text-align: left;
  font-family: var(--font1);
  font-size: .714rem;
  font-weight: 500;
  letter-spacing: .08em;
  width: 19em;
  transition: transform .3s ease-in-out;
  padding: .75em 6em .75em 1.5em;
  background-color: var(--black);
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%228.472%22%20viewBox%3D%220%200%2019.28%208.472%22%20width%3D%2219.28%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22m25.5%2018.5h-18a.5.5%200%200%201%200-1h18a.5.5%200%200%201%200%201z%22%20transform%3D%22translate(-7%20-13.764)%22%2F%3E%3Cpath%20d%3D%22m18%2015.472a.5.5%200%200%201%20-.354-.854l3.382-3.382-3.382-3.382a.5.5%200%200%201%20.707-.707l3.736%203.736a.5.5%200%200%201%200%20.707l-3.736%203.736a.5.5%200%200%201%20-.353.146z%22%20transform%3D%22translate(-2.956%20-7)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  background-position: right 1.5em top 50%;
  background-size: 1.75em;
  color: var(--white) !important;
  position: relative;
  border: 0;
  outline: none;
  text-decoration: none !important;
}
.btn::before {
  content: '';
  display: block;
  width: 0;
  height: 100%;
  background: var(--color1);
  mix-blend-mode: lighten;
  position: absolute;
  top: 0;
  left: 0;
  transition: width .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.btn:hover::before {
  width: 100%;
}
@media (min-width: 992px) {
  .btn {
    padding: .35em 4.5em .35em 1.5em;
  }
}


.btn._back {
  width: auto;
  padding: .75em 1.5em;
  background: var(--white);
  color: inherit !important;
}
@media (min-width: 992px) {
  .btn._back {
    padding: .35em 1.5em;
  }
}


/* ==========================================================================
   badge
========================================================================== */
.badge {
  display: inline-block;
  background: var(--black);
  color: var(--white);
  padding: .4em .6em;
  font-family: var(--font1);
  font-size: .714rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .badge {
    font-size: .786rem;
  }
}
@media (min-width: 992px) {
  .badge {
    font-size: .857rem;
  }
}

/* ==========================================================================
   Page header
========================================================================== */
.headline {
  margin-left: -20px;
}
.headline .en_ttl {
  font-weight: 600;
  line-height: 1.5;
  display: block;
  padding-left: 30px;
  position: relative;
}
.headline .en_ttl::before {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: var(--border1);
  position: absolute;
  top: 50%;
  left: 0;
}
.headline .ttl {
  padding-left: 23px;
  font-size: .857rem;
}

@media (min-width: 576px){
  .headline {
    margin-left: 0;
  }
  .headline .en_ttl {
    padding-left: 2.25rem;
  }
  .headline .en_ttl::before {
    width: 1.75rem;
  }
  .headline .ttl {
    padding-left: 1.725rem;
  }
}
@media (min-width: 768px) {
  .headline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
  }
  .headline br + .ttl {
    flex-basis: 100%;
  }
}


.hl {
  color: var(--color2);
  font-size: 1em;
  font-weight: 600;
  display: block;
  padding-left: 1.6em;
  margin: 4em 0 .5em;
  position: relative;
}
.hl::before {
  content: '';
  display: block;
  width: 1.125em;
  height: 1px;
  background: var(--border1);
  position: absolute;
  top: .75em;
  left: 0;
}
@media (min-width: 992px) {
  .hl {
    font-size: 1.143em;
    margin-bottom: 1.5em;
  }
}

.hl + p {
  line-height: 1.857;
}


.section__header .en_ttl {
  font-size: 1.571rem;
  font-weight: 600;
  line-height: 1.125;
  display: block;
  margin-right: .75em;
  white-space: nowrap;
}
.section__header .ttl {
  font-size: .714rem;
  margin-top: .5em;
  white-space: nowrap;
}
.section__header .en_ttl + br {
  display: none;
}
@media (min-width: 768px) {
  .section__header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
  }
  .section__header .en_ttl + br + .ttl {
    display: block;
    flex-basis: 100%;
  }
}

/* ==========================================================================
   Page header
========================================================================== */
.page__header {
  height: 100dvh;
}
.page__header .header-img {
  width: 100%;
  height: 125vw;
  max-height: 75%;
}
.page__header .header-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page__header .section__header {
  height: calc(100% - 125vw);
  padding: 32px 0 0 20px;
}
.page__header .section__header .ttl {
  margin-top: 1em;
}

.page__header .section__header .copy {
  margin-top: 1em;
}

@media (orientation: landscape){
  .page__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .page__header .header-img {
    flex: 0 0 calc(66.666667% - 40px);
    height: 100%;
    max-height: 100%;
  }
  .page__header .section__header {
    height: 100%;
    align-items: flex-end;
    flex: 0 0 calc(33.333333% + 40px);
    order: -1;
    padding: 45px 0 45px 20px;
    position: relative;
  }
  .page__header .section__header .copy {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%);
    margin: 0 auto;
    padding: 0 0 0 20px;
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .page__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .page__header .header-img {
    flex: 0 0 calc(66.666667% - 45px);
    height: 100%;
    max-height: 100%;
  }
  .page__header .section__header {
    height: 100%;
    align-items: flex-end;
    flex: 0 0 calc(33.333333% + 45px);
    order: -1;
    padding: 45px 0 45px 45px;
    position: relative;
  }
  .page__header .section__header .copy {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%);
    margin: 0 auto;
    padding: 0 0 0 45px;
    display: flex;
    justify-content: center;
  }
}

/* ==========================================================================
   Full screen
========================================================================== */
.full-screen {
  height: 100svh;
}


/* ==========================================================================
   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 {
  list-style-type: none;
}
.lists {
  font-size: .857rem;
  list-style-type: none;
}
.lists .list {
  line-height: 1.5;
  border-bottom: 1px solid var(--border2);
}
.lists .list:first-of-type {
  border-top: 1px solid var(--border2);
}
.lists .list a {
  display: block;
  position: relative;
  padding: .875em 2.5em .875em 0;
}
.lists .list a time {
  font-size: .786rem;
  display: block;
  margin-bottom: .25em;
}
.lists .list .icon {
  width: 1.32rem;
  height: .6rem;
  display: inline-block;
  margin-top: -.3em;
  position: absolute;
  top: 50%;
  right: .75rem;
  transition: transform .3s ease-in-out;
}
.lists .list a:hover .icon {
  transform: translateX(.5rem);
}


@media (min-width: 576px) {
  .lists {
    font-size: 1rem;
  }
  .lists .list a {
    display: flex;
    align-items: center;
    padding: 1.75em 2.5em 1.75em 0;
  }
  .lists .list a time {
    flex: 0 0 8em;
    margin-bottom: 0;
    font-size: 1em;
  }
}
@media (min-width: 992px) {
  .lists .list a {
    padding: 2.125em 2.5em 2.125em 0;
  }
}




.large-lists {
  font-size: .857rem;
  list-style-type: none;
}
.large-lists .list {
  line-height: 1.5;
  border-bottom: 1px solid var(--border1);
}
.large-lists .list:first-of-type {
  border-top: 1px solid var(--border1);
}
.large-lists .list a {
  display: block;
  position: relative;
  padding: 2.75em .5em;
}
.large-lists .list a time {
  font-size: .786rem;
  display: block;
  margin-bottom: .25em;
}
.large-lists .list .icon {
  width: 1.32rem;
  height: .6rem;
  display: inline-block;
  margin-top: -.3em;
  position: absolute;
  top: 50%;
  right: .75rem;
  transition: transform .3s ease-in-out;
}
.large-lists .list a:hover .icon {
  transform: translateX(.5rem);
}


@media (min-width: 576px) {
  .large-lists {
    font-size: 1rem;
  }
  .large-lists .list a {
    display: flex;
    align-items: center;
    padding: 2.75em;
  }
  .large-lists .list a time {
    flex: 0 0 8em;
    margin-bottom: 0;
    font-size: 1em;
  }

  .large-lists .list .icon {
    margin-top: .15em;
    margin-left: 9em;
    position: static;
  }
}
@media (min-width: 992px) {
  .large-lists .list a {
    padding: 3em 3.25em;
  }
}


dl {
  padding: 1rem 0;
  position: relative;
}
dl::after {
  content: '';
  width: 100%;
  height: 1px;
  background: var(--border2);
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
dl.row::after {
  width: calc(100% - 40px);
}
dl dt {
  font-weight: 600;
  margin-top: .35rem;
  margin-bottom: .35rem;
}
dl dt small {
  display: block;
  font-size: .667em;
  font-weight: 400;
}
dl dt:has(small) {
  margin-bottom: 1.125rem;
}
dl dd {
  margin-top: .35rem;
  margin-bottom: .35rem;
}
@media (min-width: 768px) {
  dl {
    padding: 2rem 0;
  }
  dl dt {
    margin-top: .45rem;
    margin-bottom: .45rem;
  }
  dl dd {
    font-size: .857rem;
    margin-top: .45rem;
    margin-bottom: .45rem;
  }
}
@media (min-width: 992px) {
  dl dd {
    font-size: 1rem;
  }
}

/* ==========================================================================
   Card
========================================================================== */
ul.cards.row {
  list-style-type: none;
  margin-right: -8px;
  margin-left: -8px;
}
ul.cards li {
  padding: 8px;
}
.card {
  line-height: 1.5;
  position: relative;
}
.card > a {
  display: block;
  position: relative;
}
.card .badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.card .imgBox {
  margin-bottom: .5em;
}
.card .imgBox img {
  display: block;
}
.card .en_ttl {
  line-height: 1.25;
}
.card p {
  font-size: .769em;
}
.card .imgBox ~ * {
	margin-top: .5em;
}


@media (max-width: 767px) {
  .card .badge {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .card p {
    font-size: .786em;
  }
  .card .imgBox {
    margin-bottom: .5em;
  }
  .card .imgBox ~ * {
    margin-top: .25em;
  }
}
@media (min-width: 992px) {
  ul.cards.row {
    margin-right: -16px;
    margin-left: -16px;
  }
  ul.cards li {
    padding: 16px;
  }
  .card p {
    font-size: 1em;
  }
  .card .badge {
    font-size: .857em;
  }
  .card .imgBox {
    margin-bottom: 1em;
  }
  .card .imgBox ~ * {
    margin-top: .5em;
  }
}



/* ==========================================================================
   WP Post
========================================================================== */
.hentry {
  position: relative;
}


.article__header {
  margin-bottom: 2.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border2);
}
.article__header .entry__meta {
  font-size: .857rem;
  margin-bottom: .25em;
  display: block;
}
.article__header .entry-title {
  font-size: 1.286rem;
  font-weight: 500;
  margin: 0!important;
}

.article__footer {
  
}

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

/* entry__content */
.entry__content {
  font-size: .857rem;
  letter-spacing: 0;
  line-height: 1.571;
  -webkit-font-smoothing: antialiased;
}
.entry__content > *:first-child {
  margin-top: 0;
}
@media (min-width: 768px) {
  .entry__content {
    font-size: .929rem;
  }
}
@media (min-width: 991px) {
  .entry__content {
    font-size: 1rem;
  }
}

.entry__content a {
  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 figure {
  margin-top: 1em;
  margin-bottom: 1.5em;
}
.entry__content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 1em;
  margin-bottom: 1.5em;
}
.entry__content pre {
  background: #323944;
  color: #f8f9fa;
  font-size: 0.9em;
  padding: 15px;
  border-radius: 3px;
  margin-top: 1em;
  margin-bottom: 1.5em;
}
  
.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: 1.5em;
}

.entry__content table {
  width: 100%;
  margin-top: 1em;
  margin-bottom: 1.5em;
  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: 1.5rem;
}
.entry__content .scroll-table table {
  margin-bottom: 1rem;
}
.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: 1.5em;
}
.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: 1em;
}

.entry__content ol li {
  list-style-type: none;
  padding-left: 3em;
  counter-increment: 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 {
  margin: 2.5em 0 1em;
}
.entry__content h1 {
  font-size: 1.571em;
  line-height: 1.4;
}
.entry__content h2 {
  font-size: 1.429em;
  line-height: 1.45;
}
.entry__content h3 {
  font-size: 1.357em;
  line-height: 1.5;
}
.entry__content h4 {
  font-size: 1.143em;
  line-height: 1.55;
}
.entry__content h5 {
  font-size: 1em;
}
.entry__content h6 {
  font-size: 1em;
}

@media (min-width: 992px) {
  .entry__content h1 {
    font-size: 1.714em;
    line-height: 1.35;
  }
  .entry__content h2 {
    font-size: 1.571em;
    line-height: 1.4;
  }
  .entry__content h3 {
    font-size: 1.429em;
    line-height: 1.45;
  }
  .entry__content h4 {
    font-size: 1.286em;
    line-height: 1.5;
  }
  .entry__content h5 {
    font-size: 1.143em;
    line-height: 1.55;
  }
  .entry__content h6 {
    font-size: 1em;
  }
}


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

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

/* Gutenberg Block styles*/
.has-red-color                              {color: #e8383d !important;}
.has-red-background-color        {background-color: #e8383d !important;}

.has-pink-color                             {color: #d83473 !important;}
.has-pink-background-color       {background-color: #d83473 !important;}

.has-purple-color                           {color: #915da3 !important;}
.has-purple-background-color     {background-color: #915da3 !important;}
 
.has-blue-color                             {color: #006eb0 !important;}
.has-blue-background-color       {background-color: #006eb0 !important;}

.has-light-blue-color                       {color: #409ecc !important;}
.has-light-blue-background-color {background-color: #409ecc !important;}

.has-green-color                            {color: #009854 !important;}
.has-green-background-color      {background-color: #009854 !important;}

.has-yellow-color                           {color: #ffdc00 !important;}
.has-yellow-background-color     {background-color: #ffdc00 !important;}
 
.has-dark-gray-color                        {color: #444444 !important;}
.has-dark-gray-background-color  {background-color: #444444 !important;}
 
.has-gray-color                             {color: #777777 !important;}
.has-gray-background-color       {background-color: #777777 !important;}

.has-light-gray-color                       {color: #cccccc !important;}
.has-light-gray-background-color {background-color: #cccccc !important;}

.has-white-color                            {color: #ffffff !important;}
.has-white-background-color      {background-color: #ffffff !important;}

.has-x-small-font-size {font-size: 10px;}
.has-small-font-size   {font-size: 12px;}
.has-regular-font-size {font-size: 14px;}
.has-large-font-size   {font-size: 21px;}
.has-x-large-font-size {font-size: 28px;}
.has-huge-font-size    {font-size: 35px;}

.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);
}

/* ==========================================================================
   Pagination - Archive
========================================================================== */
.pagination {
  font-family: var(--font1);
  font-weight: 600;
  margin-top: 6rem;
}

.pagination {
  text-align: center;
}
.pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  padding: 0;
}
.pagination li {
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.pagination li .page-numbers {
  margin: 0 .75em;
  text-decoration: none;
  padding: 0;
  line-height: 1em;
  font-size: 1.571em;
  padding: 0 .15em;
  min-width: 1em;
  display: block;
  position: relative;
}
.pagination li .page-numbers::before {
  content: '';
  display: block;
  width: 0;
  height: .1em;
  background: currentColor;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: width .2s;
}
.pagination li .page-numbers:not(.current):not(.next):not(.prev):not(.back) {
  color: #C7C7C7;
}
.pagination li .page-numbers.current {
  cursor: default;
}

.pagination li .page-numbers.next,
.pagination li .page-numbers.prev {
  font-size: 1em;
}

@media (min-width: 992px) {
	.pagination li .page-numbers.current::before,
	.pagination li .page-numbers:hover::before {
	  width: 100%;
	}
}


/* ==========================================================================
   Form
========================================================================== */
.form-box {
  text-align: left;
  overflow: hidden;
}
.form-box + .form-box {
  padding-top: 60px;
  border-top: 1px solid var(--border1);
}
.form-box .form-box-ttl {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border2);
}
.form-box .form-box-ttl h3 {
  margin: 0 1em 0 0;
}
.form-box .form-group {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border2);
}
.form-box .form-group:last-of-type {
  border-bottom: 0;
}
.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 {
  font-weight: 700;
}
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: transparent;
  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[type="text"].inline-text {
  background-color: var(--white);
  border-color: var(--border1);
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--border1);
}
label {
  cursor: pointer;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"] {
  width: 100%;
  height: 40px;
  padding: 0 10px;
}
input[type="radio"],
input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  background-color: var(--white);
  border: 1px solid var(--border1);
  border-radius: 0;
  outline: 0;
  box-sizing: border-box;
  color: inherit;
  width: 16px;
  height: 16px;
  margin: 0 .35em 0 0 !important;
  position: relative;
}
input[type="checkbox"]:before {
  position: absolute;
  top: 2px;
  left: 4.5px;
  transform: rotate(45deg);
  width: 5px;
  height: 8px;
  border-right: 1px solid var(--white);
  border-bottom: 1px 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,
input[type="text"].hasDatepicker {
  width: auto;
  height: 40px;
  padding: 0 40px 0 10px;
  border-color: var(--border1);
  background-color: var(--white);
  background-image: url(../img/icon-arrow-down.svg);
  background-repeat: no-repeat;
  background-position: center right 10px;
  background-size: 10px;
}
select::-ms-expand {
  display: none;
}
input[type="text"].hasDatepicker {
  min-width: 240px;
  background-image: url(../img/icon-calendar.svg);
  background-size: 16px;
}
@media (max-width: 575px) {
  select:not(.horizontal-item) {
    width: 100%;
  }
}
.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: 0 0 10px;
}
.form-box .form-group.privacy-check .form-label {
  margin-bottom: 1em;
}
.form-box .form-buttons {
  margin-top: 4em;
}
::placeholder {
  color: var(--color2);
}
::-ms-input-placeholder {
  color: var(--color2);
}
:-ms-input-placeholder {
  color: var(--color2);
}

@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;
    padding-bottom: 24px;
  }
  .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: 32px;
    padding-top: 4px;
  }
  .form-box .form-group .form-field {
    flex-basis: 100%;
    padding-left: 2em;
  }
  .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: 992px) {
  .form-box .form-group {
    padding-bottom: 28px;
    margin-bottom: 28px;
  }
  .mw_wp_form_input .form-box .form-group .form-label {
    padding-top: 0;
  }
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, input[type="text"].hasDatepicker {
    height: 32px;
  }
}





.privacy-check a {
  text-decoration: underline;
}
.form-scroll-field {
  font-size: .857em;
  border: 1px solid var(--border1);
  padding: 1.5em;
  margin: 2rem 0;
  height: 12rem;
  overflow-y: auto;
}
.form-scroll-field > * {
  font-size: 1em !important;
}
.form-scroll-field > *:first-child {
  margin-top: 0 !important;
}
.mw_wp_form_send_error {
  text-align: center;
}
.mw_wp_form .error {
  color: var(--red);
  font-size: .857em;
  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 {
  width: auto !important;
  display: inline-flex;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mwform-radio-field,
.mwform-checkbox-field {
  padding: calc((40px - 16px)/2) 0;
}
.mwform-radio-field-text,
.mwform-checkbox-field-text {
  font-size: 1em;
  padding-right: .5em;
  margin-right: 1.5em;
  line-height: 16px;
}
@media (min-width: 992px) {
  .mwform-radio-field,
  .mwform-checkbox-field {
    padding: calc((32px - 16px)/2) 0;
  }
}


/*********************
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; } }

