@charset "UTF-8";
/*! 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 {
  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 {
  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"] {
  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;
}

/* ======================================================================================== ^^
	Reset
=========================================================================================== ^^ */
* {
  box-sizing: border-box;
}

body {
  padding: 0;
  background-color: #fff;
  overflow-x: hidden;
}

main {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

p {
  margin: 0 0 1.5rem;
}

ul, ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

dl {
  margin: 0;
}

dt, dd {
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: top;
}

@media (min-width: 768px) {
  img {
    max-width: none;
    width: 100%;
  }
}

figure {
  margin: 0;
}

em {
  font-weight: bold;
  font-style: normal;
}

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

button {
  border-radius: 0;
  background: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

button:focus {
  outline: none;
}

a:link {
  color: #000;
}

a:hover {
  color: #000;
}

a:hover img {
  opacity: 0.8;
}

a:visited {
  color: #000;
}

a:active {
  color: #000;
}

/* ======================================================================================== ^^
	Typography
=========================================================================================== ^^ */
html {
  font-size: 62.5%;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 100%;
  color: #333;
  font-weight: 800;
  line-height: 1.5;
}

sup {
  font-size: 0.9rem;
  top: -0.7em;
}

abbr[title] {
  text-decoration: none;
}

/* ======================================================================================== ^^
	Utilities
=========================================================================================== ^^ */
.tel-link {
  text-decoration: none;
  pointer-events: none;
  cursor: default;
}

@media (max-width: 768px) {
  .tel-link {
    pointer-events: all;
    cursor: pointer;
  }
}

@media (min-width: 768px) {
  .only-sp {
    display: none;
  }
}

.only-pc {
  display: none;
}

@media (min-width: 768px) {
  .only-pc {
    display: block;
  }
}

.only-pc-inline {
  display: none;
}

@media (min-width: 768px) {
  .only-pc-inline {
    display: inline;
  }
}

a {
  transition: all 0.2s linear;
}

a img {
  transition: all 0.2s linear;
}

a:hover {
  text-decoration: none;
}

a:hover img {
  opacity: 0.7;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  float: left;
  width: 100%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation li {
  float: left;
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 1.5em;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 100%;
}

.current_page_item > a,
.current-menu-item > a {
  color: #72a8d3;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .main-navigation ul {
    display: block;
  }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  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;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

@media screen and (max-width: 768px) {
  .alignleft {
    width: 100% !important;
    float: none;
    padding-bottom: 3rem;
    margin: 0 auto;
    display: inline-block;
  }
}

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

@media screen and (max-width: 768px) {
  .alignright {
    width: 100% !important;
    float: none;
    padding-bottom: 3rem;
    margin: 0 auto;
    display: inline-block;
  }
}

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

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

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
  max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

.hentry {
  margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

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

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.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%;
}

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

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

/* ======================================================================================== ^^
	Header
=========================================================================================== ^^ */
.site-header {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.is-open .site-header {
  width: 4.6rem;
  left: 50%;
  transform: translateX(-50%);
}

.site-header-wrap {
  width: 100%;
  height: 6.8rem;
  padding: 0 2rem;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 6000;
  transition: all 0.3s linear;
  transform: translateY(-100%);
}

.page .site-header-wrap {
  transform: translateY(0);
}

@media (min-width: 768px) {
  .site-header-wrap.is-open {
    transform: translateY(0);
  }
}

.site-header_logo {
  width: 4.6rem;
  margin: 0;
  position: absolute;
  top: calc(100% + 2.2rem);
  left: 2.2rem;
  z-index: 1000;
}

.page .site-header_logo {
  position: static;
}

.is-open .site-header_logo {
  position: static;
}

@media (min-width: 768px) {
  .is-open .site-header_logo {
    position: static;
  }
}

.site-navigation {
  width: 100%;
  transition: all 0.3s linear;
}

@media (min-width: 768px) {
  .site-navigation {
    height: 100%;
    background-color: transparent;
    position: static;
    transition: none;
  }
}

.site-navigation .menu {
  display: none;
}

@media (min-width: 768px) {
  .site-navigation .menu {
    width: 100%;
    height: 100%;
    padding: 0;
    background-color: transparent;
    position: static;
    transform: none;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .is-menu-open .site-navigation .menu {
    width: 80%;
    padding: 6.66667vw;
    background-color: #fff;
    position: fixed;
    top: calc(100% + 15vh);
    left: 50%;
    z-index: 1800;
    display: block;
    transform: translateX(-50%);
  }
}

.site-navigation li {
  width: 100%;
  height: 13.33333vw;
  border-bottom: 1px solid #000;
}

@media (min-width: 768px) {
  .site-navigation li {
    width: auto;
    height: auto;
    margin-right: 2.92969vw;
    border-bottom: none;
  }
}

@media (min-width: 1024px) {
  .site-navigation li {
    margin-right: 3rem;
  }
}

.site-navigation li:last-of-type {
  margin-right: 0;
  border-bottom: none;
}

@media (min-width: 768px) {
  .site-navigation li:last-of-type {
    margin-left: auto;
  }
}

.site-navigation li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media (min-width: 768px) {
  .site-navigation li a {
    width: auto;
    height: auto;
    display: inline;
  }
}

/* ======================================================================================== ^^
	Footer
=========================================================================================== ^^ */
.site-footer {
  width: 100%;
  padding: 10.66667vw 4.66667vw 5.33333vw;
  background-color: #231815;
}

@media (min-width: 768px) {
  .site-footer {
    padding: 5.17578vw 1.95312vw 6.15234vw;
  }
}

@media (min-width: 1024px) {
  .site-footer {
    padding: 5.3rem 0 6.3rem;
  }
}

.footer-contact {
  max-width: 114rem;
  width: 100%;
  padding-left: 0;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media (min-width: 768px) {
  .footer-contact {
    padding-left: 18.55469vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact {
    padding-left: 19rem;
  }
}

.footer-contact_title {
  margin-right: 1.75vw;
  font-size: 2.25vw;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 400px) {
  .footer-contact_title {
    margin-right: 1.86667vw;
    font-size: 2.4vw;
  }
}

@media (min-width: 768px) {
  .footer-contact_title {
    margin-right: 2.44141vw;
    font-size: 1.5625vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact_title {
    margin-right: 2.5rem;
    font-size: 1.6rem;
  }
}

.footer-contact_title span {
  font-size: 2.5vw;
}

@media (min-width: 400px) {
  .footer-contact_title span {
    font-size: 2.66667vw;
  }
}

@media (min-width: 768px) {
  .footer-contact_title span {
    font-size: 1.75781vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact_title span {
    font-size: 1.8rem;
  }
}

.footer-contact_title::after {
  width: 3vw;
  height: 4.25vw;
  margin-left: 1.25vw;
  background: url(../images/slash-wht@2x.png) no-repeat 50% 50%/cover;
  content: '\0020';
  display: block;
}

@media (min-width: 400px) {
  .footer-contact_title::after {
    width: 3.06667vw;
    height: 4.66667vw;
    margin-left: 1.33333vw;
  }
}

@media (min-width: 768px) {
  .footer-contact_title::after {
    width: 3.90625vw;
    height: 5.76172vw;
    margin-right: 0.97656vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact_title::after {
    width: 4rem;
    height: 5.9rem;
    margin-right: 1rem;
  }
}

.footer-contact_tel .tel {
  margin: 0;
  font-size: 2.75vw;
  color: #fff;
  font-weight: bold;
}

@media (min-width: 400px) {
  .footer-contact_tel .tel {
    font-size: 2.8vw;
  }
}

@media (min-width: 768px) {
  .footer-contact_tel .tel {
    font-size: 3.125vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact_tel .tel {
    font-size: 3.2rem;
  }
}

.footer-contact_tel .tel span {
  font-size: 2vw;
  font-weight: normal;
}

@media (min-width: 400px) {
  .footer-contact_tel .tel span {
    font-size: 2.13333vw;
  }
}

@media (min-width: 768px) {
  .footer-contact_tel .tel span {
    font-size: 2.53906vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact_tel .tel span {
    font-size: 2.6rem;
  }
}

.footer-contact_tel .tel a {
  color: #fff;
}

.footer-contact_tel .address {
  margin: 0;
  font-size: 3.25vw;
  color: #fff;
}

@media (min-width: 400px) {
  .footer-contact_tel .address {
    font-size: 1.73333vw;
  }
}

@media (min-width: 768px) {
  .footer-contact_tel .address {
    font-size: 1.17188vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact_tel .address {
    font-size: 1.2rem;
  }
}

.footer-contact_logo {
  width: 6.75vw;
  margin-left: auto;
}

@media (min-width: 400px) {
  .footer-contact_logo {
    width: 7.2vw;
  }
}

@media (min-width: 768px) {
  .footer-contact_logo {
    width: 4.49219vw;
  }
}

@media (min-width: 1024px) {
  .footer-contact_logo {
    width: 4.6rem;
  }
}

/* ======================================================================================== ^^
	Frame
=========================================================================================== ^^ */
/* ======================================================================================== ^^
	Navigation
=========================================================================================== ^^ */
.navigation ul {
  width: 100%;
  padding: 0 2.66667vw;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (min-width: 768px) {
  .navigation ul {
    padding: 0 1.95312vw;
  }
}

@media (min-width: 1024px) {
  .navigation ul {
    padding: 0;
  }
}

.navigation ul li a {
  font-size: 3.73333vw;
  font-weight: normal;
  line-height: 1;
  text-decoration: none;
}

@media (min-width: 768px) {
  .navigation ul li a {
    font-size: 1.36719vw;
  }
}

@media (min-width: 1024px) {
  .navigation ul li a {
    font-size: 1.4rem;
  }
}

.site-navigation li {
  font-size: 3.2vw;
  font-weight: normal;
}

@media (min-width: 768px) {
  .site-navigation li {
    font-size: 1.36719vw;
  }
}

@media (min-width: 1024px) {
  .site-navigation li {
    font-size: 1.4rem;
  }
}

.site-navigation li a {
  text-decoration: none;
}

.site-footer-navigation {
  max-width: 114rem;
  width: 100%;
  padding: 0 0 2.13333vw;
  margin: 0 auto 2.93333vw;
  border-bottom: 1px solid #fff;
}

@media (min-width: 768px) {
  .site-footer-navigation {
    padding-bottom: 2.53906vw;
    margin-bottom: 3.90625vw;
  }
}

@media (min-width: 1024px) {
  .site-footer-navigation {
    padding-bottom: 2.6rem;
    margin-bottom: 4rem;
  }
}

.site-footer-navigation ul {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.site-footer-navigation li {
  padding: 0 1.73333vw;
}

@media (min-width: 768px) {
  .site-footer-navigation li {
    padding: 0 1.26953vw;
  }
}

@media (min-width: 1024px) {
  .site-footer-navigation li {
    padding: 0 1.3rem;
  }
}

.site-footer-navigation li a {
  font-size: 2.4vw;
  color: #fff;
  line-height: 1;
  text-decoration: none;
}

@media (min-width: 768px) {
  .site-footer-navigation li a {
    font-size: 1.07422vw;
  }
}

@media (min-width: 1024px) {
  .site-footer-navigation li a {
    font-size: 1.1rem;
  }
}

.menu-toggle {
  width: 6.66667vw;
  height: 5.33333vw;
  border: none;
  position: fixed;
  top: calc(100% + 2.2rem);
  right: 2.2rem;
  z-index: 1900;
}

@media (min-width: 768px) {
  .menu-toggle {
    display: none;
  }
}

.page .menu-toggle {
  top: 2.2rem;
}

.menu-toggle span {
  width: 100%;
  height: 0.53333vw;
  margin-top: -0.26667vw;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
}

.is-menu-open .menu-toggle span {
  display: none;
}

.page .menu-toggle span {
  background-color: #000;
}

.menu-toggle:focus {
  outline: none;
}

.menu-toggle::before {
  width: 100%;
  height: 0.53333vw;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: '\0020';
  transition: all 0.3s linear;
}

.is-menu-open .menu-toggle::before {
  margin-top: -0.26667vw;
  top: 50%;
  transform: rotate(45deg);
}

.page .menu-toggle::before {
  background-color: #000;
}

.page.is-menu-open .menu-toggle::before {
  background-color: #fff;
}

.menu-toggle::after {
  width: 100%;
  height: 0.53333vw;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: '\0020';
  transition: all 0.3s linear;
}

.is-menu-open .menu-toggle::after {
  margin-top: -0.26667vw;
  top: 50%;
  bottom: auto;
  transform: rotate(-45deg);
}

.page .menu-toggle::after {
  background-color: #000;
}

.page.is-menu-open .menu-toggle::after {
  background-color: #fff;
}

.layer {
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.75);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1200;
  display: none;
}

.is-menu-open .layer {
  display: block;
}

/* ======================================================================================== ^^
	Main visual
=========================================================================================== ^^ */
.main-visual {
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 100;
}

@media (min-width: 768px) {
  .main-visual {
    min-height: 44rem;
  }
}

.main-visual_inner {
  width: 100%;
  height: 100%;
  padding-top: 45.12195vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

@media (min-height: 902px) {
  .main-visual_inner {
    padding-top: 40.7rem;
  }
}

.main-visual_title {
  width: 66.73333vw;
}

@media (min-width: 768px) {
  .main-visual_title {
    width: 60.83984vw;
  }
}

@media (min-width: 1024px) {
  .main-visual_title {
    width: 62.3rem;
  }
}

.main-visual_title + p {
  padding-top: 2.99335vh;
  margin: 0 0 25.27716vh;
  font-size: 1.86667vw;
  color: #fff;
  font-weight: normal;
  line-height: 1;
  text-align: center;
}

@media (min-height: 902px) {
  .main-visual_title + p {
    padding-top: 2.7rem;
    margin-bottom: 22.8rem;
  }
}

@media (min-width: 768px) {
  .main-visual_title + p {
    font-size: 1.46484vw;
  }
}

@media (min-width: 1024px) {
  .main-visual_title + p {
    font-size: 1.5rem;
  }
}

.main-visual_navigation {
  display: none;
}

@media (min-width: 768px) {
  .main-visual_navigation {
    display: block;
  }
}

.main-visual_navigation.is-open {
  display: none;
}

@media (min-width: 768px) {
  .main-visual_navigation.is-open {
    display: none;
  }
}

.main-visual_navigation ul li {
  margin: 0 1.9rem;
}

.main-visual_navigation ul li a {
  color: #fff;
}

.main-visual_video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 150;
  overflow: hidden;
}

.main-visual_video video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: scale(1.2);
  transform-origin: 50% 50%;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (min-width: 1290px) {
  .main-visual_video video {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 1290px) and (min-height: 790px) {
  .main-visual_video video {
    width: auto;
    height: 100%;
  }
}

@media (min-width: 1450px) {
  .main-visual_video video {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 1450px) and (min-height: 826px) {
  .main-visual_video video {
    width: auto;
    height: 100%;
  }
}

@media (min-width: 1580px) {
  .main-visual_video video {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 1580px) and (min-height: 950px) {
  .main-visual_video video {
    width: auto;
    height: 100%;
  }
}

@media (min-width: 2010px) {
  .main-visual_video video {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 2010px) and (min-height: 1200px) {
  .main-visual_video video {
    width: auto;
    height: 100%;
  }
}

@media (min-width: 2140px) {
  .main-visual_video video {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 2140px) and (min-height: 1200px) {
  .main-visual_video video {
    width: auto;
    height: 100%;
  }
}

/* ======================================================================================== ^^
	Section
=========================================================================================== ^^ */
.section {
  width: 100%;
}

.section_header {
  width: 100%;
  height: 62.4vw;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (min-width: 768px) {
  .section_header {
    height: 87.89062vw;
  }
}

@media (min-width: 1024px) {
  .section_header {
    height: 90rem;
  }
}

.section_title {
  margin: 0;
  font-size: 4.8vw;
  color: #fff;
  font-weight: bold;
  line-height: 1;
}

@media (min-width: 768px) {
  .section_title {
    font-size: 6.64062vw;
  }
}

@media (min-width: 1024px) {
  .section_title {
    font-size: 6.8rem;
  }
}

.section .contents {
  max-width: 115.6rem;
  width: 100%;
  margin: 0 auto;
}

/* ======================================================================================== ^^
	Table
=========================================================================================== ^^ */
.table {
  line-height: 1.25;
}

.table th {
  padding: 0 2.4vw 2.66667vw 0;
  text-align: right;
  vertical-align: top;
}

@media (min-width: 768px) {
  .table th {
    padding: 0 1.75781vw 1.95312vw 0;
  }
}

@media (min-width: 1024px) {
  .table th {
    padding: 0 1.8rem 2rem 0;
  }
}

.table td {
  padding: 0 0 2.66667vw 2.4vw;
}

@media (min-width: 768px) {
  .table td {
    padding: 0 0 1.95312vw 1.75781vw;
  }
}

@media (min-width: 1024px) {
  .table td {
    padding: 0 0 2rem 1.8rem;
  }
}

.tbl-recruit {
  width: 87.33333vw;
  margin: 0 auto;
  border-top: 1px solid #231815;
  border-left: 1px solid #231815;
  border-collapse: collapse;
  font-size: 2.4vw;
}

@media (min-width: 768px) {
  .tbl-recruit {
    width: 100%;
    font-size: 1.17188vw;
  }
}

@media (min-width: 768px) {
  .tbl-recruit {
    font-size: 1.2rem;
  }
}

.tbl-recruit th {
  width: 30%;
  padding: 3.06667vw 0;
  border-right: 1px solid #231815;
  border-bottom: 1px solid #231815;
}

@media (min-width: 768px) {
  .tbl-recruit th {
    width: 19.5122%;
    padding: 2.24609vw 0;
  }
}

@media (min-width: 1024px) {
  .tbl-recruit th {
    padding: 2.3rem 0;
  }
}

.tbl-recruit td {
  width: 70%;
  padding: 3.06667vw 4vw;
  border-right: 1px solid #231815;
  border-bottom: 1px solid #231815;
  line-height: 2;
}

@media (min-width: 768px) {
  .tbl-recruit td {
    width: 80.4878%;
    padding: 2.24609vw 2.92969vw;
  }
}

@media (min-width: 1024px) {
  .tbl-recruit td {
    padding: 2.3rem 3rem;
  }
}

.tbl-recruit td .small {
  margin-left: 3.33333vw;
  font-size: 2.13333vw;
}

@media (min-width: 768px) {
  .tbl-recruit td .small {
    margin-left: 2.92969vw;
    font-size: 0.97656vw;
  }
}

@media (min-width: 1024px) {
  .tbl-recruit td .small {
    margin-left: 3rem;
    font-size: 1rem;
  }
}

.tbl-recruit_caption {
  width: 100%;
  margin: 0 0 2.66667vw;
  font-size: 3.73333vw;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  display: block;
}

@media (min-width: 768px) {
  .tbl-recruit_caption {
    margin-bottom: 1.66016vw;
    font-size: 1.66016vw;
  }
}

@media (min-width: 1024px) {
  .tbl-recruit_caption {
    margin-bottom: 1.7rem;
    font-size: 1.7rem;
  }
}

/* ======================================================================================== ^^
	Business block
=========================================================================================== ^^ */
.business-block {
  width: 64vw;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .business-block {
    width: 100%;
  }
}

.business-block_title {
  margin-bottom: 4vw;
  font-size: 5.33333vw;
  line-height: 1;
  order: 2;
}

@media (min-width: 768px) {
  .business-block_title {
    margin-bottom: 1.17188vw;
    font-size: 1.95312vw;
  }
}

@media (min-width: 1024px) {
  .business-block_title {
    margin-bottom: 1.2rem;
    font-size: 2rem;
  }
}

.business-block_image {
  margin: 0 0 5.33333vw;
  position: relative;
  order: 1;
}

@media (min-width: 768px) {
  .business-block_image {
    margin-bottom: 1.75781vw;
  }
}

@media (min-width: 1024px) {
  .business-block_image {
    margin-bottom: 1.8rem;
  }
}

.business-block_image figcaption {
  width: 22.66667vw;
  height: 4vw;
  padding-top: 0.8vw;
  background-color: #fff;
  font-weight: normal;
  text-align: center;
  position: absolute;
  bottom: 1.73333vw;
  left: 2.13333vw;
}

@media (min-width: 768px) {
  .business-block_image figcaption {
    width: 16.60156vw;
    height: 2.92969vw;
    padding-top: 0.58594vw;
    bottom: 1.26953vw;
    left: 1.5625vw;
  }
}

@media (min-width: 1024px) {
  .business-block_image figcaption {
    width: 17rem;
    height: 3rem;
    padding-top: 0.6rem;
    bottom: 1.3rem;
    left: 1.6rem;
  }
}

.business-block_text {
  margin-bottom: 7.46667vw;
  font-size: 2.93333vw;
  line-height: 1.81818;
  order: 3;
}

@media (min-width: 768px) {
  .business-block_text {
    margin-bottom: 2.14844vw;
    font-size: 1.07422vw;
  }
}

@media (min-width: 1024px) {
  .business-block_text {
    margin-bottom: 2.2rem;
    font-size: 1.1rem;
  }
}

.business-block_text p {
  text-align: justify;
}

.business-block_text p:last-of-type {
  margin-bottom: 0;
}

.business-block_list {
  order: 4;
}

.business-block_list dt {
  font-size: 2.93333vw;
  color: #3e4e8b;
}

@media (min-width: 768px) {
  .business-block_list dt {
    font-size: 1.07422vw;
  }
}

@media (min-width: 1024px) {
  .business-block_list dt {
    font-size: 1.1rem;
  }
}

.business-block_list dd {
  margin-bottom: 6.66667vw;
  font-size: 2.66667vw;
  text-align: justify;
}

@media (min-width: 768px) {
  .business-block_list dd {
    margin-bottom: 1.6rem;
    font-size: 0.97656vw;
    text-align: left;
  }
}

@media (min-width: 1024px) {
  .business-block_list dd {
    margin-bottom: 1.6rem;
    font-size: 1rem;
  }
}

.business-block_list dd:last-of-type {
  margin-bottom: 0;
}

/* ======================================================================================== ^^
	Contact us block
=========================================================================================== ^^ */
.contact-us-block {
  width: 77.86667vw;
  height: 22vw;
  margin: 0 auto;
  background: url(../images/bg-contact.jpg) no-repeat 50% 50%/cover;
}

@media (min-width: 768px) {
  .contact-us-block {
    width: 73rem;
    height: 20.11719vw;
  }
}

@media (min-width: 1024px) {
  .contact-us-block {
    width: 73rem;
    height: 20.6rem;
  }
}

.contact-us-block_link {
  width: 100%;
  height: 100%;
  padding-top: 4.53333vw;
  text-decoration: none;
  display: block;
  justify-content: center;
  align-items: center;
}

@media (min-width: 768px) {
  .contact-us-block_link {
    padding-top: 4.39453vw;
  }
}

@media (min-width: 1024px) {
  .contact-us-block_link {
    padding-top: 4.5rem;
  }
}

.contact-us-block_title {
  margin: 0 0 4vw;
  text-align: center;
}

@media (min-width: 768px) {
  .contact-us-block_title {
    margin-bottom: 2.92969vw;
  }
}

@media (min-width: 1024px) {
  .contact-us-block_title {
    margin-bottom: 3rem;
  }
}

.contact-us-block_title img {
  width: 22.86667vw;
}

@media (min-width: 768px) {
  .contact-us-block_title img {
    width: 20.89844vw;
  }
}

@media (min-width: 1024px) {
  .contact-us-block_title img {
    width: 21.4rem;
  }
}

.contact-us-block p {
  margin: 0;
  font-size: 2.66667vw;
  color: #fff;
  line-height: 19, 10;
  text-align: center;
}

@media (min-width: 768px) {
  .contact-us-block p {
    font-size: 1.17188vw;
    line-height: 2;
  }
}

@media (min-width: 1024px) {
  .contact-us-block p {
    font-size: 1.2rem;
  }
}

/* ======================================================================================== ^^
	Member block
=========================================================================================== ^^ */
.member-block > img {
  margin-bottom: 2.5rem;
  display: block;
}

.member-block_name img {
  display: block;
}

/* ======================================================================================== ^^
	Top page
=========================================================================================== ^^ */
.about-us-section .section_header {
  background: url(../images/bg01.jpg) no-repeat 50% 50%/100% auto;
}

@media (min-width: 768px) {
  .about-us-section .section_header {
    background: url(../images/bg01.jpg) no-repeat 50% 50%/cover;
  }
}

.about-us-section .section_header img {
  width: 28vw;
}

@media (min-width: 768px) {
  .about-us-section .section_header img {
    width: 38.37891vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .section_header img {
    width: 39.3rem;
  }
}

.about-us-section .contents {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 768px) {
  .about-us-section .contents {
    flex-direction: row;
  }
}

.about-us-section .section_inner-title {
  width: 37.86667vw;
  padding: 0 0 18.26667vw;
  background: url(../images/slash_sp@2x.png) no-repeat 50% 100%/100% auto;
  text-align: center;
}

@media (min-width: 768px) {
  .about-us-section .section_inner-title {
    width: 34.66797vw;
    padding-bottom: 16.30859vw;
    background-image: url(../images/slash@2x.png);
    background-size: 34.66797vw;
  }
}

@media (min-width: 768px) {
  .about-us-section .section_inner-title {
    width: 35.5rem;
    padding-bottom: 16.7rem;
    background-size: 35.5rem;
  }
}

.about-us-section .section_inner-title span {
  padding-top: 1.2rem;
  margin: 0 auto;
  font-size: 3.73333vw;
  font-weight: normal;
  display: block;
}

@media (min-width: 768px) {
  .about-us-section .section_inner-title span {
    padding-top: 1.17188vw;
    font-size: 1.75781vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .section_inner-title span {
    padding-top: 1.2rem;
    font-size: 1.8rem;
  }
}

.about-us-section .section_inner-text {
  width: 100%;
  font-size: 2.93333vw;
  line-height: 3.18182;
}

@media (min-width: 768px) {
  .about-us-section .section_inner-text {
    width: 61.52344vw;
    font-size: 1.17188vw;
    line-height: 2.91667;
  }
}

@media (min-width: 1024px) {
  .about-us-section .section_inner-text {
    width: 63rem;
    font-size: 1.2rem;
  }
}

.about-us-section .mission-section {
  padding: 10.13333vw 0 22.66667vw;
}

@media (min-width: 768px) {
  .about-us-section .mission-section {
    padding: 26.36719vw 0;
  }
}

@media (min-width: 1024px) {
  .about-us-section .mission-section {
    padding: 27rem 0;
  }
}

.about-us-section .mission-section .section_inner-title {
  margin-bottom: 8.66667vw;
}

@media (min-width: 768px) {
  .about-us-section .mission-section .section_inner-title {
    margin-bottom: 0;
  }
}

.about-us-section .mission-section .section_inner-title img {
  width: 26.6vw;
}

@media (min-width: 768px) {
  .about-us-section .mission-section .section_inner-title img {
    width: 29.10156vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .mission-section .section_inner-title img {
    width: 29.8rem;
  }
}

.about-us-section .mission-section .section_inner-text {
  text-align: center;
}

.about-us-section .mission-section .section_inner-text p {
  margin-bottom: 9.86667vw;
}

@media (min-width: 768px) {
  .about-us-section .mission-section .section_inner-text p {
    margin-bottom: 6.25vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .mission-section .section_inner-text p {
    margin-bottom: 6.4rem;
  }
}

.about-us-section .mission-section .section_inner-text p:last-of-type {
  margin-bottom: 0;
}

.about-us-section .about-section {
  padding: 10vw 0 12vw;
  background-color: #f7f8f8;
}

@media (min-width: 768px) {
  .about-us-section .about-section {
    padding: 20.50781vw 0 19.72656vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .about-section {
    padding: 21rem 0 20.2rem;
  }
}

.about-us-section .about-section .section_inner-title {
  margin-bottom: 6.66667vw;
}

@media (min-width: 768px) {
  .about-us-section .about-section .section_inner-title {
    margin-bottom: 0;
  }
}

.about-us-section .about-section .section_inner-title img {
  width: 22.06667vw;
}

@media (min-width: 768px) {
  .about-us-section .about-section .section_inner-title img {
    width: 20.16602vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .about-section .section_inner-title img {
    width: 20.65rem;
  }
}

.about-us-section .about-section table {
  width: 70.66667vw;
  margin: 0 auto;
  font-size: 2.93333vw;
}

@media (min-width: 768px) {
  .about-us-section .about-section table {
    width: 100%;
    font-size: 1.17188vw;
    line-height: 2.08333;
  }
}

@media (min-width: 1024px) {
  .about-us-section .about-section table {
    font-size: 1.2rem;
  }
}

.about-us-section .about-section table th {
  width: 35%;
}

@media (min-width: 768px) {
  .about-us-section .about-section table th {
    width: auto;
    padding-left: 3.32031vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .about-section table th {
    padding-left: 3.4rem;
  }
}

.about-us-section .about-section table td {
  width: 65%;
}

@media (min-width: 768px) {
  .about-us-section .about-section table td {
    width: auto;
  }
}

.about-us-section .about-section table td br {
  display: none;
}

@media (min-width: 768px) {
  .about-us-section .about-section table td br {
    display: block;
  }
}

.about-us-section .about-section table td br.only-sp {
  display: block;
}

@media (min-width: 768px) {
  .about-us-section .about-section table td br.only-sp {
    display: none;
  }
}

.about-us-section .access-section {
  padding: 9.33333vw 0;
}

@media (min-width: 768px) {
  .about-us-section .access-section {
    padding: 16.89453vw 0 11.91406vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .access-section {
    padding: 17.3rem 0 12.2rem;
  }
}

.about-us-section .access-section .section_inner-title {
  margin-bottom: 6.66667vw;
}

@media (min-width: 768px) {
  .about-us-section .access-section .section_inner-title {
    margin-bottom: 0;
  }
}

.about-us-section .access-section .section_inner-title img {
  width: 25.8vw;
}

@media (min-width: 768px) {
  .about-us-section .access-section .section_inner-title img {
    width: 23.48633vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .access-section .section_inner-title img {
    width: 24.05rem;
  }
}

.about-us-section .access-section table {
  margin: 0 auto 6.66667vw;
  font-size: 3.73333vw;
  line-height: 1.62857;
}

@media (min-width: 768px) {
  .about-us-section .access-section table {
    margin-bottom: 2.83203vw;
    font-size: 1.36719vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .access-section table {
    margin-bottom: 2.9rem;
    font-size: 1.4rem;
  }
}

.about-us-section .access-section table th {
  width: 30%;
  padding-left: 4.53333vw;
}

@media (min-width: 768px) {
  .about-us-section .access-section table th {
    width: auto;
    padding-left: 3.32031vw;
  }
}

@media (min-width: 1024px) {
  .about-us-section .access-section table th {
    padding-left: 3.4rem;
  }
}

.about-us-section .access-section table td {
  width: 70%;
}

@media (min-width: 768px) {
  .about-us-section .access-section table td {
    width: auto;
  }
}

.about-us-section .access-section .map {
  width: 76vw;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .about-us-section .access-section .map {
    width: 100%;
  }
}

.our-business-section .section_header {
  background: url(../images/bg02_sp.jpg) no-repeat 50% 50%/100% auto;
}

@media (min-width: 768px) {
  .our-business-section .section_header {
    background: url(../images/bg02.jpg) no-repeat 50% 50%/cover;
  }
}

.our-business-section .section_header img {
  width: 41.4vw;
}

@media (min-width: 768px) {
  .our-business-section .section_header img {
    width: 56.68945vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .section_header img {
    width: 58.05rem;
  }
}

.our-business-section .contents {
  max-width: 100.8rem;
  width: 100%;
  padding: 12.93333vw 0 10vw;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .our-business-section .contents {
    padding: 13.18359vw 0 11.71875vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .contents {
    padding: 13.5rem 0 12rem;
  }
}

.our-business-section .business-block {
  margin-bottom: 20.53333vw;
}

@media (min-width: 768px) {
  .our-business-section .business-block {
    width: 45.03968%;
    margin-bottom: 10.15625vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .business-block {
    margin-bottom: 10.4rem;
  }
}

@media (min-width: 768px) {
  .our-business-section .business-block:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

.our-business-section .business-block:last-of-type {
  margin-bottom: 0;
}

.our-business-section .consulting-block .business-block_image figcaption img {
  width: 15.93333vw;
}

@media (min-width: 768px) {
  .our-business-section .consulting-block .business-block_image figcaption img {
    width: 11.71875vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .consulting-block .business-block_image figcaption img {
    width: 12rem;
  }
}

.our-business-section .marketing-block .business-block_image figcaption img {
  width: 14.66667vw;
}

@media (min-width: 768px) {
  .our-business-section .marketing-block .business-block_image figcaption img {
    width: 10.74219vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .marketing-block .business-block_image figcaption img {
    width: 11rem;
  }
}

.our-business-section .creative-block .business-block_image figcaption img {
  width: 12vw;
}

@media (min-width: 768px) {
  .our-business-section .creative-block .business-block_image figcaption img {
    width: 8.78906vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .creative-block .business-block_image figcaption img {
    width: 9rem;
  }
}

.our-business-section .media-block .business-block_image figcaption img {
  width: 7.53333vw;
}

@media (min-width: 768px) {
  .our-business-section .media-block .business-block_image figcaption img {
    width: 5.51758vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .media-block .business-block_image figcaption img {
    width: 5.65rem;
  }
}

.our-business-section .contact-us-block {
  margin-bottom: 10vw;
}

@media (min-width: 768px) {
  .our-business-section .contact-us-block {
    margin-bottom: 11.71875vw;
  }
}

@media (min-width: 1024px) {
  .our-business-section .contact-us-block {
    margin-bottom: 12rem;
  }
}

.recruit-section .section_header {
  background: url(../images/bg03_sp.jpg) no-repeat 50% 50%/100% auto;
}

@media (min-width: 768px) {
  .recruit-section .section_header {
    background: url(../images/bg03.jpg) no-repeat 50% 50%/cover;
  }
}

.recruit-section .section_header img {
  width: 23.2vw;
}

@media (min-width: 768px) {
  .recruit-section .section_header img {
    width: 32.08008vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section .section_header img {
    width: 32.85rem;
  }
}

.recruit-section .contents {
  max-width: 82rem;
  width: 100%;
  padding-top: 10vw;
  margin: 0 auto 12vw;
}

@media (min-width: 768px) {
  .recruit-section .contents {
    padding-top: 9.76562vw;
    margin-bottom: 8.78906vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section .contents {
    padding-top: 10rem;
    margin-bottom: 9rem;
  }
}

.recruit-section h3 {
  margin: 0 0 3.7rem;
  text-align: center;
}

.recruit-section h3 img {
  width: 53.73333vw;
}

@media (min-width: 768px) {
  .recruit-section h3 img {
    width: 49.16992vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section h3 img {
    width: 50.35rem;
  }
}

.recruit-section h3 + p {
  margin: 0 0 5.33333vw;
  font-size: 2.26667vw;
  line-height: 1;
  text-align: center;
}

@media (min-width: 768px) {
  .recruit-section h3 + p {
    margin-bottom: 6.83594vw;
    font-size: 2.14844vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section h3 + p {
    margin-bottom: 7rem;
    font-size: 2.2rem;
  }
}

.recruit-section h4 {
  margin-bottom: 5.33333vw;
  font-size: 6.4vw;
  font-weight: normal;
  line-height: 1.58333;
  text-align: center;
}

@media (min-width: 768px) {
  .recruit-section h4 {
    margin-bottom: 2.63672vw;
    font-size: 2.34375vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section h4 {
    margin-bottom: 2.7rem;
    font-size: 2.4rem;
  }
}

.recruit-section h4 span {
  width: 87.33333vw;
  height: 8vw;
  margin: 0 auto 8vw;
  background-color: #231815;
  font-size: 4vw;
  color: #fff;
  line-height: 8vw;
  text-align: center;
  display: block;
}

@media (min-width: 768px) {
  .recruit-section h4 span {
    width: 100%;
    height: 3.51562vw;
    margin-bottom: 3.41797vw;
    font-size: 1.75781vw;
    line-height: 3.51562vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section h4 span {
    height: 3.6rem;
    margin-bottom: 3.5rem;
    font-size: 1.8rem;
    line-height: 3.6rem;
  }
}

.recruit-section .text {
  width: 87.33333vw;
  margin: 0 auto 7.33333vw;
  font-size: 2.93333vw;
  line-height: 2.54545;
  text-align: center;
}

@media (min-width: 768px) {
  .recruit-section .text {
    width: auto;
    margin-bottom: 8.98438vw;
    font-size: 1.07422vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section .text {
    margin-bottom: 9.2rem;
    font-size: 1.1rem;
  }
}

.recruit-section .text p {
  margin-bottom: 5.33333vw;
}

@media (min-width: 768px) {
  .recruit-section .text p {
    margin-bottom: 2.92969vw;
  }
}

@media (min-width: 1024px) {
  .recruit-section .text p {
    margin-bottom: 3rem;
  }
}

.recruit-section .text p:last-of-type {
  margin-bottom: 0;
}

.member-section .section_header {
  height: auto;
  margin-bottom: 8.66667vw;
}

@media (min-width: 768px) {
  .member-section .section_header {
    margin-bottom: 6.34766vw;
  }
}

@media (min-width: 1024px) {
  .member-section .section_header {
    margin-bottom: 6.5rem;
  }
}

.member-section .section_header img {
  width: 27.2vw;
}

@media (min-width: 768px) {
  .member-section .section_header img {
    width: 24.75586vw;
  }
}

@media (min-width: 1024px) {
  .member-section .section_header img {
    width: 25.35rem;
  }
}

.member-section .section_title {
  color: #231815;
  flex-wrap: wrap;
  flex-direction: column;
}

.member-section .section_title span {
  padding-top: 4vw;
  font-size: 3.73333vw;
  font-weight: normal;
  text-align: center;
  display: block;
}

@media (min-width: 768px) {
  .member-section .section_title span {
    padding-top: 0.97656vw;
    font-size: 1.75781vw;
  }
}

@media (min-width: 1024px) {
  .member-section .section_title span {
    padding-top: 1rem;
    font-size: 1.8rem;
  }
}

.member-section .contents {
  width: 76.93333vw;
  padding: 0 0 12.66667vw;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .member-section .contents {
    max-width: 58rem;
    width: 100%;
    padding-bottom: 9.27734vw;
  }
}

@media (min-width: 1024px) {
  .member-section .contents {
    padding-bottom: 9.5rem;
  }
}

.member-section .member-block {
  width: 40.68966%;
  margin-bottom: 5.33333vw;
}

@media (min-width: 768px) {
  .member-section .member-block {
    margin-bottom: 3.90625vw;
  }
}

@media (min-width: 1024px) {
  .member-section .member-block {
    margin-bottom: 4rem;
  }
}

.member-section .member-block.member01 .member-block_name img {
  width: 15.13333vw;
}

@media (min-width: 768px) {
  .member-section .member-block.member01 .member-block_name img {
    width: 11.08398vw;
  }
}

@media (min-width: 1024px) {
  .member-section .member-block.member01 .member-block_name img {
    width: 11.35rem;
  }
}

.member-section .member-block.member02 .member-block_name img {
  width: 16.26667vw;
}

@media (min-width: 768px) {
  .member-section .member-block.member02 .member-block_name img {
    width: 11.91406vw;
  }
}

@media (min-width: 1024px) {
  .member-section .member-block.member02 .member-block_name img {
    width: 12.2rem;
  }
}

.member-section .member-block.member03 .member-block_name img {
  width: 22.93333vw;
}

@media (min-width: 768px) {
  .member-section .member-block.member03 .member-block_name img {
    width: 16.79688vw;
  }
}

@media (min-width: 1024px) {
  .member-section .member-block.member03 .member-block_name img {
    width: 17.2rem;
  }
}

.member-section .member-block.member04 .member-block_name img {
  width: 16.8vw;
}

@media (min-width: 768px) {
  .member-section .member-block.member04 .member-block_name img {
    width: 12.30469vw;
  }
}

@media (min-width: 1024px) {
  .member-section .member-block.member04 .member-block_name img {
    width: 12.6rem;
  }
}

.contact-section {
  padding: 0 0 6.66667vw;
}

@media (min-width: 768px) {
  .contact-section {
    padding-bottom: 12.69531vw;
  }
}

@media (min-width: 1024px) {
  .contact-section {
    padding-bottom: 13rem;
  }
}

.contact-section .section_header {
  height: auto;
  margin-bottom: 7.33333vw;
}

@media (min-width: 768px) {
  .contact-section .section_header {
    margin-bottom: 6.83594vw;
  }
}

@media (min-width: 1024px) {
  .contact-section .section_header {
    margin-bottom: 7rem;
  }
}

.contact-section .section_header img {
  width: 37.26667vw;
}

@media (min-width: 768px) {
  .contact-section .section_header img {
    width: 27.29492vw;
  }
}

@media (min-width: 1024px) {
  .contact-section .section_header img {
    width: 27.95rem;
  }
}

.contact-section .section_title {
  color: #231815;
  flex-wrap: wrap;
  flex-direction: column;
}

.contact-section .section_title span {
  padding-top: 4vw;
  font-size: 3.73333vw;
  font-weight: normal;
  text-align: center;
  display: block;
}

@media (min-width: 768px) {
  .contact-section .section_title span {
    padding-top: 0.97656vw;
    font-size: 1.75781vw;
  }
}

@media (min-width: 1024px) {
  .contact-section .section_title span {
    padding-top: 1rem;
    font-size: 1.8rem;
  }
}

.contact-section .contents {
  max-width: 82rem;
  width: 100%;
  margin: 0 auto;
}

.contact-section .lead {
  width: 87.33333vw;
  margin: 0 auto 6vw;
  font-size: 2.4vw;
  line-height: 1.90909;
}

@media (min-width: 768px) {
  .contact-section .lead {
    margin-bottom: 5.85938vw;
    font-size: 1.07422vw;
  }
}

@media (min-width: 1024px) {
  .contact-section .lead {
    margin-bottom: 6rem;
    font-size: 1.1rem;
  }
}

.contact-section .lead p {
  margin-bottom: 0;
}

.contact-section form#mailformpro .field-wrap {
  width: 87.33333vw;
  margin: 0 auto 2vw;
}

@media (min-width: 768px) {
  .contact-section form#mailformpro .field-wrap {
    width: 100%;
    margin-bottom: 1.95312vw;
  }
}

@media (min-width: 1024px) {
  .contact-section form#mailformpro .field-wrap {
    margin-bottom: 2rem;
  }
}

.contact-section form#mailformpro .field-wrap:last-of-type {
  margin-bottom: 3.33333vw;
}

@media (min-width: 768px) {
  .contact-section form#mailformpro .field-wrap:last-of-type {
    margin-bottom: 2.92969vw;
  }
}

@media (min-width: 1024px) {
  .contact-section form#mailformpro .field-wrap:last-of-type {
    margin-bottom: 3rem;
  }
}

.contact-section form#mailformpro .field-wrap label {
  margin: 0 0 1.33333vw;
  border-radius: 0;
  font-size: 2.66667vw;
  display: block;
}

@media (min-width: 768px) {
  .contact-section form#mailformpro .field-wrap label {
    margin-bottom: 0.48828vw;
    font-size: 1.07422vw;
  }
}

@media (min-width: 1024px) {
  .contact-section form#mailformpro .field-wrap label {
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
  }
}

.contact-section form#mailformpro .field-wrap input[type="text"],
.contact-section form#mailformpro .field-wrap input[type="email"] {
  width: 100%;
  height: 8vw;
  border: 1px solid #231815;
  box-shadow: none;
}

@media (min-width: 768px) {
  .contact-section form#mailformpro .field-wrap input[type="text"],
  .contact-section form#mailformpro .field-wrap input[type="email"] {
    height: 3.71094vw;
  }
}

@media (min-width: 1024px) {
  .contact-section form#mailformpro .field-wrap input[type="text"],
  .contact-section form#mailformpro .field-wrap input[type="email"] {
    height: 3.8rem;
  }
}

.contact-section form#mailformpro .field-wrap textarea {
  width: 100%;
  height: 48vw;
  border: 1px solid #231815;
  resize: vertical;
  box-shadow: none;
}

@media (min-width: 768px) {
  .contact-section form#mailformpro .field-wrap textarea {
    height: 22.46094vw;
  }
}

@media (min-width: 1024px) {
  .contact-section form#mailformpro .field-wrap textarea {
    height: 23rem;
  }
}

.contact-section form#mailformpro .btn-submit {
  width: 30vw;
  height: 6vw;
  border-radius: 0;
  border: 1px solid #231815;
  background: #fff;
  font-size: 2.5vw;
  text-shadow: none;
}

@media (min-width: 400px) {
  .contact-section form#mailformpro .btn-submit {
    width: 24vw;
    height: 6.4vw;
    font-size: 2.4vw;
  }
}

@media (min-width: 768px) {
  .contact-section form#mailformpro .btn-submit {
    width: 10.9375vw;
    height: 2.92969vw;
    font-size: 0.97656vw;
  }
}

@media (min-width: 1024px) {
  .contact-section form#mailformpro .btn-submit {
    width: 11.2rem;
    height: 3rem;
    font-size: 1rem;
  }
}

.contact-section form#mailformpro .btn-submit:hover {
  background: #fff;
  box-shadow: none;
}

.contact-section .buttons {
  width: 100%;
  text-align: center;
}

/* ======================================================================================== ^^
	Thanks page
=========================================================================================== ^^ */
.thanks-message {
  padding: 26.66667vw 2.66667vw 40vw;
  text-align: center;
}

@media (min-width: 768px) {
  .thanks-message {
    padding: 19.53125vw 1.95312vw 29.29688vw;
  }
}

@media (min-width: 1024px) {
  .thanks-message {
    padding: 20rem 0 30rem;
  }
}

.thanks-message h1 {
  margin-bottom: 6.66667vw;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  .thanks-message h1 {
    margin-bottom: 4.88281vw;
    font-size: 2.92969vw;
  }
}

@media (min-width: 1024px) {
  .thanks-message h1 {
    margin-bottom: 5rem;
    font-size: 3rem;
  }
}

.thanks-message p {
  font-size: 2.93333vw;
  line-height: 2;
}

@media (min-width: 768px) {
  .thanks-message p {
    font-size: 1.5625vw;
  }
}

@media (min-width: 1024px) {
  .thanks-message p {
    font-size: 1.6rem;
  }
}

@media (min-width: 768px) {
  .thanks-message p br {
    display: none;
  }
}
