@charset "UTF-8";
/*
Theme Name: 株式会社GOODFIELD雛形
Theme URI: http://hh-itoi.com/
Author: shogo yonetani
Author URI: http://pnra-inc.jp
Description: 株式会社GOODFIELD雛形
*/
/*Color Management*/
:root {
  --sans: YakuHanJP_Narrow, "Inter", "Zen Kaku Gothic Antique", 游ゴシック, Yu Gothic, YuGothic, sans-serif;
  --s-font-noto: 'Noto Sans JP';
  --s-font-inter: Inter;
  --fontweight-5: 500;
  --fontweight-6: 600;
  --fontweight-7: 700;
  --fontweight-8: 800;
  --key1: #fbfefc;
  --key2: #f5fbf6;
  --key3: #e7f6eb;
  --key4: #d8f0df;
  --key5: #c6e8d0;
  --key6: #b0ddbe;
  --key7: #92cea5;
  --key8: #64b883;
  --key9: #007943;
  --key10: #006a35;
  --key11: #128049;
  --key12: #1f3b29;
  --gray1: #fcfcfd;
  --gray2: #f9f9fb;
  --gray3: #eff0f3;
  --gray4: #e7e8ec;
  --gray5: #e0e1e6;
  --gray6: #d8d9e0;
  --gray7: #cdced7;
  --gray8: #b9bbc6;
  --gray9: #8b8d98;
  --gray10: #80828d;
  --gray11: #62636c;
  --gray12: #1e1f24;
  --white: #fff;
  --color-gray: #757575;
  --color-lightgray: #ecedf0;
  --black: #171617;
  --border-light-black: rgba(31,69,94,.205);
  --border-light-white: rgba(255,255,255,.1025);
  --background: background-color:hsla(359,100%,50%,1);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1818 1818' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"), radial-gradient(circle at 0% 99%, #ff2f00 0%, transparent 67%), radial-gradient(circle at 46% 94%, #5a0c12 0%, transparent 81%), radial-gradient(circle at 89% 8%, #a2111d 0%, transparent 150%), radial-gradient(circle at 89% 8%, #230608 0%, transparent 150%), radial-gradient(circle at 93% 95%, #790610 0%, transparent 66%), radial-gradient(circle at 89% 8%, snow 0%, transparent 150%), radial-gradient(circle at 89% 8%, #f8e61b 0%, transparent 150%);
  background-blend-mode: overlay,normal,normal,normal,normal,normal,normal,normal;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 6px rgba(0, 0, 0, 0.08); }

/*!レスポンシブ*/
/*mouse-follower-dev*/
.mf-cursor {
  color: #555555;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001 !important;
  direction: ltr;
  contain: layout style size;
  pointer-events: none;
  transition: opacity 0.3s, color 0.4s; }
  @media screen and (max-width: 1024px) {
    .mf-cursor {
      display: none; } }
  .mf-cursor:before {
    content: "";
    position: absolute;
    top: -24px;
    left: -24px;
    display: block;
    width: 48px;
    height: 48px;
    transform: scale(0.2);
    background: currentColor;
    border-radius: 50%;
    transition: transform 0.25s ease-in-out, opacity 0.1s; }
  .mf-cursor.-inverse {
    color: #aaaaaa; }
  @supports (mix-blend-mode: exclusion) {
    .mf-cursor.-exclusion {
      mix-blend-mode: exclusion; }
      .mf-cursor.-exclusion:before {
        background: #aaaaaa; } }
  .mf-cursor.-pointer:before {
    transform: scale(0.15); }
  .mf-cursor.-text {
    white-space: nowrap; }
    .mf-cursor.-text:before {
      opacity: 0.85;
      transform: scale(1.7); }
    .mf-cursor.-text.-active:before {
      transform: scale(1.6);
      transition-duration: 0.2s; }
  .mf-cursor.-icon:before {
    transform: scale(1.5); }
  .mf-cursor.-icon.-active:before {
    transform: scale(1.4); }
  .mf-cursor.-hidden:before {
    transform: scale(0); }
  .mf-cursor.-image {
    border-radius: 16px;
    /* 50% で円 */
    overflow: hidden; }
  .mf-cursor-text {
    position: absolute;
    top: -18px;
    left: -18px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0) rotate(10deg);
    opacity: 0;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    transition: opacity 0.4s, transform 0.3s; }
    .mf-cursor.-text .mf-cursor-text, .mf-cursor.-icon .mf-cursor-text {
      opacity: 1;
      transform: scale(1); }
  .mf-cursor-media {
    position: absolute;
    width: 300px !important;
    height: 200px !important;
    margin: -150px 0 0 -100px !important; }
    @media screen and (max-width: 1024px) {
      .mf-cursor-media {
        width: 240px !important;
        height: 160px !important;
        margin: -120px 0 0 -80px !important; } }
    .mf-cursor-media .mf-cursor-media-box {
      border-radius: calc(8em / 32) !important; }
    .mf-cursor-media img, .mf-cursor-media video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: calc(8em / 32) !important; }
      @supports (object-fit: cover) {
        .mf-cursor-media img, .mf-cursor-media video {
          position: static;
          width: 100%;
          height: 100%;
          object-fit: cover;
          transform: translateZ(0); } }
    .mf-cursor-media-box {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      transform: scale(0) translateZ(0);
      padding: 1px;
      opacity: 0;
      border-radius: 50%;
      transition: transform 0.35s, opacity 0.2s 0.2s; }
      .mf-cursor.-media .mf-cursor-media-box {
        opacity: 1;
        transform: scale(0.696);
        transition-duration: 0.4s, 0.4s;
        transition-delay: 0s, 0s; }

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

a {
  background: transparent; }

a:active, a:hover {
  outline: 0; }

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

b, strong {
  font-weight: 700; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

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

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em; }

input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html input[type="button"], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  /*cursor:pointer*/ }

button[disabled], html input[disabled] {
  /*cursor:default*/ }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: 700; }

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

td, th {
  padding: 0; }

/*!//normalize.css*/
/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
  overflow: hidden; }

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.has-scroll-smooth body {
  overflow: hidden; }

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh; }

[data-scroll-direction=horizontal] [data-scroll-container] {
  display: inline-block;
  height: 100vh;
  white-space: nowrap; }

[data-scroll-direction=horizontal] [data-scroll-section] {
  display: inline-block;
  height: 100%;
  vertical-align: top;
  white-space: nowrap; }

.c-scrollbar {
  height: 100%;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center right;
  transition: transform .3s,opacity .3s;
  width: 11px; }

.c-scrollbar:hover {
  transform: scaleX(1.45); }

.c-scrollbar:hover, .has-scroll-dragging .c-scrollbar, .has-scroll-scrolling .c-scrollbar {
  opacity: 1; }

[data-scroll-direction=horizontal] .c-scrollbar {
  bottom: 0;
  height: 10px;
  top: auto;
  transform: scaleY(1);
  width: 100%; }

[data-scroll-direction=horizontal] .c-scrollbar:hover {
  transform: scaleY(1.3); }

.c-scrollbar_thumb {
  background-color: #000;
  border-radius: 10px;
  cursor: -webkit-grab;
  cursor: grab;
  margin: 2px;
  opacity: .5;
  position: absolute;
  right: 0;
  top: 0;
  width: 7px; }

.has-scroll-dragging .c-scrollbar_thumb {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
  bottom: 0;
  right: auto; }

/*normalize.css*/
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

a {
  background: transparent; }

a:active, a:hover {
  outline: 0; }

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

b, strong {
  font-weight: 700; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

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

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em; }

input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html input[type="button"], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled], html input[disabled] {
  cursor: default; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: 700; }

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

td, th {
  padding: 0; }

/*normalize.css*/
/*--------------basic css--------------*/
html {
  height: 100%;
  font-size: 62.5%; }

body {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  height: auto;
  font-family: Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-weight: 500;
  font-weight: normal;
  letter-spacing: .1em;
  -webkit-text-size-adjust: 100%;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  overflow-x: hidden;
  overflow-y: auto;
  background: #F8F8F8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /*opacity: 0;*/ }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/*TEXT*/
p, h1, h2, h3, h4, h5 {
  display: block;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  margin: 0;
  line-height: 1.8em; }

p {
  font-size: 1.3rem;
  letter-spacing: .15em; }

.sans {
  font-family: 'Oswald', sans-serif; }

.serif {
  font-family: 'Open Sans', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif; }

i {
  font-style: normal; }

.emphasis {
  background: linear-gradient(#f9e498, #f9e498) no-repeat;
  background-size: 100% 8px;
  background-position: 0 0.9em; }

.posCenter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0); }

/*LINK*/
a {
  color: #151515;
  text-decoration: none; }

a.not {
  cursor: not-allowed; }

a[target='_blank'] p::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(images/icon-linkout.svg);
  background-size: cover;
  margin-left: .65em; }

a.linkFull {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  cursor: pointer; }

a.btn {
  display: block;
  width: auto;
  padding: 1.5em 2em;
  background: #dfd8d2;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
  transition: ease .3s; }

a.btn.blk {
  background: #31302e; }

a.btn:hover {
  background: #e27b5b;
  transition: ease .3s; }

a.btn.blk:hover {
  background: #e27b5b; }

a.btn.sm {
  width: 20rem; }

a.btn.md {
  width: auto;
  max-width: 30rem; }

a.btn.lg {
  width: auto;
  max-width: 42em; }

a.btn.xl {
  width: auto;
  max-width: 68em; }

a.btn.left {
  margin-right: auto; }

a.btn.center {
  margin-left: auto;
  margin-right: auto; }

a.btn.right {
  margin-left: auto; }

a.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -110%;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: skew(-15deg); }

a.btn:hover::before {
  left: 110%;
  transition: ease .5s; }

a.btn p {
  display: block;
  position: relative;
  color: #1f1f1f !important;
  font-size: 1.3rem !important;
  font-weight: bold;
  text-align: center;
  margin: 0 auto !important;
  transition: ease .3s; }

a.btn.blk p {
  color: #dfd8d2 !important; }

a.btn:hover p {
  color: #dfd8d2 !important;
  transition: ease .3s; }

a.linkOut p {
  padding-right: 2em;
  position: relative; }

a.linkOut p::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  background: url(images/iconLinkout.svg);
  background-size: cover;
  position: absolute;
  top: 0.9em;
  right: 0; }

a.btnArrow {
  display: block;
  margin-top: 6rem; }

a.btnArrow p {
  display: flex;
  align-items: center;
  justify-content: flex-end; }

a.btnArrow i {
  display: inline-block;
  width: 5rem;
  height: 5rem;
  border-radius: 5rem;
  border: solid 1px #333;
  margin-left: 2em;
  position: relative;
  overflow: hidden;
  transition: ease-in-out 0.3s; }

a.btnArrow i::before {
  content: '';
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  margin: 1.8rem;
  background: url(images/iconArrowRight.svg);
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: ease-in-out .3s; }

a.btnArrow i::after {
  content: '';
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  margin: 1.8rem;
  background: url(images/iconArrowRight.svg);
  background-size: cover;
  position: absolute;
  top: 0;
  left: -100px;
  transition: ease-in-out .3s; }

a.btnArrow:hover i {
  background: #111;
  transition: ease-in-out .3s; }

a.btnArrow:hover i::before {
  transform: translateX(50px);
  transition: ease-in-out .3s; }

a.btnArrow:hover i::after {
  transform: translateX(100px);
  transition: ease-in-out .5s; }

/*ul li*/
ul, dl {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  -webkit-padding-start: 0;
  -moz-margin-before: 0;
  -moz-margin-after: 0;
  -moz-margin-start: 0;
  -moz-margin-end: 0;
  -moz-padding-start: 0;
  -ms-margin-before: 0;
  -ms-margin-after: 0;
  -ms-margin-start: 0;
  -ms-margin-end: 0;
  -ms-padding-start: 0;
  -o-margin-before: 0;
  -o-margin-after: 0;
  -o-margin-start: 0;
  -o-margin-end: 0;
  -o-padding-start: 0;
  margin-before: 0;
  margin-after: 0;
  margin-start: 0;
  margin-end: 0;
  padding-start: 0;
  -webkit-padding-left: 0;
  -moz-padding-left: 0;
  -ms-padding-left: 0;
  -o-padding-left: 0;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0; }

ul::after, dl::after {
  content: '';
  display: block;
  clear: both; }

ul li {
  list-style-type: none; }

dl dd {
  margin-left: 0; }

.clear::after {
  content: '';
  display: block;
  clear: both; }

/*ASPECT*/
.aspect {
  width: 100%;
  height: auto;
  position: relative; }

.aspect.circle {
  border-radius: 50%; }

.aspect.aspect35 {
  padding-top: 35%;
  overflow: hidden; }

.aspect.aspect41 {
  padding-top: 41.4%;
  overflow: hidden; }

.aspect.aspect50 {
  padding-top: 50%;
  overflow: hidden; }

.aspect.aspect56 {
  padding-top: 56.25%;
  overflow: hidden; }

.aspect.aspect618 {
  padding-top: 61.8%;
  overflow: hidden; }

.aspect.aspect100 {
  padding-top: 100%;
  overflow: hidden; }

.aspect.aspect141 {
  padding-top: 141.4%;
  overflow: hidden; }

.aspect.aspect150 {
  padding-top: 150%;
  overflow: hidden; }

.aspect.aspect178 {
  padding-top: 178%;
  overflow: hidden; }

.aspect .aspectBlock {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%; }

.aspect .aspectBlock img {
  width: 100%;
  height: auto; }

.aspect .aspectBlock iframe {
  width: 100%;
  height: 100%; }

/*FIGURE*/
figure {
  margin: 0; }

/*SHADOW*/
.sdw {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }

/*RESPONSIVE*/
.hidden-xs {
  display: block !important; }

.visible-xs {
  display: none !important; }

/*BOTH*/
.inview {
  opacity: 0; }

.inview.action {
  opacity: 1;
  transition: ease .5s; }

.animated {
  transform: translateY(4rem); }

.animated.move {
  transform: translateY(0);
  transition: ease 1s; }

.animate {
  transform: translateY(-4rem); }

.animate.move {
  transform: translateY(0);
  transition: ease .3s; }

#page {
  max-width: 210rem;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.05);
  transition: ease .3s; }

#page.move {
  height: 100vh;
  transition: ease .3s; }

/*BOTH_HEADER*/
header.siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  width: 100%;
  height: auto;
  transition: ease .3s; }

header.siteHeader > .innerWrap {
  position: relative;
  z-index: 10000;
  width: 90%;
  max-width: 168rem;
  height: auto;
  margin: 0 auto;
  transition: ease .3s; }

header.siteHeader .flexWrap {
  display: flex;
  align-items: center;
  justify-content: space-between; }

header.siteHeader .flexWrap > .flexLeft {
  width: 14.4rem;
  display: block; }

header.siteHeader .flexWrap > .flexCenter {
  width: calc(100% - 21.6rem); }

header.siteHeader .flexWrap > .flexRight {
  opacity: 0;
  transform: translateX(72px);
  width: 7.2rem;
  margin-right: -5vw;
  transition: ease-in-out .3s; }

header.siteHeader h1.headLogo {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-4rem);
  transition: ease-in-out .3s; }

header.siteHeader h1.headLogo img {
  width: auto;
  height: 9.6rem;
  margin: 0 auto;
  display: block;
  padding: .5em 0; }

/*.scroll*/
body.scroll header.siteHeader {
  padding: 0;
  transition: ease .3s; }

body.scroll header.siteHeader .flexWrap > .flexRight {
  opacity: 1;
  transform: translateX(0);
  transition: ease-in-out .3s .5s; }

body.scroll header.siteHeader h1.headLogo {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: ease-in-out .3s .5s; }

/*#page.move*/
#page.move header.siteHeader .flexWrap > .flexCenter {
  opacity: 0;
  transition: ease-in-out .3s; }

#page.move header.siteHeader .flexWrap > .flexRight {
  opacity: 1;
  transform: translateX(0);
  transition: ease-in-out .3s .5s; }

/*.scroll
.scrollUp header.siteHeader { top: 0; transition: ease .65s; }*/
ul.listGlobalNav {
  display: flex;
  justify-content: flex-end; }
  ul.listGlobalNav li {
    margin-right: 3rem; }
    ul.listGlobalNav li:last-child {
      margin-right: 0; }
    ul.listGlobalNav li p {
      font-weight: bold;
      color: #EEE;
      line-height: 1.65;
      transition: ease .3s .5s; }
      ul.listGlobalNav li p span {
        display: block; }
        ul.listGlobalNav li p span.en {
          font-size: 1.1rem;
          opacity: .5;
          text-transform: uppercase; }

/*.scroll*/
body.scroll ul.listGlobalNav li p {
  transform: translateX(50px);
  opacity: 0;
  transition: ease-in-out .3s; }

body.scroll ul.listGlobalNav li:nth-child(1) p {
  transition-delay: 0s; }

body.scroll ul.listGlobalNav li:nth-child(2) p {
  transition-delay: .05s; }

body.scroll ul.listGlobalNav li:nth-child(3) p {
  transition-delay: .1s; }

body.scroll ul.listGlobalNav li:nth-child(4) p {
  transition-delay: .15s; }

body.scroll ul.listGlobalNav li:nth-child(5) p {
  transition-delay: .2s; }

body.scroll ul.listGlobalNav li:nth-child(6) p {
  transition-delay: .25s; }

body.scroll ul.listGlobalNav li:nth-child(7) p {
  transition-delay: .3s; }

body.scroll ul.listGlobalNav li:nth-child(8) p {
  transition-delay: .35s; }

/*smpNav*/
.humbNav {
  position: relative;
  width: 7.2rem;
  height: 7.2rem;
  display: block;
  background: #a51e21; }

.humbNav span.border {
  display: block;
  width: 30%;
  height: 2px;
  border-radius: 1px;
  background: #dfd8d2;
  position: absolute; }

.humbNav span.border:nth-child(1) {
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: ease .3s; }

.humbNav span.border:nth-child(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: ease .3s; }

.humbNav span.txt {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0;
  color: #dfd8d2;
  position: absolute;
  top: 75%;
  left: 50%;
  transform: translate(-50%, -50%); }

.humbNav span.txt span.open {
  display: block; }

.humbNav span.txt span.close {
  display: none; }

/*.active*/
.humbNav.active span.border:nth-child(1) {
  top: 42.5%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  transition: ease .3s; }

.humbNav.active span.border:nth-child(2) {
  top: 42.5%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: ease .3s; }

.humbNav.active span.txt span.open {
  display: none; }

.humbNav.active span.txt span.close {
  display: block; }

aside#aside {
  opacity: 0;
  visibility: hidden;
  display: block;
  width: 100vw;
  height: 100vh;
  background: #a51e21;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  transform: matrix(1, -0.5, 0, 0.001, 0, 1200);
  transition: ease .5s .15s; }

aside#aside::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: radial-gradient(ellipse at top right, #a51e21, #6d1c1d 95%); }

aside#aside.move {
  opacity: 1;
  visibility: visible;
  transform: matrix(1, 0, 0, 1, 0, 0);
  transition: ease .5s; }

aside#aside .innerWrap {
  width: 90%;
  height: 100%;
  margin: 0 auto;
  padding: 7.2rem 0 0;
  position: relative; }

dl.listGlobalNav {
  width: 80%;
  max-width: 86rem;
  display: flex;
  flex-wrap: wrap;
  padding: 10vw 0; }

dl.listGlobalNav dt {
  width: calc(100% / 3);
  position: relative;
  opacity: 0;
  visibility: hidden;
  transform: translateY(1.5rem);
  transition: ease .3s;
  margin-bottom: 3rem; }

dl.listGlobalNav dt p {
  font-size: 1.65rem;
  font-weight: bold; }

dl.listGlobalNav dt h2.navTtl {
  color: #fff;
  position: relative;
  padding-left: 3rem; }

dl.listGlobalNav dt h2.navTtl::before {
  content: attr(data-number) "";
  display: block;
  font-size: 1.2rem;
  font-family: 'Oswald', sans-serif;
  line-height: 1;
  position: absolute;
  top: 1.5rem;
  left: 0; }

dl.listGlobalNav dt h2.navTtl span {
  display: block; }

dl.listGlobalNav dt h2.navTtl span.jp {
  font-size: 2.25rem; }

dl.listGlobalNav dt h2.navTtl span.en {
  font-size: 1.25rem;
  opacity: .5; }

#aside.move dl.listGlobalNav dt {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: ease-in .3s; }

#aside.move dl.listGlobalNav dt:nth-child(1) {
  transition-delay: .25s; }

#aside.move dl.listGlobalNav dt:nth-child(2) {
  transition-delay: .3s; }

#aside.move dl.listGlobalNav dt:nth-child(3) {
  transition-delay: .35s; }

#aside.move dl.listGlobalNav dt:nth-child(4) {
  transition-delay: .4s; }

#aside.move dl.listGlobalNav dt:nth-child(5) {
  transition-delay: .45s; }

#aside.move dl.listGlobalNav dt:nth-child(6) {
  transition-delay: .5s; }

#aside.move dl.listGlobalNav dt:nth-child(7) {
  transition-delay: .55s; }

#aside.move dl.listGlobalNav dt:nth-child(8) {
  transition-delay: .6s; }

#aside.move dl.listGlobalNav dt:nth-child(9) {
  transition-delay: .65s; }

#aside.move ul.listSNS.global {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: ease-in .3s .55s; }

aside#cside {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100;
  width: auto;
  height: auto;
  opacity: 0;
  visibility: hidden;
  transition: ease .3s; }

body.scroll aside#cside {
  opacity: 1;
  visibility: visible;
  transition: ease .3s; }

.flexPageFoot {
  width: 100%;
  max-width: 168rem;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end; }

.flexPageFoot > .flexItem {
  position: relative;
  height: 8.8rem; }

.flexPageFoot > .flexItem.banar1 {
  background: #008eaa; }

.flexPageFoot > .flexItem.banar2 {
  background: #ffffff; }

.flexPageFoot > .flexItem.banar3 {
  background: #005670; }

.flexPageFoot > .flexItem img {
  width: auto;
  height: 8.8rem;
  padding: 1rem 3rem; }

/*BOTH_FOOTER*/
footer.siteFooter {
  position: relative;
  z-index: 10; }

footer.siteFooter .secFoot {
  position: relative; }

footer.siteFooter .secFoot * {
  color: #ccc; }

footer.siteFooter .secFoot h2.footTtl {
  font-size: 7.2vw;
  font-weight: bold;
  font-style: italic;
  position: relative;
  margin-bottom: .25em; }

footer.siteFooter .innerWrap {
  width: 85%;
  max-width: 168rem;
  height: auto;
  margin: 0 auto; }

footer.siteFooter .secFoot.sec1 {
  background: url(images/bgFoot1-1.jpg) center;
  background-size: cover;
  background-attachment: fixed; }

footer.siteFooter .secFoot.sec1::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(24, 24, 24, 0.75);
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

footer.siteFooter .secFoot.sec1 h2 {
  color: #fff; }

footer.siteFooter .secFoot.sec1 p {
  color: #ccc; }

footer.siteFooter .secFoot.sec1 .innerWrap {
  padding: 6rem 0 9.6rem;
  position: relative; }

footer.siteFooter .secFoot.sec1 .flexWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 6rem; }

footer.siteFooter .secFoot.sec1 .flexWrap > .flexLeft {
  width: 10%; }

footer.siteFooter .secFoot.sec1 .flexWrap > .flexRight {
  width: 90%; }

footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem {
  width: calc((100% / 3) - 1px);
  background: rgba(255, 255, 255, 0.2);
  transition: ease .3s; }

footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem:hover {
  background: #a51e21;
  transition: ease .3s; }

footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem a {
  display: block;
  padding: 4rem 0; }

footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem p {
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center; }

footer.siteFooter .secFoot.sec2 {
  background: #111; }

footer.siteFooter .secFoot.sec2 h2 {
  text-align: center; }

footer.siteFooter .secFoot.sec2 .innerWrap {
  padding: 14.4rem 0 9.6rem; }

footer.siteFooter .secFoot.sec2 .innerWrap ~ .innerWrap {
  border-top: solid 1px #282828;
  padding: 9.6rem 0 14.4rem; }

footer.siteFooter .secFoot.sec2 .flexWrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between; }

footer.siteFooter .secFoot.sec2 .flexWrap > .flexLeft {
  width: 20%; }

footer.siteFooter .secFoot.sec2 .flexWrap > .flexLeft img {
  width: auto;
  height: 7.2rem; }

.flexStore {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #333;
  border-left: solid 1px #333; }

.flexStore > .flexItem {
  width: 20%;
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  position: relative; }

.flexStore > .flexItem::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  opacity: 0;
  transition: ease-in-out .3s; }

.flexStore > .flexItem[data-number="1"]::before {
  background: url(images/store_stand.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="2"]::before {
  background: url(images/sotre_okaido.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="3"]::before {
  background: url(images/store_wake.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="4"]::before {
  background: url(images/store_nihama.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="5"]::before {
  background: url(images/store_saijou.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="6"]::before {
  background: url(images/store_heiwa.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="7"]::before {
  background: url(images/store_tusbaki.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="8"]::before {
  background: url(images/store_kurashiki.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="9"]::before {
  background: url(images/marugameten.jpg) center;
  background-size: cover; }

.flexStore > .flexItem[data-number="10"]::before {
  background: url(images/store_matuyama.png) center;
  background-size: cover; }

.flexStore > .flexItem:hover::before {
  opacity: .5;
  transition: ease-in-out .3s; }

.flexStore > .flexItem p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  z-index: 15; }

.flexStore > .flexItem p span {
  display: block;
  opacity: .5; }

dl.listFootCoup dt {
  margin-bottom: 2rem; }

dl.listFootCoup dt img {
  width: auto;
  height: 5.4rem; }

dl.listFootCoup dd ~ dd {
  margin-top: .25em; }

dl.listFootCoup dd p {
  font-size: 1.2rem;
  opacity: .5; }

ul.listFootNav {
  display: flex;
  justify-content: flex-end; }

ul.listFootNav::after {
  display: none; }

ul.listFootNav ~ ul.listFootNav {
  margin-top: 2rem; }

ul.listFootNav li {
  margin-left: 2.5rem; }

ul.listFootNav li:first-child {
  margin: 0; }

ul.listFootNav li p {
  font-size: 1.3rem; }

ul.listFootNav li p span {
  display: block; }

ul.listFootNav li p span.en {
  font-size: 1.1rem;
  opacity: .5;
  text-transform: uppercase; }

ul.listSNS {
  display: flex;
  justify-content: flex-end;
  margin-top: 5rem; }

ul.listSNS::before {
  content: 'Follow on';
  font-size: 1.2rem;
  margin-right: 3rem; }

ul.listSNS::after {
  display: none; }

ul.listSNS li ~ li {
  margin-left: 1em; }

ul.listSNS li a {
  display: block; }

ul.listSNS li a::after {
  content: '';
  display: block;
  width: 1.8rem;
  height: 1.8rem; }

ul.listSNS li.fb a::after {
  background: url(images/iconFb.svg);
  background-size: cover; }

ul.listSNS li.ig a::after {
  background: url(images/iconIg.svg);
  background-size: cover; }

ul.listSNS li.tw a::after {
  background: url(images/iconTw.svg);
  background-size: cover; }

p.cr {
  font-size: 1rem;
  opacity: .5;
  font-weight: bold;
  text-align: right;
  margin-top: 1.5rem; }

/*INDEX*/
.secIndex {
  position: relative; }

.secIndex .innerWrap {
  width: 85%;
  max-width: 168rem;
  margin: 0 auto;
  position: relative;
  z-index: 1; }

h2.secTtl {
  transform: rotate(-90deg) translate(-100%);
  transform-origin: 0 0;
  text-align: right; }

h2.indexTtl {
  font-size: 6rem;
  margin-bottom: .65em;
  line-height: 1.5; }

h2.indexTtl span {
  display: block; }

h2.indexTtl span.en {
  font-size: 1.2rem;
  opacity: .8;
  margin-bottom: 1.5em; }

h2.indexTtl span.jp {
  font-size: 2.1rem; }

h3.indexTtl {
  font-size: 2.1rem;
  margin-bottom: 2em;
  line-height: 1.5; }

.secIndex p ~ p {
  margin-top: 2em; }

.secIndex.sec1::before {
  content: '';
  display: block;
  width: 100%;
  height: 21rem;
  background: linear-gradient(180deg, rgba(24, 24, 24, 0), #181818);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10; }

.secIndex.sec1 .innerWrap {
  width: 100%;
  max-width: none; }

.secIndex.sec1 .txtWrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10; }

.secIndex.sec1 .txtWrap .logoWrap {
  display: flex;
  align-items: center; }

.secIndex.sec1 .txtWrap .logoWrap > .flexItem {
  width: 50%;
  height: auto; }

.secIndex.sec1 .txtWrap .logoWrap > .flexItem .sumireLogo {
  width: auto;
  height: 6rem; }

.secIndex.sec1 .txtWrap .logoWrap > .flexItem .standLogo {
  width: auto;
  height: 3.2rem; }

.secIndex.sec1 .txtWrap .coupLogo {
  width: 80%;
  height: auto;
  display: block;
  margin: 3rem auto; }

.secIndex.sec1 .txtWrap .mainCopy {
  font-size: 1.65rem;
  color: #fff;
  text-align: center;
  font-weight: bold; }

.videoWrap {
  width: 100vw;
  height: auto;
  padding-top: 56%;
  position: relative;
  overflow: hidden; }

.videoWrap::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #111;
  opacity: 0.2;
  z-index: 10; }

.videoWrap::after {
  /*content: ''; display: block; position: absolute; top: -2.5px; left: -2.5px; width: calc(100% + 5px); height: calc(100% + 5px); background: url(images/iconDots.png); background-size: 5px 5px; background-repeat: repeat; z-index: 5;*/ }

.videoWrap > video {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

.secIndex.sec2 {
  background: #181818; }

.secIndex.sec2 .innerWrap {
  padding: 14.4rem 0; }

.secIndex.sec2 .innerWrap ~ .innerWrap {
  padding-top: 0; }

.secIndex.sec2 .flexWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.secIndex.sec2 .flexWrap > .flexLeft {
  width: 10%; }

.secIndex.sec2 .flexWrap > .flexRight {
  width: 90%; }

.secIndex.sec2 h2 {
  color: #fff; }

.secIndex.sec2 h3 {
  color: #fff; }

.secIndex.sec2 p {
  color: #fff;
  opacity: .8; }

/*loop slider*/
.loopSliderWrap {
  top: 0;
  left: 0;
  height: 42.4rem;
  overflow: hidden;
  position: absolute; }

.loopSlider {
  width: 100%;
  height: 42.4rem;
  text-align: left;
  position: relative;
  overflow: hidden;
  background: none; }

.loopSlider ul {
  height: 42.4rem;
  float: left;
  overflow: hidden; }

.loopSlider ul::after {
  display: none; }

.loopSlider ul li {
  width: 30rem;
  height: 42.4rem;
  float: left;
  display: inline;
  overflow: hidden;
  position: relative; }

.loopSlider ul li img {
  width: 30rem;
  height: 42.4rem; }

.loopSliderWrap::after {
  content: "";
  display: none;
  clear: none; }

.loopSlider::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #111;
  opacity: .5;
  z-index: 10; }

.loopSlider::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #111;
  opacity: 1;
  z-index: 15; }

.loopSlider.gone::after {
  transform: translateX(100%);
  transition: ease-in-out .3s .3s; }

.loopSlider .txtWrap {
  width: 30rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: .75;
  z-index: 12; }

.loopSlider .txtWrap img {
  width: 100%;
  height: auto; }

.loopSlider .txtWrap a.btnArrow {
  margin-top: 2rem; }

.loopSlider .txtWrap a.btnArrow i {
  border: solid 1px #aaa; }

.secIndex.sec4 {
  background: #181818; }

.secIndex.sec4 .innerWrap {
  padding: 14.4rem 0; }

.secIndex.sec4 .flexWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.secIndex.sec4 .flexWrap > .flexLeft {
  width: 10%; }

.secIndex.sec4 .flexWrap > .flexRight {
  width: 90%; }

.secIndex.sec4 h2 {
  color: #fff; }

.secIndex.sec4 h3 {
  color: #fff; }

.secIndex.sec4 p {
  color: #fff;
  opacity: .8; }

dl.listNews {
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #333;
  border-bottom: solid 1px #333; }

dl.listNews ~ dl.listNews {
  border-top: 0; }

dl.listNews dd {
  width: 18rem;
  padding: 2.5em; }

dl.listNews dt {
  width: calc(100% - 18rem);
  padding: 2.5em; }

.secIndex.sec3 {
  background: #181818; }

.secIndex.sec3 .innerWrap {
  width: 100%; }

.secIndex.sec3 .flexWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.secIndex.sec3 .flexWrap > .flexLeft {
  width: 50%;
  background: #ddd;
  position: relative;
  overflow: hidden;
  background: url(images/index3-1.jpg) center;
  background-size: cover; }

.secIndex.sec3 .flexWrap > .flexLeft::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #111;
  opacity: .5;
  z-index: 10; }

.secIndex.sec3 .flexWrap > .flexLeft::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #111;
  opacity: 1;
  z-index: 15; }

.secIndex.sec3 .txtWrap {
  position: absolute;
  bottom: 5%;
  left: 5%;
  opacity: .75;
  z-index: 12; }

.secIndex.sec3.gone .flexWrap > .flexLeft::after {
  transform: translateX(100%);
  transition: ease-in-out .3s .3s; }

.secIndex.sec3 .flexWrap > .flexRight {
  width: 50%;
  padding: 14.4rem 10%; }

.secIndex.sec3 h2 {
  color: #fff; }

.secIndex.sec3 h3 {
  color: #fff; }

.secIndex.sec3 p {
  color: #fff;
  opacity: .8; }

ul.listContent {
  margin-top: 6rem; }

ul.listContent li {
  border-bottom: solid 1px #333;
  padding: 2.5em 2em; }

ul.listContent li p {
  opacity: 1;
  font-weight: bold;
  position: relative;
  padding-left: 4rem;
  font-size: 1.65rem; }

ul.listContent li p[data-number]::before {
  content: attr(data-number) "";
  opacity: .5;
  position: absolute;
  left: 0;
  font-size: 1.3rem; }

.secIndex.sec5 {
  background: #181818; }

.secIndex.sec5 .innerWrap {
  width: 100%; }

.secIndex.sec5 .flexWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.secIndex.sec5 .flexWrap > .flexLeft {
  width: 50%;
  background: #ddd;
  order: 1;
  position: relative;
  overflow: hidden;
  background: url(images/index5-1.jpg) center;
  background-size: cover; }

.secIndex.sec5 .flexWrap > .flexLeft::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #111;
  opacity: .5;
  z-index: 10; }

.secIndex.sec5 .flexWrap > .flexLeft::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #111;
  opacity: 1;
  z-index: 15; }

.secIndex.sec5.gone .flexWrap > .flexLeft::after {
  transform: translateX(100%);
  transition: ease-in-out .3s .3s; }

.secIndex.sec5 .txtWrap {
  position: absolute;
  bottom: 5%;
  left: 5%;
  opacity: .75;
  z-index: 12; }

.secIndex.sec5 .flexWrap > .flexRight {
  width: 50%;
  padding: 14.4rem 10%; }

.secIndex.sec5 h2 {
  color: #fff; }

.secIndex.sec5 h3 {
  color: #fff; }

.secIndex.sec5 p {
  color: #fff;
  opacity: .8; }

p.scroll::after {
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -250%);
  -webkit-animation: scrolls 1.5s linear 0s infinite;
  -o-animation: scrolls 1.5s linear 0s infinite;
  animation: scrolls 1.5s linear 0s infinite; }

@keyframes scrolls {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -250%); }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 150%); } }
@-webkit-keyframes scrolls {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -250%); }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 150%); } }
@-o-keyframes scrolls {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -250%); }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 150%); } }
/*PAGE*/
h1.pageTtl {
  padding: 6rem 0; }

h1.pageTtl span {
  display: inline-block;
  vertical-align: baseline;
  line-height: 1;
  font-style: italic; }

h1.pageTtl span.en {
  text-transform: uppercase;
  font-size: 7.2vw; }

h1.pageTtl span.jp {
  font-size: 1.5rem; }

h2.pageTtl {
  margin-bottom: 4rem; }

h2.pageTtl span {
  display: block;
  line-height: 1.5; }

h2.pageTtl span.jp {
  font-size: 3vw; }

h2.pageTtl span.en {
  font-size: 1.5rem; }

h3.pageTtl {
  font-size: 1.8rem;
  color: #fff;
  margin-bottom: 1em; }

h4.pageTtl {
  font-size: 1.8rem; }

header.pageHeader {
  width: 100%;
  height: auto;
  padding-top: 35%;
  position: relative;
  background: #181818; }

header.pageHeader::before {
  content: '';
  display: block;
  width: 100%;
  height: 21rem;
  background: linear-gradient(180deg, rgba(24, 24, 24, 0), #181818);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10; }

header.pageHeader::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #181818;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 20; }

header.pageHeader.gone::after {
  width: 0;
  transition: ease-in-out .5s .5s; }

header.pageHeader .ttlWrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 10; }

header.pageHeader .innerWrap {
  width: 85%;
  max-width: 168rem;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1; }

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

.flexPageTtl h3 {
  margin-bottom: 0;
  overflow: hidden; }

.flexPageTtl h3 span.fill {
  position: relative;
  padding: .5em 1em;
  display: block; }

.flexPageTtl h3 span.fill::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  transform: translateX(-110%);
  background: #202020;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: pageTtl 1.5s ease-in-out 1s 1;
  -o-animation: pageTtl 1.5s ease-in-out 1s 1;
  animation: pageTtl 1.5s ease-in-out 1s 1; }

@keyframes pageTtl {
  0% {
    transform: translateX(-110%); }
  40% {
    transform: translateX(0); }
  60% {
    transform: translateX(0); }
  100% {
    transform: translateX(110%); } }
@-webkit-keyframes pageTtl {
  0% {
    transform: translateX(-110%); }
  40% {
    transform: translateX(0); }
  60% {
    transform: translateX(0); }
  100% {
    transform: translateX(110%); } }
@-o-keyframes pageTtl {
  0% {
    transform: translateX(-110%); }
  40% {
    transform: translateX(0); }
  60% {
    transform: translateX(0); }
  100% {
    transform: translateX(110%); } }
.flexPageTtl h3 span.fill span.txt {
  opacity: 0;
  visibility: hidden;
  color: #fff;
  background: rgba(0, 0, 0, 0.85);
  padding: .5em 1em;
  letter-spacing: .15em; }

.flexPageTtl h3.gone span.fill span.txt {
  opacity: 1;
  visibility: visible;
  transition-delay: 1.5s; }

.flexTtl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 6rem; }

.flexTtl * {
  color: #fff; }

.flexTtl > .flexLeft {
  width: 10%; }

.flexTtl > .flexRight {
  width: 90%; }

.pageContent {
  background: #181818;
  padding: 14rem 0; }

.secPage {
  position: relative; }

.secPage ~ .secPage {
  padding-top: 12rem; }

.secPage p {
  color: #fff;
  line-height: 2.5; }

.secPage > .innerWrap {
  width: 85%;
  max-width: 168rem;
  margin: 0 auto;
  position: relative;
  z-index: 1; }

.secPage > .innerWrap ~ .innerWrap {
  margin-top: 1rem; }

.secPage > .innerWrap.posts ~ .innerWrap.posts {
  margin-top: 12rem; }

ul.listAnker {
  width: 100%;
  max-width: 86rem;
  margin: 0 auto -4rem;
  display: flex;
  justify-content: space-between; }

ul.listAnker li {
  width: 50%;
  border-left: solid 1px #333; }

ul.listAnker li ~ li {
  border-right: solid 1px #333; }

ul.listAnker li p {
  opacity: .5;
  font-weight: bold;
  text-align: center;
  transition: ease-in-out .3s; }

ul.listAnker li:hover p {
  opacity: 1;
  transition: ease-in-out .3s; }

ul.listAnker li.active p {
  opacity: 1;
  text-decoration: underline; }

.bcWrap {
  position: relative;
  background: #111; }

.bcWrap.single {
  background: none; }

.bcWrap .innerWrap {
  width: 85%;
  max-width: 168rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: 6rem 0; }

.bcWrap.single .innerWrap {
  width: 100%;
  padding: 3rem;
  border-top: solid 1px #333; }

.bcWrap.single .innerWrap * {
  color: #a5a19f; }

.bread_crumb ul {
  display: flex; }

.bread_crumb ul li {
  white-space: nowrap;
  font-weight: bold;
  color: #ccc;
  font-size: 1.2rem; }

.bread_crumb ul li * {
  color: #ccc; }

.bread_crumb ul li a {
  opacity: .5;
  transition: ease .3s; }

.bread_crumb ul li a:hover {
  opacity: 1;
  transition: ease .3s; }

.bread_crumb ul li a::after {
  content: '＞';
  margin: 0 .5em; }

/*PAGE_ABOUT*/
.imgWrap img {
  width: 100%;
  height: auto; }

.ceoWrap .ceoImage {
  margin-bottom: 6rem; }

.ceoWrap .ceoImage img {
  width: 100%;
  height: auto; }

.ceoWrap p ~ p {
  margin-top: .65em; }

.ceoWrap .wrote {
  text-align: right; }

.whoWrap {
  border-top: solid 1px #333; }

dl.listWho {
  border-bottom: solid 1px #333;
  padding: 4rem 0; }

dl.listWho dt {
  position: relative;
  padding-left: 4rem; }

dl.listWho dt::before {
  content: attr(data-number) "";
  display: block;
  position: absolute;
  left: 0;
  top: .35em;
  font-weight: bold;
  font-style: italic;
  font-size: 1.3rem; }

dl.listWho dt h3.indexTtl {
  margin-bottom: 1em; }

dl.listWho dd {
  padding-left: 4rem; }

.flexBusiness {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: solid 1px #333;
  border-bottom: solid 1px #333;
  padding: 6rem 0; }

.flexBusiness ~ .flexBusiness {
  border-top: 0; }

.flexBusiness > .flexLeft {
  width: 20%; }

.flexBusiness > .flexLeft img {
  width: 100%;
  height: auto;
  display: block; }

.flexBusiness > .flexLeft img ~ img {
  margin-top: 3em; }

.flexBusiness > .flexRight {
  width: 70%; }

.storesWrap {
  margin-top: 9.6rem; }

.flexStores {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.flexStores ~ .flexStores {
  margin-top: 9.6rem; }

.flexStores > .flexLeft {
  width: 30%; }

.flexStores > .flexRight {
  width: 60%; }

ul.listStores {
  border-top: solid 1px #333; }

ul.listStores li {
  padding: 2rem 0 2rem 2rem;
  border-bottom: solid 1px #333;
  position: relative; }

ul.listStores li::before {
  content: '';
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0;
  top: calc(2rem + 1em); }

ul.listStores li.address::before {
  background: url(images/iconPin.svg);
  background-size: cover; }

ul.listStores li.phone::before {
  background: url(images/iconPhone.svg);
  background-size: cover; }

.captionWrap {
  margin-top: 4rem; }

.captionWrap p {
  font-size: 1.2rem;
  line-height: 1.8; }

.captionWrap p ~ p {
  margin-top: 1em; }

.companyWrap {
  border-bottom: solid 1px #333; }

dl.listCompany {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 2em 0;
  border-top: solid 1px #333; }

dl.listCompany dt {
  width: 20%; }

dl.listCompany dd {
  width: 70%; }

dl.listCompany dd a {
  text-decoration: underline; }

.ventureWrap {
  margin-bottom: 6rem;
  background: rgba(255, 255, 255, 0.05);
  padding: 5%;
  border-radius: 5px;
  border: solid 1px #333; }

.ventureWrap p ~ p {
  margin-top: .5em; }

dl.listVenture * {
  font-weight: bold; }

dl.listVenture dt h3.indexTtl {
  font-size: 3.6rem;
  margin-bottom: 1em; }

dl.listVenture dd p {
  font-size: 1.8rem; }

dl.listHistory {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

dl.listHistory ~ dl.listHistory {
  margin-top: 1.5em; }

dl.listHistory dt {
  width: 20%; }

dl.listHistory dt p::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 1em;
  vertical-align: middle;
  margin-right: 1em; }

dl.listHistory dd {
  width: 70%; }

/*PAGE_TEAM*/
.guidelineTxt {
  font-weight: bold;
  text-align: center;
  margin: 6rem auto 2em;
  letter-spacing: .2em; }

.guidelineBlock {
  background: rgba(255, 255, 255, 0.05);
  padding: 3% 5%;
  border-radius: 5px;
  border: solid 1px #333; }

dl.listGuideline * {
  text-align: center; }

dl.listGuideline dt p {
  font-size: 2rem; }

dl.listGuideline dt h3.indexTtl {
  margin-bottom: .5em; }

.swicthWrap {
  position: relative;
  width: calc(100% + 15vw);
  margin: 0 -7.5vw; }

.swicthWrap::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #171717;
  z-index: 10; }

.swicthWrap.gone::before {
  width: 0;
  transition: ease-in-out .5s; }

.swicthWrap .swiper-slide {
  max-width: 360px;
  position: relative; }

.swicthWrap .swiper-slide::after {
  content: attr(data-number) "";
  width: 5rem;
  height: 5rem;
  border-radius: 5rem;
  background: #171717;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 2.5rem;
  left: 2.5rem;
  color: #efefef;
  font-weight: bold;
  font-size: 1.3rem; }

.teamWrap {
  margin-top: 6rem;
  max-width: 86rem;
  margin-left: auto;
  margin-right: auto; }

.interviewWrap {
  display: none; }

.interviewWrap.active {
  display: block; }

.interviewImg {
  position: relative;
  margin-bottom: 6rem; }

.interviewImg::after {
  content: '';
  display: block;
  width: 100%;
  height: 21rem;
  background: linear-gradient(180deg, rgba(24, 24, 24, 0), #181818);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10; }

.interviewImg .txtWrap {
  position: absolute;
  left: 7.5%;
  bottom: 5%;
  z-index: 15; }

.interviewImg .txtWrap p.profile {
  vertical-align: baseline; }

.interviewImg .txtWrap p.profile span.name {
  font-size: 2rem; }

.interviewImg .txtWrap p.profile span.position {
  margin-left: 1em; }

dl.listTeam {
  border-top: solid 1px #333;
  border-bottom: solid 1px #333;
  padding: 2rem 0; }

dl.listTeam ~ dl.listTeam {
  border-top: none; }

dl.listTeam dt p {
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between; }

dl.listTeam dt p i.border {
  display: block;
  width: 5rem;
  height: 5rem;
  position: relative; }

dl.listTeam dt p i.border::before {
  content: '';
  width: 0;
  height: 3px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0; }

dl.listTeam dt p i.border::after {
  content: '';
  width: 0;
  height: 3px;
  background: #fff;
  position: absolute;
  bottom: 0;
  right: 0; }

dl.listTeam dt p i.border > i {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; }

dl.listTeam dt p i.border > i::before {
  content: '';
  width: 3px;
  height: 0;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0; }

dl.listTeam dt p i.border > i::after {
  content: '';
  width: 3px;
  height: 0;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0; }

dl.listTeam dt p.gone i.border::before {
  width: 100%;
  transition: ease-in-out .3s; }

dl.listTeam dt p.gone i.border::after {
  width: 100%;
  transition: ease-in-out .3s; }

dl.listTeam dt p.gone i.border > i::before {
  height: 100%;
  transition: ease-in-out .3s; }

dl.listTeam dt p.gone i.border > i::after {
  height: 100%;
  transition: ease-in-out .3s; }

dl.listTeam dt p span {
  display: block;
  width: calc(100% - 8rem);
  font-size: 1.5rem; }

dl.listTeam dd {
  margin-top: 1em;
  padding-left: 8rem; }

/*PAGE_WELFARE*/
dl.listFeature ~ dl.listFeature {
  margin-top: 6rem; }

dl.listFeature dt p {
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between; }

dl.listFeature dt p i.border {
  display: block;
  width: 5rem;
  height: 5rem;
  position: relative; }

dl.listFeature dt p i.border::before {
  content: '';
  width: 0;
  height: 3px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0; }

dl.listFeature dt p i.border::after {
  content: '';
  width: 0;
  height: 3px;
  background: #fff;
  position: absolute;
  bottom: 0;
  right: 0; }

dl.listFeature dt p i.border > i {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; }

dl.listFeature dt p i.border > i::before {
  content: '';
  width: 3px;
  height: 0;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0; }

dl.listFeature dt p i.border > i::after {
  content: '';
  width: 3px;
  height: 0;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0; }

dl.listFeature dt p.gone i.border::before {
  width: 100%;
  transition: ease-in-out .3s; }

dl.listFeature dt p.gone i.border::after {
  width: 100%;
  transition: ease-in-out .3s; }

dl.listFeature dt p.gone i.border > i::before {
  height: 100%;
  transition: ease-in-out .3s; }

dl.listFeature dt p.gone i.border > i::after {
  height: 100%;
  transition: ease-in-out .3s; }

dl.listFeature dt p span {
  display: block;
  width: calc(100% - 8rem);
  font-size: 1.5rem; }

dl.listFeature dd {
  margin-top: 1em;
  padding-left: 8rem; }

.flexCulture {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.flexCulture ~ .flexCulture {
  margin-top: 4rem; }

.flexCulture > .flexLeft {
  width: 6rem; }

.flexCulture > .flexLeft p {
  width: 6rem;
  height: 6rem;
  line-height: 6rem;
  text-align: center;
  border: solid 1px #333;
  border-radius: 6rem;
  background: #151515;
  font-weight: bold;
  font-style: italic; }

.flexCulture > .flexRight {
  width: calc(100% - 9.6rem); }

dl.listCulture dt p {
  font-size: 1.8rem;
  font-weight: bold; }

ul.listCulture {
  display: flex;
  flex-wrap: wrap;
  border: solid 1px #333;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 5px;
  margin-top: 2.5rem; }

.flexSystem {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.flexSystem > .flexLeft {
  width: 60%; }

.flexSystem > .flexRight {
  width: 30%; }

.flexSystem > .flexRight .inner {
  width: calc(100% + 10vw); }

.flexSystem > .flexRight .inner img {
  display: block;
  margin-left: auto; }

.flexSystem > .flexRight .inner img:nth-child(1) {
  width: 65%;
  height: auto;
  margin-bottom: 4rem; }

.flexSystem > .flexRight .inner img:nth-child(2) {
  width: 100%;
  height: auto; }

dl.listSystem ~ dl.listSystem {
  margin-top: 4rem; }

dl.listSystem dt p {
  font-size: 1.8rem;
  font-weight: bold; }

ul.listSystem {
  display: flex;
  flex-wrap: wrap;
  border: solid 1px #333;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 5px;
  margin-top: 2.5rem; }

ul.listSystem li {
  width: 50%;
  padding: 1em 5%; }

ul.listSystem li ~ li {
  border-top: solid 1px #333; }

ul.listSystem li:nth-child(2) {
  border-top: 0; }

ul.listSystem li:nth-child(2n-1) {
  border-right: solid 1px #333; }

/*PAGE_FAQ*/
.faqWrap {
  border-top: solid 1px #333; }

dl.listFaq {
  border-bottom: solid 1px #333;
  padding: 4rem 5%; }

dl.listFaq dt p {
  font-weight: bold;
  position: relative;
  padding-left: 4rem; }

dl.listFaq dt p::before {
  content: attr(data-number) "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .5; }

dl.listFaq dd {
  margin-top: 1em; }

dl.listFaq dd p {
  padding-left: 4rem; }

/*PAGE_ENTRY*/
.formWrap .caption {
  padding: 2.5rem 5%;
  background: #202020;
  border-radius: 8px;
  margin-bottom: 2.5rem; }

.formWrap > p.must span.dot {
  display: inline-block;
  width: .8em;
  height: .8em;
  background: #a51e21;
  border-radius: 3rem;
  margin-right: .5em; }

.formWrap .inner {
  margin-top: 6rem; }

ul.listDocForm {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -4rem; }

ul.listDocForm li {
  width: 47.5%;
  margin-bottom: 4rem; }

ul.listDocForm li:last-child {
  width: 100%;
  margin-bottom: 4rem; }

dl.listDocForm * {
  color: #fff;
  font-size: 1.5rem; }

dl.listDocForm dt {
  margin-bottom: 1em; }

dl.listDocForm dt p {
  font-weight: bold; }

dl.listDocForm dt p.must::after {
  content: '';
  display: inline-block;
  width: .8em;
  height: .8em;
  background: #a51e21;
  border-radius: 3rem;
  margin-left: .5em; }

input[type="text"], textarea, select {
  width: 100%;
  height: auto;
  border: solid 1px #202020;
  border-radius: 3px;
  padding: 18px 24px;
  font-size: 1.6rem;
  line-height: 1em;
  background: #202020;
  color: #fff; }

input[type="radio"] + span {
  font-size: 1.6rem;
  color: #fff; }

input[type="text"]#old {
  width: 10em;
  margin-right: 1em; }

input[type="text"][size="4"].post {
  width: 6em;
  margin: 0 .5em; }

input[type="text"][size="5"].post {
  width: 8em;
  margin: 0 .5em; }

input[type="text"]#date2, input[type="text"]#date3 {
  margin-top: 1em; }

select {
  height: 6rem; }

label {
  line-height: 6rem; }

input[type="text"]:focus, textarea:focus, select:focus {
  outline: none;
  border: solid 1px #252525; }

input[type="submit"] {
  width: 100%;
  max-width: 32rem;
  height: 6rem;
  border: none;
  font-weight: bold;
  text-align: center;
  line-height: 4rem;
  font-size: 1.3rem;
  letter-spacing: .2em;
  background: #000;
  color: #fff;
  position: relative;
  margin: 0 auto;
  display: block;
  -webkit-transition: ease .5s;
  transition: ease .5s; }

input[type="submit"]:hover {
  background: #a51e21;
  -webkit-transition: ease .5s;
  transition: ease .5s; }

/*PAGE_PRIVACY*/
dl.listPolicy {
  margin-top: 6rem;
  padding: 4rem 0;
  border-top: dashed 1px #333;
  border-bottom: dashed 1px #333; }

dl.listPolicy ~ dl.listPolicy {
  margin-top: 0;
  border-top: none; }

/*ARCHIVE*/
ul.listTag {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.8rem;
  margin-right: -2px; }

ul.listTag li {
  margin-right: 2px;
  margin-bottom: 2px; }

ul.listTag li p {
  line-height: 1;
  background: #a51e21;
  color: #dfd8d2;
  padding: .75em 1.5em;
  font-size: 1.2rem;
  font-weight: bold; }

article.jobBlock h3.pageTtl {
  margin-bottom: 1em;
  font-weight: normal;
  font-size: 2.25vw; }

.descWrap {
  border-top: solid 1px #333; }

.flexDesc {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: solid 1px #333;
  padding: 2rem 5%; }

.flexDesc > .flexLeft {
  width: 25%; }

.flexDesc > .flexRight {
  width: 70%; }

.inlineBtn {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 42rem;
  margin: 4rem auto 0; }

nav.navigation.pagination {
  width: 85%;
  margin: 9.6rem auto 0;
  padding: 6rem 0;
  position: relative;
  background: #202020; }

nav.navigation.pagination h2 {
  display: none; }

nav.navigation.pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center; }

nav.navigation.pagination .nav-links .page-numbers {
  display: block;
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
  background: #ddd;
  margin: 0 .25rem;
  font-size: 1.3rem;
  font-weight: bold; }

nav.navigation.pagination .nav-links .page-numbers.current {
  background: #a51e21 !important;
  color: #dfd8d2;
  font-size: bold; }

nav.navigation.pagination .nav-links .page-numbers:hover {
  background: #31302e;
  color: #dfd8d2;
  transition: ease .3s; }

.secPage.archive1::before {
  content: '';
  display: block;
  width: 55%;
  height: 0;
  background: #202020;
  position: absolute;
  top: -4.2rem;
  right: 0;
  z-index: 1; }

.secPage.archive1.gone::before {
  height: calc(100% + 20rem);
  transition: ease-in .5s; }

.secPage.archive1 .innerWrap {
  padding-bottom: 4.2rem; }

.secPage.archive1 .innerWrap .inner {
  width: 100%;
  margin-top: 6rem; }

.secPage.archive1 .flexWrap {
  display: flex;
  justify-content: space-between; }

.secPage.archive1 .flexWrap > .flexItem {
  width: calc((100% / 3) - 1px);
  background: #dfdfdf;
  transition: ease .3s; }

.secPage.archive1 .flexWrap > .flexItem:hover {
  background: #333;
  transition: ease .3s; }

.secPage.archive1 .flexWrap > .flexItem a {
  display: block;
  padding: 3rem 0; }

.secPage.archive1 .flexWrap > .flexItem p {
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  color: #31302e;
  transition: ease .3s; }

.secPage.archive1 .flexWrap > .flexItem:hover p {
  color: #dfd8d2;
  transition: ease .3s; }

ul.shopList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(16px * 3); }
  ul.shopList > li {
    grid-template-columns: 1fr; }

.shopList_item a {
  display: flex;
  flex-direction: column;
  gap: calc(16px/ 2 * 3); }
  .shopList_item a * {
    color: var(--white); }
  .shopList_item a .shopList_image {
    aspect-ratio: 3/2;
    line-height: 0;
    overflow: hidden; }
    .shopList_item a .shopList_image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      font-family: 'object-fit: cover;';
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .shopList_item a .shopList_text .shopList_title {
    padding-bottom: .25em;
    border-bottom: dotted 1px var(--gray11);
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0; }
  .shopList_item a .shopList_text .shopList_info {
    display: flex;
    flex-direction: column;
    gap: .25em;
    padding: 1em 0;
    font-size: 13px;
    letter-spacing: 0; }
    .shopList_item a .shopList_text .shopList_info .shopList_infoItem {
      display: flex;
      align-items: baseline;
      gap: 1em; }
      .shopList_item a .shopList_text .shopList_info .shopList_infoItem dt {
        min-width: 4em;
        font-weight: 600; }
  .shopList_item a:hover .shopList_image img {
    transform: scale(1.05);
    transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }

/*SINGLE*/
h1.singleTtl {
  padding: 1rem 0 3rem;
  font-weight: normal;
  font-size: 3vw;
  color: #EFEFEF !important;
  line-height: 1.5;
  border-bottom: solid 1px #333;
  margin-bottom: 6rem; }

h2.singleTtl {
  margin-bottom: 4rem; }

h2.singleTtl span {
  display: block;
  line-height: 1.5; }

h2.singleTtl span.jp {
  font-size: 3vw; }

h2.singleTtl span.en {
  font-size: 1.5rem; }

h3.singleTtl {
  font-size: 1.8rem; }

h4.singleTtl {
  font-size: 1.8rem; }

header.singleHeader {
  width: 100%;
  height: auto;
  position: relative;
  background: #181818; }

header.singleHeader::before {
  content: '';
  display: block;
  width: 100%;
  height: 0;
  background: #111;
  position: absolute;
  top: 0;
  right: 0; }

header.singleHeader.gone::before {
  height: calc(100% - 22.5vw);
  transition: ease-in .5s; }

header.singleHeader * {
  color: #fff; }

header.singleHeader .date {
  font-weight: bold;
  opacity: .5; }

header.singleHeader .innerWrap {
  width: 85%;
  max-width: 168rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: 9.6rem 0 0; }

header.singleHeader .ttlWrap {
  padding: 0 3rem; }

.secSingle {
  position: relative;
  background: #181818; }

.secSingle * {
  color: #fff; }

.secSingle > .innerWrap {
  width: 85%;
  max-width: 168rem;
  margin: 0 auto;
  position: relative;
  z-index: 1; }

/*SINGLE_JOBLIST*/
.secSingle.job1::before {
  content: '';
  display: block;
  width: 35%;
  height: 0;
  background: #202020;
  position: absolute;
  top: -22.5vw;
  left: 0; }

.secSingle.job1.gone::before {
  height: calc(100% + 22.5vw);
  transition: ease-in 1s; }

.secSingle.job1 .innerWrap {
  padding: 9.6rem 7.5%;
  background: #181818; }

.secSingle.job1 .innerWrap .in {
  width: calc(100% + 7.5vw);
  transform: translateY(6rem);
  position: relative;
  z-index: 1; }

.secSingle.job1 h3.singleTtl {
  margin-bottom: 1em;
  font-weight: normal;
  font-size: 3.6vw; }

.secSingle.job1 h3.singleTtl::before {
  content: attr(data-number) "";
  display: inline-block;
  vertical-align: super;
  font-size: 1.8vw;
  font-family: 'Open Sans', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1;
  color: #e27b5b;
  font-style: italic;
  font-weight: bold;
  margin-right: .5em; }

.secSingle.job1 h3.singleTtl ~ h3.singleTtl {
  margin-top: 2em; }

.secSingle.job1 h4.singleTtl {
  font-size: 1.8vw;
  margin-bottom: 2em;
  border-left: solid 5px #e27b5b;
  padding-left: 5%;
  margin-bottom: 1.5em; }

.secSingle.job1 h4.singleTtl ~ h4.singleTtl {
  margin-top: 3em; }

.secSingle.job1 .focus {
  background: #f8f8f8;
  padding: 7.5%;
  border-radius: 3px; }

.secSingle.job2::before {
  content: '';
  display: block;
  width: 35%;
  height: 0;
  background: #202020;
  position: absolute;
  top: -10rem;
  right: 0; }

.secSingle.job2.gone::before {
  height: calc(100% + 10rem);
  transition: ease-in 1s; }

.secSingle.job2 .innerWrap {
  padding: 9.6rem 7.5%;
  background: #181818; }

/*SINGLE_NEWS*/
.secSingle.news1::before {
  content: '';
  display: block;
  width: 35%;
  height: 0;
  background: #f5f0ed;
  position: absolute;
  top: -22.5vw;
  left: 0; }

.secSingle.news1 .innerWrap {
  max-width: 68rem;
  padding: 9.6rem 0; }

.secSingle.news1 .innerWrap * ~ * {
  margin-top: 6rem; }

.yarpp-related {
  margin: 0 !important; }

.yarppTtl {
  margin-bottom: 2rem; }

.yarppWrap {
  padding: 9.6rem 0; }

.yarppWrap .yarpp-container .swiper-slide {
  padding: 2rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.05); }

/*SINGLE_BLOG*/
.pagenationWrap {
  background: #111; }

.flexPagenation {
  width: 90%;
  max-width: 128rem;
  margin: 0 auto;
  padding: 5rem 0;
  display: flex;
  justify-content: space-between; }

.flexPagenation * {
  color: #fff; }

.flexPagenation > .flexItem {
  width: 25%; }

.flexPagenation > .flexItem p {
  text-align: center;
  line-height: 1; }

.flexPagenation > .flexCenter {
  width: 50%; }

.flexPagenation > .flexCenter p {
  text-align: center;
  line-height: 1; }

.flexPagenation > .flexCenter p::before {
  content: '';
  display: inline-block;
  vertical-align: bottom;
  width: 1em;
  height: 1em;
  background: url(images/iconNine.svg) center;
  background-size: cover;
  margin-right: 1em; }

/*◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎desktop◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎*/
@media (min-width: 1680px) {
  #page {
    border-left: solid 1px #ddd;
    border-right: solid 1px #ddd; } }
/*◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎tablet◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎*/
/*◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎smartphone◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎*/
@media (max-width: 767px) {
  /*--------------basic css--------------*/
  /*TEXT*/
  p {
    font-size: 3.2vw;
    letter-spacing: 0; }

  /*LINK*/
  a {
    color: #151515;
    text-decoration: none; }

  a.not {
    cursor: not-allowed; }

  a[target='_blank'] p::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url(images/icon-linkout.svg);
    background-size: cover;
    margin-left: .65em; }

  a.linkFull {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    cursor: pointer; }

  a.btn {
    display: block;
    width: auto;
    padding: 1.5em 2em;
    background: #dfd8d2;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
    transition: ease .3s; }

  a.btn.blk {
    background: #31302e; }

  a.btn:hover {
    background: #e27b5b;
    transition: ease .3s; }

  a.btn.blk:hover {
    background: #e27b5b; }

  a.btn.sm {
    width: 20rem; }

  a.btn.md {
    width: auto;
    max-width: 30rem; }

  a.btn.lg {
    width: auto;
    max-width: 42em; }

  a.btn.xl {
    width: auto;
    max-width: 68em; }

  a.btn.left {
    margin-right: auto; }

  a.btn.center {
    margin-left: auto;
    margin-right: auto; }

  a.btn.right {
    margin-left: auto; }

  a.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -110%;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: skew(-15deg); }

  a.btn:hover::before {
    left: 110%;
    transition: ease .5s; }

  a.btn p {
    display: block;
    position: relative;
    color: #1f1f1f !important;
    font-size: 1.3rem !important;
    font-weight: bold;
    text-align: center;
    margin: 0 auto !important;
    transition: ease .3s; }

  a.btn.blk p {
    color: #dfd8d2 !important; }

  a.btn:hover p {
    color: #dfd8d2 !important;
    transition: ease .3s; }

  a.linkOut p {
    padding-right: 2em;
    position: relative; }

  a.linkOut p::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background: url(images/iconLinkout.svg);
    background-size: cover;
    position: absolute;
    top: 0.9em;
    right: 0; }

  a.btnArrow {
    margin-top: 5vw; }

  /*RESPONSIVE*/
  .hidden-xs {
    display: none !important; }

  .visible-xs {
    display: block !important; }

  /*BOTH*/
  /*BOTH_HEADER*/
  header.siteHeader .flexWrap > .flexLeft {
    width: auto; }

  header.siteHeader .flexWrap > .flexCenter {
    display: none; }

  header.siteHeader .flexWrap > .flexRight {
    opacity: 1;
    transform: translateX(0);
    width: 6rem; }

  header.siteHeader h1.headLogo img {
    width: auto;
    height: 6rem;
    margin: 0 auto;
    display: block;
    padding: .25em 0; }

  /*.scroll*/
  /*#page.move*/
  /*smpNav*/
  .humbNav {
    width: 6rem;
    height: 6rem; }

  .humbNav span.border {
    display: block;
    width: 30%;
    height: 2px;
    border-radius: 1px;
    background: #dfd8d2;
    position: absolute; }

  .humbNav span.border:nth-child(1) {
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: ease .3s; }

  .humbNav span.border:nth-child(2) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: ease .3s; }

  .humbNav span.txt {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0;
    color: #dfd8d2;
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -50%); }

  .humbNav span.txt span.open {
    display: block; }

  .humbNav span.txt span.close {
    display: none; }

  /*.active*/
  .humbNav.active span.border:nth-child(1) {
    top: 42.5%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    transition: ease .3s; }

  .humbNav.active span.border:nth-child(2) {
    top: 42.5%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: ease .3s; }

  .humbNav.active span.txt span.open {
    display: none; }

  .humbNav.active span.txt span.close {
    display: block; }

  aside#aside {
    opacity: 0;
    visibility: hidden;
    display: block;
    width: 100vw;
    height: 100vh;
    background: #a51e21;
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transform: matrix(1, -0.5, 0, 0.001, 0, 1200);
    transition: ease .5s .15s; }

  aside#aside.move {
    opacity: 1;
    visibility: visible;
    transform: matrix(1, 0, 0, 1, 0, 0);
    transition: ease .5s; }

  aside#aside .innerWrap {
    width: 90%;
    height: 100%;
    margin: 0 auto;
    padding: 7.2rem 0 0; }

  dl.listGlobalNav {
    width: 100%;
    padding: 10vw 0; }

  dl.listGlobalNav dt {
    width: 50%; }

  dl.listGlobalNav dt p {
    font-size: 1.65rem;
    font-weight: bold; }

  dl.listGlobalNav dt h2.navTtl {
    line-height: 1.5; }

  dl.listGlobalNav dt h2.navTtl::before {
    top: 1.5vw; }

  dl.listGlobalNav dt h2.navTtl span.jp {
    font-size: 4vw; }

  dl.listGlobalNav dt h2.navTtl span.en {
    font-size: 3.2vw; }

  #aside.move dl.listGlobalNav dt {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: ease-in .3s; }

  #aside.move ul.listSNS.global {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: ease-in .3s .55s; }

  aside#cside {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 100;
    width: auto;
    height: auto;
    opacity: 0;
    visibility: hidden;
    transition: ease .3s; }

  body.scroll aside#cside {
    opacity: 1;
    visibility: visible;
    transition: ease .3s; }

  .flexPageFoot {
    width: 100%;
    max-width: 168rem;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end; }

  .flexPageFoot > .flexItem {
    position: relative;
    height: 8.8rem; }

  .flexPageFoot > .flexItem.banar1 {
    background: #008eaa; }

  .flexPageFoot > .flexItem.banar2 {
    background: #ffffff; }

  .flexPageFoot > .flexItem.banar3 {
    background: #005670; }

  .flexPageFoot > .flexItem img {
    width: auto;
    height: 8.8rem;
    padding: 1rem 3rem; }

  /*BOTH_FOOTER*/
  footer.siteFooter .secFoot.sec1 {
    background: url(images/bgFoot1-1.jpg) center;
    background-size: cover; }

  footer.siteFooter .secFoot.sec1 .innerWrap {
    padding: 10vw 0 15vw; }

  footer.siteFooter .secFoot.sec1 .flexWrap {
    margin-top: 2rem; }

  footer.siteFooter .secFoot.sec1 .flexWrap > .flexLeft {
    width: 100%; }

  footer.siteFooter .secFoot.sec1 .flexWrap > .flexRight {
    width: 100%; }

  footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem {
    width: 100%; }

  footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem ~ .flexItem {
    margin-top: 2px; }

  footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem a {
    padding: 5vw 0; }

  footer.siteFooter .secFoot.sec1 .flexWrap > .flexItem p {
    font-size: 3.2vw; }

  footer.siteFooter .secFoot.sec2 .innerWrap {
    padding: 21vw 0 15vw; }

  footer.siteFooter .secFoot.sec2 .innerWrap ~ .innerWrap {
    padding: 15vw 0 21vw; }

  footer.siteFooter .secFoot.sec2 .flexWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between; }

  footer.siteFooter .secFoot.sec2 .flexWrap > .flexLeft {
    width: 100%; }

  footer.siteFooter .secFoot.sec2 .flexWrap > .flexLeft img {
    width: auto;
    height: 7.2rem; }

  footer.siteFooter .secFoot.sec2 .flexWrap > .flexRight {
    margin-top: 10vw;
    width: 100%; }

  .flexStore > .flexItem {
    width: 50%; }

  .flexStore > .flexItem::before {
    opacity: .15; }

  .flexStore > .flexItem p {
    font-weight: bold; }

  dl.listFootCoup {
    text-align: center; }

  dl.listFootCoup dt {
    margin-bottom: 2rem; }

  dl.listFootCoup dt img {
    height: 5rem; }

  dl.listFootCoup dd ~ dd {
    margin-top: .15em; }

  dl.listFootCoup dd p {
    font-size: 3.2vw; }

  ul.listFootNav {
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100vw;
    margin: 0 -7.5vw;
    border-top: solid 1px #333; }

  ul.listFootNav ~ ul.listFootNav {
    margin-top: 0;
    border-top: 0; }

  ul.listFootNav li {
    width: 50%;
    margin-left: 0;
    padding: 5vw;
    border-bottom: solid 1px #333; }

  ul.listFootNav li:nth-child(2n-1) {
    border-right: solid 1px #333; }

  ul.listFootNav li p {
    font-size: 3.2vw;
    line-height: 1.65; }

  ul.listFootNav li p span.en {
    font-size: 3vw; }

  ul.listSNS {
    justify-content: center;
    margin-top: 5rem; }

  ul.listSNS::before {
    font-size: 3.2vw;
    margin-right: 2rem; }

  p.cr {
    font-size: 3vw;
    text-align: center;
    margin-top: 1.5rem; }

  /*INDEX*/
  .secIndex .innerWrap {
    width: 85%; }

  h2.secTtl {
    transform: rotate(0deg) translate(0);
    transform-origin: 0 0;
    text-align: left;
    opacity: .5;
    margin-bottom: 1em; }

  h2.indexTtl {
    font-size: 10.8vw;
    margin-bottom: .65em;
    line-height: 1.05;
    letter-spacing: 0; }

  h2.indexTtl span.en {
    font-size: 3.2vw;
    margin-bottom: 1em; }

  h2.indexTtl span.jp {
    font-size: 6.4vw; }

  h3.indexTtl {
    font-size: 5vw; }

  .secIndex p ~ p {
    margin-top: 2em; }

  .secIndex.sec1 .innerWrap {
    width: 100%; }

  .secIndex.sec1 .aspect.aspect56 {
    padding-top: 141.4%; }

  .secIndex.sec1 .txtWrap {
    width: 65%; }

  .secIndex.sec1 .txtWrap .logoWrap > .flexItem .sumireLogo {
    height: 3rem; }

  .secIndex.sec1 .txtWrap .logoWrap > .flexItem .standLogo {
    height: 1.8rem; }

  .secIndex.sec1 .txtWrap .coupLogo {
    width: 100%;
    margin: 3rem auto; }

  .secIndex.sec1 .txtWrap .mainCopy {
    font-size: 4.2vw; }

  .videoWrap {
    padding-top: 161.8%; }

  .videoWrap > video {
    min-width: initial;
    width: auto !important;
    min-height: 100%;
    height: 100% !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0); }

  .secIndex.sec2 .innerWrap {
    padding: 21vw 0; }

  .secIndex.sec2 .flexWrap > .flexLeft {
    width: 100%; }

  .secIndex.sec2 .flexWrap > .flexRight {
    width: 100%; }

  /*loop slider*/
  .loopSliderWrap {
    top: 0;
    left: 0;
    height: 42.4rem;
    overflow: hidden;
    position: absolute; }

  .loopSlider {
    width: 100%;
    height: 42.4rem;
    text-align: left;
    position: relative;
    overflow: hidden;
    background: none; }

  .loopSlider ul {
    height: 42.4rem;
    float: left;
    overflow: hidden; }

  .loopSlider ul::after {
    display: none; }

  .loopSlider ul li {
    width: 30rem;
    height: 42.4rem;
    float: left;
    display: inline;
    overflow: hidden;
    position: relative; }

  .loopSlider ul li img {
    width: 30rem;
    height: 42.4rem; }

  .loopSliderWrap::after {
    content: "";
    display: none;
    clear: none; }

  .loopSlider::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #111;
    opacity: .5;
    z-index: 10; }

  .loopSlider::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #111;
    opacity: 1;
    z-index: 15; }

  .loopSlider.gone::after {
    transform: translateX(100%);
    transition: ease-in-out .3s .3s; }

  .loopSlider .txtWrap {
    width: 25rem; }

  .loopSlider .txtWrap img {
    width: 100%;
    height: auto; }

  .loopSlider .txtWrap a.btnArrow {
    margin-top: 2rem; }

  .loopSlider .txtWrap a.btnArrow i {
    border: solid 1px #aaa; }

  .secIndex.sec4 .innerWrap {
    padding: 21vw 0; }

  .secIndex.sec4 .flexWrap > .flexLeft {
    width: 100%; }

  .secIndex.sec4 .flexWrap > .flexRight {
    width: 100%; }

  dl.listNews dd {
    width: 100%;
    padding: 2.5em 1em 0; }

  dl.listNews dd p {
    opacity: .5 !important; }

  dl.listNews dt {
    width: 100%;
    padding: .5em 1em 2.5em; }

  .secIndex.sec3 .innerWrap {
    width: 100%; }

  .secIndex.sec3 .flexWrap > .flexLeft {
    width: 100%;
    height: 56.25vw;
    background: url(images/index3-1.jpg) center;
    background-size: cover;
    overflow: visible; }

  .secIndex.sec3 .txtWrap {
    bottom: -10%; }

  .secIndex.sec3 .txtWrap img {
    width: auto;
    height: 30vw; }

  .secIndex.sec3 .flexWrap > .flexRight {
    width: 100%;
    padding: 21vw 7.5vw; }

  ul.listContent {
    margin-top: 5vw; }

  ul.listContent li {
    padding: 1.5em 1em; }

  ul.listContent li p {
    padding-left: 4rem;
    font-size: 4vw; }

  ul.listContent li p[data-number]::before {
    font-size: 3.2vw; }

  .secIndex.sec5 .innerWrap {
    width: 100%; }

  .secIndex.sec5 .flexWrap > .flexLeft {
    width: 100%;
    height: 56.25vw;
    order: 0;
    background: url(images/index5-1.jpg) center;
    background-size: cover;
    overflow: visible; }

  .secIndex.sec5 .txtWrap {
    bottom: -10%; }

  .secIndex.sec5 .txtWrap img {
    width: auto;
    height: 30vw; }

  .secIndex.sec5 .flexWrap > .flexRight {
    width: 100%;
    padding: 21vw 7.5vw; }

  p.scroll::after {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -250%);
    -webkit-animation: scrolls 1.5s linear 0s infinite;
    -o-animation: scrolls 1.5s linear 0s infinite;
    animation: scrolls 1.5s linear 0s infinite; }

  @keyframes scrolls {
    0% {
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, -250%); }
    100% {
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, 150%); } }
  @-webkit-keyframes scrolls {
    0% {
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, -250%); }
    100% {
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, 150%); } }
  @-o-keyframes scrolls {
    0% {
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, -250%); }
    100% {
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, 150%); } }
  /*PAGE*/
  h1.pageTtl {
    padding: 6rem 0; }

  h1.pageTtl span {
    display: inline-block;
    vertical-align: baseline;
    line-height: 1;
    font-style: italic; }

  h1.pageTtl span.en {
    text-transform: uppercase;
    font-size: 7.2vw; }

  h1.pageTtl span.jp {
    font-size: 1.5rem; }

  h2.pageTtl {
    margin-bottom: 4rem; }

  h2.pageTtl span {
    display: block;
    line-height: 1.5; }

  h2.pageTtl span.jp {
    font-size: 3vw; }

  h2.pageTtl span.en {
    font-size: 1.5rem; }

  h3.pageTtl {
    font-size: 1.8rem;
    color: #fff;
    margin-bottom: 1em; }

  h4.pageTtl {
    font-size: 1.8rem; }

  header.pageHeader {
    padding-top: 61.8%; }

  header.pageHeader .innerWrap {
    width: 100%; }

  .flexPageTtl h3 {
    margin-bottom: 0; }

  .flexTtl {
    margin-top: 0; }

  .flexTtl > .flexLeft {
    width: 100%; }

  .flexTtl > .flexRight {
    width: 100%; }

  .pageContent {
    padding: 20vw 0; }

  .secPage ~ .secPage {
    padding-top: 15vw; }

  .secPage > .innerWrap.posts ~ .innerWrap.posts {
    margin-top: 15vw; }

  ul.listAnker {
    margin: 0 auto -5vw; }

  ul.listAnker li {
    width: 50%; }

  .bcWrap .innerWrap {
    padding: 10vw 0; }

  .bcWrap.single .innerWrap {
    padding: 2rem 0; }

  .bread_crumb ul li {
    font-size: 2vw; }

  /*PAGE_ABOUT*/
  .ceoWrap .ceoImage {
    margin-bottom: 7.5vw; }

  dl.listWho {
    padding: 7.5vw 0; }

  dl.listWho dt {
    padding-left: 3rem; }

  dl.listWho dt::before {
    left: 0;
    top: .35em;
    font-size: 2vw; }

  dl.listWho dt h3.indexTtl {
    font-size: 4.4vw;
    margin-bottom: 1em; }

  dl.listWho dd {
    padding-left: 3rem; }

  .businessWrap h3.indexTtl {
    margin-bottom: 5vw; }

  .flexBusiness {
    padding: 7.5vw 0; }

  .flexBusiness ~ .flexBusiness {
    border-top: 0; }

  .flexBusiness > .flexLeft {
    width: 100%;
    margin-bottom: 7.5vw; }

  .flexBusiness > .flexLeft img ~ img {
    margin-top: 5vw; }

  .flexBusiness > .flexRight {
    width: 100%; }

  .storesWrap {
    margin-top: 15vw; }

  .flexStores ~ .flexStores {
    margin-top: 15vw; }

  .flexStores > .flexLeft {
    width: 6rem; }

  .flexStores > .flexRight {
    width: calc(100% - 8.4rem); }

  ul.listStores {
    margin-top: -2em; }

  ul.listStores li {
    padding: 1.5rem 0 1.5rem 2rem; }

  ul.listStores li::before {
    top: calc(1.5rem + .4em); }

  ul.listStores li p {
    line-height: 1.8; }

  .captionWrap {
    width: calc(100% + 8.4rem);
    margin-left: -8.4rem;
    margin-top: 3rem; }

  .captionWrap p {
    font-size: 3.2vw; }

  dl.listCompany {
    padding: 1.5em 0; }

  .ventureWrap {
    margin-bottom: 6rem;
    padding: 7.5vw 5vw; }

  .ventureWrap p {
    line-height: 2; }

  dl.listVenture dt h3.indexTtl {
    font-size: 6vw;
    margin-bottom: 1em; }

  dl.listVenture dd p {
    font-size: 4.2vw; }

  dl.listHistory ~ dl.listHistory {
    margin-top: 5vw; }

  dl.listHistory dt {
    width: 100%; }

  dl.listHistory dt p {
    font-weight: bold; }

  dl.listHistory dd {
    width: 100%; }

  dl.listHistory dd p {
    padding-left: 1.8rem; }

  /*PAGE_TEAM*/
  .guidelineTxt {
    margin: 10vw auto 5vw; }

  .guidelineBlock {
    padding: 7.5vw 5vw; }

  dl.listGuideline dt p {
    font-size: 4.2vw;
    font-weight: bold; }

  dl.listGuideline dd p {
    text-align: left; }

  .teamWrap {
    margin-top: 15vw; }

  .interviewImg {
    width: calc(100% + 15vw);
    margin: 0 -7.5vw;
    margin-bottom: 10vw; }

  .interviewImg::after {
    height: 7.2rem; }

  .interviewImg .txtWrap {
    left: 7.5%;
    bottom: 5%;
    z-index: 15; }

  .interviewImg .txtWrap p.profile span.name {
    font-size: 4.4vw; }

  .interviewImg .txtWrap p.profile span.position {
    margin-left: .5em; }

  dl.listTeam dt p i.border {
    width: 3rem;
    height: 3rem; }

  dl.listTeam dt p i.border::before {
    height: 2px; }

  dl.listTeam dt p i.border::after {
    height: 2px; }

  dl.listTeam dt p i.border > i::before {
    width: 2px; }

  dl.listTeam dt p i.border > i::after {
    width: 2px; }

  dl.listTeam dt p span {
    width: calc(100% - 4.8rem);
    font-size: 4vw;
    line-height: 1.8; }

  dl.listTeam dd {
    margin-top: 1em;
    padding-left: 0; }

  /*PAGE_WELFARE*/
  dl.listFeature ~ dl.listFeature {
    margin-top: 10vw; }

  dl.listFeature dt p {
    line-height: 1.8; }

  dl.listFeature dt p i.border {
    width: 3.6rem;
    height: 3.6rem; }

  dl.listFeature dt p i.border::before {
    height: 2px; }

  dl.listFeature dt p i.border::after {
    height: 2px; }

  dl.listFeature dt p i.border > i::before {
    width: 2px; }

  dl.listFeature dt p i.border > i::after {
    width: 2px; }

  dl.listFeature dt p span {
    width: calc(100% - 6rem);
    font-size: 4vw; }

  dl.listFeature dd {
    margin-top: 1em;
    padding-left: 6rem; }

  .flexCulture ~ .flexCulture {
    margin-top: 7.5vw; }

  .flexCulture > .flexLeft {
    width: 3.6rem; }

  .flexCulture > .flexLeft p {
    width: 3.6rem;
    height: 3.6rem;
    line-height: 3.6rem;
    font-size: 2vw; }

  .flexCulture > .flexRight {
    width: calc(100% - 6rem); }

  dl.listCulture dt p {
    font-size: 4.2vw; }

  .flexSystem > .flexLeft {
    width: 100%;
    order: 1; }

  .flexSystem > .flexRight {
    width: 100%;
    margin-bottom: 15vw; }

  .flexSystem > .flexRight .inner {
    width: calc(100% + 15vw);
    margin: 0 -7.5vw; }

  .flexSystem > .flexRight .inner img:nth-child(1) {
    display: none; }

  .flexSystem > .flexRight .inner img ~ img {
    margin-top: 0; }

  dl.listSystem ~ dl.listSystem {
    margin-top: 7.5vw; }

  dl.listSystem dt p {
    font-size: 4.2vw; }

  ul.listSystem {
    margin-top: 5vw; }

  ul.listSystem li {
    width: 100%;
    padding: .5em 5%; }

  ul.listSystem li ~ li {
    border-top: solid 1px #333; }

  ul.listSystem li:nth-child(2) {
    border-top: solid 1px #333; }

  ul.listSystem li:nth-child(2n-1) {
    border-right: 0; }

  ul.listSystem li p {
    font-size: 2vw; }

  /*PAGE_FAQ*/
  .faqWrap {
    margin-top: 10vw; }

  dl.listFaq {
    padding: 2rem 0; }

  dl.listFaq dt p {
    padding-left: 3.6rem;
    line-height: 1.8; }

  dl.listFaq dd {
    margin-top: 1em; }

  dl.listFaq dd p {
    padding-left: 3.6rem; }

  /*PAGE_ENTRY*/
  .formWrap .caption {
    padding: 5vw;
    border-radius: 5px;
    margin-bottom: 7.5vw; }

  .formWrap .inner {
    margin-top: 15vw; }

  ul.listDocForm {
    margin-bottom: -7.5vw; }

  ul.listDocForm li {
    width: 100%;
    margin-bottom: 7.5vw; }

  ul.listDocForm li:last-child {
    width: 100%;
    margin-bottom: 7.5vw; }

  dl.listDocForm dt {
    margin-bottom: .5em; }

  input[type="text"], textarea, select {
    padding: 12px 18px; }

  input[type="text"]#old {
    width: 8em;
    margin-right: 1em; }

  input[type="text"][size="4"].post {
    width: 4.8em;
    margin: 0 .5em; }

  input[type="text"][size="5"].post {
    width: 6.4em;
    margin: 0 .5em; }

  select {
    height: 4.2rem; }

  label {
    line-height: 4.2rem; }

  input[type="submit"] {
    height: 5.4rem; }

  /*PAGE_PRIVACY*/
  dl.listPolicy {
    margin-top: 15vw;
    padding: 7.5vw 0; }

  /*ARCHIVE*/
  ul.listTag {
    margin-bottom: 1.8rem;
    margin-right: -2px; }

  ul.listTag li p {
    padding: .5em 1.5em;
    font-size: 3vw; }

  article.jobBlock h3.pageTtl {
    margin-bottom: 1em;
    font-size: 5vw; }

  .flexDesc {
    padding: 2rem 0; }

  .flexDesc > .flexLeft {
    width: 22.5%; }

  .flexDesc > .flexLeft p {
    line-height: 1.8; }

  .flexDesc > .flexRight {
    width: 72.5%; }

  .flexDesc > .flexRight p {
    line-height: 1.8; }

  .inlineBtn {
    margin: 5vw auto 0; }

  nav.navigation.pagination {
    margin: 20vw auto 0;
    padding: 5vw 0; }

  nav.navigation.pagination .nav-links .page-numbers {
    width: 4.2rem;
    height: 4.2rem;
    line-height: 4.2rem;
    margin: 0 .25rem;
    font-size: 4vw; }

  .secPage.archive1::before {
    width: 75%;
    top: -15vw; }

  .secPage.archive1.gone::before {
    height: calc(100% + 20rem); }

  .secPage.archive1 .innerWrap {
    padding-bottom: 15vw; }

  .secPage.archive1 .innerWrap .inner {
    margin-top: 15vw; }

  .secPage.archive1 .flexWrap {
    flex-wrap: wrap;
    margin-bottom: -2px; }

  .secPage.archive1 .flexWrap > .flexItem {
    width: 100%;
    margin-bottom: 2px; }

  .secPage.archive1 .flexWrap > .flexItem a {
    padding: 1.5rem 0; }

  .secPage.archive1 .flexWrap > .flexItem p {
    font-size: 4vw; }

  /*SINGLE*/
  h1.singleTtl {
    padding: 3.2vw 0 10vw;
    font-size: 5vw;
    margin-bottom: 10vw; }

  header.singleHeader .innerWrap {
    width: 90%;
    padding: 7.2rem 0 0; }

  header.singleHeader .ttlWrap {
    padding: 0; }

  header.singleHeader .aspect.aspect41 {
    padding-top: 61.8%; }

  .secSingle > .innerWrap {
    width: 90%; }

  /*SINGLE_JOBLIST*/
  .secSingle.job1::before {
    width: 35%;
    top: -22.5vw;
    left: 0; }

  .secSingle.job1.gone::before {
    height: calc(100% + 22.5vw); }

  .secSingle.job1 .innerWrap {
    padding: 15vw 5vw; }

  .secSingle.job1 .innerWrap .in {
    width: calc(100% + 7.5vw);
    transform: translateY(6rem); }

  .secSingle.job2::before {
    width: 35%;
    height: 0;
    top: -10rem;
    right: 0; }

  .secSingle.job2.gone::before {
    height: calc(100% + 10rem); }

  .secSingle.job2 .innerWrap {
    padding: 0 5vw 15vw; }

  /*SINGLE_NEWS*/
  .secSingle.news1::before {
    width: 35%;
    top: -22.5vw; }

  .secSingle.news1 .innerWrap {
    padding: 15vw 0; }

  .secSingle.news1 .innerWrap * ~ * {
    margin-top: 10vw; }

  .yarpp-related {
    margin: 0 !important; }

  .yarppTtl {
    margin-bottom: 2rem; }

  .yarppWrap {
    padding: 9.6rem 0; }

  .yarppWrap .yarpp-container .swiper-slide {
    padding: 2rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.05); }

  /*SINGLE_BLOG*/
  .pagenationWrap {
    background: #111; }

  .flexPagenation {
    width: 90%;
    max-width: 128rem;
    margin: 0 auto;
    padding: 5rem 0;
    display: flex;
    justify-content: space-between; }

  .flexPagenation * {
    color: #fff; }

  .flexPagenation > .flexItem {
    width: 25%; }

  .flexPagenation > .flexItem p {
    text-align: center;
    line-height: 1; }

  .flexPagenation > .flexCenter {
    width: 50%; }

  .flexPagenation > .flexCenter p {
    text-align: center;
    line-height: 1; }

  .flexPagenation > .flexCenter p::before {
    content: '';
    display: inline-block;
    vertical-align: bottom;
    width: 1em;
    height: 1em;
    background: url(images/iconNine.svg) center;
    background-size: cover;
    margin-right: 1em; } }
.mw_wp_form h2.secTtl {
  transform: rotate(0) translate(0);
  transform-origin: 0 0;
  text-align: left;
  font-size: 2rem;
  color: #fff;
  margin-bottom: 1em; }

.mw_wp_form p a {
  color: #fff; }

.secIndex.sec1 .txtWrap .logoWrap {
  justify-content: center; }

.secIndex.sec1 .txtWrap .logoWrap > .flexItem {
  width: auto; }
