@charset "UTF-8";

@media screen and (max-width: 768px) {
  body.fixed {
    width:100%;
		height: 100%;
		position: fixed;

    .main-visual,
    .page-main {
      filter: blur(1rem);
    }

  }
}

.bnr__inquiry {
  padding: 0 20vw 6vw;
  background-color: #000;
}


.bnr__inquiry a {
  display: block;
}

@media screen and (max-width: 768px) {
  .bnr__inquiry {
    padding: 0 5.5  vw 6vw;
  }
}

.page__footer__fixed__pc {
  position: fixed;
  right:1.8vw;
  bottom:1vw;
  width:5rem;
}
@media screen and (max-width: 768px) {
  .page__footer__fixed__pc {
    display: none;
  }
}

/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/** 1. Change the default font family in all browsers (opinionated). 2. Prevent adjustments of font size after orientation changes in IE and iOS. */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@300;400;500;600;700;800;900&display=swap");
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/** Remove the margin in all browsers (opinionated). */
body { margin: 0; }

/* HTML5 display definitions ========================================================================== */
/** Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. 2. Add the correct display in IE. */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { /* 1 */ display: block; }

/** Add the correct display in IE 9-. */
audio, canvas, progress, video { display: inline-block; }

/** Add the correct display in iOS 4-7. */
audio:not([controls]) { display: none; height: 0; }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Add the correct display in IE 10-. 1. Add the correct display in IE. */
template, [hidden] { display: none; }

/* Links ========================================================================== */
/** 1. Remove the gray background on active links in IE 10. 2. Remove gaps in links underline in iOS 8+ and Safari 8+. */
a { background-color: transparent; /* 1 */ -webkit-text-decoration-skip: objects; /* 2 */ }

/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */
a:active, a:hover { outline-width: 0; }

/* Text-level semantics ========================================================================== */
/** 1. Remove the bottom border in Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */
b, strong { font-weight: inherit; }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** Add the correct font style in Android 4.3-. */
dfn { font-style: italic; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Add the correct background and color in IE 9-. */
mark { background-color: #ff0; color: #000; }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10-. */
img { border-style: none; }

/** Hide the overflow in IE. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct margin in IE 8. */
figure { margin: 1em 40px; }

/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { -moz-box-sizing: content-box; box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/* Forms ========================================================================== */
/** 1. Change font properties to `inherit` in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
button, input, select, textarea { font: inherit; /* 1 */ margin: 0; /* 2 */ }

/** Restore the font weight unset by the previous rule. */
optgroup { font-weight: bold; }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Change the border, margin, and padding in all browsers (opinionated). */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { -moz-box-sizing: border-box; box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Remove the default vertical scrollbar in IE. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */
[type="checkbox"], [type="radio"] { -moz-box-sizing: border-box; box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding and cancel buttons in Chrome and Safari on OS X. */
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Correct the text style of placeholders in Chrome, Edge, and Safari. */
::-webkit-input-placeholder { color: inherit; opacity: 0.54; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

@font-face { font-family: 'Didot'; src: url("../fonts/Didot-Bold.eot"); src: url("../fonts/Didot-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Didot-Bold.woff2") format("woff2"), url("../fonts/Didot-Bold.woff") format("woff"), url("../fonts/Didot-Bold.svg#Didot-Bold") format("svg"); font-weight: bold; font-style: normal; font-display: swap; }

html { font-size: 62.5%; }

@media screen and (max-width: 768px) { html { font-size: 2.66667vw; } }

@media (min-width: 769px) and (max-width: 960px) { html { font-size: 1vw; } }

body { font-family: 'Noto Sans JP', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", 'Hiragino Kaku Gothic Pro', "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", 'MS PGothic', Arial, sans-serif; font-style: normal; font-size: 14px; font-size: 1.4rem; line-height: 1.28571; color: #191A1C; background-color: #fff; word-break: normal; line-break: strict; font-weight: 400; letter-spacing: 0.02em; }

@media screen and (max-width: 768px) { body { font-size: 1.7rem; } }

a { color: inherit; text-decoration: none; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; transition-duration: 0.3s; }

a:hover { text-decoration: none; }

@media screen and (min-width: 769px) { a:hover { opacity: .75; } }

a:focus { outline: none; text-decoration: none; }

ul, ol { margin: 0; padding: 0; }

ul li, ol li { list-style: none; }

h1, h2, h3, h4, h5, h6 { font-weight: 700; margin: 0; }

p { margin: 0px 0px 30px 0px; padding: 0; }

p:last-child { margin-bottom: 0px; }

@media screen and (max-width: 768px) { p { margin: 0 0 4vw 0; } }

figure { margin: 0; padding: 0; line-height: 0; }

figure img { max-width: 100%; height: auto; }

input[type="submit"] { border: none; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s; }

table { border-spacing: inherit; border-collapse: collapse; }

dl, dt, dd { margin: 0; padding: 0; }

* { -moz-box-sizing: border-box; box-sizing: border-box; word-break: break-word; }

img { max-width: 100%; height: auto; vertical-align: middle; }

/* clearfix (micro) */
.clearfix:before, .clearfix:after { content: ' '; display: table; }

.clearfix:after { clear: both; }

/* For IE 6/7 only */
.clearfix { *zoom: 1; }

div, p { word-break: break-all; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, nav, picture { margin: 0; padding: 0; border: 0; vertical-align: baseline; }

ul, ol, li { list-style: none; }

.text-bold { font-weight: 700; }

.align-center { text-align: center; }

.align-right { text-align: right; }

.c-white { color: #fff; }

.fw-bold { font-weight: bold; }

.fit { font-family: "object-fit: cover;"; height: 100%; width: 100%; object-fit: cover; }

#wrapper { margin: 0 auto; position: relative; overflow: hidden; }

@media screen and (max-width: 768px) { #wrapper { padding-bottom: 4.5rem; } }

.container { max-width: 103rem; padding: 0 1.5rem; margin: 0 auto; }

@media screen and (max-width: 768px) { .container { padding: 0 2rem; } }

.inner { max-width: 99rem; margin: 0 auto; padding: 0 1.5rem; }

@media screen and (max-width: 768px) { .inner { padding: 0 2rem; } }

@media screen and (min-width: 769px) { .show_sp { display: none !important; }
  .show_pc { display: inherit; }
  .MissingWH { position: relative; overflow: hidden; height: 100%; width: 100%; }
  .MissingWH img { position: absolute; left: 0; top: 0; margin: 0; width: auto !important; display: none; height: auto; min-width: 100%; min-height: 100%; max-height: none; max-width: none; -webkit-transition: 0.5s ease-in-out; -moz-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; }
  a[href^=tel] { pointer-events: none; text-decoration: none; opacity: 1 !important; cursor: default !important; }
  #hambuger { display: none; } }

@media screen and (max-width: 768px) { body p { word-break: normal; line-break: strict; }
  .show_sp { display: inherit; }
  .show_pc { display: none !important; } }

.mode-txt { writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: vertical-rl; }

.txt_center { text-align: center; }

.js-view { opacity: 0; -webkit-transform: translate(0, 50px); -moz-transform: translate(0, 50px); -ms-transform: translate(0, 50px); transform: translate(0, 50px); -webkit-transition: all 0.8s; -moz-transition: all 0.8s; transition: all 0.8s; }

.js-view.fadein { opacity: 1; -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.js-view-img { opacity: 0; -webkit-transition: all 2s ease; -moz-transition: all 2s ease; transition: all 2s ease; }

.js-view-img.fadein { opacity: 1; }

.page-main { position: relative; }

.page__footer__fixed {
   display:flex; justify-content: space-evenly; align-items: centers; width: 100%; height:4.5rem; background-color: #fff; position: fixed; right: 0; bottom: 0; z-index: 2; font-weight: bold; font-size: 1.2rem;
}

@media screen and (min-width: 769px) {

  .page__footer__fixed {
    display: none;
 }

}


.page__footer__fixed a { position: relative; display: flex; align-items: center; }

.btn-line { margin-right: .7em; }
.btn-inquiry { margin-left: .7em; }

.btn-line span { position: relative; padding-right: 3.5rem; }
.btn-line span:after { position: absolute; content: ''; width: 3rem; height: 3rem; right: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: url(../img/icon_line.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }


.anim_img { overflow: hidden; }

.pic-js { width: 100%; height: 100%; top: 0; left: 0; object-fit: cover; font-family: 'object-fit: contain;'; opacity: 0; -webkit-transform: scale(1.3); -moz-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); }

.pic-js img { width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: contain;'; }

.active .pic-wrap:after { -webkit-transition: background 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); transition: background 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); -moz-transition: transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), background 2s cubic-bezier(0.19, 1, 0.22, 1), -moz-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), background 2s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), background 2s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1), -moz-transform 1s 0.1s cubic-bezier(0.19, 1, 0.22, 1); -webkit-transform: scaleY(0); -moz-transform: scaleY(0); -ms-transform: scaleY(0); transform: scaleY(0); }

.active .pic-js { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transition: 3s 0.2s cubic-bezier(0.5, 1, 0.9, 1); -moz-transition: 3s 0.2s cubic-bezier(0.5, 1, 0.9, 1); transition: 3s 0.2s cubic-bezier(0.5, 1, 0.9, 1); }

/*----------------------------------------------------------
    keyframes
----------------------------------------------------------*/
@-webkit-keyframes menu { 0% { -webkit-transform: translateX(0); transform: translateX(0); }
  50% { -webkit-transform: translateX(100%); transform: translateX(100%); }
  50.001% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -webkit-transform: translateX(0); transform: translateX(0); } }
@-moz-keyframes menu { 0% { -moz-transform: translateX(0); transform: translateX(0); }
  50% { -moz-transform: translateX(100%); transform: translateX(100%); }
  50.001% { -moz-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -moz-transform: translateX(0); transform: translateX(0); } }
@keyframes menu { 0% { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); }
  50% { -webkit-transform: translateX(100%); -moz-transform: translateX(100%); transform: translateX(100%); }
  50.001% { -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); transform: translateX(-100%); }
  100% { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); } }

@-webkit-keyframes openMenu { 0% { -webkit-transform: translateY(120%); transform: translateY(120%); }
  40% { -webkit-transform: translateY(120%); transform: translateY(120%); }
  100% { -webkit-transform: translateY(0); transform: translateY(0); } }

@-moz-keyframes openMenu { 0% { -moz-transform: translateY(120%); transform: translateY(120%); }
  40% { -moz-transform: translateY(120%); transform: translateY(120%); }
  100% { -moz-transform: translateY(0); transform: translateY(0); } }

@keyframes openMenu { 0% { -webkit-transform: translateY(120%); -moz-transform: translateY(120%); transform: translateY(120%); }
  40% { -webkit-transform: translateY(120%); -moz-transform: translateY(120%); transform: translateY(120%); }
  100% { -webkit-transform: translateY(0); -moz-transform: translateY(0); transform: translateY(0); } }

@-webkit-keyframes closeMenu { 0% { -webkit-transform: translateY(0); transform: translateY(0); }
  60% { -webkit-transform: translateY(-120%); transform: translateY(-120%); }
  100% { -webkit-transform: translateY(-120%); transform: translateY(-120%); } }

@-moz-keyframes closeMenu { 0% { -moz-transform: translateY(0); transform: translateY(0); }
  60% { -moz-transform: translateY(-120%); transform: translateY(-120%); }
  100% { -moz-transform: translateY(-120%); transform: translateY(-120%); } }

@keyframes closeMenu { 0% { -webkit-transform: translateY(0); -moz-transform: translateY(0); transform: translateY(0); }
  60% { -webkit-transform: translateY(-120%); -moz-transform: translateY(-120%); transform: translateY(-120%); }
  100% { -webkit-transform: translateY(-120%); -moz-transform: translateY(-120%); transform: translateY(-120%); } }

@-webkit-keyframes scrollDown { 0% { -webkit-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0; }
  50% { -webkit-transform-origin: 100% 0; transform-origin: 100% 0;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }
  50.1% { -webkit-transform: scaleY(1); transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%; }
  100% { -webkit-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%; } }

@-moz-keyframes scrollDown { 0% { -moz-transform: scaleY(0); transform: scaleY(0);
    -moz-transform-origin: 100% 0;
         transform-origin: 100% 0; }
  50% { -moz-transform-origin: 100% 0; transform-origin: 100% 0;
    -moz-transform: scaleY(1);
         transform: scaleY(1); }
  50.1% { -moz-transform: scaleY(1); transform: scaleY(1);
    -moz-transform-origin: 0 100%;
         transform-origin: 0 100%; }
  100% { -moz-transform: scaleY(0); transform: scaleY(0);
    -moz-transform-origin: 0 100%;
         transform-origin: 0 100%; } }

@keyframes scrollDown { 0% { -webkit-transform: scaleY(0); -moz-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 100% 0;
       -moz-transform-origin: 100% 0;
            transform-origin: 100% 0; }
  50% { -webkit-transform-origin: 100% 0; -moz-transform-origin: 100% 0; transform-origin: 100% 0;
    -webkit-transform: scaleY(1);
       -moz-transform: scaleY(1);
            transform: scaleY(1); }
  50.1% { -webkit-transform: scaleY(1); -moz-transform: scaleY(1); transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
       -moz-transform-origin: 0 100%;
            transform-origin: 0 100%; }
  100% { -webkit-transform: scaleY(0); -moz-transform: scaleY(0); transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
       -moz-transform-origin: 0 100%;
            transform-origin: 0 100%; } }

.js-effect { -webkit-transition: opacity 0.5s, -webkit-transform 0.5s; transition: opacity 0.5s, -webkit-transform 0.5s; -moz-transition: transform 0.5s, opacity 0.5s, -moz-transform 0.5s; transition: transform 0.5s, opacity 0.5s; transition: transform 0.5s, opacity 0.5s, -webkit-transform 0.5s, -moz-transform 0.5s; }

.delay_01 { -webkit-transition-delay: 0.1s; -moz-transition-delay: 0.1s; transition-delay: 0.1s; }

.delay_02 { -webkit-transition-delay: 0.2s; -moz-transition-delay: 0.2s; transition-delay: 0.2s; }

.delay_03 { -webkit-transition-delay: 0.3s; -moz-transition-delay: 0.3s; transition-delay: 0.3s; }

.delay_04 { -webkit-transition-delay: 0.4s; -moz-transition-delay: 0.4s; transition-delay: 0.4s; }

.delay_05 { -webkit-transition-delay: 0.5s; -moz-transition-delay: 0.5s; transition-delay: 0.5s; }

.delay_06 { -webkit-transition-delay: 0.6s; -moz-transition-delay: 0.6s; transition-delay: 0.6s; }

.delay_07 { -webkit-transition-delay: 0.7s; -moz-transition-delay: 0.7s; transition-delay: 0.7s; }

.delay_08 { -webkit-transition-delay: 0.8s; -moz-transition-delay: 0.8s; transition-delay: 0.8s; }

.delay_09 { -webkit-transition-delay: 0.9s; -moz-transition-delay: 0.9s; transition-delay: 0.9s; }

.delay_10 { -webkit-transition-delay: 1s; -moz-transition-delay: 1s; transition-delay: 1s; }

.delay_11 { -webkit-transition-delay: 1.1s; -moz-transition-delay: 1.1s; transition-delay: 1.1s; }

.delay_12 { -webkit-transition-delay: 1.2s; -moz-transition-delay: 1.2s; transition-delay: 1.2s; }

.delay_13 { -webkit-transition-delay: 1.3s; -moz-transition-delay: 1.3s; transition-delay: 1.3s; }

.delay_14 { -webkit-transition-delay: 1.4s; -moz-transition-delay: 1.4s; transition-delay: 1.4s; }

.delay_15 { -webkit-transition-delay: 1.5s; -moz-transition-delay: 1.5s; transition-delay: 1.5s; }

.fadeIn { opacity: 0; }

.fadeIn.active { opacity: 1; }

.slideUp { -webkit-transform: translate3d(0, 10rem, 0); -moz-transform: translate3d(0, 10rem, 0); transform: translate3d(0, 10rem, 0); opacity: 0; }

.slideUp.active { opacity: 1; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slideToRight { -webkit-transform: translate3d(10rem, 0, 0); -moz-transform: translate3d(10rem, 0, 0); transform: translate3d(10rem, 0, 0); opacity: 0; }

.slideToRight.active { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); opacity: 1; }

.fadeInUp { opacity: 0; -webkit-transform: translate(0, 5rem); -moz-transform: translate(0, 5rem); -ms-transform: translate(0, 5rem); transform: translate(0, 5rem); }

.fadeInUp.active { opacity: 1; -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

/** header area
====================================== **/
.page-header { background: #000; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; padding: 2rem -webkit-calc(25/1280 * 100%) 2rem -webkit-calc(35/1280 * 100%); padding: 2rem -moz-calc(25/1280 * 100%) 2rem -moz-calc(35/1280 * 100%); padding: 2rem calc(25/1280 * 100%) 2rem calc(35/1280 * 100%); position: fixed; left: 0; top: 0; width: 100%; z-index: 9; }

@media screen and (max-width: 768px) { .page-header { padding: 1.5rem; } }

.site-logo { line-height: 0; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }

.site-logo .logo { display: inline-block; width: 15rem; }

.site-logo .logo img { filter:invert(100%); }

.site-logo .slogan { width: 19.9rem; margin-left: 2.5rem; }

@media screen and (max-width: 768px) { .site-logo { display: block; }
  .site-logo .logo { width: 10rem; margin-top: .3rem; }
  .site-logo .slogan { width: 12rem; margin: 0.5rem 0 0; } }

.menu { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; align-items: center; font-size: 1.3rem; }

.menu-item + .menu-item { margin-left: 5rem; }

.inquiry { background-color: #fff; }
.menu-item.inquiry a { padding:.5em 1.5em .5em 1em; color:#000; }

.menu-item.inquiry a::before,
.menu-item.inquiry a::after {
  position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.menu-item.inquiry a::before {
  right: 7px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);
}

@media screen and (hover: hover) {
  .menu-item.inquiry a:hover { background-color: #333; color:#fff; }
  .menu-item.inquiry a:hover::before {
    border-top-color:#fff;
    border-right-color: #fff;
  }
}

.movie { width:75%; margin: 0 auto 8rem; aspect-ratio: 16 / 9; }
.movie iframe {
  width: 100%;
  height: 100%;
}

.underline { text-decoration: underline; }

@media screen and (max-width: 768px) { .menu-item + .menu-item { margin-left: 0; } }

.menu-item a { position: relative; display: inline-block; color:#fff; font-weight: bold; /*@include pc { position: relative; &:after { position: absolute; content: ''; width: 100%; height: 1px; left: 0; bottom: -0.6rem; background: #fff; transform: scale(0, 1); transform-origin: right top; transition: transform .3s; transition: transform .3s, -webkit-transform .3s; } &:hover { &:after { transform-origin: left top; transform: scale(1, 1); } } }*/ }

/* @media screen and (max-width: 768px) { .menu-item a { font-size: 1rem; } } */

.menu-item.icon-line a span { position: relative; padding-right: 7rem; }

.menu-item.icon-line a span:after { position: absolute; content: ''; width: 5rem; height: 5rem; right: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: url(../img/icon_line.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; }

@media screen and (max-width: 768px) { .menu-item.icon-line { display: none; } }

.menu-line { width: 16.8rem; }

.menu-line a { display: block; line-height: 0; }

/* @media screen and (max-width: 768px) { .menu-line, .inquiry { display: none; } } */

.g-nav { display: block; margin-left: auto; }

.onlineshop-btn a { display: inline-block; font-size: 2rem; letter-spacing: 0; font-weight: 300; font-family: "Didot"; position: relative; padding-left: 4.5rem; }

.onlineshop-btn a:before { position: absolute; content: ''; width: 1.2rem; height: 1.4rem; left: 0.9rem; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: url(../img/icon_shop.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; z-index: 1; }

@media screen and (max-width: 768px) { .onlineshop-btn a:before { left: 1rem; } }

.onlineshop-btn a:after { position: absolute; content: ''; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 3rem; height: 3rem; -moz-border-radius: 50%; border-radius: 50%; background: #ECCD96; }

.onlineshop-btn a span { display: inline-block; position: relative; }

.onlineshop-btn a span:after { position: absolute; content: ''; width: 1.4rem; height: 1.4rem; top: 25%; -webkit-transform: translate3d(-100%, 100%, 0); -moz-transform: translate3d(-100%, 100%, 0); transform: translate3d(-100%, 100%, 0); right: -2rem; background: url(../img/icon_shop_hover.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; opacity: 0; visibility: hidden; -webkit-transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1); transition: -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1); -moz-transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), -moz-transform 1s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1), -moz-transform 1s cubic-bezier(0.19, 1, 0.22, 1); }

@media screen and (max-width: 768px) { .onlineshop-btn a span { display: none; } }

.onlineshop-btn a img { width: 1.4rem; height: auto; margin-left: 1.5rem; opacity: 0; visibility: hidden; }

@media screen and (max-width: 768px) { .onlineshop-btn a { width: 3.4rem; height: 3.4rem; padding: 0; }
  .onlineshop-btn a:before { width: 1.4rem; height: 1.6rem; }
  .onlineshop-btn a:after { width: 3.4rem; height: 3.4rem; } }

@media screen and (min-width: 769px) { .onlineshop-btn a:hover span:after { -webkit-transform: translate3d(45%, 0, 0); -moz-transform: translate3d(45%, 0, 0); transform: translate3d(45%, 0, 0); opacity: 1; visibility: visible; } }

@media screen and (max-width: 768px) { .onlineshop-btn { margin-left: auto; margin-right: 2rem; } }

@media screen and (min-width: 769px) { .h_home.page-header { padding: 6rem -webkit-calc(40/1366 * 100%); padding: 6rem -moz-calc(40/1366 * 100%); padding: 6rem calc(40/1366 * 100%); -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease; }
  .h_home .menu-item_en { display: block; font-size: 2.4rem; font-family: "Didot"; font-weight: 300; line-height: 1; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease; }
  .h_home .menu-item_ja { font-size: 1.2rem; color: #B7B7B7; } }

@media screen and (min-width: 1280px) { .h_home .menu li + li { margin-left: 8rem; } }

/** footer
======================================= **/
.page-footer { background: #000; padding: 2.8rem 0; }

.page-footer .footer-logo { width: 17.9rem; margin: 0 auto; }

.page-footer .footer-logo img { filter:brightness(1) invert(0); }

@media screen and (max-width: 768px) { .page-footer { padding: 1.5rem 0; }
  .page-footer .footer-logo { width: 12rem; } }

/** home
======================================= **/
@-webkit-keyframes header_animate { 0% { opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@-moz-keyframes header_animate { 0% { opacity: 1;
    -moz-transform: scale(1.1);
         transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1); } }
@keyframes header_animate { 0% { opacity: 1;
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
            transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes fadezoom { 0% { -webkit-transform: scale(1.2); transform: scale(1.2);
    opacity: 0; }
  100% { -webkit-transform: scale(1); transform: scale(1);
    opacity: 1; } }

@-moz-keyframes fadezoom { 0% { -moz-transform: scale(1.2); transform: scale(1.2);
    opacity: 0; }
  100% { -moz-transform: scale(1); transform: scale(1);
    opacity: 1; } }

@keyframes fadezoom { 0% { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); transform: scale(1.2);
    opacity: 0; }
  100% { -webkit-transform: scale(1); -moz-transform: scale(1); transform: scale(1);
    opacity: 1; } }

.slide-animation { -webkit-animation: fadezoom 8s 0s forwards; -moz-animation: fadezoom 8s 0s forwards; animation: fadezoom 8s 0s forwards; }

.main-visual { margin-top: 8.6rem; position: relative; width: 100%; height: -webkit-calc(100vh - 8.6rem); height: -moz-calc(100vh - 8.6rem); height: calc(100vh - 8.6rem); }

.main-visual:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0, 0, 0, 0); }

.main-visual.active .mv-slider { opacity: 1; visibility: visible; -webkit-transition-delay: 1s; -moz-transition-delay: 1s; transition-delay: 1s; }

@media screen and (max-width: 768px) { .main-visual { margin-top: 6.4rem; height: 0; padding-top: 56.25%; } }

.main-visual .mv-movie { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }

.main-visual iframe { position: absolute; left: 50%; top: 50%; width: 150%; height: 150%; object-fit: cover; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

@media screen and (max-width: 768px) { .main-visual iframe { width: 140%; height: 180%; } }

@media (min-width: 769px) and (max-width: 960px) { .main-visual iframe { width: 300%; height: 300%; } }

.section-title { text-align: center; }

.section-title .en { font-family: "Didot"; font-size: 4rem; letter-spacing: 0.16em; margin-bottom: 1rem; }

.section-title .ja { display: inline-block; font-size: 1.5rem; letter-spacing: 0.22em; }

@media screen and (max-width: 768px) { .section-title .en { font-size: 2.8rem; margin-bottom: 0.5rem; }
  .section-title .ja { font-size: 1.2rem; } }

/** section-feature **/
.section-feature { padding: 9rem 0 12.5rem; background: #040000; color: #fff; font-family: "Noto Serif JP", serif; }

@media screen and (max-width: 768px) { .section-feature { padding: 6rem 0 0; } }

.feature-lead { font-size: 2.8rem; font-weight: 500; line-height: 2.15; letter-spacing: 0.185em; text-align: center; margin: 0 0 3rem 0; }

@media screen and (max-width: 768px) { .feature-lead { font-size: 1.6rem; letter-spacing: 0.1em; margin: 0 0 6rem 0; } }

@media screen and (min-width: 769px) { .feature-art { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; } }

.feature-art_img { z-index: 1; }

.feature-art_ctn__inner { border: 1px solid #fff; font-size: 1.8rem; line-height: 2.6; letter-spacing: 0.105em; }

@media screen and (max-width: 768px) { .feature-art_ctn__inner { font-size: 1.4rem; padding: 3rem 2rem; border: none; letter-spacing: 0.1em; } }

@media screen and (min-width: 769px) { .feature-art.feature1 .feature-art_img { width: -webkit-calc(620/1280 * 100%); width: -moz-calc(620/1280 * 100%); width: calc(620/1280 * 100%); }
  .feature-art.feature1 .feature-art_ctn { width: -webkit-calc(633/1280 * 100%); width: -moz-calc(633/1280 * 100%); width: calc(633/1280 * 100%); margin: -7rem 0 0 -webkit-calc(-40/1280 * 100%); margin: -7rem 0 0 -moz-calc(-40/1280 * 100%); margin: -7rem 0 0 calc(-40/1280 * 100%); }
  .feature-art.feature1 .feature-art_ctn__inner { padding: 5rem -webkit-calc(90/633 * 100%); padding: 5rem -moz-calc(90/633 * 100%); padding: 5rem calc(90/633 * 100%); } }

@media screen and (min-width: 769px) { .feature-art.feature2 { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -moz-box-orient: horizontal; -moz-box-direction: reverse; -ms-flex-flow: row-reverse; flex-flow: row-reverse; margin: 10rem 0 0; padding-right: -webkit-calc(65/1280 * 100%); padding-right: -moz-calc(65/1280 * 100%); padding-right: calc(65/1280 * 100%); }
  .feature-art.feature2 .feature-art_img { width: -webkit-calc(540/1280 * 100%); width: -moz-calc(540/1280 * 100%); width: calc(540/1280 * 100%); }
  .feature-art.feature2 .feature-art_ctn { width: -webkit-calc(605/1280 * 100%); width: -moz-calc(605/1280 * 100%); width: calc(605/1280 * 100%); margin: -5rem -webkit-calc(-40/1280 * 100%) 0 0; margin: -5rem -moz-calc(-40/1280 * 100%) 0 0; margin: -5rem calc(-40/1280 * 100%) 0 0; }
  .feature-art.feature2 .feature-art_ctn__inner { padding: 5rem -webkit-calc(90/605 * 100%); padding: 5rem -moz-calc(90/605 * 100%); padding: 5rem calc(90/605 * 100%); } }

@media screen and (min-width: 769px) { .feature-art.feature3 { -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .feature-art.feature3 .feature-art_img { width: -webkit-calc(502/1280 * 100%); width: -moz-calc(502/1280 * 100%); width: calc(502/1280 * 100%); margin: -2.7rem -webkit-calc(60/502 * 100%) 0 0; margin: -2.7rem -moz-calc(60/502 * 100%) 0 0; margin: -2.7rem calc(60/502 * 100%) 0 0; z-index: 0; } }

/** section-situation **/
.section-situation { background: #1A1A1A; color: #fff; padding: 12rem 0; }

.section-situation .container { max-width: 113rem; }

.section-situation .section-title { margin-bottom: 11rem; }

@media screen and (max-width: 768px) { .section-situation { padding: 8rem 0; }
  .section-situation .section-title { margin-bottom: 6rem; } }

@media screen and (min-width: 769px) { .situation-voice { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 -3rem 0 -7rem; } }

@media screen and (min-width: 769px) { .situation-voice_item { width: -webkit-calc(100%/3 - 7rem); width: -moz-calc(100%/3 - 7rem); width: calc(100%/3 - 7rem); margin: 0 0 0 7rem; /*counter-increment: ol-counter; &:before { content: "0"counter(ol-counter); }*/ }
  .situation-voice_item:nth-child(2) { -webkit-transition-delay: 0.25s; -moz-transition-delay: 0.25s; transition-delay: 0.25s; }
  .situation-voice_item:nth-child(3) { -webkit-transition-delay: 0.5s; -moz-transition-delay: 0.5s; transition-delay: 0.5s; }
  .situation-voice_item:nth-child(3) .situation-voice_item__per .per:after { left: 35%; bottom: 2%; } }

@media screen and (max-width: 768px) { .situation-voice_item + .situation-voice_item { margin-top: 2rem; } }

.situation-voice_item__cmt { padding: 3rem 2.5rem; width: 30rem; height: 19.8rem; background: url(../img/sit_bd.svg) left top no-repeat; -moz-background-size: cover; background-size: cover; position: relative; }

.situation-voice_item__cmt .num { display: inline-block; position: absolute; left: 0.5rem; top: -1rem; }

.situation-voice_item__cmt .num img { width: auto; max-width: inherit; height: 2.2rem; }

.situation-voice_item__cmt .txt { font-size: 1.7rem; line-height: 1.6; letter-spacing: 0.13em; }

@media screen and (max-width: 768px) { .situation-voice_item__cmt { width: 25rem; height: 16.5rem; padding: 2rem; margin: 0 auto; }
  .situation-voice_item__cmt .txt { font-size: 1.4rem; line-height: 1.75; } }

.situation-voice_item__per { width: 100%; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: -7rem auto 0; }

.situation-voice_item__per .per { position: relative; z-index: 1; }

.situation-voice_item__per .per:after { position: absolute; content: ''; width: 21rem; height: 6.8rem; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); bottom: 0; -moz-border-radius: 50%; border-radius: 50%; background: #4E4D4D; z-index: -1; }

.situation-voice_item__per .per img { width: auto; max-width: inherit; height: 44.5rem; }

.situation-voice_item__per .txt { font-size: 1.4rem; line-height: 1.7; padding: 8rem 0 0 0; }

@media screen and (max-width: 768px) { .situation-voice_item__per { width: 25rem; }
  .situation-voice_item__per .per:after { width: 13rem; height: 3.8rem; bottom: 3%; }
  .situation-voice_item__per .per img { height: 28rem; margin: 0 -1rem 0 0; }
  .situation-voice_item__per .txt { font-size: 1.2rem; } }

.situation-lead { font-size: 3rem; font-weight: 400; line-height: 2; letter-spacing: 0.1em; text-align: center; font-family: "Noto Serif JP", serif; margin: 11rem 0; }

@media screen and (max-width: 768px) { .situation-lead { font-size: 1.8rem; margin: 6rem 0; } }

@media screen and (min-width: 769px) { .situation-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 0 0 -7.5rem; } }

@media screen and (min-width: 769px) { .situation-list_child { width: -webkit-calc(100%/3 - 7.5rem); width: -moz-calc(100%/3 - 7.5rem); width: calc(100%/3 - 7.5rem); margin: 0 0 0 7.5rem; }
  .situation-list_child:nth-child(2) { -webkit-transition-delay: 0.25s; -moz-transition-delay: 0.25s; transition-delay: 0.25s; }
  .situation-list_child:nth-child(3) { -webkit-transition-delay: 0.5s; -moz-transition-delay: 0.5s; transition-delay: 0.5s; } }

@media screen and (max-width: 768px) { .situation-list_child { max-width: 25rem; margin: 0 auto; }
  .situation-list_child + .situation-list_child { margin-top: 4rem; } }

.situation-list_child__icon { text-align: center; margin-bottom: 3rem; }

.situation-list_child__icon img { width: auto; max-width: inherit; height: 11.6rem; }

@media screen and (max-width: 768px) { .situation-list_child__icon img { height: 8rem; } }

.situation-list_child__ttl { font-size: 2.4rem; font-weight: 400; letter-spacing: 0.14em; text-align: center; margin-bottom: 1.5rem; }

@media screen and (max-width: 768px) { .situation-list_child__ttl { font-size: 1.8rem; } }

.situation-list_child__txt { font-size: 1.5rem; line-height: 1.8; }

@media screen and (max-width: 768px) { .situation-list_child__txt { font-size: 1.2rem; } }

/** section-detail **/
.section-detail { background: #040000; color: #fff; padding: 13rem 0; border-bottom: 1px solid #fff; }

.section-detail .section-title { margin-bottom: 9rem; }

@media screen and (max-width: 768px) { .section-detail { padding: 8rem 0; }
  .section-detail .section-title { margin-bottom: 5rem; } }

@media screen and (min-width: 769px) { .detail-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -7rem; } }

@media screen and (min-width: 769px) { .detail-item { width: -webkit-calc(100%/2 - 7rem); width: -moz-calc(100%/2 - 7rem); width: calc(100%/2 - 7rem); margin: 0 0 7rem 7rem; } }

@media screen and (max-width: 768px) { .detail-item + .detail-item { margin-top: 4rem; } }

.detail-item_ttl { font-size: 2.1rem; letter-spacing: 0.1em; font-weight: 400; position: relative; margin-bottom: 1.5rem; /*&:after { position: absolute; content: ''; width: 5.7rem; height: 2.2rem; left: 0; top: 55%; transform: translateY(-50%); background: url(../img/icon_truck.svg) left top no-repeat; background-size: cover; }*/ }

@media screen and (max-width: 768px) { .detail-item_ttl { font-size: 1.6rem; /*&:after { width: 5rem; height: 1.9rem; }*/ } }

.detail-item_thumb { margin-bottom: 2rem; }

.detail-item_txt { font-size: 1.6rem; line-height: 1.65; letter-spacing: 0.10em; }

@media screen and (max-width: 768px) { .detail-item_txt { font-size: 1.2rem; letter-spacing: 0.07em; } }

.detail-note li { font-size: 1.6rem; line-height: 1.75; letter-spacing: 0.14em; }

@media screen and (max-width: 768px) { .detail-note { margin-top: 6rem; }
  .detail-note li { font-size: 1.3rem; text-indent: -1.5rem; padding-left: 1.5rem; } }

/** section-location **/
.section-location { background: #040000; color: #fff; padding: 13rem 1.5rem 0; }

.section-location .section-title { margin-bottom: 5rem; }

@media screen and (max-width: 768px) { .section-location { padding: 8rem 1.5rem 0; }
  .section-location .section-title { margin-bottom: 5rem; } }

.location-lead { text-align: center; font-size: 2rem; line-height: 2; letter-spacing: 0.14em; }

@media screen and (max-width: 768px) { .location-lead { font-size: 1.6rem; } }

@media screen and (min-width: 769px) { .location-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 10rem 0 0 -2rem; } }

@media screen and (max-width: 768px) { .location-list { margin: 4rem 0 0 0; } }

@media screen and (min-width: 769px) { .location-item { width: -webkit-calc(100%/2 - 2rem); width: -moz-calc(100%/2 - 2rem); width: calc(100%/2 - 2rem); margin: 0 0 2rem 2rem; } }

@media screen and (max-width: 768px) { .location-item + .location-item { margin-top: 1.5rem; } }

/** section-price **/
.section-price { background: #040000; color: #fff; padding: 13rem 0; }

.section-price .section-title { margin-bottom: 10rem; }

@media screen and (min-width: 769px) { .section-price dl { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -moz-box-align: start; -ms-flex-align: start; align-items: flex-start; margin: 3.5rem 0 0; } }

.section-price dl dt { border: 1px solid #fff; width: 15.2rem; padding: 0.5rem 0; margin-right: 3rem; text-align: center; }

.section-price dl dt span { display: inline-block; font-size: 2rem; }

@media screen and (max-width: 768px) { .section-price dl { margin: 4rem 0 0; }
  .section-price dl dt { width: 100%; margin: 0 0 2rem; } }

@media screen and (max-width: 768px) { .section-price { padding: 8rem 0; }
  .section-price .section-title { margin-bottom: 5rem; } }

.price-item { font-size: 1.8rem; line-height: 1.78; letter-spacing: 0.14em; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; }

.price-item span { display: inline-block; }

.price-item span.tx { margin-left: 3rem; }

@media screen and (max-width: 768px) { .price-item { font-size: 1.4rem; } }

.price-box { border: 1px solid #fff; padding: 6rem; }

@media screen and (min-width: 769px) { .price-box { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; } }

@media screen and (max-width: 768px) { .price-box { padding: 3rem 2rem; } }

.price-box_left h3 { font-size: 2.5rem; font-weight: bold; font-family: "Noto Serif JP", serif; letter-spacing: 0.095em; }

@media screen and (max-width: 768px) { .price-box_left h3 { font-size: 1.8rem; } }

.price-box_left .pr { background: #CECECE; color: #040000; padding: 1.5rem; margin: 1rem 0; max-width: 33rem; text-align: center; }

.price-box_left .pr_yen { font-size: 4.1rem; font-weight: bold; font-family: "Noto Serif JP", serif; letter-spacing: 0.06em; }

.price-box_left .pr_yen span { display: inline-block; font-size: 2rem; }

.price-box_left .pr_nt { line-height: 2.285; letter-spacing: 0.14em; }

@media screen and (max-width: 768px) { .price-box_left .pr { padding: 1rem; }
  .price-box_left .pr_yen { font-size: 3.2rem; }
  .price-box_left .pr_yen span { font-size: 1.4rem; }
  .price-box_left .pr_nt { font-size: 1.2rem; } }

.price-box_left .note { font-size: 1.8rem; line-height: 1.8; letter-spacing: 0.14em; }

@media screen and (max-width: 768px) { .price-box_left .note { font-size: 1.2rem; } }

.price-box_right { margin-left: 6rem; }

.price-box_right .tl { width: 70%; }

.price-box_right .ld { font-size: 1.9rem; margin-bottom: 1rem; }

.price-box_right .nt { font-size: 1.6rem; line-height: 2; letter-spacing: 0.07em; }

@media screen and (max-width: 768px) { .price-box_right { margin: 4rem 0 0 0; }
  .price-box_right .ld { font-size: 1.6rem; margin-bottom: 1rem; }
  .price-box_right .nt { font-size: 1.2rem; } }

/** section-qa **/
.section-qa { background: #E6E6E5; padding: 13rem 0; }

.section-qa .section-title { margin-bottom: 4rem; }

@media screen and (max-width: 768px) { .section-qa { padding: 8rem 0; }
  .section-qa .section-title { margin-bottom: 5rem; } }

.qa_icon { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; font-size: 2.8rem; line-height: 1; font-weight: bold; font-family: "Noto Serif JP", serif; width: 5.6rem; height: 5.6rem; text-align: center; border: 1px solid #000000; margin-right: 3rem; }

@media screen and (max-width: 768px) { .qa_icon { font-size: 1.8rem; width: 4rem; height: 4rem; margin-right: 1.5rem; } }

.qa-art { font-size: 2rem; line-height: 1.4; letter-spacing: 0.14em; background: #fff; padding: 9rem 4rem 9rem 10rem; }

.qa-art_ttl { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }

.qa-art_ttl p { width: -webkit-calc(100% - 8.6rem); width: -moz-calc(100% - 8.6rem); width: calc(100% - 8.6rem); }

.qa-art_ctn { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; margin: 1rem 0 4rem 0; }

.qa-art_ctn .qa_icon { background: #000; color: #fff; }

.qa-art_ctn p { width: -webkit-calc(100% - 8.6rem); width: -moz-calc(100% - 8.6rem); width: calc(100% - 8.6rem); }

@media screen and (max-width: 768px) { .qa-art { padding: 2rem; }
  .qa-art_ttl { font-size: 1.4rem; }
  .qa-art_ttl p { width: -webkit-calc(100% - 5.5rem); width: -moz-calc(100% - 5.5rem); width: calc(100% - 5.5rem); }
  .qa-art_ctn { font-size: 1.2rem; margin: 1rem 0 3rem 0; }
  .qa-art_ctn p { width: -webkit-calc(100% - 5.5rem); width: -moz-calc(100% - 5.5rem); width: calc(100% - 5.5rem); }
  .qa-art_ctn:last-child { margin-bottom: 0; } }

/** section-gallery **/
.section-gallery { background: #040000; color: #fff; padding: 13rem 0 6rem; }

.section-gallery .section-title { margin-bottom: 10rem; }

@media screen and (max-width: 768px) { .section-gallery { padding: 8rem 0 2rem; }
  .section-gallery .section-title { margin-bottom: 5rem; } }

.gallery-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -1rem; }

.gallery-item { width: -webkit-calc(100%/3 - 1rem); width: -moz-calc(100%/3 - 1rem); width: calc(100%/3 - 1rem); margin: 0 0 1rem 1rem; }

/** section-bottom **/
.section-bottom { position: relative; }

.section-bottom p { position: absolute; top: 8rem; right: 7rem; font-size: 3rem; font-weight: 500; font-family: "Noto Serif JP", serif; line-height: 1.7; letter-spacing: 0.18em; color: #fff; }

@media screen and (max-width: 768px) { .section-bottom { height: 30rem; }
  .section-bottom:after { position: absolute; content: ''; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0, 0, 0, 0.16); }
  .section-bottom .anim_img { width: 100%; height: 100%; }
  .section-bottom figure { position: relative; width: 100%; height: 100%; }
  .section-bottom figure img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
  .section-bottom p { font-size: 1.8rem; top: 1rem; right: 1rem; z-index: 1; } }
