@charset "UTF-8";
/*!
Theme Name: u_origin
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: my
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

u_origin is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
@-webkit-keyframes pageHeader {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes pageHeader {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@-webkit-keyframes bg-grade {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes bg-grade {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@-webkit-keyframes infinitescroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1200px 0;
  }
}

@keyframes infinitescroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1200px 0;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation: 1s fadeIn forwards;
          animation: 1s fadeIn forwards;
}

@-webkit-keyframes fadeInBlur {
  0% {
    -webkit-filter: blur(30px);
            filter: blur(30px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}

@keyframes fadeInBlur {
  0% {
    -webkit-filter: blur(30px);
            filter: blur(30px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation: 1s fadeIn forwards;
          animation: 1s fadeIn forwards;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.fadeInUp {
  -webkit-animation: 1s fadeInUp forwards;
          animation: 1s fadeInUp forwards;
}

@-webkit-keyframes inUp {
  0% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes inUp {
  0% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.inUp {
  -webkit-animation: 1s inUp forwards;
          animation: 1s inUp forwards;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.fadeInDown {
  -webkit-animation: 1s fadeInDown forwards;
          animation: 1s fadeInDown forwards;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.fadeInDown {
  -webkit-animation: 1s fadeInUp forwards;
          animation: 1s fadeInUp forwards;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation: 1s fadeOut forwards;
          animation: 1s fadeOut forwards;
}

@-webkit-keyframes mainSlideLine {
  0% {
    height: 0;
  }
  100% {
    height: 100px;
  }
}

@keyframes mainSlideLine {
  0% {
    height: 0;
  }
  100% {
    height: 100px;
  }
}

@-webkit-keyframes mainSlideTitle {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes mainSlideTitle {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@-webkit-keyframes mainSlide5Title {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes mainSlide5Title {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@-webkit-keyframes mainSlide5Image {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes mainSlide5Image {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@-webkit-keyframes toLeftOut {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes toLeftOut {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@-webkit-keyframes toRightOut {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes toRightOut {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}

@keyframes slideInLeft {
  0% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}

.slideInLeft {
  -webkit-animation: slideInLeft 1s forwards;
          animation: slideInLeft 1s forwards;
}

@-webkit-keyframes slideInRight {
  0% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}

@keyframes slideInRight {
  0% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}

.slideInRight {
  -webkit-animation: slideInRight 1s forwards;
          animation: slideInRight 1s forwards;
}

@-webkit-keyframes curtain {
  0% {
    width: 0%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  80% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    width: 100%;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes curtain {
  0% {
    width: 0%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  80% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    width: 100%;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

.curtain {
  position: relative;
  overflow: hidden;
}

.curtain:before {
  content: "";
  width: 0%;
  height: 100%;
  background: #274a78;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

.curtain.animated:before {
  -webkit-animation: curtain 0.8s forwards;
          animation: curtain 0.8s forwards;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

@-webkit-keyframes xlfv {
  0% {
    width: 100%;
  }
  100% {
    width: 80%;
  }
}

@keyframes xlfv {
  0% {
    width: 100%;
  }
  100% {
    width: 80%;
  }
}

@-webkit-keyframes fvfadeOut {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fvfadeOut {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes greetingLine {
  0% {
    height: 0;
  }
  100% {
    height: calc(100% + 100px);
  }
}

@keyframes greetingLine {
  0% {
    height: 0;
  }
  100% {
    height: calc(100% + 100px);
  }
}

@-webkit-keyframes ripple {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
  }
  50% {
    -webkit-filter: blur(30px);
            filter: blur(30px);
  }
  100% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
  }
}

@keyframes ripple {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
  }
  50% {
    -webkit-filter: blur(30px);
            filter: blur(30px);
  }
  100% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
  }
}

@-webkit-keyframes red-bg-flash-animation {
  0% {
    background: #e53935;
  }
  50% {
    background: red;
  }
  100% {
    background: #e53935;
  }
}

@keyframes red-bg-flash-animation {
  0% {
    background: #e53935;
  }
  50% {
    background: red;
  }
  100% {
    background: #e53935;
  }
}

.red-bg-flash-animation {
  -webkit-animation: red-bg-flash-animation 0.7s infinite;
          animation: red-bg-flash-animation 0.7s infinite;
}

@media screen and (min-width: 960px) {
  @-webkit-keyframes infinitescroll {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -2000px 0;
    }
  }
  @keyframes infinitescroll {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -2000px 0;
    }
  }
}

@-webkit-keyframes shake-timed {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  3% {
    -webkit-transform: translate(-3px, 0) rotate(-2deg);
            transform: translate(-3px, 0) rotate(-2deg);
  }
  6% {
    -webkit-transform: translate(3px, 0) rotate(2deg);
            transform: translate(3px, 0) rotate(2deg);
  }
  9% {
    -webkit-transform: translate(-3px, 0) rotate(-2deg);
            transform: translate(-3px, 0) rotate(-2deg);
  }
  12% {
    -webkit-transform: translate(3px, 0) rotate(2deg);
            transform: translate(3px, 0) rotate(2deg);
  }
  15% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes shake-timed {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  3% {
    -webkit-transform: translate(-3px, 0) rotate(-2deg);
            transform: translate(-3px, 0) rotate(-2deg);
  }
  6% {
    -webkit-transform: translate(3px, 0) rotate(2deg);
            transform: translate(3px, 0) rotate(2deg);
  }
  9% {
    -webkit-transform: translate(-3px, 0) rotate(-2deg);
            transform: translate(-3px, 0) rotate(-2deg);
  }
  12% {
    -webkit-transform: translate(3px, 0) rotate(2deg);
            transform: translate(3px, 0) rotate(2deg);
  }
  15% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
  overflow-y: scroll;
  overflow-x: hidden;
}

body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul {
  list-style: none;
  padding-left: 0;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

a:visited {
  color: #333;
}

a:hover, a:focus, a:active {
  color: #333;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

figure img {
  vertical-align: bottom;
}

.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

iframe {
  border: none;
}

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Atoms
--------------------------------------------------------------*/
.grecaptcha-badge {
  visibility: hidden;
}

p {
  margin: 30px 0;
  line-height: 1.7;
  letter-spacing: 1px;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

hr, .wp-block-separator {
  background: #ddd;
  margin: 30px 0;
  border: none;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

p.xs {
  font-size: 13px;
}

p.sm {
  font-size: 15px;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.block-center {
  margin-left: auto;
  margin-right: auto;
}

time {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #999;
  line-height: 1;
}

i.material-icons {
  vertical-align: text-bottom;
}

.iconfont {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
}

.edit-link {
  margin: 50px 0;
  display: inline-block;
}

.label {
  background: #274a78;
  color: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 24px;
  font-size: 14px;
  padding: 0 10px;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
}

.label + h2 {
  margin-top: 10px;
}

.label-round {
  background: #2194f1;
  color: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 30px;
  border-radius: 15px;
  font-size: 14px;
  padding: 0 15px;
  line-height: 1;
  vertical-align: middle;
}

@media all and (-ms-high-contrast: none) {
  .label {
    padding-top: 4px;
  }
}

.label-line-gold {
  color: #c0932f;
  background: none;
  border: 1px solid #c0932f;
}

.label-blue {
  background: #274a78;
}

.label-gold {
  background: #c0932f;
}

.area-label {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 20px;
  width: 60px;
  font-size: 13px;
  color: #fff;
  padding: 0 0.5em;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 0;
  right: 0;
  z-index: 1;
}

.label-okinawa {
  background: #c0932f;
}

.label-fukuoka {
  background: #274a78;
}

.label-all {
  background: #e53935;
}

.marker {
  background-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(10%, transparent), color-stop(10%, #fcee21), color-stop(50%, #fcee21), color-stop(50%, transparent), to(transparent));
  background-image: -webkit-linear-gradient(bottom, transparent 0%, transparent 10%, #fcee21 10%, #fcee21 50%, transparent 50%, transparent 100%);
  background-image: -o-linear-gradient(bottom, transparent 0%, transparent 10%, #fcee21 10%, #fcee21 50%, transparent 50%, transparent 100%);
  background-image: linear-gradient(to top, transparent 0%, transparent 10%, #fcee21 10%, #fcee21 50%, transparent 50%, transparent 100%);
}

.b {
  font-family: "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
}

.blue {
  color: #274a78;
}

.light-gray {
  color: #999;
}

.gold {
  color: #c0932f;
}

.red {
  color: #e53935;
}

.price {
  font-family: 'Roboto', sans-serif;
  font-size: 1.5em;
}

.set-price {
  font-size: 1.5em;
  color: #e53935;
  font-weight: bold;
}

.brackets {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  height: auto;
}

.brackets span {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}

.brackets:before, .brackets:after {
  content: "";
  width: 0.5em;
  display: block;
  height: inherit;
  border: 1px solid #999;
}

.brackets:before {
  border-right: none;
  margin-right: 0.5em;
}

.brackets:after {
  border-left: none;
  margin-left: 0.5em;
}

.deco1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #c0932f;
}

.deco1:before, .deco1:after {
  content: "";
  width: 40px;
  height: 1px;
  background: #c0932f;
}

.deco1:before {
  margin-right: 0.5em;
}

.deco1:after {
  margin-left: 0.5em;
}

.ruby {
  display: inline-block;
  position: relative;
}

.ruby span {
  position: absolute;
  width: 100%;
  font-size: 0.5em;
  line-height: 1;
  top: -0.75em;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.unite {
  display: inline-block;
  margin: 0 1em 0 0.5em !important;
}

span.disc,
p.disc {
  position: relative;
  padding-left: 1.5em;
}

span.disc:before,
p.disc:before {
  content: "";
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #e6e4dd;
  position: absolute;
  left: 0;
  top: 0.25em;
}

span.num {
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  width: 50px;
  height: 46px;
  font-size: 30px;
  line-height: 1;
  color: #274a78;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: url(./images/num-bg.svg) no-repeat center center;
  background-size: contain;
  position: relative;
  letter-spacing: normal;
}

.strikethrough {
  text-decoration: line-through;
}

.m0 {
  margin: 0 !important;
}

.mb-xs, .wp-block-image.mb-xs > figure {
  margin-bottom: 10px !important;
}

.mb-sm, .wp-block-image.mb-sm > figure {
  margin-bottom: 30px !important;
}

.mb0, .wp-block-image.mb0 > figure {
  margin-bottom: 0 !important;
}

.mt-sm, .wp-block-image.mt-sm > figure {
  margin-top: 30px !important;
}

.mt0, .wp-block-image.mt0 > figure {
  margin-top: 0 !important;
}

.mb-auto, .wp-block-image.mb-auto > figure {
  margin-bottom: auto !important;
}

.mt-auto, .wp-block-image.mt-auto > figure {
  margin-top: auto !important;
}

.mv-sm, .wp-block-image.mv-sm > figure {
  margin-bottom: 30px !important;
  margin-top: 30px !important;
}

.mv0, .wp-block-image.mv0 > figure {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.p0 {
  padding: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

br.lg, br.pc {
  display: none;
}

.roboto {
  font-family: 'Roboto', sans-serif;
}

.mincho {
  font-family: 'Noto Serif JP', serif;
}

.small {
  font-size: 0.7em;
}

.sm-hide {
  display: none;
}

.sm-show {
  display: block;
}

.letter-normal {
  letter-spacing: normal;
}

.letter-sm {
  letter-spacing: -1px;
}

.sm-alignfull {
  margin-left: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: none;
}

@media screen and (min-width: 600px) {
  p {
    margin: 40px 0;
  }
  hr, .wp-block-separator {
    background: #ddd;
    margin: 40px 0;
    border: none;
  }
  span.num {
    width: 74px;
    height: 68px;
    font-size: 48px;
  }
  .md-hide {
    display: none;
  }
  .md-show {
    display: block;
  }
  .sm-alignfull {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: none;
  }
  figure.sm-alignfull {
    margin-left: auto !important;
  }
}

@media screen and (min-width: 960px) {
  p {
    margin: 50px 0;
  }
  p.xs {
    font-size: 13px;
    line-height: 1.5;
  }
  p.sm {
    font-size: 15px;
    line-height: 1.5;
  }
  p.lg {
    font-size: 20px;
  }
  p.xl {
    font-size: 22px;
  }
  p.xxl {
    font-size: 24px;
  }
  p.xxxl {
    font-size: 28px;
  }
  br.lg, br.pc {
    display: inline;
  }
  br.sm {
    display: none;
  }
  hr, .wp-block-separator {
    background: #ddd;
    margin-top: 100px;
    margin-bottom: 100px;
  }
  .lg-text-center {
    text-align: center;
  }
  .lg-text-left {
    text-align: left;
  }
  .lg-hide {
    display: none;
  }
  .lg-show {
    display: block;
  }
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  margin: 0;
  letter-spacing: 1px;
  font-weight: normal;
}

h1,
h2 {
  font-size: 24px;
  margin: 30px 0;
}

h3 {
  font-size: 20px;
  margin: 30px 0;
}

h4 {
  font-size: 18px;
  margin: 30px 0;
}

h1 .under-line,
h2 .under-line {
  border-bottom: 1px solid #333;
  display: inline-block;
  line-height: 1;
}

h2.smb-section__title {
  margin-top: 0;
}

.page-title {
  margin-top: 0;
  text-align: center;
  color: #274a78;
  font-weight: normal;
  font-size: 28px;
}

article.type-news h2,
article.type-news h3,
article.type-news h4,
article.type-post h2,
article.type-post h3,
article.type-post h4,
article.type-feature h2,
article.type-feature h3,
article.type-feature h4 {
  color: #274a78;
  font-weight: normal;
}

article.type-news h2,
article.type-post h2,
article.type-feature h2 {
  border-bottom: 1px solid #274a78;
  padding-bottom: 0.25em;
}

article.type-news h3,
article.type-post h3,
article.type-feature h3 {
  padding-left: 0.75em;
  border-left: 6px solid #274a78;
}

article.type-news h2.normal,
article.type-post h2.normal,
article.type-feature h2.normal {
  border: none;
  padding-bottom: 0;
}

article.type-news h3.normal,
article.type-post h3.normal,
article.type-feature h3.normal {
  border: none;
  padding-left: 0;
}

.h2 {
  border-bottom: 1px solid #274a78;
  padding-bottom: 0.25em;
  color: #274a78;
}

.h3 {
  padding-left: 0.75em;
  border-left: 6px solid #274a78;
}

.list-sub-title {
  margin: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-weight: normal;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 6px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: -webkit-sticky;
  position: sticky;
  top: 76px;
  padding-bottom: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: 'Noto Serif JP', serif;
  color: #999;
}

.list-sub-title:after {
  content: "";
  width: 1px;
  height: 60px;
  background: #999;
  margin-top: 10px;
}

h2.frame, h3.h2.frame {
  background: #274a78;
  padding: 0.5em;
  color: #fff;
}

.heading-border span {
  display: inline-block;
  padding-bottom: 0.5em;
  background-image: -webkit-linear-gradient(bottom, #274a78, #274a78 5px, transparent 5px, transparent);
  background-image: -o-linear-gradient(bottom, #274a78, #274a78 5px, transparent 5px, transparent);
  background-image: linear-gradient(to top, #274a78, #274a78 5px, transparent 5px, transparent);
}

@media screen and (min-width: 600px) {
  h1,
  h2 {
    font-size: 28px;
    margin: 40px 0;
  }
  h3 {
    font-size: 24px;
    margin: 40px 0;
  }
  h4 {
    font-size: 20px;
    margin: 40px 0;
  }
  .page-title {
    font-size: 32px;
  }
}

@media screen and (min-width: 960px) {
  h1,
  h2 {
    font-size: 32px;
    margin: 50px 0;
  }
  h3 {
    font-size: 28px;
    margin: 50px 0;
  }
  h4 {
    font-size: 24px;
    margin: 50px 0;
  }
  .page-title {
    font-size: 40px;
  }
  .page-title .ruby span {
    font-size: 14px;
  }
  h2.lg {
    font-size: 36px;
  }
  .list-sub-title {
    position: static;
    margin: 0;
    font-size: 13px;
  }
}

body,
button,
input,
select,
optgroup,
textarea {
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

body {
  letter-spacing: 1px;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  margin: 0;
  letter-spacing: 1px;
  font-weight: normal;
}

h1,
h2 {
  font-size: 24px;
  margin: 30px 0;
}

h3 {
  font-size: 20px;
  margin: 30px 0;
}

h4 {
  font-size: 18px;
  margin: 30px 0;
}

h1 .under-line,
h2 .under-line {
  border-bottom: 1px solid #333;
  display: inline-block;
  line-height: 1;
}

h2.smb-section__title {
  margin-top: 0;
}

.page-title {
  margin-top: 0;
  text-align: center;
  color: #274a78;
  font-weight: normal;
  font-size: 28px;
}

article.type-news h2,
article.type-news h3,
article.type-news h4,
article.type-post h2,
article.type-post h3,
article.type-post h4,
article.type-feature h2,
article.type-feature h3,
article.type-feature h4 {
  color: #274a78;
  font-weight: normal;
}

article.type-news h2,
article.type-post h2,
article.type-feature h2 {
  border-bottom: 1px solid #274a78;
  padding-bottom: 0.25em;
}

article.type-news h3,
article.type-post h3,
article.type-feature h3 {
  padding-left: 0.75em;
  border-left: 6px solid #274a78;
}

article.type-news h2.normal,
article.type-post h2.normal,
article.type-feature h2.normal {
  border: none;
  padding-bottom: 0;
}

article.type-news h3.normal,
article.type-post h3.normal,
article.type-feature h3.normal {
  border: none;
  padding-left: 0;
}

.h2 {
  border-bottom: 1px solid #274a78;
  padding-bottom: 0.25em;
  color: #274a78;
}

.h3 {
  padding-left: 0.75em;
  border-left: 6px solid #274a78;
}

.list-sub-title {
  margin: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-weight: normal;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 6px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: -webkit-sticky;
  position: sticky;
  top: 76px;
  padding-bottom: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: 'Noto Serif JP', serif;
  color: #999;
}

.list-sub-title:after {
  content: "";
  width: 1px;
  height: 60px;
  background: #999;
  margin-top: 10px;
}

h2.frame, h3.h2.frame {
  background: #274a78;
  padding: 0.5em;
  color: #fff;
}

.heading-border span {
  display: inline-block;
  padding-bottom: 0.5em;
  background-image: -webkit-linear-gradient(bottom, #274a78, #274a78 5px, transparent 5px, transparent);
  background-image: -o-linear-gradient(bottom, #274a78, #274a78 5px, transparent 5px, transparent);
  background-image: linear-gradient(to top, #274a78, #274a78 5px, transparent 5px, transparent);
}

@media screen and (min-width: 600px) {
  h1,
  h2 {
    font-size: 28px;
    margin: 40px 0;
  }
  h3 {
    font-size: 24px;
    margin: 40px 0;
  }
  h4 {
    font-size: 20px;
    margin: 40px 0;
  }
  .page-title {
    font-size: 32px;
  }
}

@media screen and (min-width: 960px) {
  h1,
  h2 {
    font-size: 32px;
    margin: 50px 0;
  }
  h3 {
    font-size: 28px;
    margin: 50px 0;
  }
  h4 {
    font-size: 24px;
    margin: 50px 0;
  }
  .page-title {
    font-size: 40px;
  }
  .page-title .ruby span {
    font-size: 14px;
  }
  h2.lg {
    font-size: 36px;
  }
  .list-sub-title {
    position: static;
    margin: 0;
    font-size: 13px;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

p {
  margin: 30px 0;
  line-height: 1.7;
  letter-spacing: 1px;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

hr, .wp-block-separator {
  background: #ddd;
  margin: 30px 0;
  border: none;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

p.xs {
  font-size: 13px;
}

p.sm {
  font-size: 15px;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.block-center {
  margin-left: auto;
  margin-right: auto;
}

time {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #999;
  line-height: 1;
}

i.material-icons {
  vertical-align: text-bottom;
}

.iconfont {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
}

.edit-link {
  margin: 50px 0;
  display: inline-block;
}

.label {
  background: #274a78;
  color: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 24px;
  font-size: 14px;
  padding: 0 10px;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
}

.label + h2 {
  margin-top: 10px;
}

.label-round {
  background: #2194f1;
  color: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 30px;
  border-radius: 15px;
  font-size: 14px;
  padding: 0 15px;
  line-height: 1;
  vertical-align: middle;
}

@media all and (-ms-high-contrast: none) {
  .label {
    padding-top: 4px;
  }
}

.label-line-gold {
  color: #c0932f;
  background: none;
  border: 1px solid #c0932f;
}

.label-blue {
  background: #274a78;
}

.label-gold {
  background: #c0932f;
}

.area-label {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 20px;
  width: 60px;
  font-size: 13px;
  color: #fff;
  padding: 0 0.5em;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 0;
  right: 0;
  z-index: 1;
}

.label-okinawa {
  background: #c0932f;
}

.label-fukuoka {
  background: #274a78;
}

.label-all {
  background: #e53935;
}

.marker {
  background-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(10%, transparent), color-stop(10%, #fcee21), color-stop(50%, #fcee21), color-stop(50%, transparent), to(transparent));
  background-image: -webkit-linear-gradient(bottom, transparent 0%, transparent 10%, #fcee21 10%, #fcee21 50%, transparent 50%, transparent 100%);
  background-image: -o-linear-gradient(bottom, transparent 0%, transparent 10%, #fcee21 10%, #fcee21 50%, transparent 50%, transparent 100%);
  background-image: linear-gradient(to top, transparent 0%, transparent 10%, #fcee21 10%, #fcee21 50%, transparent 50%, transparent 100%);
}

.b {
  font-family: "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
}

.blue {
  color: #274a78;
}

.light-gray {
  color: #999;
}

.gold {
  color: #c0932f;
}

.red {
  color: #e53935;
}

.price {
  font-family: 'Roboto', sans-serif;
  font-size: 1.5em;
}

.set-price {
  font-size: 1.5em;
  color: #e53935;
  font-weight: bold;
}

.brackets {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  height: auto;
}

.brackets span {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}

.brackets:before, .brackets:after {
  content: "";
  width: 0.5em;
  display: block;
  height: inherit;
  border: 1px solid #999;
}

.brackets:before {
  border-right: none;
  margin-right: 0.5em;
}

.brackets:after {
  border-left: none;
  margin-left: 0.5em;
}

.deco1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #c0932f;
}

.deco1:before, .deco1:after {
  content: "";
  width: 40px;
  height: 1px;
  background: #c0932f;
}

.deco1:before {
  margin-right: 0.5em;
}

.deco1:after {
  margin-left: 0.5em;
}

.ruby {
  display: inline-block;
  position: relative;
}

.ruby span {
  position: absolute;
  width: 100%;
  font-size: 0.5em;
  line-height: 1;
  top: -0.75em;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.unite {
  display: inline-block;
  margin: 0 1em 0 0.5em !important;
}

span.disc,
p.disc {
  position: relative;
  padding-left: 1.5em;
}

span.disc:before,
p.disc:before {
  content: "";
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #e6e4dd;
  position: absolute;
  left: 0;
  top: 0.25em;
}

span.num {
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  width: 50px;
  height: 46px;
  font-size: 30px;
  line-height: 1;
  color: #274a78;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: url(./images/num-bg.svg) no-repeat center center;
  background-size: contain;
  position: relative;
  letter-spacing: normal;
}

.strikethrough {
  text-decoration: line-through;
}

.m0 {
  margin: 0 !important;
}

.mb-xs, .wp-block-image.mb-xs > figure {
  margin-bottom: 10px !important;
}

.mb-sm, .wp-block-image.mb-sm > figure {
  margin-bottom: 30px !important;
}

.mb0, .wp-block-image.mb0 > figure {
  margin-bottom: 0 !important;
}

.mt-sm, .wp-block-image.mt-sm > figure {
  margin-top: 30px !important;
}

.mt0, .wp-block-image.mt0 > figure {
  margin-top: 0 !important;
}

.mb-auto, .wp-block-image.mb-auto > figure {
  margin-bottom: auto !important;
}

.mt-auto, .wp-block-image.mt-auto > figure {
  margin-top: auto !important;
}

.mv-sm, .wp-block-image.mv-sm > figure {
  margin-bottom: 30px !important;
  margin-top: 30px !important;
}

.mv0, .wp-block-image.mv0 > figure {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.p0 {
  padding: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

br.lg, br.pc {
  display: none;
}

.roboto {
  font-family: 'Roboto', sans-serif;
}

.mincho {
  font-family: 'Noto Serif JP', serif;
}

.small {
  font-size: 0.7em;
}

.sm-hide {
  display: none;
}

.sm-show {
  display: block;
}

.letter-normal {
  letter-spacing: normal;
}

.letter-sm {
  letter-spacing: -1px;
}

.sm-alignfull {
  margin-left: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: none;
}

@media screen and (min-width: 600px) {
  p {
    margin: 40px 0;
  }
  hr, .wp-block-separator {
    background: #ddd;
    margin: 40px 0;
    border: none;
  }
  span.num {
    width: 74px;
    height: 68px;
    font-size: 48px;
  }
  .md-hide {
    display: none;
  }
  .md-show {
    display: block;
  }
  .sm-alignfull {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: none;
  }
  figure.sm-alignfull {
    margin-left: auto !important;
  }
}

@media screen and (min-width: 960px) {
  p {
    margin: 50px 0;
  }
  p.xs {
    font-size: 13px;
    line-height: 1.5;
  }
  p.sm {
    font-size: 15px;
    line-height: 1.5;
  }
  p.lg {
    font-size: 20px;
  }
  p.xl {
    font-size: 22px;
  }
  p.xxl {
    font-size: 24px;
  }
  p.xxxl {
    font-size: 28px;
  }
  br.lg, br.pc {
    display: inline;
  }
  br.sm {
    display: none;
  }
  hr, .wp-block-separator {
    background: #ddd;
    margin-top: 100px;
    margin-bottom: 100px;
  }
  .lg-text-center {
    text-align: center;
  }
  .lg-text-left {
    text-align: left;
  }
  .lg-hide {
    display: none;
  }
  .lg-show {
    display: block;
  }
}

#nav-btn {
  width: 56px;
  height: 56px;
  display: block;
  position: relative;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  right: 0;
}

#nav-btn:before, #nav-btn:after {
  content: "";
  width: 18px;
  height: 1px;
  display: block;
  background: #333;
  position: absolute;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  right: 12px;
}

#nav-btn:before {
  top: 20px;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
}

#nav-btn:after {
  bottom: 19px;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
}

#nav-btn span {
  width: 32px;
  height: 1px;
  display: block;
  background: #333;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

#nav-btn:before, #nav-btn:after,
#nav-btn span {
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

#nav-btn.active span {
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  -webkit-transform: translateX(-50%) scaleX(0);
      -ms-transform: translateX(-50%) scaleX(0);
          transform: translateX(-50%) scaleX(0);
  opacity: 0;
}

#nav-btn.active:before, #nav-btn.active:after,
#nav-btn.active span {
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  background: #fff;
}

#nav-btn.active:before {
  top: 50%;
  left: 50%;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) rotate(225deg);
      -ms-transform: translateX(-50%) rotate(225deg);
          transform: translateX(-50%) rotate(225deg);
  width: 32px;
}

#nav-btn.active:after {
  top: 50%;
  left: 50%;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) rotate(-225deg);
      -ms-transform: translateX(-50%) rotate(-225deg);
          transform: translateX(-50%) rotate(-225deg);
  width: 32px;
}

.btn {
  width: 100%;
  max-width: 350px;
}

.btn a {
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  padding: 25px 36px;
  background: #c0932f;
  font-size: 16px;
  text-align: center;
  line-height: 1.3;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.26);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.26);
  position: relative;
}

.btn a:after {
  content: "chevron_right";
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.btn a span.balloon {
  position: absolute;
  left: 50%;
  top: -15px;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #274a78;
  padding: 6px 20px;
  margin-bottom: 10px;
  font-size: 13px;
  color: #fff;
  border-radius: 4px;
}

.btn a span.balloon:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 5px 0 5px;
  border-color: #274a78 transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: -8px;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.btn.btn-line {
  max-width: 400px;
}

.btn.btn-line a {
  background: #00B900;
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  padding-left: 0;
  padding-right: 0;
}

.btn.btn-line a::after {
  content: none;
}

.btn.btn-line a::before {
  content: "";
  width: 30px;
  height: 30px;
  display: block;
  background: url(./images/icon-line.svg) no-repeat center center;
  background-size: contain;
  margin: 0 0.5em 0.25em 0;
}

.btn-shake {
  -webkit-animation: shake 0.3s ease-in-out;
          animation: shake 0.3s ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-name: shake-timed;
          animation-name: shake-timed;
}

.btn.btn-sm {
  max-width: 300px;
}

.btn.btn-sm a {
  padding: 18px 36px;
}

.btn.btn-lg {
  max-width: 800px;
}

.btn.btn-lg a {
  font-size: 20px;
  padding: 30px 48px;
  line-height: 1.5;
}

.btn.btn-lg a:after {
  font-size: 36px;
}

.smb-btn:hover {
  color: #fff;
}

.view-more-button,
.btn-blue-line {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  border-radius: 0;
  border: 1px solid #274a78;
  height: 50px;
  color: #274a78;
  width: 200px;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-align: center;
  padding: 12px 20px;
  font-size: 14px;
}

.view-more-button *,
.btn-blue-line * {
  color: #274a78;
}

.btn-blue-line-lg {
  width: 300px;
}

.btn-circle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  color: #fff !important;
  font-size: 14px;
  line-height: 1.2;
  -webkit-box-shadow: 0 6px 6px rgba(0, 0, 0, 0.26);
          box-shadow: 0 6px 6px rgba(0, 0, 0, 0.26);
}

.btn-circle:hover {
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: translateY(-8px);
      -ms-transform: translateY(-8px);
          transform: translateY(-8px);
  -webkit-box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
          box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
}

.btn-circle:active {
  -webkit-transform: translateY(2px);
      -ms-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
}

.btn-circle i {
  font-size: 36px;
}

.simplefavorite-button {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 12px 18px;
  border: 1px solid #274a78;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #274a78;
  font-size: 14px;
  cursor: pointer;
}

.simplefavorite-button i {
  font-size: 18px;
  margin-right: 0.5em;
}

.simplefavorite-button.active {
  background: #274a78;
  color: #fff;
  opacity: 1 !important;
}

.spider__arrow {
  background-color: #333;
}

@media screen and (min-width: 600px) {
  .btn {
    max-width: 300px;
  }
}

@media screen and (min-width: 960px) {
  .btn a {
    padding: 35px;
  }
  .btn a:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translateY(-8px);
        -ms-transform: translateY(-8px);
            transform: translateY(-8px);
    -webkit-box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
            box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
  }
  #nav-btn.active {
    border: 1px solid #fff;
  }
  #nav-btn span {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
  }
  #nav-btn:before, #nav-btn:after {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
  }
  #nav-btn:hover span {
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    width: 18px;
    right: 12px;
    -webkit-transition-delay: 0.1s;
         -o-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
  #nav-btn:hover:before, #nav-btn:hover:after {
    width: 32px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
  }
  #nav-btn:hover:after {
    -webkit-transition-delay: 0.2s;
         -o-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .view-more-button,
  .btn-blue-line {
    position: relative;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .view-more-button:hover,
  .btn-blue-line:hover {
    color: #fff;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .view-more-button:hover *,
  .btn-blue-line:hover * {
    color: #fff;
  }
  .view-more-button:hover:after,
  .btn-blue-line:hover:after {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .view-more-button:after,
  .btn-blue-line:after {
    content: "";
    width: 100%;
    height: 100%;
    background: #274a78;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .view-more-button span,
  .btn-blue-line span {
    position: relative;
    z-index: 1;
  }
  .simplefavorite-button {
    height: 50px;
    width: 250px;
  }
}

.site-branding .site-title {
  margin: 0;
  line-height: 1;
}

.site-branding .site-title a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 56px;
}

.site-branding .site-title a img {
  height: 24px;
  width: auto;
}

.footer-logo {
  display: block;
}

.footer-logo img {
  height: 36px;
  width: auto;
  vertical-align: bottom;
}

@media screen and (min-width: 960px) {
  .site-branding {
    height: inherit;
  }
  .site-branding .site-title {
    height: 100%;
  }
  .site-branding .site-title a {
    height: 100%;
  }
  .site-branding .site-title a img {
    width: 200px;
    height: auto;
  }
  .footer-logo img {
    height: 44px;
  }
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
  outline: none;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

img.pc, .wp-block-image.pc {
  display: none;
}

figure {
  margin: 30px 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

figure img {
  vertical-align: bottom;
}

figure figcaption {
  line-height: 1.25;
}

.no-image {
  width: 100%;
  height: 100%;
  background: #ddd;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: -webkit-linear-gradient(210deg, #0071b8, #274a78);
  background: -o-linear-gradient(210deg, #0071b8, #274a78);
  background: linear-gradient(240deg, #0071b8, #274a78);
  background-size: 200% 200%;
  -webkit-animation: bg-grade 2s ease infinite;
          animation: bg-grade 2s ease infinite;
}

.no-image:before {
  content: "";
  position: absolute;
  width: 45%;
  height: 45%;
  background: url(./images/logo-mark-w.svg) no-repeat center center;
  background-size: contain;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}

figure:not(.wp-block-table) {
  margin: 30px auto;
}

figure:not(.wp-block-table) a {
  display: block;
}

.wp-block-image {
  margin-bottom: 30px;
}

.wp-block-image figure {
  margin: 0;
}

.wp-block-image.text-left figure {
  margin-left: 0;
  margin-right: 0;
}

.video-thumb a {
  position: relative;
  display: block;
}

.video-thumb a:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  z-index: 1;
}

.video-thumb a:after {
  content: "play_circle_filled";
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  color: #fff;
  font-size: 60px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}

.video-thumb a figcaption {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  text-align: center;
  padding: 30px 15px;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  z-index: 3;
}

.video-thumb a:hover:before {
  opacity: 0.5;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.video-thumb a:hover figcaption {
  opacity: 0;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

video {
  max-width: 100%;
}

@media screen and (min-width: 600px) {
  img.pc, .wp-block-image.pc {
    display: block;
  }
  img.smp, .wp-block-image.smp {
    display: none;
  }
  figure {
    margin: 40px auto;
  }
  .wp-block-image {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 960px) {
  figure {
    margin: 50px auto;
  }
  .video-thumb a:after {
    font-size: 100px;
  }
  .wp-block-image {
    margin-bottom: 50px;
  }
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: none;
  background: #c0932f;
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  font-size: 14px;
  line-height: 1.5;
  padding: 12px 20px;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.26);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.26);
  width: 300px;
  height: 70px;
  font-size: 16px;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

input[type="button"]:active, input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 12px;
  font-size: 16px;
  border-radius: 8px;
  max-width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
  color: #111;
}

input[readonly="readonly"] {
  background: none;
  border: none;
  padding-left: 0;
  padding-right: 0;
  color: #333;
  font-size: 20px;
}

.submit-container {
  text-align: center;
  margin-bottom: 0;
}

input.wpcf7-submit {
  width: 300px;
  height: 70px;
  font-size: 16px;
}

div.wpcf7 .ajax-loader {
  display: block;
  margin: 10px auto;
}

.wpcf7-response-output {
  background: #fff;
  padding: 20px !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center;
}

.select-container {
  position: relative;
  display: inline-block;
}

.select-container:after {
  content: "unfold_more";
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.select-container select {
  outline: none;
  text-indent: 0.01px;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 48px;
  background: #fff;
}

.select-container select::-ms-expand {
  display: none;
}

textarea {
  width: 100%;
}

.wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 20px 0 0;
}

.wpcf7-radio .wpcf7-list-item label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.wpcf7-radio .wpcf7-list-item label input {
  display: none;
}

.wpcf7-radio .wpcf7-list-item label input + .wpcf7-list-item-label {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.wpcf7-radio .wpcf7-list-item label input + .wpcf7-list-item-label:before {
  content: "radio_button_unchecked";
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  color: #274a78;
  margin-right: 0.5em;
}

.wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label:before {
  content: "radio_button_checked";
}

.wpcf7-checkbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin: 20px 0 0;
  width: 100%;
}

.wpcf7-checkbox .wpcf7-list-item label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.wpcf7-checkbox .wpcf7-list-item label input {
  display: none;
}

.wpcf7-checkbox .wpcf7-list-item label input + .wpcf7-list-item-label {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.wpcf7-checkbox .wpcf7-list-item label input + .wpcf7-list-item-label:before {
  content: "check_box_outline_blank";
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  color: #274a78;
  margin-right: 0.5em;
}

.wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label:before {
  content: "check_box";
}

.wpcf7-free-text {
  margin-top: 20px;
}

.input-file-group input[type="file"] {
  display: none;
}

.input-file-group label {
  background: #274a78;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  width: 150px;
  position: relative;
  color: #fff;
  font-size: 14px;
}

.input-file-group label::after {
  content: "選択されていません";
  font-size: 17px;
  height: 20px;
  line-height: 20px;
  position: absolute;
  right: -180px;
  top: calc(50% - 10px);
  color: #333;
  font-size: 17px;
}

.input-file-group label.changed::after {
  content: "";
}

.input-file-group .filename {
  font-size: 17px;
  margin-left: 20px;
}

@media screen and (min-width: 600px) {
  .wpcf7-checkbox .wpcf7-list-item {
    width: 45%;
  }
  .wpcf7-checkbox .wpcf7-list-item:nth-child(even) {
    margin-left: 5%;
  }
}

@media screen and (min-width: 960px) {
  input[type="button"],
  input[type="reset"],
  input[type="submit"] {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  input[type="button"]:hover,
  input[type="reset"]:hover,
  input[type="submit"]:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translateY(-8px);
        -ms-transform: translateY(-8px);
            transform: translateY(-8px);
    -webkit-box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
            box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
  }
  input[type="button"]:active,
  input[type="reset"]:active,
  input[type="submit"]:active {
    -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
            transform: translateY(2px);
    -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
            box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

a.arrow-right,
.arrow-right a, .arrow-right span {
  font-size: 18px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: 'Noto Serif JP', serif;
  opacity: 1;
  color: #274a78;
}

a.arrow-right span,
.arrow-right a span, .arrow-right span span {
  width: calc(100% - 39px);
  display: inline-block;
}

a.arrow-right:after,
.arrow-right a:after, .arrow-right span:after {
  content: "";
  height: 24px !important;
  width: 24px !important;
  display: block;
  background: url(./images/arrow-right-circle.svg) no-repeat center center;
  background-size: 24px 24px;
  margin-left: 10px;
}

.arrow-right a + a {
  font-size: 13px;
  margin-top: 10px;
  display: block;
}

.arrow-right a + a:before, .arrow-right a + a:after {
  content: none;
}

.arrow-right {
  line-height: 1;
}

a.back {
  font-size: 14px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: 'Noto Serif JP', serif;
  opacity: 0.5;
  position: relative;
  padding-left: 30px;
}

a.back:after {
  content: "";
  width: 1px;
  height: 28px;
  background: #333;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

a.back:before {
  content: "";
  height: 28px;
  width: 28px;
  background: url(./images/arrow-left-circle.svg) no-repeat center center;
  background-size: 28px 28px;
  margin-right: 10px;
}

a.text-link-gold {
  color: #c0932f;
}

a.text-link-gold:hover {
  text-decoration: underline;
}

a.text-link {
  color: #2194f1;
}

a.text-link:hover {
  text-decoration: underline;
}

a.underline {
  text-decoration: underline;
}

a.underline:hover {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

@media screen and (min-width: 600px) {
  a.back,
  a.arrow-right,
  .arrow-right a, .arrow-right span {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  a.back:hover,
  a.arrow-right:hover,
  .arrow-right a:hover, .arrow-right span:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 1;
  }
  p.arrow-right {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  a.arrow-right:before,
  .arrow-right a:before, .arrow-right span:before {
    content: "";
    width: 100px;
    height: 1px;
    background: #274a78;
    margin-right: 30px;
  }
  a.arrow-right span,
  .arrow-right a span, .arrow-right span span {
    width: calc(100% - 39px - 130px);
    display: inline-block;
  }
  a.arrow-right + a,
  .arrow-right a + a, .arrow-right span + a {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin: 0 0 0 10px;
    color: #999;
  }
  a.link-area {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  a.link-area:hover {
    opacity: 0.7;
  }
  figure a {
    display: block;
    overflow: hidden;
  }
  figure a img {
    -webkit-transform: scale(100%);
        -ms-transform: scale(100%);
            transform: scale(100%);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  figure a:hover img {
    -webkit-transform: scale(110%);
        -ms-transform: scale(110%);
            transform: scale(110%);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .hover-notrim a {
    overflow: visible;
  }
}

@media screen and (min-width: 960px) {
  a.arrow-right:hover, .arrow-right a:hover {
    color: #2194f1;
  }
  a.arrow-right:hover::before, .arrow-right a:hover::before {
    background-color: #2194f1;
  }
  .arrow-right a + a:hover {
    color: #333;
  }
}

.gray1-bg {
  background: #f0f0f0;
}

.gray2-bg {
  background: #e9e9e9;
}

.gray3-bg {
  background: #ddd;
}

.blue-bg {
  background: #274a78;
  color: #fff;
}

.gold-bg {
  background: #c0932f;
  color: #fff;
}

.green-bg {
  background: #00B900;
}

.beige-bg {
  background: #e6e4dd;
}

.paper-bg {
  background: url(./images/paper-bg.png) no-repeat top left;
}

.black-bg {
  background: #000;
}

.red-bg {
  background: #e53935;
}

table {
  margin: 30px 0;
  border-collapse: collapse;
  border-spacing: 0;
}

table p {
  margin: 15px 0;
  line-height: 1.7;
}

table p:nth-child(1) {
  margin-top: 0;
}

table p:nth-last-child(1) {
  margin-bottom: 0;
}

.wp-block-table > table {
  margin: 0;
}

table.style01, .wp-block-table.style01 > table {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

table.style01 th,
table.style01 td, .wp-block-table.style01 > table th,
.wp-block-table.style01 > table td {
  display: block;
  width: 100%;
  text-align: left;
  border-color: #ddd;
  border-style: solid;
  padding: 15px 20px;
}

table.style01 tr, .wp-block-table.style01 > table tr {
  display: block;
}

table.style01 th, .wp-block-table.style01 > table th {
  border-width: 1px 1px 0 1px;
  background: #f0f0f0;
}

table.style01 td, .wp-block-table.style01 > table td {
  border-width: 0 1px 0 1px;
}

table.style01 td:last-of-type, .wp-block-table.style01 > table td:last-of-type {
  border-width: 1px;
}

table.style02, .wp-block-table.style02 > table {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

table.style02 th,
table.style02 td, .wp-block-table.style02 > table th,
.wp-block-table.style02 > table td {
  display: block;
  width: 100%;
  text-align: left;
  padding: 15px 20px 15px 0;
  position: relative;
}

table.style02 th, .wp-block-table.style02 > table th {
  border-bottom: 1px solid #999;
}

table.style02 th:before, .wp-block-table.style02 > table th:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 30%;
  background: #000;
}

table.style02 tr, .wp-block-table.style02 > table tr {
  display: block;
}

table.tbl-normal th, table.tbl-normal td, .wp-block-table.tbl-normal > table th, .wp-block-table.tbl-normal > table td {
  border: 1px solid #ddd;
  padding: 0.8em;
  text-align: left;
}

table.style03, .wp-block-table.style03 > table {
  font-size: 14px;
}

table.style03 tr, .wp-block-table.style03 > table tr {
  background: #ffffff;
}

table.style03 tr:nth-child(even), .wp-block-table.style03 > table tr:nth-child(even) {
  background: #f5f5f5;
}

table.style03 tr th, .wp-block-table.style03 > table tr th {
  font-weight: bold;
}

table.style03 tr th, table.style03 tr td, .wp-block-table.style03 > table tr th, .wp-block-table.style03 > table tr td {
  padding: 1.2em 0.6em;
  line-height: 1.5;
}

table.style03 tr th:nth-child(1), table.style03 tr td:nth-child(1), .wp-block-table.style03 > table tr th:nth-child(1), .wp-block-table.style03 > table tr td:nth-child(1) {
  padding-left: 1.2em;
}

table.style03 tr th:nth-last-child(1), table.style03 tr td:nth-last-child(1), .wp-block-table.style03 > table tr th:nth-last-child(1), .wp-block-table.style03 > table tr td:nth-last-child(1) {
  padding-right: 1.2em;
}

table.style03 tr th a, table.style03 tr td a, .wp-block-table.style03 > table tr th a, .wp-block-table.style03 > table tr td a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #274a78;
  color: #fff;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 24px;
  padding: 0 1em;
  border-radius: 4px;
  font-size: 13px;
  white-space: nowrap;
}

@media screen and (min-width: 600px) {
  table {
    margin: 40px 0;
  }
  table.style01 tr, .wp-block-table.style01 > table tr {
    display: table-row;
  }
  table.style01 th,
  table.style01 td, .wp-block-table.style01 > table th,
  .wp-block-table.style01 > table td {
    display: table-cell;
    width: auto;
  }
  table.style01 th, .wp-block-table.style01 > table th {
    white-space: nowrap;
    text-align: center;
  }
  table.style02 tr, .wp-block-table.style02 > table tr {
    display: table-row;
  }
  table.style02 th,
  table.style02 td, .wp-block-table.style02 > table th,
  .wp-block-table.style02 > table td {
    display: table-cell;
    width: auto;
    border-bottom: 1px solid #999;
  }
  table.style02 th, .wp-block-table.style02 > table th {
    white-space: nowrap;
    border-bottom: 1px solid #000;
  }
  table.style02 th:before, .wp-block-table.style02 > table th:before {
    content: none;
  }
}

@media screen and (min-width: 960px) {
  table {
    margin: 50px 0;
  }
  table.style01 th,
  table.style01 td, .wp-block-table.style01 > table th,
  .wp-block-table.style01 > table td {
    padding: 30px 40px;
  }
  table.style01 th, .wp-block-table.style01 > table th {
    width: 18%;
  }
  table.style02 th, .wp-block-table.style02 > table th {
    padding: 30px 0;
    vertical-align: top;
  }
  table.style02 td, .wp-block-table.style02 > table td {
    padding: 30px 40px;
  }
  table.style02 th, .wp-block-table.style02 > table th {
    width: 15%;
  }
  table.style03, .wp-block-table.style03 > table {
    font-size: inherit;
  }
  table.style03 tr th a, table.style03 tr td a, .wp-block-table.style03 > table tr th a, .wp-block-table.style03 > table tr td a {
    font-size: 14px;
    height: 32px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  table.style03 tr th a:hover, table.style03 tr td a:hover, .wp-block-table.style03 > table tr th a:hover, .wp-block-table.style03 > table tr td a:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    opacity: .7;
  }
}

/*--------------------------------------------------------------
# Molecules
--------------------------------------------------------------*/
#sitemap {
  display: none;
  width: 100%;
  background: #333;
}

.sitemap-head {
  height: 56px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #333;
  padding: 0 4%;
}

.sitemap-head a {
  height: 56px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.sitemap-head a img {
  height: 24px;
  width: auto;
}

.sitemap-content {
  padding-bottom: 100px;
  background: #333;
  position: absolute;
  top: 56px;
  left: 0;
  width: 100%;
  height: calc(100vh - 56px);
  overflow-y: scroll;
}

.sitemap-content h2 {
  color: #fff;
  font-size: 16px;
  padding: 0 8%;
  margin-bottom: 17px;
  border-bottom: 1px solid #999;
  padding-bottom: 0.75em;
}

.sitemap-content ul {
  margin: 0;
}

.sitemap-content ul li {
  padding: 0.75em 8%;
  color: #fff;
  font-size: 15px;
}

.sitemap-content ul li a {
  color: #fff;
  display: block;
  padding: 0 1em;
  font-size: 15px;
}

.sitemap-content ul li.has-child > a {
  margin-bottom: 12px;
  padding-left: 0;
}

.sitemap-content ul li.has-child li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0;
}

.sitemap-content ul li.has-child li:before {
  content: "";
  width: 30px;
  height: 1px;
  background: #fff;
  margin-right: 0.75em;
  margin-left: 6%;
}

.sitemap-content ul li.has-child li a {
  padding: 0;
}

.sitemap-content ul li.favarite {
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 20px 1em;
  margin: 0.75em 0;
}

.sitemap-content ul li.favarite a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.sitemap-content ul li.favarite a:before {
  content: "bookmark_border";
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  font-size: 18px;
  margin-right: 0.5em;
}

.sitemap-content ul li.model {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #999;
}

.sitemap-content ul li.new a {
  position: relative;
}

.sitemap-content ul li.new a::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #FFC107;
  position: absolute;
  right: -0.5em;
  top: 0;
}

.sitemap-content ul.sns {
  margin-top: 20px;
}

.sitemap-content ul.sns li:nth-child(1) {
  border-top: 1px solid #999;
  padding-top: 20px;
}

.sitemap-content ul.sns a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.sitemap-content ul.sns a:before {
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 0.5em;
}

.sitemap-content ul.sns a.insta:before {
  background: url(./images/icon-insta-w.svg) no-repeat center center;
  background-size: 18px 18px;
}

.sitemap-content ul.sns a.fb:before {
  background: url(./images/icon-fb-w.svg) no-repeat center center;
  background-size: 18px 18px;
}

.sitemap-content ul.sns a.yt:before {
  background: url(./images/icon-yt-w.svg) no-repeat center center;
  background-size: 20px 14px;
}

.sitemap-content ul.sns a.line:before {
  background: url(./images/icon-line-w.svg) no-repeat center center;
  background-size: 18px 18px;
}

.sitemap-content ul.sns a.twitter:before {
  background: url(./images/icon-twitter-w.svg) no-repeat center center;
  background-size: 20px 16px;
}

.footer-navigation .menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

.footer-navigation .menu li a {
  margin: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.footer-navigation .menu li a:hover {
  opacity: .7;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.footer-navigation .menu li a:before {
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 0.5em;
}

.footer-navigation .menu li.insta a:before {
  background: url(./images/icon-insta.svg) no-repeat center center;
  background-size: 18px 18px;
}

.footer-navigation .menu li.fb a:before {
  background: url(./images/icon-fb.svg) no-repeat center center;
  background-size: 18px 18px;
}

.footer-navigation .menu li.yt a:before {
  background: url(./images/icon-yt.svg) no-repeat center center;
  background-size: 20px 14px;
}

.footer-navigation .menu li.twitter a:before {
  background: url(./images/icon-twitter.svg) no-repeat center center;
  background-size: 20px 16px;
}

.footer-navigation .menu li.recruit {
  margin-left: auto;
}

.footer-navigation .menu li.recruit a:before {
  height: 1px;
  width: 100px;
  margin-right: 30px;
}

.nav-links,
.page-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.nav-links .nav-previous,
.nav-links .nav-next,
.page-links .nav-previous,
.page-links .nav-next {
  margin: 0 10px;
}

.nav-links .nav-previous a,
.nav-links .nav-next a,
.page-links .nav-previous a,
.page-links .nav-next a {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  font-size: 18px;
  background: #274a78;
  color: #fff;
  height: 50px;
  width: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.nav-links .nav-archive,
.page-links .nav-archive {
  margin: 0 10px;
}

.nav-links .nav-archive a,
.page-links .nav-archive a {
  background: #274a78;
  color: #fff;
  height: 50px;
  width: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.nav-links .page-numbers,
.nav-links .post-page-numbers,
.page-links .page-numbers,
.page-links .post-page-numbers {
  background: #eee;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 30px;
  height: 50px;
  margin: 0 10px;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.nav-links .page-numbers:hover,
.nav-links .post-page-numbers:hover,
.page-links .page-numbers:hover,
.page-links .post-page-numbers:hover {
  background: #ddd;
}

.nav-links .current,
.page-links .current {
  background: #999;
  color: #fff;
}

.nav-links .current:hover,
.page-links .current:hover {
  background: #999;
}

.nav-links .page-numbers.next,
.nav-links .page-numbers.prev,
.page-links .page-numbers.next,
.page-links .page-numbers.prev {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  background: #333;
  color: #fff;
  height: 50px;
  width: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 15px;
}

.nav-links .page-numbers.next:hover,
.nav-links .page-numbers.prev:hover,
.page-links .page-numbers.next:hover,
.page-links .page-numbers.prev:hover {
  background: #000;
}

@media screen and (min-width: 600px) {
  .sitemap-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0 4% 100px;
  }
  .sitemap-content h2,
  .sitemap-content ul li {
    padding: 0.75em 0;
  }
  .sitemap-content .block {
    width: 50%;
    padding: 0 30px;
  }
  .sitemap-content .block:nth-child(1) {
    width: 100%;
  }
}

@media screen and (min-width: 960px) {
  .sitemap-head {
    height: 80px;
    padding: 0 3.125vw;
  }
  .sitemap-head a {
    height: 90px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .sitemap-head a img {
    width: 240px;
    height: auto;
  }
  .sitemap-content {
    top: 80px;
    padding: 80px 10.4166666vw;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(100% + 20px);
  }
  .sitemap-content .block {
    width: auto;
    padding: 0 30px;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .sitemap-content .block:nth-child(1) {
    width: auto;
  }
  .sitemap-content h2 {
    font-weight: normal;
    font-size: 17px !important;
    color: #999;
    padding: 0;
    margin: 0 0 60px;
    border: none;
  }
  .sitemap-content ul li {
    padding: 15px 0;
    font-size: 17px;
  }
  .sitemap-content ul li a {
    font-size: 17px;
    padding: 0;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
  }
  .sitemap-content ul li a:hover {
    opacity: 0.7;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
  }
  .sitemap-content li.has-child li {
    padding: 10px 0;
  }
  .main-navigation .menu {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    background: none;
    padding-bottom: 0;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0;
  }
  .main-navigation .menu > li {
    position: relative;
    border-right: 1px solid #ddd;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .main-navigation .menu > li:after {
    content: "";
    width: 100%;
    height: 2px;
    background: #c0932f;
    position: absolute;
    bottom: -24px;
    left: 0;
    opacity: 0;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .main-navigation .menu > li:hover:after {
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .main-navigation .menu > li:nth-child(1) {
    border-left: 1px solid #ddd;
  }
  .main-navigation .menu > li a {
    color: #333;
    border: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1.0416666vw;
    height: 40px;
    overflow: hidden;
    font-size: 14px;
    white-space: nowrap;
    font-family: 'Noto Serif JP', serif;
  }
  .main-navigation .menu > li:hover > ul.sub-menu {
    display: block;
    -webkit-animation: fadeInLeft 1s forwards ease;
            animation: fadeInLeft 1s forwards ease;
  }
  .main-navigation .menu > li ul.sub-menu {
    padding-top: 24px;
    position: absolute;
    left: 0;
    top: 40px;
    margin-left: 0;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    display: none;
    opacity: 0;
  }
  .main-navigation .menu > li ul.sub-menu li {
    border-bottom: 1px solid #ddd;
    background-color: rgba(250, 250, 250, 0.8);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    position: relative;
  }
  .main-navigation .menu > li ul.sub-menu li:after {
    content: "";
    width: 100%;
    height: 2px;
    background: #c0932f;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .main-navigation .menu > li ul.sub-menu li:hover {
    background-color: #fafafa;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .main-navigation .menu > li ul.sub-menu li:hover:after {
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .main-navigation .menu > li ul.sub-menu li a {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left;
    height: 60px;
  }
  .main-navigation .menu > li ul.sub-menu li.new > a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .main-navigation .menu > li ul.sub-menu li.new > a::before {
    position: static;
    margin-left: 0.5em;
    margin-bottom: 1em;
  }
  .main-navigation .menu li.disabled > a {
    cursor: default;
  }
  .main-navigation .menu-item.new > a {
    position: relative;
  }
  .main-navigation .menu-item.new > a::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #FFC107;
    position: absolute;
    right: 10px;
    top: 10px;
  }
  .main-navigation.bottom .menu > li ul.sub-menu {
    top: auto;
    bottom: 40px;
    padding-bottom: 51px;
  }
  .sub-navigation {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .sub-navigation .menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
  }
  .sub-navigation .menu li {
    line-height: 1;
  }
  .sub-navigation .menu li a {
    font-size: 12px;
    padding: 0 6px;
    font-family: 'Noto Serif JP', serif;
    line-height: 1;
    color: #666;
    white-space: nowrap;
    overflow-x: hidden;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .sub-navigation .menu li a:hover {
    opacity: 0.5;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .sub-navigation .menu-item.new > a {
    position: relative;
  }
  .sub-navigation .menu-item.new > a::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #FFC107;
    position: absolute;
    right: 0;
    top: 0;
  }
  .sub-navigation.scrolled {
    opacity: 0;
    height: 0;
    margin-bottom: 0 !important;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
}

.slick-dots {
  bottom: -35px;
}

.slick-dots li {
  margin: 0;
}

.slick-dots li button {
  -webkit-box-shadow: none;
          box-shadow: none;
}

#slider,
.slider {
  opacity: 0;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
}

#slider.slick-initialized,
.slider.slick-initialized {
  opacity: 1;
  /*slick-initializedが付与されたら表示*/
}

.slide-container {
  max-width: 100%;
  width: 100%;
}

.slick-slide img {
  margin-left: auto;
  margin-right: auto;
}

#slider {
  width: 100%;
  position: relative;
  margin: 0;
}

#slider .slide-text {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#slider .slide-text h2 {
  margin: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  right: 10vw;
  top: calc(10vw + 56px);
  font-family: 'Noto Serif JP', serif;
}

#slider .slide-text h2 span {
  background: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0.5em 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#slider .slide-text h2 span:nth-last-child(1) {
  margin-right: 10px;
  margin-top: 60px;
}

#slider .slide-text .campagin-area {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0;
  -webkit-animation: fadeInUp 3s 1s forwards;
          animation: fadeInUp 3s 1s forwards;
  background-color: rgba(0, 0, 0, 0.5);
}

#slider .slide-text .campagin-area > * {
  max-width: 85%;
  max-height: 65vh;
  margin-left: auto;
  margin-right: auto;
}

#slider .slide-text .campagin-area img {
  max-height: 100%;
}

#slider .slide-text .campagin-area .view-more-button {
  color: #fff;
  border-color: #fff;
  margin-top: 30px;
}

#slider .slide-text .campagin-area .view-more-button:hover {
  border-color: #274a78;
}

#slider .slide-bg-inner {
  width: 100%;
  height: 600px;
  background-size: cover;
  background-position: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 60px;
  text-align: center;
}

#slider .slide-bg-inner h2 {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
  font-weight: normal;
  position: relative;
  padding-top: 120px;
  margin: 0 0 20px;
  letter-spacing: 3px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#slider .slide-bg-inner h2 span.line {
  content: "";
  display: block;
  width: 1px;
  height: 100px;
  background: #fff;
  top: 0;
  left: 50%;
  position: absolute;
}

#slider .slide-bg-inner p {
  color: #fff;
  font-size: 14px;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
}

/*スライドのズームアニメーション START*/
#slider .slick-list,
#slider .slick-track {
  height: 100%;
}

#slider .slide-bg {
  position: relative;
  overflow: hidden;
  list-style: none;
}

#slider .slide-bg-inner {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: scale(1.02);
      -ms-transform: scale(1.02);
          transform: scale(1.02);
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: -webkit-transform 8s linear;
  transition: -webkit-transform 8s linear;
  -o-transition: transform 8s linear;
  transition: transform 8s linear;
  transition: transform 8s linear, -webkit-transform 8s linear;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

#slider.zoom-ready .slick-current .slide-bg-inner,
#slider.zoom-ready .slick-active .slide-bg-inner {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}

@media screen and (min-width: 960px) {
  #slider.zoom-ready .slick-current .slide-bg-inner,
  #slider.zoom-ready .slick-active .slide-bg-inner {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
}

@media (prefers-reduced-motion: reduce) {
  #slider .slide-bg-inner {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
  }
}

/*スライドのズームアニメーション END*/
ul.top-news-list {
  position: relative;
}

ul.top-news-list .slick-arrow {
  display: block;
  width: 35px;
  height: 50px;
  position: absolute;
  top: -50px !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  background: rgba(0, 0, 0, 0.7);
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

ul.top-news-list .slick-arrow:hover {
  background: #000;
}

ul.top-news-list .slick-arrow:before {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  border-style: solid;
  border-color: #fff;
  border-width: 0 1px 1px 0;
  top: 50%;
  left: 50%;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translate(-100%, -50%) rotate(-45deg);
      -ms-transform: translate(-100%, -50%) rotate(-45deg);
          transform: translate(-100%, -50%) rotate(-45deg);
}

ul.top-news-list .prev-arrow {
  right: 35px;
  border-right: 1px solid #000;
}

ul.top-news-list .prev-arrow:before {
  -webkit-transform: translate(0, -50%) rotate(135deg);
      -ms-transform: translate(0, -50%) rotate(135deg);
          transform: translate(0, -50%) rotate(135deg);
}

ul.top-news-list .next-arrow {
  right: 0;
}

ul.slider li {
  padding: 0;
}

ul.slider li:before {
  content: none;
}

ul.slider .slick-arrow {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  color: #fff;
  font-size: 48px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
}

ul.slider .slick-arrow.next {
  right: 0;
}

ul.slider .slick-arrow.prev {
  left: 0;
}

ul.slider-for {
  margin: 0 0 16px;
}

ul.slider-nav .slick-track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

ul.slider-nav li {
  margin: 0 8px !important;
  height: 90px;
  max-width: 90px !important;
}

ul.slider-works figure {
  width: 100%;
  padding-top: 66.6666666%;
  position: relative;
  overflow: hidden;
  margin: 0;
}

ul.slider-works figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  max-width: none;
}

ul.slider-top-works .slide-text {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 345px;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
}

ul.slider-top-works .slide-text a {
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  padding: 0 100px 0 15px;
  font-family: 'Noto Serif JP', serif;
  font-size: 18px;
}

ul.slider-top-works .slick-arrow {
  background: #c0932f;
  width: 40px;
  height: 50px;
  font-size: 24px !important;
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  z-index: 3;
}

ul.slider-top-works .slick-arrow.prev {
  top: auto;
  left: auto;
  right: 50px;
  bottom: 5px;
}

ul.slider-top-works .slick-arrow.next {
  top: auto;
  left: auto;
  right: 5px;
  bottom: 5px;
}

ul.slider-top-works .slide-item a {
  position: relative;
  display: block;
}

ul.slider-top-works .slide-item a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

ul.slider-top-works .slide-item a img {
  position: relative;
  z-index: 1;
}

ul.slider-top-works .slide-item a h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
  margin: 0;
  color: #fff;
  width: 100%;
  text-align: center;
}

ul.camp-slider .slick-slide a {
  display: block;
  position: relative;
}

ul.camp-slider .slick-slide a .area-label {
  right: auto;
  left: 0;
  width: auto;
}

ul.camp-slider .slick-arrow {
  font-size: 24px;
}

ul.camp-slider .slick-slide {
  padding-right: 15px;
}

ul.camp-slider .slick-track {
  margin-left: 0;
  margin-right: 0;
}

ul.seminar-slider a {
  display: block;
  position: relative;
}

ul.seminar-slider a h3 {
  margin: 0;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 1.25;
  color: #fff;
  padding: 0.5em 1em;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  max-width: 100%;
}

.video-slider {
  margin-left: -1.6vw;
  margin-right: -1.6vw;
  padding-bottom: 30px;
}

.video-slider .slick-arrow {
  background: #274a78;
  width: 30px;
  height: 30px;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.video-slider .slick-arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #fff;
  display: block;
}

.video-slider .slick-next {
  top: -40px;
  right: 5px;
}

.video-slider .slick-next::before {
  -webkit-transform: translateX(-25%) rotate(-45deg);
      -ms-transform: translateX(-25%) rotate(-45deg);
          transform: translateX(-25%) rotate(-45deg);
}

.video-slider .slick-prev {
  top: -40px;
  left: auto;
  right: 40px;
}

.video-slider .slick-prev::before {
  -webkit-transform: translateX(25%) scale(-1, 1) rotate(-45deg);
      -ms-transform: translateX(25%) scale(-1, 1) rotate(-45deg);
          transform: translateX(25%) scale(-1, 1) rotate(-45deg);
}

.video-slider .slick-slide a {
  display: block;
  padding: 0 1.6vw;
}

.video-slider .slick-slide a img {
  margin-bottom: 15px;
}

.video-slider .slick-slide a h3 {
  font-size: 16px;
  color: #274a78;
  margin: 0;
  line-height: 1.25;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  /* 表示したい行数 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.video-slider .slick-slide a .new-label {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #e53935;
  color: #fff;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0.5em;
  font-size: 13px;
  -webkit-transform: scale(85%);
      -ms-transform: scale(85%);
          transform: scale(85%);
  border-radius: 3px;
}

.video-slider .slick-dots {
  bottom: -8px;
}

@media screen and (min-width: 960px) {
  #slider .slide-text h2 {
    font-size: 5.16vh;
    top: 7.8125vw;
    right: 18.75vw;
    line-height: 1;
  }
  #slider .slide-text h2 span {
    line-height: 1;
    width: 68px;
    padding: 0.2em 0;
  }
  #slider .slide-text h2 span:nth-last-child(1) {
    margin-top: 100px;
    margin-right: 20px;
  }
  #slider .slide-bg-inner {
    height: 100vh;
    padding-bottom: 40px;
  }
  #slider .slide-bg-inner h2 {
    font-size: 40px;
  }
  #slider .slide-bg-inner p {
    font-size: 18px;
    letter-spacing: 2px;
  }
  .slider-works .slick-arrow {
    color: #333 !important;
    font-size: 36px !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    height: 50px;
    width: 50px;
    border: 1px solid #333;
    opacity: .5;
    -webkit-transform: all 0.5s;
        -ms-transform: all 0.5s;
            transform: all 0.5s;
  }
  .slider-works .slick-arrow:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 1;
  }
  .slider-works .slick-arrow.next {
    right: -80px !important;
  }
  .slider-works .slick-arrow.prev {
    left: -80px !important;
  }
  .camp-slider-wrap, .seminar-slider-wrap {
    width: 100%;
  }
  .camp-slider-wrap .slider, .seminar-slider-wrap .slider {
    margin: 0;
  }
  ul.camp-slider .slick-slide a {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  ul.camp-slider .slick-slide a:hover {
    opacity: 0.7;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  ul.seminar-slider a {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  ul.seminar-slider a:hover {
    opacity: 0.7;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  ul.seminar-slider a h3 {
    font-size: 24px;
  }
  .video-slider {
    margin-left: -5px;
    margin-right: -5px;
    padding-bottom: 30px;
  }
  .video-slider .slick-slide a {
    display: block;
    padding: 0 5px;
  }
  .video-slider .slick-slide a img {
    margin-bottom: 15px;
  }
  .video-slider .slick-slide a h3 {
    font-size: 16px;
    color: #274a78;
    margin: 0;
    line-height: 1.25;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    /* 表示したい行数 */
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .video-slider .slick-dots {
    bottom: -8px;
  }
}

.columns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 30px 0;
  width: 100%;
}

.columns > .sm-col1 {
  width: 100%;
}

.columns > .sm-col1:nth-child(1) > *:nth-child(1) {
  margin-top: 0;
}

.columns > .sm-col2 {
  width: calc(50% - 2.6041666vw);
}

.columns > .sm-col2:nth-child(1) > *:nth-child(1), .columns > .sm-col2:nth-child(2) > *:nth-child(1) {
  margin-top: 0;
}

.columns > .sm-col2:nth-child(2n) {
  margin-left: 5.2083333vw;
}

.wp-block-columns {
  margin-bottom: 30px;
}

.wp-block-columns figure {
  margin-top: 0;
}

@media (max-width: 599px) {
  .wp-block-columns.sm-col2 {
    gap: 0;
  }
  .wp-block-columns.sm-col2 .wp-block-column {
    -webkit-flex-basis: 48% !important;
        -ms-flex-preferred-size: 48% !important;
            flex-basis: 48% !important;
  }
  .wp-block-columns.sm-col2 .wp-block-column:nth-child(even) {
    margin-left: 4%;
  }
}

@media screen and (min-width: 600px) {
  .columns {
    margin: 40px 0;
  }
  .columns > .md-col1 {
    width: 100%;
  }
  .columns > .md-col2 {
    width: calc(50% - 2.6041666vw);
  }
  .columns > .md-col2:nth-child(1) > *:nth-child(1), .columns > .md-col2:nth-child(2) > *:nth-child(1) {
    margin-top: 0;
  }
  .columns > .md-col2:nth-child(2n) {
    margin-left: 5.2083333vw;
  }
  .columns > .md-col3 {
    width: calc(33.3333333% - 3.4722222vw);
  }
  .columns > .md-col3:nth-child(1) > *:nth-child(1), .columns > .md-col3:nth-child(2) > *:nth-child(1), .columns > .md-col3:nth-child(3) > *:nth-child(1) {
    margin-top: 0;
  }
  .columns > .md-col3:not(:nth-child(1)) {
    margin-left: 5.2083333vw;
  }
  .columns > .md-col3:nth-child(3n + 1) {
    margin-left: 0;
  }
  .wp-block-columns {
    margin-bottom: 40px;
  }
  .wp-block-column {
    -webkit-box-flex: 1 !important;
    -webkit-flex-grow: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important;
  }
}

@media screen and (min-width: 782px) {
  .post .wp-block-column > *:nth-child(1) {
    margin-top: 0;
  }
}

@media screen and (min-width: 960px) {
  .columns {
    margin: 50px 0;
  }
  .columns > .lg-col1 {
    width: 100%;
  }
  .columns > .lg-col2 {
    width: calc(50% - 2.6041666vw);
  }
  .columns > .lg-col2:nth-child(2n) {
    margin-left: 5.2083333vw;
  }
  .columns > .lg-col3 {
    width: calc(33.3333333% - 3.4722222vw);
  }
  .columns > .lg-col3:nth-child(1) > *:nth-child(1), .columns > .lg-col3:nth-child(2) > *:nth-child(1), .columns > .lg-col3:nth-child(3) > *:nth-child(1) {
    margin-top: 0;
  }
  .columns > .lg-col3:not(:nth-child(1)) {
    margin-left: 5.2083333vw;
  }
  .columns > .lg-col3:nth-child(3n + 1) {
    margin-left: 0;
  }
  .wp-block-columns {
    margin-bottom: 50px;
  }
}

li,
dt,
dd {
  font-size: 17px;
  line-height: 2;
}

dt,
dd {
  margin: 0;
}

ul.disc li {
  position: relative;
  padding-left: 1.25em;
}

ul.disc li:nth-last-child(1) {
  margin-bottom: 0;
}

ul.disc li:before {
  content: "";
  width: 1em;
  height: 1em;
  background: #e6e4dd;
  border-radius: 50%;
  position: absolute;
  top: 0.5em;
  left: 0;
}

ol {
  padding-left: 1.25em;
}

dl.land dt {
  background: #757575;
  color: #fff;
  padding: 0.5em 1em;
}

dl.land dt span {
  margin-right: 0.5em;
}

.news-list li {
  padding: 15px 0;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.news-list li:first-child {
  padding-top: 0;
}

.news-list li time {
  margin-right: 20px;
  font-size: 13px;
}

.news-list li a {
  font-size: 14px;
}

.column-list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
}

.column-list > li:first-child {
  padding-top: 0;
}

.column-list > li figure {
  width: 30%;
  max-width: 150px;
  margin: 0;
  margin-right: 15px;
}

.column-list > li figure a {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
}

.column-list > li figure a img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: none;
  height: 100%;
  width: auto;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.column-list > li .text {
  width: 70%;
  line-height: 1.5;
}

.column-list > li .text .cat-line {
  margin: 0 0 10px;
  line-height: 1;
}

.column-list > li .text .cat-line a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #c0932f;
  font-size: 13px;
  color: #fff;
  height: 24px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 8px;
  line-height: 1;
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  -webkit-transform: scale(0.85);
      -ms-transform: scale(0.85);
          transform: scale(0.85);
}

.column-list > li .text .cat-line .se {
  background: #274a78;
}

.column-list > li .text .cat-line .fands {
  background: #e57373;
}

.column-list > li .text h3 {
  font-size: 16px;
  margin: 0;
}

.column-list > li .text .excerpt p {
  margin: 10px 0 0;
  font-size: 14px;
  height: 3em;
  overflow: hidden;
  line-height: 1.5;
}

.post-list-with-thumbnail {
  margin: 0;
}

.post-list-with-thumbnail li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
}

.post-list-with-thumbnail li:first-child {
  padding-top: 0;
}

.post-list-with-thumbnail li figure {
  width: 30%;
  margin: 0;
}

.post-list-with-thumbnail li figure a {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
}

.post-list-with-thumbnail li figure a img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: none;
  height: 100%;
  width: auto;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.post-list-with-thumbnail li .text {
  width: calc(100% - 30% - 15px);
  line-height: 1.5;
}

.post-list-with-thumbnail li .text span.meta {
  font-size: 13px;
  color: #999;
  padding-right: 0.75em;
  margin-right: 0.75em;
  border-right: 1px solid #999;
  letter-spacing: normal;
}

.post-list-with-thumbnail li .text h3 {
  font-size: 16px;
  margin: 0;
}

.post-list-with-thumbnail li .text p {
  margin: 15px 0 0;
}

.post-list-with-thumbnail li.animated {
  -webkit-animation: fadeInUp 1s forwards;
          animation: fadeInUp 1s forwards;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

dl.note {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 15px;
  padding: 0.75em 0;
  border-top: 1px solid #c0932f;
  margin: 0;
}

dl.note dt {
  -webkit-flex-basis: 25%;
      -ms-flex-preferred-size: 25%;
          flex-basis: 25%;
  margin: 0;
}

dl.note dd {
  -webkit-flex-basis: 75%;
      -ms-flex-preferred-size: 75%;
          flex-basis: 75%;
  margin: 0;
}

ul.step li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
}

ul.step li .num {
  margin-right: 20px;
}

ul.step li .num span {
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  width: 50px;
  height: 46px;
  font-size: 30px;
  line-height: 1;
  color: #274a78;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: url(./images/num-bg.svg) no-repeat center center;
  background-size: contain;
  position: relative;
  letter-spacing: normal;
}

ul.step li .num span:before, ul.step li .num span:after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #8699b3;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -30px;
}

ul.step li .num span:after {
  bottom: -60px;
}

ul.step li .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

ul.step li .content h3 {
  margin: 10px 0 0;
  color: #274a78;
}

ul.step li .content p {
  margin: 20px 0;
}

ul.step li .content p:nth-last-child(1) {
  margin-bottom: 0;
}

ul.step-reform li:nth-child(1) .content:after {
  content: "";
  width: 270px;
  height: 114px;
  background: url(./images/reform-step1.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-reform li:nth-child(3) .content:after {
  content: "";
  width: 225px;
  height: 132px;
  background: url(./images/reform-step2.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-reform li:nth-child(5) .content:after {
  content: "";
  width: 218px;
  height: 166px;
  background: url(./images/reform-step3.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-reform li:nth-child(7) .content:after {
  content: "";
  width: 183px;
  height: 153px;
  background: url(./images/reform-step4.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-reform li:nth-child(9) .content:after {
  content: "";
  width: 234px;
  height: 153px;
  background: url(./images/reform-step5.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-flow li:nth-child(1) .content:after {
  content: "";
  width: 230px;
  height: 161px;
  background: url(./images/flow1.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-flow li:nth-child(3) .content:after {
  content: "";
  width: 230px;
  height: 147px;
  background: url(./images/flow2.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-flow li:nth-child(5) .content:after {
  content: "";
  width: 230px;
  height: 155px;
  background: url(./images/flow3.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

ul.step-flow li:nth-child(7) .content:after {
  content: "";
  width: 230px;
  height: 135px;
  background: url(./images/flow4.png) no-repeat center center;
  background-size: contain;
  margin-top: 20px;
}

dl.balloon-unite {
  margin: 30px 0;
  text-align: center;
}

dl.balloon-unite dt {
  font-family: "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
  background: #274a78;
  padding: 12px 20px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: #fff;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 270px;
  font-size: 24px;
  position: relative;
  margin: 0 auto 15px;
  line-height: 1.5;
}

dl.balloon-unite dt:before {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 10px 0 10px;
  border-color: #274a78 transparent transparent transparent;
}

dl.balloon-unite dd {
  background: #fff;
  margin: 0;
  padding: 30px;
  text-align: left;
}

dl.balloon-unite dd > *:nth-child(1) {
  margin-top: 0;
}

dl.balloon-unite dd > *:nth-last-child(1) {
  margin-bottom: 0;
}

dl.balloon-unite.animated {
  -webkit-animation: slideInLeft 1s forwards;
          animation: slideInLeft 1s forwards;
}

.widget-area .rpwwt-widget ul li {
  line-height: 1.3;
}

.event-list,
.model-list,
.concept-list,
.ehkai-list,
.works-list,
.topics-list {
  margin: 0;
}

.event-list li,
.model-list li,
.concept-list li,
.ehkai-list li,
.works-list li,
.topics-list li {
  margin-bottom: 8%;
}

.event-list li:nth-last-child(1),
.model-list li:nth-last-child(1),
.concept-list li:nth-last-child(1),
.ehkai-list li:nth-last-child(1),
.works-list li:nth-last-child(1),
.topics-list li:nth-last-child(1) {
  margin: 0;
}

.event-list figure,
.model-list figure,
.concept-list figure,
.ehkai-list figure,
.works-list figure,
.topics-list figure {
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
}

.event-list figure a,
.model-list figure a,
.concept-list figure a,
.ehkai-list figure a,
.works-list figure a,
.topics-list figure a {
  display: block;
  width: 100%;
  height: 100%;
}

.event-list figure img,
.model-list figure img,
.concept-list figure img,
.ehkai-list figure img,
.works-list figure img,
.topics-list figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.event-list .text h3,
.model-list .text h3,
.concept-list .text h3,
.ehkai-list .text h3,
.works-list .text h3,
.topics-list .text h3 {
  margin: 4% 0;
  line-height: 1.25;
}

.event-list .text p,
.model-list .text p,
.concept-list .text p,
.ehkai-list .text p,
.works-list .text p,
.topics-list .text p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.event-list li {
  background: #f5f5f5;
  margin-bottom: 4%;
}

.event-list li figure {
  margin: 0;
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.event-list li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.event-list li figure span {
  position: absolute;
  top: 0;
  right: 0;
}

.event-list li figure .label-new {
  background: #c0932f;
  color: #fff;
  line-height: 1;
  padding: 0.25em 0.4em;
  font-size: 13px;
}

.event-list li figure .finish {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: url(./images/event-end.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
  z-index: 1;
}

.event-list li .text {
  padding: 15px;
}

.event-list li .text h3 {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 0.5em;
  padding-bottom: 1em;
  border-bottom: 1px solid #ddd;
}

.event-list li .text dl {
  max-width: 100%;
  font-size: 13px;
}

.event-list li .text dt,
.event-list li .text dd {
  font-size: 13px;
  font-weight: normal;
  line-height: 1.5;
}

.event-list li .text dd {
  margin: 0;
  white-space: nowrap;
  overflow-x: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.event-list li:nth-last-child(1) {
  margin-bottom: 4%;
}

.model-list a {
  display: block;
  position: relative;
}

.model-list figure {
  position: relative;
  padding-top: 66.6667%;
}

.model-list figure a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.model-list figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.model-list .text .label {
  margin-top: 20px;
}

.model-list .text .label + h3 {
  margin-top: 10px;
  margin-bottom: 15px;
}

.model-list .text .price-line {
  padding: 10px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  margin: 0 0 15px;
}

.model-list .text .price-line + p:not(.sm) {
  overflow: hidden;
  height: 4.5em;
}

.model-list .recommend-attention {
  position: absolute;
  top: 0;
  left: 0;
}

.model-list .recommend-attention .recommend-label {
  background: #e53935;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: #fff;
  font-size: 14px;
  padding: 0.25em 0.5em;
}

.model-list .recommend-attention span:not(.recommend-label) {
  color: #fff;
  font-size: 13px;
  padding-left: 0.5em;
  letter-spacing: normal;
}

.concept-list h3 {
  text-align: center;
}

.concept-list li:nth-child(1) h3 {
  letter-spacing: -1px;
}

.concept-list li:nth-child(2) figure span, .concept-list li:nth-child(3) figure span {
  -webkit-transform: translateX(35%);
      -ms-transform: translateX(35%);
          transform: translateX(35%);
}

.concept-list figure {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  width: 100%;
  position: relative;
}

.concept-list figure:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.concept-list figure .num {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 70%;
  width: auto;
  z-index: 2;
  opacity: .7;
}

.concept-list figure span {
  position: absolute;
  bottom: 20%;
  line-height: 1;
  right: 28%;
  font-size: 20px;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  z-index: 1;
  white-space: nowrap;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.event-list,
.ehkai-list,
.works-list,
.ongoing-list {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.event-list li,
.ehkai-list li,
.works-list li,
.ongoing-list li {
  width: 48%;
  margin-right: 4%;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

.event-list li:nth-child(even),
.ehkai-list li:nth-child(even),
.works-list li:nth-child(even),
.ongoing-list li:nth-child(even) {
  margin-right: 0;
}

.event-list li .text h3,
.ehkai-list li .text h3,
.works-list li .text h3,
.ongoing-list li .text h3 {
  font-size: 14px;
}

.ehkai-list li:nth-last-child(1), .ehkai-list li:nth-last-child(2),
.works-list li:nth-last-child(1),
.works-list li:nth-last-child(2) {
  margin-bottom: 0;
}

.works-list .text h3 {
  margin-bottom: 0;
}

.ehkai-list li .text h3 {
  margin-bottom: 0;
}

.ehkai-list li .text .name {
  font-size: 17px;
}

.ehkai-list li .text .catchcopy {
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid #ddd;
}

.ehkai-list img {
  -webkit-filter: saturate(0);
          filter: saturate(0);
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.ehkai-list a:hover img {
  -webkit-filter: saturate(100%);
          filter: saturate(100%);
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.land-list li {
  border: 1px solid #274a78;
  margin-bottom: 30px;
}

.land-list li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px 20px;
  text-align: center;
}

.land-list li a > * {
  margin: 0 0 15px;
}

.land-list li h3 {
  color: #274a78;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding-top: 24px;
  position: relative;
  line-height: 1.5;
  font-size: 18px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.land-list li h3 .num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 13px;
  width: 24px;
  height: 24px;
  background: #e8383d;
  border-radius: 50%;
  letter-spacing: -2px;
  position: absolute;
  top: 0;
  right: -18px;
}

.land-list li h3 + p {
  font-size: 14px;
}

.land-list li .arrow-right {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ongoing-list {
  overflow: hidden;
  position: relative;
}

.ongoing-list::after {
  content: "";
  width: 100%;
  height: 150px;
  background-image: -webkit-gradient(linear, left bottom, left top, from(white), to(rgba(255, 255, 255, 0)));
  background-image: -webkit-linear-gradient(bottom, white, rgba(255, 255, 255, 0));
  background-image: -o-linear-gradient(bottom, white, rgba(255, 255, 255, 0));
  background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0));
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.ongoing-list figure {
  overflow: hidden;
  max-width: 150px;
  margin: 0 auto;
  position: relative;
}

.ongoing-list figure .area-label {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 20px;
  width: 60px;
  font-size: 13px;
  color: #fff;
  padding: 0 0.5em;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 0;
  right: 0;
  z-index: 1;
}

.ongoing-list figure .label-okinawa {
  background: #c0932f;
}

.ongoing-list figure .label-fukuoka {
  background: #274a78;
}

.ongoing-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(33.3333333% - 8% / 3);
  margin-bottom: 50px;
}

.ongoing-list li:nth-child(even) {
  margin-right: 4%;
}

.ongoing-list li:nth-child(3n) {
  margin-right: 0;
}

.ongoing-list li .text {
  margin: 0 0 15px;
}

.ongoing-list li .text h3 {
  margin: 15px 0 4px;
  line-height: 1.5;
}

.ongoing-list li .text h3 + p {
  font-size: 11px;
  margin: 0;
}

.ongoing-list .progress {
  margin-top: auto;
  width: 100%;
  height: 2px;
  background: #ddd;
  position: relative;
  margin-bottom: 32px;
}

.ongoing-list .progress:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 16.6666666%;
  background: #333;
  top: 0;
  z-index: 1;
}

.ongoing-list .progress:after {
  content: "";
  position: absolute;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -12px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 4px 8px 4px;
  border-color: transparent transparent #dddddd transparent;
}

.ongoing-list .progress span {
  background: #ddd;
  width: 60px;
  height: 20px;
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: -32px;
}

.ongoing-list .progress span:after {
  content: "";
  font-size: 12px;
  line-height: 1;
}

.ongoing-list .progress.step1:before {
  left: 0;
}

.ongoing-list .progress.step1:after {
  left: 8.3333333%;
}

.ongoing-list .progress.step1 span {
  left: 0;
}

.ongoing-list .progress.step1 span:after {
  content: "設計";
}

.ongoing-list .progress.step2:before {
  left: calc(16.6666666% * 1);
}

.ongoing-list .progress.step2:after {
  left: calc(8.3333333% * 3);
}

.ongoing-list .progress.step2 span {
  left: 6%;
}

.ongoing-list .progress.step2 span:after {
  content: "申請";
}

.ongoing-list .progress.step3:before {
  left: calc(16.6666666% * 2);
}

.ongoing-list .progress.step3:after {
  left: calc(8.3333333% * 5);
}

.ongoing-list .progress.step3 span {
  left: 22%;
}

.ongoing-list .progress.step3 span:after {
  content: "上棟";
}

.ongoing-list .progress.step4:before {
  left: calc(16.6666666% * 3);
}

.ongoing-list .progress.step4:after {
  left: calc(8.3333333% * 7);
}

.ongoing-list .progress.step4 span {
  left: 38%;
}

.ongoing-list .progress.step4 span:after {
  content: "工事";
}

.ongoing-list .progress.step5:before {
  left: calc(16.6666666% * 4);
}

.ongoing-list .progress.step5:after {
  left: calc(8.3333333% * 9);
}

.ongoing-list .progress.step5 span {
  left: 54%;
}

.ongoing-list .progress.step5 span:after {
  content: "検査";
}

.ongoing-list .progress.step6:before {
  left: auto;
  right: 0;
}

.ongoing-list .progress.step6:after {
  left: calc(8.3333333% * 11);
}

.ongoing-list .progress.step6 span {
  left: auto;
  right: 0;
}

.ongoing-list .progress.step6 span:after {
  content: "引渡";
}

.ongoing-list.opened {
  max-height: none !important;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.ongoing-list.opened::after {
  content: none;
}

.topics-list-block .container > div {
  margin-bottom: 50px;
}

.topics-list-block ul li {
  line-height: 1;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dotted #ddd;
}

.topics-list-block ul li h3 {
  margin: 4px 0 0;
  line-height: 1.5;
  font-size: 14px;
}

.topics-list-block ul li h3 .area-label {
  font-size: 0.7em;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.5em;
  vertical-align: 0.2em;
  padding: 0 0.5em;
  color: #fff;
  border-radius: 4px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0.5em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: static;
  width: auto;
}

.topics-list-block ul li h3 .area-label.label-fukuoka {
  background: #274a78;
}

.topics-list-block ul li h3 .area-label.label-okinawa {
  background: #c0932f;
}

.topics-list-block .arrow-right {
  margin-top: 15px;
}

.inspection-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.inspection-list li {
  font-size: 13px;
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  width: 65px;
  height: 65px;
  border: 2px solid #ddd;
  border-radius: 50%;
  background-color: #fff;
  margin: 0 15px 15px 0;
  position: relative;
}

.inspection-list li:before {
  content: "";
  width: 20px;
  height: 4px;
  background: #333;
  position: absolute;
  right: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.inspection-list li:nth-last-child(1) {
  margin-right: 0;
}

.inspection-list li:nth-last-child(1) > span {
  position: relative;
  z-index: 2;
}

.inspection-list li:nth-last-child(1):before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: 50%;
  background: #fff;
  left: 0;
  top: 0;
  z-index: 1;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.inspection-list li:nth-last-child(1):after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 5px solid rgba(255, 0, 0, 0.7);
  border-radius: 50%;
  -webkit-animation: ripple 3s ease infinite;
          animation: ripple 3s ease infinite;
}

.inspection-list li span > span {
  font-size: 1.5em;
}

.staff-list li {
  margin-bottom: 50px;
}

.staff-list figure {
  text-align: center;
  margin-top: 0;
  margin-bottom: 15px;
}

.staff-list .name {
  line-height: 1;
  margin: 15px 0;
}

.staff-list .name span {
  font-size: 13px;
  vertical-align: text-bottom;
  display: inline-block;
  margin: 0 1em 0.5em 0;
  color: #666;
}

.staff-list .name img {
  display: inline-block;
  height: 18px;
  width: auto;
  vertical-align: baseline;
}

.staff-list .comment {
  font-size: 15px;
  line-height: 1.5;
  margin: 20px 0;
}

.staff-list .license {
  padding-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #ddd;
  margin: 0;
}

.staff-list .license dt, .staff-list .license dd {
  line-height: 22.5px;
}

.staff-list .license dt {
  margin: 0 35px 0 0;
  font-weight: normal;
  font-size: 13px;
  color: #666;
}

.staff-list .license dd {
  font-size: 15px;
}

@media screen and (min-width: 600px) {
  .post-list-with-thumbnail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    min-width: 1090px;
    overflow-x: scroll;
    padding-right: 4vw;
  }
  .post-list-with-thumbnail li {
    display: block;
    padding: 0;
    border: none;
    width: 250px;
  }
  .post-list-with-thumbnail li:not(:first-child) {
    margin-left: 30px;
  }
  .post-list-with-thumbnail li figure {
    width: 100%;
  }
  .post-list-with-thumbnail li figure a {
    padding-top: 75%;
  }
  .post-list-with-thumbnail li .text {
    width: 100%;
    margin-top: 15px;
  }
  .post-list-with-thumbnail li .text span.meta {
    font-size: 14px;
  }
  .post-list-with-thumbnail li .text h3 {
    margin-top: 15px;
    font-size: 17px;
  }
  .column-list > li .text .cat-line a {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  .column-list > li .text h3 {
    font-size: 17px;
  }
  .column-list > li .text .excerpt p {
    height: auto;
    overflow: auto;
    font-size: 16px;
  }
  ul.step li {
    margin-bottom: 40px;
    -webkit-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  ul.step li .num {
    margin-right: 40px;
    min-height: 153px;
  }
  ul.step li .num span {
    width: 74px;
    height: 68px;
    font-size: 48px;
  }
  ul.step li .num span:before {
    bottom: -45px;
  }
  ul.step li .num span:after {
    bottom: -85px;
  }
  ul.step li .content {
    display: block;
    position: relative;
    padding-right: 25%;
    width: calc(100% - 114px);
  }
  ul.step li .content:after {
    width: 25% !important;
    height: 100% !important;
    background-position: top right !important;
    position: absolute;
    top: 0;
    right: 0;
  }
  ul.step li .content h3 {
    margin-top: 15px;
    font-size: 28px;
  }
  dl.balloon-unite {
    margin: 40px 0;
  }
  .model-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
  .model-list li {
    width: 48%;
    margin-right: 4%;
  }
  .model-list li:nth-child(even) {
    margin-right: 0;
  }
  .staff-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .staff-list li {
    width: calc(50% - 2.6041666vw);
  }
  .staff-list li:nth-child(even) {
    margin-left: 5.2083333vw;
  }
}

@media screen and (min-width: 960px) {
  .post-list-with-thumbnail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    min-width: auto;
    padding-right: 0;
    overflow: hidden;
  }
  .post-list-with-thumbnail li {
    width: calc(25% - 1.953125vw);
  }
  .post-list-with-thumbnail li:not(:first-child) {
    margin-left: 2.6041666vw;
  }
  .post-list-with-thumbnail li:hover figure img {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
        -ms-transform: translate(-50%, -50%) scale(1.1);
            transform: translate(-50%, -50%) scale(1.1);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .post-list-with-thumbnail li.animated {
    -webkit-animation: fadeInUp 1s forwards;
            animation: fadeInUp 1s forwards;
  }
  .post-list-with-thumbnail li.animated:nth-child(even) {
    -webkit-animation: fadeInUp 1s forwards;
            animation: fadeInUp 1s forwards;
  }
  .post-list-with-thumbnail li.animated:nth-child(1) {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
  }
  .post-list-with-thumbnail li.animated:nth-child(3) {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
  .post-list-with-thumbnail li.animated:nth-child(4) {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  .column-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .column-list > li {
    width: calc(50% - 20px);
    padding: 0 0 30px;
    margin-bottom: 30px;
  }
  .column-list > li:not(:nth-child(1)):not(:nth-child(2n + 1)) {
    padding-left: 30px;
  }
  .column-list > li a {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .column-list > li a:hover {
    opacity: .8;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .column-list > li figure {
    margin-right: 20px;
    width: 150px;
  }
  .column-list > li .text {
    width: calc(100% - 150px);
  }
  .column-list > li .text h3 {
    font-size: 20px;
  }
  ul.step-reform li {
    margin-bottom: 55px;
  }
  ul.step-reform li:nth-child(1) .content:after {
    width: 270px !important;
    height: 114px !important;
  }
  ul.step-reform li:nth-child(3) .content:after {
    width: 225px !important;
    height: 132px !important;
  }
  ul.step-reform li:nth-child(5) .content:after {
    width: 218px !important;
    height: 166px !important;
  }
  ul.step-reform li:nth-child(7) .content:after {
    width: 183px !important;
    height: 153px !important;
  }
  ul.step-reform li:nth-child(9) .content:after {
    width: 234px !important;
    height: 153px !important;
  }
  ul.step-reform li .content {
    padding-right: 286px;
  }
  ul.step-reform li .content h3 {
    font-size: 32px;
  }
  ul.step-flow li {
    margin-bottom: 55px;
  }
  ul.step-flow li:nth-child(1) .content:after {
    width: 230px;
    height: 161px;
  }
  ul.step-flow li:nth-child(3) .content:after {
    width: 230px;
    height: 147px;
  }
  ul.step-flow li:nth-child(5) .content:after {
    width: 230px;
    height: 155px;
  }
  ul.step-flow li:nth-child(7) .content:after {
    width: 230px;
    height: 135px;
  }
  dl.balloon-unite {
    margin: 50px 0;
  }
  .event-list {
    gap: 0 10px;
  }
  .event-list li {
    width: calc(25% - 30px / 4);
    margin: 0 0 30px 0;
  }
  .event-list li:nth-child(even) {
    margin-right: 0;
  }
  .event-list li:nth-child(4n) {
    margin-right: 0;
  }
  .event-list li:nth-last-child(1) {
    margin-bottom: 30px;
  }
  .event-list li .text dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .event-list li .text dl dt {
    width: 4em;
  }
  .event-list li .text dl dd {
    width: calc(100% - 4em);
    white-space: pre-wrap;
    overflow: visible;
    -o-text-overflow: clip;
       text-overflow: clip;
  }
  .model-list li,
  .works-list li {
    width: calc(100% / 3 - 60px / 3);
    margin: 0 30px 50px 0;
  }
  .model-list li:nth-child(even),
  .works-list li:nth-child(even) {
    margin-right: 30px;
  }
  .model-list li:nth-child(3n),
  .works-list li:nth-child(3n) {
    margin-right: 0;
  }
  .model-list li:nth-last-child(-n+3),
  .works-list li:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
  .model-list li .text h3,
  .works-list li .text h3 {
    font-size: 18px;
  }
  .concept-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .concept-list li {
    width: calc(100% / 3 - 100px / 3);
    margin: 0 50px 50px 0;
  }
  .concept-list li:nth-child(3n) {
    margin-right: 0;
  }
  .concept-list li:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
  .concept-list li figure {
    width: auto;
    height: auto;
  }
  .concept-list li h3 {
    font-size: 18px;
    text-align: center;
  }
  .concept-list li a img {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .concept-list li a:hover figure:before {
    opacity: 0;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .concept-list li a:hover span {
    opacity: 0;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .concept-list li a:hover img {
    -webkit-transform: scale(110%);
        -ms-transform: scale(110%);
            transform: scale(110%);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .concept-list li a:hover .num {
    opacity: 0;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .ehkai-list li {
    width: calc(25% - 90px / 4);
    margin: 0 30px 0 0;
  }
  .ehkai-list li:nth-child(even) {
    margin: 0 30px 0 0;
  }
  .ehkai-list li:nth-child(4n) {
    margin-right: 0;
  }
  .land-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .land-list li {
    width: calc(50% - 50px / 2);
    margin: 0 50px 50px 0;
  }
  .land-list li:nth-child(even) {
    margin-right: 0;
  }
  .land-list li h3 span {
    right: -24px;
  }
  .land-list li.center {
    margin: 0 auto 50px;
  }
  .ongoing-list li {
    width: calc(20% - 200px / 5);
    margin: 0 50px 50px 0;
  }
  .ongoing-list li:nth-child(even), .ongoing-list li:nth-child(3n) {
    margin: 0 50px 50px 0;
  }
  .ongoing-list li:nth-child(5n) {
    margin-right: 0;
  }
  .ongoing-list li .text h3 {
    font-size: 15px;
    margin-bottom: 5px;
  }
  .ongoing-list li .text h3 + p {
    font-size: 13px;
  }
  .topics-list-block .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 0 !important;
  }
  .topics-list-block .container > div {
    margin: 0;
    width: calc(100% / 3);
    padding: 0 50px;
    border-right: 1px solid #ddd;
  }
  .topics-list-block .container > div:nth-child(1) {
    padding-left: 0;
  }
  .topics-list-block .container > div:nth-child(3) {
    padding-right: 0;
    border-right: none;
  }
  .topics-list-block .container > div h2 {
    text-align: center;
    font-size: 22px;
    margin-bottom: 30px;
  }
  .topics-list-block .container > div li a {
    display: block;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .topics-list-block .container > div li a:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 0.5;
  }
  .topics-list-block .container > div .arrow-right {
    margin: 30px 0 0;
  }
  .topics-list-block .container > div .arrow-right a:before {
    content: none;
  }
  .inspection-list li {
    width: 120px;
    height: 120px;
    font-size: 16px;
  }
  .staff-list {
    width: auto;
    margin-left: auto;
    margin-right: auto;
    max-width: 1110px;
  }
  .staff-list li {
    width: 30%;
    max-width: 320px;
    margin: 0 1.3020833vw 5.2083333vw;
  }
  .staff-list li:nth-child(even) {
    margin-left: 1.3020833vw;
  }
}

.recaptcha-declaration p {
  font-size: 13px;
  color: #666;
  text-align: center;
  letter-spacing: normal;
}

.recaptcha-declaration p:nth-child(1) {
  margin-bottom: 0;
}

.recaptcha-declaration p:nth-child(2) {
  margin-top: 0;
}

.search-form {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.search-form label {
  width: calc(100% - 82px);
  display: block;
  margin-right: 10px;
}

.search-form label input {
  width: 100%;
}

.search-form input[type="submit"] {
  height: 46px;
}

.wpcf7-form {
  margin: 30px 0;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.contact-block {
  border-bottom: 1px solid #fff;
  margin: 0 -4vw;
  padding: 30px 4vw;
}

.contact-block * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.contact-block p {
  margin: 0;
  line-height: 1.5;
  font-size: 16px;
}

.contact-block p.lg {
  font-size: 17px;
}

.contact-block .form-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 10px;
}

.contact-block .input-container {
  margin-bottom: 10px;
}

.contact-block .input-container input, .contact-block .input-container select {
  margin-bottom: 10px;
}

.contact-block .input-container input {
  width: 100%;
}

.contact-block .input-container input + p {
  margin-top: 10px;
}

.contact-block .input-container .wpcf7-form-control-wrap + p {
  margin-top: 10px;
}

.contact-block .input-container:nth-last-of-type(1) {
  margin-bottom: 0;
}

.contact-block .input-container > p {
  margin-top: 10px;
}

.form-area {
  background-image: url(./images/wave-beige.png);
  background-blend-mode: multiply;
  background-position: center bottom;
  background-repeat: no-repeat;
  padding-bottom: 30px;
}

.form-area .wrap {
  max-width: 1100px;
}

.any,
.required {
  font-size: 13px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 22px;
  padding: 0 10px;
  color: #fff;
  border-radius: 4px;
  white-space: nowrap;
  margin-left: 0.5em;
}

.any {
  background: #03a2ed;
}

.required {
  background: #e21e63;
}

form.search-form input[type="submit"] {
  width: auto;
}

@media screen and (min-width: 960px) {
  .wpcf7-form {
    max-width: 1000px;
    margin: 0 auto;
  }
  .contact-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 50px 0;
    margin: 0;
  }
  .contact-block > .form-label {
    width: 25%;
    padding-top: 0;
    margin-bottom: 30px;
  }
  .contact-block > .form-label:nth-last-of-type(2) {
    margin-bottom: 0;
  }
  .contact-block > .form-label p {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contact-block > .input-container {
    width: 75%;
    padding-left: 50px;
    margin-bottom: 30px;
  }
  .contact-block > .input-container input, .contact-block > .input-container select {
    margin-bottom: 0;
    max-width: 500px;
  }
  .contact-block > .input-container input#zip {
    width: 200px;
  }
  .any, .required {
    float: right;
  }
}

.alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: auto;
}

.block-center {
  margin-left: auto;
  margin-right: auto;
}

.sm-full {
  margin-left: -4vw !important;
  margin-right: -4vw !important;
}

.wp-block-group .wp-block-group {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-group.has-background {
  padding: 30px 4vw;
  margin-top: 30px;
  margin-bottom: 30px;
}

.wp-block-snow-monkey-blocks-container.c-container {
  padding-left: 0;
  padding-right: 0;
}

.box {
  padding: 30px;
  margin: 30px 0;
}

.box > *:nth-child(1) {
  margin-top: 0;
}

.box > *:nth-last-child(1) {
  margin-bottom: 0;
}

.box-line {
  border: 1px solid #274a78;
}

.box.box-p-narrow {
  padding: 30px !important;
}

.page-header.line {
  position: relative;
}

.page-header.line .page-title {
  padding-bottom: 1em;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.5;
}

.page-header.line:after {
  content: "";
  width: 92%;
  height: 1px;
  background: #274a78;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-animation: pageHeader 1s forwards;
          animation: pageHeader 1s forwards;
}

body.baguetteBox-open {
  overflow: hidden;
}

.favorites-list {
  min-height: 200px;
  width: 100% !important;
  height: auto;
}

.favorites-list .brackets {
  margin-left: auto;
  margin-right: auto;
}

.no-favorites {
  min-height: 200px;
}

.scrollX-container {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

.scrollX-container > * {
  max-width: none;
}

.scrollX-container table {
  white-space: nowrap;
  width: auto !important;
}

.infinite-control {
  text-align: center;
}

.infinite-control .infinite-scroll-request {
  width: 50px;
  height: 50px;
  margin-left: auto;
  margin-right: auto;
  background: url(./images/loading_2.gif) no-repeat center center;
  background-size: cover;
}

.flex-c {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.flex-c > * {
  margin: 0 15px;
}

.tel-block {
  text-align: center;
}

.tel-block > p:nth-child(1) {
  font-family: 'Noto Serif JP', serif;
  font-size: 18px;
  margin-bottom: 10px;
}

.tel-block > p:nth-child(2) {
  margin: 0 0 10px;
}

.tel-block > p:nth-child(3) {
  margin-top: 0;
}

.tel-block .container p {
  line-height: 1.5;
}

.tel-block .container p:nth-child(1) {
  margin: 0 0 10px;
}

.tel-block .container p:nth-child(2) {
  margin: 0 0 10px;
}

.tel-block .container p:nth-child(3) {
  font-size: 14px;
  margin-top: 0;
}

.tel-block .frame {
  color: #274a78;
  border: 1px solid #274a78;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 6px 12px;
}

.tel-block a.tel-num {
  font-family: 'Roboto', sans-serif;
  font-size: 36px;
  line-height: 1;
}

.okinawa-tel-block figure, .okinawa-tel-block p {
  margin: 0 0 20px;
}

.single-house-okinawa figcaption {
  font-size: 13px;
}

.balloon {
  padding: 30px;
  background: #274a78;
  color: #fff !important;
  text-align: center;
  position: relative;
  margin-bottom: 50px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.balloon:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 10px 0 10px;
  border-color: #274a78 transparent transparent transparent;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.balloon-red {
  padding: 15px;
  background: #e53935;
  color: #fff !important;
  text-align: center;
  position: relative;
  margin-bottom: 50px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  border: none !important;
}

.balloon-red:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 10px 0 10px;
  border-color: #e53935 transparent transparent transparent;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.balloon-sm {
  padding: 15px;
  background: #274a78;
  color: #fff !important;
  text-align: center;
  position: relative;
  margin-bottom: 50px;
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
}

.balloon-sm:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 10px 0 10px;
  border-color: #274a78 transparent transparent transparent;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.recommend {
  margin-top: 60px;
  content: "";
  display: table;
  table-layout: fixed;
  position: relative;
  width: 100%;
}

.recommend:before {
  content: "";
  width: 60%;
  height: 80%;
  position: absolute;
  top: 0;
  left: 0;
  background: #e6e4dd;
  z-index: -1;
}

.recommend figcaption {
  color: #274a78;
  text-align: center;
  margin-top: 10px;
  font-family: 'Noto Serif JP', serif;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
}

.recommend figcaption .ruby span {
  display: none;
}

.recommend ul.works figure {
  position: relative;
}

.recommend ul.works figure img {
  width: 100%;
}

.recommend ul.works figure figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(39, 74, 120, 0.7);
  color: #fff;
  padding: 0.5em 0.75em;
  text-align: center;
  width: 100%;
}

.sm-reverse > *:nth-child(1) {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

.sm-reverse > *:nth-child(2) {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.greeting {
  margin-top: 50px;
}

.greeting > div:nth-child(1) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.greeting > div:nth-child(1) h1 {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 10px;
  margin: 0;
  font-size: 18px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: 'Noto Serif JP', serif;
}

.greeting > div:nth-child(1) img {
  width: 70%;
  max-width: 201px;
}

.greeting > div:nth-child(1) figure {
  text-align: center;
}

.greeting .name {
  font-family: 'Noto Serif JP', serif;
  font-size: 24px;
  display: inline-block;
  vertical-align: text-bottom;
}

.greeting .name + span {
  font-size: 14px;
  display: inline-block;
  vertical-align: text-bottom;
}

.googlemap {
  width: 100%;
  height: 50vw;
  max-height: 400px;
}

.googlemap iframe {
  width: 100%;
  height: 100%;
  -webkit-filter: saturate(50%);
          filter: saturate(50%);
}

.googlemap.street-view iframe {
  -webkit-filter: unset;
          filter: unset;
}

.infinity-scroll {
  background-image: url("./images/reform-scroll-sm.png");
  background-position: center center;
  background-size: 1200px 150px;
  width: 100%;
  height: 150px;
  -webkit-animation: infinitescroll 23s linear infinite;
          animation: infinitescroll 23s linear infinite;
  z-index: 0;
}

.order-made {
  background: url(./images/quality-ordermade.png) no-repeat center center;
  background-size: cover;
  padding: 30px;
  color: #fff;
}

.order-made h2 {
  margin-top: 0;
  text-align: center;
}

.block-shift-square figure {
  width: 70%;
  margin: 100px auto 30px auto;
  position: relative;
}

.block-shift-square figure:before {
  content: "";
  opacity: 0;
  width: 100%;
  height: 100%;
  background: #e6e4dd;
  position: absolute;
  left: -30vw;
  top: -50px;
  z-index: -1;
}

.block-shift-square .text {
  padding: 0 8vw;
}

.quality-feature2 {
  position: relative;
}

.quality-feature2:before {
  content: "";
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #e6e4dd;
  z-index: -1;
}

.quality-feature2 .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.quality-feature2 .text {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  padding: 0 8vw;
}

.quality-feature2 figure {
  width: 92%;
  margin-top: 50px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  -webkit-transform: translateX(-20px);
      -ms-transform: translateX(-20px);
          transform: translateX(-20px);
}

.quality-feature2 figure.animated {
  -webkit-animation: slideInLeft 1s forwards;
          animation: slideInLeft 1s forwards;
}

.quality-feature3 .img-container figure:nth-child(1) {
  margin-bottom: 0;
  width: 70%;
  margin-left: 0;
  -webkit-transform: translateX(-20px);
      -ms-transform: translateX(-20px);
          transform: translateX(-20px);
}

.quality-feature3 .img-container figure:nth-child(2) {
  margin-top: 0;
  width: 70%;
  margin-right: 0;
  -webkit-transform: translateX(-20px);
      -ms-transform: translateX(-20px);
          transform: translateX(-20px);
}

.quality-feature3 .img-container figure.animated {
  -webkit-animation: slideInLeft 1s forwards;
          animation: slideInLeft 1s forwards;
}

.quality-feature3 .img-container figure.animated:nth-child(2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.quality-feature3 .text {
  padding: 0 8vw;
}

.quality-feature3 .text h2 .sm {
  font-size: 0.7em;
}

.shift-rectangle-area .text {
  padding: 0 4vw;
}

.btn-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 15px auto;
}

.btn-group .btn {
  margin: 15px 0;
}

.se-need .container {
  position: relative;
  padding: 30px 4%;
}

.se-need .container > div > *:nth-child(1) {
  margin-top: 0;
}

.se-need .container > div > *:nth-last-child(1) {
  margin-bottom: 0;
}

.se-need .container:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #e6e4dd;
  background-image: url(./images/crack.png);
  background-position: left center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  z-index: -1;
}

.se-feature figure {
  margin-bottom: 30px;
}

.se-feature h3 {
  margin: 30px 0;
}

.se-feature h3 + p {
  margin-top: 30px;
}

.se-img-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.se-img-block > figure {
  width: 33.3333333%;
  margin: 0;
  opacity: 0;
}

.se-img-block.animated figure {
  -webkit-animation: fadeInUp 1s forwards;
          animation: fadeInUp 1s forwards;
}

.se-img-block.animated figure:nth-child(1) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.se-img-block.animated figure:nth-child(3) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.youtube, .video-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  position: relative;
  margin: 30px 0;
}

.youtube iframe, .youtube a, .video-wrap iframe, .video-wrap a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.youtube > a, .video-wrap > a {
  display: block;
}

.youtube > a::before, .video-wrap > a::before {
  content: "play_circle_filled";
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  position: absolute;
  color: #fff;
  font-size: 48px;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: .85;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.youtube > a:hover::before, .video-wrap > a:hover::before {
  opacity: .5;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.smb-spider-slider {
  margin: 30px 0;
}

.smb-spider-slider .wp-block-image {
  margin: 0;
}

.modal-video {
  background-color: rgba(0, 0, 0, 0.95) !important;
}

.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 99999;
  display: none;
}

.modal .modal-inner {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-height: 80%;
  overflow-y: auto;
  color: #fff;
  padding: 4vw;
}

.modal .youtube-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.modal .area-select-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.modal .area-select-container h2 {
  margin-top: 0;
}

.modal .area-select-container .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.modal .area-select-container .container a {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 120px;
  height: 120px;
  background: #fff;
  color: #274a78;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 5px;
}

.modal .modal-close {
  position: fixed;
  top: 4%;
  right: 4%;
  width: 50px;
  height: 50px;
  border: 1px solid #fff;
  opacity: .5;
}

.modal .modal-close:before, .modal .modal-close:after {
  content: "";
  width: 30px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
}

.modal .modal-close:after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.modal.white {
  background: #fff;
}

.modal.white:before {
  content: "";
  width: 100%;
  height: 100px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white));
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), white);
  background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0), white);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
  position: fixed;
  left: 0;
  bottom: 9%;
  z-index: 1;
}

.modal.white .modal-inner {
  padding-bottom: 100px;
}

.modal.white .modal-close {
  border-color: #333;
  opacity: .5;
}

.modal.white .modal-close:before, .modal.white .modal-close:after {
  background: #333;
}

.passive-feature h3 {
  font-size: 24px;
  color: #274a78;
}

.passive-feature h3 span.num {
  margin-right: 30px;
}

.passive-feature figure {
  margin-bottom: 30px;
}

.passive-feature figure + p {
  margin-top: 30px;
}

.passive-point figure {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.passive-point figure img {
  display: block;
  width: 33.3333333%;
  height: auto;
}

.toc {
  font-size: 15px;
  display: inline-block;
  letter-spacing: normal;
}

.toc a {
  font-size: 15px;
}

.guarantee-list > div {
  margin: 0 -4% 30px;
  padding: 0 4% 30px;
  border-bottom: 1px solid #ddd;
}

.guarantee-list > div:nth-last-child(1) {
  border: none;
}

.guarantee-list > div .head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.guarantee-list > div .head p, .guarantee-list > div .head h2 {
  margin: 0;
}

.guarantee-list > div .head .arrow-right {
  margin: 15px 0 30px;
}

.guarantee-list > div .head .arrow-right a {
  margin-left: auto;
}

.guarantee-list > div .head > div {
  width: calc(100% - 100px);
}

.guarantee-list > div figure {
  width: 80px;
  height: auto;
  margin-right: 20px;
  margin: 0 20px 0 0;
}

.guarantee-list > div .text p:nth-last-child(1) {
  margin: 0;
}

.heading-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.my-insta-box {
  margin: 0 0 30px;
}

.my-insta-box #sbi_images {
  grid-template-columns: repeat(3, 1fr) !important;
}

.my-insta-box .sbi_item svg {
  display: none !important;
  -webkit-transform: scale(0.5) !important;
      -ms-transform: scale(0.5) !important;
          transform: scale(0.5) !important;
}

.no-results,
.not-found {
  width: 100%;
  text-align: center;
}

.no-results .wrap,
.not-found .wrap {
  max-width: calc(1150px + 5.2083333vw) !important;
}

.recommend-block span.balloon {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 13px;
  height: 24px;
  width: 100px;
  padding: 0;
  margin-bottom: 10px;
}

.recommend-block span.balloon:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 5px 0 5px;
  bottom: -10px;
}

.recommend-block > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
}

.recommend-block > a figure {
  margin: 0;
  width: 100px;
  height: 100px;
  position: relative;
  overflow: hidden;
}

.recommend-block > a figure img {
  position: absolute;
  width: auto;
  max-width: none;
  height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.recommend-block > a span {
  width: calc(100% - 100px);
  display: block;
  padding: 4%;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.3;
}

.recommend-block > a:hover {
  opacity: 0.7;
}

.vr {
  position: relative;
  aspect-ratio: 2 / 3;
  background: url(./images/loading_2.gif) no-repeat center center;
  background-color: #fafafa;
}

.vr > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.vr > img:hover {
  -webkit-filter: brightness(150%);
          filter: brightness(150%);
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.vr iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.c-row--center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.wp-block-gallery.no-margin .blocks-gallery-item {
  margin: 0;
}

.footer-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
}

.footer-cta .sm-btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 50px;
}

.footer-cta .sm-btns > a {
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #274a78;
  color: #fff;
  font-size: 14px;
  border-left: 1px solid #fff;
  letter-spacing: normal;
  gap: 6px;
}

.footer-cta .sm-btns > a::before {
  content: "";
  width: 18px;
  height: 18px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.footer-cta .sm-btns > a:nth-child(1) {
  border: none;
}

.footer-cta .sm-btns .modal-model-form::before {
  background: url(./images/icon-reserve.svg) no-repeat center center/contain;
}

.footer-cta .sm-btns .modal-request-documents::before {
  background: url(./images/icon-inquiry.svg) no-repeat center center/contain;
}

.footer-cta .sm-btns .event::before {
  background: url(./images/icon-event.svg) no-repeat center center/contain;
}

.footer-cta .sm-btns .roomtour::before {
  background: url(./images/icon-roomtour.svg) no-repeat center center/contain;
}

.footer-cta .sm-btns .line::before {
  background: url(./images/icon-line-white.svg) no-repeat center center/contain;
}

.footer-cta .sm-btns #pageTop {
  -webkit-flex-basis: 50px;
      -ms-flex-preferred-size: 50px;
          flex-basis: 50px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.footer-cta .sm-btns #pageTop a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #000;
  color: #fff;
  width: 100%;
  height: 100%;
}

.footer-cta .lg-btns {
  display: none;
}

.interview-title h2, .interview-title h3 {
  margin-left: -.9rem;
  font-size: 16px;
  padding: 1em;
  width: 65%;
  position: relative;
  margin-bottom: 60px;
  max-width: 400px;
  letter-spacing: normal;
}

.interview-title h2::before, .interview-title h3::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #274a78;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
}

.interview-title h2 span, .interview-title h3 span {
  position: relative;
  mix-blend-mode: none;
  z-index: 1;
}

.interview-title .profile {
  background: rgba(255, 255, 255, 0.7);
  padding: 30px 15px 15px;
  position: relative;
  width: 61%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 30px;
  font-size: 14px;
  max-width: 360px;
}

.interview-title .profile * {
  margin: 0;
}

.interview-title .profile .label {
  height: 30px;
  position: absolute;
  left: 15px;
  top: -15px;
}

.schedule-list {
  -webkit-overflow-scrolling: touch;
  width: 1100px;
  margin-top: 30px;
  gap: 0 !important;
}

.schedule-list .wp-block-column {
  width: 148px !important;
  -webkit-flex-basis: 148px !important;
      -ms-flex-preferred-size: 148px !important;
          flex-basis: 148px !important;
  margin: 0 5px !important;
  padding: 20px 18px 30px;
}

.schedule-list .wp-block-column *:not(p) {
  text-align: center;
}

.schedule-list .wp-block-column figure {
  margin-left: -18px;
  margin-right: -18px;
  border-bottom: 1px solid #274a78;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.schedule-list .wp-block-column h3 {
  margin: 0 0 10px;
  letter-spacing: -1px;
}

.schedule-list .wp-block-column p {
  margin: 0;
  line-height: 1.5;
  letter-spacing: -1px;
}

.sm-scroll-x {
  overflow-x: auto;
}

.corporate-data {
  width: 690px;
  gap: 0 !important;
}

.corporate-data .wp-block-column {
  max-width: 220px;
  margin-left: 10px !important;
}

.corporate-data .wp-block-column:nth-child(1) {
  margin-left: 0 !important;
}

.se-icons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 5px;
}

.se-icons img {
  display: block;
  width: calc(100% / 5 - 4px);
  max-width: 150px;
}

.smb-items.page-navi .wp-block-snow-monkey-blocks-items-item-block-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
}

.smb-items.page-navi .wp-block-snow-monkey-blocks-items-item-block-link * {
  margin: 0;
  line-height: 1.2;
}

.smb-section__background-text__text {
  line-height: 1;
}

.heat20-block {
  background: #fafafa;
  padding: 30px;
  margin-left: calc(50% - 50vw);
  width: 100vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.heat20-block h2 {
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 30px;
}

.heat20-block p {
  margin: 0;
}

.heat20-block figure {
  margin: 0;
}

@media screen and (max-width: 600px) {
  .wp-block-gallery.sm-col3 .blocks-gallery-grid .blocks-gallery-item {
    width: calc(33.3333333% - 1em);
    margin-right: 1em !important;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
}

.wp-block-snow-monkey-blocks-accordion {
  margin: 30px 0;
}

.wp-block-snow-monkey-blocks-accordion .smb-accordion__item__title {
  text-align: center;
  padding: 1.5em 1em;
  background: #c0932f;
  color: #fff;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.wp-block-snow-monkey-blocks-accordion .smb-accordion__item__body {
  padding: 0;
}

.wp-block-snow-monkey-blocks-accordion.normal .smb-accordion__item__title {
  background: #ddd;
  color: #333;
  padding: 0.8em 1em;
}

.wp-block-snow-monkey-blocks-accordion.normal .smb-accordion__item:hover .smb-accordion__item__title {
  background: #aaa;
  color: #333;
  padding: 0.8em 1em;
}

.se-model-hero {
  position: relative;
  width: 100%;
  padding-top: 74.6%;
  overflow: hidden;
}

.se-model-hero img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.wp-block-embed.is-type-video {
  max-width: 853px;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.wp-block-group.has-background {
  padding: 5%;
}

.wp-block-columns.has-background {
  padding: 1.25em 8vw;
}

.land-map-area {
  margin-bottom: 30px;
}

.land-map {
  background: url(./images/land-map.png?2023) no-repeat top center;
  background-size: 180%;
  width: calc(100% + 8%);
  margin: 0 -4%;
  position: relative;
  aspect-ratio: 4 / 3;
}

.land-map .link-block {
  display: none;
}

dl.land {
  width: 100%;
  margin: 10px 0;
}

dl.land dd figure {
  background: #f4f4f4;
  margin: 0;
  padding: 15px;
}

dl.land table {
  margin-top: 0;
}

dl.land table td:nth-child(1) {
  white-space: nowrap;
}

.wp-block-embed.is-type-video {
  max-width: none;
}

.wp-block-snow-monkey-blocks-spider-slider button {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

figure.layout1,
figure.layout2 {
  position: relative;
}

figure.layout1:before,
figure.layout2:before {
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  background: #666;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  border-radius: 50%;
  z-index: 1;
}

figure.layout1:before {
  content: "1\968E";
}

figure.layout2:before {
  content: "2\968E";
}

.tab-box .btn-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
  border-bottom: 1px solid #ddd;
}

.tab-box .tab-btn {
  width: calc(33.33% - 7px);
  max-width: 140px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 32px;
  font-size: 16px;
  background: #f5f5f5;
  text-align: center;
  cursor: pointer;
  letter-spacing: normal;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 1px 0 0;
  font-size: 14px;
}

.tab-box .tab-btn:nth-child(1) {
  border-width: 1px 1px 0 1px;
  margin-left: 20px;
}

.tab-box .tab-btn.is-active {
  background: #fff;
  color: #274a78;
  border-bottom: none;
  position: relative;
}

.tab-box .tab-btn.is-active::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #274a78;
  position: absolute;
  top: 0;
  left: 0;
}

.tab-box .tab-btn.is-active::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: -1px;
}

.tab-box .tab-panel {
  display: none;
}

.tab-box .tab-panel.is-active {
  display: block;
}

.works-icons {
  width: 100%;
}

.works-icons p {
  margin-top: 0;
}

.works-icons img {
  display: inline-block;
  width: 100px;
  height: auto;
  margin-right: 0.5em;
}

.ongoing-list-wrap {
  overflow: hidden;
  position: relative;
  padding-bottom: 40px;
}

.ongoing-list-wrap .accordion-trigger {
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 40px;
  width: 220px;
  color: #fff;
  background: #666;
  border-radius: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.ongoing-list-wrap .accordion-trigger:hover {
  background: #999;
}

@media screen and (min-width: 600px) {
  .box {
    padding: 40px;
    margin: 40px 0;
  }
  .wp-block-group.has-background {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .recommend .recommend-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .recommend .recommend-list li:not(:nth-child(1)) {
    margin-left: 2.6041666vw;
  }
  .recommend .recommend-list li figure {
    margin: 0;
  }
  .sm-reverse > *:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .sm-reverse > *:nth-child(2) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .greeting {
    margin-top: 100px;
  }
  .greeting > div:nth-child(1) {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: calc(40% - 2.6041666vw);
  }
  .greeting > div:nth-child(1) h1 {
    font-size: 40px;
  }
  .greeting > div:nth-child(1) figure {
    margin-top: 100px;
  }
  .greeting > div:nth-child(1) img {
    width: 100%;
    max-width: 201px;
  }
  .greeting > div:nth-child(2) {
    width: calc(60% - 2.6041666vw);
  }
  .greeting > div p {
    font-family: 'Noto Serif JP', serif;
    font-size: 17px;
  }
  .greeting .name {
    font-size: 24px;
  }
  .greeting .name + span {
    font-size: 14px;
  }
  .btn-group {
    margin: 20px auto;
  }
  .btn-group .btn {
    margin: 20px;
  }
  .order-made {
    padding: 40px;
  }
  .block-shift-square {
    margin: 50px 0;
  }
  .block-shift-square .container {
    padding: 0 4vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .block-shift-square figure {
    width: 40%;
    max-width: 600px;
    margin: 0;
  }
  .block-shift-square .text {
    padding: 0;
    width: calc(60% - 50px);
    margin-left: 50px;
  }
  .quality-feature2 {
    margin: 50px 0;
  }
  .quality-feature2:before {
    width: 100%;
    height: calc(100% - 100px);
  }
  .quality-feature2 .container {
    padding: 0 4vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .quality-feature2 figure {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 40%;
    max-width: 600px;
    margin: 0;
    position: relative;
    overflow: hidden;
  }
  .quality-feature2 figure img {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: 100%;
    max-width: none;
  }
  .quality-feature2 .text {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding: 0;
    width: calc(60% - 50px);
    margin-right: 50px;
    margin: 100px 0;
  }
  .quality-feature2 .text p {
    margin-bottom: 0;
  }
  .quality-feature3 {
    margin: 50px 0;
  }
  .quality-feature3 .container {
    padding: 0 4vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .quality-feature3 .img-container {
    width: 40%;
    position: relative;
  }
  .quality-feature3 .img-container figure {
    width: 100% !important;
    position: relative;
    padding-top: 42.8571428%;
    margin: 0;
    overflow: hidden;
  }
  .quality-feature3 .img-container figure:nth-child(2) {
    margin-left: -50%;
  }
  .quality-feature3 .img-container figure img {
    position: absolute;
    left: 0;
    top: 0;
  }
  .quality-feature3 .text {
    width: calc(60% - 50px);
    margin-left: 50px;
    padding: 0;
  }
  .se-need .container {
    padding: 40px 4%;
  }
  .guarantee-list > div {
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
  .guarantee-list > div figure {
    width: 150px;
    height: auto;
    margin: 0 40px 0 0;
  }
  .guarantee-list > div .head > div {
    width: calc(100% - 190px);
  }
  .my-insta-box {
    margin: 0 0 40px;
  }
  .my-insta-box #sbi_images {
    grid-template-columns: repeat(6, 1fr) !important;
  }
  .se-model-hero {
    position: static;
    padding: 0;
  }
  .se-model-hero img {
    position: static;
    width: 100%;
    height: auto;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  figure.layout1:before,
  figure.layout2:before {
    width: 80px;
    height: 80px;
    font-size: 24px;
  }
  .wp-block-columns.has-background {
    padding: 1.25em 2.375em;
  }
  .wp-block-snow-monkey-blocks-accordion {
    margin: 40px 0;
  }
  .footer-cta .sm-btns {
    height: 60px;
  }
  .tab-box .btn-area {
    margin-bottom: 50px;
  }
  .tab-box .tab-btn {
    height: 50px;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    font-size: 17px;
  }
  .tab-box .tab-btn:not(.is-active):hover {
    background: #fff;
    color: #274a78;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }
  .tab-box .tab-btn:nth-child(1) {
    margin-left: 30px;
  }
  .tab-box.tab-box-lg-small .btn-area {
    margin-bottom: 30px;
  }
  .tab-box.tab-box-lg-small .tab-btn {
    height: 32px;
    font-size: 14px;
  }
  .tab-box.tab-box-lg-small .tab-btn:nth-child(1) {
    border-width: 1px 1px 0 1px;
    margin-left: 20px;
  }
  .tel-block .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .tel-block .container div:nth-child(1) {
    margin-right: 30px;
  }
  .interview-title h2, .interview-title h3 {
    font-size: 24px;
    padding: 40px;
    margin-left: -1.8rem;
    max-width: 500px;
  }
  .interview-title .profile {
    padding: 40px 30px 30px;
    background: #fff;
  }
  .interview-title .profile .label {
    height: 40px;
    top: -20px;
    left: 30px;
    padding: 0 20px;
  }
  .schedule-list {
    margin: 20px 0;
  }
  .corporate-data {
    width: 100%;
  }
  .corporate-data .wp-block-column {
    max-width: none;
  }
  .heat20-block {
    padding: 40px;
    margin-left: 0;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .heat20-block > * {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
  }
}

@media screen and (min-width: 960px) {
  .smb-spider-slider {
    margin: 50px 0;
  }
  .max800 {
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .box {
    padding: 50px;
    margin: 50px 0;
  }
  .wp-block-group.has-background {
    padding: 30px 4vw;
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .page-header.line:after {
    width: 81.25%;
  }
  .tel-block > p:nth-child(1) {
    font-family: 'Noto Serif JP', serif;
    font-size: 32px;
    margin-bottom: 10px;
  }
  .tel-block .container > div:nth-child(1) {
    margin-right: 50px;
  }
  .tel-block .container p:nth-child(3) {
    font-size: 17px;
    margin-bottom: 10px;
  }
  .tel-block a.tel-num {
    font-size: 60px;
  }
  .recommend.works {
    margin-top: 150px !important;
  }
  .recommend:before {
    width: 62.5vw;
    height: 300px;
  }
  .recommend ul.recommend-list a figure {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .recommend ul.recommend-list a:hover figure {
    opacity: 0.7;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .recommend ul.recommend-list li {
    max-width: 300px;
  }
  .recommend ul.works figure figcaption {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    opacity: 0;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    white-space: normal;
  }
  .recommend ul.works a:hover figure {
    opacity: 1;
  }
  .recommend ul.works a:hover figure figcaption {
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .greeting {
    position: relative;
    margin-top: 150px;
  }
  .greeting:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 0;
    background: #274a78;
    left: 0;
    top: -150px;
    -webkit-animation: greetingLine 3s forwards;
            animation: greetingLine 3s forwards;
  }
  .greeting > div:nth-child(1) {
    width: 49% !important;
  }
  .greeting > div:nth-child(2) {
    width: 51% !important;
    margin-left: 0 !important;
  }
  .greeting > div:nth-child(2) p {
    margin: 30px 0;
  }
  .infinity-scroll {
    background-image: url("./images/reform-scroll.png");
    background-position: center center;
    background-size: 2000px 250px;
    width: 100%;
    height: 250px;
    -webkit-animation: infinitescroll 46s linear infinite;
            animation: infinitescroll 46s linear infinite;
    z-index: 0;
  }
  .order-made {
    padding: 100px 150px 125px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .order-made p {
    margin-bottom: 0;
  }
  .block-shift-square.quality {
    margin: 10.4166666vw 0 0 !important;
  }
  .block-shift-square .container {
    max-width: 1300px;
    padding: 0 2.6041666vw;
    margin-left: auto;
    margin-right: auto;
  }
  .block-shift-square figure {
    width: 31.25vw;
  }
  .block-shift-square figure:before {
    width: 31.25vw;
    height: 31.25vw;
    top: -5.2083333vw;
    left: -18.75vw;
  }
  .block-shift-square .text {
    width: calc(100% - 36.4583333vw);
    margin-left: 5.2083333vw;
  }
  .block-shift-square .text p {
    margin-bottom: 0;
  }
  .quality-feature2 {
    margin-top: 0 !important;
    overflow: hidden;
  }
  .quality-feature2:before {
    content: none;
  }
  .quality-feature2 .container {
    max-width: 1300px;
    padding: 0 2.6041666vw;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .quality-feature2 figure {
    width: 31.25vw;
    height: 46.875vw;
  }
  .quality-feature2 figure img {
    position: static;
  }
  .quality-feature2 .text {
    width: calc(100% - 33.8541666vw);
    position: relative;
    margin: 5.2083333vw 2.6041666vw 5.2083333vw 0;
    padding: 7.8125vw 0;
  }
  .quality-feature2 .text:before {
    content: "";
    width: 90vw;
    height: 100%;
    position: absolute;
    left: -150px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: -1;
    background: #e6e4dd;
  }
  .quality-feature2 .text p {
    width: 100%;
  }
  .quality-feature3 .container {
    max-width: 1300px;
    padding: 0 2.6041666vw;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .quality-feature3 .img-container {
    width: 31.25vw;
    height: 31.25vw;
  }
  .quality-feature3 .img-container figure {
    position: absolute;
    width: 36.4583333vw !important;
    height: 15.625vw;
    right: 0;
    top: 0;
  }
  .quality-feature3 .img-container figure:nth-child(2) {
    top: 15.625vw;
    right: 13.5416666vw;
  }
  .quality-feature3 .text {
    width: calc(100% - 36.4583333vw);
    margin-left: 5.2083333vw;
  }
  .quality-feature3 .text h2 {
    letter-spacing: normal;
  }
  .quality-feature3 .text p {
    margin-bottom: 0;
  }
  .shift-rectangle-area {
    background: #e6e4dd;
    position: relative;
    z-index: 2;
    overflow-x: hidden;
  }
  .shift-rectangle-area .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 1300px;
    padding: 0 2.6041666vw;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: relative;
    margin-bottom: 5.2083333vw;
    -webkit-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  .shift-rectangle-area .container .text {
    width: 600px;
    height: 500px;
    padding: 100px 0 100px 100px;
    position: relative;
    margin-bottom: 150px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .shift-rectangle-area .container .text p {
    margin-top: 0;
    width: 100%;
  }
  .shift-rectangle-area .container .text p:nth-last-child(1) {
    margin-bottom: 0;
  }
  .shift-rectangle-area .container .text:before {
    content: "";
    width: 100vw;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    z-index: -1;
  }
  .shift-rectangle-area .container .text .arrow-right {
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
  }
  .shift-rectangle-area .container figure {
    position: absolute;
    width: 1200px;
    height: 500px;
    top: 150px;
    margin: 0;
    right: calc(50% - 12.5vw);
    z-index: -1;
  }
  .shift-rectangle-area .container:nth-child(even) {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .shift-rectangle-area .container:nth-child(even) .text {
    padding: 100px 100px 100px 0;
  }
  .shift-rectangle-area .container:nth-child(even) .text:before {
    left: auto;
    right: 0;
  }
  .shift-rectangle-area .container:nth-child(even) figure {
    right: auto;
    left: calc(50% - 12.5vw);
  }
  .shift-rectangle-area .container.animated {
    -webkit-animation: slideInLeft 1s forwards;
            animation: slideInLeft 1s forwards;
  }
  .shift-rectangle-area.revers {
    background: none;
  }
  .shift-rectangle-area.revers .container {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .shift-rectangle-area.revers .container .text {
    padding: 100px 100px 100px 0;
  }
  .shift-rectangle-area.revers .container .text:before {
    left: auto;
    right: 0;
    background: #e6e4dd;
  }
  .shift-rectangle-area.revers .container figure {
    right: auto;
    left: calc(50% - 12.5vw);
  }
  .page-intro-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 100px 0 50px;
  }
  .page-intro-block h2 {
    white-space: nowrap;
    margin-right: 7.8125vw;
  }
  .se-need {
    padding: 0 !important;
    overflow: hidden;
  }
  .se-need .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    max-height: 500px;
    padding: 100px 2.6041666vw !important;
  }
  .se-need .container:before {
    left: 2.6041666vw;
    width: 100vw;
  }
  .se-need .container > div {
    width: calc(100% - 36.4583333vw);
    margin-left: 5.2083333vw;
  }
  .se-feature h3 {
    font-size: 24px;
  }
  .se-feature > div {
    opacity: 0;
  }
  .se-feature > div:nth-child(2) {
    margin-top: 100px;
  }
  .se-feature > div:nth-child(3) {
    margin-top: 50px;
  }
  .se-feature.animated > div {
    -webkit-animation: fadeInUp 1s forwards;
            animation: fadeInUp 1s forwards;
  }
  .se-feature.animated > div:nth-child(2) {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  .se-feature.animated > div:nth-child(3) {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
  }
  .youtube, .video-wrap {
    width: 100%;
    margin: 50px 0;
  }
  .youtube > a::before, .video-wrap > a::before {
    font-size: 4vw;
  }
  .modal .modal-inner {
    max-width: 1200px;
  }
  .modal .area-select-container .container a {
    width: 200px;
    height: 150px;
    font-size: 20px;
    margin: 0 10px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .modal .area-select-container .container a:hover {
    background: #ddd;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .modal .modal-close {
    width: 56px;
    height: 56px;
    top: 30px;
    right: 3.125vw;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .modal .modal-close:hover {
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .passive-feature h3 {
    font-size: 32px;
  }
  .passive-feature > div:nth-child(5) h3 {
    letter-spacing: -1px;
  }
  .passive-point {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 100px;
  }
  .passive-point figure {
    margin: 0;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 20.83333333%;
  }
  .passive-point figure img {
    width: 100%;
  }
  .passive-point .text {
    width: calc(100% - 50px - 20.83333333%);
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .passive-point .text p {
    margin: 40px 0;
  }
  .passive-point .text p:nth-child(1) {
    margin-top: 0;
  }
  .passive-point .text p:nth-last-child(1) {
    margin-bottom: 0;
  }
  .passive-detail-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    padding: 0 2.6041666vw;
    overflow-x: hidden;
  }
  .passive-detail-container > .wrap {
    width: 38.4615384%;
    max-width: 350px;
    padding: 0 !important;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin: 0;
    margin-top: 50px;
  }
  .passive-detail-container > .wrap nav {
    position: -webkit-sticky;
    position: sticky;
    top: 80px;
  }
  .passive-detail-container > .wrap nav .box {
    padding: 40px;
  }
  .passive-detail-container .content {
    width: 56.043956%;
    max-width: 750px;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-right: 5.2083333vw;
  }
  .passive-detail-container .content .wrap {
    padding: 0;
  }
  .passive-detail-container .content section.paper-bg {
    background: none;
    position: relative;
  }
  .passive-detail-container .content section.paper-bg:before {
    content: "";
    width: 300%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -18.75vw;
    background: url(./images/paper-bg.png) no-repeat top left;
    z-index: -1;
    display: block;
  }
  .guarantee-list > div {
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 50px;
    -webkit-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  .guarantee-list > div figure {
    margin: 0 50px 0 0;
  }
  .guarantee-list > div .head > div {
    width: calc(100% - 200px);
  }
  .guarantee-list > div .text {
    padding-left: 200px;
  }
  .my-insta-box {
    margin: 0 0 50px;
  }
  .my-insta-box .sbi_item svg {
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
  }
  .scrollX-container {
    overflow-x: hidden;
  }
  .scrollX-container > * {
    width: auto !important;
    max-width: 100%;
  }
  .land-map-area {
    width: 100vw;
    position: relative;
    margin-bottom: 50px;
    margin-left: calc((100vw - 100%) / -2);
    background: #fafafa;
  }
  .land-map {
    background-size: cover;
    aspect-ratio: 108 / 67;
    width: 100%;
    margin: 0;
    position: relative;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
  .land-map .link-block {
    width: 80px;
    height: 24px;
    position: absolute;
    border-radius: 12px;
    display: block !important;
  }
  .land-map .link-block:hover {
    background: rgba(255, 255, 255, 0.5);
  }
  .land-map .link-block29 {
    left: 68.9814814%;
    top: 31.4814814%;
  }
  .land-map .link-block72 {
    left: 58.4259259%;
    top: 31.9402985%;
  }
  .land-map .link-block120 {
    left: 40.7407407%;
    top: 28.3582089%;
  }
  .land-map .link-block135 {
    left: 34.6296296%;
    top: 8.7962962%;
  }
  .land-map .link-block139 {
    left: 25.0925925%;
    top: 22.8395061%;
  }
  .land-map .link-block141 {
    left: 26.2968962%;
    top: 8.7962962%;
  }
  .land-map.is-fixed {
    position: fixed;
    background-size: 56.25vw auto;
    background-color: #fafafa;
    width: 100vw;
    left: 50%;
    top: 88px;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    padding-top: 17%;
    z-index: 99999;
  }
  .land-map.is-fixed .link-block29 {
    left: 60.6770833vw;
    top: 10.625vw;
  }
  .land-map.is-fixed .link-block72 {
    left: 52.6041666vw;
    top: 10.625vw;
  }
  .land-map.is-fixed .link-block120 {
    left: 44.7916666vw;
    top: 9.8958333vw;
  }
  .land-map.is-fixed .link-block135 {
    left: 41.3541666vw;
    top: 2.96875vw;
  }
  .land-map.is-fixed .link-block139 {
    left: 35.9895833vw;
    top: 7.7083333vw;
  }
  .land-map.is-fixed .link-block141 {
    left: 36.6666666vw;
    top: 2.96875vw;
  }
  .land-info {
    width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
  dl.land {
    margin: 20px 0;
  }
  dl.land,
  dl.land table {
    font-size: 18px;
  }
  dl.land table tr td:nth-child(3) {
    width: 60%;
  }
  .sm-full {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .wp-block-snow-monkey-blocks-accordion {
    margin: 50px 0;
  }
  .wp-block-snow-monkey-blocks-accordion .wp-block-snow-monkey-blocks-accordion--item:hover .smb-accordion__item__title {
    background: #666;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .footer-cta .sm-btns {
    display: none;
  }
  .interview-title {
    padding: 60px 0;
  }
  .interview-title h2, .interview-title h3 {
    font-size: 30px;
    padding: 50px 75px;
    max-width: 600px;
    margin-bottom: 90px;
  }
  .interview-title .profile {
    margin: 0 0 50px calc(75px - 1.8rem);
  }
  .interview-title .profile p:not(.label) {
    font-size: 16px;
  }
  .corporate-data .wp-block-column {
    margin-left: 32px !important;
    padding: 35px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .smb-box.form-box {
    padding: 5.2083333vw;
  }
  .smb-box.form-box .contact-block {
    border-color: #ddd;
  }
  .se-icons img {
    width: calc(100% / 10 - 5px);
    max-width: none;
  }
  .c-container {
    max-width: 70.833vw !important;
  }
  .smb-items.page-navi .wp-block-snow-monkey-blocks-items-item-block-link {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .smb-items.page-navi .wp-block-snow-monkey-blocks-items-item-block-link:hover {
    background: #f0f0f0;
  }
}

@media screen and (min-width: 1280px) {
  .alignwide {
    margin-left: -8vw;
    margin-right: -8vw;
  }
  .schedule-list {
    margin: 20px -1.4vw;
    width: calc(100% + 2.8vw);
  }
  .footer-cta {
    display: none;
    width: 10.4166vw;
    height: 100%;
    top: 0;
    left: auto;
    right: 0;
    background: rgba(0, 0, 0, 0.8);
  }
  .footer-cta .lg-btns {
    height: 100%;
    margin-top: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .footer-cta .lg-btns a {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    font-size: 0.833vw;
  }
  .footer-cta .lg-btns a:hover {
    opacity: .7;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .footer-cta .lg-btns .sns-icons {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.75em;
    margin-bottom: 1.04166vw;
  }
  .footer-cta .lg-btns .sns-icons > a {
    width: 2.0833vw;
    height: 1.5625vw;
    display: block;
  }
  .footer-cta .lg-btns .sns-icons .yt {
    background: url(./images/icon-yt-color.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .sns-icons .insta {
    background: url(./images/icon-insta-color.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .sns-icons .line {
    background: url(./images/icon-line-color.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5208333vw;
    width: 100%;
  }
  .footer-cta .lg-btns .list > a, .footer-cta .lg-btns .list #pageTopL a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #274a78;
    color: #fff;
    height: 2.604166vw;
    padding: 0.5208333vw;
  }
  .footer-cta .lg-btns .list > a::before {
    content: "";
    width: 1.25vw;
    height: 1.25vw;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
  .footer-cta .lg-btns .list .modal-model-form::before {
    background: url(./images/icon-reserve.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .list .modal-request-documents {
    letter-spacing: -0.1em;
  }
  .footer-cta .lg-btns .list .modal-request-documents::before {
    background: url(./images/icon-inquiry.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .list .event::before {
    background: url(./images/icon-event.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .list .roomtour::before {
    background: url(./images/icon-roomtour.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .list .icon-vr::before {
    background: url(./images/icon-vr360.svg) no-repeat center center/contain;
  }
  .footer-cta .lg-btns .list #pageTopL a {
    background: #000;
  }
}

/*--------------------------------------------------------------
# Organisms
--------------------------------------------------------------*/
.site-header {
  height: 56px;
  width: 100%;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 99999;
  background: #fff;
  padding: 0 4%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.site-header #sitemap {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.site-header #nav-btn {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 99999;
}

.site-header .btn-float,
.site-header .side-float-banner {
  display: none;
}

.site-header .navigation-container {
  display: none;
}

@media screen and (min-width: 960px) {
  .site-header {
    height: auto;
    padding: 0 1.875vw 0 3.125vw;
  }
  .site-header .header-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
  }
  .site-header .site-branding {
    margin-right: auto;
  }
  .site-header #nav-btn {
    position: relative;
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
    margin-bottom: 16px;
    margin-left: 1.0416666vw;
  }
  .site-header #nav-btn.active {
    position: fixed;
    top: 30px;
    right: 3.125vw;
  }
  .site-header .navigation-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 24px 0;
    margin-left: 1.0416666vw;
  }
  .site-header .sub-navigation {
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 1280px) {
  .site-header .header-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 70.8333vw;
  }
  .site-header .btn-float,
  .site-header .side-float-banner {
    display: block;
    position: fixed;
  }
  .site-header .side-float-banner {
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-filter: drop-shadow(0 6px 6px rgba(0, 0, 0, 0.26));
            filter: drop-shadow(0 6px 6px rgba(0, 0, 0, 0.26));
  }
  .site-header .side-float-banner:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-filter: drop-shadow(0 6px 6px rgba(0, 0, 0, 0.26)) contrast(1.1) brightness(1.1);
            filter: drop-shadow(0 6px 6px rgba(0, 0, 0, 0.26)) contrast(1.1) brightness(1.1);
  }
  .site-header .btn-float {
    right: 1.5625vw;
    top: calc(80px + 1.5625vw);
    height: 100px;
    width: 100px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 50%;
    background: #c0932f;
    color: #fff;
    font-size: 14px;
    text-align: center;
    line-height: 1.2;
    padding-bottom: 15px;
    -webkit-box-shadow: 0 6px 6px rgba(0, 0, 0, 0.26);
            box-shadow: 0 6px 6px rgba(0, 0, 0, 0.26);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .site-header .btn-float:hover {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translateY(-8px);
        -ms-transform: translateY(-8px);
            transform: translateY(-8px);
    -webkit-box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
            box-shadow: 0 14px 14px rgba(0, 0, 0, 0.18);
  }
  .site-header .btn-float:active {
    -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
            transform: translateY(2px);
    -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
            box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
  .site-header .btn-float i {
    font-size: 36px;
    line-height: 1.1;
  }
}

.site-footer {
  width: 100%;
  position: relative;
  background: #fff;
}

.site-footer .site-info {
  padding: 0 4%;
  font-size: 14px;
}

.site-footer .site-info p {
  margin: 0;
}

.site-footer .menu {
  margin: 20px 0;
}

.site-footer .tel {
  display: none;
}

.site-footer #copyright {
  background: #274a78;
  padding-bottom: 50px;
}

.site-footer #copyright .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 4%;
}

.site-footer #copyright .inner p {
  font-size: 14px;
  margin: 0;
  color: #fff;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
}

.site-footer #copyright .inner p a {
  color: #fff;
  font-size: 20px;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
}

@media screen and (min-width: 600px) {
  .site-footer #copyright .inner p {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
  }
  .site-footer #copyright .inner p:nth-child(1) {
    margin-right: 30px;
  }
  .site-footer #copyright .inner p.tel {
    font-size: 18px;
    font-family: "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: bold;
  }
  .site-footer #copyright .inner p.tel a {
    font-size: 24px;
  }
}

@media screen and (min-width: 768px) {
  .site-footer #copyright {
    padding-bottom: 0;
  }
  .site-footer .tel {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .site-footer .tel span {
    margin-right: 0.5em;
  }
  .site-footer .tel span:last-of-type {
    margin-left: 1em;
  }
  .site-footer .tel span:first-of-type {
    margin-right: 1em;
  }
  .site-footer .tel .label {
    padding: 6px;
    border: 1px solid #fff;
  }
}

@media screen and (min-width: 960px) {
  .site-footer .site-info {
    padding: 0 240px 0 18.75vw;
  }
  .site-footer .menu {
    margin: 20px 0;
  }
  .site-footer #copyright .inner {
    padding: 0 250px 0 18.75vw;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 60px;
  }
}

.site-main {
  padding: 50px 0;
  display: block;
  overflow: hidden;
}

.site-main.pt0 {
  padding-top: 0;
}

@media screen and (min-width: 960px) {
  .site-main {
    padding: 50px 0 80px;
  }
}

.content-area section.has-bg {
  content: "";
  display: table;
  table-layout: fixed;
  width: 100%;
}

.wrap {
  padding: 0 4%;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.wrap.narrow {
  max-width: 1100px;
}

.wrap.wide {
  max-width: 1500px;
}

@media screen and (min-width: 960px) {
  .content-area .wrap {
    padding: 0 2.6041666vw;
  }
  .content-area section.has-bg {
    padding: 50px 0;
  }
  .content-area section {
    margin: 100px 0;
  }
  .content-area section.form-area {
    margin-top: 50px;
  }
}

.widget-area {
  padding: 0 4%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.widget-area h2 {
  color: #fff;
  background: #274a78;
  padding: 8px 16px;
  font-size: 18px;
  font-weight: normal;
}

.widget-area .rpwwt-widget ul li {
  margin-bottom: 20px !important;
}

.widget-area .rpwwt-widget ul li img {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.widget-area .widget-area-inner {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
}

.widget-area .widget {
  margin: 30px 0;
}

.widget-area .widget_media_image {
  text-align: center;
}

@media screen and (min-width: 960px) {
  .widget-area .widget-area-inner section:nth-child(1) {
    margin-top: 0;
  }
}

.page-header {
  text-align: center;
}

.page-header.form h1 + p {
  margin-top: 30px;
}

.page-header.shift {
  position: relative;
  width: 100%;
  margin-bottom: 16vw;
  height: 26.6666666vw;
  max-height: 300px;
}

.page-header.shift:before, .page-header.shift:after {
  content: "";
  width: 80%;
  max-width: 1200px;
  height: 100%;
  position: absolute;
  z-index: -1;
  display: block;
  -webkit-transform: translateX(-20px);
      -ms-transform: translateX(-20px);
          transform: translateX(-20px);
}

.page-header.shift:before {
  top: 0px;
  left: 0;
}

.page-header.shift:after {
  background: #e6e4dd;
  right: 0;
  top: 33.3333333%;
  z-index: -2;
}

.page-header.shift .wrap {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.page-header.shift h1 {
  margin: 0;
  color: #fff;
}

.header-works:before {
  background: url(./images/header-works-bg.png) no-repeat center center;
  background-size: cover;
}

.header-feature:before {
  background: url(./images/header-feature-bg.png) no-repeat center center;
  background-size: cover;
}

.header-reform:before {
  background: url(./images/header-reform-bg.png) no-repeat center center;
  background-size: cover;
}

.header-guarantee:before {
  background: url(./images/header-guarantee-bg.png) no-repeat center center;
  background-size: cover;
}

.header-flow:before {
  background: url(./images/header-flow-bg.png) no-repeat center center;
  background-size: cover;
}

.header-quality .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-right: 4vw;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.header-quality figure {
  margin: 0;
  width: 30%;
  overflow: hidden;
}

.header-quality figure img {
  height: 100%;
  max-height: 100%;
  width: auto;
  max-width: none;
  -webkit-transform: translateX(-35%);
      -ms-transform: translateX(-35%);
          transform: translateX(-35%);
}

.header-quality .text {
  width: calc(70% - 30px);
  text-align: left;
}

.header-quality .text h1 {
  color: #274a78;
}

.header-quality .text p {
  font-size: 15px;
  margin: 30px 0;
}

.header-se {
  padding: 0 !important;
  position: relative;
}

.header-se:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: -webkit-linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);
  background-image: -o-linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);
  background-size: 4px 4px;
  z-index: 1;
}

.header-se .wp-block-image {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 50%;
  max-width: 300px;
  margin: 0;
  z-index: 2;
}

.header-company {
  height: 32vw;
  max-height: 400px;
  width: 100%;
  background: url(./images/header-company-bg.png) no-repeat center center;
  background-size: cover;
  background-position: 55% 50%;
  position: relative;
}

.header-passive {
  height: 26.6666666vw;
  max-height: 300px;
  width: 100%;
  background: url(./images/header-passive-bg.png) no-repeat center center;
  background-size: cover;
  position: relative;
}

.header-passive h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: 0;
  height: 70%;
  max-height: 136px;
}

.header-passive h1 img {
  width: auto;
  height: 100%;
}

.header-ehkai {
  height: 26.6666666vw;
  max-height: 600px;
  width: 100%;
  background: url(./images/header-ehkai-bg.png) no-repeat center center;
  background-size: cover;
  position: relative;
}

.header-ehkai h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: 0;
  height: 50%;
  max-height: 92px;
}

.header-ehkai h1 img {
  width: auto;
  height: 100%;
}

@media screen and (min-width: 600px) {
  .header-quality {
    margin-bottom: 50px;
    position: relative;
  }
  .header-quality:before {
    content: "";
    width: 100%;
    height: calc(100% - 50px);
    position: absolute;
    left: 0;
    top: 0;
    background: #e6e4dd;
    z-index: -1;
  }
  .header-quality .container {
    padding: 0 4vw;
  }
  .header-quality figure {
    width: 40%;
    max-width: 400px;
    position: relative;
  }
  .header-quality figure img {
    left: 0;
    top: 0;
    position: absolute;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    width: auto;
    height: auto;
  }
  .header-quality .text {
    width: calc(60% - 40px);
    margin-bottom: 50px;
  }
  .header-quality .text p {
    font-size: 17px;
  }
  .header-se {
    position: relative;
  }
  .header-se:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-image: -webkit-linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);
    background-image: -o-linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);
    background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);
    background-size: 4px 4px;
    z-index: 1;
  }
  .header-se .video-container {
    padding-top: 0;
    width: 100%;
    height: 600px;
  }
  .header-company {
    background-position: center center;
  }
}

@media screen and (min-width: 960px) {
  .page-header.shift {
    margin-bottom: 10.4166666vw !important;
  }
  .page-header.form h1 + p {
    margin-bottom: 0;
  }
  .header-quality {
    margin-bottom: 100px;
  }
  .header-quality:before {
    height: calc(100% - 100px);
  }
  .header-quality .container {
    padding: 0 2.6041666vw;
  }
  .header-quality .text {
    width: calc(66.6666666% - 7.8125vw);
    margin-bottom: 100px;
  }
  .header-quality .text h1 {
    margin-top: 100px;
  }
  .header-quality .text p {
    letter-spacing: normal;
  }
  .header-quality .text p:nth-last-child(1) {
    margin-bottom: 100px;
  }
  .header-quality figure {
    width: 33.3333333%;
  }
  .header-quality figure img {
    position: static;
    height: 100%;
    width: auto;
  }
}

/*--------------------------------------------------------------
# Templates
--------------------------------------------------------------*/
.home .site-main {
  padding-top: 0;
}

.home .content-area {
  overflow-x: visible;
}

.home .content-area section.fv {
  margin-top: 0;
}

.home .site-header {
  position: fixed;
  background: transparent;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  width: 100%;
}

.home .site-header .site-branding img,
.home .site-header #nav-btn {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.home .site-header.scrolled {
  background: #fff;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.home .site-header.scrolled .site-branding img,
.home .site-header.scrolled #nav-btn {
  -webkit-filter: none;
          filter: none;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.home .fv .fv-inner {
  position: relative;
}

.home .fv .credit {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 999;
  color: rgba(255, 255, 255, 0.7);
  display: block;
  font-size: 13px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: normal;
}

.home .fv .campagin-area {
  padding: 30px 0;
}

.home .fv .campagin-area .mv {
  text-align: center;
  margin: 0;
}

.home .fv .campagin-area .btn {
  margin-left: auto;
  margin-right: auto;
}

.home .fv .fv-video {
  position: relative;
  aspect-ratio: 4 / 5;
}

.home .fv .fv-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  vertical-align: bottom;
}

.home .fv .fv-video h2 {
  margin: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  right: 10vw;
  top: 10vw;
  font-family: 'Noto Serif JP', serif;
}

.home .fv .fv-video h2 span {
  background: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0.5em 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.home .fv .fv-video h2 span:nth-last-child(1) {
  margin-right: 10px;
  margin-top: 60px;
}

.home .fv .fv-bottom {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: 999;
}

.home .fv .threedvideos {
  display: none;
}

.home .fv .more-video {
  position: absolute;
  right: 0;
  bottom: 0;
}

.home .fv .more-video a {
  border-top-left-radius: 0.5em;
  width: 220px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 70px;
  gap: 8px;
  font-family: 'Noto Serif JP', serif;
  font-size: 14px;
}

.home .fv .more-video a::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url(./images/icon-yt.svg) no-repeat center center/contain;
  -webkit-filter: invert(1);
          filter: invert(1);
}

.home .fv .more-video span {
  display: block;
}

.home .fv .more-video .en {
  font-size: 1.25rem;
}

.home .top-content section {
  margin: 50px 0;
}

.home .top-content section > div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.home .top-content section > div > div:nth-child(1) {
  width: 40px;
}

.home .top-content section > div > div:nth-child(2) {
  width: calc(100% - 40px);
}

.home .top-content section > div > div .arrow-right {
  margin-bottom: 0;
}

.home .top-content section > div h2 {
  color: #274a78;
  margin: 0 0 20px;
}

.home .top-content section > div + .arrow-right {
  padding-left: 30px;
  margin-bottom: 80px;
}

.home .top-content section > div.top-banner-block > div:nth-child(1) {
  display: none;
}

.home .top-content section > div.top-banner-block > div:nth-child(2) {
  width: 100%;
}

.home .top-content section > div.top-banner-block .slider {
  margin-left: -4vw;
  margin-right: -4vw;
}

.home .top-content section.lg-col2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}

.home .land-list-block section h2 {
  text-align: left;
  margin-bottom: 10px !important;
  color: #fff !important;
  background: #274a78;
  font-size: 16px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.75em 1.5em;
}

.home .top-banner-block .container > div::after {
  content: "";
  display: table;
  width: 100%;
}

.home .top-banner-block .container > div:nth-child(1) {
  margin-bottom: 50px;
}

.home .concept-list-block .concept-list {
  margin-bottom: 30px;
}

.home .concept-list-block .scrollX-container img {
  width: 720px !important;
}

@media screen and (min-width: 600px) {
  .home .concept-list-block .concept-list {
    margin-bottom: 50px;
  }
  .home .concept-list-block .scrollX-container img {
    width: auto !important;
  }
  .home .fv .fv-video {
    aspect-ratio: 3 / 2;
  }
}

@media screen and (min-width: 960px) {
  .home {
    background: #fff;
  }
  .home .site-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    margin-top: calc(100vh - 115px);
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(black));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), black);
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0), black);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), black);
  }
  .home .site-header .menu > .menu-item {
    border-color: #666;
  }
  .home .site-header .menu > .menu-item > a {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .home .site-header.scrolled {
    background-image: none;
  }
  .home .site-header.scrolled .menu > .menu-item {
    border-color: #ddd;
  }
  .home .site-header.scrolled .menu > .menu-item > a {
    -webkit-filter: none;
            filter: none;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .home main {
    padding: 0;
  }
  .home .fv {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
  }
  .home .fv .credit {
    position: absolute;
    bottom: auto;
    top: 0;
    left: auto;
    right: 0;
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
  }
  .home .fv .campagin-area {
    padding: 50px 0 80px;
    height: calc(100vh - 115px);
    position: relative;
  }
  .home .fv .campagin-area .mv {
    height: 100%;
  }
  .home .fv .campagin-area .mv img {
    width: auto;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
  }
  .home .fv .campagin-area .btn {
    position: absolute;
    bottom: 50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    margin: 0;
  }
  .home .fv .fv-video {
    aspect-ratio: unset;
    width: 100%;
    height: 100vh;
  }
  .home .fv .fv-video h2 {
    font-size: 5.16vh;
    top: 7.8125vw;
    right: 18.75vw;
    line-height: 1;
  }
  .home .fv .fv-video h2 span {
    line-height: 1;
    width: 68px;
    padding: 0.2em 0;
  }
  .home .fv .fv-video h2 span:nth-last-child(1) {
    margin-top: 100px;
    margin-right: 20px;
  }
  .home .fv .fv-bottom {
    display: none;
  }
  .home .fv .more-video {
    bottom: 115px;
    right: 18.75vw;
  }
  .home .fv .more-video a {
    height: 60px;
    border-start-start-radius: 10px;
    border-top-right-radius: 10px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .home .fv .more-video a:hover {
    background: #000;
  }
  .home .top-content {
    background: #fff;
  }
  .home .top-content:before, .home .top-content:after {
    content: "";
    display: table;
    table-layout: fixed;
  }
  .home .top-content section {
    margin: 100px 0;
  }
  .home .top-content section > div > div:nth-child(1) {
    width: 4.1666666vw;
  }
  .home .top-content section > div > div:nth-child(2) {
    width: calc(100% - 4.1666666vw);
  }
  .home .top-content section > div > div.container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    gap: 50px;
  }
  .home .top-content section > div > div.container > div {
    width: calc(50% - 25px);
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
  .home .top-content section > div > div.container > div:nth-child(1) {
    margin-bottom: 0;
  }
  .home .top-content section > div h2 {
    margin: 0 0 50px;
  }
  .home .top-content section > div.top-banner-block {
    gap: 30px !important;
  }
  .home .top-content section > div.top-banner-block > div:nth-child(1) {
    display: block;
    width: 1em;
  }
  .home .top-content section > div.top-banner-block > div:nth-child(1) .slick-slide a {
    aspect-ratio: 1 / 1;
  }
  .home .top-content section > div.top-banner-block > div:nth-child(1) .slick-slide a img {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home .top-content section > div.top-banner-block > div:nth-child(2) {
    width: calc(100% - 1em - 30px);
    gap: 30px;
  }
  .home .top-content section > div.top-banner-block > div:nth-child(2) h2 {
    font-size: 24px;
    margin-bottom: 30px;
    letter-spacing: normal;
  }
  .home .top-content section > div.top-banner-block > div .slider {
    margin-left: 0;
    margin-right: 0;
  }
  .home .top-content section > div.top-banner-block .seminar-block {
    width: 18%;
  }
  .home .top-content section > div.top-banner-block .seminar-block h2 {
    letter-spacing: -2px !important;
  }
  .home .top-content section > div.top-banner-block .seminar-block .slick-slide a {
    aspect-ratio: 1 / 1;
  }
  .home .top-content section > div.top-banner-block .seminar-block .slick-slide a img {
    aspect-ratio: 1 / 1;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home .top-content section > div.top-banner-block .seminar-block .slick-slide a h3 {
    width: 100%;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
  }
  .home .top-content section > div.top-banner-block .yt-list-block {
    width: calc(82% - 30px);
  }
  .home .top-content section.lg-col2 {
    gap: 100px;
  }
  .home .event-list li {
    margin-bottom: 0;
  }
  .home .land-list-block .land-list li.center {
    margin-left: 0;
    margin-right: 0;
  }
  .home .land-list-block section h2 {
    font-size: 18px;
  }
  .home .top-banner-block .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    gap: 50px;
  }
  .home .top-banner-block .container > div {
    width: calc(50% - 25px);
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
  .home .top-banner-block .container > div:nth-child(1) {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1280px) {
  .wrap {
    max-width: 76.04166vw !important;
  }
  .home .fv .fv-video h2 {
    top: 5vw;
  }
  .home .fv .fv-bottom {
    bottom: 115px;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    max-width: 70.8333vw;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
    display: none;
  }
  .home .fv .fv-bottom .threedvideos {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    gap: 0.5rem;
  }
  .home .fv .fv-bottom .threedvideos .video-wrap {
    margin: 0;
  }
  .home .fv .fv-bottom .threedvideos .video-wrap a {
    overflow: hidden;
  }
  .home .fv .fv-bottom .more-video {
    position: static;
  }
  .home .fv .fv-bottom .more-video a {
    height: 100%;
  }
  .home .fv .fv-bottom .video-wrap a::before {
    font-size: 2.5rem;
  }
  .home .top-content section.lg-col2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2rem;
  }
  .home .top-content section.lg-col2 > div {
    -webkit-flex-basis: calc(50% - 1rem);
        -ms-flex-preferred-size: calc(50% - 1rem);
            flex-basis: calc(50% - 1rem);
  }
  .home .top-content section.lg-col2 .model-list li {
    width: 100%;
    max-width: 400px;
  }
  .home .top-content section.lg-col2 .wp-block-table.style03 > table tr td,
  .home .top-content section.lg-col2 .wp-block-table.style03 > table tr th {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

.single .video-wrap {
  max-width: none !important;
}

.single .entry-header .entry-title {
  font-family: 'Noto Serif JP', serif;
  font-weight: normal;
  margin: 0 0 20px;
}

.single .entry-header .entry-title .area-label {
  font-size: 0.7em;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.5em;
  vertical-align: 0.2em;
  padding: 0 0.5em;
  color: #fff;
  border-radius: 4px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0.5em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.single .entry-header .entry-title .area-label.label-fukuoka {
  background: #274a78;
}

.single .entry-header .entry-title .area-label.label-okinawa {
  background: #c0932f;
}

.single .post-navigation {
  padding-top: 30px;
  margin: 30px -4vw;
  border-top: 1px solid #ddd;
}

.single-post .entry-content p:not([class]) a {
  text-decoration: underline;
}

.single-post .entry-content p:not([class]) a:hover {
  text-decoration: none;
}

@media screen and (min-width: 960px) {
  .single .entry-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .single .entry-header time {
    display: block;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
  }
  .single .entry-header .entry-title {
    margin-bottom: 0;
    -webkit-flex-basis: calc(100% - 180px);
        -ms-flex-preferred-size: calc(100% - 180px);
            flex-basis: calc(100% - 180px);
  }
  .single .post-navigation {
    padding-top: 50px;
    margin: 50px 0;
  }
  .post-template-default .site-main {
    max-width: 1300px;
    padding-left: 2.6041666vw;
    padding-right: 2.6041666vw;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .post-template-default .site-main .wrap,
  .post-template-default .site-main .widget-area {
    padding: 0;
    max-width: none !important;
    margin: 0;
  }
  .post-template-default .site-main .content-area {
    -webkit-flex-basis: 65%;
        -ms-flex-preferred-size: 65%;
            flex-basis: 65%;
  }
  .post-template-default .site-main .widget-area {
    -webkit-flex-basis: 25%;
        -ms-flex-preferred-size: 25%;
            flex-basis: 25%;
  }
}

.page .land-list-block h2 {
  display: none;
}

.page .entry-content > .wp-block-group {
  margin-bottom: 50px;
}

@media screen and (min-width: 600px) {
  .page .entry-content > .wp-block-group {
    margin-bottom: 60px;
  }
}

@media screen and (min-width: 600px) {
  .page .entry-content > .wp-block-group {
    margin-bottom: 80px;
  }
}

.page.page-template-page-full .site-main {
  max-width: none;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.page.page-template-page-full .entry-content figure:not(.aligncenter) {
  margin: 0;
}

.archive .wrap,
.search .wrap,
.page-template-page-topics .wrap {
  max-width: 900px;
}

.archive .page-header,
.search .page-header,
.page-template-page-topics .page-header {
  margin-bottom: 60px;
}

.archive .page-header h1, .archive .page-header p,
.search .page-header h1,
.search .page-header p,
.page-template-page-topics .page-header h1,
.page-template-page-topics .page-header p {
  margin: 0;
}

.archive .page-header p,
.search .page-header p,
.page-template-page-topics .page-header p {
  font-size: 13px;
}

.archive article,
.search article,
.page-template-page-topics article {
  margin: 30px 0;
}

.archive .link-area,
.search .link-area,
.page-template-page-topics .link-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.archive .link-area figure,
.search .link-area figure,
.page-template-page-topics .link-area figure {
  width: 20%;
  height: 0;
  margin: 0;
  position: relative;
  padding-top: 20%;
  overflow: hidden;
}

.archive .link-area figure img,
.search .link-area figure img,
.page-template-page-topics .link-area figure img {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.archive .link-area .text,
.search .link-area .text,
.page-template-page-topics .link-area .text {
  width: 75%;
}

.archive .link-area .text time,
.search .link-area .text time,
.page-template-page-topics .link-area .text time {
  display: block;
}

.archive .link-area .text h2,
.search .link-area .text h2,
.page-template-page-topics .link-area .text h2 {
  font-size: 17px;
  margin: 10px 0 10px;
}

.archive .link-area .text h2 .area-label,
.search .link-area .text h2 .area-label,
.page-template-page-topics .link-area .text h2 .area-label {
  font-size: 0.7em;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.5em;
  vertical-align: 0.2em;
  padding: 0 0.5em;
  color: #fff;
  border-radius: 4px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0.5em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: static;
  width: auto;
}

.archive .link-area .text h2 .area-label.label-fukuoka,
.search .link-area .text h2 .area-label.label-fukuoka,
.page-template-page-topics .link-area .text h2 .area-label.label-fukuoka {
  background: #274a78;
}

.archive .link-area .text h2 .area-label.label-okinawa,
.search .link-area .text h2 .area-label.label-okinawa,
.page-template-page-topics .link-area .text h2 .area-label.label-okinawa {
  background: #c0932f;
}

.archive .link-area .text .discription,
.search .link-area .text .discription,
.page-template-page-topics .link-area .text .discription {
  font-size: 15px;
  margin: 10px 0;
  line-height: 1.5;
}

.archive .link-area .text .more,
.search .link-area .text .more,
.page-template-page-topics .link-area .text .more {
  margin-bottom: 0;
}

.archive .nav-links,
.search .nav-links,
.page-template-page-topics .nav-links {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
  margin: 30px 0;
}

@media screen and (min-width: 600px) {
  .archive article,
  .search article,
  .page-template-page-topics article {
    margin: 40px 0;
  }
  .archive .link-area figure,
  .search .link-area figure,
  .page-template-page-topics .link-area figure {
    width: 150px;
    height: 150px;
    padding-top: 0;
  }
  .archive .link-area .text,
  .search .link-area .text,
  .page-template-page-topics .link-area .text {
    width: calc(100% - 150px - 2.6041666vw);
  }
  .archive .link-area .text h2,
  .search .link-area .text h2,
  .page-template-page-topics .link-area .text h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .archive .link-area .text .discription,
  .search .link-area .text .discription,
  .page-template-page-topics .link-area .text .discription {
    font-size: 17px;
  }
}

@media screen and (min-width: 960px) {
  .archive .page-header,
  .search .page-header,
  .page-template-page-topics .page-header {
    margin-bottom: 100px;
  }
  .archive article,
  .search article,
  .page-template-page-topics article {
    margin: 50px 0;
  }
  .archive article:nth-child(1),
  .search article:nth-child(1),
  .page-template-page-topics article:nth-child(1) {
    margin-top: 0;
  }
  .category .container {
    max-width: 1300px;
    padding-left: 2.6041666vw;
    padding-right: 2.6041666vw;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .category .container .wrap,
  .category .container .widget-area {
    padding: 0;
    max-width: none !important;
    margin: 0;
  }
  .category .container .content-area {
    width: 66.6666666%;
  }
  .category .container .content-area .page-header.line:after {
    width: 100%;
  }
  .category .container .widget-area {
    width: 25%;
  }
}

.category .wrap {
  max-width: 1300px;
}

.category .page-header {
  margin-bottom: 30px;
}

@media screen and (min-width: 600px) {
  .category .page-header {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 960px) {
  .category .wrap {
    padding-left: 2.6041666vw;
    padding-right: 2.6041666vw;
  }
  .category .page-header {
    margin-bottom: 50px;
  }
  .category .page-title {
    font-size: 32px;
  }
}

.error-440 .search-form, .not-found .search-form {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.error-440 .widget-area .search-form, .not-found .widget-area .search-form {
  display: none;
}

.single-news .site-main .entry-header .entry-title {
  font-family: 'Noto Serif JP', serif;
  font-weight: normal;
  margin: 0 0 20px;
}

.single-news .site-main .post-navigation {
  padding-top: 30px;
  margin: 30px -4vw;
  border-top: 1px solid #ddd;
}

.news-template-single-news-LP .site-main {
  padding-top: 0;
}

.news-template-single-news-LP .site-main .wrap {
  max-width: 1200px !important;
}

@media screen and (min-width: 960px) {
  .single-news .site-main .wrap {
    max-width: 1060px !important;
  }
  .single-news .site-main .entry-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .single-news .site-main .entry-header time {
    display: block;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
  }
  .single-news .site-main .entry-header .entry-title {
    margin-bottom: 0;
    -webkit-flex-basis: calc(100% - 180px);
        -ms-flex-preferred-size: calc(100% - 180px);
            flex-basis: calc(100% - 180px);
  }
  .single-news .site-main .post-navigation {
    padding-top: 50px;
    margin: 50px 0;
  }
}

article.type-event .labels, article.type-event-okinawa .labels {
  margin-bottom: 10px;
  margin-top: 0;
}

article.type-event .slide-container, article.type-event-okinawa .slide-container {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

article.type-event .columns .box, article.type-event-okinawa .columns .box {
  height: 100%;
}

article.type-event .columns .box h2, article.type-event-okinawa .columns .box h2 {
  font-size: 24px;
}

article.type-event .columns .box .flex-c, article.type-event-okinawa .columns .box .flex-c {
  margin-top: 30px;
}

@media screen and (min-width: 960px) {
  article.type-event .columns .box, article.type-event-okinawa .columns .box {
    margin-top: 0;
  }
}

.post-type-archive-event .wrap, .post-type-archive-event-okinawa .wrap {
  max-width: 1300px;
}

.post-type-archive-event .link-area figure, .post-type-archive-event-okinawa .link-area figure {
  width: 25%;
  padding-top: 25%;
}

.post-type-archive-event .link-area figure .finish, .post-type-archive-event-okinawa .link-area figure .finish {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: url(./images/event-end.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 80%;
  z-index: 1;
}

.post-type-archive-event .link-area .text, .post-type-archive-event-okinawa .link-area .text {
  width: 70%;
}

.post-type-archive-event .link-area .text p, .post-type-archive-event-okinawa .link-area .text p {
  margin: 0;
  line-height: 1;
}

.post-type-archive-event .link-area .text dl, .post-type-archive-event-okinawa .link-area .text dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: #e9e9e9;
  margin: 0;
  padding: 0.5em;
}

.post-type-archive-event .link-area .text dl:nth-child(even), .post-type-archive-event-okinawa .link-area .text dl:nth-child(even) {
  background: #f0f0f0;
}

.post-type-archive-event .link-area .text dl dt, .post-type-archive-event-okinawa .link-area .text dl dt {
  width: 4em;
  font-size: 14px;
  font-weight: normal;
}

.post-type-archive-event .link-area .text dl dd, .post-type-archive-event-okinawa .link-area .text dl dd {
  width: calc(100% - 4em);
  font-size: 14px;
  margin: 0;
}

@media screen and (min-width: 600px) {
  .post-type-archive-event .link-area .text h2, .post-type-archive-event-okinawa .link-area .text h2 {
    margin: 20px 0;
    font-size: 28px;
  }
}

@media screen and (min-width: 960px) {
  .post-type-archive-event article, .post-type-archive-event-okinawa article {
    margin: 60px 0;
  }
  .post-type-archive-event .link-area figure, .post-type-archive-event-okinawa .link-area figure {
    width: 280px;
    height: 280px;
    padding-top: 0;
  }
  .post-type-archive-event .link-area figure .finish, .post-type-archive-event-okinawa .link-area figure .finish {
    background-size: 169px;
  }
  .post-type-archive-event .link-area .text, .post-type-archive-event-okinawa .link-area .text {
    width: calc(100% - 280px - 50px);
  }
  .post-type-archive-event .link-area .text h2, .post-type-archive-event-okinawa .link-area .text h2 {
    font-size: 24px;
  }
  .post-type-archive-event .link-area .text dl, .post-type-archive-event-okinawa .link-area .text dl {
    padding: 0.75em 1em;
  }
  .post-type-archive-event .link-area .text dl dt,
  .post-type-archive-event .link-area .text dl dd, .post-type-archive-event-okinawa .link-area .text dl dt,
  .post-type-archive-event-okinawa .link-area .text dl dd {
    font-size: 16px;
  }
}

.single-works ul.slider-works {
  margin-top: 0;
}

.single-works .works-content h1 {
  color: #274a78;
  font-size: 24px;
}

.single-works .works-content .labels {
  margin-top: 10px;
}

.single-works .works-content .labels .label {
  margin-right: 10px;
}

@media screen and (min-width: 960px) {
  .single-works .wrap {
    max-width: 1100px !important;
  }
  .single-works .works-content h1 {
    margin: 50px 0 50px !important;
  }
  .single-works .post-navigation {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
}

.tax-type .wrap,
.post-type-archive-works .wrap,
.page-template-page-favorite .wrap {
  max-width: 1300px;
}

.tax-type .infinite-container.are-images-unloaded,
.post-type-archive-works .infinite-container.are-images-unloaded,
.page-template-page-favorite .infinite-container.are-images-unloaded {
  opacity: 0;
}

.tax-type article.post img,
.post-type-archive-works article.post img,
.page-template-page-favorite article.post img {
  display: block;
}

.tax-type article.post.animated,
.post-type-archive-works article.post.animated,
.page-template-page-favorite article.post.animated {
  -webkit-animation: fadeInUp 1s forwards;
          animation: fadeInUp 1s forwards;
}

nav.works-cat {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 16vw 0 30px;
}

nav.works-cat a {
  display: block;
  height: 50px;
  width: 33.3333333%;
  max-width: 200px;
  border-color: #274a78;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  color: #274a78;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
}

nav.works-cat a:nth-child(1) {
  border-width: 1px;
}

nav.works-cat a.current {
  background: #274a78;
  color: #fff;
}

@media all and (-ms-high-contrast: none) {
  nav.works-cat a {
    padding-top: 4px;
  }
}

.works-list article {
  margin: 15px 0;
  width: 100%;
}

.works-list article:nth-child(1) {
  margin-top: 0;
}

.works-list .entry-content {
  position: relative;
  width: 100%;
}

.works-list .entry-content a {
  display: block;
}

.works-list .entry-content .works-item {
  position: relative;
  display: inline-block;
}

.works-list .entry-content figure {
  margin: 0;
  width: 100%;
  height: auto;
  position: static;
  padding-top: 0;
}

.works-list .entry-content figure img {
  position: static;
  width: 100%;
  height: auto;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.works-list .entry-content .bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(39, 74, 120, 0.7);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 4vw;
  height: 50px;
  color: #fff;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.works-list .entry-content .bottom p {
  width: calc(100% - 50px);
  margin: 0;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  overflow: hidden;
  font-family: 'Noto Serif JP', serif;
  text-align: left;
}

.works-list .entry-content .simplefavorite-button {
  color: #fff;
  width: 50px;
  height: 50px;
  overflow: hidden;
  padding: 0;
  border: none;
  position: absolute;
  bottom: 0;
  right: 0;
}

.works-list .entry-content .simplefavorite-button i {
  font-size: 24px;
  margin: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 50px;
  height: 50px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-left: 1px solid #fff;
}

.works-list .entry-content .simplefavorite-button.active {
  background: none;
}

.works-list .entry-content .label {
  position: absolute;
  top: 0;
  right: 30px;
}

@media screen and (min-width: 600px) {
  nav.works-cat {
    margin: 16vw 0 40px;
  }
  nav.works-cat a {
    font-size: 18px;
  }
  .works-list article {
    margin: 20px 0;
    width: 50%;
    padding-right: 2.6041666vw;
    text-align: right;
  }
  .works-list article.itemRight {
    padding-left: 2.6041666vw;
    padding-right: 0;
    text-align: left;
  }
  .works-list .entry-content figure {
    width: auto;
    height: auto;
  }
  .works-list .entry-content a {
    max-width: 450px;
  }
  .works-list .entry-content a.wide {
    max-width: 550px;
  }
}

@media screen and (min-width: 960px) {
  nav.works-cat {
    margin: 10.4166666vw 0 5.2083333vw;
  }
  nav.works-cat a {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  nav.works-cat a:hover {
    background: #274a78;
    color: #fff;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .works-list article {
    margin: 2.6041666vw 0;
  }
  .works-list .entry-content .works-item:hover .bottom,
  .works-list .entry-content .works-item:hover .simplefavorite-button i {
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .works-list .entry-content .works-item:hover img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
  }
  .works-list .entry-content a.link-area {
    opacity: 1;
  }
  .works-list .entry-content figure {
    overflow: hidden;
    aspect-ratio: unset;
  }
  .works-list .entry-content figure img {
    -webkit-transition: all 0.8s;
    -o-transition: all 0.8s;
    transition: all 0.8s;
  }
  .works-list .entry-content .bottom {
    padding: 0;
    height: 100%;
    opacity: 0;
    background: rgba(39, 74, 120, 0.5);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .works-list .entry-content .bottom p {
    position: absolute;
    left: 30px;
    bottom: 30px;
    line-height: 1;
    font-size: 20px;
    width: calc(100% - 110px);
    opacity: 0.7;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .works-list .entry-content .bottom p:hover {
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .works-list .entry-content .simplefavorite-button {
    width: 70px;
    height: 70px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .works-list .entry-content .simplefavorite-button i {
    font-size: 36px;
    width: 70px;
    height: 70px;
    border-left: 1px solid #fff;
    color: rgba(255, 255, 255, 0.5);
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    opacity: 0;
  }
  .works-list .entry-content .simplefavorite-button:hover i {
    color: #fff;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .works-list .entry-content .label {
    position: absolute;
    top: -10px;
    right: 30px;
    width: 70px;
    height: 50px;
    padding: 0.5em 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.single-feature .wrap {
  max-width: 1100px;
}

@media screen and (min-width: 600px) {
  .single-feature .garage-works .garage-works-container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

@media screen and (min-width: 960px) {
  .single-feature .garage-works {
    margin-top: 0;
    background: #f0f0f0;
    padding-bottom: 50px;
  }
  .single-feature .garage-works .garage-works-container {
    overflow: hidden;
  }
}

.post-type-archive-feature {
  background: #f0f0f0;
}

.post-type-archive-feature .wrap {
  max-width: 1300px;
}

.post-type-archive-feature .label {
  font-family: 'Noto Serif JP', serif;
}

.post-type-archive-feature .ruby span {
  display: none;
}

.post-type-archive-feature .entry-content figure {
  margin: 0;
}

.post-type-archive-feature .entry-content .text {
  background: #fff;
  padding: 30px 20px 20px;
}

.post-type-archive-feature .entry-content .text h2 {
  margin: 10px 0 30px;
}

.post-type-archive-feature .entry-content .text p {
  margin: 30px 0;
}

.post-type-archive-feature .entry-content .text .arrow-right {
  margin-bottom: 0;
  line-height: 1;
}

@media screen and (min-width: 600px) {
  .post-type-archive-feature .entry-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .post-type-archive-feature .entry-content > a {
    display: block;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    -webkit-transform: translateY(5.20833vw);
        -ms-transform: translateY(5.20833vw);
            transform: translateY(5.20833vw);
  }
  .post-type-archive-feature .entry-content .text {
    -webkit-flex-basis: 66.6666666%;
        -ms-flex-preferred-size: 66.6666666%;
            flex-basis: 66.6666666%;
    margin-right: -10.4166666vw;
    padding: 2.6041666vw 15.625vw 2.6041666vw 2.6041666vw;
  }
  .post-type-archive-feature article:nth-child(even) > a {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .post-type-archive-feature article:nth-child(even) .text {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin-left: -10.4166666vw;
    margin-right: 0;
    padding: 2.6041666vw 2.6041666vw 2.6041666vw 15.625vw;
  }
}

@media screen and (min-width: 960px) {
  .post-type-archive-feature .label {
    width: 90px;
    height: 30px;
    font-size: 18px;
  }
  .post-type-archive-feature .entry-content > a {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
  }
  .post-type-archive-feature .entry-content .text {
    -webkit-flex-basis: 66.6666666%;
        -ms-flex-preferred-size: 66.6666666%;
            flex-basis: 66.6666666%;
  }
  .post-type-archive-feature article {
    margin: 9.375vw 0;
  }
}

.ehkai-template-default {
  background: #f0f0f0;
}

.ehkai-template-default .entry-header {
  border-bottom: 1px solid #ddd;
}

.ehkai-template-default .entry-header h1 {
  margin-top: 0;
}

.ehkai-template-default .columns.craftsman figure {
  margin: 0;
}

.ehkai-template-default .columns.craftsman .catchcopy {
  font-size: 28px;
}

.ehkai-template-default .columns.craftsman .job {
  font-size: 20px;
  font-family: 'Noto Serif JP', serif;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #ddd;
}

.ehkai-template-default .columns.craftsman .name {
  font-family: 'Noto Serif JP', serif;
  font-size: 32px;
  letter-spacing: 5px;
}

.ehkai-template-default .columns.craftsman .description {
  font-size: 15px;
}

.ehkai-template-default .columns.craftsman > div:nth-child(2) > * {
  margin: 20px 0;
}

.ehkai-template-default .craftsman-article-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.ehkai-template-default .craftsman-article-block figure {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin: 0;
}

.ehkai-template-default .craftsman-article-block .text {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

.ehkai-template-default .craftsman-article-block .text h2 {
  font-size: 24px;
}

.ehkai-template-default .craftsman-article-block .text img {
  display: block;
  margin: 30px auto;
}

.ehkai-template-default .craftsman-message {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.ehkai-template-default .craftsman-message h2 {
  text-align: center;
}

@media screen and (min-width: 600px) {
  .ehkai-template-default .entry-header {
    padding-bottom: 40px;
  }
  .ehkai-template-default .entry-header .wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ehkai-template-default .entry-header .wrap * {
    margin: 0;
  }
  .ehkai-template-default .columns.craftsman {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ehkai-template-default .columns.craftsman > div:nth-child(2) *:nth-child(1) {
    margin-top: 0;
    margin-bottom: 80px;
  }
  .ehkai-template-default .columns.craftsman > div:nth-child(2) *:nth-last-child(1) {
    margin-bottom: 0;
  }
  .ehkai-template-default .craftsman-article-block {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .ehkai-template-default .craftsman-article-block:nth-child(even) figure {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .ehkai-template-default .craftsman-article-block:nth-child(even) .text {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .ehkai-template-default .craftsman-article-block figure {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    -webkit-flex-basis: 35.4%;
        -ms-flex-preferred-size: 35.4%;
            flex-basis: 35.4%;
    max-width: 354px;
  }
  .ehkai-template-default .craftsman-article-block .text {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    -webkit-flex-basis: 56.6%;
        -ms-flex-preferred-size: 56.6%;
            flex-basis: 56.6%;
  }
  .ehkai-template-default .craftsman-article-block .text h2 {
    margin-top: 0;
  }
  .ehkai-template-default .craftsman-article-block .text img {
    margin: 30px 0;
  }
  .craftsman-message p {
    text-align: center;
  }
}

@media screen and (min-width: 960px) {
  .ehkai-template-default .entry-header {
    border-bottom: none;
    padding-bottom: 0;
  }
  .ehkai-template-default .columns.craftsman {
    margin-bottom: 150px;
  }
  .ehkai-template-default .craftsman-article-block {
    margin: 100px 0;
  }
  .ehkai-template-default .craftsman-article-block .text *:nth-child(1) {
    margin-top: 0;
  }
  .ehkai-template-default .craftsman-article-block .text *:nth-last-child(1) {
    margin-bottom: 0;
  }
  .ehkai-template-default .craftsman-article-block.vertical figure {
    -webkit-flex-basis: 27%;
        -ms-flex-preferred-size: 27%;
            flex-basis: 27%;
  }
  .ehkai-template-default .craftsman-article-block.vertical .text {
    -webkit-flex-basis: 66%;
        -ms-flex-preferred-size: 66%;
            flex-basis: 66%;
  }
}

.post-type-archive-ehkai {
  background: #f0f0f0;
}

.post-type-archive-ehkai .wrap {
  max-width: 1300px;
}

.post-type-archive-ehkai .ehkai-list > * {
  margin-top: 0;
}

.post-type-archive-ehkai .ehkai-list figure {
  margin: 0;
  -webkit-filter: saturate(0) contrast(110%);
          filter: saturate(0) contrast(110%);
}

.post-type-archive-ehkai .ehkai-list .text > * {
  margin: 0;
}

.post-type-archive-ehkai .ehkai-list .text .job {
  margin-top: 15px;
  font-size: 15px;
}

.post-type-archive-ehkai .ehkai-list .text .name {
  font-size: 24px;
  font-family: 'Noto Serif JP', serif;
}

.post-type-archive-ehkai .ehkai-list .text .catchcopy {
  font-size: 15px;
}

@media screen and (min-width: 600px) {
  .post-type-archive-ehkai .ehkai-list figure {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .post-type-archive-ehkai .ehkai-list figure:hover {
    -webkit-filter: none;
            filter: none;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }
  .post-type-archive-ehkai .ehkai-list .text .job {
    font-size: 18px;
  }
  .post-type-archive-ehkai .ehkai-list .text .catchcopy {
    font-size: 18px;
  }
}

.post-type-archive-house .wrap, .post-type-archive-house-okinawa .wrap {
  max-width: 1300px;
}

.post-type-archive-house .model-list, .post-type-archive-house-okinawa .model-list {
  margin-bottom: 50px;
}

.post-type-archive-house .model-list figure, .post-type-archive-house-okinawa .model-list figure {
  margin: 0;
}

.post-type-archive-house .model-list p, .post-type-archive-house-okinawa .model-list p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

@media screen and (min-width: 600px) {
  .post-type-archive-house .infinite-container, .post-type-archive-house-okinawa .infinite-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
  .post-type-archive-house .infinite-container .model-list, .post-type-archive-house-okinawa .infinite-container .model-list {
    width: 48%;
    margin-right: 4%;
  }
  .post-type-archive-house .infinite-container .model-list:nth-child(even), .post-type-archive-house-okinawa .infinite-container .model-list:nth-child(even) {
    margin-right: 0;
  }
}

@media screen and (min-width: 960px) {
  .post-type-archive-house .infinite-container .model-list, .post-type-archive-house-okinawa .infinite-container .model-list {
    width: calc(100% / 3 - 60px / 3);
    margin: 0 30px 50px 0;
  }
  .post-type-archive-house .infinite-container .model-list:nth-child(even), .post-type-archive-house-okinawa .infinite-container .model-list:nth-child(even) {
    margin-right: 30px;
  }
  .post-type-archive-house .infinite-container .model-list:nth-child(3n), .post-type-archive-house-okinawa .infinite-container .model-list:nth-child(3n) {
    margin-right: 0;
  }
  .post-type-archive-house .infinite-container .model-list:nth-last-child(-n+3), .post-type-archive-house-okinawa .infinite-container .model-list:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
  .post-type-archive-house .infinite-container .model-list .text h3, .post-type-archive-house-okinawa .infinite-container .model-list .text h3 {
    font-size: 18px;
  }
}

.single-house .wrap, .single-house-okinawa .wrap {
  max-width: 1060px;
}

.single-house .entry-header, .single-house-okinawa .entry-header {
  margin-bottom: 30px;
}

.single-house .type-house .brackets, .single-house .type-house-okinawa .brackets, .single-house-okinawa .type-house .brackets, .single-house-okinawa .type-house-okinawa .brackets {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 34px;
  line-height: 34px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 10px 10px 10px 0;
  vertical-align: middle;
}

.single-house .type-house .label, .single-house .type-house-okinawa .label, .single-house-okinawa .type-house .label, .single-house-okinawa .type-house-okinawa .label {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 34px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 10px 0;
}

.single-house .type-house .price-line, .single-house .type-house-okinawa .price-line, .single-house-okinawa .type-house .price-line, .single-house-okinawa .type-house-okinawa .price-line {
  padding: 0.25em 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.plan-price-wrap .cta-text {
  text-align: center;
  font-weight: bold;
  font-size: 1.15rem;
  letter-spacing: normal;
}

.plan-price-wrap .cta-line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}

.plan-price-wrap .cta-line * {
  margin: 0;
}

.plan-price-wrap .btn-line {
  margin: 0 auto;
  min-width: 250px;
}

.plan-price-wrap .btn-line a {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

@media screen and (min-width: 960px) {
  .single-house .entry-header, .single-house-okinawa .entry-header {
    margin-bottom: 50px;
  }
  .single-house .type-house ul.f-left, .single-house .type-house-okinawa ul.f-left, .single-house-okinawa .type-house ul.f-left, .single-house-okinawa .type-house-okinawa ul.f-left {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .single-house .type-house ul.f-left > li, .single-house .type-house-okinawa ul.f-left > li, .single-house-okinawa .type-house ul.f-left > li, .single-house-okinawa .type-house-okinawa ul.f-left > li {
    -webkit-flex-basis: calc(20% - 40px / 5);
        -ms-flex-preferred-size: calc(20% - 40px / 5);
            flex-basis: calc(20% - 40px / 5);
    text-align: center;
    padding: 30px;
    background: #eee;
    line-height: 1.5;
    margin-right: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 0.833vw;
  }
  .single-house .type-house ul.f-left > li:before, .single-house .type-house-okinawa ul.f-left > li:before, .single-house-okinawa .type-house ul.f-left > li:before, .single-house-okinawa .type-house-okinawa ul.f-left > li:before {
    content: none;
  }
  .single-house .type-house ul.f-left > li:nth-last-child(1), .single-house .type-house-okinawa ul.f-left > li:nth-last-child(1), .single-house-okinawa .type-house ul.f-left > li:nth-last-child(1), .single-house-okinawa .type-house-okinawa ul.f-left > li:nth-last-child(1) {
    margin-right: 0;
    background: #444;
    color: #fff;
  }
  .plan-price-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
  }
  .plan-price-wrap .plan-price {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .plan-price-wrap .cta-line {
    background: #f8f4e6;
    padding: 1.5rem;
  }
}
