@charset "UTF-8";
/* ---------- number ---------- */
/* ---------- color ---------- */
/* ---------- breakPoint ---------- */
/* ---------- line-height ---------- */
/*--------------------------------------------------------------------
    [FOUNDATION]
 --------------------------------------------------------------------*/
/* ---------------------------------------------
 *
 * RESET
 *
 --------------------------------------------- */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%; }

body {
  height: 100%;
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
/* line 136, _normalize.scss */
h1 {
  font-size: 2em;
  margin: 0; }

/**
 * Address styling not present in IE 8/9.
 */
/* line 146, _normalize.scss */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
/* line 155, _normalize.scss */
small {
  font-size: 80%; }

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

/* line 171, _normalize.scss */
sup {
  top: -0.5em; }

/* line 175, _normalize.scss */
sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
/* line 186, _normalize.scss */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
/* line 194, _normalize.scss */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
/* line 205, _normalize.scss */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
/* line 213, _normalize.scss */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
/* line 222, _normalize.scss */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
/* line 230, _normalize.scss */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
/* line 253, _normalize.scss */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
/* line 267, _normalize.scss */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
/* line 278, _normalize.scss */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
/* line 291, _normalize.scss */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
/* line 303, _normalize.scss */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
/* line 312, _normalize.scss */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
/* line 323, _normalize.scss */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
/* line 335, _normalize.scss */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
/* line 347, _normalize.scss */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
/* line 357, _normalize.scss */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
/* line 368, _normalize.scss */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
/* line 377, _normalize.scss */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  padding: 0; }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: 300; }

p, ul, li, dl, dt, dd {
  margin: 0;
  padding: 0; }

ul, ol {
  list-style: none; }

img {
  vertical-align: top; }

table {
  width: 100%; }

table th {
  text-align: left;
  font-weight: normal;
  vertical-align: top; }

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none; }

body {
  background-color: #222;
  min-width: 320px;
  color: #ccc;
  line-height: 1.6;
  letter-spacing: 0;
  font-size: 14px;
  font-family: "Helvetica Neue", "Helvetica", "游ゴシック体", YuGothic, "游ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  overflow-y: scroll;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  line-height: 2; }
  body::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 2) * .5em);
    content: ""; }
  body::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 2) * .5em);
    content: ""; }

a {
  outline: none;
  text-decoration: none;
  color: #000;
  transition: all 0.3s ease-out 0s; }
  a:hover {
    opacity: .4;
    transition: all 0.3s ease-out 0s; }

img {
  width: 100%;
  height: auto;
  user-select: none; }

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

/*--------------------------------------------------------------------
    [COMPONENT]
 --------------------------------------------------------------------*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slide__arrow {
  width: 40px;
  height: 50px;
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0%, -50%);
  z-index: 888; }
  .slide__arrow.next__arrow {
    top: 50%;
    left: 100%;
    transform: translate(-100%, -50%) rotate(180deg); }

/*--------------------------------------------------------------------
    [SHARED]
 --------------------------------------------------------------------*/
.nav__wrap {
  width: 100%;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  background: #eee;
  transform: translateX(100%);
  transition: all 0.5s;
  /* jQueryで付与・削除する */ }
  .nav__wrap.active {
    transform: translateX(0%);
    transition: all 0.5s; }
  .nav__wrap .nav__inner {
    width: 150px;
    margin: auto;
    height: 100vh; }
    .nav__wrap .nav__inner .nav__list {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      opacity: 0;
      transition: .8s; }
      .nav__wrap .nav__inner .nav__list.js-nav_fade {
        opacity: 1; }
      .nav__wrap .nav__inner .nav__list .nav__item {
        text-align: center; }
        .nav__wrap .nav__inner .nav__list .nav__item .nav__link {
          display: inline-block;
          font-size: 15px;
          letter-spacing: 0em;
          color: #222;
          line-height: 1.4;
          margin-bottom: 35px; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link::before {
            display: block;
            width: 0;
            height: 0;
            margin-top: calc((1 - 1.4) * .5em);
            content: ""; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link::after {
            display: block;
            width: 0;
            height: 0;
            margin-bottom: calc((1 - 1.4) * .5em);
            content: ""; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-info {
            margin-bottom: 40px; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-reserve, .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-onlineshop {
            width: 150px;
            height: 36px;
            background-color: #222;
            border-radius: 20px;
            color: #fff;
            padding: 11px 0;
            margin-bottom: 20px;
            opacity: 1; }
            .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-reserve:hover, .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-onlineshop:hover {
              background-color: #fff; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-onlineshop {
            margin-bottom: 35px; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-company, .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-privacy {
            font-size: 14px;
            margin-bottom: 60px; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-privacy {
            margin-bottom: 60px; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-home {
            width: 60px; }
          .nav__wrap .nav__inner .nav__list .nav__item .nav__link.-current {
            color: #707070; }

.navToggle {
  display: block;
  position: fixed;
  right: 19px;
  top: 19px;
  width: 28px;
  height: 8px;
  cursor: pointer;
  z-index: 9999;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: .5s; }
  .navToggle.js-fade-in {
    opacity: 1;
    visibility: visible; }

.navToggle span {
  display: block;
  position: absolute;
  width: 28px;
  border-bottom: solid 1px #e6991a;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  right: 0; }

.navToggle span:nth-child(1) {
  top: 0; }

.navToggle span:nth-child(2) {
  width: 20px;
  top: 6px; }

/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
  top: 0;
  border-bottom: solid 1px #e6991a; }

/* 2番目のspanを45度に */
.navToggle.active span:nth-child(2) {
  right: 7px;
  border-bottom: solid 1px #e6991a; }

/* ---------------------------------------------
*
* LAYOUT
*
--------------------------------------------- */
#app {
  visibility: hidden;
  opacity: 0; }
  #app.js-visible {
    visibility: visible;
    opacity: 1; }

.wrap {
  padding: 0;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.05, 0.76, 0.22, 0.95);
  position: relative; }

.content {
  overflow: hidden; }

.inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: left; }
  @media only screen and (max-width: 768px) {
    .inner {
      padding: 0 30px; } }

.sec__title {
  font-size: 30px;
  font-family: mostra-nuova, sans-serif;
  font-weight: 700;
  margin-bottom: 160px;
  color: #fff;
  letter-spacing: 0.15em;
  line-height: 1.25; }
  .sec__title::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.25) * .5em);
    content: ""; }
  .sec__title::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.25) * .5em);
    content: ""; }

.sec__subtitle {
  margin-bottom: 160px; }
  @media only screen and (max-width: 768px) {
    .sec__subtitle {
      margin-bottom: 80px; } }

.sec__desc {
  font-family: "Times New Roman",  "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 16px;
  line-height: 4.3; }
  .sec__desc::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 4.3) * .5em);
    content: ""; }
  .sec__desc::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 4.3) * .5em);
    content: ""; }
  @media only screen and (max-width: 768px) {
    .sec__desc {
      font-size: 15px;
      line-height: 3.9; }
      .sec__desc::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 3.9) * .5em);
        content: ""; }
      .sec__desc::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 3.9) * .5em);
        content: ""; } }
  .sec__desc .desc {
    letter-spacing: 0.1em; }

table {
  border-collapse: collapse; }
  table th, table td {
    padding: 10px 30px;
    border: 1px solid #777;
    font-size: 13px;
    color: #fff; }
    @media only screen and (max-width: 768px) {
      table th, table td {
        padding: 20px 10px;
        font-size: 11px;
        line-height: 1.25; }
        table th::before, table td::before {
          display: block;
          width: 0;
          height: 0;
          margin-top: calc((1 - 1.25) * .5em);
          content: ""; }
        table th::after, table td::after {
          display: block;
          width: 0;
          height: 0;
          margin-bottom: calc((1 - 1.25) * .5em);
          content: ""; } }
  @media only screen and (max-width: 768px) {
    table th {
      width: 80px; } }

.sec {
  text-align: left;
  padding: 160px 0; }
  @media only screen and (max-width: 768px) {
    .sec {
      padding: 170px 0; } }

/* ---------------------------------------------
*
* BTN
*
--------------------------------------------- */
.-btn {
  width: 160px;
  height: 48px;
  display: block;
  background-color: #383838;
  position: relative;
  cursor: pointer;
  transition: .3s;
  margin: auto; }
  .-btn .btn__txt {
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 700;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .-btn:hover {
    background-color: #fff; }

/* ---------------------------------------------
*
* FOOTER SEC
*
--------------------------------------------- */
.pagetop {
  position: fixed;
  bottom: 0;
  right: -100px;
  transition: 0.3; }
  @media only screen and (max-width: 768px) {
    .pagetop {
      bottom: 0;
      width: 15%; } }
  .pagetop:hover {
    transform: translateY(-5px);
    opacity: 1; }
  .pagetop.active {
    right: 20px; }

footer {
  text-align: left;
  background-color: #222; }
  footer .footer__inner {
    max-width: 900px;
    padding: 50px 0;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      footer .footer__inner {
        padding: 10%; } }
  footer .sns__insta {
    display: block;
    fill: #fff;
    margin-bottom: 50px; }
  footer .footer__logo {
    width: 300px;
    margin: 0 auto 40px; }
  footer .copy_right {
    font-size: 12px; }

/* ==================================================
    display [PC]

    PC/SP での ON/OFF 表示
================================================== */
.display-pc {
  display: block; }

.display-sp {
  display: none; }

.display-ib-pc {
  display: inline-block; }

.display-ib-sp {
  display: none; }

/* ==================================================
    display [SP]
================================================== */
@media screen and (max-width: 768px) {
  .display-pc {
    display: none; }
  .display-sp {
    display: block; }
  .display-ib-pc {
    display: none; }
  .display-ib-sp {
    display: inline-block; } }

/*--------------------------------------------------------------------
    [PAGE]

    ※ページ固有のスタイル。
    ・適応するページの body に class をつけて wrap する。
 --------------------------------------------------------------------*/
/*--------------------------------

Loading

---------------------------------*/
.loading {
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  visibility: visible;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  transition: 1s; }
  .loading.js-fade-out {
    visibility: hidden;
    opacity: 0; }
  .loading .loading__inner {
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    background-image: url("/assets/img/common/loading_img.jpg");
    background-size: cover;
    animation: fadein 1s ease forwards;
    opacity: 0; }
    @media only screen and (max-width: 768px) {
      .loading .loading__inner {
        background-image: url("/assets/img/common/loading_img_sp.jpg"); } }

@keyframes fadein {
  100% {
    opacity: 1; } }
  .loading .loading__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1; }

/* ---------------------------------------------
*
* PHOTO PARALLAX
*
--------------------------------------------- */
.parallax-slider {
  top: 0;
  left: 0; }

/* ---------------------------------------------
*
* MV
*
--------------------------------------------- */
.mv {
  position: relative;
  height: calc(var(--vh, 1vh) * 100);
  background-image: url("/assets/img/common/loading_img.jpg");
  background-size: cover;
  animation: imgchange 3s ease forwards;
  animation-delay: 3s; }

@keyframes imgchange {
  100% {
    background-image: url("/assets/img/top/mv01.jpg"); } }
  @media only screen and (max-width: 768px) {
    .mv {
      background-image: url("/assets/img/common/loading_img_sp.jpg"); }
    @keyframes imgchange {
      100% {
        background-image: url("/assets/img/top/mv01_sp.jpg"); } } }
  .mv .logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 1s; }
    .mv .logo.js-fade-in {
      opacity: 1; }

/* ---------------------------------------------
*
* INTRO SEC
*
--------------------------------------------- */
.sec.-intro .sec__subtitle {
  max-width: 612px; }
  @media only screen and (max-width: 768px) {
    .sec.-intro .sec__subtitle {
      max-width: 228px; } }

/* ---------------------------------------------
*
* SLIDES SEC
*
--------------------------------------------- */
.slides__wrap .slick-slide {
  margin: 0 7px; }

/* ---------------------------------------------
*
* ABOUT US SEC
*
--------------------------------------------- */
.sec.-about {
  padding: 160px 0 240px; }
  .sec.-about .sec__subtitle {
    max-width: 348px; }
    @media only screen and (max-width: 768px) {
      .sec.-about .sec__subtitle {
        max-width: 261px; } }
  .sec.-about .sec__desc {
    margin-bottom: 160px; }
    @media only screen and (max-width: 768px) {
      .sec.-about .sec__desc {
        margin-bottom: 60px; } }
  .sec.-about .about__shop {
    width: 90%;
    max-width: 1088px;
    margin: 0 auto;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .sec.-about .about__shop {
        width: 120%;
        position: relative;
        left: -10%; } }
    .sec.-about .about__shop .shop__list {
      width: 100%;
      display: flex;
      justify-content: center;
      margin: 0 auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .sec.-about .about__shop .shop__list .shop__item {
        width: 240px;
        text-align: center;
        margin: 0 11%; }
        @media only screen and (max-width: 768px) {
          .sec.-about .about__shop .shop__list .shop__item {
            width: 30%;
            margin: 0 7%; } }
        .sec.-about .about__shop .shop__list .shop__item .shop__title {
          font-family: "Times New Roman",  "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
          font-size: 25px;
          margin-bottom: 60%;
          line-height: 1.25; }
          .sec.-about .about__shop .shop__list .shop__item .shop__title::before {
            display: block;
            width: 0;
            height: 0;
            margin-top: calc((1 - 1.25) * .5em);
            content: ""; }
          .sec.-about .about__shop .shop__list .shop__item .shop__title::after {
            display: block;
            width: 0;
            height: 0;
            margin-bottom: calc((1 - 1.25) * .5em);
            content: ""; }
          @media screen and (max-width: 1080px) {
            .sec.-about .about__shop .shop__list .shop__item .shop__title {
              font-size: 18px;
              margin-bottom: 20%; } }
          @media only screen and (max-width: 768px) {
            .sec.-about .about__shop .shop__list .shop__item .shop__title {
              font-size: 13px;
              margin-bottom: 30%; } }
        .sec.-about .about__shop .shop__list .shop__item .shop__logo {
          margin: 0 auto 60%; }
          @media screen and (max-width: 1080px) {
            .sec.-about .about__shop .shop__list .shop__item .shop__logo {
              margin-bottom: 30%; } }
          @media only screen and (max-width: 768px) {
            .sec.-about .about__shop .shop__list .shop__item .shop__logo {
              margin-bottom: 30%; } }
          .sec.-about .about__shop .shop__list .shop__item .shop__logo.-eccorp {
            width: 90%; }
            @media screen and (max-width: 1080px) {
              .sec.-about .about__shop .shop__list .shop__item .shop__logo.-eccorp {
                width: 70%; } }
          .sec.-about .about__shop .shop__list .shop__item .shop__logo.-onko {
            width: 100%; }
            @media screen and (max-width: 1080px) {
              .sec.-about .about__shop .shop__list .shop__item .shop__logo.-onko {
                width: 70%; } }
        .sec.-about .about__shop .shop__list .shop__item .shop__btn {
          font-family: mostra-nuova, sans-serif;
          font-size: 12px;
          font-weight: 700;
          background-color: #ccc;
          padding: 10px 20px;
          width: 150px;
          height: 35px;
          border-radius: 5px;
          margin: 0 auto;
          display: flex;
          justify-content: flex-start;
          position: relative; }
          @media only screen and (max-width: 768px) {
            .sec.-about .about__shop .shop__list .shop__item .shop__btn {
              font-size: 12px;
              width: 140px; } }
          .sec.-about .about__shop .shop__list .shop__item .shop__btn .shop__link {
            width: 70%;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            line-height: 1; }
          .sec.-about .about__shop .shop__list .shop__item .shop__btn span.btn__txt {
            display: inline-block;
            margin-right: 10px;
            line-height: 1; }
          .sec.-about .about__shop .shop__list .shop__item .shop__btn span.btn__blank {
            display: inline-block;
            width: 13px; }
            @media only screen and (max-width: 768px) {
              .sec.-about .about__shop .shop__list .shop__item .shop__btn span.btn__blank {
                width: 11px; } }
          .sec.-about .about__shop .shop__list .shop__item .shop__btn:hover {
            background-color: #fff;
            opacity: 1; }

/* ---------------------------------------------
*
* OUR SERVICE SEC
*
--------------------------------------------- */
.sec.-service .sec__subtitle {
  max-width: 656px; }
  @media only screen and (max-width: 768px) {
    .sec.-service .sec__subtitle {
      max-width: 294px;
      margin-bottom: 155px; } }

.sec.-service .sec__desc {
  margin-bottom: 160px; }

.sec.-service .service__list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
  .sec.-service .service__list .service__item {
    max-width: 410px;
    margin: 0 60px 60px 0; }
    @media only screen and (max-width: 768px) {
      .sec.-service .service__list .service__item {
        max-width: 100%;
        margin: 0 0 100px 0; } }
    .sec.-service .service__list .service__item:nth-child(even) {
      margin: 0 0 60px 0; }
      @media only screen and (max-width: 768px) {
        .sec.-service .service__list .service__item:nth-child(even) {
          margin: 0 0 100px 0; }
          .sec.-service .service__list .service__item:nth-child(even):last-child {
            margin: 0; } }
    .sec.-service .service__list .service__item .service__icon {
      width: 88px;
      height: 88px;
      margin-bottom: 10px; }
    .sec.-service .service__list .service__item .service__name {
      font-family: "Times New Roman",  "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
      color: #fff;
      font-size: 20px;
      font-weight: 700;
      margin-bottom: 10px; }
    .sec.-service .service__list .service__item .service__desc {
      font-size: 13px;
      line-height: 1.6; }
      .sec.-service .service__list .service__item .service__desc::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.6) * .5em);
        content: ""; }
      .sec.-service .service__list .service__item .service__desc::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.6) * .5em);
        content: ""; }

/* ---------------------------------------------
*
* CONTACT US SEC
*
--------------------------------------------- */
.sec.-contact .contact__img {
  max-width: 248px;
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .sec.-contact .contact__img {
      max-width: 100%; } }

.sec.-contact .sec__subtitle {
  max-width: 720px;
  margin-bottom: 80px; }
  @media only screen and (max-width: 768px) {
    .sec.-contact .sec__subtitle {
      max-width: 100%; } }
  .sec.-contact .sec__subtitle.-form {
    max-width: 300px;
    margin-top: 160px; }
    @media only screen and (max-width: 768px) {
      .sec.-contact .sec__subtitle.-form {
        max-width: 100%; } }

.sec.-contact .contact__txt {
  font-family: "Times New Roman",  "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 18px; }
  .sec.-contact .contact__txt a {
    color: #fff;
    text-decoration: underline; }

/* ---------------------------------------------
*
* PROFILE SEC
*
--------------------------------------------- */
.sec.-profile .sec__title {
  margin-bottom: 80px; }

.sec.-profile .profileTbl__title {
  font-family: "Times New Roman",  "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 18px;
  margin-bottom: 30px; }
