/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default;
  /* 1 */
  line-height: 1.75;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  /* 5 */
  -webkit-text-size-adjust: 100%;
  /* 5 */
  word-break: break-word;
  /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0;
}

h2, h3, h4, h5, h6 {
  margin: 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl,
dt,
dd,
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol,
ul,
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

p,
figure {
  margin: 0;
}

/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 * 3. Show the overflow in Edge 18- and IE.
 */
hr {
  color: inherit;
  /* 1 */
  height: 0;
  /* 2 */
  overflow: visible;
  /* 3 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
ol,
ul,
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */
nav li::before {
  /*content: "\200B";*/
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
  overflow: auto;
  /* 3 */
  -ms-overflow-style: scrollbar;
  /* 3 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
table {
  border-collapse: collapse;
  /* 1 */
  border-color: inherit;
  /* 2 */
  text-indent: 0;
  /* 3 */
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible;
  /* 1 */
  text-transform: none;
  /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0;
  /* 1 */
  padding: 0.35em 0.75em 0.625em;
  /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0;
  /* 1 */
  overflow: auto;
  /* 2 */
  resize: vertical;
  /* 3 */
  resize: block;
  /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.

 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/* 
----------------------------------------*/
body.-is-search-nav {
  overflow-y: hidden;
}

.opacity0{
	opacity:0;
}

@media screen and (min-width: 768px) {
  #luxy {
    min-width: 1280px;
  }
}

.search-nav {
  position: relative;
  position: fixed;
  z-index: 1023;
  top: 0;
  left: 0;
  width: 100%;
  transition-property: background-color;
  transition-duration: 0.375s;
}
body:not(.-is-search-nav) .search-nav {
  visibility: hidden;
}
body:not(.-is-search-nav-add) .search-nav {
  background-color: rgba(0, 0, 0, 0);
}
body.-is-search-nav-add .search-nav {
  background-color: rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 767px) {
  .search-nav::before {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    transition-property: height;
    background-color: #2F2F2F;
    content: "";
  }
  body:not(.-is-search-nav-add) .search-nav::before {
    height: 0;
  }
  body.-is-search-nav-add .search-nav::before {
    height: calc(100% - 140px);
    transition-delay: 0.9s;
  }
}

.search-nav-contents-scroll-wrapper {
  position: relative;
  z-index: 1;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 768px) {
  .search-nav-contents-scroll-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100vh;
  }
  .search-nav-contents-scroll-wrapper.-over {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-contents-scroll-wrapper {
    height: 100vh;
  }
}

.search-nav-contents {
  position: relative;
  transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  transition-property: transform;
}
body:not(.-is-search-nav-add) .search-nav-contents {
  transform: translateY(100%);
  transition-duration: 0.6s;
}
body.-is-search-nav-add .search-nav-contents {
  transition-duration: 0.9s;
}
@media screen and (min-width: 768px) {
  .search-nav-contents {
    padding-top: 50px;
    padding-bottom: 80px;
    background-color: #2F2F2F;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-contents {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding-top: 8vw;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 768px) {
  .search-nav-head {
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-head {
    padding-left: 6.1333333333vw;
  }
}
.search-nav-head .-label {
  display: inline-block;
  background-image: url(../img/ico_search.svg);
  background-repeat: no-repeat;
  background-position: left center;
  color: #FFF;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .search-nav-head .-label {
    padding-left: 54px;
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-head .-label {
    padding-left: 9.3013333333vw;
    background-size: 6.368vw auto;
    font-size: 5.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .search-nav-body {
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-body {
    flex: 1;
    margin-top: 5.3333333333vw;
    padding-bottom: calc(17.6vw + 75px);
    background-color: #2F2F2F;
  }
}
@media screen and (min-width: 768px) {

.search-nav-area-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

  .search-nav-area-item {
    width: calc(33.3333% - 24px);
  }
  .search-nav-area-item:not(:nth-of-type(3n)) {
    margin-right: 36px;
  }
}

.search-nav-area-item {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-top-color: #606060;
}


@media screen and (min-width: 768px) {
  .search-nav-area-item {
    border-top:1px solid #606060;
    border-bottom:0px;
  }
  .search-nav-area-item:nth-child(n+4) {
    border-bottom:1px solid #606060;
  }
}


@media screen and (max-width: 767px) {
  .search-nav-area-item {
    border-bottom-color: #525252;
  }
}
.search-nav-area-item .-area-item-head {
  display: flex;
  align-items: center;
  width: 100%;
  background-repeat: no-repeat;
  background-image: url(../img/ico_search-nav-open.svg);
  box-sizing: border-box;
  cursor: pointer;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .search-nav-area-item .-area-item-head {
    height: 66px;
    background-position: center right 14px;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-area-item .-area-item-head {
    height: 13.3333333333vw;
    padding-left: 3.4666666667vw;
    background-position: center right 5.8666666667vw;
    background-size: 4.776vw auto;
    font-size: 4.2666666667vw;
  }
}
.search-nav-area-item .-area-item-head.-disable {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .search-nav-area-item .-area-item-head.-disable {
    background-image: url(../img/ico_search-nav-open-disable_pc.svg);
    color: #4E4E4E;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-area-item .-area-item-head.-disable {
    background-image: url(../img/ico_search-nav-open-disable_sp.svg);
    background-color: #8E8E8E;
    color: #777575;
  }
}
@media screen and (min-width: 768px) {
  .search-nav-area-item .-area-item-head {
    transition-property: opacity;
    transition-duration: 0.25s;
  }
  .search-nav-area-item .-area-item-head:hover {
    opacity: 0.375;
  }
}
.search-nav-area-item.-open .-area-item-head {
  background-image: url(../img/ico_search-nav-close.svg);
}

@media screen and (min-width: 768px) {
  .search-nav-location-list {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-location-list {
    padding-top: 7.4666666667vw;
    padding-bottom: 8vw;
    background-color: #535353;
  }
}

@media screen and (min-width: 768px) {
  .search-nav-location-item:not(:first-of-type) {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-location-item:not(:first-of-type) {
    margin-top: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .search-nav-location-item .-location-item-dl {
    padding-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-location-item .-location-item-dl {
    padding-left: 16.2666666667vw;
  }
}
.search-nav-location-item .-location-item-dt {
  position: relative;
  color: #FFF;
  line-height: 1.25;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .search-nav-location-item .-location-item-dt {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-location-item .-location-item-dt {
    font-size: 4.2666666667vw;
  }
}
.search-nav-location-item .-location-item-dt::before {
  position: absolute;
  top: 50%;
  height: 1px;
  background-color: #FFF;
  content: "";
}
@media screen and (min-width: 768px) {
  .search-nav-location-item .-location-item-dt::before {
    left: -22px;
    width: 11px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-location-item .-location-item-dt::before {
    left: -5.8666666667vw;
    width: 2.9333333333vw;
  }
}
.search-nav-location-item .-location-item-dd {
  line-height: 1.25;
}
@media screen and (min-width: 768px) {
  .search-nav-location-item .-location-item-dd {
    margin-top: 14px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-location-item .-location-item-dd {
    margin-top: 3.7333333333vw;
    font-size: 3.7333333333vw;
  }
}
.search-nav-location-item .-location-item-dd a {
  color: #B5B5B5;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .search-nav-location-item .-location-item-dd a:hover {
    text-decoration: none;
  }
}

.search-nav-close {
  position: fixed;
  z-index: 1024;
  display: block;
  cursor: pointer;
}
body:not(.-is-search-nav-add) .search-nav-close {
  visibility: hidden;
}
@media screen and (min-width: 768px) {
  .search-nav-close {
    right: 46px;
    bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .search-nav-close {
    right: 0;
    bottom: 0;
  }
}
.search-nav-close .-ico {
  pointer-events: none;
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (min-width: 768px) {
  .search-nav-close .-ico {
    width: 44px;
    height: 44px;
    background-image: url(../img/ico_search-close_pc.svg);
  }
}
@media screen and (max-width: 767px) {
  .search-nav-close .-ico {
    width: 100vw;
    height: 17.6vw;
    background-image: url(../img/ico_search-close_sp.svg);
    background-size: 7.0794666667vw auto;
    transition-property: background-color;
    transition-timing-function: linear;
  }
  body:not(.-is-search-nav-add) .search-nav-close .-ico {
    background-color: rgba(47, 47, 47, 0);
  }
  body.-is-search-nav-add .search-nav-close .-ico {
    background-color: rgba(47, 47, 47, 0.8);
    transition-duration: 0.375s;
  }
}
@media screen and (min-width: 768px) {
  .search-nav-close:hover .-ico {
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-name: close-hover;
    animation-name: close-hover;
  }
}
@-webkit-keyframes close-hover {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes close-hover {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}

/* 
----------------------------------------*/
.c-top-kv {
  position: relative;
  height: 100vh;
  text-align: center;
}
body:not(.-loaded-video) .c-top-kv {
  background-color: black;
}
body.-loaded-video .c-top-kv {
  background-color: rgba(0, 0, 0, 0.2);
  transition-property: background-color;
  transition-duration: 0.625s;
  transition-timing-function: linear;
}
.top-kv-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.top-kv-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
}
body:not(.-loaded-video) .top-kv-ttl .-ttl-head {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  body:not(.-loaded-video) .top-kv-ttl .-ttl-head {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  body:not(.-loaded-video) .top-kv-ttl .-ttl-head {
    transform: translateY(21.3333333333vw);
  }
}
body.-loaded-video .top-kv-ttl .-ttl-head {
  transition-property: opacity, transform;
  transition-duration: 0.625s, 1.375s;
  transition-timing-function: linear, ease-in-out;
}
@media screen and (max-width: 767px) {
  .top-kv-ttl .-ttl-head .-img {
    height: 25.5493333333vw;
    width: auto;
  }
}
.top-kv-ttl .-ttl-sub {
  font-size: 0;
}
body:not(.-loaded-video) .top-kv-ttl .-ttl-sub {
  -webkit-clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
  clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
}
body.-loaded-video .top-kv-ttl .-ttl-sub {
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  transition-duration: 2.375s;
  transition-delay: 0.625s;
  transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
}
@media screen and (min-width: 768px) {
  .top-kv-ttl .-ttl-sub {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .top-kv-ttl .-ttl-sub {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .top-kv-ttl .-ttl-sub .-img {
    height: 4.064vw;
    width: auto;
  }
}

.top-kv-scrolldown {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .top-kv-scrolldown {
    bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .top-kv-scrolldown {
    bottom: 8.5333333333vw;
  }
}
body:not(.-loaded-video) .top-kv-scrolldown {
  opacity: 0;
}
body.-loaded-video .top-kv-scrolldown {
  transition-property: opacity;
  transition-duration: 0.625s;
  transition-delay: 2.375s;
  transition-timing-function: linear;
}
.top-kv-scrolldown .-label {
  font-weight: 400;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .top-kv-scrolldown .-label {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .top-kv-scrolldown .-label {
    font-size: 3.2vw;
  }
}
body.-loaded-video .top-kv-scrolldown .-label {
  -webkit-animation-name: scrolldown-blink;
  animation-name: scrolldown-blink;
  -webkit-animation-duration: 1.7s;
  animation-duration: 1.7s;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
@-webkit-keyframes scrolldown-blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes scrolldown-blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.c-search {
  position: fixed;
  z-index: 99;
  right: 0;
  bottom: 0;
}
body:not(.-loaded-video) .c-search {
  transform: translateY(100%);
}
body.-loaded-video .c-search {
  transition-delay: 3s;
  transition-property: transform;
}
@media screen and (min-width: 768px) {
  body.-loaded-video .c-search {
    transition-duration: 0.9s;
  }
}
@media screen and (max-width: 767px) {
  body.-loaded-video .c-search {
    transition-duration: 1.3s;
  }
}
.c-search .search-link-wrap {
  transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  transition-property: transform;
}
body:not(.-is-search-nav) .c-search .search-link-wrap {
  transition-duration: 0.625s;
}
body.-is-search-nav .c-search .search-link-wrap {
  transform: translateY(100%);
}
.c-search .search-link {
  position: relative;
  display: block;
  background-color: #000;
  color: #FFF;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-search .search-link {
    width: 133px;
    height: 133px;
  }
}
@media screen and (max-width: 767px) {
  .c-search .search-link {
    width: 23.4666666667vw;
    height: 23.4666666667vw;
  }
}
.c-search .search-link .-label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-image: url(../img/ico_search.svg);
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .c-search .search-link .-label {
    padding-top: 54px;
    background-position: center 20px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-search .search-link .-label {
    padding-top: 10.1333333333vw;
    background-position: center 3.7333333333vw;
    background-size: 6.368vw auto;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .c-search .search-link {
    transition-property: color;
    transition-duration: 0.3s;
  }
  .c-search .search-link .-label {
    transition-property: background-image;
    transition-duration: 0s;
    transition-delay: 0.125s;
  }
  .c-search .search-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    transform: scaleX(0);
    transform-origin: left center;
    transition-property: transform;
    transition-duration: 0.5s;
  }
  .c-search .search-link:hover {
    color: #000;
  }
  .c-search .search-link:hover .-label {
    background-image: url("../img/ico_search-hover.svg");
  }
  .c-search .search-link:hover::before {
    transform: scaleX(1);
  }
}

.kv-video {
  pointer-events: none;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  background-position: center center;
  background-size: cover;
  background-image: url(../img/top/img_kv.jpg);
}

/* 
----------------------------------------*/
.c-top-concept {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-top-concept {
    margin-bottom: calc(100vh - 160px);
    padding-top: 160px;
  }
}
@media screen and (max-width: 767px) {
  .c-top-concept {
    margin-bottom: 50vh;
    padding-top: 16vw;
    padding-bottom: 16vw;
    overflow: hidden;
  }
}
.c-top-concept::before {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #FFF;
  content: "";
}
@media screen and (min-width: 768px) {
  .c-top-concept::before {
    height: calc(100% - 280px);
  }
}
@media screen and (max-width: 767px) {
  .c-top-concept::before {
    height: calc(100% - 32vw);
  }
}

.top-concept-top {
  position: relative;
  z-index: 1;
}

.top-concept-contents {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .top-concept-contents {
    width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents {
    margin-left: 8.8vw;
  }
}
.top-concept-contents .-ttl {
  display: flex;
  flex-direction: column;
}
.top-concept-contents .-ttl.-add-movin:not(.-display-on) .-ttl-sub span {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-ttl.-add-movin:not(.-display-on) .-ttl-sub span {
    transform: translateY(-20px);
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-ttl.-add-movin:not(.-display-on) .-ttl-sub span {
    transform: translateY(-5.3333333333vw);
  }
}
.top-concept-contents .-ttl.-add-movin:not(.-display-on) .-ttl-sub::after {
  transform: scaleX(0);
}
.top-concept-contents .-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
    transform: translateX(100px);
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
    transform: translateX(26.6666666667vw);
  }
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span {
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-duration: 0.5s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(1) {
  transition-delay: 0s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(2) {
  transition-delay: 0.125s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(3) {
  transition-delay: 0.25s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(4) {
  transition-delay: 0.375s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(5) {
  transition-delay: 0.5s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(6) {
  transition-delay: 0.625s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(7) {
  transition-delay: 0.75s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(8) {
  transition-delay: 0.875s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(9) {
  transition-delay: 1s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(10) {
  transition-delay: 1.125s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(11) {
  transition-delay: 1.25s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(12) {
  transition-delay: 1.375s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(13) {
  transition-delay: 1.5s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(14) {
  transition-delay: 1.625s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(15) {
  transition-delay: 1.75s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(16) {
  transition-delay: 1.875s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(17) {
  transition-delay: 2s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(18) {
  transition-delay: 2.125s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(19) {
  transition-delay: 2.25s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(20) {
  transition-delay: 2.375s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-sub::after {
  transition-property: transform;
  transition-duration: 1.3s;
}
.top-concept-contents .-ttl.-add-movin.-display-on .-ttl-head .-movin {
  transition-property: opacity, transform;
  transition-timing-function: linear, ease-in-out;
  transition-duration: 1.3s;
  transition-delay: 0.7s;
}
.top-concept-contents .-ttl .-ttl-sub {
  position: relative;
  display: flex;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.125em;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-ttl .-ttl-sub {
    padding-bottom: 24px;
    margin-bottom: 20px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-ttl .-ttl-sub {
    padding-bottom: 6.4vw;
    margin-bottom: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.top-concept-contents .-ttl .-ttl-sub span {
  display: block;
}
.top-concept-contents .-ttl .-ttl-sub::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  height: 1px;
  background-color: #000;
  content: "";
  transform-origin: left top;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-ttl .-ttl-sub::after {
    width: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-ttl .-ttl-sub::after {
    width: 5.3333333333vw;
  }
}
.top-concept-contents .-ttl .-ttl-head {
  display: block;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-ttl .-ttl-head {
    font-size: 38px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-ttl .-ttl-head {
    font-size: 6.4vw;
  }
}
.top-concept-contents .-ttl .-ttl-head .-movin {
  display: inline-block;
  transform-origin: left center;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-lead {
    margin-top: 50px;
    font-size: 18px;
    line-height: 2.75;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-lead {
    margin-top: 9.6vw;
    font-size: 4.2666666667vw;
    line-height: 2.75;
  }
}
.top-concept-contents .-lead p.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-lead p.-add-movin:not(.-display-on) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-lead p.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.top-concept-contents .-lead p.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
@media screen and (min-width: 768px) {
  .top-concept-contents .-lead p:not(:first-of-type) {
    margin-top: 36px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-contents .-lead p:not(:first-of-type) {
    margin-top: 8.5333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .top-concept-top-photo {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-top-photo {
    display: flex;
    justify-content: flex-end;
    margin-top: 10.6666666667vw;
  }
}
.top-concept-top-photo .-movin {
  display: block;
}
@media screen and (min-width: 768px) {
  .top-concept-top-photo .-img {
    width: 548px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-top-photo .-img {
    width: 61.8666666667vw;
    height: 88.5333333333vw;
  }
}
.top-concept-top-photo.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-concept-top-photo.-add-movin:not(.-display-on) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .top-concept-top-photo.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.top-concept-top-photo.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}

.top-concept-bottom {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .top-concept-bottom {
    margin-top: 160px;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-bottom {
    margin-top: 8vw;
    max-width: 87.7333333333vw;
  }
}
.top-concept-bottom .-movin {
  display: block;
}
.top-concept-bottom .-img {
  height: auto;
}
@media screen and (min-width: 768px) {
  .top-concept-bottom .-img {
    width: 597px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-bottom .-img {
    width: 70.9333333333vw;
  }
}
.top-concept-bottom.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-concept-bottom.-add-movin:not(.-display-on) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .top-concept-bottom.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.top-concept-bottom.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}

/* 
----------------------------------------*/
.c-top-main {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-top-main {
    padding-bottom: 10.6666666667vw;
  }
}
.c-top-main::before {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  background-color: #FFF;
  content: "";
}
@media screen and (min-width: 768px) {
  .c-top-main::before {
    top: 400px;
    height: calc(100% - 400px);
  }
}
@media screen and (max-width: 767px) {
  .c-top-main::before {
    top: 0;
    height: 100%;
  }
}

.c-top-main-item {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-top-main-item:not(:last-of-type) {
    margin-bottom: 18.6666666667vw;
  }
}

.top-main-kv {
  position: relative;
  overflow: hidden;
}

.top-main-kv-ttl {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .top-main-kv-ttl {
    right: 0;
    left: 0;
    bottom: 70px;
    width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .top-main-kv-ttl {
    left: 8.8vw;
    bottom: 9.3333333333vw;
  }
}
.top-main-kv-ttl.-add-movin:not(.-display-on) .-ttl-sub span {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-main-kv-ttl.-add-movin:not(.-display-on) .-ttl-sub span {
    transform: translateY(-20px);
  }
}
@media screen and (max-width: 767px) {
  .top-main-kv-ttl.-add-movin:not(.-display-on) .-ttl-sub span {
    transform: translateY(-5.3333333333vw);
  }
}
.top-main-kv-ttl.-add-movin:not(.-display-on) .-ttl-sub::after {
  transform: scaleX(0);
}
.top-main-kv-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-main-kv-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
    transform: translateX(120px);
  }
}
@media screen and (max-width: 767px) {
  .top-main-kv-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
    transform: translateX(26.6666666667vw);
  }
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span {
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-duration: 0.5s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(1) {
  transition-delay: 0s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(2) {
  transition-delay: 0.125s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(3) {
  transition-delay: 0.25s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(4) {
  transition-delay: 0.375s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(5) {
  transition-delay: 0.5s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(6) {
  transition-delay: 0.625s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(7) {
  transition-delay: 0.75s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(8) {
  transition-delay: 0.875s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(9) {
  transition-delay: 1s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(10) {
  transition-delay: 1.125s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(11) {
  transition-delay: 1.25s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(12) {
  transition-delay: 1.375s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(13) {
  transition-delay: 1.5s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(14) {
  transition-delay: 1.625s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(15) {
  transition-delay: 1.75s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(16) {
  transition-delay: 1.875s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(17) {
  transition-delay: 2s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(18) {
  transition-delay: 2.125s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(19) {
  transition-delay: 2.25s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub span:nth-of-type(20) {
  transition-delay: 2.375s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-sub::after {
  transition-property: transform;
  transition-duration: 1.3s;
}
.top-main-kv-ttl.-add-movin.-display-on .-ttl-head .-movin {
  transition-property: opacity, transform;
  transition-timing-function: linear, ease-in-out;
  transition-duration: 0.625s, 1.3s;
  transition-delay: 0.7s;
}
.top-main-kv-ttl .-ttl-sub {
  position: relative;
  display: flex;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.125em;
}
@media screen and (min-width: 768px) {
  .top-main-kv-ttl .-ttl-sub {
    padding-bottom: 24px;
    margin-bottom: 20px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-kv-ttl .-ttl-sub {
    padding-bottom: 6.4vw;
    margin-bottom: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.top-main-kv-ttl .-ttl-sub span {
  display: block;
}
.top-main-kv-ttl .-ttl-sub::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  height: 1px;
  background-color: #FFF;
  content: "";
  transform-origin: left center;
}
@media screen and (min-width: 768px) {
  .top-main-kv-ttl .-ttl-sub::after {
    width: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-kv-ttl .-ttl-sub::after {
    width: 5.3333333333vw;
  }
}
.top-main-kv-ttl .-ttl-head {
  display: block;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .top-main-kv-ttl .-ttl-head {
    font-size: 38px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-kv-ttl .-ttl-head {
    font-size: 5.8666666667vw;
  }
}
.top-main-kv-ttl .-ttl-head .-movin {
  display: inline-block;
  transform-origin: left center;
}

.top-main-kv-img {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .top-main-kv-img:not(.-w100) {
    margin-right: 133px;
  }
}
.top-main-kv-img .-movin {
  display: block;
}
.top-main-kv-img .-img {
  width: 100%;
}

.top-main-contents {
  position: relative;
}
@media screen and (min-width: 768px) {
  .top-main-contents {
    height: 696px;
    padding-top: 80px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 768px) {
  .top-main-contents-lead {
    width: 1100px;
    margin-right: auto;
    margin-left: auto;
    font-size: 18px;
    line-height: 2.75;
  }
}
@media screen and (max-width: 767px) {
  .top-main-contents-lead {
    margin-left: 8.8vw;
    margin-top: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
    font-size: 4.2666666667vw;
    line-height: 2.75;
  }
}
.top-main-contents-lead.-add-movin:not(.-display-on) .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-main-contents-lead.-add-movin:not(.-display-on) .-movin {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .top-main-contents-lead.-add-movin:not(.-display-on) .-movin {
    transform: translateY(16vw);
  }
}
.top-main-contents-lead.-add-movin.-display-on .-movin {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.top-main-contents-lead .-movin {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .top-main-photo {
    position: absolute;
    top: -171px;
    right: 0;
    width: 659px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-photo {
    position: relative;
  }
}

.top-main-photo-slider {
  display: flex;
}
.top-main-photo-slider.-slider-top {
  justify-content: flex-end;
}
.top-main-photo-slider.-slider-bottom {
  justify-content: flex-start;
}
.top-main-photo:not(.-display-on) .top-main-photo-slider {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-main-photo:not(.-display-on) .top-main-photo-slider.-slider-top {
    transform: translateX(80px);
  }
  .top-main-photo:not(.-display-on) .top-main-photo-slider.-slider-bottom {
    transform: translateX(-80px);
  }
}
@media screen and (max-width: 767px) {
  .top-main-photo:not(.-display-on) .top-main-photo-slider.-slider-top {
    transform: translateX(21.3333333333vw);
  }
  .top-main-photo:not(.-display-on) .top-main-photo-slider.-slider-bottom {
    transform: translateX(-21.3333333333vw);
  }
}
.top-main-photo.-display-on .top-main-photo-slider {
  transition-property: opacity, transform;
  transition-timing-function: linear, cubic-bezier(0.45, 0, 0.55, 1);
  transition-duration: 0.375s, 1.3s;
}
.top-main-photo-slider .-list:not(.slick-initialized) .-item:not(:first-of-type) {
  display: none;
}
@media screen and (min-width: 768px) {
  .top-main-photo-slider .-list {
    width: 526px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-photo-slider .-list {
    width: 77.3333333333vw;
  }
}
.top-main-photo-slider .-img {
  width: 100%;
}

.top-main-photo-slider-nav {
  position: absolute;
  right: 0;
  left: 0;
  display: flex;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .top-main-photo-slider-nav {
    top: calc(50% - 30px);
    width: 120px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-photo-slider-nav {
    top: calc(50% - 5.3333333333vw);
    width: 21.3333333333vw;
  }
}
.top-main-photo-slider-nav.-add-movin:not(.-display-on) {
  opacity: 0;
}
.top-main-photo-slider-nav.-add-movin.-display-on {
  transition-property: opacity;
  transition-timing-function: linear;
  transition-duration: 0.375s;
}

.top-main-photo-slider-nav-item {
  position: relative;
  display: flex;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
}
.top-main-photo-slider-nav-item.-disable {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .top-main-photo-slider-nav-item {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-photo-slider-nav-item {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.top-main-photo-slider-nav-item .-arr {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .top-main-photo-slider-nav-item .-arr {
    background-size: auto 0.864vw;
  }
}
.top-main-photo-slider-nav-item.-prev .-arr {
  background-image: url("../img/ico_photo-slider-arr-prev.svg");
}
.top-main-photo-slider-nav-item.-next .-arr {
  background-image: url("../img/ico_photo-slider-arr-next.svg");
}
@media screen and (min-width: 768px) {
  .top-main-photo-slider-nav-item::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.125);
    content: "";
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s;
    -webkit-animation-name: slider-nav-hover-off;
    animation-name: slider-nav-hover-off;
  }
  .top-main-photo-slider-nav-item:hover::after {
    -webkit-animation-name: slider-nav-hover-on;
    animation-name: slider-nav-hover-on;
  }
  @-webkit-keyframes slider-nav-hover-on {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes slider-nav-hover-on {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(0);
    }
  }
  @-webkit-keyframes slider-nav-hover-off {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(100%);
    }
  }
  @keyframes slider-nav-hover-off {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(100%);
    }
  }
}

@media screen and (min-width: 768px) {
  .top-main-contents-img {
    position: absolute;
    top: 90px;
    right: 0;
    width: calc(50% + 129px);
    max-width: 812px;
  }
}
@media screen and (max-width: 767px) {
  .top-main-contents-img {
    margin-left: 24.8vw;
  }
}
.top-main-contents-img.-add-movin:not(.-display-on) .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .top-main-contents-img.-add-movin:not(.-display-on) .-movin {
    transform: translateX(120px);
  }
}
@media screen and (max-width: 767px) {
  .top-main-contents-img.-add-movin:not(.-display-on) .-movin {
    transform: translateX(32vw);
  }
}
.top-main-contents-img.-add-movin.-display-on .-movin {
  transition-property: opacity, transform;
  transition-timing-function: linear, cubic-bezier(0.45, 0, 0.55, 1);
  transition-duration: 0.375s, 1.3s;
}
.top-main-contents-img .-movin {
  display: inline-block;
}
.top-main-contents-img .-img {
  width: 100%;
}

/* 
----------------------------------------*/
.c-zeh {
  position: relative;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .c-zeh {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .c-zeh {
    overflow: hidden;
    padding-bottom: 16vw;
  }
}

.zeh-kv {
  overflow: hidden;
}

.zeh-kv-img {
  overflow: hidden;
}
.zeh-kv-img .-movin {
  display: block;
}
.zeh-kv-img .-img {
  width: 100%;
}

.zeh-contents {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .zeh-contents {
    display: flex;
    width: 100%;
    max-width: 1100px;
  }
}
@media screen and (min-width: 768px) {
  .zeh-contents-description {
    order: 2;
    flex: 1;
    margin-left: 130px;
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .zeh-contents-description {
    margin-left: 8.8vw;
    margin-top: 10.6666666667vw;
    margin-bottom: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .zeh-contents-description .-lead {
    font-size: 18px;
    line-height: 3;
  }
}
@media screen and (max-width: 767px) {
  .zeh-contents-description .-lead {
    font-size: 4.2666666667vw;
    line-height: 2.5;
  }
}
.zeh-contents-description .-note {
  color: #777777;
}
@media screen and (min-width: 768px) {
  .zeh-contents-description .-note {
    margin-top: 12px;
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .zeh-contents-description .-note {
    margin-top: 3.2vw;
    font-size: 3.2vw;
  }
}
.zeh-contents-description.-add-movin:not(.-display-on) .-lead,
.zeh-contents-description.-add-movin:not(.-display-on) .-note {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .zeh-contents-description.-add-movin:not(.-display-on) .-lead,
.zeh-contents-description.-add-movin:not(.-display-on) .-note {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .zeh-contents-description.-add-movin:not(.-display-on) .-lead,
.zeh-contents-description.-add-movin:not(.-display-on) .-note {
    transform: translateY(16vw);
  }
}
.zeh-contents-description.-add-movin.-display-on .-lead,
.zeh-contents-description.-add-movin.-display-on .-note {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}

@media screen and (min-width: 768px) {
  .zeh-contents-photo {
    order: 1;
    width: 490px;
    margin-top: -96px;
  }
}
@media screen and (max-width: 767px) {
  .zeh-contents-photo .-photo-top {
    margin-left: 24.8vw;
  }
}
@media screen and (min-width: 768px) {
  .zeh-contents-photo .-photo-bottom {
    width: 268px;
    margin-top: -106px;
    margin-left: -134px;
  }
}
@media screen and (max-width: 767px) {
  .zeh-contents-photo .-photo-bottom {
    width: 41.0666666667vw;
    margin-top: -15.4666666667vw;
  }
}
.zeh-contents-photo .-photo-top.-add-movin:not(.-display-on),
.zeh-contents-photo .-photo-bottom.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .zeh-contents-photo .-photo-top.-add-movin:not(.-display-on),
.zeh-contents-photo .-photo-bottom.-add-movin:not(.-display-on) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .zeh-contents-photo .-photo-top.-add-movin:not(.-display-on),
.zeh-contents-photo .-photo-bottom.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.zeh-contents-photo .-photo-top.-add-movin.-display-on,
.zeh-contents-photo .-photo-bottom.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.zeh-contents-photo .-img {
  width: 100%;
}

.zeh-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #727C7C;
  color: #727C7C;
}
@media screen and (min-width: 768px) {
  .zeh-link {
    width: 140px;
    height: 30px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .zeh-link {
    position: absolute;
    right: 8.5333333333vw;
    bottom: 0;
    width: 37.3333333333vw;
    height: 8vw;
  }
}
.zeh-link.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .zeh-link.-add-movin:not(.-display-on) {
    transform: translateY(40px);
  }
}
@media screen and (max-width: 767px) {
  .zeh-link.-add-movin:not(.-display-on) {
    transform: translateX(21.3333333333vw);
  }
}
.zeh-link.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.zeh-link .-label {
  display: block;
  width: 100%;
  background-repeat: no-repeat;
  background-position: right center;
  background-image: url(../img/ico_pickup-link-arr.svg);
}
@media screen and (min-width: 768px) {
  .zeh-link .-label {
    background-size: auto 2.78px;
    font-size: 14px;
    transition-property: opacity;
    transition-duration: 0.25s;
  }
  .zeh-link .-label:hover {
    opacity: 0.5;
    -webkit-animation-name: zeh-hover;
    animation-name: zeh-hover;
    -webkit-animation-duration: 0.625s;
    animation-duration: 0.625s;
  }
}
@media screen and (max-width: 767px) {
  .zeh-link .-label {
    background-size: auto 0.7413333333vw;
    font-size: 3.7333333333vw;
  }
}
@-webkit-keyframes zeh-hover {
  0% {
    background-position: right center;
  }
  6.25% {
    background-position: right 8px center;
  }
  100% {
    background-position: right center;
  }
}
@keyframes zeh-hover {
  0% {
    background-position: right center;
  }
  6.25% {
    background-position: right 8px center;
  }
  100% {
    background-position: right center;
  }
}

/* 
----------------------------------------*/
.c-detail-header {
  position: relative;
  background-color: #FFF;
}
.c-detail-header .header-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
}
@media screen and (min-width: 768px) {
  .c-detail-header .header-ttl {
    height: 110px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-header .header-ttl {
    height: 19.2vw;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-header .header-ttl .-img {
    height: 9.168vw;
    width: auto;
  }
}

/* 
----------------------------------------*/
.c-detail-kv {
  position: relative;
  background-color: #FFF;
}
@media screen and (max-width: 767px) {
  .c-detail-kv {
    height: calc(100vh - 60px - 18.6666666667vw);
  }
}

.c-roominfo {
  position: fixed;
  z-index: 99;
  right: 0;
  bottom: 0;
}
body:not(.-loaded) .c-roominfo {
  transform: translateY(100%);
}
body.-loaded .c-roominfo {
  transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  transition-property: transform;
}
@media screen and (min-width: 768px) {
  body.-loaded .c-roominfo {
    transition-duration: 0.9s;
    transition-delay: 1.625s;
  }
}
@media screen and (max-width: 767px) {
  body.-loaded .c-roominfo {
    transition-duration: 1.3s;
    transition-delay: 3.25s;
  }
}
.c-roominfo .roominfo-link {
  position: relative;
  display: block;
  background-color: #740207;
  text-decoration: none;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .c-roominfo .roominfo-link {
    width: 133px;
    height: 133px;
  }
}
@media screen and (max-width: 767px) {
  .c-roominfo .roominfo-link {
    width: 23.4666666667vw;
    height: 23.4666666667vw;
  }
}
.c-roominfo .roominfo-link .-label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-image: url(../img/ico_roominfo.svg);
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .c-roominfo .roominfo-link .-label {
    padding-top: 54px;
    background-position: 48px 20px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-roominfo .roominfo-link .-label {
    padding-top: 10.1333333333vw;
    background-position: 8.5333333333vw 3.7333333333vw;
    background-size: auto 6.6133333333vw;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .c-roominfo .roominfo-link {
    transition-property: color;
    transition-duration: 0.3s;
  }
  .c-roominfo .roominfo-link .-label {
    transition-property: background-image;
    transition-duration: 0s;
    transition-delay: 0.125s;
  }
  .c-roominfo .roominfo-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    transform: scaleX(0);
    transform-origin: left center;
    transition-property: transform;
    transition-duration: 0.5s;
  }
  .c-roominfo .roominfo-link:hover {
    color: #740207;
  }
  .c-roominfo .roominfo-link:hover .-label {
    background-image: url("../img/ico_roominfo-hover.svg");
  }
  .c-roominfo .roominfo-link:hover::before {
    transform: scaleX(1);
  }
}

@media screen and (min-width: 768px) {
  .detail-kv-main {
    height: calc(100vh - 100px + 135px);
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main {
    height: calc(100vh - 60px - 18.6666666667vw - 34.6666666667vw);
  }
}

.detail-kv-main-background {
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-background {
    height: calc(100vh - 100px + 135px);
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-background {
    height: calc(100vh - 60px - 18.6666666667vw - 34.6666666667vw);
  }
}
.detail-kv-main-background span {
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
body:not(.-loaded) .detail-kv-main-background span {
  opacity: 0;
  transform: scale(1.375);
}
body.-loaded .detail-kv-main-background span {
  transition-property: opacity, transform;
  transition-duration: 0.625s, 3s;
}

.detail-kv-main-container {
  height: 100%;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container {
    position: relative;
    z-index: 1;
    width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
}
.detail-kv-main-container .detail-kv-main-copy-wrap {
  position: absolute;
  z-index: 4;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy-wrap {
    top: calc(100vh - 110px);
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy-wrap {
    right: 5.8666666667vw;
    bottom: 27.7333333333vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  body:not(.-loaded) .detail-kv-main-container .detail-kv-main-copy {
    opacity: 0;
    transform: translateY(-26.6666666667vw);
  }
}
body.-loaded .detail-kv-main-container .detail-kv-main-copy {
  transition-property: opacity, transform;
  transition-duration: 0.625s, 3s;
  transition-delay: 0.625s;
  transition-property: cubic-bezier(0.45, 0, 0.55, 1);
}
.detail-kv-main-container .detail-kv-main-copy .-txt {
  display: inline-flex;
  align-items: center;
  background-color: #FFF;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.125em;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt {
    width: 50px;
    padding-top: 12px;
    padding-bottom: 3px;
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt {
    width: 8.8vw;
    padding-top: 2.4vw;
    padding-bottom: 0.6vw;
    font-size: 4.8vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(1) {
  order: 8;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(1) {
    margin-top: 0px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(1) {
    margin-top: 0vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(2) {
  order: 7;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(2) {
    margin-top: 72px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(2) {
    margin-top: 14.4vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(3) {
  order: 6;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(3) {
    margin-top: 144px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(3) {
    margin-top: 28.8vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(4) {
  order: 5;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(4) {
    margin-top: 216px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(4) {
    margin-top: 43.2vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(5) {
  order: 4;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(5) {
    margin-top: 288px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(5) {
    margin-top: 57.6vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(6) {
  order: 3;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(6) {
    margin-top: 360px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(6) {
    margin-top: 72vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(7) {
  order: 2;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(7) {
    margin-top: 432px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(7) {
    margin-top: 86.4vw;
  }
}
.detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(8) {
  order: 1;
}
@media screen and (min-width: 768px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(8) {
    margin-top: 504px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-main-container .detail-kv-main-copy .-txt:nth-of-type(8) {
    margin-top: 100.8vw;
  }
}

@media screen and (min-width: 768px) {
  .detail-kv-ttl {
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-top: -135px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-ttl {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

.detail-kv-ttl-box {
  display: flex;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
  background-color: #F4F4F4;
}
@media screen and (min-width: 768px) {
  .detail-kv-ttl-box {
    width: 50%;
    padding: 48px 0 48px 58px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-ttl-box {
    width: 93.8666666667vw;
    padding: 10.6666666667vw 0 13.3333333333vw 8.8vw;
  }
}
.detail-kv-ttl-box .-ttl-head {
  position: relative;
  display: block;
}
@media screen and (min-width: 768px) {
  .detail-kv-ttl-box .-ttl-head {
    padding-bottom: 24px;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-ttl-box .-ttl-head {
    padding-bottom: 3.7333333333vw;
    margin-bottom: 3.7333333333vw;
  }
}
.detail-kv-ttl-box .-ttl-head .-ttl-head-jp {
  display: block;
  line-height: 1.125;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .detail-kv-ttl-box .-ttl-head .-ttl-head-jp {
    margin-bottom: 4px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-ttl-box .-ttl-head .-ttl-head-jp {
    margin-bottom: 1.0666666667vw;
    font-size: 3.2vw;
  }
}
.detail-kv-ttl-box .-ttl-head .-ttl-head-en .-ttl-head-en-2 {
  display: block;
  line-height: 1.125;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .detail-kv-ttl-box .-ttl-head .-ttl-head-en {
    font-size: 66px;
  }
  .-ttl-head-en-2 {
    font-size: 67px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-ttl-box .-ttl-head .-ttl-head-en {
    font-size: 11.7333333333vw;
  }
  .-ttl-head-en-2{
    font-size: 10vw;;
  }
}
.detail-kv-ttl-box .-ttl-head::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  height: 1px;
  background-color: #000;
  content: "";
  transform-origin: left center;
}
@media screen and (min-width: 768px) {
  .detail-kv-ttl-box .-ttl-head::after {
    width: 20px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-ttl-box .-ttl-head::after {
    width: 5.3333333333vw;
  }
}
.detail-kv-ttl-box .-ttl-sub {
  display: block;
  line-height: 1.125;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .detail-kv-ttl-box .-ttl-sub {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .detail-kv-ttl-box .-ttl-sub {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .detail-kv-ttl.-add-movin:not(.-display-on) .detail-kv-ttl-box .-ttl-head .-ttl-head-jp,
.detail-kv-ttl.-add-movin:not(.-display-on) .detail-kv-ttl-box .-ttl-head .-ttl-head-en .-ttl-head-en-2,
.detail-kv-ttl.-add-movin:not(.-display-on) .detail-kv-ttl-box .-ttl-sub {
    opacity: 0;
    transform: translateX(100px);
  }
  .detail-kv-ttl.-add-movin:not(.-display-on) .detail-kv-ttl-box .-ttl-head::after {
    transform: scale(0);
  }
  .detail-kv-ttl.-add-movin.-display-on .detail-kv-ttl-box .-ttl-head .-ttl-head-jp,
.detail-kv-ttl.-add-movin.-display-on .detail-kv-ttl-box .-ttl-head .-ttl-head-en .-ttl-head-en-2,
.detail-kv-ttl.-add-movin.-display-on .detail-kv-ttl-box .-ttl-sub {
    transition-property: opacity, transform;
    transition-duration: 0.375s, 1.3s;
  }
  .detail-kv-ttl.-add-movin.-display-on .detail-kv-ttl-box .-ttl-head .-ttl-head-jp {
    transition-delay: 0.625s;
  }
  .detail-kv-ttl.-add-movin.-display-on .detail-kv-ttl-box .-ttl-head .-ttl-head-en .-ttl-head-en-2 {
    transition-delay: 0.75s;
  }
  .detail-kv-ttl.-add-movin.-display-on .detail-kv-ttl-box .-ttl-sub {
    transition-delay: 0.875s;
  }
  .detail-kv-ttl.-add-movin.-display-on .detail-kv-ttl-box .-ttl-head::after {
    transition-property: transform;
    transition-duration: 1.3s;
    transition-delay: 1s;
  }
}
@media screen and (max-width: 767px) {
  body:not(.-loaded) .detail-kv-ttl-box {
    background-color: rgba(255, 255, 255, 0);
  }
  body:not(.-loaded) .detail-kv-ttl-box .-ttl-head .-ttl-head-jp,
body:not(.-loaded) .detail-kv-ttl-box .-ttl-head .-ttl-head-en .-ttl-head-en-2,
body:not(.-loaded) .detail-kv-ttl-box .-ttl-sub {
    opacity: 0;
    transform: translateX(21.3333333333vw);
  }
  body:not(.-loaded) .detail-kv-ttl-box .-ttl-head::after {
    transform: scale(0);
  }
  body.-loaded .detail-kv-ttl-box {
    transition-property: background-color;
    transition-timing-function: linear;
    transition-duration: 0.625s;
    transition-delay: 2s;
  }
  body.-loaded .detail-kv-ttl-box .-ttl-head .-ttl-head-jp,
body.-loaded .detail-kv-ttl-box .-ttl-head .-ttl-head-en .-ttl-head-en-2,
body.-loaded .detail-kv-ttl-box .-ttl-sub {
    transition-property: opacity, transform;
    transition-duration: 0.375s, 1.3s;
  }
  body.-loaded .detail-kv-ttl-box .-ttl-head .-ttl-head-jp {
    transition-delay: 2.625s;
  }
  body.-loaded .detail-kv-ttl-box .-ttl-head .-ttl-head-en .-ttl-head-en-2 {
    transition-delay: 2.75s;
  }
  body.-loaded .detail-kv-ttl-box .-ttl-sub {
    transition-delay: 2.875s;
  }
  body.-loaded .detail-kv-ttl-box .-ttl-head::after {
    transition-property: transform;
    transition-duration: 1.3s;
    transition-delay: 3s;
  }
}

/* 
----------------------------------------*/
.c-detail-concept {
  position: relative;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .c-detail-concept {
    padding-top: 160px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-concept {
    padding-top: 26.6666666667vw;
  }
}

@media screen and (min-width: 768px) {
  .detail-concept-statement {
    width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
}
.detail-concept-statement .-ttl {
  position: relative;
}
.detail-concept-statement .-ttl .-ttl-sub {
  position: absolute;
  display: block;
  overflow: hidden;
  color: rgba(0, 0, 0, 0.05);
  white-space: nowrap;
  line-height: 1;
  font-weight: 300;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .detail-concept-statement .-ttl .-ttl-sub {
    top: -70px;
    left: -40px;
    font-size: 110px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-statement .-ttl .-ttl-sub {
    top: -13.3333333333vw;
    left: 0;
    font-size: 20.8vw;
    text-align: center;
  }
}
.detail-concept-statement .-ttl .-ttl-sub .-movin {
  display: block;
}
.detail-concept-statement .-ttl .-ttl-head {
  position: relative;
  z-index: 1;
  display: block;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .detail-concept-statement .-ttl .-ttl-head {
    font-size: 38px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-statement .-ttl .-ttl-head {
    font-size: 6.4vw;
    text-align: center;
  }
}
.detail-concept-statement .-ttl .-ttl-head span {
  display: inline-block;
}
.detail-concept-statement .-ttl.-add-movin:not(.-display-on) .-ttl-sub .-movin {
  transform: translateY(100%);
}
.detail-concept-statement .-ttl.-add-movin:not(.-display-on) .-ttl-head span {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .detail-concept-statement .-ttl.-add-movin:not(.-display-on) .-ttl-head span {
    transform: translateY(40px);
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-statement .-ttl.-add-movin:not(.-display-on) .-ttl-head span {
    transform: translateY(5.3333333333vw);
  }
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-sub .-movin {
  transition-property: transform;
  transition-duration: 1.3s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 0.625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(1) {
  transition-delay: 0.625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(2) {
  transition-delay: 0.6875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(3) {
  transition-delay: 0.75s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(4) {
  transition-delay: 0.8125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(5) {
  transition-delay: 0.875s;
}

.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(6) {
  transition-delay: 0.9375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(7) {
  transition-delay: 1s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(8) {
  transition-delay: 1.0625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(9) {
  transition-delay: 1.125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(10) {
  transition-delay: 1.1875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(11) {
  transition-delay: 1.25s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(12) {
  transition-delay: 1.3125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(13) {
  transition-delay: 1.375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(14) {
  transition-delay: 1.4375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(15) {
  transition-delay: 1.5s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(16) {
  transition-delay: 1.5625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(17) {
  transition-delay: 1.625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(18) {
  transition-delay: 1.6875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(19) {
  transition-delay: 1.75s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(20) {
  transition-delay: 1.8125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(21) {
  transition-delay: 1.875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(22) {
  transition-delay: 1.9375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(23) {
  transition-delay: 2s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(24) {
  transition-delay: 2.0625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(25) {
  transition-delay: 2.125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(26) {
  transition-delay: 2.1875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(27) {
  transition-delay: 2.25s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(28) {
  transition-delay: 2.3125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(29) {
  transition-delay: 2.375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(30) {
  transition-delay: 2.4375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(31) {
  transition-delay: 2.5s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(32) {
  transition-delay: 2.5625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(33) {
  transition-delay: 2.625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(34) {
  transition-delay: 2.6875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(35) {
  transition-delay: 2.75s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(36) {
  transition-delay: 2.8125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(37) {
  transition-delay: 2.875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(38) {
  transition-delay: 2.9375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(39) {
  transition-delay: 3s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(40) {
  transition-delay: 3.0625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(41) {
  transition-delay: 3.125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(42) {
  transition-delay: 3.1875s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(43) {
  transition-delay: 3.25s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(44) {
  transition-delay: 3.3125s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(45) {
  transition-delay: 3.375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(46) {
  transition-delay: 3.4375s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(47) {
  transition-delay: 3.5s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(48) {
  transition-delay: 3.5625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(49) {
  transition-delay: 3.625s;
}
.detail-concept-statement .-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(50) {
  transition-delay: 3.6875s;
}
@media screen and (min-width: 768px) {
  .detail-concept-statement .-lead {
    margin-top: 50px;
    font-size: 18px;
    line-height: 2.75;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-statement .-lead {
    margin-top: 9.6vw;
    font-size: 4.2666666667vw;
    line-height: 2.75;
    text-align: center;
  }
}
.detail-concept-statement .-lead.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .detail-concept-statement .-lead.-add-movin:not(.-display-on) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-statement .-lead.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.detail-concept-statement .-lead.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
@media screen and (min-width: 768px) {
  .detail-concept-statement .-lead p:not(:first-of-type) {
    margin-top: 36px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-statement .-lead p:not(:first-of-type) {
    margin-top: 8.5333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .detail-concept-profile {
    margin-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile {
    margin-top: 10.6666666667vw;
  }
}

.detail-concept-profile-box {
  box-sizing: border-box;
  background-color: #7C7C7C;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-box {
    width: calc(100% - 133px);
    padding-top: 60px;
    padding-right: 50px;
    padding-bottom: 60px;
    padding-left: calc((100% + 0px - 1100px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-box {
    padding: 8vw 8vw 10.6666666667vw;
  }
}
.detail-concept-profile-box.-add-movin:not(.-display-on) {
  -webkit-clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
  clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
}
.detail-concept-profile-box.-add-movin.-display-on {
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-box.-add-movin.-display-on {
    transition-duration: 2s;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-box.-add-movin.-display-on {
    transition-duration: 1.375s;
  }
}

.detail-concept-profile-container {
  position: relative;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1050px;
  }
}
.detail-concept-profile-ttl {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-ttl {
    flex: 1;
    margin-right: 20px;
  }
}
.detail-concept-profile-ttl .-ttl-sub {
  font-weight: 400;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-ttl .-ttl-sub {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-ttl .-ttl-sub {
    font-size: 3.7333333333vw;
    margin-bottom: 1.6vw;
  }
}
.detail-concept-profile-ttl .-ttl-head {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-ttl .-ttl-head {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-ttl .-ttl-head {
    font-size: 4.5333333333vw;
  }
}

.detail-concept-profile-img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-img {
    width: 435px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-img {
    position: relative;
    width: 82.4vw;
    margin-top: 8vw;
  }
}
.detail-concept-profile-img .-img {
  width: 100%;
  height: auto;
}
.detail-concept-profile-img .-caption {
  position: absolute;
  right: 0;
  display: flex;
  align-items: flex-end;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #7C7C7C;
  background-color: #7C7C7C;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-img .-caption {
    bottom: -1px;
    padding: 20px 20px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-img .-caption {
    bottom: 0;
    padding: 3.2vw 3.2vw;
  }
}
.detail-concept-profile-img .-caption .-caption-jp {
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-img .-caption .-caption-jp {
    margin-right: 16px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-img .-caption .-caption-jp {
    margin-right: 3.7333333333vw;
    font-size: 3.7333333333vw;
  }
}
.detail-concept-profile-img .-caption .-caption-en {
  line-height: 1;
  font-weight: 400;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-img .-caption .-caption-en {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-img .-caption .-caption-en {
    font-size: 2.9333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .detail-concept-profile-more {
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc(100% - 435px - 20px);
    max-width: 525px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-more {
    margin-top: 5.3333333333vw;
  }
}
.detail-concept-profile-more .-link {
  position: relative;
  display: block;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-more .-link {
    padding-bottom: 6px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-more .-link {
    padding-bottom: 1.6vw;
  }
}
.detail-concept-profile-more .-link .-label {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center right;
  font-weight: 400;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-more .-link .-label {
    padding-right: 30px;
    background-image: url("../img/ico_readmore-open_pc.svg");
    font-size: 20px;
  }
  .-open .detail-concept-profile-more .-link .-label {
    background-image: url("../img/ico_readmore-close_pc.svg");
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-more .-link .-label {
    padding-right: 8vw;
    background-image: url("../img/ico_readmore-open_sp.svg");
    background-size: 3.6402666667vw auto;
    font-size: 3.7333333333vw;
  }
  .-open .detail-concept-profile-more .-link .-label {
    background-image: url("../img/ico_readmore-close_sp.svg");
  }
}
.detail-concept-profile-more .-link::after {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  background-color: #FFF;
  content: "";
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-more .-link::after {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-more .-link::after {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .detail-concept-profile-more .-link::after {
    transform-origin: left center;
  }
  .detail-concept-profile-more .-link:hover::after {
    -webkit-animation-name: more-hover;
    animation-name: more-hover;
    -webkit-animation-duration: 0.9s;
    animation-duration: 0.9s;
    -webkit-animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
    animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  }
  @-webkit-keyframes more-hover {
    0% {
      transform: scaleX(0);
    }
    100% {
      transform: scaleX(1);
    }
  }
  @keyframes more-hover {
    0% {
      transform: scaleX(0);
    }
    100% {
      transform: scaleX(1);
    }
  }
}

@media screen and (min-width: 768px) {
  .detail-concept-profile-lead {
    max-width: 1050px;
  }
}

@media screen and (min-width: 768px) {
  .detail-concept-profile-lead-body {
    padding-top: 50px;
    line-height: 2;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .detail-concept-profile-lead-body {
    padding-top: 8vw;
    padding-bottom: 8vw;
    border-bottom-color: #FFF;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    line-height: 2;
    font-size: 3.7333333333vw;
  }
}

/* 
----------------------------------------*/
.c-detail-main {
  position: relative;
  overflow: hidden;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .c-detail-main {
    padding-bottom: 320px;
    padding-top: 160px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main {
    padding-bottom: 48vw;
    padding-top: 21.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .c-detail-main-item:not(:first-of-type) {
    margin-top: 220px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main-item:not(:first-of-type) {
    margin-top: 40vw;
  }
}

.detail-main-ttl {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .detail-main-ttl {
    margin-right: 83px;
    margin-left: 83px;
  }
}
.detail-main-ttl .-ttl-sub {
  position: absolute;
  top: 0;
  display: block;
  font-weight: 300;
  font-family: "Lato", sans-serif;
  line-height: 1.125;
}
@media screen and (min-width: 768px) {
  .detail-main-ttl .-ttl-sub {
    font-size: 110px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-ttl .-ttl-sub {
    font-size: 13.3333333333vw;
  }
}
.c-detail-main-item:nth-of-type(odd) .detail-main-ttl .-ttl-sub {
  transform: translateY(-100%);
}
@media screen and (min-width: 768px) {
  .c-detail-main-item:nth-of-type(odd) .detail-main-ttl .-ttl-sub {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main-item:nth-of-type(odd) .detail-main-ttl .-ttl-sub {
    left: 3.7333333333vw;
  }
}
.c-detail-main-item:nth-of-type(even) .detail-main-ttl .-ttl-sub {
  transform: translateX(100%);
}
@media screen and (min-width: 768px) {
  .c-detail-main-item:nth-of-type(even) .detail-main-ttl .-ttl-sub {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main-item:nth-of-type(even) .detail-main-ttl .-ttl-sub {
    right: 3.7333333333vw;
  }
}
.detail-main-ttl .-ttl-sub .-rotate {
  display: block;
  transform: rotate(90deg);
}
.c-detail-main-item:nth-of-type(odd) .detail-main-ttl .-ttl-sub .-rotate {
  transform-origin: left bottom;
}
.c-detail-main-item:nth-of-type(even) .detail-main-ttl .-ttl-sub .-rotate {
  transform-origin: left top;
}
.detail-main-ttl .-ttl-sub .-rotate span {
  display: inline-block;
}
.detail-main-ttl .-ttl-head {
  display: block;
  line-height: 1.7;
  font-weight: 500;
  /*.c-detail-main-item.-livingspace:nth-of-type(odd) & {
      @include g.pc() {
          padding-left: 308px;
      }
      @include g.sp() {
          padding-left: g.vw(145.25);
      }
  }*/
}
@media screen and (min-width: 768px) {
  .detail-main-ttl .-ttl-head {
    font-size: 38px;
    padding-top: 60px;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-ttl .-ttl-head {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-detail-main-item:nth-of-type(odd) .detail-main-ttl .-ttl-head {
    padding-left: 184px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main-item:nth-of-type(odd) .detail-main-ttl .-ttl-head {
    padding-left: 23.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-detail-main-item:nth-of-type(even) .detail-main-ttl .-ttl-head {
    padding-left: 50px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main-item:nth-of-type(even) .detail-main-ttl .-ttl-head {
    padding-left: 8.8vw;
  }
}
.detail-main-ttl .-ttl-head .-movin {
  display: inline-block;
  transform-origin: left center;
}
.detail-main-ttl.-add-movin:not(.-display-on) .-ttl-sub .-rotate span {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .detail-main-ttl.-add-movin:not(.-display-on) .-ttl-sub .-rotate span {
    transform: translateX(60px);
  }
}
@media screen and (max-width: 767px) {
  .detail-main-ttl.-add-movin:not(.-display-on) .-ttl-sub .-rotate span {
    transform: translateX(10.6666666667vw);
  }
}
.detail-main-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .detail-main-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
    transform: translateX(120px);
  }
}
@media screen and (max-width: 767px) {
  .detail-main-ttl.-add-movin:not(.-display-on) .-ttl-head .-movin {
    transform: translateX(26.6666666667vw);
  }
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 0.625s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(1) {
  transition-delay: 0s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(2) {
  transition-delay: 0.125s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(3) {
  transition-delay: 0.25s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(4) {
  transition-delay: 0.375s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(5) {
  transition-delay: 0.5s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(6) {
  transition-delay: 0.625s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(7) {
  transition-delay: 0.75s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(8) {
  transition-delay: 0.875s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(9) {
  transition-delay: 1s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(10) {
  transition-delay: 1.125s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(11) {
  transition-delay: 1.25s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(12) {
  transition-delay: 1.375s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(13) {
  transition-delay: 1.5s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(14) {
  transition-delay: 1.625s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(15) {
  transition-delay: 1.75s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(16) {
  transition-delay: 1.875s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(17) {
  transition-delay: 2s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(18) {
  transition-delay: 2.125s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(19) {
  transition-delay: 2.25s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(20) {
  transition-delay: 2.375s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(21) {
  transition-delay: 2.5s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(22) {
  transition-delay: 2.625s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(23) {
  transition-delay: 2.75s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(24) {
  transition-delay: 2.875s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(25) {
  transition-delay: 3s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(26) {
  transition-delay: 3.125s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(27) {
  transition-delay: 3.25s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(28) {
  transition-delay: 3.375s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(29) {
  transition-delay: 3.5s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(30) {
  transition-delay: 3.625s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(31) {
  transition-delay: 3.75s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(32) {
  transition-delay: 3.875s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(33) {
  transition-delay: 4s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(34) {
  transition-delay: 4.125s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(35) {
  transition-delay: 4.25s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(36) {
  transition-delay: 4.375s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(37) {
  transition-delay: 4.5s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(38) {
  transition-delay: 4.625s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(39) {
  transition-delay: 4.75s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(40) {
  transition-delay: 4.875s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(41) {
  transition-delay: 5s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(42) {
  transition-delay: 5.125s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(43) {
  transition-delay: 5.25s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(44) {
  transition-delay: 5.375s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(45) {
  transition-delay: 5.5s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(46) {
  transition-delay: 5.625s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(47) {
  transition-delay: 5.75s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(48) {
  transition-delay: 5.875s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(49) {
  transition-delay: 6s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-sub .-rotate span:nth-of-type(50) {
  transition-delay: 6.125s;
}
.detail-main-ttl.-add-movin.-display-on .-ttl-head .-movin {
  transition-property: opacity, transform;
  transition-timing-function: linear, ease-in-out;
  transition-duration: 0.625s, 1.3s;
  transition-delay: 0.375s;
}

.detail-main-kv {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .detail-main-kv {
    margin-top: 5.3333333333vw;
  }
  .detail-main-kv::after {
    position: absolute;
    top: -1px;
    right: 0;
    content: "";
  }
  .detail-main-ttl.-add-movin + .detail-main-kv::after {
    width: 100%;
    height: calc(100% + 2px);
    background-color: #FFF;
    transform-origin: right center;
  }
  .detail-main-ttl.-add-movin.-display-on + .detail-main-kv::after {
    transform: scaleX(0);
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
    transition-duration: 1.7s;
    transition-delay: 1.125s;
  }
}
@media screen and (min-width: 768px) {
  .c-detail-main-item:nth-of-type(odd) .detail-main-kv {
    margin-right: 133px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main-item:nth-of-type(odd) .detail-main-kv {
    margin-right: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-detail-main-item:nth-of-type(even) .detail-main-kv {
    margin-left: 133px;
  }
}
@media screen and (max-width: 767px) {
  .c-detail-main-item:nth-of-type(even) .detail-main-kv {
    margin-left: 8.8vw;
  }
}
.detail-main-kv .-movin {
  display: block;
}
.detail-main-kv .-img {
  width: 100%;
}

.detail-main-lead {
  position: relative;
  z-index: 1;
  display: flex;
}
.c-detail-main-item:nth-of-type(odd) .detail-main-lead {
  justify-content: flex-end;
}
.c-detail-main-item:nth-of-type(even) .detail-main-lead {
  justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  .detail-main-lead {
    margin-right: 83px;
    margin-left: 83px;
    margin-top: -120px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-lead {
    margin-top: -13.3333333333vw;
  }
}
.detail-main-lead .-box {
  display: block;
  box-sizing: border-box;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .detail-main-lead .-box {
    width: 660px;
    padding: 42px 0 42px 50px;
    font-size: 18px;
    line-height: 2.75;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-lead .-box {
    width: 84.8vw;
    padding: 6.9333333333vw 0 6.9333333333vw 8.8vw;
    font-size: 3.7333333333vw;
    line-height: 2;
  }
}
.detail-main-lead .-box .-movin {
  display: block;
}
.detail-main-lead.-add-movin:not(.-display-on) .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .detail-main-lead.-add-movin:not(.-display-on) .-movin {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .detail-main-lead.-add-movin:not(.-display-on) .-movin {
    transform: translateY(16vw);
  }
}
.detail-main-lead.-add-movin.-display-on .-movin {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}

.detail-main-photo {
  position: relative;
}
@media screen and (min-width: 768px) {
  .detail-main-photo {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo {
    margin-top: 5.3333333333vw;
  }
}
.detail-main-photo.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .detail-main-photo.-add-movin:not(.-display-on) {
    transform: translateY(120px);
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.detail-main-photo.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}

.detail-main-photo-slider .-list:not(.slick-initialized) .-item:not(:first-of-type) {
  display: none;
}
@media screen and (min-width: 768px) {
  .detail-main-photo-slider .-item {
    padding-right: 5px;
    padding-left: 5px;
  }
  .detail-main-photo-slider .-item:not(.-current) .-img {
    opacity: 0.5;
  }
}
.detail-main-photo-slider .-wrap {
  display: block;
  background-color: #000;
}
.detail-main-photo-slider .-img {
  width: 100%;
  transition-property: opacity;
  transition-duration: 0.125s;
}
@media screen and (min-width: 768px) {
  .detail-main-photo-slider ul.slick-dots {
    bottom: -61px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo-slider ul.slick-dots {
    bottom: calc(-31px - 5.3333333333vw);
  }
}
@media screen and (min-width: 768px) {
  .detail-main-photo-slider ul.slick-dots li {
    margin-right: 4px;
    margin-left: 4px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo-slider ul.slick-dots li {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-right: 0.5333333333vw;
    margin-left: 0.5333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo-slider ul.slick-dots li button {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    padding: 1.3333333333vw;
  }
}
.detail-main-photo-slider ul.slick-dots li button::before {
  opacity: 1;
  color: #D3D3D3;
}
@media screen and (min-width: 768px) {
  .detail-main-photo-slider ul.slick-dots li button::before {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo-slider ul.slick-dots li button::before {
    font-size: 2.6666666667vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    line-height: 5.3333333333vw;
  }
}
.detail-main-photo-slider ul.slick-dots li.slick-active button::before {
  opacity: 1;
  color: #000;
}

.detail-main-photo-slider-nav {
  pointer-events: none;
  position: absolute;
  right: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .detail-main-photo-slider-nav {
    top: calc(50% - 30px);
    width: 955px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo-slider-nav {
    top: calc(50% - 5.3333333333vw);
    width: 100vw;
  }
}

.detail-main-photo-slider-nav-item {
  pointer-events: auto;
  position: relative;
  display: flex;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
}
.detail-main-photo-slider-nav-item.-disable {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .detail-main-photo-slider-nav-item {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .detail-main-photo-slider-nav-item {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.detail-main-photo-slider-nav-item .-arr {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .detail-main-photo-slider-nav-item .-arr {
    background-size: auto 0.864vw;
  }
}
.detail-main-photo-slider-nav-item.-prev .-arr {
  background-image: url("../img/ico_photo-slider-arr-prev.svg");
}
.detail-main-photo-slider-nav-item.-next .-arr {
  background-image: url("../img/ico_photo-slider-arr-next.svg");
}
@media screen and (min-width: 768px) {
  .detail-main-photo-slider-nav-item::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.125);
    content: "";
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s;
    -webkit-animation-name: slider-nav-hover-off;
    animation-name: slider-nav-hover-off;
  }
  .detail-main-photo-slider-nav-item:hover::after {
    -webkit-animation-name: slider-nav-hover-on;
    animation-name: slider-nav-hover-on;
  }
  @-webkit-keyframes slider-nav-hover-on {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes slider-nav-hover-on {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(0);
    }
  }

  @-webkit-keyframes slider-nav-hover-off {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(100%);
    }
  }
  @keyframes slider-nav-hover-off {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(100%);
    }
  }
}

/* 
----------------------------------------*/
.c-quality {
  position: relative;
  background-color: #EAEAEA;
}
@media screen and (min-width: 768px) {
  .c-quality {
    padding-top: 165px;
    padding-bottom: 160px;
  }
}
@media screen and (max-width: 767px) {
  .c-quality {
    padding-top: 18.1333333333vw;
    padding-bottom: 21.3333333333vw;
  }
}

.quality-ttl {
  position: absolute;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .quality-ttl {
    top: -65px;
    width: 100%;
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .quality-ttl {
    top: -7.4666666667vw;
    width: 82.4vw;
  }
}
.quality-ttl .-ttl-head {
  display: flex;
  line-height: 1;
  font-weight: 300;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .quality-ttl .-ttl-head {
    font-size: 110px;
  }
}
@media screen and (max-width: 767px) {
  .quality-ttl .-ttl-head {
    font-size: 12.2666666667vw;
  }
}
.quality-ttl.-add-movin:not(.-display-on) .-ttl-head span {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .quality-ttl.-add-movin:not(.-display-on) .-ttl-head span {
    transform: translateY(60px);
  }
}
@media screen and (max-width: 767px) {
  .quality-ttl.-add-movin:not(.-display-on) .-ttl-head span {
    transform: translateY(10.6666666667vw);
  }
}
.quality-ttl.-add-movin.-display-on .-ttl-head span {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 0.625s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(1) {
  transition-delay: 0s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(2) {
  transition-delay: 0.125s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(3) {
  transition-delay: 0.25s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(4) {
  transition-delay: 0.375s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(5) {
  transition-delay: 0.5s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(6) {
  transition-delay: 0.625s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(7) {
  transition-delay: 0.75s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(8) {
  transition-delay: 0.875s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(9) {
  transition-delay: 1s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(10) {
  transition-delay: 1.125s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(11) {
  transition-delay: 1.25s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(12) {
  transition-delay: 1.375s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(13) {
  transition-delay: 1.5s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(14) {
  transition-delay: 1.625s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(15) {
  transition-delay: 1.75s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(16) {
  transition-delay: 1.875s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(17) {
  transition-delay: 2s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(18) {
  transition-delay: 2.125s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(19) {
  transition-delay: 2.25s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(20) {
  transition-delay: 2.375s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(21) {
  transition-delay: 2.5s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(22) {
  transition-delay: 2.625s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(23) {
  transition-delay: 2.75s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(24) {
  transition-delay: 2.875s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(25) {
  transition-delay: 3s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(26) {
  transition-delay: 3.125s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(27) {
  transition-delay: 3.25s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(28) {
  transition-delay: 3.375s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(29) {
  transition-delay: 3.5s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(30) {
  transition-delay: 3.625s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(31) {
  transition-delay: 3.75s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(32) {
  transition-delay: 3.875s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(33) {
  transition-delay: 4s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(34) {
  transition-delay: 4.125s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(35) {
  transition-delay: 4.25s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(36) {
  transition-delay: 4.375s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(37) {
  transition-delay: 4.5s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(38) {
  transition-delay: 4.625s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(39) {
  transition-delay: 4.75s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(40) {
  transition-delay: 4.875s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(41) {
  transition-delay: 5s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(42) {
  transition-delay: 5.125s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(43) {
  transition-delay: 5.25s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(44) {
  transition-delay: 5.375s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(45) {
  transition-delay: 5.5s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(46) {
  transition-delay: 5.625s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(47) {
  transition-delay: 5.75s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(48) {
  transition-delay: 5.875s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(49) {
  transition-delay: 6s;
}
.quality-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(50) {
  transition-delay: 6.125s;
}

@media screen and (min-width: 768px) {
  .quality-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .quality-floor {
    order: 1;
    width: 638px;
  }
}
@media screen and (max-width: 767px) {
  .quality-floor {
    width: 82.4vw;
    margin-right: auto;
    margin-left: auto;
  }
}
.quality-floor.-add-movin:not(.-display-on) {
  opacity: 0;
}
.quality-floor.-add-movin.-display-on {
  transition-property: opacity;
  transition-timing-function: linear;
  transition-duration: 0.875s;
}
.quality-floor .-img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .quality-description {
    order: 3;
    display: flex;
    width: 100%;
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .quality-description {
    margin-top: 10.6666666667vw;
  }
}

@media screen and (min-width: 768px) {
  .quality-description-text {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .quality-description-text {
    width: 82.4vw;
    margin-right: auto;
    margin-left: auto;
  }
}
.quality-description-text.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .quality-description-text.-add-movin:not(.-display-on) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .quality-description-text.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.quality-description-text.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.quality-description-text .-ttl {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .quality-description-text .-ttl {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .quality-description-text .-ttl {
    line-height: 2;
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .quality-description-text .-lead {
    line-height: 2;
    font-size: 16px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .quality-description-text .-lead {
    line-height: 2;
    font-size: 3.7333333333vw;
    margin-top: 5.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  .quality-description-photo {
    width: 500px;
    margin-left: 90px;
  }
}
@media screen and (max-width: 767px) {
  .quality-description-photo {
    margin-top: 8vw;
  }
}
.quality-description-photo.-add-movin:not(.-display-on) {
  -webkit-clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
  clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
}
.quality-description-photo.-add-movin.-display-on {
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  transition-duration: 1.375s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
}
.quality-description-photo .-img {
  width: 100%;
  height: auto;
}

.quality-spec {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .quality-spec {
    order: 2;
    width: 394px;
  }
}
@media screen and (max-width: 767px) {
  .quality-spec {
    width: 82.4vw;
    margin-right: auto;
    margin-left: auto;
    margin-top: 10.6666666667vw;
  }
}

.quality-spec-item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .quality-spec-item.-w50 {
    width: calc(50% - 8px);
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item.-w50 {
    width: calc(50% - 2.1333333333vw);
  }
}
@media screen and (min-width: 768px) {
  .quality-spec-item:not(:first-of-type) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item:not(:first-of-type) {
    margin-top: 8vw;
  }
}
.quality-spec-item.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .quality-spec-item.-add-movin:not(.-display-on) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item.-add-movin:not(.-display-on) {
    transform: translateY(16vw);
  }
}
.quality-spec-item.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.quality-spec-item .-ttl {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(114, 124, 124, 0.4);
  color: #727C7C;
}
@media screen and (min-width: 768px) {
  .quality-spec-item .-ttl {
    padding-bottom: 8px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item .-ttl {
    padding-bottom: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .quality-spec-item .-body {
    margin-top: 14px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item .-body {
    margin-top: 3.7333333333vw;
    font-size: 3.7333333333vw;
  }

}
.quality-spec-item .-body.-line {
  display: flex;
  align-items: center;
  margin-top: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(114, 124, 124, 0.4);
}
@media screen and (min-width: 768px) {
  .quality-spec-item .-body.-line {
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item .-body.-line {
    height: 16vw;
  }
}
@media screen and (min-width: 768px) {
  .quality-spec-item .-txt {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item .-txt {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .quality-spec-item .-photo {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .quality-spec-item .-photo {
    margin-top: 5.3333333333vw;
  }
}
.quality-spec-item .-photo .-img {
  width: 100%;
  height: auto;
}

/* 
----------------------------------------*/
.c-access {
  position: relative;
  background-color: #FFF;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-access {
    padding-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .c-access {
    padding-bottom: 16vw;
  }
}

.access-kv {
  position: relative;
  overflow: hidden;
}

.access-kv-ttl {
  position: absolute;
  z-index: 1;
  font-weight: 300;
  font-family: "Lato", sans-serif;
  line-height: 1.125;
  color: #FFF;
  transform: translateX(100%);
}
@media screen and (min-width: 768px) {
  .access-kv-ttl {
    top: 90px;
    right: 80px;
    font-size: 110px;
  }
}
@media screen and (max-width: 767px) {
  .access-kv-ttl {
    top: 13.3333333333vw;
    right: 6.4vw;
    font-size: 13.3333333333vw;
  }
}
.access-kv-ttl .-rotate {
  display: block;
  transform-origin: left top;
  transform: rotate(90deg);
}
.access-kv-ttl .-rotate span {
  display: inline-block;
}
.access-kv-ttl.-add-movin:not(.-display-on) .-rotate span {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .access-kv-ttl.-add-movin:not(.-display-on) .-rotate span {
    transform: translateX(40px);
  }
}
@media screen and (max-width: 767px) {
  .access-kv-ttl.-add-movin:not(.-display-on) .-rotate span {
    transform: translateX(5.3333333333vw);
  }
}
.access-kv-ttl.-add-movin.-display-on .-rotate span {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 0.625s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(1) {
  transition-delay: 0s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(2) {
  transition-delay: 0.125s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(3) {
  transition-delay: 0.25s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(4) {
  transition-delay: 0.375s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(5) {
  transition-delay: 0.5s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(6) {
  transition-delay: 0.625s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(7) {
  transition-delay: 0.75s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(8) {
  transition-delay: 0.875s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(9) {
  transition-delay: 1s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(10) {
  transition-delay: 1.125s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(11) {
  transition-delay: 1.25s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(12) {
  transition-delay: 1.375s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(13) {
  transition-delay: 1.5s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(14) {
  transition-delay: 1.625s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(15) {
  transition-delay: 1.75s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(16) {
  transition-delay: 1.875s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(17) {
  transition-delay: 2s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(18) {
  transition-delay: 2.125s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(19) {
  transition-delay: 2.25s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(20) {
  transition-delay: 2.375s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(21) {
  transition-delay: 2.5s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(22) {
  transition-delay: 2.625s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(23) {
  transition-delay: 2.75s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(24) {
  transition-delay: 2.875s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(25) {
  transition-delay: 3s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(26) {
  transition-delay: 3.125s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(27) {
  transition-delay: 3.25s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(28) {
  transition-delay: 3.375s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(29) {
  transition-delay: 3.5s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(30) {
  transition-delay: 3.625s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(31) {
  transition-delay: 3.75s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(32) {
  transition-delay: 3.875s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(33) {
  transition-delay: 4s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(34) {
  transition-delay: 4.125s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(35) {
  transition-delay: 4.25s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(36) {
  transition-delay: 4.375s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(37) {
  transition-delay: 4.5s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(38) {
  transition-delay: 4.625s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(39) {
  transition-delay: 4.75s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(40) {
  transition-delay: 4.875s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(41) {
  transition-delay: 5s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(42) {
  transition-delay: 5.125s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(43) {
  transition-delay: 5.25s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(44) {
  transition-delay: 5.375s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(45) {
  transition-delay: 5.5s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(46) {
  transition-delay: 5.625s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(47) {
  transition-delay: 5.75s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(48) {
  transition-delay: 5.875s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(49) {
  transition-delay: 6s;
}
.access-kv-ttl.-add-movin.-display-on .-rotate span:nth-of-type(50) {
  transition-delay: 6.125s;
}

.access-kv-img .-movin {
  display: block;
}
.access-kv-img .-img {
  width: 100%;
}

.access-contents {
  position: relative;
}
@media screen and (min-width: 768px) {
  .access-contents {
    width: 1100px;
    margin-right: auto;
    margin-left: 50px;
    margin-top: -150px;
    background-color: #FFF;
    padding: 0 50px;
  }
}
@media screen and (min-width: 768px) {
  .access-contents-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.access-contents-ttl {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .access-contents-ttl {
    order: 2;
    width: 365px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-ttl {
    position: relative;
    margin-top: 10.6666666667vw;
    margin-left: 8.8vw;
    padding-bottom: 5.8666666667vw;
  }
  .access-contents-ttl::after {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 5.3333333333vw;
    height: 1px;
    background-color: #000;
    content: "";
  }
}
.access-contents-ttl.-add-movin:not(.-display-on) {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .access-contents-ttl.-add-movin:not(.-display-on) {
    transform: translateX(80px);
  }
}
@media screen and (max-width: 767px) {
  .access-contents-ttl.-add-movin:not(.-display-on) {
    transform: translateX(16vw);
  }
}
.access-contents-ttl.-add-movin.-display-on {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.access-contents-ttl .-ttl-head {
  display: block;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .access-contents-ttl .-ttl-head {
    position: relative;
    padding-bottom: 30px;
    font-size: 90px;
  }
  .access-contents-ttl .-ttl-head::after {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 36px;
    height: 1px;
    background-color: #000;
    content: "";
  }
}
@media screen and (max-width: 767px) {
  .access-contents-ttl .-ttl-head {
    font-size: 13.3333333333vw;
  }
}
.access-contents-ttl .-ttl-sub {
  display: block;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .access-contents-ttl .-ttl-sub {
    margin-top: 20px;
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-ttl .-ttl-sub {
    margin-top: 1.0666666667vw;
    font-size: 4.2666666667vw;
  }
}

.access-contents-lead {
  line-height: 1.9;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .access-contents-lead {
    order: 3;
    width: 100%;
    margin-top: 32px;
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-lead {
    margin-top: 4.8vw;
    margin-left: 8.8vw;
    font-size: 5.3333333333vw;
  }
}
.access-contents-lead .-movin {
  display: inline-block;
}
.access-contents-lead.-add-movin:not(.-display-on) .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .access-contents-lead.-add-movin:not(.-display-on) .-movin {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .access-contents-lead.-add-movin:not(.-display-on) .-movin {
    transform: translateY(16vw);
  }
}
.access-contents-lead.-add-movin.-display-on .-movin {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}

@media screen and (min-width: 768px) {
  .access-contents-map {
    order: 1;
    flex: 1;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-map {
    margin-top: 10.6666666667vw;
  }
}
.access-contents-map .-movin {
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .access-contents-map .-img {
    width: 631px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-map .-img {
    width: 100vw;
  }
}
.access-contents-map.-add-movin:not(.-display-on) .-movin {
  width: 0;
}
.access-contents-map.-add-movin.-display-on .-movin {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  transition-duration: 1.7s;
}
@media screen and (min-width: 768px) {
  .access-contents-map.-add-movin.-display-on .-movin {
    width: 631px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-map.-add-movin.-display-on .-movin {
    width: 100vw;
  }
}

@media screen and (min-width: 768px) {
  .access-contents-bottom {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-bottom {
    margin-top: 10.6666666667vw;
    margin-right: 8.8vw;
    margin-left: 8.8vw;
  }
}
@media screen and (min-width: 768px) {
  .access-contents-bottom .-movin {
    display: flex;
    align-items: center;
  }
}
.access-contents-bottom.-add-movin:not(.-display-on) .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .access-contents-bottom.-add-movin:not(.-display-on) .-movin {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .access-contents-bottom.-add-movin:not(.-display-on) .-movin {
    transform: translateY(16vw);
  }
}
.access-contents-bottom.-add-movin.-display-on .-movin {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}

.access-contents-txt {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .access-contents-txt {
    flex: 1;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-txt {
    font-size: 3.7333333333vw;
  }
}

.access-contents-link {
  position: relative;
  display: flex;
  background-color: #740000;
  color: #FFF;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .access-contents-link {
    width: 365px;
    height: 90px;
    margin-left: 80px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-link {
    height: 21.3333333333vw;
    margin-top: 8vw;
  }
}
.access-contents-link .-label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 100%;
  background-image: url("../img/ico_link-arr-w.svg");
  background-repeat: no-repeat;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .access-contents-link .-label {
    padding-left: 28px;
    background-position: center right 20px;
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .access-contents-link .-label {
    padding-left: 5.3333333333vw;
    background-size: auto 1.112vw;
    background-position: center right 4.8vw;
    font-size: 4.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .access-contents-link {
    transition-property: color;
    transition-duration: 0.3s;
  }
  .access-contents-link .-label {
    transition-property: background-image, background-position;
    transition-duration: 0s, 0.3s;
  }
  .access-contents-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color:#eaeaea;
    transform: scaleX(0);
    transform-origin: left center;
    transition-property: transform;
    transition-duration: 0.5s;
  }
  .access-contents-link:hover {
    color: #740000;
  }
  .access-contents-link:hover .-label {
    transition-delay: 0.3s;
    background-image: url("../img/ico_link-arr-r.svg");
    background-position: center right 10px;
  }
  .access-contents-link:hover::before {
    transform: scaleX(1);
  }
}

/* 
----------------------------------------*/
.c-note {
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .c-note {
    position: relative;
    padding-bottom: 60px;
  }
  .c-note::before {
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #FFF;
    content: "";
  }
}
@media screen and (max-width: 767px) {
  .c-note {
    padding-bottom: 10.6666666667vw;
  }
}
.c-note .-note-list {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .c-note .-note-list {
    width: 100%;
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .c-note .-note-list {
    width: 88vw;
  }
}
.c-note .-note-item {
  color: #777777;
  text-indent: -1em;
  margin-left: 1em;
}
@media screen and (min-width: 768px) {
  .c-note .-note-item {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .c-note .-note-item {
    font-size: 3.2vw;
  }
}

/* 
----------------------------------------*/
.c-location {
  position: relative;
  overflow: hidden;
  background-color: #F4F4F4;
}
@media screen and (min-width: 768px) {
  .c-location-inner {
    padding-top: 120px;
    padding-bottom: 220px;
  }
}
@media screen and (max-width: 767px) {
  .c-location-inner {
    padding-top: 16vw;
    padding-bottom: 8vw;
  }
}

.location-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.location-ttl .location-ttl-head {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 1;
  font-weight: 700;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .location-ttl .location-ttl-head {
    font-size: 90px;
  }
}
@media screen and (max-width: 767px) {
  .location-ttl .location-ttl-head {
    font-size: 14.4vw;
  }
}
.location-ttl .location-ttl-head.-s {
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .location-ttl .location-ttl-head.-s {
    width: 366px;
    margin-top: 30px;
    font-size: 37px;
  }
}
@media screen and (max-width: 767px) {
  .location-ttl .location-ttl-head.-s {
    width: 61.3333333333vw;
    margin-top: 5.3333333333vw;
    font-size: 6.4vw;
  }
}
.location-ttl .location-ttl-head.-s::after, .location-ttl .location-ttl-head.-s::before {
  position: absolute;
  top: 50%;
  display: block;
  height: 2px;
  background-color: rgba(0, 0, 0, 0.6);
  content: "";
}
@media screen and (min-width: 768px) {
  .location-ttl .location-ttl-head.-s::after, .location-ttl .location-ttl-head.-s::before {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .location-ttl .location-ttl-head.-s::after, .location-ttl .location-ttl-head.-s::before {
    width: 14.6666666667vw;
  }
}
.location-ttl .location-ttl-head.-s::after {
  right: 0;
}
.location-ttl .location-ttl-head.-s::before {
  left: 0;
}
.location-ttl .location-ttl-head .-movin {
  display: block;
}
@media screen and (max-width: 767px) {
  .location-ttl .location-ttl-head .-ttl {
    height: 21.824vw;
    width: auto;
  }
}
.location-ttl .location-ttl-sub {
  display: block;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .location-ttl .location-ttl-sub {
    margin-top: 40px;
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .location-ttl .location-ttl-sub {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.location-ttl.-add-movin:not(.-display-on) .location-ttl-head .-movin {
  transform: translateY(100%);
}
.location-ttl.-add-movin:not(.-display-on) .location-ttl-head.-s::after, .location-ttl.-add-movin:not(.-display-on) .location-ttl-head.-s::before {
  transform: scale(0);
}
.location-ttl.-add-movin:not(.-display-on) .location-ttl-sub {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .location-ttl.-add-movin:not(.-display-on) .location-ttl-sub {
    transform: translateY(60px);
  }
}
@media screen and (max-width: 767px) {
  .location-ttl.-add-movin:not(.-display-on) .location-ttl-sub {
    transform: translateY(10.6666666667vw);
  }
}
.location-ttl.-add-movin.-display-on .location-ttl-head .-movin {
  transition-property: transform;
  transition-duration: 1.3s;
}
.location-ttl.-add-movin.-display-on .location-ttl-head.-s .-movin {
  transition-delay: 0.25s;
}
.location-ttl.-add-movin.-display-on .location-ttl-head.-s::after {
  transform-origin: right center;
}
.location-ttl.-add-movin.-display-on .location-ttl-head.-s::before {
  transform-origin: left center;
}
.location-ttl.-add-movin.-display-on .location-ttl-head.-s::after, .location-ttl.-add-movin.-display-on .location-ttl-head.-s::before {
  transition-property: transform;
  transition-duration: 1.3s;
}
.location-ttl.-add-movin.-display-on .location-ttl-sub {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
  transition-delay: 0.875s;
}

.location-list {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.location-list-btn {
  display: none;
}
.location-list-label {
  display: none;
}
@media screen and (min-width: 768px) {
  .location-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .location-list {
    margin-top: 16vw;
    height: 0;
    overflow: hidden;
    transition: all 0.3s;
  }
  .location-list.-open {
    height: auto !important;
  }
  .location-list-label {
    font-size: 20px;
    display: block;
    width: 80%;
    height: auto;
    background: #000;
    color: #fff;
    margin: 20px auto 0;
    text-align: center;
    padding: 10px 0;
    position: relative;
  }
  .location-list-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 3px);
    right: 20px;
    transform: rotate(135deg);
    transition: all 0.3s;
  }
  .location-list-btn:checked + .location-list-label::before {
    transform: rotate(-45deg) !important;
  }
  .location-list-btn:checked + .location-list-label + .location-list {
    height: auto;
  }
}

.location-item {
  position: relative;
}
@media screen and (min-width: 768px) {
  .location-item {
    width: calc(33.3333333333% - 20px);
    margin-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  .location-item {
    padding-bottom: 14.6666666667vw;
  }
  .location-item:not(:last-of-type) {
    margin-bottom: 6.6666666667vw;
  }
  .location-item:not(:last-of-type)::after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    display: block;
    width: 88vw;
    height: 1px;
    margin-right: auto;
    margin-left: auto;
    background-color: rgba(0, 0, 0, 0.2);
    content: "";
  }
}

@media screen and (max-width: 767px) {
  .location-box {
    margin-left: 6vw;
  }
}
.location-box .-box-ttl {
  position: relative;
  z-index: 1;
}
.location-box .-box-ttl-head {
  display: flex;
  flex-direction: column;
}
.location-box .-box-ttl-head .-box-ttl-head-jp {
  display: block;
  font-weight: 400;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .location-box .-box-ttl-head .-box-ttl-head-jp {
    margin-bottom: 10px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .location-box .-box-ttl-head .-box-ttl-head-jp {
    margin-bottom: 2.1333333333vw;
    font-size: 3.2vw;
  }
}
.location-box .-box-ttl-head .-box-ttl-head-jp .-movin {
  display: flex;
}
.location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-head .-box-ttl-head-jp .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-head .-box-ttl-head-jp .-movin {
    transform: translateY(60px);
  }
}
@media screen and (max-width: 767px) {
  .location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-head .-box-ttl-head-jp .-movin {
    transform: translateY(16vw);
  }
}
.location-item.-add-movin.-display-on .location-box .-box-ttl-head .-box-ttl-head-jp .-movin {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.location-box .-box-ttl-head .-box-ttl-head-en {
  display: block;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .location-box .-box-ttl-head .-box-ttl-head-en {
    font-size: 18px;
  }
  .location-box .-box-ttl-head .-box-ttl-head-en br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .location-box .-box-ttl-head .-box-ttl-head-en {
    font-size: 5.3333333333vw;
  }
  .location-box .-box-ttl-head .-box-ttl-head-en br {
    display: none;
  }
}
.location-box .-box-ttl-head .-box-ttl-head-en .-movin {
  display: flex;
}
.location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-head .-box-ttl-head-en .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-head .-box-ttl-head-en .-movin {
    transform: translateY(60px);
  }
}
@media screen and (max-width: 767px) {
  .location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-head .-box-ttl-head-en .-movin {
    transform: translateY(16vw);
  }
}
.location-item.-add-movin.-display-on .location-box .-box-ttl-head .-box-ttl-head-en .-movin {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
}
.location-box .-box-ttl-sub {
  position: relative;
  font-weight: 500;
  display: block;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .location-box .-box-ttl-sub {
    font-size: 20px;
    margin-top: 11px;
  }
}
@media screen and (max-width: 767px) {
  .location-box .-box-ttl-sub {
    font-size: 4.8vw;
  }
}
.location-box .-box-ttl-sub .-movin {
  display: flex;
}
.location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-sub .-movin {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-sub .-movin {
    transform: translateX(60px);
  }
}
@media screen and (max-width: 767px) {
  .location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-sub .-movin {
    transform: translateX(10.6666666667vw);
  }
}
.location-item.-add-movin.-display-on .location-box .-box-ttl-sub .-movin {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
  transition-delay: 0.625s;
}
.location-box .-box-ttl-sub::before {
  position: absolute;
  left: 0;
  display: block;
  background-color: black;
  content: "";
  transform-origin: left top;
}
@media screen and (min-width: 768px) {
  .location-box .-box-ttl-sub::before {
    width: 42px;
    height: 2px;
  }
}
@media screen and (max-width: 767px) {
  .location-box .-box-ttl-sub::before {
    width: 6.9333333333vw;
    height: 1px;
  }
}
.location-item.-add-movin:not(.-display-on) .location-box .-box-ttl-sub::before {
  transform: scaleY(0);
}
.location-item.-add-movin.-display-on .location-box .-box-ttl-sub::before {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  transition-duration: 0.875s;
  transition-delay: 0.625s;
}
.location-box .-box-body {
  position: relative;
}
@media screen and (min-width: 768px) {
  .location-box .-box-body {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .location-box .-box-body {
    margin-top: 5.3333333333vw;
  }
}
.location-box .-box-body-photo {
  position: relative;
}
.location-item.-add-movin .location-box .-box-body-photo {
  -webkit-clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
  clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
}
.location-item.-add-movin.-display-on .location-box .-box-body-photo {
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  transition-duration: 1.375s;
  transition-delay: 0.625s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
}
.location-box .-box-body-photo .-img {
  width: 100%;
}
.location-box .-box-body-link {
  position: absolute;
  right: 0;
  display: flex;
  background-color: #000;
  color: #FFF;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .location-box .-box-body-link {
    bottom: -40px;
    width: 280px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .location-box .-box-body-link {
    bottom: -5.3333333333vw;
    width: 61.3333333333vw;
    height: 10.6666666667vw;
  }
}
.location-box .-box-body-link .-label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 100%;
  background-image: url("../img/ico_link-arr-w.svg");
  background-repeat: no-repeat;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .location-box .-box-body-link .-label {
    padding-left: 26px;
    background-position: center right 18px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .location-box .-box-body-link .-label {
    padding-left: 6.4vw;
    background-size: auto 1.112vw;
    background-position: center right 3.2vw;
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .location-box .-box-body-link {
    transition-property: color;
    transition-timing-function: linear;
    transition-delay: 0.375s;
    transition-duration: 0.25s;
  }
  .location-box .-box-body-link .-label {
    transition-property: background-image, background-position;
    transition-duration: 0s, 0.3s;
    transition-delay: 0.125s;
  }
  .location-box .-box-body-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    transform: scaleX(0);
    transform-origin: left center;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.32, 0, 0.67, 0);
    transition-duration: 0.5s;
  }
  .location-box .-box-body-link:hover {
    transition-delay: 0.25s;
    color: #000;
  }
  .location-box .-box-body-link:hover .-label {
    transition-delay: 0.425s;
    background-image: url("../img/ico_link-arr-b.svg");
    background-position: center right 8px;
  }
  .location-box .-box-body-link:hover::before {
    transform: scaleX(1);
  }
}

/* 
----------------------------------------*/
.c-pickup {
  position: relative;
  background-color: #FFF;
}
.pickup-kv {
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (min-width: 768px) {
  .pickup-kv {
    height: 410px;
    padding-top: 100px;
    background-image: url(../img/img_pickup_pc.jpg);
  }
}
@media screen and (max-width: 767px) {
  .pickup-kv {
    height: 42.1333333333vw;
    padding-top: 8vw;
    background-image: url(../img/img_pickup_sp.jpg);
  }
}

.pickup-ttl {
  position: relative;
  color: #FFF;
  font-size: 0;
  text-align: center;
}
.pickup-ttl .-ttl-head {
  display: flex;
  justify-content: center;
  font-weight: 700;
  font-family: "Lato", sans-serif;
}
@media screen and (min-width: 768px) {
  .pickup-ttl .-ttl-head {
    font-size: 54px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-ttl .-ttl-head {
    font-size: 6.4vw;
  }
}
.pickup-ttl .-ttl-head span {
  display: block;
}
.pickup-ttl.-add-movin:not(.-display-on) .-ttl-head span {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .pickup-ttl.-add-movin:not(.-display-on) .-ttl-head span {
    transform: translateY(40px);
  }
}
@media screen and (max-width: 767px) {
  .pickup-ttl.-add-movin:not(.-display-on) .-ttl-head span {
    transform: translateY(5.3333333333vw);
  }
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 0.625s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(1) {
  transition-delay: 0s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(2) {
  transition-delay: 0.125s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(3) {
  transition-delay: 0.25s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(4) {
  transition-delay: 0.375s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(5) {
  transition-delay: 0.5s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(6) {
  transition-delay: 0.625s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(7) {
  transition-delay: 0.75s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(8) {
  transition-delay: 0.875s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(9) {
  transition-delay: 1s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(10) {
  transition-delay: 1.125s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(11) {
  transition-delay: 1.25s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(12) {
  transition-delay: 1.375s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(13) {
  transition-delay: 1.5s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(14) {
  transition-delay: 1.625s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(15) {
  transition-delay: 1.75s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(16) {
  transition-delay: 1.875s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(17) {
  transition-delay: 2s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(18) {
  transition-delay: 2.125s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(19) {
  transition-delay: 2.25s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(20) {
  transition-delay: 2.375s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(21) {
  transition-delay: 2.5s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(22) {
  transition-delay: 2.625s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(23) {
  transition-delay: 2.75s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(24) {
  transition-delay: 2.875s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(25) {
  transition-delay: 3s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(26) {
  transition-delay: 3.125s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(27) {
  transition-delay: 3.25s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(28) {
  transition-delay: 3.375s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(29) {
  transition-delay: 3.5s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(30) {
  transition-delay: 3.625s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(31) {
  transition-delay: 3.75s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(32) {
  transition-delay: 3.875s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(33) {
  transition-delay: 4s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(34) {
  transition-delay: 4.125s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(35) {
  transition-delay: 4.25s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(36) {
  transition-delay: 4.375s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(37) {
  transition-delay: 4.5s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(38) {
  transition-delay: 4.625s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(39) {
  transition-delay: 4.75s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(40) {
  transition-delay: 4.875s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(41) {
  transition-delay: 5s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(42) {
  transition-delay: 5.125s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(43) {
  transition-delay: 5.25s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(44) {
  transition-delay: 5.375s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(45) {
  transition-delay: 5.5s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(46) {
  transition-delay: 5.625s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(47) {
  transition-delay: 5.75s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(48) {
  transition-delay: 5.875s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(49) {
  transition-delay: 6s;
}
.pickup-ttl.-add-movin.-display-on .-ttl-head span:nth-of-type(50) {
  transition-delay: 6.125s;
}

.pickup-nav {
  position: relative;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .pickup-nav {
    width: 1100px;
    margin-top: -120px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav {
    width: 88vw;
    margin-top: -16vw;
  }
}
.pickup-nav.-add-movin:not(.-display-on) {
  background-color: rgba(255, 255, 255, 0);
}
.pickup-nav.-add-movin.-display-on {
  transition-property: background-color;
  transition-duration: 0.375s;
  background-color: white;
}

.pickup-nav-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .pickup-nav-ttl {
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-ttl {
    height: 16vw;
  }
}
.pickup-nav-ttl .-ttl-sub {
  position: relative;
  display: block;
}
@media screen and (min-width: 768px) {
  .pickup-nav-ttl .-ttl-sub {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-ttl .-ttl-sub {
    font-size: 2.6666666667vw;
  }
}
.pickup-nav-ttl .-ttl-sub:after, .pickup-nav-ttl .-ttl-sub:before {
  position: absolute;
  top: 50%;
  display: block;
  height: 1px;
  background-color: #000;
  content: "";
}
@media screen and (min-width: 768px) {
  .pickup-nav-ttl .-ttl-sub:after, .pickup-nav-ttl .-ttl-sub:before {
    width: 18px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-ttl .-ttl-sub:after, .pickup-nav-ttl .-ttl-sub:before {
    width: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .pickup-nav-ttl .-ttl-sub:after {
    left: -30px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-ttl .-ttl-sub:after {
    left: -5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .pickup-nav-ttl .-ttl-sub:before {
    right: -30px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-ttl .-ttl-sub:before {
    right: -5.3333333333vw;
  }
}
.pickup-nav-ttl .-ttl-head {
  display: block;
}
@media screen and (min-width: 768px) {
  .pickup-nav-ttl .-ttl-head {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-ttl .-ttl-head {
    font-size: 4.2666666667vw;
  }
}
.pickup-nav.-add-movin:not(.-display-on) .pickup-nav-ttl {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .pickup-nav.-add-movin:not(.-display-on) .pickup-nav-ttl {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav.-add-movin:not(.-display-on) .pickup-nav-ttl {
    transform: translateY(10.6666666667vw);
  }
}
.pickup-nav.-add-movin.-display-on .pickup-nav-ttl {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
  transition-delay: 0.375s;
}

.pickup-nav-list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .pickup-nav-list {
    padding-top: 56px;
    padding-bottom: 70px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-list {
    padding-top: 5.8666666667vw;
    padding-bottom: 8vw;
  }
}
.pickup-nav.-add-movin:not(.-display-on) .pickup-nav-list {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .pickup-nav.-add-movin:not(.-display-on) .pickup-nav-list {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav.-add-movin:not(.-display-on) .pickup-nav-list {
    transform: translateY(10.6666666667vw);
  }
}
.pickup-nav.-add-movin.-display-on .pickup-nav-list {
  transition-property: opacity, transform;
  transition-duration: 0.375s, 1.3s;
  transition-delay: 0.375s;
}

.pickup-nav-item {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #727C7C;
}
@media screen and (min-width: 768px) {
  .pickup-nav-item {
    width: calc(25% - 36px);
  }
  .pickup-nav-item:not(:nth-child(4n)) {
    margin-right: 48px;
  }
  .pickup-nav-item:not(:nth-child(-n+4)) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-item {
    width: calc(33.3333% - 4vw);
  }
  .pickup-nav-item:not(:nth-child(3n)) {
    margin-right: 5.8666666667vw;
  }
  .pickup-nav-item:not(:nth-child(-n+3)) {
    margin-top: 3.2vw;
  }
}

.pickup-nav-item-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: right center;
  background-image: url(../img/ico_pickup-link-arr.svg);
  color: #727C7C;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .pickup-nav-item-link {
    height: 50px;
    font-size: 18px;
    transition-property: opacity;
    transition-duration: 0.25s;
  }
  .pickup-nav-item-link:hover {
    opacity: 0.5;
    -webkit-animation-name: nav-hover;
    animation-name: nav-hover;
    -webkit-animation-duration: 0.625s;
    animation-duration: 0.625s;
  }
}
@media screen and (max-width: 767px) {
  .pickup-nav-item-link {
    height: 8vw;
    background-size: auto 0.7413333333vw;
    font-size: 3.2vw;
  }
}
@-webkit-keyframes nav-hover {
  0% {
    background-position: right center;
  }
  6.25% {
    background-position: right 10px center;
  }
  100% {
    background-position: right center;
  }
}
@keyframes nav-hover {
  0% {
    background-position: right center;
  }
  6.25% {
    background-position: right 10px center;
  }
  100% {
    background-position: right center;
  }
}

/* 
----------------------------------------*/
.c-footer-nav {
  position: relative;
  background-color: #FFF;
}

@media screen and (min-width: 768px) {
  .footer-nav-list:not(.-single) {
    display: flex;
  }
  .footer-nav-list:not(.-single) .footer-nav-item {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav-item {
    height: 160px;
  }
  .footer-nav-item.-backtotop {
    order: 2;
  }
  .footer-nav-item.-toppage {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .footer-nav-item {
    height: 24vw;
  }
}

.footer-nav-item-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: "Lato", sans-serif;
  line-height: 1;
  text-decoration: none;
}
.-backtotop .footer-nav-item-link {
  background-color: #727c7c;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .-backtotop .footer-nav-item-link:hover {
    background-color: rgba(114, 124, 124, 0.5);
  }
}
.-toppage .footer-nav-item-link {
  background-color: #eaeaea;
  color: #5F5E5E;
}
@media screen and (min-width: 768px) {
  .-toppage .footer-nav-item-link:hover {
    background-color: rgba(114, 124, 124, 0.35);
  }
}
@media screen and (min-width: 768px) {
  .footer-nav-item-link {
    height: 160px;
    font-size: 16px;
    transition-duration: 0.25s;
  }
}
@media screen and (max-width: 767px) {
  .footer-nav-item-link {
    height: 24vw;
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 767px) {
  .footer-nav-item-link .-logo {
    width: auto;
  }
  .-backtotop .footer-nav-item-link .-logo {
    height: 5.144vw;
  }
  .-toppage .footer-nav-item-link .-logo {
    height: 8.16vw;
  }
}
.footer-nav-item-link .-label {
  display: inline-block;
  background-repeat: no-repeat;
  letter-spacing: 0.0625em;
}
@media screen and (min-width: 768px) {
  .footer-nav-item-link .-label {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .footer-nav-item-link .-label {
    margin-top: 4.2666666667vw;
  }
}
.-backtotop .footer-nav-item-link .-label {
  background-image: url("../img/ico_footer-nav-back-arr.svg");
}
@media screen and (min-width: 768px) {
  .-backtotop .footer-nav-item-link .-label {
    background-position: left center;
    padding-left: 22px;
  }
}
@media screen and (max-width: 767px) {
  .-backtotop .footer-nav-item-link .-label {
    background-position: left center;
    background-size: 3.816vw auto;
    padding-left: 5.8666666667vw;
  }
}
.-toppage .footer-nav-item-link .-label {
  background-image: url("../img/ico_footer-nav-window.svg");
}
@media screen and (min-width: 768px) {
  .-toppage .footer-nav-item-link .-label {
    background-position: right bottom 4px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .-toppage .footer-nav-item-link .-label {
    background-position: right bottom 0.8vw;
    background-size: 3.4666666667vw auto;
    padding-right: 5.3333333333vw;
  }
}

/* 
----------------------------------------*/
.c-footer {
  position: relative;
  background-color: #000;
}

@media screen and (min-width: 768px) {
  .c-footer-inner {
    padding-top: 100px;
    padding-bottom: 70px;
  }
}
@media screen and (max-width: 767px) {
  .c-footer-inner {
    padding-top: 10.6666666667vw;
    padding-bottom: 28.8vw;
  }
}

@media screen and (min-width: 768px) {
  .footer-contents {
    display: flex;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .footer-contents {
    margin-right: 5.3333333333vw;
    margin-left: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-logo {
    width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .footer-contents .footer-logo {
    text-align: center;
  }
}
.footer-contents .footer-logo .footer-logo-img {
  width: auto;
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-logo .footer-logo-img {
    height: 153px;
  }
}
@media screen and (max-width: 767px) {
  .footer-contents .footer-logo .footer-logo-img {
    height: 23.2vw;
  }
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-nav-wrap {
    flex: 1;
    display: flex;
    align-items: flex-start;
    padding-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .footer-contents .footer-nav-wrap {
    margin-top: 8vw;
  }
}
.footer-contents .footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-nav.-about {
    flex: 1;
  }
  .footer-contents .footer-nav.-network {
    width: 600px;
  }
}
@media screen and (max-width: 767px) {
  .footer-contents .footer-nav.-network {
    margin-top: 8vw;
  }
}
.footer-contents .footer-nav .footer-nav-dt {
  width: 100%;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1;
  letter-spacing: 0.125em;
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-nav .footer-nav-dt {
    margin-bottom: 24px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .footer-contents .footer-nav .footer-nav-dt {
    margin-bottom: 3.2vw;
    font-size: 3.2vw;
  }
}
.footer-contents .footer-nav .footer-nav-dd {
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-nav .footer-nav-dd {
    font-size: 11px;
  }
  .footer-contents .footer-nav .footer-nav-dd:not(:nth-of-type(-n + 3)) {
    margin-top: 14px;
  }
}
@media screen and (max-width: 767px) {
  .footer-contents .footer-nav .footer-nav-dd {
    font-size: 2.6vw;
  }
  .footer-contents .footer-nav .footer-nav-dd:nth-of-type(odd) {
    width: 55%;
  }
  .footer-contents .footer-nav .footer-nav-dd:nth-of-type(even) {
    width: 45%;
  }
  .footer-contents .footer-nav .footer-nav-dd:not(:nth-of-type(-n + 2)) {
    margin-top: 2.1333333333vw;
  }
}
.footer-contents .footer-nav .footer-nav-dd a {
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-nav .footer-nav-dd a:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 768px) {
  .footer-contents .footer-nav.-network .footer-nav-dd:nth-of-type(3n - 2) {
    width: 200px;
  }
  .footer-contents .footer-nav.-network .footer-nav-dd:nth-of-type(3n - 1) {
    width: 228px;
  }
}

.footer-copyright {
  display: block;
  font-family: "Lato", sans-serif;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .footer-copyright {
    margin-top: 80px;
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  .footer-copyright {
    margin-top: 16vw;
    font-size: 2.6666666667vw;
  }
}

body {
  background-color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 768px) {
  body {
    min-width: 1280px;
  }
  body .-is-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  body .-is-pc {
    display: none !important;
  }
}

.wrapper {
  position: relative;
}