@charset "UTF-8";
/*
Theme Name: パナケアストレッチ cms v12.2
Description: パナケアストレッチのテーマ version12.2
Theme URI: https://panacea-stretch.com
Author: Steki Inc.
Author URI: https://steki-inc.jp
Version: 12.2
License: GPL
License URI: https://www.gnu.org/copyleft/gpl.html
*/
body {
  margin: 0;
  padding: 0;
}

/* =============================================
 *  01. Common settings
 *      - reset
 *      - common
 *      - padding
 *      - margin
 *      - width
 *  02. Layout
 *      - layout
 *      - float
 *      - clearfix
 *  03. Font
 *      - font style
 *      - font color
 *      - font weight
 *  04. Header
 *  05. Navigation
 *  06. Footer
 *  07. Parts
 *  08. Form
 * -----------------------------------
 *  10. Contents
 *  11. Top
 *  12. About
 *  13. Service
 *  14. therapist
 *  15. Price
 *  16. Access
 *  17. Recruit
 * -----------------------------------
 *  20. Post
 *  21. News
 * -----------------------------------
 *  98. Media Queries
 *  99. print style
 * ============================================= */
/* ---------------------------------------------------------------------------------------- */
/* ==============================================
 01. Common settings
=============================================== */
/* reset
----------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: bottom;
}

article, aside, details, figcaption, figure, main,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

span {
  vertical-align: baseline;
}

/* common
----------------------------------------------- */
*, *:before, *:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
  margin: 0;
  width: 100%;
}

body {
  background: #f8f5f1;
  color: #282828;
  font-family: "Noto Serif JP", "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.06em;
  margin: 0;
  padding: 0;
  position: relative;
  -webkit-text-size-adjust: 100%;
  width: 100%;
}
@media (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

.preload * {
  transition: none !important;
}

a {
  color: #282828;
  cursor: pointer;
  outline: medium none;
  text-decoration: none;
  transition: color 0.14s ease-out, background-color 0.14s ease-out, opacity 0.14s ease-out;
}

a:visited {
  outline: medium none;
}

a:focus {
  outline: medium none;
}

a:active, a:hover {
  outline: medium none;
}

@media (min-width: 1025px) {
  a:hover {
    color: #a18e8d;
    text-decoration: none;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

address {
  font-style: italic;
  margin: 0 0 24px;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
  vertical-align: baseline;
}

dfn {
  font-style: italic;
}

mark {
  background: none repeat scroll 0 0 #FFFF00;
  color: #000000;
}

p {
  line-height: 2;
  margin: 0 0 24px;
  max-height: 100%;
}
@media (max-width: 767px) {
  p {
    line-height: 1.8;
    margin-bottom: 20px;
  }
}

code, kbd, pre, samp {
  -webkit-hyphens: none;
          hyphens: none;
  font-family: monospace, serif;
  font-size: 14px;
}

pre {
  background: none repeat scroll 0 0 #F5F5F5;
  color: #666666;
  font-family: monospace;
  font-size: 14px;
  margin: 20px 0;
  overflow: auto;
  padding: 20px;
  white-space: pre-wrap;
  word-wrap: break-word;
}

blockquote, q {
  -webkit-hyphens: none;
          hyphens: none;
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

blockquote {
  font-size: 18px;
  font-style: italic;
  font-weight: 300;
  margin: 24px 40px;
}

blockquote blockquote {
  margin-right: 0;
}

blockquote cite, blockquote small {
  font-size: 14px;
  font-weight: normal;
  text-transform: uppercase;
}

blockquote em, blockquote i {
  font-style: normal;
  font-weight: 300;
}

blockquote strong, blockquote b {
  font-weight: 400;
}

small {
  font-size: 85%;
  vertical-align: baseline;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

dl {
  margin: 0;
}

dt {
  font-weight: bold;
  margin: 0;
}

dd {
  margin: 0;
}

menu, ol, ul {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
}

li {
  margin: 0;
}

th {
  font-weight: bold;
}

li, dt, dd, th, td {
  line-height: 1.7;
}
img {
  border: 0 none;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
  backface-visibility: hidden;
}

a img {
  transition: opacity 200ms;
}

a:hover img {
  opacity: 0.8;
}
@media (max-width: 1024px) {
  a:hover img {
    opacity: 1;
  }
}

input, textarea, button, select {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

input[type=text]:focus,
textarea:focus {
  outline: 0;
}

select::-moz-focus-inner,
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border: 0;
  outline: 0;
}

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

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #282828;
}

@media (min-width: 1025px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* padding
----------------------------------------------- */
.pt-0 {
  padding-top: 0px !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pb-25 {
  padding-top: 25px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

/* margin
----------------------------------------------- */
.mt-0 {
  margin-top: 0px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-25 {
  margin-top: 25px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

/* width
----------------------------------------------- */
._minw40 {
  min-width: 40px !important;
}

._minw100 {
  min-width: 100px !important;
}

._minw140 {
  min-width: 140px !important;
}

._minw200 {
  min-width: 200px !important;
}

._maxw200 {
  max-width: 200px !important;
}

._maxw240 {
  max-width: 240px !important;
}

._maxw320 {
  max-width: 320px !important;
}

._maxw380 {
  max-width: 380px !important;
}

._maxw520 {
  max-width: 580px !important;
}

._maxw580 {
  max-width: 580px !important;
}

._maxw880 {
  max-width: 880px !important;
}

._maxw1040 {
  max-width: 1040px !important;
}

._maxw1180 {
  max-width: 1180px !important;
}

._maxw1200 {
  max-width: 1200px !important;
}

._w40 {
  width: 40px !important;
}

._w60 {
  width: 60px !important;
}

._w100 {
  width: 100px !important;
}

._w150 {
  width: 150px !important;
}

._w200 {
  width: 200px !important;
}

._w5p {
  width: 5% !important;
}

._w10p {
  width: 10% !important;
}

._w15p {
  width: 15% !important;
}

._w20p {
  width: 20% !important;
}

._w25p {
  width: 25% !important;
}

._w30p {
  width: 30% !important;
}

._w35p {
  width: 35% !important;
}

._w40p {
  width: 40% !important;
}

._w45p {
  width: 45% !important;
}

._w50p {
  width: 50% !important;
}

._w55p {
  width: 55% !important;
}

._w60p {
  width: 60% !important;
}

/* ==============================================
 fadein
=============================================== */
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInTop {
  0% {
    opacity: 0;
    transform: translateY(-40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes delayFadeInLeft {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes delayFadeInRight {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes delayFadeInTop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: translateY(-40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes delayFadeInBottom {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadein {
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: 2000ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: 200ms;
}

.fadein-left {
  transform: translate(-40px, 0);
}

.fadein-right {
  transform: translate(40px, 0);
}

.fadein-top {
  transform: translate(0, -40px);
}

.fadein-bottom {
  transform: translate(0, 40px);
}

.fadein-delay {
  transition-delay: 400ms;
}

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.fadein-video {
  background-color: rgba(40, 40, 40, 0.5);
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("images/tail-spin.svg");
  background-size: 10%;
}
.fadein-video video {
  opacity: 0;
  transition-property: opacity;
  transition-duration: 1000ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fadein.fadein-video.is-loaded video {
  opacity: 1;
}

/* ==============================================
 loader
=============================================== */
.loader {
  background-color: var(--main-color);
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  z-index: 100000;
}

.loader__element {
  height: 3px;
  width: 100%;
  background: rgba(193, 157, 106, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}

.loader__element:before {
  content: "";
  display: block;
  background-color: #c19d6a;
  height: 3px;
  width: 0;
  animation: loaderAnima 1.2s ease-in infinite;
}

@keyframes loaderAnima {
  100% {
    width: 100%;
  }
}
/* ==============================================
 02. Layout
=============================================== */
/* layout
----------------------------------------------- */
.wrapper {
  padding-top: 140px;
}
@media (max-width: 1024px) {
  .wrapper {
    padding-top: 100px;
  }
}
@media (max-width: 767px) {
  .wrapper {
    padding-top: 62px;
  }
}

.section {
  padding-top: 110px;
  padding-bottom: 110px;
}
@media (max-width: 767px) {
  .section {
    padding-top: 60px;
    padding-bottom: 70px;
  }
}

.container {
  max-width: 1460px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  padding-left: 80px;
  padding-right: 80px;
}
@media (max-width: 1024px) {
  .container {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (max-width: 767px) {
  .container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 340px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.inner {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  max-width: 1440px;
}

.min-inner {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  max-width: 840px;
}

.contents-section {
  padding-top: 60px;
}
@media (max-width: 767px) {
  .contents-section {
    padding-top: 30px;
  }
}

/* float
----------------------------------------------- */
.fl-left {
  float: left;
}

.fl-right {
  float: right;
}

/* Micro Clearfix
----------------------------------------------- */
.cf:before,
.cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

.clear {
  clear: both;
}

/* ==============================================
 03. Font
=============================================== */
/* font style
----------------------------------------------- */
.ff-serif {
  font-family: "Noto Serif JP", "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.ff-en {
  font-family: "Cardo", serif;
}

/* font color
----------------------------------------------- */
.fc-red {
  color: #a52e11;
}

.fc-gold {
  color: #c19d6a;
}

.fc-mute {
  color: #aaa09e;
}

/* font weight
----------------------------------------------- */
.fw-medium {
  font-weight: 500;
}

.fw-bold {
  font-weight: bold;
}

/* ==============================================
 04. Header
=============================================== */
.site-header {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 100;
}
.site-header:not(.recruit-header) {
  position: fixed;
}
.site-header .container {
  margin: 0 auto;
  max-width: none;
  padding-left: 70px;
  padding-right: 70px;
  height: 140px;
  display: flex;
  align-items: center;
}
@media (max-width: 1199px) {
  .site-header .container {
    padding-right: 3%;
    padding-left: 3%;
  }
}
@media (max-width: 1024px) {
  .site-header .container {
    height: 100px;
  }
}
@media (max-width: 767px) {
  .site-header .container {
    height: 62px;
    padding-left: 15px;
    padding-right: 50px;
  }
}
.site-header .header_left {
  margin-right: 20px;
}
.site-header .header_right {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.site-header .header__logo img {
  display: block;
  width: 175px;
}
@media (max-width: 1024px) {
  .site-header .header__logo img {
    width: 146px;
  }
}
@media (max-width: 767px) {
  .site-header .header__logo img {
    width: 124px;
  }
}
@media (max-width: 1199px) {
  .site-header .header-navigation {
    display: none;
  }
}
.site-header .header-navigation__list {
  display: flex;
  align-items: center;
}
.site-header .header-navigation__list li {
  margin-right: 30px;
}
@media (max-width: 1199px) {
  .site-header .header-navigation__list li {
    margin-right: 20px;
  }
}
.site-header .header-navigation__list li a {
  font-family: "Cardo", serif;
  display: block;
  font-size: 100%;
}
.site-header .header-icons {
  margin-right: 30px;
}
@media (max-width: 1199px) {
  .site-header .header-icons {
    display: none;
  }
}
.site-header .header-icons__list {
  display: flex;
  align-items: center;
}
.site-header .header-icons__list li {
  margin-right: 20px;
  width: 24px;
}
.site-header .header-icons__list li:last-child {
  margin-right: 0;
}
.site-header .header-icons__list li a {
  display: block;
}
.site-header .header-icons__list li a img {
  display: block;
}
.site-header .header-reserve-btn {
  margin-left: auto;
  display: flex;
}
.site-header .header-reserve-btn .btn {
  display: block;
  font-size: 14px;
  letter-spacing: 0.075em;
  line-height: 1.1;
  padding: 10px 24px;
  white-space: nowrap;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1024px) {
  .site-header .header-reserve-btn .btn {
    font-size: 12px;
    padding: 7px 10px;
  }
}
@media (max-width: 767px) {
  .site-header .header-reserve-btn .btn {
    font-size: 11px;
  }
}
@media (max-width: 340px) {
  .site-header .header-reserve-btn .btn {
    padding: 7px 10px;
  }
}
.site-header .header-reserve-btn .btn-store {
  border: 1px solid #282828;
  background-color: #282828;
  color: #fff;
  margin-right: 10px;
  padding: 11px 18px;
}
@media (max-width: 767px) {
  .site-header .header-reserve-btn .btn-store {
    padding: 5px 8px;
    margin-right: 6px;
  }
}
.site-header .header-reserve-btn .btn-store .txt-wrap span:first-of-type {
  margin-right: 0.5em;
}
@media (max-width: 767px) {
  .site-header .header-reserve-btn .btn-store .txt-wrap span {
    display: block;
  }
  .site-header .header-reserve-btn .btn-store .txt-wrap span:first-of-type {
    margin-right: 0;
  }
}
.site-header .header-reserve-btn .btn-reservation {
  border: 1px solid #282828;
  background-color: #fff;
  padding: 11px 34px;
}
@media (max-width: 767px) {
  .site-header .header-reserve-btn .btn-reservation {
    padding: 7px 12px;
  }
}
.site-header .header-reserve-btn .btn-recruit-1 {
  background-color: #d3c492;
  color: #fff;
  padding: 15px;
  margin-right: 10px;
  width: 168px;
}
@media (min-width: 1025px) {
  .site-header .header-reserve-btn .btn-recruit-1:hover {
    opacity: 0.8;
  }
}
@media (max-width: 1024px) {
  .site-header .header-reserve-btn .btn-recruit-1 {
    width: 140px;
  }
}
@media (max-width: 767px) {
  .site-header .header-reserve-btn .btn-recruit-1 {
    font-size: 12px;
    line-height: 1.2;
    padding: 6px;
    margin-right: 5px;
    width: 62px;
  }
  .site-header .header-reserve-btn .btn-recruit-1 .txt-wrap span {
    display: block;
  }
}
@media (max-width: 340px) {
  .site-header .header-reserve-btn .btn-recruit-1 {
    font-size: 11px;
    padding: 5px;
    margin-right: 3px;
    width: 58px;
  }
}
.site-header .header-reserve-btn .btn-recruit-2 {
  background-color: #282828;
  color: #fff;
  padding: 15px;
  width: 168px;
}
@media (min-width: 1025px) {
  .site-header .header-reserve-btn .btn-recruit-2:hover {
    opacity: 0.8;
  }
}
@media (max-width: 1024px) {
  .site-header .header-reserve-btn .btn-recruit-2 {
    width: 140px;
  }
}
@media (max-width: 767px) {
  .site-header .header-reserve-btn .btn-recruit-2 {
    font-size: 12px;
    line-height: 1.2;
    padding: 6px;
    width: 62px;
  }
  .site-header .header-reserve-btn .btn-recruit-2 .txt-wrap span {
    display: block;
  }
}
@media (max-width: 340px) {
  .site-header .header-reserve-btn .btn-recruit-2 {
    font-size: 11px;
    padding: 5px;
    width: 58px;
  }
}
.site-header.fixed-header {
  background-color: #fff;
  position: fixed;
  transition: transform 0.3s ease-out;
  transform: translateY(-100%);
}
.site-header.fixed-header .container {
  height: 80px;
}
@media (max-width: 767px) {
  .site-header.fixed-header .container {
    height: 54px;
  }
}

.header-menu-btn {
  display: none;
  position: fixed;
  right: 6px;
  top: 6px;
  z-index: 101;
}
@media (max-width: 767px) {
  .header-menu-btn {
    display: block;
  }
}
.header-menu-btn .btn {
  border: none;
  background: none;
  outline: 0;
  position: relative;
  height: 40px;
  width: 40px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
.header-menu-btn .btn span {
  background-color: #282828;
  height: 1px;
  display: inline-block;
  position: absolute;
  left: 50%;
  margin-left: -10px;
  width: 20px;
  transition: transform 400ms ease;
}
.header-menu-btn .btn span.bar-1 {
  top: 12px;
}
.header-menu-btn .btn span.bar-2 {
  top: 20px;
}
.header-menu-btn .btn span.bar-3 {
  bottom: 11px;
}

.home .site-header:not(.fixed-header) .header-navigation__list li a {
  color: #fff;
}

.is-scroll .site-header.fixed-header {
  transform: translateY(0px);
}

.is-nav-open .site-header {
  pointer-events: none;
}
.is-nav-open .site-header .header__logo, .is-nav-open .site-header .header-reserve-btn {
  pointer-events: all;
}

.is-nav-open .header-menu-btn .btn .bar-1 {
  transform: translateY(8px) rotate(35deg);
}
.is-nav-open .header-menu-btn .btn .bar-2 {
  opacity: 0;
}
.is-nav-open .header-menu-btn .btn .bar-3 {
  transform: translateY(-8px) rotate(-35deg);
}

/* lv banner
----------------------------------------------- */
.lv-banner-handler {
  background-color: #fff;
  position: relative;
  text-align: center;
  z-index: 1;
}
.lv-banner-handler .lv-banner-close-btn {
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .lv-banner-handler .lv-banner-close-btn {
    right: 5px;
  }
}
.lv-banner-handler .lv-banner-close-btn .btn {
  border: none;
  background: none;
  outline: 0;
  position: relative;
  height: 30px;
  width: 30px;
}
.lv-banner-handler .lv-banner-close-btn .btn span {
  background-color: #282828;
  height: 1px;
  display: inline-block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  width: 16px;
}
.lv-banner-handler .lv-banner-close-btn .btn span.bar-1 {
  top: 50%;
  transform: rotate(45deg);
}
.lv-banner-handler .lv-banner-close-btn .btn span.bar-2 {
  top: 50%;
  transform: rotate(-45deg);
}
.lv-banner-handler .lv-banner a {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: block;
  font-size: 13px;
  line-height: 1.4;
  padding: 14px 12%;
}
@media (max-width: 767px) {
  .lv-banner-handler .lv-banner a {
    font-size: 12px;
    padding: 10px 35px;
  }
}

/* ==============================================
 05. Navigation
=============================================== */
.site-navigation-toggle {
  position: fixed;
  top: 30px;
  right: 40px;
  z-index: 100;
}
@media (max-width: 1024px) {
  .site-navigation-toggle {
    right: 30px;
    top: 18px;
  }
}
@media (max-width: 767px) {
  .site-navigation-toggle {
    top: 8px;
    right: 12px;
  }
}
.site-navigation-toggle .btn {
  background-color: #fff;
  border: none;
  border-radius: 50%;
  height: 64px;
  position: relative;
  width: 64px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
@media (max-width: 767px) {
  .site-navigation-toggle .btn {
    height: 44px;
    width: 44px;
  }
}
.site-navigation-toggle .btn span {
  background-color: #555555;
  display: block;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -13px;
  width: 26px;
  transition: transform 400ms ease;
}
@media (max-width: 767px) {
  .site-navigation-toggle .btn span {
    margin-left: -9px;
    width: 18px;
  }
}
.site-navigation-toggle .btn .bar-1 {
  transform: translateY(-4px);
}
@media (max-width: 767px) {
  .site-navigation-toggle .btn .bar-1 {
    transform: translateY(-3px);
  }
}
.site-navigation-toggle .btn .bar-2 {
  transform: translateY(4px);
}
@media (max-width: 767px) {
  .site-navigation-toggle .btn .bar-2 {
    transform: translateY(3px);
  }
}

.is-nav-open .site-navigation-toggle .btn .bar-1 {
  transform: translateY(0px) rotate(35deg);
}
.is-nav-open .site-navigation-toggle .btn .bar-2 {
  transform: translateY(0px) rotate(-35deg);
}

/* site navigation
----------------------------------------------- */
.site-navigation {
  background-color: #fff;
  display: none;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  bottom: 0;
  top: 0;
  left: 0;
  position: fixed;
  width: 100vw;
  z-index: 99;
}
.site-navigation .site-navigation-container {
  position: relative;
  min-height: 100%;
  max-height: 100%;
  width: 100%;
  display: flex;
}
.site-navigation .navigation-close-btn {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .site-navigation .navigation-close-btn {
    right: 16px;
    top: 16px;
  }
}
@media (max-width: 767px) {
  .site-navigation .navigation-close-btn {
    right: 5px;
    top: 5px;
  }
}
.site-navigation .navigation-close-btn .btn {
  border: none;
  background: none;
  outline: 0;
  position: relative;
  height: 40px;
  width: 40px;
}
.site-navigation .navigation-close-btn .btn span {
  background-color: #282828;
  height: 1px;
  display: inline-block;
  position: absolute;
  left: 50%;
  margin-left: -10px;
  width: 22px;
}
.site-navigation .navigation-close-btn .btn span.bar-1 {
  top: 50%;
  transform: rotate(45deg);
}
.site-navigation .navigation-close-btn .btn span.bar-2 {
  top: 50%;
  transform: rotate(-45deg);
}
.site-navigation .navigation-img {
  max-height: 100%;
  min-height: 100%;
  position: relative;
  width: 50%;
}
@media (max-width: 1024px) {
  .site-navigation .navigation-img {
    display: none;
  }
}
.site-navigation .navigation-img img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  max-width: none;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.site-navigation .navigation-menu {
  max-height: 100%;
  min-height: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  overflow: auto;
}
.site-navigation .navigation-menu-container {
  margin: auto;
  padding: 40px 8%;
}
@media (max-width: 1024px) {
  .site-navigation .navigation-menu-container {
    padding: 70px 30px 30px;
  }
}
@media (max-width: 340px) {
  .site-navigation .navigation-menu-container {
    padding: 70px 4% 30px;
  }
}
.site-navigation .navigation-menu .navigation-menu-list > li {
  margin-bottom: 28px;
  line-height: 1.4;
}
.site-navigation .navigation-menu .navigation-menu-list > li:last-child {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .site-navigation .navigation-menu .navigation-menu-list > li {
    margin-bottom: 16px;
  }
}
.site-navigation .navigation-menu .navigation-menu-list > li > a {
  font-size: 17px;
}
@media (max-width: 1024px) {
  .site-navigation .navigation-menu .navigation-menu-list > li > a {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .site-navigation .navigation-menu .navigation-menu-list > li > a {
    font-size: 14px;
  }
}
.site-navigation .navigation-buttons {
  border-bottom: 1px solid #e8e8e8;
  padding-top: clamp(35px, 3.2vw, 70px);
  padding-bottom: clamp(24px, 3.6vw, 80px);
}
.site-navigation .navigation-buttons ul {
  display: flex;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .site-navigation .navigation-buttons ul {
    display: block;
  }
}
.site-navigation .navigation-buttons ul li:not(:last-child) {
  margin-right: 20px;
}
@media (max-width: 767px) {
  .site-navigation .navigation-buttons ul li:not(:last-child) {
    margin-right: 0;
    margin-bottom: 16px;
  }
}
.site-navigation .navigation-buttons ul li .btn {
  background-repeat: no-repeat;
  color: #c19d6a;
  border: 1px solid #c19d6a;
  border-radius: 50px;
  display: block;
  text-align: center;
  padding: 20px 40px 20px 50px;
  width: 260px;
}
@media (min-width: 1025px) {
  .site-navigation .navigation-buttons ul li .btn {
    transition: opacity 300ms;
  }
  .site-navigation .navigation-buttons ul li .btn:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  .site-navigation .navigation-buttons ul li .btn {
    font-size: 12px;
    padding: 17px 17px 17px 25px;
    display: block;
    width: 100%;
  }
}
.site-navigation .navigation-buttons ul li .no-link {
  pointer-events: none;
}
.site-navigation .navigation-buttons ul li .btn-cart {
  background-image: url(images/icons/icon_cart.png);
  background-position: 22px 50%;
  background-size: 18px 17px;
}
@media (max-width: 767px) {
  .site-navigation .navigation-buttons ul li .btn-cart {
    background-size: 15px 14px;
  }
}
.site-navigation .navigation-buttons ul li .btn-reservation {
  background-image: url(images/icons/icon_calendar.png);
  background-position: 20px 50%;
  background-size: 19px 19px;
  background-color: #c19d6a;
  color: #fff;
}
@media (max-width: 767px) {
  .site-navigation .navigation-buttons ul li .btn-reservation {
    background-size: 15px 15px;
  }
}
.site-navigation .navigation-follow {
  padding-top: 34px;
}
@media (max-width: 1024px) {
  .site-navigation .navigation-follow {
    padding-top: 16px;
  }
}
.site-navigation .navigation-follow dl dt {
  font-size: 16px;
  font-weight: normal;
  margin-bottom: 0.435em;
}
@media (max-width: 767px) {
  .site-navigation .navigation-follow dl dt {
    font-size: 13px;
  }
}
.site-navigation .navigation-follow dl dd {
  display: inline-block;
  margin-right: 28px;
  vertical-align: top;
}
@media (max-width: 767px) {
  .site-navigation .navigation-follow dl dd {
    margin-right: 20px;
  }
}
.site-navigation .navigation-follow dl dd a {
  font-size: 13px;
  display: inline-block;
}
@media (max-width: 767px) {
  .site-navigation .navigation-follow dl dd a {
    font-size: 12px;
  }
}
.site-navigation .navigation-follow dl dd a img {
  margin-right: 10px;
}
@media (max-width: 767px) {
  .site-navigation .navigation-follow dl dd a img {
    margin-right: 8px;
    width: 20px;
  }
}

.navigation-breadcrumbs {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .navigation-breadcrumbs {
    margin-bottom: 20px;
  }
}
.navigation-breadcrumbs .breadcrumbs-list {
  color: #c19d6a;
  font-size: 13px;
}
@media (max-width: 767px) {
  .navigation-breadcrumbs .breadcrumbs-list {
    font-size: 11px;
  }
}
.navigation-breadcrumbs .breadcrumbs-list > span {
  line-height: 1.3;
  vertical-align: baseline;
}
.navigation-breadcrumbs .breadcrumbs-list > span:not(:first-child) {
  margin-left: 0.7em;
}
.navigation-breadcrumbs .breadcrumbs-list > span:not(:last-child) {
  margin-right: 0.7em;
}
.navigation-breadcrumbs .breadcrumbs-list > span .home {
  background: url(images/icons/icon_home.png) no-repeat left center;
  background-size: 1.1em 1.1em;
  display: inline-block;
  padding-left: 1.7em;
}
.navigation-breadcrumbs .breadcrumbs-list > span > span, .navigation-breadcrumbs .breadcrumbs-list > span a {
  color: #c19d6a;
  vertical-align: baseline;
}

/* ==============================================
 06. Footer
=============================================== */
.site-footer .container {
  border-top: 1px solid #e3ded8;
  display: flex;
  align-items: center;
  padding: 40px;
  max-width: 1720px;
}
@media (max-width: 767px) {
  .site-footer .container {
    display: block;
    padding: 40px 30px;
  }
}
.site-footer .footer-logo {
  margin-right: 20%;
}
@media (max-width: 767px) {
  .site-footer .footer-logo {
    margin-bottom: 30px;
    margin-right: auto;
    text-align: center;
  }
  .site-footer .footer-logo img {
    width: 160px;
  }
}
.site-footer .footer-menu > ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .site-footer .footer-menu > ul {
    display: block;
    text-align: center;
    position: relative;
  }
}
.site-footer .footer-menu > ul > li {
  font-size: 13px;
  margin-right: 2em;
}
@media (max-width: 767px) {
  .site-footer .footer-menu > ul > li {
    font-size: 12px;
    margin-right: 0;
    margin-bottom: 0.5em;
  }
}
.site-footer .copyright {
  font-size: 10px;
  letter-spacing: 0.08em;
  margin-left: auto;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .site-footer .copyright {
    text-align: center;
    margin-top: 26px;
  }
}

/* ==============================================
 07. Parts
=============================================== */
/* heading
----------------------------------------------- */
.heading-1 {
  font-weight: normal;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 90px;
}
@media (max-width: 767px) {
  .heading-1 {
    line-height: 1.2;
    margin-bottom: 50px;
  }
}
.heading-1 .en {
  display: block;
  font-size: 20px;
  font-family: "Cardo", serif;
  margin-bottom: 0.75rem;
}
@media (max-width: 767px) {
  .heading-1 .en {
    font-size: 15px;
    margin-bottom: 0.5rem;
  }
}
.heading-1 .ja {
  display: block;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .heading-1 .ja {
    font-size: 20px;
  }
}

.heading-2 {
  font-weight: normal;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  .heading-2 {
    line-height: 1.2;
    margin-bottom: 35px;
  }
}
.heading-2 .en {
  display: block;
  font-size: 20px;
  font-family: "Cardo", serif;
  margin-bottom: 0.3rem;
}
@media (max-width: 767px) {
  .heading-2 .en {
    font-size: 15px;
  }
}
.heading-2 .ja {
  display: block;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .heading-2 .ja {
    font-size: 20px;
  }
}

.heading-3 {
  font-weight: normal;
  text-align: left;
  line-height: 1.6;
  margin-bottom: 35px;
  padding-bottom: 3.5rem;
  position: relative;
}
.heading-3::after {
  content: "";
  background-color: #282828;
  bottom: 0;
  left: 0;
  height: 1px;
  position: absolute;
  width: 30px;
}
@media (max-width: 767px) {
  .heading-3::after {
    width: 20px;
  }
}
@media (max-width: 767px) {
  .heading-3 {
    margin-bottom: 20px;
    padding-bottom: 1.9rem;
  }
}
.heading-3 .en {
  display: block;
  font-size: 18px;
  font-family: "Cardo", serif;
  margin-bottom: 1.3rem;
}
@media (max-width: 767px) {
  .heading-3 .en {
    font-size: 14px;
    margin-bottom: 0.5rem;
  }
}
.heading-3 .ja {
  display: block;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .heading-3 .ja {
    font-size: 18px;
  }
}

.section-top .heading-1 {
  border-top: 1px solid #e4dfdb;
  padding-top: 80px;
}
@media (max-width: 767px) {
  .section-top .heading-1 {
    padding-top: 40px;
  }
}

.h1 {
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 90px;
}
@media (max-width: 767px) {
  .h1 {
    margin-bottom: 40px;
  }
}
.h1 .en {
  background: url(images/icons/icon_title_mark.png) no-repeat 4px 7px;
  background-size: 10px 10px;
  color: #c19d6a;
  display: inline-block;
  font-size: 16px;
  font-family: "Cardo", serif;
  position: relative;
  margin-bottom: 0.65em;
  padding-left: 22px;
}
@media (max-width: 767px) {
  .h1 .en {
    background-position: 3px 5px;
    background-size: 7px 7px;
    font-size: 12px;
    padding-left: 18px;
  }
}
.h1 .ja {
  display: block;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .h1 .ja {
    font-size: 20px;
  }
}

.h2 {
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .h2 {
    margin-bottom: 22px;
  }
}
.h2 .en {
  background: url(images/icons/icon_title_mark.png) no-repeat 4px 7px;
  background-size: 10px 10px;
  color: #c19d6a;
  display: inline-block;
  font-size: 16px;
  font-family: "Cardo", serif;
  position: relative;
  margin-bottom: 0.65em;
  padding-left: 22px;
}
@media (max-width: 767px) {
  .h2 .en {
    background-position: 3px 5px;
    background-size: 7px 7px;
    font-size: 12px;
    padding-left: 18px;
  }
}
.h2 .ja {
  display: block;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .h2 .ja {
    font-size: 20px;
  }
}

/* button
----------------------------------------------- */
.btn {
  cursor: pointer;
  display: inline-block;
}

.btn-primary {
  background-color: #c19d6a;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.3;
  max-width: 100%;
  padding: 24px 20px;
  position: relative;
  width: 480px;
  border-radius: 50px;
}
.btn-primary::after {
  right: 20px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
.btn-primary:hover {
  color: #fff;
  opacity: 0.8;
}
@media (max-width: 767px) {
  .btn-primary {
    font-size: 15px;
    padding: 20px 20px;
  }
}

.btn-arrow-primary {
  background: url(images/common/arrow_1.png) no-repeat 100% 50%;
  background-size: 13px 8px;
  display: inline-block;
  padding: 0.8em 25px 0.8em 0;
  min-width: 160px;
  position: relative;
}
@media (max-width: 767px) {
  .btn-arrow-primary {
    background-size: 11px 7px;
    font-size: 12px;
  }
}
.btn-arrow-primary::before {
  background-color: #b9b7b2;
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.btn-arrow-primary.ff-en {
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .btn-arrow-primary.ff-en {
    font-size: 12px;
  }
}

/* ==============================================
 08. Form
=============================================== */
.contact-contents .heading-1 {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .contact-contents .heading-1 {
    margin-bottom: 30px;
  }
}
.contact-contents .complete-message {
  max-width: 520px;
  margin: 0 auto;
}
.contact-contents .back-btn {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  background-color: #eee;
  font-size: 16px;
  font-family: "Noto Serif JP", "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  letter-spacing: 0.12em;
  display: inline-block;
  padding: 18px 20px;
  width: 220px;
  border-radius: 6px;
}

/* layout
----------------------------------------------- */
/* table */
.form {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .form {
    margin-bottom: 50px;
  }
}
.form .form-block {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .form .form-block {
    margin-bottom: 20px;
  }
}
.form .form-block .form-label {
  font-size: 14px;
  margin-bottom: 14px;
}
.form .form-block .form-label .form-required {
  color: #a52e11;
  font-size: 18px;
  margin-left: 0.1em;
}
.form .form-block .form-field .mwform-radio-field label {
  display: inline-block;
  padding: 0.25rem 0;
  margin: 0.25rem 0;
  position: relative;
}
.form .form-block .form-field .mwform-radio-field label input[type=radio] {
  position: absolute;
  display: none;
  z-index: -1;
}
.form .form-block .form-field .mwform-radio-field label .mwform-radio-field-text {
  display: inline-block;
  position: relative;
  font-weight: 300;
  padding-left: 28px;
  line-height: 1;
}
@media (max-width: 767px) {
  .form .form-block .form-field .mwform-radio-field label .mwform-radio-field-text {
    padding-top: 1px;
  }
}
.form .form-block .form-field .mwform-radio-field label .mwform-radio-field-text::before {
  content: "";
  background-color: #fff;
  border: 1px solid #282828;
  height: 18px;
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  border-radius: 50%;
}
.form .form-block .form-field .mwform-radio-field label input[type=radio]:checked + .mwform-radio-field-text::before {
  background-color: #282828;
  border: 2px solid #282828;
}
.form .form-block .form-field .mwform-radio-field label input[type=radio]:checked + .mwform-radio-field-text::after {
  background-color: #fff;
  content: "";
  position: absolute;
  left: 6px;
  top: 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.form .btn-area {
  max-width: 490px;
  text-align: center;
  margin: 40px auto;
}
@media (max-width: 767px) {
  .form .btn-area {
    margin: 40px auto;
  }
}
.form .btn-area .btn {
  background: #57462B;
  color: #fff;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.05em;
  height: 58px;
  display: inline-block;
  margin: 0 6px 10px;
  text-align: center;
  width: 180px;
  overflow: hidden;
  border-radius: 30px;
}
@media (max-width: 767px) {
  .form .btn-area .btn {
    width: 140px;
  }
}
.form .btn-area .btn[name=submitBack] {
  background-color: #666;
}
.form .check-privacy {
  font-size: 14px;
  font-weight: 300;
  text-align: center;
  margin-top: 40px;
}
.form .check-privacy label {
  cursor: pointer;
  display: inline-block;
  font-weight: 300;
  position: relative;
}
.form .check-privacy label input[type=checkbox] {
  margin: 0;
  display: none;
  position: absolute;
  z-index: -1;
}
.form .check-privacy label .mwform-checkbox-field-text {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 22px;
  top: 5px;
}
@media (max-width: 767px) {
  .form .check-privacy label .mwform-checkbox-field-text {
    top: 3px;
  }
}
.form .check-privacy label .mwform-checkbox-field-text::before {
  content: "";
  background-color: #fff;
  border: 1px solid #57462B;
  height: 22px;
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
}
.form .check-privacy label input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
  background-color: #57462B;
}
.form .check-privacy label input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 5px;
  width: 1em;
  height: 0.5em;
  border-bottom: 0.2em solid #fff;
  border-left: 0.2em solid #fff;
  transform: rotate(-45deg);
}
.form .check-privacy a {
  text-decoration: underline;
}
@media (min-width: 1025px) {
  .form .check-privacy a:hover {
    text-decoration: none;
  }
}
.form .form-preview-mes {
  display: none;
}

.mw_wp_form_preview .form .form-block .form-label {
  font-weight: 500;
  margin-bottom: 8px;
  border-bottom: 2px solid #e4dfdb;
  padding-bottom: 4px;
}
.mw_wp_form_preview .form .form-block .form-label .form-required {
  display: none;
}
.mw_wp_form_preview .form .check-privacy {
  display: none;
}
.mw_wp_form_preview .form .form-preview-mes {
  display: block;
}

.form .mwform-tel-field input[type=text],
.form .mwform-zip-field input[type=text] {
  width: 80px;
}

.mw_wp_form_complete p {
  text-align: center;
}
@media (max-width: 767px) {
  .mw_wp_form_complete p {
    text-align: left;
  }
}

/* form default */
input.form-control, input[type=number].form-control, input[type=email].form-control, button.form-control, textarea.form-control {
  font-size: 16px;
  border: none;
  color: #282828;
  background: #fff;
  line-height: 1.6;
  display: block;
  margin: 0;
  padding: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media (max-width: 767px) {
  input.form-control, input[type=number].form-control, input[type=email].form-control, button.form-control, textarea.form-control {
    font-size: 16px;
  }
}

input.form-control:focus, button.form-control:focus, textarea.form-control:focus {
  border: none;
  background: #fff;
}

input[type=submit],
input[type=button],
button {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]:focus,
input[type=button]:focus,
button:focus {
  outline-offset: -2px;
  outline: 0;
}

input[type=text].form-control, input[type=number].form-control, input[type=password].form-control, input[type=email].form-control, input[type=tel].form-control, input[type=url].form-control, textarea.form-control {
  padding: 20px 20px;
  font-weight: 300;
  width: 100%;
}
@media (max-width: 767px) {
  input[type=text].form-control, input[type=number].form-control, input[type=password].form-control, input[type=email].form-control, input[type=tel].form-control, input[type=url].form-control, textarea.form-control {
    padding: 20px 20px;
  }
}

textarea.form-control {
  resize: none;
}

input[type=text].form-zip {
  width: 140px;
}

/* selectbox */
.select-wrapper {
  display: block;
  position: relative;
  width: auto;
  font-size: 16px;
  border: 1px solid #57462B;
  border-radius: 0;
  background: #fff;
  overflow: hidden;
}

.select-wrapper::after {
  content: "";
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #222 transparent transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 10px;
}

.select-wrapper select {
  background: none;
  width: 100%;
  font-size: 16px;
  padding: 8px 30px 8px 10px;
  border: none;
  position: relative;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}

.select-wrapper select.form-control-auto {
  width: auto;
}

/* ie9対策 */
.select-wrapper select:not(:target) {
  width: 120% \9 ;
}

.mw_wp_form_preview .select-wrapper {
  background: none;
  border: none;
  padding: 0;
}

.mw_wp_form_preview .select-wrapper::after {
  content: none;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 200;
  color: #282828;
  opacity: 0.5;
}

input::placeholder, textarea::placeholder {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 200;
  color: #282828;
  opacity: 0.5;
}

/* IE */
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 200;
  color: #282828;
  opacity: 0.5;
}

/* Edge */
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 200;
  color: #282828;
  opacity: 0.5;
}

/* Chrome, Safari */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox, IE */
input[type=number] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}

/* Chrome autofill */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #f5f5f5 inset;
}

/* ==============================================
 10. Contents
=============================================== */
/* reservation
----------------------------------------------- */
.contents-reservation .top-heading + p {
  font-size: 15px;
  margin-bottom: 0.8em;
}
@media (max-width: 767px) {
  .contents-reservation .top-heading + p {
    font-size: 12px;
  }
}
.contents-reservation .reservation-shop {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 50px;
}
@media (max-width: 1024px) {
  .contents-reservation .reservation-shop {
    display: block;
  }
}
@media (max-width: 767px) {
  .contents-reservation .reservation-shop {
    padding-top: 40px;
  }
}
.contents-reservation .reservation-shop .shop-box {
  border-radius: 8px;
  background-color: #f3eee8;
  padding: 44px 50px 50px;
  width: 46.2%;
}
@media (max-width: 1024px) {
  .contents-reservation .reservation-shop .shop-box {
    padding: 24px 20px 30px;
    margin-bottom: 20px;
    width: auto;
  }
}
.contents-reservation .reservation-shop h3 {
  color: #c19d6a;
  font-size: 24px;
  font-weight: normal;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #c19d6a;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-shop h3 {
    font-size: 18px;
    padding-bottom: 12px;
  }
}
.contents-reservation .reservation-shop .reservation-btns .btn {
  background: #fff url(images/common/arrow_2.png) no-repeat right 30px top 50%;
  background-size: 13px 8px;
  display: block;
  font-size: 16px;
  font-weight: normal;
  color: #282828;
  margin: 0 auto 20px;
  max-width: 100%;
  position: relative;
  padding: 24px 60px;
  text-align: center;
  border-radius: 5em;
  width: 100%;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-shop .reservation-btns .btn {
    background-position: right 20px top 50%;
    background-size: 11px 7px;
    font-size: 14px;
    margin-bottom: 16px;
    padding: 20px 20px 20px 0;
    margin-bottom: 15px;
  }
}
@media (max-width: 340px) {
  .contents-reservation .reservation-shop .reservation-btns .btn {
    font-size: 12px;
  }
}
.contents-reservation .reservation-shop .reservation-btns .btn:last-child {
  margin-bottom: 0;
}
.contents-reservation .reservation-shop .reservation-btns .btn .btn-inner {
  display: inline-block;
  position: relative;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-shop .reservation-btns .btn .btn-inner {
    padding-left: 26px;
  }
}
.contents-reservation .reservation-shop .reservation-btns .btn .icon {
  position: absolute;
  left: -45px;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .contents-reservation .reservation-shop .reservation-btns .btn .icon {
    left: 0;
  }
  .contents-reservation .reservation-shop .reservation-btns .btn .icon img {
    width: 18px;
  }
}
.contents-reservation .reservation-shop .reservation-btns .coming-soon {
  position: relative;
}
.contents-reservation .reservation-shop .reservation-btns .coming-soon::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.35);
  position: absolute;
  left: -5px;
  right: -5px;
  bottom: -5px;
  top: -5px;
  z-index: 1;
}
.contents-reservation .reservation-shop .reservation-btns .coming-soon::after {
  color: #fff;
  font-size: 110%;
  font-weight: 500;
  content: "Coming soon";
  position: absolute;
  letter-spacing: 0.06em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.contents-reservation .reservation-shop .reservation-btns .coming-soon .btn-container {
  background: #f5f5f5;
  box-shadow: none;
  opacity: 0.3;
}
.contents-reservation .reservation-tel {
  margin-top: 24px;
}
.contents-reservation .reservation-tel .tel-info {
  display: flex;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-tel .tel-info {
    display: block;
  }
}
.contents-reservation .reservation-tel h5 {
  border-left: 1px solid #e3ded8;
  border-right: 1px solid #e3ded8;
  font-weight: normal;
  font-size: 14px;
  padding: 0 24px;
  white-space: nowrap;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-tel h5 {
    font-size: 13px;
    display: block;
    text-align: center;
    padding: 0;
    margin-bottom: 10px;
    border: none;
  }
}
.contents-reservation .reservation-tel .tel-main {
  flex: 1;
  min-width: 0px;
}
.contents-reservation .reservation-tel .tel-main .tel {
  text-align: center;
}
.contents-reservation .reservation-tel .tel-main .tel a {
  display: inline-block;
  font-size: 28px;
  color: #c19d6a;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-tel .tel-main .tel a {
    background-color: #fff;
    font-size: 20px;
    padding: 0.8rem 1rem;
    margin: 0 auto 8px;
    border-radius: 5em;
    display: block;
  }
}
.contents-reservation .reservation-tel .tel-main .tel a .btn-icon {
  background: url(images/icons/icon_phone.png) no-repeat 0 0.2em;
  background-size: 17px 22px;
  display: inline-block;
  line-height: 1;
  padding: 0 0 0 22px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-tel .tel-main .tel a .btn-icon {
    background-position: 0 0.35em;
    background-size: 12px 17px;
    padding-left: 20px;
    line-height: 1.4;
  }
}
.contents-reservation .reservation-tel .tel-main .tel .tel-time {
  font-size: 13px;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-tel .tel-main .tel .tel-time {
    font-size: 12px;
  }
}
@media (max-width: 340px) {
  .contents-reservation .reservation-tel .tel-main .tel .tel-time {
    font-size: 11px;
  }
}
.contents-reservation .reservation-tel .caps {
  font-size: 12px;
  color: #636466;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 16px 0 0;
  letter-spacing: 0.02em;
  text-align: left;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-tel .caps {
    font-size: 11px;
  }
}
.contents-reservation .reservation-access {
  text-align: center;
  font-size: 14px;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-access {
    font-size: 12px;
  }
}
.contents-reservation .reservation-access .address {
  margin-bottom: 4px;
}
.contents-reservation .reservation-access .ggmap-link {
  font-size: 13px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .contents-reservation .reservation-access .ggmap-link {
    font-size: 12px;
  }
}
.contents-reservation .reservation-access .ggmap-link a {
  display: inline-block;
  color: #c19d6a;
  text-decoration: underline;
}
.contents-reservation .reservation-access .ggmap-link a:hover {
  text-decoration: none;
}
.contents-reservation .reservation-access .ggmap-link a::before {
  color: #282828;
  content: "[";
  margin-right: 0.2em;
}
.contents-reservation .reservation-access .ggmap-link a::after {
  color: #282828;
  content: "]";
  margin-left: 0.2em;
}
.contents-reservation .reservation-access .time dt {
  display: inline-block;
  font-weight: normal;
}
.contents-reservation .reservation-access .time dt::after {
  content: "/";
  margin: 0 0.4em;
}
.contents-reservation .reservation-access .time dd {
  display: inline-block;
}
.contents-reservation .open-info {
  margin-top: 32px;
  text-align: center;
  color: #c19d6a;
  font-size: 146%;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .contents-reservation .open-info {
    margin-top: 26px;
  }
}
.contents-reservation .open-info .txt {
  position: relative;
  line-height: 1.4;
  padding: 0.25em 1em;
  display: inline-block;
}
.contents-reservation .open-info .txt::before, .contents-reservation .open-info .txt::after {
  content: "";
  width: 20px;
  height: 30px;
  position: absolute;
  display: inline-block;
}
.contents-reservation .open-info .txt::before {
  border-left: solid 1px #c19d6a;
  border-top: solid 1px #c19d6a;
  top: 0;
  left: 0;
}
.contents-reservation .open-info .txt::after {
  border-right: solid 1px #c19d6a;
  border-bottom: solid 1px #c19d6a;
  bottom: 0;
  right: 0;
}
.contents-reservation .course-campaign {
  margin-bottom: 5rem;
}
@media (max-width: 767px) {
  .contents-reservation .course-campaign {
    margin-bottom: 3rem;
  }
}
.contents-reservation .course-campaign .box {
  background-color: #fff;
  text-align: center;
  padding: 4rem 2.5rem 3rem;
  max-width: 980px;
  margin: 0 auto 2rem;
}
@media (max-width: 767px) {
  .contents-reservation .course-campaign .box {
    padding: 2rem 1.2rem 1.75rem;
    margin-bottom: 2rem;
  }
}
.contents-reservation .course-campaign .box h3 {
  margin-bottom: 1rem;
}
.contents-reservation .course-campaign .box h3 img {
  height: 64px;
  width: auto;
}
@media (max-width: 767px) {
  .contents-reservation .course-campaign .box h3 img {
    height: 30px;
  }
}
.contents-reservation .course-campaign .box h3 + p {
  font-size: 108%;
  margin-bottom: 1rem;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .contents-reservation .course-campaign .box h3 + p {
    font-size: 85%;
  }
}
.contents-reservation .course-campaign .box h3 + p .twrap {
  display: inline-block;
}
.contents-reservation .course-campaign .box .cont img {
  width: 720px;
}
.contents-reservation .btn-area {
  text-align: center;
  margin-top: 3rem;
  padding: 0 1rem;
}
.contents-reservation .btn-area .btn {
  border: 1px solid #06c755;
  color: #06c755;
  padding: 1.25rem;
  max-width: 100%;
  position: relative;
  width: 320px;
  border-radius: 50px;
}
.contents-reservation .btn-area .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #06c755;
  border-right: 1px solid #06c755;
  transform: rotate(45deg);
  right: 18px;
}

/* ==============================================
 11. Top
=============================================== */
/* section
----------------------------------------------- */
.top-section {
  display: flex;
}
@media (max-width: 1024px) {
  .top-section {
    display: block;
  }
}
.top-section-heading {
  width: 20%;
}
@media (max-width: 1024px) {
  .top-section-heading {
    width: auto;
  }
}
.top-section-contents {
  flex: 1;
  min-width: 0;
}
@media (max-width: 1024px) {
  .top-section-contents {
    flex: initial;
  }
}

/* heading
----------------------------------------------- */
.top-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-weight: normal;
  margin-bottom: 20px;
}
.top-heading .en {
  display: inline-block;
  font-family: "Cardo", serif;
  font-size: 36px;
  line-height: 1;
}
@media (max-width: 767px) {
  .top-heading .en {
    font-size: 20px;
  }
}
.top-heading .ja {
  display: inline-block;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.04em;
  position: relative;
  padding-left: 0.6em;
  margin-left: 0.6em;
}
@media (max-width: 767px) {
  .top-heading .ja {
    font-size: 12px;
  }
}
.top-heading .ja::after {
  background-color: #e3ded8;
  content: "";
  height: 1em;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: rotate(25deg);
  width: 1px;
}

/* mainvisual
----------------------------------------------- */
.mainvisual {
  position: relative;
  overflow: hidden;
  margin-bottom: 80px;
}
@media (max-width: 1024px) {
  .mainvisual {
    margin-bottom: 0;
  }
}
.mainvisual .container {
  max-width: 1640px;
  padding-right: 0;
  padding-left: 0;
}
.mainvisual .mainvisual-slider {
  margin-bottom: 0;
}
.mainvisual .mainvisual-slider-wrapper {
  margin-left: auto;
  width: 71.237%;
}
@media (max-width: 1024px) {
  .mainvisual .mainvisual-slider-wrapper {
    width: 65%;
  }
}
@media (max-width: 767px) {
  .mainvisual .mainvisual-slider-wrapper {
    padding-left: 30px;
    padding-top: 10px;
    width: 100%;
  }
}
.mainvisual .mainvisual-slider .slide-item {
  overflow: hidden;
  position: relative;
  width: 100%;
  pointer-events: none;
}
.mainvisual .mainvisual-slider .slide-item::before {
  content: "";
  display: block;
  padding-top: 62.9%;
  z-index: -1;
}
@media (max-width: 767px) {
  .mainvisual .mainvisual-slider .slide-item::before {
    padding-top: 84%;
  }
}
.mainvisual .mainvisual-slider .slide-item img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  min-width: 100%;
  min-height: 100%;
  transform: scale(1.15);
  -o-object-fit: cover;
     object-fit: cover;
}
.mainvisual .mainvisual-slider .slide-item.add-animation img {
  animation: slideZoomUp 15s linear 0s normal both;
}
.mainvisual .mainvisual-slider .slick-dots {
  right: 30px;
  bottom: 20px;
  width: auto;
  z-index: 1;
}
@media (max-width: 767px) {
  .mainvisual .mainvisual-slider .slick-dots {
    bottom: 10px;
  }
}
@media (max-width: 767px) {
  .mainvisual .mainvisual-slider .slick-dots li {
    margin: 0 1px;
  }
}
.mainvisual .mainvisual-slider .slick-dots li button:before {
  color: #fff;
}
.mainvisual .mv-cont {
  position: absolute;
  left: 8%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
@media (max-width: 1024px) {
  .mainvisual .mv-cont {
    left: 6%;
  }
}
@media (max-width: 767px) {
  .mainvisual .mv-cont {
    position: static;
    left: auto;
    top: auto;
    transform: translateY(0%);
    padding: 30px;
  }
}
.mainvisual .mv-cont .mv-copy {
  margin-bottom: clamp(30px, 4vw, 90px);
  transform: translateY(20px);
  opacity: 0;
  transition: transform 1400ms ease, opacity 1400ms ease;
  transition-delay: 400ms;
}
@media (max-width: 767px) {
  .mainvisual .mv-cont .mv-copy {
    margin-bottom: 22px;
  }
}
@media (max-width: 1024px) {
  .mainvisual .mv-cont .mv-copy img {
    width: clamp(200px, 62vw, 320px);
  }
}
@media (max-width: 767px) {
  .mainvisual .mv-cont .mv-copy img {
    width: clamp(200px, 62vw, 260px);
  }
}
.mainvisual .mv-cont .mv-txt {
  margin-bottom: clamp(22px, 3vw, 68px);
  transform: translateY(20px);
  opacity: 0;
  transition: transform 1400ms ease, opacity 1400ms ease;
  transition-delay: 600ms;
}
@media (max-width: 767px) {
  .mainvisual .mv-cont .mv-txt {
    font-size: 12px;
    letter-spacing: 0.03em;
    margin-bottom: 18px;
  }
}
.mainvisual .mv-cont .mv-btn {
  transform: translateY(20px);
  opacity: 0;
  transition: transform 1400ms ease, opacity 1400ms ease;
  transition-delay: 800ms;
}

.is-show-start .mainvisual .mv-copy {
  transform: translateY(0);
  opacity: 1;
}
.is-show-start .mainvisual .mv-txt {
  transform: translateY(0);
  opacity: 1;
}
.is-show-start .mainvisual .mv-btn {
  transform: translateY(0);
  opacity: 1;
}

@keyframes slideZoomUp {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
/* message
----------------------------------------------- */
.top-message {
  overflow: hidden;
}
.top-message .container {
  left: 50%;
  margin-left: -960px;
  max-width: 1920px;
  position: relative;
  width: 1920px;
  padding-left: 3.85vw;
  padding-right: 0;
  padding-top: 260px;
  padding-bottom: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .top-message .container {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 50px;
    padding-bottom: 60px;
    margin-left: auto;
    left: auto;
    width: auto;
    display: block;
  }
}
@media (max-width: 340px) {
  .top-message .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 767px) {
  .top-message .img-wrap {
    max-width: 360px;
    margin: 0 auto 50px;
    position: relative;
  }
}
.top-message .img {
  position: absolute;
}
@media (max-width: 767px) {
  .top-message .img {
    position: relative;
  }
}
.top-message .img-1 {
  left: 0;
  top: 14%;
}
@media (max-width: 767px) {
  .top-message .img-1 {
    left: 4%;
    width: 44%;
  }
}
.top-message .img-2 {
  right: 0;
  top: 0;
}
@media (max-width: 767px) {
  .top-message .img-2 {
    position: absolute;
    top: -10%;
    right: 14%;
    width: 28%;
    z-index: 1;
  }
}
.top-message .img-3 {
  right: 16%;
  bottom: 12%;
}
@media (max-width: 767px) {
  .top-message .img-3 {
    position: absolute;
    right: 0;
    bottom: -12%;
    width: 21%;
    z-index: 1;
  }
}
.top-message p.copy {
  margin-bottom: 3.6em;
}
@media (max-width: 767px) {
  .top-message p.copy {
    margin-bottom: 28px;
  }
  .top-message p.copy img {
    width: 225px;
  }
}
.top-message p.last {
  margin-top: 4em;
}
@media (max-width: 767px) {
  .top-message p.last {
    margin-top: 2em;
    margin-bottom: 1.4em;
  }
}

/* News
----------------------------------------------- */
.top-news {
  background: #fff url(images/common/bg_1.png) repeat-x 50% 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-news {
    background-size: 960px 15px;
    padding-bottom: 20px;
  }
}
.top-news .top-heading {
  margin-bottom: 70px;
  margin-top: 50px;
}
@media (max-width: 767px) {
  .top-news .top-heading {
    margin-top: 20px;
    margin-bottom: 36px;
  }
}
.top-news .news-slider .slick-list {
  overflow: visible;
  position: relative;
}
.top-news .news-slider-wrapper {
  position: relative;
  margin-left: -30px;
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .top-news .news-slider-wrapper {
    margin-left: -10px;
    padding-bottom: 50px;
  }
}
.top-news .news-slider .slide-item {
  padding: 0 30px;
  width: 480px;
}
@media (max-width: 767px) {
  .top-news .news-slider .slide-item {
    padding: 0 10px;
    width: 80vw;
  }
}
.top-news .news-slider .slide-item a {
  display: block;
}
.top-news .news-slider .slide-item a:hover {
  color: #282828;
}
.top-news .news-slider .slide-item a:hover img {
  opacity: 1;
}
.top-news .news-slider .slide-item .post-thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
}
.top-news .news-slider .slide-item .post-thumbnail::before {
  content: "";
  display: block;
  height: 0;
  padding-top: 71.428%;
}
.top-news .news-slider .slide-item .post-thumbnail img {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-news .news-slider .slide-item .post-categories {
  position: absolute;
  background-color: #fff;
  display: inline-block;
  min-width: 110px;
  font-size: 14px;
  text-align: center;
  padding: 6px 10px;
  bottom: -1px;
  left: -1px;
}
@media (max-width: 767px) {
  .top-news .news-slider .slide-item .post-categories {
    font-size: 12px;
    min-width: 90px;
  }
}
.top-news .news-slider .slide-item .post-main {
  padding: 30px;
}
@media (max-width: 767px) {
  .top-news .news-slider .slide-item .post-main {
    padding: 20px;
  }
}
.top-news .news-slider .slide-item .post-title {
  font-size: 20px;
  display: block;
  line-height: 1.45;
  margin-bottom: 0.8em;
}
@media (max-width: 767px) {
  .top-news .news-slider .slide-item .post-title {
    font-size: 14px;
  }
}
.top-news .news-slider .slide-item .post-excerpt {
  display: block;
  font-size: 14px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin-bottom: 1.8em;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .top-news .news-slider .slide-item .post-excerpt {
    font-size: 12px;
  }
}
.top-news .news-slider .slide-item .post-date {
  font-size: 15px;
  display: block;
}
@media (max-width: 767px) {
  .top-news .news-slider .slide-item .post-date {
    font-size: 11px;
  }
}
.top-news .news-slider .slick-arrow {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
  height: 54px;
  position: absolute;
  bottom: -120px;
  left: 0;
  top: auto;
  transform: translate(0);
  width: 54px;
}
.top-news .news-slider .slick-arrow::before {
  content: none;
}
@media (min-width: 1025px) {
  .top-news .news-slider .slick-arrow {
    transition: opacity 200ms ease;
  }
  .top-news .news-slider .slick-arrow:hover {
    opacity: 0.7;
  }
}
@media (max-width: 767px) {
  .top-news .news-slider .slick-arrow {
    bottom: -50px;
    height: 34px;
    width: 34px;
  }
}
.top-news .news-slider .slick-prev {
  background-image: url(images/common/arrow_prev.png);
  left: 30px;
}
@media (max-width: 767px) {
  .top-news .news-slider .slick-prev {
    left: 10px;
  }
}
.top-news .news-slider .slick-next {
  background-image: url(images/common/arrow_next.png);
  left: 100px;
}
@media (max-width: 767px) {
  .top-news .news-slider .slick-next {
    left: 54px;
  }
}

/* Menu
----------------------------------------------- */
.top-menu {
  background-color: #fff;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-menu {
    padding-bottom: 30px;
  }
}
.top-menu .top-menu-header {
  display: flex;
  margin-bottom: 170px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header {
    display: block;
    margin-bottom: 50px;
  }
}
.top-menu .top-menu-header .img-wrap {
  position: relative;
  width: 52%;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .img-wrap {
    display: none;
    justify-content: space-between;
    width: 100%;
  }
}
.top-menu .top-menu-header .img {
  position: absolute;
  top: 0;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .img {
    position: relative;
  }
}
.top-menu .top-menu-header .img-1 {
  transform: translateX(-40%);
  left: 40%;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .img-1 {
    transform: translateX(0);
    left: auto;
    width: 28vw;
  }
}
.top-menu .top-menu-header .img-2 {
  transform: translateX(40%);
  top: 230px;
  left: 44%;
  z-index: 1;
}
@media (max-width: 1199px) {
  .top-menu .top-menu-header .img-2 {
    transform: translateX(0);
    left: -10%;
    top: 22vw;
    width: 22vw;
  }
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .img-2 {
    top: auto;
    transform: translateX(0);
    left: auto;
    width: 20vw;
  }
}
.top-menu .top-menu-header .txt-wrap {
  flex: 1;
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .txt-wrap {
    display: block;
  }
}
.top-menu .top-menu-header .txt-wrap .txt {
  display: flex;
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .txt-wrap .txt {
    flex-direction: row;
  }
}
.top-menu .top-menu-header .txt-wrap .txt h2 {
  margin-left: 3.2em;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .txt-wrap .txt h2 {
    margin-left: 0;
    margin-right: 30px;
    padding-top: 0.5em;
    width: 50px;
  }
  .top-menu .top-menu-header .txt-wrap .txt h2 img {
    width: 100%;
  }
}
.top-menu .top-menu-header .txt-wrap .txt p {
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media (max-width: 767px) {
  .top-menu .top-menu-header .txt-wrap .txt p {
    flex: 1;
    writing-mode: inherit;
  }
}
.top-menu .top-menu-group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group {
    display: block;
    margin-bottom: 50px;
  }
}
.top-menu .top-menu-group .img {
  margin-right: 7%;
  width: 40%;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .img {
    margin-right: auto;
    margin-bottom: 20px;
    width: 100%;
  }
}
.top-menu .top-menu-group .img img {
  display: block;
  width: 100%;
}
.top-menu .top-menu-group .video-wrapper {
  margin-right: 7%;
  width: 40%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .video-wrapper {
    margin-right: auto;
    margin-bottom: 20px;
    width: 100%;
  }
}
.top-menu .top-menu-group .video-wrapper::before {
  content: "";
  display: block;
  height: 0;
  padding-top: 133.333%;
  z-index: -1;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .video-wrapper::before {
    padding-top: 100%;
  }
}
.top-menu .top-menu-group .video-wrapper video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
}
.top-menu .top-menu-group .cont {
  flex: 1;
  min-width: 0;
}
.top-menu .top-menu-group .cont .heading .heading-copy {
  display: inline-block;
  padding-right: 44px;
  position: relative;
  margin-bottom: 0.5em;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .heading .heading-copy {
    font-size: 12px;
  }
}
.top-menu .top-menu-group .cont .heading .heading-copy::after {
  content: "";
  background-color: #282828;
  height: 1px;
  top: 50%;
  position: absolute;
  right: 0;
  width: 38px;
}
.top-menu .top-menu-group .cont .tit {
  font-size: 25px;
  font-weight: 500;
  margin-bottom: 30px;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .tit {
    font-size: 18px;
    margin-bottom: 16px;
  }
}
.top-menu .top-menu-group .cont .txt {
  line-height: 1.85;
  margin-bottom: 0;
  letter-spacing: 0.02em;
}
.top-menu .top-menu-group .cont .price-list-wrap {
  display: flex;
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .price-list-wrap {
    margin-bottom: 20px;
  }
}
.top-menu .top-menu-group .cont .price-list:not(:last-child) {
  margin-right: 35px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .price-list:not(:last-child) {
    margin-right: 25px;
  }
}
.top-menu .top-menu-group .cont .price-list li {
  font-size: 17px;
  font-weight: 500;
  color: #c19d6a;
  margin-bottom: 0.3em;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .price-list li {
    font-size: 16px;
  }
}
.top-menu .top-menu-group .cont .price-list li .time {
  display: inline-block;
  margin-right: 0.7em;
  padding-right: 0.7em;
  position: relative;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .price-list li .time {
    font-size: 88%;
  }
}
.top-menu .top-menu-group .cont .price-list li .time::after {
  background-color: #c19d6a;
  content: "";
  height: 1em;
  position: absolute;
  right: 0;
  top: 0.45em;
  transform: rotate(25deg);
  width: 1px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .price-list li .time::after {
    height: 0.82em;
  }
}
.top-menu .top-menu-group .cont .txt {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.top-menu .top-menu-group .cont .txt p {
  font-size: 14px;
  line-height: 1.85;
}
.top-menu .top-menu-group .cont .txt ul {
  margin-bottom: 1em;
  margin-top: 0.45em;
}
.top-menu .top-menu-group .cont .txt ul li {
  font-size: 14px;
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .txt ul li {
    line-height: 1.55;
    margin-bottom: 0.25em;
  }
}
.top-menu .top-menu-group .cont .txt ul li::before {
  border-radius: 50%;
  content: "";
  background-color: #c19d6a;
  height: 5px;
  position: absolute;
  left: 0.35em;
  top: 0.75em;
  width: 5px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .cont .txt ul li::before {
    height: 4px;
    top: 0.7em;
    width: 4px;
  }
}
.top-menu .top-menu-group .cont .txt .caps {
  color: #636466;
  font-size: 12px;
  line-height: 1.65;
}
.top-menu .top-menu-group .recommend-course {
  margin-top: 45px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .recommend-course {
    margin-top: 25px;
  }
}
.top-menu .top-menu-group .recommend-course h5 {
  background: url(images/icons/icon_correct.png) no-repeat 0 4px;
  background-size: 19px 19px;
  color: #c19d6a;
  font-size: 18px;
  font-weight: 500;
  padding-left: 28px;
  margin-bottom: 36px;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .recommend-course h5 {
    background-size: 17px 17px;
    font-size: 16px;
    padding-left: 25px;
    margin-bottom: 0.8em;
  }
}
.top-menu .top-menu-group .recommend-course ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .recommend-course ul {
    display: block;
  }
}
.top-menu .top-menu-group .recommend-course ul li {
  font-size: 15px;
  text-align: center;
  margin-bottom: 2em;
  width: 50%;
}
@media (max-width: 767px) {
  .top-menu .top-menu-group .recommend-course ul li {
    font-size: 13px;
    line-height: 1.55;
    margin-bottom: 0.45em;
    text-align: left;
    position: relative;
    padding-left: 1.2em;
    width: auto;
  }
  .top-menu .top-menu-group .recommend-course ul li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
  }
  .top-menu .top-menu-group .recommend-course ul li br {
    display: none;
  }
}
.top-menu .top-option-tit {
  font-size: 38px;
  font-weight: normal;
  line-height: 1.3;
  margin-bottom: 0.5em;
}
@media (max-width: 767px) {
  .top-menu .top-option-tit {
    font-size: 20px;
    margin-bottom: 0.865em;
  }
}
.top-menu .top-option-tit + p {
  font-size: 15px;
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  .top-menu .top-option-tit + p {
    font-size: 14px;
    margin-bottom: 32px;
  }
}
.top-menu .top-option-sub {
  font-size: 18px;
  font-weight: normal;
  text-align: center;
  position: relative;
  margin-bottom: 68px;
}
@media (max-width: 767px) {
  .top-menu .top-option-sub {
    font-size: 16px;
    margin-bottom: 32px;
  }
}
.top-menu .top-option-sub::before {
  border-top: 1px dotted #282828;
  content: "";
  left: 0;
  right: 0;
  top: 50%;
  position: absolute;
}
.top-menu .top-option-sub .txt-wrap {
  background-color: #fff;
  display: inline-block;
  padding: 0 1em;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .top-menu .top-option-sub .txt-wrap {
    padding: 0 0.6em;
  }
}
.top-menu .top-option-block {
  display: flex;
  flex-wrap: wrap;
}
.top-menu .top-option-group {
  display: flex;
  align-items: center;
  margin-bottom: 85px;
  margin-right: 6%;
  width: 47%;
}
.top-menu .top-option-group.no-flex {
  display: block;
}
@media (max-width: 1024px) {
  .top-menu .top-option-group {
    display: block;
  }
}
@media (max-width: 767px) {
  .top-menu .top-option-group {
    margin-right: 0;
    margin-bottom: 50px;
    width: 100%;
  }
}
.top-menu .top-option-group:nth-child(even) {
  margin-right: 0;
}
.top-menu .top-option-group .img {
  margin-right: 8%;
  width: 47%;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .img {
    margin-right: auto;
    margin-bottom: 20px;
    width: 100%;
  }
}
.top-menu .top-option-group .img img {
  display: block;
  width: 100%;
}
.top-menu .top-option-group .video-wrapper {
  margin-right: 8%;
  width: 47%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .video-wrapper {
    margin-right: auto;
    margin-bottom: 20px;
    width: 100%;
  }
}
.top-menu .top-option-group .video-wrapper::before {
  content: "";
  display: block;
  height: 0;
  padding-top: 133.333%;
  z-index: -1;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .video-wrapper::before {
    padding-top: 100%;
  }
}
.top-menu .top-option-group .video-wrapper video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
}
.top-menu .top-option-group .cont {
  flex: 1;
  min-width: 0px;
}
.top-menu .top-option-group .mes {
  font-size: 15px;
  line-height: 1.85;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .mes {
    font-size: 14px;
  }
}
.top-menu .top-option-group .tit {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 22px;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .tit {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
.top-menu .top-option-group .tit small {
  display: block;
  font-size: 18px;
  text-indent: -0.5em;
  padding-top: 0.45em;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .tit small {
    font-size: 14px;
    padding-top: 0.3em;
  }
}
.top-menu .top-option-group .txt {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1.85;
  margin-bottom: 0;
}
.top-menu .top-option-group .price-list-wrap {
  display: flex;
  margin-bottom: 26px;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .price-list-wrap {
    margin-bottom: 14px;
  }
}
.top-menu .top-option-group .price-list:not(:last-child) {
  margin-right: 35px;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .price-list:not(:last-child) {
    margin-right: 25px;
  }
}
.top-menu .top-option-group .price-list li {
  font-size: 17px;
  font-weight: 500;
  color: #c19d6a;
  margin-bottom: 0.3em;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .price-list li {
    font-size: 16px;
  }
}
.top-menu .top-option-group .price-list li .time {
  display: inline-block;
  margin-right: 0.7em;
  padding-right: 0.7em;
  position: relative;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .price-list li .time {
    font-size: 88%;
  }
}
.top-menu .top-option-group .price-list li .time::after {
  background-color: #c19d6a;
  content: "";
  height: 1em;
  position: absolute;
  right: 0;
  top: 0.45em;
  transform: rotate(25deg);
  width: 1px;
}
@media (max-width: 767px) {
  .top-menu .top-option-group .price-list li .time::after {
    height: 0.82em;
  }
}

/* background
----------------------------------------------- */
.top-background-img {
  position: relative;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  height: 900px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-background-img {
    height: 100vw;
  }
}
.top-background-img img {
  -o-object-fit: cover;
     object-fit: cover;
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
}

/* voice
----------------------------------------------- */
.top-voice {
  background-color: #fff;
}
.top-voice .top-heading {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .top-voice .top-heading {
    margin-bottom: 30px;
  }
}
.top-voice ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .top-voice ul {
    display: block;
  }
}
.top-voice ul li {
  border: 1px solid #e3ded8;
  border-radius: 24px;
  margin-right: 5%;
  padding: 36px;
  width: 30%;
}
@media (max-width: 767px) {
  .top-voice ul li {
    border-radius: 12px;
    margin-right: 0;
    margin-bottom: 24px;
    padding: 24px;
    width: auto;
  }
}
@media (max-width: 340px) {
  .top-voice ul li {
    padding: 22px 14px;
  }
}
.top-voice ul li:nth-child(3n) {
  margin-right: 0;
}
.top-voice ul li h4 {
  font-weight: normal;
  text-align: center;
  padding-bottom: 1em;
  position: relative;
  margin-bottom: 1.4em;
}
.top-voice ul li h4::after {
  background-color: #c19d6a;
  content: "";
  height: 1px;
  bottom: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 20px;
}
.top-voice ul li .catch {
  color: #c19d6a;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.7;
  text-align: center;
}
@media (max-width: 767px) {
  .top-voice ul li .catch {
    font-size: 14px;
  }
}
.top-voice ul li .catch + p {
  font-size: 14px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.85;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .top-voice ul li .catch + p {
    font-size: 12px;
    line-height: 1.8;
  }
}

/* faq
----------------------------------------------- */
.top-faq {
  background-color: #fff;
}
.top-faq .faq-list {
  border-top: 1px solid #e3ded8;
  margin-top: 80px;
}
@media (max-width: 767px) {
  .top-faq .faq-list {
    margin-top: 40px;
  }
}
.top-faq .faq-list .faq-item {
  background: url(images/common/btn_open.png) no-repeat 100% 1em;
  background-size: 40px 40px;
  border-bottom: 1px solid #e3ded8;
  padding: 1.5em 50px 1.5em 40px;
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) {
  .top-faq .faq-list .faq-item {
    background-position: 100% 1.5em;
    background-size: 24px 24px;
    padding: 1.5em 35px 1.5em 30px;
  }
}
.top-faq .faq-list .faq-item.is-active {
  background-image: url(images/common/btn_close.png);
}
.top-faq .faq-list .faq-item .faq-q {
  font-size: 16px;
  font-weight: 500;
  position: relative;
}
@media (max-width: 767px) {
  .top-faq .faq-list .faq-item .faq-q {
    font-size: 14px;
  }
}
.top-faq .faq-list .faq-item .faq-q::before {
  content: "Q";
  font-family: "Cardo", serif;
  color: #c19d6a;
  font-size: 21px;
  font-weight: bold;
  position: absolute;
  left: -40px;
  top: -0.2em;
}
@media (max-width: 767px) {
  .top-faq .faq-list .faq-item .faq-q::before {
    top: -0.15em;
    font-size: 17px;
    left: -30px;
  }
}
.top-faq .faq-list .faq-item .faq-a {
  font-size: 14px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  padding: 1em 0 0 0;
  display: none;
}
@media (max-width: 767px) {
  .top-faq .faq-list .faq-item .faq-a {
    font-size: 12px;
  }
}
.top-faq .faq-list .faq-item .faq-a p {
  line-height: 1.8;
}
.top-faq .faq-list .faq-item .faq-a p:last-child {
  margin-bottom: 0;
}

.top-banner {
  text-align: center;
  padding-top: 70px;
  padding-bottom: 90px;
}
@media (max-width: 767px) {
  .top-banner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* ==============================================
 11. About
=============================================== */
.about-message {
  overflow: hidden;
  position: relative;
}
.about-message::before {
  background: #f8f5f1;
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(248, 245, 241) 100%);
  content: "";
  bottom: 0;
  height: 160px;
  left: 0;
  position: absolute;
  width: 100%;
}
.about-message::after {
  background: url(images/about/bg_line.png) no-repeat center center;
  content: "";
  bottom: 60px;
  height: 590px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media (max-width: 767px) {
  .about-message::after {
    background-size: cover;
    height: 295px;
    bottom: 0;
  }
}
.about-message .about-message-top {
  max-width: 1920px;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  z-index: 2;
}
.about-message .about-message-top .img-wrap {
  position: relative;
  width: 78.125%;
}
@media (max-width: 1024px) {
  .about-message .about-message-top .img-wrap {
    width: 100vw;
  }
}
.about-message .about-message-top .img-wrap::before {
  content: "";
  display: block;
  padding-top: 60%;
  height: 0;
}
@media (max-width: 1024px) {
  .about-message .about-message-top .img-wrap::before {
    padding-top: 54%;
  }
}
.about-message .about-message-top .img-wrap img {
  left: 0;
  top: 0;
  height: 100%;
  position: absolute;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.about-message .about-message-top .txt {
  left: 78.125%;
  top: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
}
@media (max-width: 1024px) {
  .about-message .about-message-top .txt {
    position: static;
    left: auto;
    top: auto;
    padding: 60px 60px 0;
    transform: none;
  }
}
@media (max-width: 767px) {
  .about-message .about-message-top .txt {
    padding: 36px 30px 0;
  }
}
.about-message .about-message-top .txt p {
  font-size: 17px;
  line-height: 2.2;
  margin-bottom: 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .about-message .about-message-top .txt p {
    font-size: 14px;
    line-height: 1.9;
    white-space: inherit;
  }
}
.about-message .about-message-top .txt p.lead {
  font-size: 26px;
  line-height: 1.85;
  letter-spacing: 0.1em;
  margin-bottom: 1.2em;
}
@media (max-width: 767px) {
  .about-message .about-message-top .txt p.lead {
    font-size: 20px;
    line-height: 1.65;
    margin-bottom: 0.8em;
  }
}
.about-message .about-message-main {
  padding-top: 160px;
  padding-bottom: 180px;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 1199px) {
  .about-message .about-message-main {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  .about-message .about-message-main {
    display: block;
    padding-bottom: 40px;
  }
}
.about-message .about-message-main .img {
  position: absolute;
}
@media (max-width: 767px) {
  .about-message .about-message-main .img {
    position: relative;
    display: block;
  }
}
@media (max-width: 767px) {
  .about-message .about-message-main .img-wrap {
    display: flex;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .about-message .about-message-main .img-container {
    display: flex;
    align-items: center;
    gap: 0 8vw;
  }
}
.about-message .about-message-main .img-1 {
  left: 80px;
  top: 160px;
  max-width: 30vw;
}
@media (max-width: 1199px) {
  .about-message .about-message-main .img-1 {
    max-width: 100%;
    left: 0;
    top: 80px;
    width: 22vw;
  }
}
@media (max-width: 767px) {
  .about-message .about-message-main .img-1 {
    top: auto;
    width: 32vw;
  }
}
.about-message .about-message-main .img-2 {
  right: 80px;
  bottom: 180px;
  max-width: 22vw;
}
@media (max-width: 1199px) {
  .about-message .about-message-main .img-2 {
    max-width: 100%;
    right: 0;
    width: 18vw;
  }
}
@media (max-width: 767px) {
  .about-message .about-message-main .img-2 {
    bottom: 10%;
    right: 0;
    left: auto;
    width: 30vw;
  }
}
.about-message .about-message-main .txt {
  padding: 70px 0 230px;
  transform: translateX(70px);
}
@media (max-width: 1199px) {
  .about-message .about-message-main .txt {
    padding-bottom: 120px;
    transform: translateX(0);
  }
}
@media (max-width: 767px) {
  .about-message .about-message-main .txt {
    padding: 50px 0;
  }
}
.about-message .about-message-main .txt p {
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .about-message .about-message-main .txt p {
    line-height: 1.9;
  }
}
.about-message .about-message-main .txt p.lead {
  font-size: 28px;
  line-height: 1.85;
  letter-spacing: 0.1em;
  margin-bottom: 0.8em;
}
@media (max-width: 767px) {
  .about-message .about-message-main .txt p.lead {
    font-size: 20px;
    line-height: 1.65;
  }
}
.about-message .about-message-main .txt ul {
  margin-bottom: 1em;
}
.about-message .about-message-main .txt ul li {
  color: #c19d6a;
  margin-bottom: 0.25em;
}

.about-difference {
  background-color: #fff;
  padding-top: 40px;
}
@media (max-width: 767px) {
  .about-difference {
    padding-top: 20px;
  }
  .about-difference .h2 + p {
    margin-bottom: 0;
  }
}
.about-difference .table-wrap {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
@media (max-width: 1024px) {
  .about-difference .table-wrap {
    display: block;
    overflow: auto;
    position: relative;
    margin: 0 -30px;
  }
}
.about-difference .about-difference-table {
  display: flex;
  align-items: flex-end;
  max-width: 100%;
  width: 1140px;
  padding: 50px 0;
}
@media (max-width: 767px) {
  .about-difference .about-difference-table {
    padding: 24px 0;
  }
}
.about-difference .about-difference-table > li {
  display: flex;
  flex-direction: column;
}
.about-difference .about-difference-table > li ul > li {
  color: #535d66;
  height: 100px;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
@media (max-width: 1024px) {
  .about-difference .about-difference-table > li ul > li {
    font-size: 14px;
    padding: 14px;
  }
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li ul > li {
    font-size: 11px;
    height: 80px;
    padding: 6px;
  }
}
.about-difference .about-difference-table > li ul > li:not(:first-child) {
  border-bottom: 1px dashed #dddad8;
}
.about-difference .about-difference-table > li:first-child {
  width: 18%;
}
.about-difference .about-difference-table > li:first-child ul > li:not(:first-child) {
  background-color: #f2f3f4;
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li:first-child {
    flex-shrink: 0;
    min-width: 6em;
  }
}
.about-difference .about-difference-table > li:last-child ul > li:first-child {
  letter-spacing: 0;
}
.about-difference .about-difference-table > li:not(:first-child) {
  width: 27.3333333333%;
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li:not(:first-child) {
    flex-shrink: 0;
    min-width: 10em;
  }
}
.about-difference .about-difference-table > li:not(:first-child) ul > li:first-child {
  background-color: #7d8b96;
  color: #fff;
  height: 64px;
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li:not(:first-child) ul > li:first-child {
    height: 44px;
  }
}
.about-difference .about-difference-table > li.item-main {
  position: relative;
  padding: 0 4px 0;
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li.item-main {
    width: 13em;
  }
}
.about-difference .about-difference-table > li.item-main::after {
  background-color: #fff9f7;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.18);
  content: "";
  border: 4px solid #eb6344;
  border-radius: 12px;
  position: absolute;
  top: -4px;
  left: 0;
  right: 0;
  bottom: -14px;
  z-index: 1;
}
.about-difference .about-difference-table > li.item-main ul > li {
  background-color: #fff9f7;
  color: #eb6344;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li.item-main ul > li {
    font-size: 12px;
  }
}
.about-difference .about-difference-table > li.item-main ul > li:first-child {
  background-color: #eb6344;
  color: #fff;
  height: 100px;
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li.item-main ul > li:first-child {
    height: 64px;
  }
}
@media (max-width: 767px) {
  .about-difference .about-difference-table > li.item-main ul > li:first-child img {
    height: 20px;
    width: auto;
  }
}

@media (max-width: 767px) {
  .about-power {
    padding-bottom: 60px;
  }
}
.about-power .about-power-main {
  display: flex;
  align-items: center;
  margin-bottom: 90px;
}
@media (max-width: 1024px) {
  .about-power .about-power-main {
    display: block;
  }
}
@media (max-width: 767px) {
  .about-power .about-power-main {
    margin-bottom: 40px;
  }
}
.about-power .about-power-main .txt {
  flex: 1;
}
@media (max-width: 1024px) {
  .about-power .about-power-main .txt {
    margin-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .about-power .about-power-main .txt {
    margin-bottom: 40px;
  }
}
.about-power .about-power-main .txt .point-list {
  display: flex;
  margin: 32px auto;
  gap: 0 18px;
}
@media (max-width: 767px) {
  .about-power .about-power-main .txt .point-list {
    margin: 18px auto;
    gap: 0 2%;
  }
}
.about-power .about-power-main .txt p:last-child {
  margin-bottom: 0;
}
.about-power .about-power-main .img {
  margin-left: 5%;
  width: 37.5%;
}
.about-power .about-power-main .img img {
  width: 100%;
}
@media (max-width: 1024px) {
  .about-power .about-power-main .img {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: auto;
  }
  .about-power .about-power-main .img img {
    width: auto;
  }
}
@media (max-width: 767px) {
  .about-power .about-power-main .img {
    width: 54vw;
  }
}
.about-power .about-power-difference {
  background-color: #f4efe9;
  padding: 60px 60px;
}
@media (max-width: 767px) {
  .about-power .about-power-difference {
    padding: 25px 20px;
  }
}
.about-power .about-power-difference .tit-wrap {
  text-align: center;
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  .about-power .about-power-difference .tit-wrap {
    margin-bottom: 20px;
  }
}
.about-power .about-power-difference .tit-wrap h3 {
  font-size: 24px;
  font-weight: 500;
  display: inline-block;
  position: relative;
  padding: 0 60px;
}
@media (max-width: 767px) {
  .about-power .about-power-difference .tit-wrap h3 {
    font-size: 16px;
    padding: 0;
  }
}
.about-power .about-power-difference .tit-wrap h3::before, .about-power .about-power-difference .tit-wrap h3::after {
  content: "";
  background-color: #72605e;
  height: 1px;
  position: absolute;
  top: 50%;
  width: 50px;
}
@media (max-width: 767px) {
  .about-power .about-power-difference .tit-wrap h3::before, .about-power .about-power-difference .tit-wrap h3::after {
    content: none;
  }
}
.about-power .about-power-difference .tit-wrap h3::before {
  left: 0;
}
.about-power .about-power-difference .tit-wrap h3::after {
  right: 0;
}
.about-power .about-power-difference .boxs {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .about-power .about-power-difference .boxs {
    flex-direction: column;
    gap: 20px 0;
  }
}
.about-power .about-power-difference .box {
  border: 4px;
  background-color: #fff;
  padding: 50px 32px 40px;
  overflow: hidden;
  width: 48.2%;
}
@media (max-width: 1024px) {
  .about-power .about-power-difference .box {
    width: auto;
  }
}
@media (max-width: 767px) {
  .about-power .about-power-difference .box {
    padding: 25px 20px;
  }
}
.about-power .about-power-difference .box h4 {
  font-size: 21px;
  font-weight: normal;
  text-align: center;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .about-power .about-power-difference .box h4 {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
.about-power .about-power-difference .box .img {
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .about-power .about-power-difference .box .img {
    position: relative;
    margin: 0 -40px 20px;
  }
}
.about-power .about-power-difference .box p {
  font-size: 14px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .about-power .about-power-difference .box p {
    font-size: 12px;
  }
}

.about-future {
  background: #fff url(images/common/bg_1.png) repeat-x 50% 0;
  padding-top: 140px;
}
@media (max-width: 767px) {
  .about-future {
    padding-top: 80px;
  }
}
.about-future .before-after {
  display: flex;
  gap: 0 2px;
  position: relative;
  margin-top: 90px;
  width: 100%;
}
@media (max-width: 1024px) {
  .about-future .before-after {
    display: block;
  }
}
@media (max-width: 767px) {
  .about-future .before-after {
    margin-top: 40px;
  }
}
.about-future .before-after .arrow {
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
@media (max-width: 1024px) {
  .about-future .before-after .arrow {
    display: none;
  }
}
.about-future .before-after > div {
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 50%;
}
@media (max-width: 1024px) {
  .about-future .before-after > div {
    width: auto;
  }
}
.about-future .before-after > div h3 {
  color: #fff;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 20px;
  font-weight: normal;
  padding: 15px;
}
@media (max-width: 767px) {
  .about-future .before-after > div h3 {
    font-size: 16px;
    padding: 10px;
  }
}
.about-future .before-after > div .cont {
  flex: 1;
  padding: 25px 20px 70px;
}
@media (max-width: 767px) {
  .about-future .before-after > div .cont {
    padding: 20px 20px 60px;
  }
}
.about-future .before-after > div p {
  margin-bottom: 25px;
}
@media (max-width: 767px) {
  .about-future .before-after > div p {
    line-height: 1.8;
    margin-bottom: 20px;
  }
}
.about-future .before-after > div .img {
  border-radius: 16px;
  background-color: #fff;
  height: 370px;
  margin: 0 auto;
  padding-top: 35px;
  position: relative;
  width: 475px;
  max-width: 100%;
}
@media (max-width: 767px) {
  .about-future .before-after > div .img {
    border-radius: 10px;
    padding-top: 25px;
    height: 250px;
  }
}
.about-future .before-after > div .img img {
  display: inline-block;
}
.about-future .before-after > div .img p {
  color: #fff;
  border-radius: 4px;
  box-shadow: 4px 5px 5px rgba(0, 0, 0, 0.05);
  font-size: 15px;
  line-height: 1.5;
  position: absolute;
  margin-bottom: 0;
  left: 10%;
  right: 10%;
  bottom: 0;
  padding: 15px;
  transform: translateY(50%);
}
@media (max-width: 767px) {
  .about-future .before-after > div .img p {
    font-size: 12px;
    padding: 10px;
  }
}
.about-future .before-after .before h3 {
  background-color: #7d8b96;
  border-top-left-radius: 4px;
}
@media (max-width: 1024px) {
  .about-future .before-after .before h3 {
    border-top-right-radius: 4px;
  }
}
.about-future .before-after .before .cont {
  background-color: #eff4f7;
  border-bottom-left-radius: 4px;
}
@media (max-width: 1024px) {
  .about-future .before-after .before .cont {
    border-bottom-left-radius: 0;
  }
}
.about-future .before-after .before .img p {
  background-color: #7d8b96;
}
@media (max-width: 767px) {
  .about-future .before-after .before .img img {
    width: 76px;
  }
}
.about-future .before-after .after h3 {
  background-color: #c19d6a;
  border-top-right-radius: 4px;
}
@media (max-width: 1024px) {
  .about-future .before-after .after h3 {
    border-top-right-radius: 0;
  }
}
.about-future .before-after .after .cont {
  background-color: #f3ebe1;
  border-bottom-right-radius: 4px;
}
@media (max-width: 1024px) {
  .about-future .before-after .after .cont {
    border-bottom-left-radius: 4px;
  }
}
.about-future .before-after .after .img p {
  background-color: #c19d6a;
}
@media (max-width: 767px) {
  .about-future .before-after .after .img img {
    width: 80px;
  }
}

.about-effects {
  background-color: #fff;
  padding-top: 0;
}
@media (max-width: 767px) {
  .about-effects {
    padding-bottom: 30px;
  }
}
.about-effects .container {
  display: flex;
  align-items: center;
}
@media (max-width: 1024px) {
  .about-effects .container {
    display: block;
  }
}
.about-effects .txt {
  margin-right: 5%;
}
@media (max-width: 1024px) {
  .about-effects .txt {
    margin-right: auto;
  }
}
.about-effects .img {
  margin-left: auto;
}
@media (max-width: 1024px) {
  .about-effects .img {
    text-align: center;
  }
}

.about-reason {
  background: url(images/common/bg_2.png) repeat-x 50% 0;
  padding-top: 120px;
}
@media (max-width: 767px) {
  .about-reason {
    padding-top: 80px;
    width: 960px 15px;
  }
}
.about-reason .about-reason-list {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .about-reason .about-reason-list {
    display: block;
    margin-top: 40px;
  }
}
.about-reason .about-reason-list li {
  background-color: #fff;
  list-style-type: none;
  padding: 0;
  width: 31.1%;
}
@media (max-width: 767px) {
  .about-reason .about-reason-list li {
    margin-bottom: 25px;
    width: auto;
  }
  .about-reason .about-reason-list li:last-child {
    margin-bottom: 0;
  }
}
.about-reason .about-reason-list li .img-wrap {
  position: relative;
}
.about-reason .about-reason-list li .img-wrap .img {
  display: block;
  width: 100%;
}
.about-reason .about-reason-list li .img-wrap .num {
  position: absolute;
  left: 14px;
  bottom: -2px;
  display: block;
}
@media (max-width: 767px) {
  .about-reason .about-reason-list li .img-wrap .num {
    height: 35px;
    width: auto;
  }
}
.about-reason .about-reason-list li .cont {
  padding: 30px 38px;
}
@media (max-width: 1024px) {
  .about-reason .about-reason-list li .cont {
    padding: 20px;
  }
}
.about-reason .about-reason-list li .cont h3 {
  font-size: 22px;
  font-weight: normal;
  margin-bottom: 0.8em;
  line-height: 1.45;
  color: #c19d6a;
}
@media (max-width: 1024px) {
  .about-reason .about-reason-list li .cont h3 {
    font-size: 18px;
    margin-bottom: 0.65em;
  }
}
.about-reason .about-reason-list li .cont p {
  font-size: 15px;
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .about-reason .about-reason-list li .cont p {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .about-reason .about-reason-list li .cont p {
    font-size: 12px;
  }
}

.about-challenge {
  background: url(images/common/bg_3.png) repeat 0 0;
}
.about-challenge .container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .about-challenge .container {
    display: block;
  }
}
.about-challenge .txt {
  margin-top: 48px;
  margin-right: 5%;
}
@media (max-width: 1024px) {
  .about-challenge .txt {
    margin-right: 0;
    margin-top: 0;
  }
}
.about-challenge .img-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 54%;
}
@media (max-width: 1024px) {
  .about-challenge .img-wrap {
    width: auto;
  }
}
.about-challenge .img-wrap img {
  display: block;
  position: relative;
  width: 47%;
}
@media (max-width: 1024px) {
  .about-challenge .img-wrap img {
    width: 46%;
  }
}
.about-challenge .img-wrap img:first-child {
  margin-top: 48px;
}
@media (max-width: 1024px) {
  .about-challenge .img-wrap img:first-child {
    margin-top: 8%;
  }
}
.about-challenge .link {
  margin-top: 80px;
}
@media (max-width: 1024px) {
  .about-challenge .link {
    margin-top: 24px;
    margin-bottom: 50px;
  }
}
.about-challenge .link .btn-arrow-primary::before {
  background-color: #282828;
}

/* ==============================================
 12. Service
=============================================== */
.service-contents .heading-1 {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .service-contents .heading-1 {
    margin-bottom: 22px;
  }
}
.service-contents .heading-1 + p {
  text-align: center;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .service-contents .service-main {
    padding-top: 40px;
  }
}
.service-contents .service-main .block {
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .service-contents .service-main .block {
    margin-bottom: 55px;
  }
}
.service-contents .service-main .block.block-3 {
  margin-bottom: 0;
}
.service-contents .service-main .block .img {
  width: 65%;
}
@media (max-width: 767px) {
  .service-contents .service-main .block .img {
    float: none;
    margin-bottom: 2.5rem;
    width: auto;
  }
}
.service-contents .service-main .block .img.cf img {
  float: left;
  width: 46%;
}
@media (max-width: 767px) {
  .service-contents .service-main .block .img.cf img {
    width: 48%;
  }
}
.service-contents .service-main .block .img.cf img:last-child {
  float: right;
}
.service-contents .service-main .block .txt {
  width: 30%;
}
@media (max-width: 767px) {
  .service-contents .service-main .block .txt {
    float: none;
    width: auto;
  }
}
.service-contents .service-main .block .txt p:last-child {
  margin-bottom: 0;
}
.service-contents .service-flow {
  background-color: #fff;
}
@media (max-width: 767px) {
  .service-contents .service-flow {
    padding-bottom: 30px;
  }
}
.service-contents .service-flow .flow-list {
  display: flex;
}
@media (max-width: 767px) {
  .service-contents .service-flow .flow-list {
    flex-wrap: wrap;
  }
}
.service-contents .service-flow .flow-list li {
  margin-right: 3.333%;
  width: 22.5%;
}
@media (max-width: 767px) {
  .service-contents .service-flow .flow-list li {
    margin-bottom: 20px;
    margin-right: 4%;
    width: 48%;
  }
  .service-contents .service-flow .flow-list li:nth-child(even) {
    margin-right: auto;
  }
}
.service-contents .service-flow .flow-list li:last-child {
  margin-right: auto;
}
.service-contents .service-flow .flow-list li .img {
  text-align: center;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .service-contents .service-flow .flow-list li .img {
    margin-bottom: 12px;
  }
}
.service-contents .service-flow .flow-list li .txt h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 7px;
}
@media (max-width: 767px) {
  .service-contents .service-flow .flow-list li .txt h3 {
    font-size: 15px;
    margin-bottom: 5px;
  }
}
.service-contents .service-flow .flow-list li .txt p {
  line-height: 1.8;
}
@media (max-width: 767px) {
  .service-contents .service-flow .flow-list li .txt p {
    font-size: 12px;
    line-height: 1.6;
  }
}
.service-contents .service-private {
  padding-bottom: 0;
}
.service-contents .service-private .heading-2 {
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  .service-contents .service-private .heading-2 {
    margin-bottom: 25px;
  }
}
.service-contents .service-private .heading-2 + p {
  text-align: center;
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  .service-contents .service-private .heading-2 + p {
    text-align: left;
    margin-bottom: 40px;
  }
}
.service-contents .service-private .photo-list {
  display: flex;
  flex-wrap: wrap;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
@media (max-width: 1024px) {
  .service-contents .service-private .photo-list {
    display: block;
    margin: 0 auto;
  }
}
.service-contents .service-private .photo-list li {
  margin-bottom: 100px;
  padding: 0 1%;
  width: 20%;
}
@media (max-width: 1024px) {
  .service-contents .service-private .photo-list li {
    margin-bottom: 20px;
    width: 33.333%;
  }
}
@media (max-width: 767px) {
  .service-contents .service-private .photo-list li {
    margin-bottom: 10px;
    width: 50%;
  }
}
.service-contents .service-private h3 {
  font-size: 22px;
  text-align: center;
  font-weight: 500;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .service-contents .service-private h3 {
    font-size: 16px;
    margin-bottom: 30px;
  }
}
.service-contents .service-private h3 .tit-inner {
  display: inline-block;
  padding: 0 40px;
  height: 52px;
  line-height: 51px;
  position: relative;
}
@media (max-width: 767px) {
  .service-contents .service-private h3 .tit-inner {
    height: 46px;
    line-height: 45px;
  }
}
.service-contents .service-private h3 .tit-inner::before {
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 26px 20px 26px 0;
  left: -20px;
  top: 0;
}
@media (max-width: 767px) {
  .service-contents .service-private h3 .tit-inner::before {
    border-width: 23px 14px 23px 0;
    left: -14px;
  }
}
.service-contents .service-private h3 .tit-inner::after {
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 26px 0 26px 20px;
  right: -20px;
  top: 0;
}
@media (max-width: 767px) {
  .service-contents .service-private h3 .tit-inner::after {
    border-width: 23px 0 23px 14px;
    right: -14px;
  }
}
.service-contents .service-private h3 .tit-inner .tit-txt {
  position: relative;
  z-index: 1;
}
.service-contents .service-private__block-1 h3 {
  color: #fff;
}
.service-contents .service-private__block-1 h3 .tit-inner {
  background-color: #282828;
}
.service-contents .service-private__block-1 h3 .tit-inner::before {
  border-color: transparent #282828 transparent transparent;
}
.service-contents .service-private__block-1 h3 .tit-inner::after {
  border-color: transparent transparent transparent #282828;
}
.service-contents .service-private__block-2 {
  background-color: #282828;
  padding-top: 90px;
  padding-bottom: 40px;
}
@media (max-width: 767px) {
  .service-contents .service-private__block-2 {
    padding-top: 50px;
    margin-top: 50px;
  }
}
.service-contents .service-private__block-2 h3 .tit-inner {
  background-color: #fff;
}
.service-contents .service-private__block-2 h3 .tit-inner::before {
  border-color: transparent #fff transparent transparent;
}
.service-contents .service-private__block-2 h3 .tit-inner::after {
  border-color: transparent transparent transparent #fff;
}
.service-contents .service-onkatsu {
  background-color: #fff;
  border-bottom: 1px solid #e4dfdb;
}
.service-contents .service-onkatsu .heading-2 {
  font-size: 38px;
  padding-bottom: 25px;
  position: relative;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .heading-2 {
    font-size: 25px;
    padding-bottom: 20px;
  }
}
.service-contents .service-onkatsu .heading-2::after {
  background-color: #c19d6a;
  content: "";
  height: 2px;
  margin-left: -25px;
  left: 50%;
  bottom: 0;
  position: absolute;
  width: 50px;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .heading-2::after {
    margin-left: -15px;
    width: 30px;
  }
}
.service-contents .service-onkatsu .heading-2 .icon {
  background-color: #c19d6a;
  color: #fff;
  display: inline-block;
  margin-bottom: 15px;
  font-size: 52%;
  letter-spacing: 0.1em;
  padding: 6px 20px;
  white-space: nowrap;
}
.service-contents .service-onkatsu .block {
  padding: 0 0 40px;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .block {
    padding: 0;
    margin-bottom: 60px;
  }
}
.service-contents .service-onkatsu .block .img {
  float: left;
  text-align: center;
  width: 35%;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .block .img {
    float: none;
    margin-bottom: 20px;
    width: auto;
  }
}
.service-contents .service-onkatsu .block .img img {
  width: 100%;
}
.service-contents .service-onkatsu .block .txt {
  float: right;
  width: 60%;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .block .txt {
    float: none;
    width: auto;
  }
}
.service-contents .service-onkatsu .block .txt .tit {
  border-bottom: 1px solid #e4dfdb;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 18px;
  padding-bottom: 18px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .block .txt .tit {
    border-bottom: none;
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 14px;
    padding-bottom: 0;
  }
}
.service-contents .service-onkatsu .block .txt p {
  line-height: 1.85;
  margin-bottom: 14px;
  letter-spacing: 0.02em;
  margin-bottom: 0;
}
.service-contents .service-onkatsu .block.even {
  padding-top: 40px;
  padding-bottom: 0;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .block.even {
    padding-top: 0;
    margin-bottom: 0;
  }
}
.service-contents .service-onkatsu .block.even .img {
  float: right;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .block.even .img {
    float: none;
  }
}
.service-contents .service-onkatsu .block.even .txt {
  float: left;
}
@media (max-width: 767px) {
  .service-contents .service-onkatsu .block.even .txt {
    float: none;
  }
}

/* ==============================================
 14. therapist
=============================================== */
@media (max-width: 767px) {
  .therapist-contents .heading-1 {
    margin-bottom: 40px;
  }
}
.therapist-contents .therapist-main {
  padding-top: 0;
}
.therapist-contents .therapist-main .therapist-list {
  display: flex;
  flex-wrap: wrap;
}
.therapist-contents .therapist-main .therapist-list li {
  line-height: 1.5;
  margin-right: 5%;
  margin-bottom: 60px;
  text-align: center;
  width: 30%;
}
.therapist-contents .therapist-main .therapist-list li:nth-child(3n) {
  margin-right: auto;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-main .therapist-list li {
    margin-bottom: 40px;
    margin-right: auto;
    width: auto;
  }
}
.therapist-contents .therapist-main .therapist-list li .img {
  background: #fff;
  display: block;
  padding: 5px;
}
.therapist-contents .therapist-main .therapist-list li .img img {
  width: 100%;
}
.therapist-contents .therapist-main .therapist-list li .position {
  display: block;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.therapist-contents .therapist-main .therapist-list li .name {
  display: block;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-main .therapist-list li .name {
    margin-bottom: 10px;
  }
}
.therapist-contents .therapist-detail {
  padding-top: 50px;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail {
    padding-top: 20px;
  }
}
.therapist-contents .therapist-detail .inner {
  background-color: #fff;
  padding: 60px;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .inner {
    padding: 0;
  }
}
.therapist-contents .therapist-detail .img {
  float: left;
  position: relative;
  width: 48%;
}
.therapist-contents .therapist-detail .img .slick-slide img {
  width: 100%;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .img {
    float: none;
    margin-bottom: 30px;
    width: auto;
  }
}
.therapist-contents .therapist-detail .img .slick-dotted.slick-slider {
  margin-bottom: 0;
}
.therapist-contents .therapist-detail .img .link-instagram {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 1;
}
.therapist-contents .therapist-detail .img .link-instagram img {
  width: 40px;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .img .link-instagram {
    bottom: 15px;
    right: 15px;
  }
  .therapist-contents .therapist-detail .img .link-instagram img {
    width: 30px;
  }
}
.therapist-contents .therapist-detail .img .slick-dots {
  bottom: 20px;
  z-index: 1;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .img .slick-dots {
    bottom: 10px;
  }
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .img .slick-dots li {
    margin: 0 1px;
  }
}
.therapist-contents .therapist-detail .img .slick-dots li button:before {
  color: #fff;
}
.therapist-contents .therapist-detail .txt {
  float: right;
  width: 48%;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .txt {
    float: none;
    padding: 0 20px 0;
    width: auto;
  }
}
.therapist-contents .therapist-detail .txt .position {
  font-size: 18px;
  font-family: "Cardo", serif;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 8px;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .txt .position {
    font-size: 14px;
    margin-bottom: 4px;
  }
}
.therapist-contents .therapist-detail .txt .name {
  color: #c19d6a;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-bottom: 25px;
  margin-bottom: 28px;
  position: relative;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .txt .name {
    font-size: 22px;
    padding-bottom: 18px;
    margin-bottom: 20px;
  }
}
.therapist-contents .therapist-detail .txt .name::after {
  background-color: #282828;
  content: "";
  left: 0;
  bottom: 0;
  position: absolute;
  height: 1px;
  width: 30px;
}
.therapist-contents .therapist-detail .txt h4 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
  margin-top: 32px;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .txt h4 {
    font-size: 14px;
    font-weight: 600;
    margin-top: 28px;
    margin-bottom: 10px;
  }
}
.therapist-contents .therapist-detail .txt p {
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .txt p {
    line-height: 1.7;
  }
}
.therapist-contents .therapist-detail .instagram-link {
  clear: both;
  margin: 80px auto 60px;
  text-align: center;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .instagram-link {
    margin: 40px auto 30px;
  }
  .therapist-contents .therapist-detail .instagram-link img {
    width: 32px;
  }
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .photo-gallery {
    padding: 0 16px;
  }
}
.therapist-contents .therapist-detail .photo-gallery .photo-list {
  display: flex;
  flex-wrap: wrap;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
@media (max-width: 1024px) {
  .therapist-contents .therapist-detail .photo-gallery .photo-list {
    display: block;
    margin: 0 auto;
  }
}
.therapist-contents .therapist-detail .photo-gallery .photo-list li {
  margin-bottom: 60px;
  padding: 0 1.4%;
  width: 20%;
}
@media (max-width: 1024px) {
  .therapist-contents .therapist-detail .photo-gallery .photo-list li {
    margin-bottom: 10px;
    width: 33.333%;
  }
}
.therapist-contents .therapist-detail .btn-area {
  margin-top: 40px;
  text-align: right;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .btn-area {
    margin-top: 0;
    padding: 30px 20px;
  }
}
.therapist-contents .therapist-detail .btn-area .btn {
  background: url("images/arrow01.png") no-repeat right 0 top 50%;
  background-size: 23px 23px;
  font-size: 16px;
  display: inline-block;
  padding-right: 32px;
}
@media (max-width: 767px) {
  .therapist-contents .therapist-detail .btn-area .btn {
    background-size: 18px 18px;
    font-size: 14px;
    padding-right: 25px;
  }
}

/* ==============================================
 15. Price
=============================================== */
@media (max-width: 767px) {
  .price-contents .heading-1 {
    margin-bottom: 40px;
  }
}
.price-contents .price-main {
  padding-top: 0;
}
.price-contents .price-main .inner {
  max-width: 980px;
}
.price-contents .price-main .cap {
  margin-bottom: 5rem;
}
.price-contents .price-main .cap li {
  font-size: 13px;
  text-indent: -1em;
  padding-left: 1em;
}
@media (max-width: 767px) {
  .price-contents .price-main .cap li {
    font-size: 11px;
  }
}
.price-contents .price-main .block {
  margin-bottom: 40px;
}
.price-contents .price-main .block.last {
  margin-bottom: 30px;
}
.price-contents .price-main .block .block-inner {
  background-color: #fff;
  -ms-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.02);
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.02);
  border-radius: 4px;
}
.price-contents .price-main .block .note {
  font-size: 13px;
  line-height: 1.7;
  margin-top: 14px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .note {
    font-size: 12px;
  }
}
.price-contents .price-main .block .block-header {
  border-bottom: 1px solid #c19d6a;
  padding: 24px 35px;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .block-header {
    padding: 18px 15px;
  }
}
.price-contents .price-main .block .block-header p {
  line-height: 1.8;
  padding: 14px 0 0;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .block-header p {
    font-size: 13px;
    padding-top: 10px;
    line-height: 1.7;
  }
}
.price-contents .price-main .block h3 {
  color: #c19d6a;
  font-size: 24px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .price-contents .price-main .block h3 {
    font-size: 17px;
  }
}
.price-contents .price-main .block .price-table {
  width: 100%;
}
.price-contents .price-main .block .price-table tbody tr.no-border th,
.price-contents .price-main .block .price-table tbody tr.no-border td {
  border-bottom: none;
}
.price-contents .price-main .block .price-table th {
  border-bottom: 1px solid #f1ebe4;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  padding: 18px 15px 18px 35px;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .price-table th {
    font-size: 14px;
    padding: 18px 10px 18px 15px;
    width: auto;
  }
}
.price-contents .price-main .block .price-table th small {
  letter-spacing: 0.02em;
  font-size: 70%;
  margin-left: 1em;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .price-table th small {
    margin-left: auto;
    display: block;
  }
}
.price-contents .price-main .block .price-table th .popular-icon {
  background-color: #f8b62d;
  color: #fff;
  font-size: 85%;
  display: inline-block;
  margin-left: 1em;
  padding: 4px 12px;
  white-space: nowrap;
  border-radius: 40px;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .price-table th .popular-icon {
    font-size: 80%;
    padding: 4px 10px;
    margin-left: 0.75em;
  }
}
.price-contents .price-main .block .price-table td {
  border-bottom: 1px solid #f1ebe4;
  font-size: 18px;
  line-height: 1.5;
  text-align: right;
  vertical-align: middle;
}
.price-contents .price-main .block .price-table td.price {
  color: #262727;
  font-size: 25px;
  padding: 14px 35px 18px;
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .price-table td.price {
    font-size: 16px;
    padding: 14px 15px 16px;
  }
}
.price-contents .price-main .block .price-table td.price .free-label {
  font-size: 18px;
  color: #fff;
  background-color: #c19d6a;
  text-align: center;
  display: inline-block;
  line-height: 1.3;
  padding: 4px;
  width: 4em;
  white-space: nowrap;
  vertical-align: bottom;
  border-radius: 30px;
}
@media (max-width: 767px) {
  .price-contents .price-main .block .price-table td.price .free-label {
    font-size: 15px;
  }
}
.price-contents .price-main .block .price-table td .tax-in {
  font-size: 70%;
  margin-left: 0.5em;
}
@media (max-width: 340px) {
  .price-contents .price-main .block .price-table td .tax-in {
    display: block;
    margin-left: auto;
  }
}
.price-contents .price-main .block .price-table td .tax-in small {
  font-size: 86%;
}
.price-contents .price-main .price-service-table {
  padding: 10px 35px 20px;
}
@media (max-width: 767px) {
  .price-contents .price-main .price-service-table {
    padding: 0 15px 15px;
  }
}
.price-contents .price-main .price-service-table .table-scroll {
  overflow-x: auto;
}
.price-contents .price-main .price-service-table table {
  white-space: nowrap;
  width: 100%;
}
.price-contents .price-main .price-service-table table thead th {
  background-color: #fff;
  font-weight: 500;
  padding: 10px 0 10px;
  font-size: 14px;
  text-align: center;
  vertical-align: bottom;
}
.price-contents .price-main .price-service-table table thead th .txt-vertical {
  display: inline-block;
  letter-spacing: 0;
  writing-mode: vertical-rl;
}
@media (max-width: 767px) {
  .price-contents .price-main .price-service-table table thead th {
    font-size: 12px;
  }
  .price-contents .price-main .price-service-table table thead th.space {
    position: sticky;
    left: 0;
    z-index: 1;
  }
}
.price-contents .price-main .price-service-table table tbody tr:nth-child(odd) th,
.price-contents .price-main .price-service-table table tbody tr:nth-child(odd) td {
  background-color: #f8f5f1;
}
.price-contents .price-main .price-service-table table tbody th {
  background-color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  padding: 18px 0 18px 20px;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .price-contents .price-main .price-service-table table tbody th {
    font-size: 12px;
    padding: 14px 0 14px 10px;
    position: sticky;
    left: 0;
    z-index: 1;
  }
}
.price-contents .price-main .price-service-table table tbody td {
  background-color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  padding: 18px 12px;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .price-contents .price-main .price-service-table table tbody td {
    font-size: 12px;
    padding: 14px 10px;
  }
}
.price-contents .price-main .box {
  background-color: #fff;
  margin-bottom: 40px;
  -ms-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.02);
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.02);
  border-radius: 4px;
  padding: 22px 40px 35px;
}
@media (max-width: 767px) {
  .price-contents .price-main .box {
    padding: 18px 15px 20px;
  }
}
.price-contents .price-main .box.fl-left, .price-contents .price-main .box.fl-right {
  width: 48%;
}
@media (max-width: 767px) {
  .price-contents .price-main .box.fl-left, .price-contents .price-main .box.fl-right {
    float: none;
    width: auto;
  }
}
.price-contents .price-main .box h3 {
  border-bottom: 1px solid #c19d6a;
  color: #c19d6a;
  font-size: 20px;
  font-weight: 500;
  padding-bottom: 22px;
  text-align: center;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .price-contents .price-main .box h3 {
    font-size: 16px;
    padding-bottom: 16px;
    margin-bottom: 18px;
  }
}
.price-contents .price-main .box p {
  line-height: 1.75;
}
@media (max-width: 767px) {
  .price-contents .price-main .box p {
    font-size: 13px;
  }
}
.price-contents .price-main .box p:last-child {
  margin-bottom: 0;
}
.price-contents .price-main .box p a {
  text-decoration: underline;
  color: #c19d6a;
}
.price-contents .price-main .box p a:hover {
  text-decoration: none;
}
.price-contents .price-main .price-payment {
  text-align: center;
}
.price-contents .price-main .price-payment .payment-icons {
  text-align: center;
}
.price-contents .price-main .price-note ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 24px;
}
.price-contents .price-main .price-note ol li {
  position: relative;
  padding-left: 2em;
  margin: 0.25rem 0;
}
@media (max-width: 767px) {
  .price-contents .price-main .price-note ol li {
    font-size: 13px;
  }
}
.price-contents .price-main .price-note ol li::before {
  counter-increment: item;
  content: counter(item);
  position: absolute;
  top: 0;
  left: 0.15em;
}

_::-webkit-full-page-media, _:future, :root .price-contents .price-main .price-service-table table thead th .txt-vertical {
  letter-spacing: 0.2em;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  ::i-block-chrome, .price-contents .price-main .price-service-table table thead th .txt-vertical {
    letter-spacing: 0.2em;
  }
}
/* ==============================================
 16. Access
=============================================== */
.access-contents .heading-1 {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .access-contents .heading-1 {
    margin-bottom: 30px;
  }
}
.access-contents .access-main {
  padding-top: 0;
}
.access-contents .access-main .shop-link {
  border-bottom: 1px solid #282828;
  margin: 0 auto 40px;
}
@media (max-width: 767px) {
  .access-contents .access-main .shop-link {
    margin-bottom: 30px;
  }
}
.access-contents .access-main .shop-link ul {
  display: flex;
  justify-content: space-around;
  max-width: 640px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.access-contents .access-main .shop-link ul li {
  display: flex;
  align-items: flex-end;
  width: 44%;
}
@media (max-width: 767px) {
  .access-contents .access-main .shop-link ul li {
    width: 47%;
  }
}
.access-contents .access-main .shop-link ul li a {
  background-color: rgba(193, 157, 106, 0.2);
  display: block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 12px 20px;
  position: relative;
  width: 100%;
}
@media (max-width: 767px) {
  .access-contents .access-main .shop-link ul li a {
    font-size: 13px;
    padding: 10px 20px;
  }
}
.access-contents .access-main .shop-link ul li a.active {
  color: #fff;
  background-color: #282828;
  padding: 16px 20px;
  font-size: 18px;
}
@media (max-width: 767px) {
  .access-contents .access-main .shop-link ul li a.active {
    font-size: 15px;
    padding: 13px 20px;
  }
}
.access-contents .access-main .inner {
  max-width: 980px;
}
.access-contents .access-main .access-map {
  margin-bottom: 90px;
  width: 60%;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-map {
    float: none;
    margin-bottom: 40px;
    width: auto;
  }
}
.access-contents .access-main .access-map .ggmap {
  position: relative;
  padding-bottom: 100%;
  padding-top: 150px;
  height: 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-map .ggmap {
    padding-bottom: 85.25%;
    padding-top: 30px;
  }
}
.access-contents .access-main .access-map .ggmap iframe,
.access-contents .access-main .access-map .ggmap object,
.access-contents .access-main .access-map .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.access-contents .access-main .access-info {
  margin-bottom: 90px;
  width: 34.5%;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-info {
    float: none;
    margin-bottom: 50px;
    width: auto;
  }
}
.access-contents .access-main .access-info .access-img {
  margin-bottom: 30px;
}
.access-contents .access-main .access-info .access-logo {
  text-align: center;
  margin-bottom: 20px;
}
.access-contents .access-main .access-info .access-logo img {
  width: 246px;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-info .access-logo img {
    width: 190px;
  }
}
.access-contents .access-main .access-info .access-address {
  font-style: normal;
  line-height: 1.7;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-info .access-address {
    display: flex;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .access-contents .access-main .access-info .access-tel {
    font-size: 14px;
    display: flex;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
  }
}
.access-contents .access-main .access-info .access-tel .wrap {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
.access-contents .access-main .access-info .access-tel .tel {
  margin-right: 1.8rem;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-info .access-tel .tel {
    margin-right: 2rem;
  }
}
.access-contents .access-main .access-info .access-tel .tel a {
  background: url("images/footer_icon_tel.png") no-repeat 0 0;
  background-size: 34px 34px;
  display: inline-block;
  line-height: 1.4;
  padding: 6px 0 6px 43px;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-info .access-tel .tel a {
    background-size: 24px 24px;
    padding: 3px 0 4px 32px;
  }
}
.access-contents .access-main .access-info .access-tel .time span {
  background: url("images/footer_icon_time.png") no-repeat 0 0;
  background-size: 34px 34px;
  display: inline-block;
  line-height: 1.4;
  padding: 6px 0 6px 43px;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-info .access-tel .time span {
    background-size: 24px 24px;
    padding: 3px 0 4px 32px;
  }
}
.access-contents .access-main .access-route h3 {
  font-size: 26px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 45px;
  padding-bottom: 2rem;
  position: relative;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-route h3 {
    font-size: 18px;
    padding-bottom: 1.5rem;
    margin-bottom: 30px;
  }
}
.access-contents .access-main .access-route h3::after {
  content: "";
  background-color: #282828;
  height: 1px;
  bottom: 0;
  left: 50%;
  margin-left: -20px;
  position: absolute;
  width: 40px;
}
.access-contents .access-main .access-route ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-route ul {
    display: block;
  }
}
.access-contents .access-main .access-route ul li {
  margin-bottom: 25px;
  margin-right: 4%;
  width: 48%;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-route ul li {
    margin-bottom: 40px;
    margin-right: auto;
    width: auto;
  }
}
.access-contents .access-main .access-route ul li:nth-child(even) {
  margin-right: auto;
}
.access-contents .access-main .access-route ul li .wrap {
  position: relative;
  margin-bottom: 1rem;
}
.access-contents .access-main .access-route ul li .wrap img {
  width: 100%;
}
.access-contents .access-main .access-route ul li .wrap .num {
  background-color: #282828;
  color: #fff;
  display: inline-block;
  position: absolute;
  z-index: 1;
  height: 33px;
  text-align: center;
  line-height: 33px;
  width: 33px;
}
.access-contents .access-main .access-guide {
  border-left: 1px solid #e4dfdb;
  display: table;
  margin-top: 50px;
  width: 100%;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-guide {
    border-left: none;
    display: block;
  }
}
.access-contents .access-main .access-guide .col {
  border-right: 1px solid #e4dfdb;
  display: table-cell;
  text-align: center;
  padding: 0 5%;
  width: 50%;
  vertical-align: top;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-guide .col {
    border-right: none;
    display: block;
    padding: 0;
    width: auto;
  }
  .access-contents .access-main .access-guide .col:first-child {
    border-bottom: 1px solid #e4dfdb;
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
}
.access-contents .access-main .access-guide .col h4 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 16px;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .access-contents .access-main .access-guide .col h4 {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
.access-contents .access-main .access-guide .col h4 .icon {
  display: inline-block;
  background-position: 0 50%;
  background-repeat: no-repeat;
  padding: 3px 0 4px 44px;
}
.access-contents .access-main .access-guide .col h4 .icon-car {
  background-image: url("images/icon_car.png");
  background-size: 34px 23px;
}
.access-contents .access-main .access-guide .col h4 .icon-luup {
  background-image: url("images/icon_luup.png");
  background-size: 34px 26px;
}
.access-contents .access-main .access-guide .col p {
  line-height: 1.8;
  margin-bottom: 0;
}

/* ==============================================
 17. Recruit
=============================================== */
.page-template-page-recruit .wrapper {
  padding-top: 100px;
}
@media (max-width: 1024px) {
  .page-template-page-recruit .wrapper {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .page-template-page-recruit .wrapper {
    padding-top: 54px;
  }
}
.page-template-page-recruit .site-header .container {
  height: 100px;
}
@media (max-width: 1024px) {
  .page-template-page-recruit .site-header .container {
    height: 80px;
  }
}
@media (max-width: 767px) {
  .page-template-page-recruit .site-header .container {
    height: 54px;
  }
}
.page-template-page-recruit .site-header .header_left {
  margin-right: 20px;
}
.page-template-page-recruit .site-header .header_right {
  display: flex;
  align-items: center;
  margin-left: auto;
}
@media (max-width: 767px) {
  .page-template-page-recruit .site-header .header__logo {
    position: absolute;
    left: 50%;
    left: 15px;
    transform: translate(0%, -50%);
  }
}
.page-template-page-recruit .site-header .header__logo img {
  padding-top: 0.2em;
  display: block;
  width: 200px;
}
@media (max-width: 1024px) {
  .page-template-page-recruit .site-header .header__logo img {
    width: 146px;
  }
}
@media (max-width: 767px) {
  .page-template-page-recruit .site-header .header__logo img {
    width: 130px;
  }
}

.recruit-header-navigation {
  border-top: 1px solid #e8e8e8;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
}
.recruit-header-navigation-list {
  display: flex;
  padding: 15px 0;
  overflow: auto;
}
@media (max-width: 767px) {
  .recruit-header-navigation-list {
    padding: 12px 0;
  }
}
.recruit-header-navigation-list li {
  padding: 0 18px;
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .recruit-header-navigation-list li {
    padding: 0 14px;
  }
}
.recruit-header-navigation-list li:not(:last-child)::after {
  content: "";
  background-color: #bbb;
  height: 16px;
  position: absolute;
  right: -1px;
  top: 50%;
  margin-top: -8px;
  width: 1px;
  transform: rotate(35deg);
}
@media (max-width: 767px) {
  .recruit-header-navigation-list li:not(:last-child)::after {
    height: 14px;
    margin-top: -6px;
  }
}
.recruit-header-navigation-list li a {
  display: block;
  font-size: 15px;
  letter-spacing: 0;
  white-space: nowrap;
  will-change: transform;
  transform: translateZ(0);
}
@media (max-width: 767px) {
  .recruit-header-navigation-list li a {
    font-size: 12px;
    transition: none;
  }
}

.recruit-contents {
  color: #1e1e1e;
  letter-spacing: 0.02em;
}
.recruit-contents p {
  line-height: 1.85;
}

.recruit-mv {
  position: relative;
  overflow: hidden;
}
.recruit-mv .mv-img {
  display: block;
  width: 100%;
}
.recruit-mv .mv-copy {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1200ms ease-out, transform 1200ms ease-out;
  transition-delay: 800ms;
}
.recruit-mv .mv-copy-wrapper {
  padding: 0 40px;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 9%;
  z-index: 1;
}
@media (max-width: 767px) {
  .recruit-mv .mv-copy-wrapper {
    padding: 0 20px;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }
}
.recruit-mv .mv-copy p {
  color: #f8f5f0;
  font-size: clamp(16px, 1.3vw, 21px);
  line-height: 1.74;
  margin-bottom: 1.2vw;
}
@media (max-width: 767px) {
  .recruit-mv .mv-copy p {
    font-size: 12px;
    margin-bottom: 0;
  }
  .recruit-mv .mv-copy p .txt-l {
    font-size: 16px;
  }
  .recruit-mv .mv-copy p:not(:last-child) {
    margin-bottom: 18px;
  }
}
.recruit-mv .mv-copy p img {
  display: block;
  width: clamp(640px, 60vw, 1059px);
}
@media (max-width: 767px) {
  .recruit-mv .mv-copy p img {
    width: clamp(280px, 88vw, 540vw);
  }
}

.is-show-start .recruit-mv .mv-copy {
  transform: translateY(0);
  opacity: 1;
}

.recruit-top {
  background-color: #ffffff;
  padding-top: 230px;
  padding-bottom: 390px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .recruit-top {
    padding-top: 32vw;
    padding-bottom: 18vw;
  }
}
.recruit-top .container {
  max-width: 1340px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  padding: 0;
}
.recruit-top p {
  margin-bottom: 0;
  opacity: 0;
  transform: translateY(20px);
  position: relative;
  z-index: 3;
}
.recruit-top p img {
  width: clamp(100px, 10vw, 142px);
}
.recruit-top .img {
  display: block;
  opacity: 0;
  transform: translateY(20px);
  position: absolute;
}
.recruit-top .img-1 {
  left: 0;
  top: 37%;
  z-index: 1;
}
.recruit-top .img-2 {
  right: 0;
  top: -100px;
  z-index: 1;
}
.recruit-top .img-3 {
  top: 340px;
  right: 50%;
  margin-right: -370px;
  z-index: 2;
}
@media screen and (max-width: 1380px) {
  .recruit-top .img-1 {
    top: 10vw;
    width: clamp(60px, 32vw, 424px);
  }
  .recruit-top .img-2 {
    top: -6vw;
    width: clamp(60px, 32vw, 424px);
  }
  .recruit-top .img-3 {
    top: 27vw;
    right: 24%;
    margin-right: auto;
    width: clamp(30px, 15vw, 240px);
  }
}
@media (max-width: 767px) {
  .recruit-top .img-1 {
    width: 26vw;
  }
  .recruit-top .img-2 {
    top: -8vw;
    width: 26vw;
  }
  .recruit-top .img-3 {
    top: 47vw;
    right: 3vw;
    width: 16vw;
  }
}
.recruit-top.scrollin p, .recruit-top.scrollin .img {
  animation-name: recruitFadeIn;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
}
.recruit-top.scrollin .img-1 {
  animation-delay: 700ms;
}
.recruit-top.scrollin .img-2 {
  animation-delay: 900ms;
}
.recruit-top.scrollin .img-3 {
  animation-delay: 1200ms;
}

.recruit-our {
  background: url(images/recruit/our_bg_pc.jpg) no-repeat center center;
  background-size: cover;
  padding-top: 180px;
  padding-bottom: 180px;
}
@media (max-width: 767px) {
  .recruit-our {
    background-image: url(images/recruit/our_bg_sp.jpg);
    padding-top: 70px;
    padding-bottom: 120px;
  }
}
.recruit-our .container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
}
.recruit-our p {
  color: #fff;
  line-height: 2.2;
  opacity: 0;
  transform: translateY(20px);
}
@media (max-width: 767px) {
  .recruit-our p {
    line-height: 1.9;
  }
}
.recruit-our .fukidashi {
  position: relative;
  margin-left: -15px;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .recruit-our .fukidashi {
    margin-left: -10px;
    margin-bottom: 10px;
  }
  .recruit-our .fukidashi img {
    width: 200px;
  }
}
.recruit-our .link {
  margin-bottom: 0;
}
.recruit-our .link a {
  color: #fff;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
@media (max-width: 340px) {
  .recruit-our .link a {
    display: inline-block;
  }
}
.recruit-our .link a .link-txt {
  text-decoration: underline;
}
.recruit-our .link a:hover .link-txt {
  text-decoration: none;
}
.recruit-our .link a .link-en {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  margin-top: 0.2em;
}
@media (max-width: 767px) {
  .recruit-our .link a .link-en {
    font-size: 12px;
  }
}
.recruit-our .link a .link-en::before {
  background: #fff url(images/recruit/arrow_next.png) no-repeat center center;
  background-size: 19px 14px;
  height: 54px;
  content: "";
  display: block;
  margin: 0 10px;
  width: 54px;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .recruit-our .link a .link-en::before {
    background-size: 15px 11px;
    height: 38px;
    margin: 0 6px;
    width: 38px;
  }
}
@media (max-width: 340px) {
  .recruit-our .link a .link-en::before {
    margin-left: 0;
  }
}
.recruit-our.scrollin p {
  animation-name: recruitFadeIn;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
}

.recruit-about {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .recruit-about {
    margin-bottom: 20px;
  }
}
.recruit-about .container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
}
.recruit-about .tit-en {
  margin-bottom: 54px;
}
@media (max-width: 767px) {
  .recruit-about .tit-en {
    margin-bottom: 34px;
  }
}
.recruit-about .recruit-about-main {
  display: flex;
  margin-bottom: 90px;
}
@media (max-width: 767px) {
  .recruit-about .recruit-about-main {
    margin-bottom: 30px;
  }
}
.recruit-about .recruit-about-main h2 {
  font-size: 24px;
  font-weight: 500;
  text-align: left;
  padding-left: 6.5%;
  padding-top: 0.5em;
  width: 22%;
}
.recruit-about .recruit-about-main h2 .tit-txt {
  display: inline-block;
  position: relative;
  padding-top: 57px;
}
.recruit-about .recruit-about-main h2 .tit-txt::before {
  background-color: #1e1e1e;
  content: "";
  height: 48px;
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
}
@media (max-width: 767px) {
  .recruit-about .recruit-about-main h2 {
    padding-left: 3%;
    padding-top: 0.2em;
    width: 17%;
  }
  .recruit-about .recruit-about-main h2 .tit-txt {
    padding-top: 50px;
  }
  .recruit-about .recruit-about-main h2 .tit-txt::before {
    height: 44px;
  }
  .recruit-about .recruit-about-main h2 .tit-txt img {
    width: 17px;
  }
}
.recruit-about .txt {
  flex: 1;
  min-width: 0;
}
.recruit-about .txt p {
  line-height: 1.9;
  letter-spacing: 0.06em;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .recruit-about .txt p {
    line-height: 1.8;
    margin-bottom: 18px;
  }
}
.recruit-about .recruit-about-slider .slide {
  padding: 0 14px;
}
@media (max-width: 767px) {
  .recruit-about .recruit-about-slider .slide {
    padding: 0 4px;
  }
}
.recruit-about .recruit-about-slider .slide img {
  display: block;
  backface-visibility: hidden;
  width: 100%;
}

.recruit-important {
  position: relative;
}
.recruit-important::after {
  background-color: #fff;
  content: "";
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  width: 50%;
}
.recruit-important .recruit-important-contents {
  background-color: #fff;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 1px;
  position: relative;
}
.recruit-important .recruit-important-contents .tit-en {
  position: relative;
  margin-top: -50px;
  margin-bottom: 55px;
  padding-left: 8%;
  z-index: 1;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-contents .tit-en {
    margin-top: -6vw;
    margin-bottom: 34px;
  }
}
.recruit-important .recruit-important-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding-right: 0;
  padding-left: 8%;
  margin-right: -80px;
  z-index: 1;
}
@media screen and (max-width: 1600px) {
  .recruit-important .recruit-important-main {
    padding-right: 0;
  }
}
@media (max-width: 1024px) {
  .recruit-important .recruit-important-main {
    margin-right: -40px;
  }
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-main {
    display: block;
    padding-right: 2%;
    margin-right: 0;
  }
}
.recruit-important .recruit-important-main .txt {
  width: 39%;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-main .txt {
    width: auto;
  }
}
.recruit-important .recruit-important-main .txt h2 {
  margin-bottom: 38px;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-main .txt h2 {
    margin-bottom: 24px;
  }
  .recruit-important .recruit-important-main .txt h2 img {
    width: 220px;
  }
}
.recruit-important .recruit-important-main .img {
  width: 55%;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-main .img {
    margin-top: 30px;
    width: auto;
  }
}
.recruit-important .recruit-important-main .img img {
  display: block;
  width: 100%;
}
.recruit-important .recruit-important-point {
  padding: 120px 20px 100px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-point {
    padding: 60px 2% 20px 8%;
  }
}
.recruit-important .recruit-important-point h3 {
  font-size: 25px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 60px;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}
@media (max-width: 1024px) {
  .recruit-important .recruit-important-point h3 {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-point h3 {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
.recruit-important .recruit-important-point h3 .tit-txt {
  display: inline-block;
  position: relative;
  padding: 0 0.2em 0 0.85em;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-point h3 .tit-txt {
    padding: 0 0.4em;
  }
}
.recruit-important .recruit-important-point h3 .tit-txt::before, .recruit-important .recruit-important-point h3 .tit-txt::after {
  background-color: currentColor;
  content: "";
  height: 1.4em;
  position: absolute;
  bottom: -0.1em;
  width: 1px;
}
.recruit-important .recruit-important-point h3 .tit-txt::before {
  left: 0;
  transform: rotate(-20deg);
}
.recruit-important .recruit-important-point h3 .tit-txt::after {
  right: 0;
  transform: rotate(20deg);
}
.recruit-important .recruit-important-point .point-list {
  max-width: 980px;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-point .point-list {
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
}
.recruit-important .recruit-important-point .point-list li {
  padding: 0 10px;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-point .point-list li {
    padding: 10px;
    width: 50%;
  }
  .recruit-important .recruit-important-point .point-list li img {
    width: 100%;
  }
}
.recruit-important .recruit-important-message {
  text-align: center;
}
.recruit-important .recruit-important-message p {
  line-height: 1.8;
}
.recruit-important .recruit-important-message p:first-child {
  line-height: 1.6;
}
.recruit-important .recruit-important-message p strong {
  font-weight: 600;
  font-size: 29px;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-message p strong {
    font-size: 18px;
  }
}
.recruit-important .recruit-important-message p b {
  font-weight: 600;
  font-size: 20px;
}
@media (max-width: 767px) {
  .recruit-important .recruit-important-message p b {
    font-size: 16px;
  }
}
.recruit-important .recruit-important-message p .highlight {
  background: linear-gradient(transparent 60%, #ffffa7 60%);
}

.recruit-workstyle .container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
}
.recruit-workstyle h2 {
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .recruit-workstyle h2 {
    margin-bottom: 24px;
  }
  .recruit-workstyle h2 img {
    width: 200px;
  }
}
.recruit-workstyle .copy {
  font-size: 28px;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 767px) {
  .recruit-workstyle .copy {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 8px;
  }
}
.recruit-workstyle .copy + p {
  text-align: center;
}
.recruit-workstyle .recruit-workstyle-flow h3 {
  font-size: 26px;
  font-weight: 600;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
  margin-top: 70px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow h3 {
    font-size: 18px;
    margin-top: 40px;
    margin-bottom: 0.8em;
  }
}
.recruit-workstyle .recruit-workstyle-flow h3 .icon {
  margin-right: 0.8em;
  width: 62px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow h3 .icon {
    width: 40px;
  }
}
.recruit-workstyle .recruit-workstyle-flow p {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow p {
    margin-bottom: 26px;
  }
}
.recruit-workstyle .recruit-workstyle-flow p strong {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow p strong {
    font-size: 16px;
  }
}
.recruit-workstyle .recruit-workstyle-flow p .highlight {
  background: linear-gradient(transparent 60%, #ffffa7 60%);
}
.recruit-workstyle .recruit-workstyle-flow .boxs {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow .boxs {
    display: block;
  }
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box {
  background-color: #fff;
  padding: 20px 40px 48px;
  width: 48%;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow .boxs .box {
    margin-bottom: 30px;
    padding: 20px 20px 28px;
    width: 100%;
  }
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box h4 {
  border-bottom: 1px solid #e5e5e5;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 36px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow .boxs .box h4 {
    font-size: 16px;
    padding-bottom: 18px;
    margin-bottom: 26px;
  }
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box ol {
  list-style: none;
  position: relative;
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li {
  display: flex;
  position: relative;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li {
    font-size: 14px;
  }
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li:not(:last-child) {
  padding-bottom: 35px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li:not(:last-child) {
    padding-bottom: 24px;
  }
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li:not(:last-child)::before {
  content: "";
  background-color: #ede7d3;
  height: 100%;
  top: 0;
  left: 73px;
  position: absolute;
  width: 1px;
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li::after {
  background: url(images/recruit/flow_circle.png) no-repeat center center;
  background-size: 30px 30px;
  border-radius: 50%;
  content: "";
  height: 30px;
  position: absolute;
  top: 0px;
  left: 59px;
  width: 30px;
  z-index: 1;
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li .time {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  text-align: right;
  padding-right: 40px;
  padding-top: 0.1em;
  margin-right: 15px;
  width: 85px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li .time {
    font-size: 13px;
    padding-top: 0.25em;
  }
}
.recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li .txt {
  flex: 1;
  min-width: 0;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-flow .boxs .box ol > li .txt {
    padding-top: 0.2em;
  }
}
.recruit-workstyle .recruit-workstyle-step h3 {
  font-size: 26px;
  font-weight: 600;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
  margin-top: 76px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step h3 {
    font-size: 18px;
    margin-top: 40px;
    margin-bottom: 0.8em;
  }
}
.recruit-workstyle .recruit-workstyle-step h3 .icon {
  margin-right: 0.8em;
  width: 62px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step h3 .icon {
    width: 40px;
  }
}
.recruit-workstyle .recruit-workstyle-step h3 + p {
  margin-bottom: 45px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step h3 + p {
    margin-bottom: 24px;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: 0 -30px 40px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case ul {
    display: block;
    margin: 0 auto;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li {
  flex: 1;
  padding: 10px 30px;
  text-align: center;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case ul > li {
    border-top: 1px solid #ece7de;
    padding: 30px 0;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li:not(:last-child) {
  border-right: 1px solid #ece7de;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case ul > li:not(:last-child) {
    border-right: none;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li h5 {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.25;
  padding-bottom: 22px;
  position: relative;
  margin-bottom: 22px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case ul > li h5 {
    margin-bottom: 16px;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li h5::after {
  background-color: #c19d6a;
  content: "";
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 15px;
  transform: translateX(-50%);
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li h5 .num {
  font-size: 38px;
  display: block;
  line-height: 1;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case ul > li h5 .num {
    font-size: 32px;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li p {
  line-height: 1.6;
  margin-bottom: 38px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case ul > li p {
    margin-bottom: 20px;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li ol {
  list-style: none;
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li ol > li {
  background-color: #fff;
  font-size: 18px;
  position: relative;
  letter-spacing: 0;
  padding: 24px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case ul > li ol > li {
    font-size: 16px;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li ol > li:not(:last-child) {
  margin-bottom: 35px;
}
.recruit-workstyle .recruit-workstyle-step .step-case ul > li ol > li:not(:last-child)::after {
  background: url(images/recruit/step_arrow.png) no-repeat center center;
  background-size: 100%;
  content: "";
  height: 37px;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  bottom: -25px;
  width: 16px;
  z-index: 1;
}
.recruit-workstyle .recruit-workstyle-step .step-case .mes-box {
  background-color: #c19d6a;
  color: #fff;
  font-size: 17px;
  font-weight: normal;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 22px;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case .mes-box {
    font-size: 14px;
    padding: 20px;
    margin-bottom: 50px;
  }
}
.recruit-workstyle .recruit-workstyle-step .step-case .mes-box strong {
  font-weight: normal;
  font-size: 21px;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .step-case .mes-box strong {
    font-size: 18px;
  }
}
.recruit-workstyle .recruit-workstyle-step .income-example h4 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 25px;
  text-align: center;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .income-example h4 {
    font-size: 18px;
  }
}
.recruit-workstyle .recruit-workstyle-step .income-example h4 .tit-txt {
  display: inline-block;
  position: relative;
  padding: 0 72px;
  white-space: nowrap;
}
.recruit-workstyle .recruit-workstyle-step .income-example h4 .tit-txt::before, .recruit-workstyle .recruit-workstyle-step .income-example h4 .tit-txt::after {
  content: "";
  background-color: #c19d6a;
  height: 1px;
  position: absolute;
  top: 50%;
  width: 56px;
}
.recruit-workstyle .recruit-workstyle-step .income-example h4 .tit-txt::before {
  left: 0;
}
.recruit-workstyle .recruit-workstyle-step .income-example h4 .tit-txt::after {
  right: 0;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .income-example > ul {
    display: block;
    margin-bottom: 0;
  }
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li {
  background-color: #fff;
  text-align: center;
  padding: 26px 22px;
  width: 32%;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .income-example > ul > li {
    margin-bottom: 22px;
    width: 100%;
  }
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li h5 {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.25;
  padding-bottom: 15px;
  position: relative;
  margin-bottom: 22px;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .income-example > ul > li h5 {
    margin-bottom: 16px;
  }
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li h5::after {
  background-color: #c19d6a;
  content: "";
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 15px;
  transform: translateX(-50%);
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li .position {
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 8px;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li .salary {
  line-height: 1.4;
  margin-bottom: 16px;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li > ul {
  max-width: 227px;
  margin: auto;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li > ul > li {
  background-color: #f5f2ef;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  padding: 5px;
  position: relative;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li > ul > li:not(:last-child) {
  margin-bottom: 12px;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li > ul > li:not(:last-child)::before, .recruit-workstyle .recruit-workstyle-step .income-example > ul > li > ul > li:not(:last-child)::after {
  content: "";
  background-color: #c19d6a;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li > ul > li:not(:last-child)::before {
  height: 8px;
  bottom: -10px;
  width: 2px;
}
.recruit-workstyle .recruit-workstyle-step .income-example > ul > li > ul > li:not(:last-child)::after {
  height: 2px;
  bottom: -7px;
  width: 8px;
}
.recruit-workstyle .recruit-workstyle-step .income-example .caps {
  font-size: 14px;
  letter-spacing: 0.08em;
  text-align: center;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .income-example .caps {
    font-size: 12px;
    margin-bottom: 0;
  }
}
.recruit-workstyle .recruit-workstyle-step .income-example .caps strong {
  color: #c19d6a;
  font-size: 18px;
  font-weight: 500;
}
@media (max-width: 767px) {
  .recruit-workstyle .recruit-workstyle-step .income-example .caps strong {
    font-size: 15px;
  }
}

.recruit-support {
  position: relative;
  padding-bottom: 140px;
}
@media (max-width: 767px) {
  .recruit-support {
    padding-bottom: 80px;
  }
}
.recruit-support::before {
  background: url(images/recruit/support_bg.jpg) no-repeat center center;
  background-size: cover;
  content: "";
  position: absolute;
  top: 150px;
  bottom: 0;
  left: 0;
  right: 0;
}
.recruit-support .container {
  position: relative;
  z-index: 1;
}
.recruit-support .box {
  background-color: #fff;
  padding: 100px 50px;
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .recruit-support .box {
    padding: 40px 20px 20px;
  }
}
.recruit-support h2 {
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .recruit-support h2 {
    margin-bottom: 30px;
  }
  .recruit-support h2 img {
    width: 284px;
  }
}
.recruit-support h2 + p {
  text-align: center;
  margin-bottom: 90px;
}
@media (max-width: 767px) {
  .recruit-support h2 + p {
    margin-bottom: 32px;
  }
}
.recruit-support .recruit-support-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
}
@media (max-width: 767px) {
  .recruit-support .recruit-support-items {
    display: block;
  }
}
.recruit-support .recruit-support-items .item {
  border-top: 1px solid #e5e5e5;
  padding: 45px 0 55px;
  width: 46%;
}
@media (max-width: 767px) {
  .recruit-support .recruit-support-items .item {
    padding: 30px 0;
    width: 100%;
  }
}
.recruit-support .recruit-support-items .item h3 {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.recruit-support .recruit-support-items .item h3 .icon {
  margin-right: 18px;
  width: 62px;
}
@media (max-width: 767px) {
  .recruit-support .recruit-support-items .item h3 .icon {
    margin-right: 0.8em;
    width: 40px;
  }
}
.recruit-support .recruit-support-items .item h3 .tit {
  font-size: 26px;
  font-weight: 500;
  flex: 1;
  min-width: 0;
}
@media (max-width: 767px) {
  .recruit-support .recruit-support-items .item h3 .tit {
    font-size: 18px;
  }
}
.recruit-support .recruit-support-items .item ul {
  padding: 0 0.5em;
  margin-bottom: 2em;
}
@media (max-width: 767px) {
  .recruit-support .recruit-support-items .item ul {
    margin-bottom: 1em;
    padding: 0;
  }
}
.recruit-support .recruit-support-items .item ul li {
  padding-left: 1em;
  position: relative;
}
.recruit-support .recruit-support-items .item ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.recruit-support .recruit-support-items .item p {
  padding: 0 0.5em;
}
@media (max-width: 767px) {
  .recruit-support .recruit-support-items .item p {
    line-height: 1.7;
    padding: 0;
  }
}
.recruit-support .recruit-support-items .item p:last-child {
  margin-bottom: 0;
}

.recruit-interview h2 {
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .recruit-interview h2 {
    margin-bottom: 32px;
  }
  .recruit-interview h2 img {
    width: 272px;
  }
}
.recruit-interview h2 + p {
  text-align: center;
  margin-bottom: 90px;
}
@media (max-width: 767px) {
  .recruit-interview h2 + p {
    margin-bottom: 30px;
  }
}
.recruit-interview h2 + p strong {
  font-size: 18px;
  font-weight: 600;
}
@media (max-width: 767px) {
  .recruit-interview h2 + p strong {
    font-size: 16px;
    line-height: 1.6;
  }
}
.recruit-interview h2 + p .highlight {
  background: linear-gradient(transparent 60%, #ffffa7 60%);
}
.recruit-interview ul {
  display: flex;
  justify-content: space-between;
  max-width: 1280px;
  margin: auto;
}
@media (max-width: 767px) {
  .recruit-interview ul {
    display: block;
  }
}
.recruit-interview ul li {
  width: 30%;
}
@media (max-width: 767px) {
  .recruit-interview ul li {
    margin-bottom: 46px;
    width: 100%;
  }
  .recruit-interview ul li:last-child {
    margin-bottom: 0;
  }
}
.recruit-interview ul li:nth-child(2) {
  padding-top: 50px;
}
@media (max-width: 767px) {
  .recruit-interview ul li:nth-child(2) {
    padding-top: 0;
  }
}
.recruit-interview ul li .img {
  position: relative;
  margin-bottom: 24px;
}
.recruit-interview ul li .img img {
  display: block;
  width: 100%;
}
.recruit-interview ul li .img .img-txt {
  position: absolute;
  bottom: -1px;
  right: -9px;
  width: 69px;
  z-index: 1;
}
.recruit-interview ul li .data {
  font-size: 14px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
}
@media (max-width: 767px) {
  .recruit-interview ul li .data {
    font-size: 12px;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
}
.recruit-interview ul li .data::after {
  background-color: #c19d6a;
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 15px;
}
.recruit-interview ul li .data img {
  display: inline-block;
  margin: 0 0.3em;
  vertical-align: sub;
}
.recruit-interview ul li p {
  font-size: 14px;
}
.recruit-interview ul li .catch {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 0.6em;
}
@media (max-width: 767px) {
  .recruit-interview ul li .catch {
    font-size: 18px;
  }
}

.recruit-apply {
  background-color: #fff;
}
.recruit-apply .container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
}
.recruit-apply h2 {
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .recruit-apply h2 {
    margin-bottom: 22px;
  }
  .recruit-apply h2 img {
    width: 180px;
  }
}
.recruit-apply h2 + p {
  text-align: center;
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  .recruit-apply h2 + p {
    margin-bottom: 32px;
  }
}
.recruit-apply .recruit-apply-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items {
    display: block;
  }
}
.recruit-apply .recruit-apply-items .item {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  padding: 45px 0 55px;
  width: 46%;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item {
    border-bottom: none;
    padding: 30px 0 34px;
    width: 100%;
  }
}
.recruit-apply .recruit-apply-items .item h3 {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
}
.recruit-apply .recruit-apply-items .item h3 .icon {
  margin-right: 18px;
  width: 62px;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item h3 .icon {
    margin-right: 0.8em;
    width: 40px;
  }
}
.recruit-apply .recruit-apply-items .item h3 .tit {
  font-size: 26px;
  font-weight: 500;
  flex: 1;
  min-width: 0;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item h3 .tit {
    font-size: 18px;
  }
}
.recruit-apply .recruit-apply-items .item .cont {
  padding: 0 0.5em;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item .cont {
    padding: 0;
  }
}
.recruit-apply .recruit-apply-items .item p {
  line-height: 1.65;
  margin-bottom: 18px;
}
.recruit-apply .recruit-apply-items .item p:last-child {
  margin-bottom: 0;
}
.recruit-apply .recruit-apply-items .item ul {
  margin-bottom: 1.2em;
}
.recruit-apply .recruit-apply-items .item ul li {
  padding-left: 1em;
  margin-bottom: 0.35em;
  position: relative;
}
.recruit-apply .recruit-apply-items .item ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.recruit-apply .recruit-apply-items .item ul li .highlight {
  background: linear-gradient(transparent 60%, #ffffa7 60%);
}
.recruit-apply .recruit-apply-items .item .link {
  margin-top: 1.6em;
}
.recruit-apply .recruit-apply-items .item .link a {
  background: url(images/recruit/arrow_next.png) no-repeat right 18px top 50%;
  background-size: 19px 14px;
  border: 1px dashed #c19d6a;
  color: #c19d6a;
  display: block;
  font-weight: 500;
  text-align: center;
  padding: 20px 40px;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item .link a {
    background-size: 16px 12px;
    background-position: right 15px top 50%;
    padding: 18px 34px;
  }
}
.recruit-apply .recruit-apply-items .item ol {
  list-style: none;
}
.recruit-apply .recruit-apply-items .item ol li {
  padding-left: 40px;
  position: relative;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item ol li {
    font-size: 13px;
  }
}
.recruit-apply .recruit-apply-items .item ol li:last-child {
  margin-bottom: 0;
}
.recruit-apply .recruit-apply-items .item ol li .num {
  position: absolute;
  left: 0;
  top: 0;
}
.recruit-apply .recruit-apply-items .item ol li h4 {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item ol li h4 {
    font-size: 16px;
  }
}
.recruit-apply .recruit-apply-items .item ol li .link {
  margin-top: 0;
}
@media (max-width: 767px) {
  .recruit-apply .recruit-apply-items .item ol li .link {
    font-size: 14px;
  }
}
.recruit-apply .anchor {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .recruit-apply .anchor {
    margin-top: 0;
  }
}
.recruit-apply .anchor a {
  background: #c19d6a url(images/recruit/anchor_down.png) no-repeat right 27px top 50%;
  background-size: 32px 32px;
  color: #fff;
  display: block;
  font-size: 18px;
  letter-spacing: 0.08em;
  padding: 1.8em 3em;
  text-align: center;
  width: 100%;
}
@media (max-width: 767px) {
  .recruit-apply .anchor a {
    background-position: right 20px top 50%;
    background-size: 25px 25px;
    font-size: 15px;
  }
}

.recruit-faq .container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
}
.recruit-faq h2 {
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .recruit-faq h2 {
    margin-bottom: 32px;
  }
  .recruit-faq h2 img {
    width: 170px;
  }
}
.recruit-faq ul {
  border-top: 1px solid #e3ded8;
}
.recruit-faq ul li {
  background: url(images/recruit/faq_btn_open.png) no-repeat right 0 top 35px;
  background-size: 40px 40px;
  border-bottom: 1px solid #e3ded8;
  cursor: pointer;
  padding: 40px 120px 40px 0;
}
@media (max-width: 767px) {
  .recruit-faq ul li {
    background-position: right 0 top 20px;
    background-size: 28px 28px;
    padding: 22px 50px 22px 0;
  }
}
.recruit-faq ul li .faq-q {
  background: url(images/recruit/faq_q.png) no-repeat 0 4px;
  background-size: 23px 26px;
  font-size: 18px;
  font-weight: 600;
  padding-bottom: 2px;
  padding-left: 48px;
}
@media (max-width: 767px) {
  .recruit-faq ul li .faq-q {
    background-size: 17px 20px;
    font-size: 14px;
    padding-left: 32px;
  }
}
.recruit-faq ul li .faq-a {
  font-size: 14px;
  line-height: 1.8;
  padding-top: 20px;
  padding-left: 48px;
  display: none;
}
@media (max-width: 767px) {
  .recruit-faq ul li .faq-a {
    padding-left: 32px;
    padding-top: 12px;
  }
}
.recruit-faq ul li.is-active {
  background-image: url(images/recruit/faq_btn_close.png);
}

.recruit-requirements {
  background-color: #fff;
}
.recruit-requirements .container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
}
.recruit-requirements h2 {
  text-align: center;
}
@media (max-width: 767px) {
  .recruit-requirements h2 img {
    width: 150px;
  }
}
.recruit-requirements h3 {
  border-left: 3px solid #c19d6a;
  line-height: 1.3;
  font-size: 21px;
  font-weight: 600;
  padding-left: 0.65em;
  margin-top: 80px;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .recruit-requirements h3 {
    font-size: 16px;
    margin-top: 40px;
    margin-bottom: 20px;
  }
}
.recruit-requirements .recruit-requirements-table {
  border-top: 1px solid #e8e8e8;
  width: 100%;
}
@media (max-width: 767px) {
  .recruit-requirements .recruit-requirements-table + h3 {
    margin-top: 60px;
  }
}
.recruit-requirements .recruit-requirements-table th, .recruit-requirements .recruit-requirements-table td {
  border-bottom: 1px solid #e8e8e8;
  padding: 2.5em 0;
  line-height: 1.8;
  text-align: left;
  vertical-align: top;
}
@media (max-width: 767px) {
  .recruit-requirements .recruit-requirements-table th, .recruit-requirements .recruit-requirements-table td {
    display: block;
  }
}
.recruit-requirements .recruit-requirements-table th {
  color: #c19d6a;
  font-weight: 500;
  width: 11em;
}
@media (max-width: 767px) {
  .recruit-requirements .recruit-requirements-table th {
    border-bottom: none;
    padding-top: 1.5em;
    padding-bottom: 0.5em;
    width: auto;
  }
}
@media (max-width: 767px) {
  .recruit-requirements .recruit-requirements-table td {
    padding-bottom: 1.6em;
    padding-left: 1em;
    padding-top: 0;
  }
}
.recruit-requirements .recruit-requirements-table td .caps {
  font-size: 14px;
  margin-top: 0.25em;
}

.recruit-banners {
  padding: 60px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .recruit-banners {
    display: block;
    padding: 40px 0;
  }
}
.recruit-banners .container {
  display: flex;
  justify-content: space-between;
  max-width: 100%;
  width: 1140px;
}
@media (max-width: 767px) {
  .recruit-banners .container {
    display: block;
  }
}
.recruit-banners a {
  color: #fff;
  display: block;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 1.8em;
  text-align: center;
  width: 48%;
  transition: opacity 200ms ease;
}
@media (min-width: 1025px) {
  .recruit-banners a:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  .recruit-banners a {
    font-size: 16px;
    margin-bottom: 20px;
    padding: 1.2em;
    width: 100%;
  }
  .recruit-banners a:last-child {
    margin-bottom: 0;
  }
}
.recruit-banners a .link-txt {
  display: inline-block;
  background-position: 0 50%;
  background-repeat: no-repeat;
  padding: 4px 0 4px 37px;
}
.recruit-banners .banner-contact {
  background-color: #d3c492;
}
.recruit-banners .banner-contact .link-txt {
  background-image: url(images/recruit/icon_bubble.png);
  background-size: 23px 23px;
  padding-left: 35px;
}
.recruit-banners .banner-apply {
  background-color: #72605e;
}
.recruit-banners .banner-apply .link-txt {
  background-image: url(images/recruit/icon_write.png);
  background-size: 27px 23px;
}

@keyframes recruitFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ==============================================
 20. Post
=============================================== */
.news-contents {
  padding-top: 0;
}
.news-contents .inner {
  max-width: 980px;
}
.news-contents .heading-1 {
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  .news-contents .heading-1 {
    margin-bottom: 40px;
  }
}
.news-contents .news-archive-title {
  font-size: 120%;
  font-weight: 500;
  margin-bottom: 3rem;
}

.post-article .post-meta {
  font-size: 85%;
  margin-bottom: 1rem;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
.post-article .post-meta .post-date {
  display: block;
  margin-right: 1.75rem;
}
.post-article .post-meta .post-categories {
  display: block;
}
.post-article .post-meta .post-categories .post-category {
  border: 1px solid #282828;
  background-color: #fff;
  display: inline-block;
  line-height: 1.4;
  font-size: 90%;
  padding: 3px 12px;
  vertical-align: baseline;
  border-radius: 30px;
}
.post-article .post-title {
  font-size: 116%;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

.primary {
  float: left;
  margin-bottom: 60px;
  width: 70%;
}
@media (max-width: 767px) {
  .primary {
    float: none;
    margin-bottom: 50px;
    width: auto;
  }
}

.aside {
  float: right;
  margin-bottom: 60px;
  width: 25%;
}
@media (max-width: 767px) {
  .aside {
    float: none;
    margin-bottom: 40px;
    width: auto;
  }
}
.aside h2 {
  border-bottom: 1px solid #e4dfdb;
  font-weight: 500;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}
.aside .side-category-list {
  margin-bottom: 3rem;
}
.aside .side-category-list li {
  font-size: 85%;
  margin-bottom: 1rem;
}
.aside .side-archive-list > li {
  margin-bottom: 2rem;
}
.aside .side-archive-list > li ul li {
  font-size: 85%;
  margin-top: 1rem;
}

/* ==============================================
 21. News
=============================================== */
.news-list li {
  border-bottom: 1px solid #e4dfdb;
  margin-bottom: 2.5rem;
}
.news-list li a {
  display: block;
  padding-bottom: 2.5rem;
}
.news-list li a .post-meta {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  font-size: 85%;
  margin-bottom: 1rem;
}
.news-list li a .post-meta .post-date {
  display: block;
  margin-right: 1.75rem;
}
.news-list li a .post-meta .post-categories {
  display: block;
}
.news-list li a .post-meta .post-categories .post-category {
  border: 1px solid #282828;
  background-color: #fff;
  display: inline-block;
  line-height: 1.4;
  font-size: 90%;
  padding: 3px 12px;
  vertical-align: baseline;
  border-radius: 30px;
}
.news-list li a .post-title {
  display: block;
  line-height: 1.6;
}

/* ==============================================
 30. Law
=============================================== */
.law-contents .heading-1 {
  font-size: 22px;
  font-weight: 500;
  text-align: left;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .law-contents .heading-1 {
    font-size: 16px;
  }
}
.law-contents .law-main {
  padding-top: 60px;
}
@media (max-width: 767px) {
  .law-contents .law-main {
    padding-top: 30px;
  }
}
.law-contents .law-list {
  font-size: 15px;
}
@media (max-width: 767px) {
  .law-contents .law-list {
    font-size: 13px;
  }
}
.law-contents .law-list dt {
  border-bottom: 2px solid #e4dfdb;
  padding-bottom: 4px;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  .law-contents .law-list dt {
    margin-bottom: 10px;
  }
}
.law-contents .law-list dd {
  margin-bottom: 35px;
}
@media (max-width: 767px) {
  .law-contents .law-list dd {
    margin-bottom: 24px;
  }
}
.law-contents .kiyaku-contents h2 {
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 16px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .law-contents .kiyaku-contents h2 {
    font-size: 16px;
  }
}
.law-contents .kiyaku-contents p {
  font-size: 14px;
  line-height: 1.9;
}
@media (max-width: 767px) {
  .law-contents .kiyaku-contents p {
    font-size: 13px;
  }
}

/* ==============================================
 31. Company
=============================================== */
.company-contents .heading-1 {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .company-contents .heading-1 {
    margin-bottom: 20px;
  }
}
.company-contents .table {
  width: 100%;
}
.company-contents .table th {
  border-bottom: 2px solid #e4dfdb;
  padding: 25px 0;
  font-size: 15px;
  text-align: left;
  width: 180px;
  vertical-align: top;
}
@media (max-width: 767px) {
  .company-contents .table th {
    width: 5.5em;
    font-size: 13px;
  }
}
.company-contents .table td {
  border-bottom: 2px solid #e4dfdb;
  font-size: 15px;
  padding: 25px 0;
  text-align: left;
  vertical-align: top;
}
@media (max-width: 767px) {
  .company-contents .table td {
    font-size: 13px;
  }
}

/* ==============================================
 32. Privacy policy
=============================================== */
.privacy-contents .heading-1 {
  font-size: 22px;
  font-weight: 500;
  text-align: left;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .privacy-contents .heading-1 {
    font-size: 16px;
  }
}
.privacy-contents .privacy-main {
  font-size: 15px;
  padding-top: 60px;
}
@media (max-width: 767px) {
  .privacy-contents .privacy-main {
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  .privacy-contents .privacy-main {
    padding-top: 30px;
  }
}
.privacy-contents .privacy-main p a {
  text-decoration: underline;
}
.privacy-contents .privacy-main p a:hover {
  text-decoration: none;
}

/* ==============================================
 98. Media Queries
=============================================== */
/* hidden
----------------------------------------------- */
@media screen and (min-width: 1025px) {
  .hidden-lg {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hidden-md {
    display: none !important;
  }
}
@media screen and (min-width: 544px) and (max-width: 767px) {
  .hidden-sm {
    display: none !important;
  }
}
@media screen and (max-width: 543px) {
  .hidden-xs {
    display: none !important;
  }
}
/* column
----------------------------------------------- */
.col-lg-1 {
  width: 12%;
}

.col-lg-2 {
  width: 16.6666%;
}

.col-lg-3 {
  width: 25%;
}

.col-lg-4 {
  width: 33.3333%;
}

.col-lg-5 {
  width: 41.6666%;
}

.col-lg-6 {
  width: 50%;
}

.col-lg-7 {
  width: 57.0833%;
}

.col-lg-8 {
  width: 66.6667%;
}

.col-lg-9 {
  width: 75%;
}

.col-lg-10 {
  width: 83.3334%;
}

.col-lg-11 {
  width: 91.6666%;
}

.col-lg-12 {
  width: 100%;
}

/* pc min
----------------------------------------------- */
@media screen and (max-width: 1119px) {
  /* column
  ----------------------------------------------- */
  .col-md-1 {
    width: 12%;
  }
  .col-md-2 {
    width: 16.6666%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-4 {
    width: 33.3333%;
  }
  .col-md-5 {
    width: 41.6666%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 57.0833%;
  }
  .col-md-8 {
    width: 66.6667%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.3334%;
  }
  .col-md-11 {
    width: 91.6666%;
  }
  .col-md-12 {
    width: 100%;
  }
}
/* tablet
----------------------------------------------- */
@media screen and (max-width: 991px) {
  body.sp-nav-open {
    overflow: hidden !important;
  }
  /* ==============================================
   Layout
  =============================================== */
  /* column
  ----------------------------------------------- */
  .col-sm-1 {
    width: 12%;
  }
  .col-sm-2 {
    width: 16.6666%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.3333%;
  }
  .col-sm-5 {
    width: 41.6666%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-7 {
    width: 57.0833%;
  }
  .col-sm-8 {
    width: 66.6667%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.3334%;
  }
  .col-sm-11 {
    width: 91.6666%;
  }
  .col-sm-12 {
    width: 100%;
  }
}
/* column
----------------------------------------------- */
@media screen and (max-width: 767px) {
  /* column
  ----------------------------------------------- */
  .col-xs-1 {
    width: 12%;
  }
  .col-xs-2 {
    width: 16.6666%;
  }
  .col-xs-3 {
    width: 25%;
  }
  .col-xs-4 {
    width: 33.3333%;
  }
  .col-xs-5 {
    width: 41.6666%;
  }
  .col-xs-6 {
    width: 50%;
  }
  .col-xs-7 {
    width: 57.0833%;
  }
  .col-xs-8 {
    width: 66.6667%;
  }
  .col-xs-9 {
    width: 75%;
  }
  .col-xs-10 {
    width: 83.3334%;
  }
  .col-xs-11 {
    width: 91.6666%;
  }
  .col-xs-12 {
    width: 100%;
  }
}
/* ==============================================
 99. print style
=============================================== */
@media print {
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    zoom: 75%;
  }
}/*# sourceMappingURL=style.css.map */