@charset "UTF-8";

:root {
  font-size: 10px;
}

:root.is-ipad {
  font-size: 8px;
}

body {
  background-color: #f0f0f0;
  color: #302d39;
  font-family: YakuHanJPs, sans-serif;
  font-size: 1.4rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  line-height: 2;
  overflow-x: hidden;
}

body.is-en {
  font-family: "Helvetica Neue", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro';
  font-weight: 400;
}

body::before,body::after {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 165%;
  height: 100%;
  background-color: #f0f0f0;
  z-index: 9999;
  -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.92, 0, 0.94, 0.44);
  transition: -webkit-transform 1.6s cubic-bezier(0.92, 0, 0.94, 0.44);
  transition: transform 1.6s cubic-bezier(0.92, 0, 0.94, 0.44);
  transition: transform 1.6s cubic-bezier(0.92, 0, 0.94, 0.44), -webkit-transform 1.6s cubic-bezier(0.92, 0, 0.94, 0.44);
}

body::before {
  -webkit-transform: translate(-112%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(-112%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
  visibility: hidden;
}

body::after {
  -webkit-transform: translate(-20%, 0) matrix3d(1, 0, 0, 0, 0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(-20%, 0) matrix3d(1, 0, 0, 0, 0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  visibility: visible;
}

body.is-trans::before {
  -webkit-transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  visibility: visible;
}

body.is-loaded::after {
  -webkit-transform: translate(90%, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(90%, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}

a {
  color: #302d39;
  text-decoration: none;
}

::-moz-selection {
  background-color: #302d39;
  color: #fff;
}

::selection {
  background-color: #302d39;
  color: #fff;
}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css *//* Document
   ========================================================================== *//**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */html {
  line-height: 1.15;
 /* 1 */
  -webkit-text-size-adjust: 100%;
 /* 2 */;
}/* Sections
   ========================================================================== *//**
 * Remove the margin in all browsers.
 */body {
  margin: 0;
}/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */h1 {
  font-size: 2em;
  margin: 0.67em 0;
}/* Grouping content
   ========================================================================== *//**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
 /* 1 */
  height: 0;
 /* 1 */
  overflow: visible;
 /* 2 */;
}/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */pre {
  font-family: monospace, monospace;
 /* 1 */
  font-size: 1em;
 /* 2 */;
}/* Text-level semantics
   ========================================================================== *//**
 * Remove the gray background on active links in IE 10.
 */a {
  background-color: transparent;
}/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */abbr[title] {
  border-bottom: none;
 /* 1 */
  text-decoration: underline;
 /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
 /* 2 */;
}/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */b,strong {
  font-weight: bolder;
}/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */code,kbd,samp {
  font-family: monospace, monospace;
 /* 1 */
  font-size: 1em;
 /* 2 */;
}/**
 * Add the correct font size in all browsers.
 */small {
  font-size: 80%;
}/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}/* Embedded content
   ========================================================================== *//**
 * Remove the border on images inside links in IE 10.
 */img {
  border-style: none;
}/* Forms
   ========================================================================== *//**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */button,input,optgroup,select,textarea {
  font-family: inherit;
 /* 1 */
  font-size: 100%;
 /* 1 */
  line-height: 1.15;
 /* 1 */
  margin: 0;
 /* 2 */;
}/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */button,input {
 /* 1 */
  overflow: visible;
}/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */button,select {
 /* 1 */
  text-transform: none;
}/**
 * Correct the inability to style clickable types in iOS and Safari.
 */button,[type="button"],[type="reset"],[type="submit"] {
  -webkit-appearance: button;
}/**
 * Remove the inner border and padding in Firefox.
 */button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}/**
 * Restore the focus styles unset by the previous rule.
 */button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}/**
 * Correct the padding in Firefox.
 */fieldset {
  padding: 0.35em 0.75em 0.625em;
}/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 /* 1 */
  color: inherit;
 /* 2 */
  display: table;
 /* 1 */
  max-width: 100%;
 /* 1 */
  padding: 0;
 /* 3 */
  white-space: normal;
 /* 1 */;
}/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */progress {
  vertical-align: baseline;
}/**
 * Remove the default vertical scrollbar in IE 10+.
 */textarea {
  overflow: auto;
}/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */[type="checkbox"],[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 /* 1 */
  padding: 0;
 /* 2 */;
}/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {
  height: auto;
}/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */[type="search"] {
  -webkit-appearance: textfield;
 /* 1 */
  outline-offset: -2px;
 /* 2 */;
}/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */::-webkit-file-upload-button {
  -webkit-appearance: button;
 /* 1 */
  font: inherit;
 /* 2 */;
}/* Interactive
   ========================================================================== *//*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */details {
  display: block;
}/*
 * Add the correct display in all browsers.
 */summary {
  display: list-item;
}/* Misc
   ========================================================================== *//**
 * Add the correct display in IE 10+.
 */template {
  display: none;
}/**
 * Add the correct display in IE 10.
 */[hidden] {
  display: none;
}

h1,h2,h3,h4,h5,h6,p,blockquote,table,figure,ul,ol,dl,li,dt,dd {
  margin: 0;
  padding: 0;
}

ul,ol,dl {
  list-style: none;
}

h1,h2,h3,h4,h5,h6 {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-size: 100%;
  font-weight: normal;
}

main {
  display: block;
}

table {
  border-collapse: collapse;
}

em {
  font-style: normal;
}

small {
  font-size: 100%;
}

img {
  -ms-interpolation-mode: bicubic;
  border: 0 none;
  text-decoration: none;
  vertical-align: top;
  background: transparent;
}

video {
  vertical-align: top;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  outline: none;
}

a,button {
  cursor: pointer;
}

a[disabled],button[disabled] {
  cursor: default;
}

input,optgroup,select,textarea {
  font-family: inherit;
  font-size: 1.6rem;
  cursor: pointer;
}

input[disabled],optgroup[disabled],select[disabled],textarea[disabled] {
  cursor: default;
}

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

iframe {
  border: 0;
  vertical-align: top;
}

.l-footer {
  position: relative;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

.l-footer__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-footer__sns ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-footer__sns li + li {
  margin-left: 60px;
}

.l-footer__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  margin: 65px auto 0;
  text-align: left;
}

.l-footer__row.is-one-item {
  text-align: center;
}

.l-footer__ci svg {
  fill: #535159;
}

.l-footer__link {
  text-align: center;
  width: auto;
  font-size: 1.4rem;
  letter-spacing: calc(80em / 1000);
}

.l-footer__link a {
  color: #525058;
}

.l-footer__language {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
}

.l-footer__language li + li:before {
  display: inline-block;
  margin-right: 8px;
  margin-left: 8px;
  color: #413f48;
  content: "/";
}

.l-footer__language a {
  color: #413f48;
}

.l-footer__language a:hover {
  opacity: .75;
}

.l-footer__copyright {
  margin-left: 40px;
  font-size: 1.2rem;
  letter-spacing: calc(80em / 1000);
  color: #413f48;
}

.l-header {
  position: relative;
  padding: 31px 40px 0;
}

.l-header__ci {
  position: absolute;
}

.l-header__ci svg {
  fill: #302d39;
}

.l-header .c-nav-button {
  z-index: 900;
}

.l-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #f5f5f5;
  z-index: 2000;
  overflow-y: scroll;
}

.l-modal .c-nav-button {
  position: fixed;
}

.l-modal__contents {
  position: relative;
  width: 100%;
}

.l-modal__header {
  position: relative;
  width: 100%;
}

.l-modal__movie {
  width: 1280px;
  margin: auto;
}

.l-nav {
  font-weight: bold;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #f0f0f0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s, -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  -webkit-transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  z-index: 800;
}

.l-nav.is-open {
  -webkit-transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.l-nav.is-open .l-nav__inner {
  opacity: 1;
  -webkit-transition-delay: .33s;
  transition-delay: .33s;
}

.l-nav a {
  color: #525058;
}

.l-nav__inner {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  opacity: 0;
  -webkit-transition: opacity .2s ease 0s;
  transition: opacity .2s ease 0s;
}

.is-ipad .l-nav__inner2 {
  margin-top: -20%;
}

.l-nav__ci svg {
  fill: #525058;
}

.l-nav__sub {
  text-transform: uppercase;
}

.l-page {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}

.l-page-modals .l-modal {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s, -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  -webkit-transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}

.l-page-modals .l-modal .l-modal-container {
  opacity: 0;
  -webkit-transition: opacity .3s ease 0s;
  transition: opacity .3s ease 0s;
}

.l-page-modals .l-modal.is-show {
  -webkit-transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.l-page-modals .l-modal.is-show .l-modal-container {
  opacity: 1;
  -webkit-transition-delay: .4s;
  transition-delay: .4s;
}

.l-wrapper.is-under {
  position: relative;
  padding-bottom: 70px;
}

.l-wrapper.is-under:before {
  display: block;
  position: absolute;
  top: 396px;
  right: 4.2%;
  left: 4.2%;
  bottom: 0px;
  background-color: #e6e3e0;
  content: "";
  z-index: -1;
}

.l-wrapper.is-case {
  position: relative;
  margin-top: 196px;
  padding-top: 20px;
}

.l-wrapper.is-case .l-wrapper__title {
  position: absolute;
  top: 0;
  left: 100px;
  font-size: 10rem;
  line-height: 1;
  letter-spacing: calc(380em / 1000);
  z-index: 10;
  pointer-events: none;
}

.l-wrapper.is-case .p-panel__nav-trigger {
  position: relative;
  top: 240px;
}

.l-wrapper--news,.l-wrapper--case {
  margin-top: 60px;
}

#error .l-wrapper {
  width: 812px;
  margin: 17.84722222222222% auto 0;
}

.c-accordion {
  position: relative;
  border-bottom: 2px solid #302d39;
  -webkit-transition: height .2s ease-out;
  transition: height .2s ease-out;
  cursor: pointer;
}

.c-accordion::before,.c-accordion::after {
  content: '';
  display: block;
  position: absolute;
  background-color: #302d39;
}

.c-accordion::after {
  -webkit-transition: -webkit-transform .2s ease;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
}

.c-accordion__title {
  display: block;
  cursor: pointer;
  line-height: 1;
}

.c-accordion__content {
  opacity: 0;
  -webkit-transition: opacity .25s ease;
  transition: opacity .25s ease;
}

.c-accordion.is-open {
  overflow: visible;
}

.c-accordion.is-open .c-accordion__content {
  opacity: 1;
}

.c-accordion.is-open::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.blend-color {
  position: relative;
}

.blend-color::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: lighten;
}

.blend-color--navy::after {
  background-color: #283641;
}

.c-button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  text-align: center;
  letter-spacing: .16em;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: color .2s ease, letter-spacing .4s ease, background-color .2s ease;
  transition: color .2s ease, letter-spacing .4s ease, background-color .2s ease;
  overflow: hidden;
}

.c-button--en {
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  letter-spacing: .6em;
}

.c-button__text {
  z-index: 10;
}

.c-button::before,.c-button::after {
  content: '';
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  right: 0;
  width: 100%;
  height: 50%;
  z-index: 0;
  -webkit-transition: width .25s ease;
  transition: width .25s ease;
}

.c-button::before {
  top: 0;
  background-color: #302d39;
}

.c-button::after {
  bottom: 0;
  background-color: #413f48;
}

.c-button:hover {
  color: #302d39;
  background-color: #fff;
  letter-spacing: .9em;
}

.c-button:hover::before,.c-button:hover::after {
  width: 0;
}

.c-card__link {
  display: block;
}

.c-card__link:hover {
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.c-card__link:hover .c-card__category {
  letter-spacing: calc(750em / 1000);
}

.c-card__link:hover .c-card__date {
  letter-spacing: calc(300em / 1000);
}

.c-card__header {
  position: relative;
  background-color: #7a8792;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
}

.c-card__header::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1e2a34;
  opacity: .4;
  z-index: 2;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
}

.c-card__header::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #283641;
  mix-blend-mode: lighten;
  z-index: 1;
}

.is-ie .c-card__header::after {
  display: none;
}

.c-card__image img {
  width: 100%;
  height: auto;
}

.c-card__meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.c-card__title {
  border-bottom: 2px solid #fff;
  font-weight: bold;
}

.c-card__category {
  margin-right: calc(-600em / 1000);
  letter-spacing: calc(600em / 1000);
}

.c-card__date {
  max-width: 200px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 2px solid #fff;
  letter-spacing: calc(200em / 1000);
}

.c-card__name {
  -webkit-font-smoothing: subpixel-antialiased !important;
}

.c-card__summary {
  height: 4.2em;
  overflow: hidden;
  margin-top: 29px;
  color: #413f48;
  letter-spacing: calc(200em / 1000);
  text-align: justify;
}

.c-card:hover .c-card__header::before {
  opacity: .7;
}

.c-card--welf .c-card__summary {
  height: auto;
}

.c-card--welf:hover .c-card__header::before {
  opacity: .7;
}

.c-card--interview .c-card__image {
  padding-top: 82.89473684210526%;
  background-position: center top;
  background-size: cover;
  -webkit-filter: saturate(80%);
  filter: saturate(80%);
}

.is-ie .c-card--interview .c-card__image {
  -webkit-filter: none;
  filter: none;
}

.c-card--interview .c-card__summary {
  height: auto;
}

.c-card--storelist {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.c-card--storelist .c-card__header::before {
  opacity: 0;
}

.c-card--storelist__place,.c-card--storelist__name {
  -webkit-transition: letter-spacing .3s ease-out;
  transition: letter-spacing .3s ease-out;
}

.c-card--storelist__place {
  margin-top: 36px;
  line-height: 1;
  letter-spacing: .32em;
}

.c-card--storelist__name {
  margin-top: 4px;
  font-size: 1.8rem;
  letter-spacing: .2em;
}

.c-card--storelist:hover .c-card--storelist__place {
  letter-spacing: .5em;
}

.c-card--storelist:hover .c-card--storelist__name {
  letter-spacing: .3em;
}

.images.is-showed .c-card--storelist.image.is-showed {
  -webkit-animation: none !important;
  animation: none !important;
  -webkit-transform: none;
  transform: none;
}

.c-card--storelist:hover .c-card__header::before {
  opacity: .3;
}

.c-card--appended {
  opacity: 0;
  -webkit-animation: fadein .3s ease;
  animation: fadein .3s ease;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.c-dropdown {
  position: relative;
}

.c-dropdown select {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  padding: 11px 0;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #302d39;
  background-color: transparent;
  color: #302d39;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-dropdown select:focus ~ .c-dropdown__label,.c-dropdown select.is-selected ~ .c-dropdown__label {
  top: -11px;
  font-size: 1.2rem;
  opacity: .6;
}

.c-dropdown select:focus {
  outline: 0;
}

.c-dropdown::after {
  content: '';
  display: block;
  position: absolute;
  top: 13px;
  right: 14px;
  width: 13px;
  height: 9px;
  background: url("/cms/wp-content/themes/opefac2018/assets/image/icon_arrow.svg") no-repeat;
  background-size: cover;
}

.c-dropdown__label {
  position: absolute;
  top: 11px;
  font-size: 1.4rem;
  line-height: 1;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.c-global-menu {
  position: relative;
}

.c-global-menu__item {
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: calc(80em / 1000);
}

.c-global-menu .u-hover {
  -webkit-transition-duration: .2s;
  transition-duration: .2s;
}

.c-global-menu .u-hover:hover {
  letter-spacing: calc(320em / 1000);
}

.c-global-menu--en .c-global-menu__item--1 {
  left: 80px;
}

.c-global-menu--en .c-global-menu__item--2 {
  left: 207px;
}

.c-global-menu--en .c-global-menu__item--3 {
  left: 341px;
}

.c-global-menu--en .c-global-menu__item--4 {
  left: 474px;
}

.c-more {
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  display: block;
  color: #413f48;
}

.c-more * {
  pointer-events: none;
}

.c-more__text {
  position: relative;
  z-index: 1;
  right: calc(-600em / 1000 / 3);
}

.c-more__rect {
  display: block;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
  -webkit-transition: letter-spacing .4s ease;
  transition: letter-spacing .4s ease;
  letter-spacing: calc(600em / 1000);
}

.c-more__rect::after {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #413f48;
  content: "";
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.c-more__rect--left {
  text-align: left;
}

.c-more__detail {
  position: absolute;
  left: 0;
  right: 0;
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-weight: 700;
  -webkit-font-smoothing: subpixel-antialiased !important;
}

.c-more__detail .f-tsukuaoldmin {
  -webkit-font-smoothing: subpixel-antialiased !important;
}

.c-more--inverse .c-more__text,.c-more--inverse .c-more__detail {
  pointer-events: none;
  color: #fff;
}

.c-more--inverse .c-more__rect {
  pointer-events: none;
}

.c-more--inverse .c-more__rect::after {
  background-color: #fff;
}

.c-more--has-detail .c-more__rect {
  font-weight: bold;
  overflow: visible;
}

.c-movie {
  background-size: cover;
}

.c-movie.is-thumb {
  position: relative;
  cursor: pointer;
}

.c-movie.is-thumb::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1e2a34;
  opacity: 0.3;
}

.c-movie.is-thumb::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 33px);
  left: calc(50% - 27px);
  width: 66px;
  height: 54px;
  background-image: url(/cms/wp-content/themes/opefac2018/assets/image/icon_play.svg);
  background-size: cover;
}

.c-nav-button {
  cursor: pointer;
  position: fixed;
  top: 26px;
  right: 62px;
  width: 70px;
  height: 30px;
}

.c-nav-button__bar {
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  margin: auto;
  overflow: hidden;
}

.c-nav-button__bar::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  width: 0;
  height: 2px;
  background-color: #34393d;
  -webkit-transition: width .2s ease;
  transition: width .2s ease;
}

.c-nav-button__bar--1 {
  -webkit-transform: rotateZ(15deg);
  transform: rotateZ(15deg);
}

.c-nav-button__bar--1::before {
  left: 0;
}

.c-nav-button__bar--2 {
  -webkit-transform: rotateZ(-15deg);
  transform: rotateZ(-15deg);
}

.c-nav-button__bar--2::before {
  right: 0;
  -webkit-transition-delay: .1s;
  transition-delay: .1s;
}

.c-nav-button::before,.c-nav-button::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #34393d;
  -webkit-transition: width .2s ease .5s;
  transition: width .2s ease .5s;
}

.c-nav-button::after {
  -webkit-transition-delay: .6s;
  transition-delay: .6s;
}

.c-nav-button.is-open .c-nav-button__bar--1::before {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}

.c-nav-button.is-open .c-nav-button__bar--2::before {
  -webkit-transition-delay: .6s;
  transition-delay: .6s;
}

.c-nav-button.is-open .c-nav-button__bar::before {
  width: 100%;
}

.c-nav-button.is-open::before,.c-nav-button.is-open::after {
  width: 0;
}

.c-nav-button.is-open::before {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.c-nav-button.is-open::after {
  -webkit-transition-delay: .1s;
  transition-delay: .1s;
}

.c-nav-button.is-open:hover::before,.c-nav-button.is-open:hover::after {
  -webkit-animation: none;
  animation: none;
}

.c-pagetop {
  display: block;
  position: absolute;
  bottom: 110px;
  right: 22px;
  width: 48px;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(1, 0, 0, 1);
  transition: -webkit-transform 0.3s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.3s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.3s cubic-bezier(1, 0, 0, 1), -webkit-transform 0.3s cubic-bezier(1, 0, 0, 1);
  -webkit-transform: translate3d(0, 200%, 0);
  transform: translate3d(0, 200%, 0);
}

.c-pagetop::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  background-color: #f0f0f0;
}

.c-pagetop.is-show {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.c-pagetop:focus::after,.c-pagetop:hover::after {
  -webkit-animation: pageTopAnime .6s ease 0s;
  animation: pageTopAnime .6s ease 0s;
}

.c-pagetop:active {
  -webkit-transform: translate3d(0, 4px, 0);
  transform: translate3d(0, 4px, 0);
}

.c-paging {
  position: relative;
  margin-top: 114px;
  margin-left: 12.5%;
  font-size: 2.2rem;
  line-height: 1.1;
}

.c-paging ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.c-paging li + li {
  margin-left: 8px;
}

.c-paging li:first-child a,.c-paging li:last-child a {
  padding: 14px 18px;
}

.c-paging li:first-child a:before,.c-paging li:last-child a:before {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #413f48;
  border-right: 2px solid #413f48;
  vertical-align: 1px;
  content: "";
}

.c-paging li:first-child a:before {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}

.c-paging li:last-child a:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-paging a {
  display: block;
  padding: 14px 16px;
  color: #413f48;
}

.c-paging a.is-active {
  position: relative;
}

.c-paging a.is-active::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #413f48;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.c-paging a.is-active:hover::before {
  -webkit-transform: scaleX(0.4);
  transform: scaleX(0.4);
}

.c-radio-button-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.c-radio-button-wrapper > span {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.c-radio-button-wrapper > span:not(:last-child) {
  margin-right: 8px;
}

.c-radio-button-wrapper > span label span {
  display: block;
  min-height: 37px;
  padding: 10px 0;
  font-size: 1.4rem;
  border-bottom: 1px solid #302d39;
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  -webkit-transition: border-width .2s ease;
  transition: border-width .2s ease;
  cursor: pointer;
}

.c-radio-button-wrapper > span label input {
  display: none;
}

.c-radio-button-wrapper > span label input:checked + span {
  border-width: 3px;
}

.c-section-lead {
  font-size: 2rem;
  line-height: 2.1;
  letter-spacing: calc(600em / 1000);
  white-space: nowrap;
}

.c-section-lead--inverse {
  color: #fff;
}

.c-section-lead--en {
  -webkit-font-smoothing: subpixel-antialiased;
  font-family: "adobe-garamond-pro", serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: calc(400em / 1000);
}

.c-section-lead.f-tsukugo,.c-section-lead .f-tsukugo,.c-section-lead.f-tsukuaoldmin,.c-section-lead .f-tsukuaoldmin {
  -webkit-font-smoothing: subpixel-antialiased;
}

.c-section-title {
  display: inline-block;
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10rem;
  line-height: 1.08;
  letter-spacing: calc(360em / 1000 * 0.92);
  white-space: nowrap;
  text-transform: uppercase;
  color: #302d39;
}

.c-section-title.is-inverse {
  color: #fff;
}

.is-ie .c-section-title {
  letter-spacing: 0.36em;
}

.c-section-title--inverse {
  color: #fff;
}

.c-section-title.is-mid {
  font-size: 8.4rem;
  letter-spacing: calc(366em / 1000);
  -webkit-transform: none;
  transform: none;
  line-height: 1.2619;
}

.c-section-title.is-mid.is-right {
  margin-right: calc(-183em / 1000 * 0.92);
}

.c-section-title.is-right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.c-section-title__sub {
  letter-spacing: calc(360em / 1000 * 0.92);
}

.c-section-title.is-f-size-80 {
  font-size: 8rem;
}

.c-section-title.is-f-size-80 .f-tsukuaoldmin {
  font-size: 8.4rem;
}

.c-section-title.is-ta-r {
  text-align: right;
}

.c-section-title > a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-slider-button-next.swiper-button-next,.c-slider-button-prev.swiper-button-prev {
  background-image: url("/cms/wp-content/themes/opefac2018/assets/image/icon_slide_bt.svg");
  background-size: cover;
}

.c-slider-button-next.swiper-button-next {
  right: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.c-slider-button-prev.swiper-button-prev {
  left: 0;
}

.c-table {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.46em;
}

.c-table__ttl,.c-table dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 2px solid #413f48;
  min-height: 70px;
}

.c-table__ttl {
  line-height: 1;
}

.c-table dl {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-table dl dt,.c-table dl dd {
  padding: 15px 0;
}

.c-table dl dd {
  letter-spacing: 0.2em;
}

.c-text-input {
  width: 100%;
  height: 14px;
  margin: 0;
  padding: 11px 0;
  background: none;
  border: none;
  border-bottom: 1px solid #302d39;
  border-radius: 0;
  font-size: 1.4rem;
  line-height: 1;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: auto;
}

.c-text-input:focus::-webkit-input-placeholder {
  color: transparent;
}

.c-text-input:focus:-ms-input-placeholder {
  color: transparent;
}

.c-text-input:focus::-ms-input-placeholder {
  color: transparent;
}

.c-text-input:focus::placeholder {
  color: transparent;
}

.c-text-input::-webkit-input-placeholder {
  color: #413f48;
  -webkit-transition: color .2s ease;
  transition: color .2s ease;
}

.c-text-input:-ms-input-placeholder {
  color: #413f48;
  -webkit-transition: color .2s ease;
  transition: color .2s ease;
}

.c-text-input::-ms-input-placeholder {
  color: #413f48;
  -webkit-transition: color .2s ease;
  transition: color .2s ease;
}

.c-text-input::placeholder {
  color: #413f48;
  -webkit-transition: color .2s ease;
  transition: color .2s ease;
}

.c-text-input::-webkit-outer-spin-button,.c-text-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.c-textarea {
  position: relative;
}

.c-textarea::before,.c-textarea::after {
  content: '';
  display: block;
  position: absolute;
  top: calc((100% - 71.4285%) / 2);
  width: 1px;
  height: 71.4285%;
  background-color: #e6e3e0;
}

.c-textarea::before {
  left: 0;
}

.c-textarea::after {
  right: 0;
}

.c-textarea textarea {
  display: block;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: 252px;
  margin: 0;
  padding: 13px 16px;
  background: none;
  border: 1px solid #302d39;
  border-radius: 0;
  outline: none;
  font-size: 1.4rem;
  line-height: 2;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.c-textarea textarea:focus {
  outline: none;
}

.p-card-list {
  width: 87.419%;
}

.p-card-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin-top: -24px;
  margin-left: auto;
}

.p-card-list .c-card {
  width: 28.044280442804425%;
  margin-top: 50px;
  margin-left: 5.556%;
}

.p-card-list .c-card:nth-child(6n-2) {
  margin-left: 4.75%;
}

.p-card-list .c-card:nth-child(6n+1) {
  margin-left: 0;
}

.p-card-list--welf {
  margin-top: 0;
}

.p-card-list--storelist {
  pointer-events: all;
}

.p-card-list--storelist + .c-more {
  width: 408px;
  margin-right: auto;
  margin-left: calc(100% - 87.419%);
  margin-top: 91px;
  pointer-events: all;
}

.p-card-list--storelist + .c-more .c-more__rect {
  text-align: left;
}

.p-card-list--storelist + .c-more .c-more__rect::after {
  -webkit-transform-origin: left;
  transform-origin: left;
}

.p-card-list--storelist + .c-more .c-more__text {
  padding-left: 11px;
  line-height: 2.4;
}

.p-card-list--storelist + .c-more:hover .c-more__rect::after {
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

.p-feature__body {
  position: relative;
}

.p-feature__body::after {
  display: block;
  position: absolute;
  top: 0;
  right: -3.229%;
  left: -3.229%;
  bottom: 0;
  background-color: #e6e3e0;
  content: "";
  z-index: -1;
}

.p-feature__text {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  line-height: 2;
}

.p-feature__case h3,.p-feature__lineup h3,.p-feature__point h3 {
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.4em;
  line-height: 1;
}

.p-feature__point__img {
  position: relative;
}

.p-feature__point__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0.2em;
  width: 100%;
  height: 100%;
  letter-spacing: 0.4em;
  line-height: 2.1;
  color: #fff;
  text-align: center;
  -webkit-font-smoothing: subpixel-antialiased !important;
}

.p-feature__point__title .f-tsukugo {
  -webkit-font-smoothing: subpixel-antialiased !important;
}

.p-feature__list li img {
  width: 100%;
}

.p-feature__list li .p-feature-text {
  margin: 29px 0 65px;
}

.p-feature__lineup__list {
  margin: auto;
}

.p-feature__lineup__list ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-feature__lineup__list ul li {
  position: relative;
}

.p-feature__lineup__list ul li img {
  width: 100%;
}

.p-feature__lineup__list ul li > a {
  display: block;
}

.p-feature__lineup__list ul li > a::before,.p-feature__lineup__list ul li > a::after {
  content: '';
  display: block;
  position: absolute;
}

.p-feature__lineup__list ul li > a::before {
  bottom: 40px;
  left: calc(50% - 15px);
  width: 30px;
  height: 9px;
  background-image: url("/cms/wp-content/themes/opefac2018/assets/image/icon_arrow-simple-white-pc.svg");
  background-size: 30px auto;
  background-repeat: no-repeat;
  z-index: 3;
}

.p-feature__lineup__list ul li > a::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #302d39;
  opacity: 0;
  z-index: 2;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.p-feature__lineup__list ul li > a:hover::after {
  opacity: .2;
}

.p-feature__lineup__list ul li > a:hover .p-feature__lineup__title {
  letter-spacing: 0.6em;
}

.p-feature__lineup__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0.12em;
  width: 100%;
  height: 100%;
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-weight: bold;
  letter-spacing: 0.36em;
  line-height: 1.6;
  color: #fff;
  text-align: center;
  -webkit-transition: letter-spacing .3s ease;
  transition: letter-spacing .3s ease;
  z-index: 3;
}

.p-feature__case {
  position: relative;
}

.p-feature__case .c-more__rect {
  text-align: left;
}

.p-feature__case .c-more__rect::after {
  -webkit-transform-origin: left;
  transform-origin: left;
}

.p-feature__case .c-more:hover .c-more__rect::after {
  -webkit-transform: scaleX(0.45);
  transform: scaleX(0.45);
}

.p-feature__case .p-top-service__case figure > .c-grid-04 {
  margin-left: 5%;
}

.p-header {
  position: relative;
}

.p-header.is-index h1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 150px;
  font-size: 10rem;
  letter-spacing: calc(380em / 1000);
  line-height: 1;
}

.p-header.is-detail {
  padding-top: 92px;
}

.p-header.is-detail .p-header__company {
  position: relative;
  margin-top: 28px;
  padding-left: 2.2rem;
  font-size: 2rem;
  line-height: 2.3;
  letter-spacing: calc(600em / 1000);
  text-indent: -1.1em;
}

.p-header.is-detail .p-header__company:before {
  content: "_";
}

.p-header.is-detail .p-header__company + h1 {
  margin-top: 14px;
}

.p-header.is-detail h1 {
  margin-top: 90px;
  margin-right: -0.6em;
  font-size: 2.6rem;
  letter-spacing: calc(600em / 1000);
  line-height: 1.76923;
}

.p-header.is-detail .p-header__date {
  margin-top: 36px;
}

.p-header.p-nav-sticky {
  pointer-events: none;
  z-index: 100;
}

.p-header.p-nav-sticky .p-header__nav {
  pointer-events: all;
}

.p-header__nav {
  position: absolute;
  font-weight: bold;
  line-height: 1.57143;
  opacity: 0;
  -webkit-transform: translateX(-200%);
  transform: translateX(-200%);
  -webkit-transition: opacity 0.2s ease 1.5s, -webkit-transform 0.5s cubic-bezier(0.86, 0, 0.07, 1) 1.5s;
  transition: opacity 0.2s ease 1.5s, -webkit-transform 0.5s cubic-bezier(0.86, 0, 0.07, 1) 1.5s;
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1) 1.5s, opacity 0.2s ease 1.5s;
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1) 1.5s, opacity 0.2s ease 1.5s, -webkit-transform 0.5s cubic-bezier(0.86, 0, 0.07, 1) 1.5s;
}

.is-loaded .p-header__nav {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.p-header__nav .u-hover {
  -webkit-transition-duration: .2s;
  transition-duration: .2s;
}

.p-header__nav.is-ja {
  letter-spacing: calc(180em / 1000);
}

.p-header__nav.is-en {
  letter-spacing: calc(240em / 1000);
}

.p-header__nav li + li {
  margin-top: 11px;
}

.p-header__nav a {
  display: block;
  position: relative;
  padding-bottom: 8px;
}

.p-header__nav a:after {
  display: block;
  position: absolute;
  bottom: 0;
  right: -14px;
  left: -6.94444vw;
  width: 13.194444444444445vw;
  height: 2px;
  background-color: #000;
  content: "";
  -webkit-transform-origin: 101% 0;
  transform-origin: 101% 0;
  -webkit-transform: scale3d(0, 1, 1);
  transform: scale3d(0, 1, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(1, 0, 0, 1);
  transition: -webkit-transform 0.5s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.5s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.5s cubic-bezier(1, 0, 0, 1), -webkit-transform 0.5s cubic-bezier(1, 0, 0, 1);
}

.p-header__nav a.is-active {
  cursor: default;
  pointer-events: none;
}

.p-header__nav a.is-active:after {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.p-header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-header__category {
  margin-top: 35px;
  margin-left: -2px;
  font-size: 4rem;
  line-height: 1.15;
  letter-spacing: calc(380em / 1000);
}

.p-header__image img {
  width: 100%;
  height: auto;
}

.p-header__date {
  margin-top: 30px;
  font-size: 2rem;
  letter-spacing: calc(600em / 1000);
}

.p-header__lead {
  margin-top: 57px;
  color: #413f48;
  letter-spacing: calc(200em / 1000);
}

.p-loading {
  z-index: 5;
  position: fixed;
  top: 0;
  left: 0;
}

.p-loading.is-hide {
  pointer-events: none;
  display: none;
}

.p-loading__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background-color: #f0f0f0;
  -webkit-transition: -webkit-transform 2s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 2s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}

.is-load .p-loading__inner {
  pointer-events: none;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}

.p-loading__inner2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 96px;
  height: 100px;
  overflow: hidden;
}

.p-loading__charm {
  width: 2px;
  height: 100%;
  background-color: #000;
  -webkit-animation: loading 4s cubic-bezier(0.86, 0, 0.07, 1) infinite;
  animation: loading 4s cubic-bezier(0.86, 0, 0.07, 1) infinite;
}

.is-load .p-loading__charm {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

.p-loading__charm:nth-child(2) {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.p-loading__charm:nth-child(3) {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.p-mask {
  z-index: 10;
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.p-mask .p-mask-wrap {
  pointer-events: none;
}

.p-mask__text {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.p-mask__text.p-mask__text--more {
  margin: 0;
}

.p-mask__text.is-hidden {
  -webkit-transition: opacity .1s ease;
  transition: opacity .1s ease;
  opacity: 0;
}

.p-nav-button {
  cursor: pointer;
  position: fixed;
  top: 26px;
  right: 62px;
  z-index: 3;
  width: 70px;
  height: 30px;
}

.p-nav-button__bar {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(1, 0, 0, 1);
  transition: -webkit-transform 0.3s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.3s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.3s cubic-bezier(1, 0, 0, 1), -webkit-transform 0.3s cubic-bezier(1, 0, 0, 1);
}

.p-page-head-nav {
  margin: auto;
}

.p-page-head-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 930px;
  height: 1.2rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1;
}

.p-page-head-nav ul li {
  position: absolute;
  width: 180px;
  font-size: 1.2rem;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  -webkit-transition: letter-spacing .2s ease-in-out;
  transition: letter-spacing .2s ease-in-out;
}

.p-page-head-nav ul li.is-current {
  pointer-events: none;
}

.p-page-head-nav ul li.is-current > a {
  position: relative;
  color: #525058;
}

.p-page-head-nav ul li.is-current > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #413f48;
}

.p-page-head-nav--service ul {
  width: auto;
  margin: 42px auto 36px;
}

.p-page-head-nav--service ul li {
  position: relative;
  letter-spacing: 0.4em;
}

.p-page-head-nav--service ul li:hover {
  letter-spacing: 0.6em;
}

.p-page-head-nav--service ul li.is-conv::after {
  content: '';
  display: block;
  position: absolute;
  top: -4px;
  left: -26px;
  width: 2px;
  height: 16px;
  background: #525058;
}

.p-page-head-nav--recruit ul {
  margin: 44px auto 34px;
}

.p-page-head-nav--recruit ul li {
  letter-spacing: 0.4em;
  -webkit-font-smoothing: subpixel-antialiased;
}

.p-page-head-nav--recruit ul li:first-child {
  left: 62px;
}

.p-page-head-nav--recruit ul li:nth-child(2) {
  left: 190px;
}

.p-page-head-nav--recruit ul li:nth-child(3) {
  left: 325px;
}

.p-page-head-nav--recruit ul li:nth-child(4) {
  right: 289px;
}

.p-page-head-nav--recruit ul li:nth-child(5) {
  right: 166px;
}

.p-page-head-nav--recruit ul li:last-child {
  right: 52px;
}

.p-page-head-nav--recruit ul li:hover {
  letter-spacing: 0.64em;
}

.p-page-head-nav--company ul {
  margin: 44px auto 34px;
}

.p-page-head-nav--company ul li {
  letter-spacing: 0.06em;
}

.p-page-head-nav--company ul li:first-child {
  left: 171px;
}

.p-page-head-nav--company ul li:nth-child(2) {
  left: 286px;
}

.p-page-head-nav--company ul li:nth-child(3) {
  left: 429px;
}

.p-page-head-nav--company ul li:last-child {
  right: 172px;
}

.p-page-head-nav--company ul li:hover {
  letter-spacing: 0.2em;
}

.p-panel-wrapper {
  position: relative;
}

.p-panel-sticky {
  position: absolute;
  top: 0;
  z-index: 20;
  pointer-events: none;
}

.p-panel-sticky__title,.p-panel-sticky__lead,.p-panel-sticky__detail {
  opacity: 0;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.p-panel-sticky__nav {
  position: relative;
  z-index: 100;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  pointer-events: all;
}

.p-panel-sticky.is-enter .p-panel-sticky__title,.p-panel-sticky.is-enter .p-panel-sticky__lead,.p-panel-sticky.is-enter .p-panel-sticky__detail {
  opacity: 1;
}

.p-panel-sticky.is-enter .p-panel-sticky__nav {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.p-panel-nav {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (1 - 1));
  font-weight: bold;
  line-height: 1.57143;
}

.p-panel-nav li {
  white-space: nowrap;
}

.p-panel-nav li + li {
  margin-top: 15px;
}

.p-panel-nav a {
  display: block;
  position: relative;
  padding-bottom: 8px;
  letter-spacing: calc(100em / 1000);
}

.p-panel-nav a:after {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  left: -6.94444vw;
  height: 2px;
  width: calc(6.94444vw + ((100vw - calc(6.94444vw * 2)) - (8px * 11)) / 12 * 1 + 8px * (1 - 1));
  background-color: #302d39;
  content: "";
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: scale3d(0, 1, 1);
  transform: scale3d(0, 1, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(1, 0, 0, 1);
  transition: -webkit-transform 0.5s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.5s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.5s cubic-bezier(1, 0, 0, 1), -webkit-transform 0.5s cubic-bezier(1, 0, 0, 1);
}

.p-panel-nav a.is-active {
  cursor: default;
  pointer-events: none;
}

.p-panel-nav a.is-active:after {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.p-panel {
  position: relative;
  background-color: #e6e3e0;
  width: 100%;
  min-height: 400px;
}

html:not(.is-ie) .trans-text {
  visibility: hidden;
  -webkit-mask-image: url("/cms/wp-content/themes/opefac2018/assets/image/text-mask-in.png");
  mask-image: url("/cms/wp-content/themes/opefac2018/assets/image/text-mask-in.png");
  -webkit-mask-position: 100% 100%;
  mask-position: 100% 100%;
  -webkit-mask-size: 5700% 275%;
  mask-size: 5700% 275%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

html:not(.is-ie) .trans-text .char {
  position: relative;
  display: inline-block;
}

html:not(.is-ie) .trans-text.is-off {
  -webkit-transition: -webkit-mask-image .3s ease;
  transition: -webkit-mask-image .3s ease;
  transition: mask-image .3s ease;
  transition: mask-image .3s ease, -webkit-mask-image .3s ease;
  visibility: visible !important;
  -webkit-mask-image: none;
  mask-image: none;
}

html:not(.is-ie) .trans-text.is-initial.c-section-title.is-right {
  letter-spacing: calc(360em / 1000 * 0.92 * 1.5);
}

html:not(.is-ie) .trans-text.is-initial.c-section-title.is-mid {
  letter-spacing: calc(366em / 1000 * 1.5);
}

html:not(.is-ie) .trans-text.is-trans {
  -webkit-transition: letter-spacing 2.5s cubic-bezier(0.23, 1, 0.32, 1);
  transition: letter-spacing 2.5s cubic-bezier(0.23, 1, 0.32, 1);
}

html:not(.is-ie) .trans-text.is-trans.top-intro-title-mask .p-top-intro-title {
  -webkit-transition: letter-spacing 2.5s cubic-bezier(0.23, 1, 0.32, 1);
  transition: letter-spacing 2.5s cubic-bezier(0.23, 1, 0.32, 1);
}

html:not(.is-ie) .trans-text.is-trans.c-section-title.is-mid {
  letter-spacing: calc(366em / 1000);
}

.p-case-detail {
  position: relative;
  margin-top: 6.944444444444445vw;
}

.p-case-detail img {
  width: 100%;
  height: auto;
}

.p-case-detail::after {
  display: block;
  position: absolute;
  top: -9.4%;
  right: -3.2%;
  left: -3.2%;
  bottom: -96px;
  background-color: #e6e3e0;
  content: "";
  z-index: -1;
}

.p-case-detail__image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 36px;
}

.p-case-detail__image:first-child {
  margin-top: 0;
}

.p-case-detail__media {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 5vw;
}

.p-case-detail__media + .p-case-detail__image {
  margin-top: 5vw;
}

.p-case-detail__media.is-media-pull {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.p-case-detail__media.is-media-pull .c-grid-04 {
  padding-bottom: 66px;
}

.p-case-detail__media.is-media-push {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-case-detail__media.is-media-push .c-grid-04 {
  padding-top: 64px;
}

.p-case-detail__media h2 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 3.5 + 8px * (3.5 - 1));
  font-size: 2.6rem;
  line-height: 1.76923;
  letter-spacing: calc(600em / 1000);
}

.p-case-detail__media p {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 3.5 + 8px * (3.5 - 1));
  margin-top: 52px;
  text-align: justify;
  letter-spacing: calc(200em / 1000);
}

.p-case-detail__info {
  margin-left: calc( ( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 ) / 2);
}

.p-case-detail__info-title {
  margin-top: 4.583333333333333vw;
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: calc(380em / 1000);
}

.p-case-detail__info-address {
  letter-spacing: calc(200em / 1000);
}

.p-case-detail__info-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-case-detail__info-row.is-various {
  margin-top: 4.652777777777778vw;
}

.p-case-detail__info-row.is-project {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-case-detail__info-row.is-scope {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-case-detail__info-row h3 {
  margin-bottom: 6px;
  font-size: 2rem;
  line-height: 1.55;
  letter-spacing: calc(320em / 1000);
}

.p-case-detail__info-row p {
  letter-spacing: calc(200em / 1000);
}

.p-case-detail__info-project h3,.p-case-detail__info-scope h3 {
  font-size: 2rem;
  line-height: 1.55;
  letter-spacing: calc(320em / 1000);
}

.p-case-detail__info-project li,.p-case-detail__info-scope li {
  margin: 7px 6px 0 0;
  letter-spacing: calc(200em / 1000);
}

.p-case-detail__info-project {
  margin-top: 3.0555555555555554vw;
}

.p-case-detail__info-scope {
  margin-top: 5.208333333333334vw;
}

.p-case {
  position: relative;
  margin-top: 24px;
  margin-left: auto;
}

.p-case__item {
  display: block;
  position: relative;
  margin-top: 7.291666666666667vw;
}

.p-case__item .c-grid-04::before,.p-case__item .c-grid-04::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-case__item .c-grid-04::before {
  background-color: #302d39;
  opacity: .1;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  z-index: 2;
}

.p-case__item .c-grid-04::after {
  background-color: #283641;
  mix-blend-mode: lighten;
  z-index: 1;
}

.is-ie .p-case__item .c-grid-04::after {
  display: none;
}

.p-case__item .c-grid-07 figure {
  position: relative;
}

.p-case__item .c-grid-07 figure::before,.p-case__item .c-grid-07 figure::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-case__item .c-grid-07 figure::before {
  background-color: #302d39;
  opacity: .1;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  z-index: 2;
}

.p-case__item .c-grid-07 figure::after {
  background-color: #283641;
  mix-blend-mode: lighten;
  z-index: 1;
}

.is-ie .p-case__item .c-grid-07 figure::after {
  display: none;
}

.p-case__item:hover .c-grid-04::before {
  opacity: .3;
}

.p-case__item:hover .c-grid-07 figure::before {
  opacity: .3;
}

.p-case__item:hover .p-case__title .category,.p-case__item:hover .p-case__title .name {
  letter-spacing: calc(400em / 1000);
}

.p-case__item:hover .p-case__title .en {
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.p-case__item:hover .p-case__title .ja {
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.p-case__item:first-child {
  margin-top: 0;
}

.p-case__item img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-filter: saturate(85%);
  filter: saturate(85%);
}

.is-ie .p-case__item img {
  -webkit-filter: none;
  filter: none;
}

.p-case__title {
  margin-top: 13px;
  line-height: 2.21429;
}

.p-case__title span {
  display: block;
}

.p-case__title .category,.p-case__title .name {
  font-weight: bold;
  letter-spacing: calc(320em / 1000);
  -webkit-transition: letter-spacing .4s ease;
  transition: letter-spacing .4s ease;
}

.p-case__title .category {
  margin-bottom: 3px;
}

.p-case__title .name {
  margin-bottom: 4px;
  font-size: 2rem;
  line-height: 1.55;
}

.p-case__title .owner {
  letter-spacing: calc(300em / 1000);
  line-height: 2;
}

.p-case__text {
  color: #413f48;
  text-align: justify;
  letter-spacing: calc(200em / 1000);
}

.p-case__more {
  margin-top: 140px;
}

.p-case__more .c-more__rect::after {
  -webkit-transition: width 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: width 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.p-case__more:hover .c-more__rect::after {
  width: 224px;
}

#company .p-company-mission__movie,#company-en .p-company-mission__movie {
  margin: 0 auto 0;
}

#company .p-company-mission__movie.is-thumb::after,#company-en .p-company-mission__movie.is-thumb::after {
  top: calc(50% - 35px);
  left: calc(50% - 40px);
  width: 88px;
  height: 72px;
}

#company .p-company-mission__movie__title,#company-en .p-company-mission__movie__title {
  display: block;
  position: absolute;
  left: 0;
  right: -.9rem;
  bottom: 28.8%;
  margin: auto;
  color: #ffffff;
  text-align: center;
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.8rem;
  letter-spacing: .38em;
  -webkit-transform: none;
  transform: none;
}

#company .p-company-value__head,#company-en .p-company-value__head {
  margin-top: 12.5%;
}

#company .p-company-value__accordion:not(:last-child),#company-en .p-company-value__accordion:not(:last-child) {
  margin-bottom: 36px;
}

#company .p-company-value__accordion__item.is-open .p-company-value__accordion__bar::after,#company-en .p-company-value__accordion__item.is-open .p-company-value__accordion__bar::after {
  background: #413f48;
  -webkit-transition-delay: .2s;
  transition-delay: .2s;
}

#company .p-company-value__accordion__title,#company-en .p-company-value__accordion__title {
  font-size: 2.6rem;
  letter-spacing: 0.28em;
}

#company .p-company-value__accordion__title--en,#company-en .p-company-value__accordion__title--en {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
}

#company .p-company-value__accordion__title--en .inner,#company-en .p-company-value__accordion__title--en .inner {
  margin: -0.5em 0;
  line-height: 1.5;
}

#company .p-company-value__accordion__num,#company-en .p-company-value__accordion__num {
  display: block;
  font-size: 3.2rem;
  letter-spacing: 0.16em;
  -webkit-transform: none;
  transform: none;
}

#company .p-company-value__accordion__text,#company-en .p-company-value__accordion__text {
  letter-spacing: .2em;
  text-align: justify;
}

#company .p-company-value__accordion__img img,#company-en .p-company-value__accordion__img img {
  width: 100%;
}

#company .p-company-value__accordion__bar,#company-en .p-company-value__accordion__bar {
  display: block;
  position: absolute;
  bottom: 36px;
  width: 72.53521126760563%;
  height: 2px;
  background: #413f48;
  z-index: 100;
}

#company .p-company-value__accordion__bar::after,#company-en .p-company-value__accordion__bar::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  width: 11.650485436893204%;
  height: 2px;
  background: #fff;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

#company .p-company-info,#company .p-company-outline,#company-en .p-company-info,#company-en .p-company-outline {
  position: relative;
}

#company .p-company-outline .p-company-table dl:not(:last-child),#company-en .p-company-outline .p-company-table dl:not(:last-child) {
  margin-bottom: 36px;
}

#company .p-company-outline .p-company-table--en dl:not(:last-child),#company-en .p-company-outline .p-company-table--en dl:not(:last-child) {
  margin-bottom: 28px;
}

#company .p-company-table,#company-en .p-company-table {
  letter-spacing: .2em;
}

#company .p-company-table dl dt,#company-en .p-company-table dl dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#company .p-company-table--en dl dt,#company-en .p-company-table--en dl dt {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.p-form {
  width: 100%;
  margin: 10.2% auto 0;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.p-form--wp-dl {
  background: none;
}

.p-form form {
  margin: auto;
}

.p-form__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-form--wp-dl .p-form__head,.p-form--wp .p-form__head {
  margin: auto;
  text-align: left;
}

.p-form__head__image {
  z-index: 10;
}

.p-form__head__image img {
  width: 100%;
}

.p-form__step {
  margin: 112px 0 25px;
}

.p-form__step ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-form__step__item {
  opacity: .6;
}

.p-form__step__item.is-current {
  opacity: 1;
}

.p-form__step__item:not(:last-child) {
  position: relative;
}

.p-form__step__item:not(:last-child)::after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 1px;
  margin: 0 23px 4px;
  background: #302d39;
}

.p-form__step__num {
  margin-right: 9px;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

.p-form--wp .p-form__step {
  margin-top: 52px;
}

.p-form__title {
  margin-bottom: 10px;
  margin-right: -0.36em;
  font-size: 4rem;
  letter-spacing: 0.36em;
  line-height: 1;
}

.p-form__title.f-bodoni {
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.p-form__text {
  text-align: center;
  line-height: 1.73;
}

.p-form__body {
  position: relative;
  padding: 144px 0 108px;
  background: #e6e3e0;
}

.p-form--wp-dl .p-form__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 216px;
  padding: 0;
  margin-top: -109px;
}

.l-wrapper--form-comfirm .p-form__body {
  padding-bottom: 72px;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row {
  border-bottom: 1px solid #afacae;
  margin-bottom: 0;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row.is-required::before {
  display: none;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--btns {
  border-bottom: 0;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--2items {
  display: block;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--2items .p-form__item:first-child {
  border-bottom: 1px solid #afacae;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--birthday {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--birthday .c-dropdown {
  display: inline-block;
  width: auto;
  padding-left: 0;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--birthday .c-dropdown__label {
  display: none;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--birthday .p-form__item {
  width: auto;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--birthday .p-form__item--has-child {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__item {
  width: 100%;
  min-height: 71px;
  padding-top: 22px;
  padding-bottom: 21px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label {
  padding: 0;
  opacity: .8;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label + .c-dropdown {
  margin-top: 0;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label-floating-wrapper {
  padding-left: 156px;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label-floating-wrapper .p-form__floating-label {
  top: 29px;
  left: 0;
  font-size: 1.2rem;
  opacity: .8;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .c-dropdown {
  width: 100%;
  padding-left: 156px;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .c-dropdown__label {
  top: 29px;
  left: 0;
  font-size: 1.2rem;
  opacity: .8;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .c-dropdown::after {
  display: none;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .c-textarea::before,.l-wrapper--form-comfirm .p-form__body .p-form__block .c-textarea::after {
  display: none;
}

.p-form__dl-button.c-more {
  margin-top: -1px;
}

.p-form__dl-button.c-more .c-more__rect::after {
  bottom: calc(50% - 1px);
}

.p-form__top-bt.c-more {
  margin: 108px auto 0;
}

.p-form--complete .p-form__top-bt.c-more {
  margin: 113px auto 0;
}

.p-form__block:not(:last-child) {
  margin-bottom: 122px;
}

.p-form__block:nth-last-child(2) {
  margin-bottom: 81px;
}

.p-form__row:not(:last-child) {
  margin-bottom: 71px;
}

.p-form__row.is-required {
  position: relative;
}

.p-form__row.is-required::before {
  content: '*';
  display: block;
  position: absolute;
  top: 0;
  left: -33px;
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 2rem;
  line-height: 42px;
}

.p-form__row.is-error {
  color: #b72c21;
}

.p-form__row.is-error .p-form__err-message {
  opacity: 1;
}

.p-form__row.is-error input::-webkit-input-placeholder {
  color: #b72c21;
}

.p-form__row.is-error input:-ms-input-placeholder {
  color: #b72c21;
}

.p-form__row.is-error input::-ms-input-placeholder {
  color: #b72c21;
}

.p-form__row.is-error input::placeholder {
  color: #b72c21;
}

.p-form__item {
  position: relative;
  width: 100%;
}

.p-form__item--has-child {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-form__item__child {
  width: calc(50% - 4px);
}

.p-form__label {
  padding: 11px 0 12px;
  line-height: 1;
}

.p-form__label + .c-dropdown {
  margin-top: 10px;
}

.p-form__hidden-label {
  position: absolute;
  top: -11px;
  font-size: 1.2rem;
  line-height: 1;
  opacity: 0;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
}

.p-form__hidden-label.is-show {
  opacity: 0.6;
}

.p-form__floating-label {
  position: absolute;
  top: 11px;
  font-size: 1.4rem;
  line-height: 1;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  will-change: left,top,contents;
  pointer-events: none;
}

.p-form__label-floating-wrapper.is-float .p-form__floating-label {
  font-size: 1.2rem;
  top: -11px;
  opacity: 0.6;
}

.p-form__confirm-bt {
  height: 72px;
  margin: auto;
}

.p-form__confirm-bt:hover {
  letter-spacing: .16em;
}

.p-form__privacy-bt.c-more {
  margin: 0 auto 72px;
}

.p-form__privacy-bt.c-more .c-more__text {
  font-size: 1.4rem;
  letter-spacing: .2em;
}

.p-form__privacy-bt.c-more:hover .c-more__text {
  letter-spacing: .3em;
}

.p-form__reset-bt.c-more {
  margin: 69px auto 0;
}

.p-form__reset-bt.c-more:hover .c-more__text {
  letter-spacing: .6em;
}

.p-form__err-message {
  position: absolute;
  bottom: -22px;
  color: #b72c21;
  font-size: 1.1rem;
  line-height: 1;
  opacity: 0;
}

.p-form__caption {
  position: absolute;
  top: 17px;
  right: 26px;
  font-size: 1.1rem;
  line-height: 1;
}

.p-form__caption span {
  padding-right: 4px;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 2rem;
  vertical-align: text-top;
}

.p-form__confirm__item:nth-last-child(2) {
  margin-bottom: 72px;
}

.p-form__confirm__item dl dt {
  font-size: 1.2rem;
  opacity: .8;
}

.p-form__confirm__item dl dd {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-form__back-bt.c-more {
  margin: 69px auto 0;
}

.p-form__back-bt.c-more:hover .c-more__rect {
  letter-spacing: calc(900em / 1000);
}

.p-form__unit {
  position: absolute;
  top: 4px;
  right: 14px;
}

.p-news {
  position: relative;
  margin-top: 98px;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 108px;
  color: #413f48;
  text-align: justify;
  letter-spacing: calc(200em / 1000);
}

.p-news::after {
  display: block;
  position: absolute;
  top: -244px;
  right: 4.2%;
  left: 4.2%;
  bottom: 0;
  background-color: #e6e3e0;
  content: "";
  z-index: -1;
}

.p-news h3 {
  margin-bottom: 19px;
  color: #302d39;
  font-size: 2.6rem;
  line-height: 1.76923;
  letter-spacing: calc(600em / 1000);
}

.p-news h4 {
  margin-top: 99px;
  margin-bottom: 38px;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: calc(320em / 1000);
}

.p-news__text strong {
  font-weight: bold;
}

.p-news__text em {
  font-style: italic;
}

.p-news__text a {
  border-bottom: 1px solid #302d39;
}

.p-news ul,.p-news ol {
  margin-top: 61px;
}

.p-news ul li,.p-news ol li {
  position: relative;
  margin-top: 6px;
  padding-left: 46px;
}

.p-news ul li:before {
  display: block;
  position: absolute;
  top: 12px;
  left: 18px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #413f48;
  content: "";
}

.p-news ol {
  counter-reset: number;
}

.p-news ol li:before {
  display: block;
  position: absolute;
  top: -1px;
  left: 6px;
  width: 2em;
  font-family: "Bodoni URW", serif;
  font-size: 1.6rem;
  text-align: center;
  counter-increment: number;
  content: counter(number);
}

.p-news__table {
  margin-top: 70px;
}

.p-news__img,.p-news__movie {
  display: block;
  height: auto;
  margin-top: 104px;
}

.p-news__img img {
  width: 100%;
}

.p-news__map {
  height: 540px;
  margin-top: 36px;
}

.p-privacy {
  width: 100%;
  margin: 12.7% auto 0;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.p-privacy__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 151px;
}

.p-privacy__head__title {
  margin-bottom: 10px;
  margin-right: -0.36em;
  font-size: 4rem;
  letter-spacing: 0.36em;
  line-height: 1;
}

.p-privacy__head__title.f-bodoni {
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.p-privacy__head__text {
  margin-right: -.16em;
  line-height: 1.71429;
  letter-spacing: .16em;
}

.p-privacy__body {
  padding: 141px 0 103px;
  background: #e6e3e0;
  line-height: 1.57143;
}

.p-privacy__block {
  margin: 0 auto;
}

.p-privacy__block:not(:last-child) .p-privacy__text {
  margin: -1px 0 69px;
  padding-bottom: 69px;
  border-bottom: 1px solid #413f48;
}

.p-privacy__block ul,.p-privacy__block ol {
  letter-spacing: 0.04em;
}

.p-privacy__block ul li,.p-privacy__block ol li {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
}

.p-privacy__block ol {
  margin: 24px 0 21px;
  line-height: 2.1;
}

.p-privacy__block ol li .f-bodoni {
  padding: 0 24px 0 20px;
  font-size: 1.6rem;
  vertical-align: baseline;
}

.p-privacy__block ul {
  margin: 30px 0 27px;
  line-height: 1.56;
}

.p-privacy__block ul li {
  text-indent: -53px;
  padding-left: 53px;
}

.p-privacy__block ul li:not(:last-child) {
  margin-bottom: 13px;
}

.p-privacy__block ul span {
  padding: 0 24px 0 15px;
}

.p-privacy__heading {
  letter-spacing: .08em;
}

.p-privacy__heading.f-tsukugo {
  -webkit-font-smoothing: subpixel-antialiased;
}

.p-privacy__text {
  letter-spacing: .12em;
}

.p-privacy__text a {
  border-bottom: 1px solid #413f48;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
  cursor: default;
}

.p-privacy__text a:hover {
  opacity: .7;
}

.p-privacy__text a[href^="mailto:"] {
  cursor: pointer;
}

.p-privacy__caption {
  letter-spacing: .12em;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .c-more {
  float: none;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .c-more__rect {
  letter-spacing: 0.4em;
  line-height: 2;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .c-more__text {
  right: -0.2em;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .c-more:hover .c-more__rect {
  letter-spacing: calc(600em / 1000);
}

#recruit-interview .p-recruit-interview-section--02 {
  position: relative;
}

#recruit-interview .p-recruit-interview-section--02::after {
  display: block;
  position: absolute;
  top: 0;
  right: 4.2%;
  left: 4.2%;
  bottom: 0;
  background-color: #e6e3e0;
  content: "";
  z-index: -1;
}

#recruit-interview ~ .l-page-modals .l-modal-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}

.p-recruit-joblist-block__item {
  border-bottom: 2px solid #413f48;
}

.p-recruit-joblist-block__title {
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: uppercase;
  line-height: 1;
}

.p-recruit-joblist-block__subtitle {
  display: block;
  -webkit-font-smoothing: subpixel-antialiased !important;
}

.p-recruit-joblist-block__subtitle .f-tsukuaoldmin {
  -webkit-font-smoothing: subpixel-antialiased !important;
}

.p-recruit-joblist-block__text {
  letter-spacing: .02em;
}

.p-recruit-joblist-block__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-recruit-joblist-block__link--image {
  position: relative;
  background-color: #fff;
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out;
}

.p-recruit-joblist-block__link--image img {
  width: 100%;
}

.p-recruit-joblist-block__link--image:hover {
  opacity: .7;
}

.p-recruit-joblist-block__table {
  letter-spacing: .2em;
}

.p-recruit-joblist-block__table dl dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-recruit-joblist-block__table dl dd {
  letter-spacing: .2em;
}

.p-recruit-joblist-block__accordion {
  border-bottom: 0;
}

.p-recruit-joblist-block__accordion .c-accordion__title {
  padding: 0;
  text-align: center;
}

.p-recruit-joblist-block__accordion .c-accordion__title::before {
  content: 'MORE';
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-transition: letter-spacing .4s ease;
  transition: letter-spacing .4s ease;
}

.p-recruit-joblist-block__accordion::before {
  bottom: auto;
}

.p-recruit-joblist-block__accordion::after {
  bottom: auto;
}

.p-recruit-joblist-block__accordion:hover .c-accordion__title::before {
  letter-spacing: 1.2rem;
}

.p-recruit-joblist-block__accordion.is-open .c-accordion__title::before {
  content: 'CLOSE';
}

.p-recruit-news {
  margin: 140px auto 0;
}

.p-recruit-news h2 {
  margin-bottom: 8px;
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.p-recruit-news dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #413f48;
}

.p-recruit-news dl dt {
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.p-recruit-news dl dd {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.p-recruit-pages-section__text {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  line-height: 2;
  text-align: justify;
}

#recruit-philo .p-recruit-philo-section--03 .p-recruit-joblist-block__item {
  padding-bottom: 0;
}

#recruit-philo .p-recruit-philo-article__image img {
  width: 100%;
}

.p-recruit-sp-nav {
  margin: 160px 0;
  padding: 0 30px;
  letter-spacing: 0.08em;
  line-height: 1;
}

.p-recruit-sp-nav__top {
  display: block;
  margin: -9px 0 50px;
  font-size: 4.4rem;
}

.p-recruit-sp-nav ul {
  padding-left: 30px;
}

.p-recruit-sp-nav ul li {
  margin: -9px 0 46px;
  font-size: 3.2rem;
}

.p-recruit-sp-nav ul li > a {
  display: inline-block;
  position: relative;
}

.p-recruit-sp-nav ul li.is-current {
  pointer-events: none;
}

.p-recruit-sp-nav ul li.is-current > a::before {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #413f48;
}

#recruit-top .l-footer {
  margin-top: 160px;
}

#recruit-welf .p-recruit-welf-section--02 {
  position: relative;
}

#recruit-welf .p-recruit-welf-section--02::after {
  display: block;
  position: absolute;
  top: 0;
  right: 4.2%;
  left: 4.2%;
  bottom: 0;
  background-color: #e6e3e0;
  content: "";
  z-index: -1;
}

#recruit-welf ~ .l-page-modals .l-modal-container {
  height: 100%;
}

#recruit-welf ~ .l-page-modals .c-slider {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__image img {
  width: 100%;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__title h2 {
  margin-bottom: 20px;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__title p {
  border-bottom: 2px solid #413f48;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table {
  letter-spacing: .2em;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table dl dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-recruit-work-table__head {
  margin-top: 85px;
  margin-bottom: 38px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-top-section__intro > .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  margin-right: 0;
}

#recruit-work .p-recruit-work-section--02 .p-top-section.is-reverse .c-more {
  float: none;
}

#recruit-work .p-recruit-work-section--02 .p-top-section.is-reverse .c-more__rect {
  letter-spacing: 0.56em;
}

#recruit-work .p-recruit-work-section--02 .p-top-section.is-reverse .c-more:hover .c-more__rect {
  letter-spacing: calc(600em / 1000);
}

#recruit-work .p-recruit-work-table__head {
  letter-spacing: 0.32em;
  line-height: 1;
}

#recruit-work .p-recruit-work-table__body ul li::before {
  content: '・';
  display: inline-block;
  margin-right: 8px;
  padding: 0 15px;
}

.js-change-contents-item {
  display: none;
  opacity: 0;
}

.js-change-contents-item.is-visible {
  display: block;
  opacity: 1;
}

.p-service-pages-section__text {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  line-height: 2;
}

.p-service-pages-section .p-feature:nth-child(even) .p-feature__body::after {
  background: #d5dada;
}

.p-service-pages-section .p-service-case {
  margin-top: 11.613%;
  padding-left: 0;
  padding-right: 0;
}

.p-service-pages-section .p-service-case h2.l-wrapper__title {
  left: 0;
  margin-left: -10px;
}

.p-service-section .p-top-section__image img {
  position: relative;
  width: 120%;
  left: -10%;
}

.p-service-section .p-panel-sticky {
  pointer-events: all;
}

.p-service-section .p-panel-wrapper {
  z-index: 0;
}

.p-service-section--01 .p-top-section {
  margin-top: 0;
}

.p-service-section--03 .p-panel,.p-service-section--05 .p-panel {
  background: #d5dada;
}

#storelist .l-wrapper--storelist {
  position: static;
  min-height: 600px;
  margin-top: 56px;
  z-index: 10;
}

#storelist .l-wrapper--storelist + footer {
  position: relative;
  z-index: 5;
}

#storelist .c-nav-button {
  z-index: 301;
}

#storelist .p-header.is-index {
  z-index: 100;
  pointer-events: none;
}

#storelist .p-header.is-index .p-header__nav a::after {
  display: none;
}

#storelist h1.u-sp {
  position: absolute;
  top: 90px;
  left: 40px;
  margin-left: -0.48rem;
  font-size: 10.4rem;
  letter-spacing: 0.16em;
}

#storelist .l-nav {
  z-index: 300;
}

#storelist .js-change-contents-item {
  display: none;
  opacity: 0;
  -webkit-transition: opacity .3s ease-in .2s;
  transition: opacity .3s ease-in .2s;
}

#storelist .js-change-contents-item.is-visible {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
}

.p-storelist-search-modal,.p-storelist-menu-modal {
  position: fixed;
  left: 0;
  width: 100%;
  padding-right: 6.94444vw;
  padding-left: 6.94444vw;
  background: #fff;
  z-index: 1000;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  transition: transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s, -webkit-transform 0.2s cubic-bezier(0.54, 0.29, 0.79, 0.51) 0.2s;
  -webkit-transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.65, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}

.p-storelist-search-modal.is-open,.p-storelist-menu-modal.is-open {
  -webkit-transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  transform: translate(0, 0) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  pointer-events: all;
}

.p-storelist-search-modal.is-open > *,.p-storelist-menu-modal.is-open > * {
  opacity: 1;
  -webkit-transition-delay: .33s;
  transition-delay: .33s;
}

.p-storelist-search-modal > *,.p-storelist-menu-modal > * {
  opacity: 0;
  -webkit-transition: opacity .2s ease 0s;
  transition: opacity .2s ease 0s;
}

.p-storelist-search-modal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-top: -150px;
  padding-top: 72px;
  padding-bottom: 106px;
}

.p-storelist-search-modal input {
  height: 72px;
  padding: 18px 0;
  font-size: 4rem;
  border-width: 2px;
}

.p-storelist-search-modal input::-webkit-input-placeholder {
  color: #c0c0c3;
}

.p-storelist-search-modal input:-ms-input-placeholder {
  color: #c0c0c3;
}

.p-storelist-search-modal input::-ms-input-placeholder {
  color: #c0c0c3;
}

.p-storelist-search-modal input::placeholder {
  color: #c0c0c3;
}

.p-storelist-search-modal input:focus::-webkit-input-placeholder {
  color: #c0c0c3;
}

.p-storelist-search-modal input:focus:-ms-input-placeholder {
  color: #c0c0c3;
}

.p-storelist-search-modal input:focus::-ms-input-placeholder {
  color: #c0c0c3;
}

.p-storelist-search-modal input:focus::placeholder {
  color: #c0c0c3;
}

.p-storelist-menu-modal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: -43px;
  padding-top: 43px;
  padding-bottom: 46px;
}

.p-storelist-menu-modal .p-storelist-menu {
  margin-right: 8.858%;
}

.p-storelist-menu-modal .p-storelist-menu .p-header__nav {
  position: relative;
}

.p-storelist-menu-modal .p-storelist-menu .p-header__nav a::after {
  right: 2px;
  left: -22px;
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (1 - 1));
  height: 2px;
}

.p-storelist-menu-modal__main {
  position: relative;
}

.p-storelist-menu-modal__checked-result {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  -webkit-transition: height .3s ease;
  transition: height .3s ease;
}

.p-storelist-menu-modal__checked-result::before {
  content: '';
  display: block;
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  height: 18px;
  background-color: #fff;
}

.p-storelist-menu-modal__checked-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  width: 100%;
  margin-right: 8px;
  border-bottom: 2px solid #413f48;
  line-height: 1;
  -webkit-transition: height .3s ease;
  transition: height .3s ease;
}

.p-storelist-menu-modal__checked-items.is-show .p-storelist-menu-modal__checked-items__box .inner {
  max-height: 300px;
}

.p-storelist-menu-modal__checked-items.is-show .p-storelist-menu-modal__checked-items__box .p-storelist-menu-modal__checked-items__more {
  display: none;
}

.p-storelist-menu-modal__checked-items.is-show .p-storelist-menu-modal__checked-items__close {
  pointer-events: all;
  opacity: 1;
}

.p-storelist-menu-modal__checked-items.is-show .p-storelist-menu-modal__checked-items__close:hover {
  opacity: .5;
}

.p-storelist-menu-modal__checked-items.is-selected button::before {
  -webkit-animation: twinkle 3s ease 0s infinite;
  animation: twinkle 3s ease 0s infinite;
}

.p-storelist-menu-modal__checked-items__default-text {
  padding-left: 6px;
  padding-bottom: 7px;
  font-size: 12px;
  white-space: nowrap;
  line-height: 28px;
}

.p-storelist-menu-modal__checked-items__default-text.is-hidden {
  display: none;
}

.p-storelist-menu-modal__checked-items__box {
  position: relative;
  width: calc(100% - 33px);
  margin-top: 1px;
  font-size: 0;
}

.p-storelist-menu-modal__checked-items__box .inner {
  display: inline-block;
  position: relative;
  max-height: 34px;
  margin-right: -10px;
  overflow: hidden;
  -webkit-transition: max-height .3s ease;
  transition: max-height .3s ease;
}

.p-storelist-menu-modal__checked-items__box.is-full .p-storelist-menu-modal__checked-items__more {
  display: block;
}

.p-storelist-menu-modal__checked-items__result {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.p-storelist-menu-modal__checked-items__result button {
  display: block;
  position: relative;
  width: 100%;
  height: 36px;
  border-right: 2px solid transparent;
  border-bottom: 2px solid #413f48;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.p-storelist-menu-modal__checked-items__result button:hover {
  opacity: .7;
}

.p-storelist-menu-modal__checked-items__result button::before,.p-storelist-menu-modal__checked-items__result button::after {
  content: '';
  display: block;
  position: absolute;
}

.p-storelist-menu-modal__checked-items__result button::before {
  top: 0;
  left: 0;
  right: 100%;
  height: 100%;
  background-color: #fff;
}

.p-storelist-menu-modal__checked-items__result button::after {
  bottom: -5px;
  right: 1px;
  width: 2px;
  height: 11px;
  border-bottom: 2px solid transparent;
  border-right: 2px solid #413f48;
  -webkit-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

.p-storelist-menu-modal__checked-items__more {
  display: none;
  position: absolute;
  top: 0;
  right: -33px;
  padding-top: 17px;
  font-size: 11px;
  line-height: 1;
  background-color: #fff;
  z-index: 10;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.p-storelist-menu-modal__checked-items__more:hover {
  opacity: .5;
}

.p-storelist-menu-modal__checked-items__close {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 36px;
  height: 36px;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
  pointer-events: none;
}

.p-storelist-menu-modal__checked-items__close::after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 8px);
  width: 16px;
  height: 2px;
  background-color: #302d39;
}

.p-storelist-menu-modal__checked-items__num {
  margin-bottom: 8px;
  margin-right: 8px;
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 14px;
}

.p-storelist-menu-modal__checked-items__num > span {
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 20px;
  margin-right: 5px;
}

.p-storelist-menu-modal__checked-item {
  display: inline-block;
  position: relative;
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  max-width: 128px;
  height: 28px;
  margin-bottom: 24px;
  padding: 7px 26px 9px 10px;
  font-size: 12px;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-storelist-menu-modal__checked-item:not(:last-child) {
  margin-right: 8px;
}

.p-storelist-menu-modal__checked-item__word {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 10;
  -webkit-animation: itemAddedFade .2s ease 0s both;
  animation: itemAddedFade .2s ease 0s both;
}

.p-storelist-menu-modal__checked-item::before,.p-storelist-menu-modal__checked-item::after {
  content: '';
  display: block;
  position: absolute;
  top: 13px;
  right: 10px;
  width: 11px;
  height: 1px;
  background-color: #413f48;
  z-index: 10;
  -webkit-animation: itemAddedFade .2s ease 0s both;
  animation: itemAddedFade .2s ease 0s both;
}

.p-storelist-menu-modal__checked-item::before {
  -webkit-transform: rotate3d(0, 0, 1, 45deg);
  transform: rotate3d(0, 0, 1, 45deg);
}

.p-storelist-menu-modal__checked-item::after {
  -webkit-transform: rotate3d(0, 0, 1, -45deg);
  transform: rotate3d(0, 0, 1, -45deg);
}

.p-storelist-menu-modal__common-btns {
  letter-spacing: .24em;
}

.p-storelist-menu-modal__common-btns > a {
  display: block;
}

.p-storelist-menu-modal__check-btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-storelist-menu-modal__check-btn {
  display: block;
  margin-bottom: 17px;
  font-size: 0;
  cursor: pointer;
}

.p-storelist-menu-modal__check-btn input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  visibility: hidden;
}

.p-storelist-menu-modal__check-btn input:checked + span {
  background-color: #e6e3e0;
}

.p-storelist-menu-modal__check-btn span {
  display: inline-block;
  width: 164px;
  height: 36px;
  padding-top: 11px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  background-color: #f0f0f0;
  -webkit-transition: background-color .2s ease;
  transition: background-color .2s ease;
}

.p-storelist-menu-modal__check-btn:hover span {
  background-color: #efece9;
}

.p-storelist-menu-modal__close {
  position: absolute;
  right: 20px;
  top: 28px;
  display: block;
  width: 40px;
  height: 40px;
  padding: 10px;
  z-index: 1000;
  cursor: pointer;
}

.p-storelist-menu-modal__close::before,.p-storelist-menu-modal__close::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 20px;
  width: 100%;
  height: 1px;
  background-color: #302d39;
}

.p-storelist-menu-modal__close::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.p-storelist-menu-modal__close::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.p-storelist-search {
  padding-bottom: 77px;
}

.p-storelist-search__open {
  display: block;
  position: relative;
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (1 - 1));
  height: 30px;
  padding-bottom: 2px;
  pointer-events: all;
}

.p-storelist-search__open::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 16px;
  height: 16px;
  background: url("/cms/wp-content/themes/opefac2018/assets/image/icon_search.svg");
  background-size: cover;
}

.p-storelist-search__open::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #302d39;
  -webkit-transition: width .3s ease;
  transition: width .3s ease;
  -webkit-transform-origin: left;
  transform-origin: left;
}

.p-storelist-search__open:hover::after {
  width: 120%;
}

.p-storelist-menu {
  pointer-events: all;
}

.p-storelist-menu .p-header__nav--storelist li {
  margin-left: 22px;
  letter-spacing: 0.1em;
}

.p-storelist-menu .p-header__nav--storelist li.p-header__nav__headding {
  margin-left: 0;
  margin-bottom: 24px;
  letter-spacing: 0.4em;
}

.p-storelist-menu .p-header__nav--storelist li + .p-header__nav__headding {
  margin-top: 43px;
}

.p-storelist-menu .p-header__nav--storelist li + li {
  margin-top: 14px;
}

.p-storelist-menu .p-header__nav--storelist li a:hover {
  letter-spacing: .42em;
}

.p-storelist-main {
  position: relative;
  pointer-events: none;
  margin-top: -127px;
}

.p-storelist-main:before {
  display: block;
  position: absolute;
  top: 276px;
  right: -3.226%;
  left: -3.226%;
  bottom: -108px;
  background-color: #e6e3e0;
  content: "";
  z-index: -1;
}

.p-top-access__image {
  width: 100%;
  height: 100%;
}

.p-top-access__gmap {
  background-color: #ccc;
  pointer-events: all;
}

.p-top-access-nav {
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 2rem;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: calc(600em / 1000);
  white-space: nowrap;
}

.p-top-access-nav .u-hover {
  position: relative;
  pointer-events: auto;
}

.p-top-access-nav .u-hover:after {
  display: block;
  position: absolute;
  bottom: -7px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #302d39;
  content: "";
  -webkit-transform-origin: 101% 0;
  transform-origin: 101% 0;
  -webkit-transform: scale3d(0, 1, 1);
  transform: scale3d(0, 1, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.p-top-access-nav .u-hover:hover,.p-top-access-nav .u-hover:focus {
  letter-spacing: calc(700em / 1000);
}

.p-top-access-nav .is-active {
  cursor: default;
  pointer-events: none;
}

.p-top-access-nav .is-active:after {
  -webkit-transform: scale3d(1.01, 1, 1);
  transform: scale3d(1.01, 1, 1);
}

.p-top-access-nav--inverse .u-hover {
  pointer-events: none;
  color: #fff;
}

.p-top-access-nav--inverse .u-hover:after {
  background-color: #fff;
}

.p-top-access-nav--inverse .u-hover:hover,.p-top-access-nav--inverse .u-hover:focus {
  letter-spacing: calc(600em / 1000);
}

.p-top-access-nav--inverse .u-hover.is-hover,.p-top-access-nav--inverse .u-hover.is-focus {
  letter-spacing: calc(700em / 1000);
}

.p-top-access-nav--inverse .u-hover.is-active {
  cursor: default;
  pointer-events: none;
}

.p-top-access-nav--inverse .u-hover.is-active::after {
  -webkit-transform: scale3d(1.01, 1, 1);
  transform: scale3d(1.01, 1, 1);
}

.p-top-intro__header {
  position: relative;
  width: 100%;
}

.p-top-intro__image {
  display: block;
  position: relative;
  z-index: 1;
}

.p-top-intro__image .c-more {
  width: 220px;
  position: absolute;
  top: 65px;
  left: 55px;
  margin-top: 0;
  color: #fff;
  z-index: 1;
}

.p-top-intro__image .c-more__rect::after {
  background-color: #fff;
}

.p-top-intro__image .u-rellax-image {
  margin-top: -10%;
}

.p-top-intro__image img {
  width: 100%;
  height: auto;
}

.p-top-intro__image video {
  width: 100%;
  height: auto;
}

.p-top-intro__title {
  z-index: 0;
}

.p-top-intro__lead {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.p-top-intro__copy {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  white-space: nowrap;
  text-align: justify;
  text-justify: inter-ideograph;
}

.p-top-intro__copy--en {
  font-family: "adobe-garamond-pro", serif;
  font-style: normal;
  font-weight: 400;
}

.p-top-intro__text {
  margin-top: 20px;
  color: #413f48;
  letter-spacing: calc(250em / 1000);
  text-align: justify;
  text-justify: inter-ideograph;
}

.p-top-intro-title {
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 0.92;
  text-align: right;
  text-transform: uppercase;
}

.p-top-intro-title__shift {
  display: block;
}

.p-top-intro-title--inverse {
  color: #fff;
}

.p-top-modal .l-modal__movie iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.p-top-section {
  margin-top: 14.4%;
}

.p-top-section.is-reverse .c-more {
  float: right;
}

.p-top-section.is-reverse .p-top-section__image {
  margin-right: auto;
  margin-left: 0;
}

.p-top-section.is-reverse .c-grid-06,.p-top-section.is-reverse .c-grid-02 {
  margin-left: auto;
}

.p-top-section--service {
  margin-top: 14.7%;
}

#en-top .p-top-section--service {
  margin-top: 16.9%;
}

.p-top-section--service .sticky-trigger {
  position: relative;
  left: 0;
}

.p-top-section--access .p-top-section__image {
  z-index: 0;
}

.p-top-section--store-operation .p-top-section__panel {
  top: auto;
}

.p-top-section--case .p-top-section__panel {
  top: auto;
}

.p-top-section__intro {
  position: relative;
  z-index: 1;
}

.p-top-section__intro .c-grid-02 {
  margin-top: 20px;
}

.p-top-section__image {
  position: relative;
  margin-left: auto;
  z-index: 1;
  pointer-events: none;
}

.p-top-section__image .u-rellax-image {
  margin-top: -10%;
}

.p-top-section__image picture,.p-top-section__image img {
  width: 100%;
  height: auto;
}

.p-top-section__panel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

.p-top-section__title {
  position: relative;
  z-index: 0;
}

.p-top-section__lead--white {
  color: #fff;
  z-index: 10;
}

.p-top-section__lead--abs {
  position: absolute;
}

.p-top-section-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.p-top-service__content {
  position: relative;
  margin-left: auto;
  z-index: 10;
}

.p-top-service__case {
  position: relative;
  z-index: 3;
}

.p-top-service__case:nth-child(n + 2) {
  margin-top: 13.8%;
}

.p-top-service__case img {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-filter: saturate(85%);
  filter: saturate(85%);
}

.is-ie .p-top-service__case img {
  -webkit-filter: none;
  filter: none;
}

.p-top-service__case .c-grid-04,.p-top-service__case .c-grid-07 {
  position: relative;
}

.p-top-service__case .c-grid-04::before,.p-top-service__case .c-grid-04::after,.p-top-service__case .c-grid-07::before,.p-top-service__case .c-grid-07::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-top-service__case .c-grid-04::before,.p-top-service__case .c-grid-07::before {
  background-color: #302d39;
  opacity: .1;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
  z-index: 2;
}

.p-top-service__case .c-grid-04::after,.p-top-service__case .c-grid-07::after {
  background-color: #283641;
  mix-blend-mode: lighten;
  z-index: 1;
}

.is-ie .p-top-service__case .c-grid-04::after,.is-ie .p-top-service__case .c-grid-07::after {
  display: none;
}

.p-top-service__case .c-grid-04 {
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
}

.p-top-service__case .c-grid-07 {
  margin-left: auto;
}

.p-top-service__case a:hover .c-grid-04::before,.p-top-service__case a:hover .c-grid-07::before {
  opacity: .3;
}

.p-top-service__case a:hover .p-top-service__caption .en {
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.p-top-service__case a:hover .p-top-service__caption .ja {
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.p-top-service__case--caption-bottom .c-grid-07::before,.p-top-service__case--caption-bottom .c-grid-07::after {
  display: none;
}

.p-top-service__case--caption-bottom .c-grid-07 picture {
  display: block;
  position: relative;
}

.p-top-service__case--caption-bottom .c-grid-07 picture::before,.p-top-service__case--caption-bottom .c-grid-07 picture::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-top-service__case--caption-bottom .c-grid-07 picture::before {
  background-color: #302d39;
  opacity: .1;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
  z-index: 2;
}

.p-top-service__case--caption-bottom .c-grid-07 picture::after {
  background-color: #283641;
  mix-blend-mode: lighten;
  z-index: 1;
}

.is-ie .p-top-service__case--caption-bottom .c-grid-07 picture::after {
  display: none;
}

.p-top-service__case--caption-bottom a:hover .c-grid-07 picture::before {
  opacity: .3;
}

.p-top-service__caption figcaption {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #413f48;
}

.p-top-service__caption figcaption span {
  display: block;
}

.p-top-service__caption figcaption .ja {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  display: block;
  font-weight: bold;
}

.p-top-service__caption figcaption .en {
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  font-weight: normal;
}

.p-top-service__images figure {
  display: block;
  position: relative;
  z-index: 90;
}

.p-top-service__images figure img {
  display: block;
  -webkit-filter: saturate(85%);
  filter: saturate(85%);
}

.is-ie .p-top-service__images figure img {
  -webkit-filter: none;
  filter: none;
}

.p-top-service__images figure::before,.p-top-service__images figure::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-top-service__images figure::before {
  background-color: #302d39;
  opacity: .1;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
  z-index: 2;
}

.p-top-service__images figure::after {
  background-color: #283641;
  mix-blend-mode: lighten;
  z-index: 1;
}

.is-ie .p-top-service__images figure::after {
  display: none;
}

.p-top-service__images .c-grid img {
  width: 100%;
  height: auto;
}

.p-top-service__images .c-grid:hover figure::before {
  opacity: .5;
}

.p-top-service__images .c-grid .p-top-service-image-caption {
  z-index: 100;
}

.p-top-service__images .c-grid .p-top-service-image-caption__en {
  position: absolute;
  bottom: -13.5%;
  right: -35px;
  text-align: right;
}

.p-top-service__more .c-more__rect::after {
  -webkit-transition: width 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: width 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.p-top-service__more:hover .c-more__rect::after {
  width: 212px;
}

.p-top-service-image-caption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.p-top-service-image-caption__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
}

.p-top-service-image-caption__container-inner {
  width: 100%;
}

.p-top-service-image-caption__type {
  font-family: 'ゴシックMB101 B', 'Gothic MB101 Bold', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 1.4rem;
  line-height: 2.21429;
  letter-spacing: calc(320em/1000);
}

.p-top-service-image-caption__ja {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
  font-size: 1.8rem;
  line-height: 1.45278;
  letter-spacing: calc(180em/1000);
}

.p-top-service-image-caption__en {
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 8rem;
  line-height: 1;
  letter-spacing: calc(100em/1000 * 0.92);
  color: #1e2a34;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
  text-align: right;
}

.p-top-service-image-caption__en--white {
  opacity: 0;
  color: #fff;
}

.p-top-service-image-caption__en--white.is-hover {
  opacity: 1;
}

.f-yakuhan {
  font-family: YakuHanJPs, sans-serif;
}

.f-copperplate {
  font-family: 'copperplate', sans-serif;
  font-weight: 700;
}

.f-bodoni {
  -webkit-transform: scaleX(0.92);
  transform: scaleX(0.92);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  font-family: 'ltc-bodoni-175', serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.f-futura {
  font-family: 'futura-pt', sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.f-tsukuaoldmin {
  font-family: 'FOT-筑紫Aオールド明朝 Pr6 D', 'TsukuAOldMinPr6-D', serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.f-tsukugo {
  font-family: 'FOT-筑紫ゴシック Pr5 D', 'TsukuGoPr5-D', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: unset;
}

.f-garamond {
  font-family: "adobe-garamond-pro", serif;
  font-style: normal;
  font-weight: 400;
}

.u-group:after {
  display: table;
  clear: both;
  content: "";
}

.u-link-block {
  display: block;
}

.u-hover {
  -webkit-transition: letter-spacing .4s ease;
  transition: letter-spacing .4s ease;
}

.u-svg {
  display: none;
}

.u-sronly {
  display: inline-block;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}

a:hover .u-opacity.is-inner,a:focus .u-opacity.is-inner,a:active .u-opacity.is-inner {
  opacity: .6;
}

.u-opacity {
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.u-inView {
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.25);
}

.u-inView > img {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.77, 0, 0.175, 1);
  transition: -webkit-transform 1s cubic-bezier(0.77, 0, 0.175, 1);
  transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
  transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 1s cubic-bezier(0.77, 0, 0.175, 1);
}

.u-inView.is-show > img {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.u-parallax-wrap {
  overflow: hidden;
}

.u-parallax {
  overflow: hidden;
}

.u-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.u-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.u-letter-trans > span {
  overflow: hidden;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.u-letter-trans > span > span {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -webkit-transition: -webkit-transform 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: -webkit-transform 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 2s cubic-bezier(0.455, 0.03, 0.515, 0.955), -webkit-transform 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.u-letter-trans.is-show > span > span {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.u-letter-trans.is-show > span > span:nth-child(1) {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.u-letter-trans.is-show > span > span:nth-child(2) {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.u-letter-trans.is-show > span > span:nth-child(3) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.u-letter-trans.is-show > span > span:nth-child(4) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.u-letter-trans.is-show > span > span:nth-child(5) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.u-letter-trans.is-show > span > span:nth-child(6) {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.u-letter-trans.is-show > span > span:nth-child(7) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.u-letter-trans.is-show > span > span:nth-child(8) {
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.u-letter-trans.is-show > span > span:nth-child(9) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.u-letter-trans.is-show > span > span:nth-child(10) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.u-letter-trans.is-show > span > span:nth-child(11) {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.u-letter-trans.is-show > span > span:nth-child(12) {
  -webkit-transition-delay: 0.55s;
  transition-delay: 0.55s;
}

.u-letter-trans.is-show > span > span:nth-child(13) {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.u-letter-trans.is-show > span > span:nth-child(14) {
  -webkit-transition-delay: 0.65s;
  transition-delay: 0.65s;
}

.u-letter-trans.is-show > span > span:nth-child(15) {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.u-letter-trans.is-show > span > span:nth-child(16) {
  -webkit-transition-delay: 0.75s;
  transition-delay: 0.75s;
}

.u-letter-trans.is-show > span > span:nth-child(17) {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.u-letter-trans.is-show > span > span:nth-child(18) {
  -webkit-transition-delay: 0.85s;
  transition-delay: 0.85s;
}

.u-letter-trans.is-show > span > span:nth-child(19) {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.u-letter-trans.is-show > span > span:nth-child(20) {
  -webkit-transition-delay: 0.95s;
  transition-delay: 0.95s;
}

.u-letter-trans.is-show > span > span:nth-child(21) {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.u-letter-trans.is-show > span > span:nth-child(22) {
  -webkit-transition-delay: 1.05s;
  transition-delay: 1.05s;
}

.u-letter-trans.is-show > span > span:nth-child(23) {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

.u-letter-trans.is-show > span > span:nth-child(24) {
  -webkit-transition-delay: 1.15s;
  transition-delay: 1.15s;
}

.u-letter-trans.is-show > span > span:nth-child(25) {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.u-letter-trans.is-show > span > span:nth-child(26) {
  -webkit-transition-delay: 1.25s;
  transition-delay: 1.25s;
}

.u-letter-trans.is-show > span > span:nth-child(27) {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s;
}

.u-letter-trans.is-show > span > span:nth-child(28) {
  -webkit-transition-delay: 1.35s;
  transition-delay: 1.35s;
}

.u-letter-trans.is-show > span > span:nth-child(29) {
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s;
}

.u-letter-trans.is-show > span > span:nth-child(30) {
  -webkit-transition-delay: 1.45s;
  transition-delay: 1.45s;
}

.u-letter-trans.is-show > span > span:nth-child(31) {
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s;
}

.u-letter-trans.is-show > span > span:nth-child(32) {
  -webkit-transition-delay: 1.55s;
  transition-delay: 1.55s;
}

.u-letter-trans.is-show > span > span:nth-child(33) {
  -webkit-transition-delay: 1.6s;
  transition-delay: 1.6s;
}

.u-letter-trans.is-show > span > span:nth-child(34) {
  -webkit-transition-delay: 1.65s;
  transition-delay: 1.65s;
}

.u-letter-trans.is-show > span > span:nth-child(35) {
  -webkit-transition-delay: 1.7s;
  transition-delay: 1.7s;
}

.u-letter-trans.is-show > span > span:nth-child(36) {
  -webkit-transition-delay: 1.75s;
  transition-delay: 1.75s;
}

.u-letter-trans.is-show > span > span:nth-child(37) {
  -webkit-transition-delay: 1.8s;
  transition-delay: 1.8s;
}

.u-letter-trans.is-show > span > span:nth-child(38) {
  -webkit-transition-delay: 1.85s;
  transition-delay: 1.85s;
}

.u-letter-trans.is-show > span > span:nth-child(39) {
  -webkit-transition-delay: 1.9s;
  transition-delay: 1.9s;
}

.u-letter-trans.is-show > span > span:nth-child(40) {
  -webkit-transition-delay: 1.95s;
  transition-delay: 1.95s;
}

.u-letter-trans.is-show > span > span:nth-child(41) {
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}

.u-letter-trans.is-show > span > span:nth-child(42) {
  -webkit-transition-delay: 2.05s;
  transition-delay: 2.05s;
}

.u-letter-trans.is-show > span > span:nth-child(43) {
  -webkit-transition-delay: 2.1s;
  transition-delay: 2.1s;
}

.u-letter-trans.is-show > span > span:nth-child(44) {
  -webkit-transition-delay: 2.15s;
  transition-delay: 2.15s;
}

.u-letter-trans.is-show > span > span:nth-child(45) {
  -webkit-transition-delay: 2.2s;
  transition-delay: 2.2s;
}

.u-letter-trans.is-show > span > span:nth-child(46) {
  -webkit-transition-delay: 2.25s;
  transition-delay: 2.25s;
}

.u-letter-trans.is-show > span > span:nth-child(47) {
  -webkit-transition-delay: 2.3s;
  transition-delay: 2.3s;
}

.u-letter-trans.is-show > span > span:nth-child(48) {
  -webkit-transition-delay: 2.35s;
  transition-delay: 2.35s;
}

.u-letter-trans.is-show > span > span:nth-child(49) {
  -webkit-transition-delay: 2.4s;
  transition-delay: 2.4s;
}

.u-letter-trans.is-show > span > span:nth-child(50) {
  -webkit-transition-delay: 2.45s;
  transition-delay: 2.45s;
}

.u-letter-trans.is-show > span > span:nth-child(51) {
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s;
}

.u-reflow {
  -webkit-animation: force-reflow 1s infinite;
  animation: force-reflow 1s infinite;
}

.u-pointer-none {
  pointer-events: none;
}

.u-pointer-auto {
  pointer-events: auto;
}

.u-width100 {
  width: 100%;
}

.u-rellax-wrapper {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.u-rellax-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (orientation: landscape) {
  body {
    width: 100%;
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media (min-width: 769px) {
  body {
    min-width: 1280px;
  }

  .l-footer {
    margin-top: 226px;
    padding-bottom: 110px;
  }

  .l-footer__sns {
    margin-top: 147px;
  }

  .l-footer__row.is-one-item .l-footer__ci svg {
    margin-left: 0;
  }

  .l-footer__ci svg {
    margin-left: -36px;
    margin-right: 20px;
  }

  .l-footer__link .u-hover {
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
  }

  .l-footer__link .u-hover:hover {
    letter-spacing: calc(240em / 1000);
  }

  .l-footer__panel {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    bottom: 102px;
    left: -420px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  .l-header__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 4px;
  }

  .l-modal .c-nav-button {
    top: 37px;
    right: 19px;
  }

  .l-modal__header {
    padding-top: 36px;
  }

  .l-nav__inner {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .l-nav__inner2 {
    text-align: center;
  }

  .l-nav .c-global-menu {
    margin-top: 70px;
  }

  .l-nav__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 266px;
  }

  .l-nav__sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .l-nav__sns li + li {
    margin-left: 60px;
  }

  .l-nav__sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .l-nav__sub li {
    width: 180px;
    text-align: center;
    letter-spacing: calc(80em / 1000);
  }

  .l-nav__sub li .u-hover {
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
  }

  .l-nav__sub li .u-hover:hover {
    letter-spacing: calc(240em / 1000);
  }

  .l-nav__sub li:nth-child(1) {
    margin-left: 73px;
  }

  .l-nav__sub li:nth-child(2) {
    margin-left: -30px;
  }

  .l-top-panel {
    margin-top: -2.43%;
  }

  .l-top-panel .p-panel__inner {
    padding-top: 24.62%;
    padding-bottom: 8%;
  }

  .l-top-panel .p-panel__nav-trigger {
    position: relative;
    top: 120px;
  }

  .l-wrapper {
    padding-right: 6.94444vw;
    padding-left: 6.94444vw;
  }

  .l-wrapper--form {
    padding-right: 4.16664vw;
    padding-left: 4.16664vw;
  }

  #error .l-wrapper p {
    margin-left: -2px;
  }

  .c-accordion {
    height: 70px;
    overflow: hidden;
  }

  .c-accordion::before {
    bottom: 19px;
    right: 14px;
    width: 16px;
    height: 2px;
  }

  .c-accordion::after {
    bottom: 12px;
    right: 21px;
    width: 2px;
    height: 16px;
  }

  .c-accordion__title {
    padding: 37px 0 19px;
  }

  .c-accordion.is-open {
    padding-bottom: 38px;
  }

  .c-button {
    font-size: 1.6rem;
  }

  .c-card__title {
    min-width: 200px;
    padding-bottom: 11px;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.2em;
  }

  .c-card__category {
    font-size: 1.3rem;
  }

  .c-card__date {
    font-size: 1.3rem;
  }

  .c-card__name {
    padding-top: 18px;
    font-size: 1.2rem;
    letter-spacing: calc(200em / 1000);
  }

  .images .c-card.image {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: -webkit-transform 3.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: -webkit-transform 3.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: transform 3.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: transform 3.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 3.5s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .images .c-card.image:nth-child(2) {
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
  }

  .images .c-card.image:nth-child(3) {
    -webkit-transition-delay: .4s;
    transition-delay: .4s;
  }

  .images .c-card.image:nth-child(n + 4) {
    -webkit-transition-delay: .6s;
    transition-delay: .6s;
  }

  .images .c-card.image:nth-child(n + 7) {
    -webkit-transition-delay: .8s;
    transition-delay: .8s;
  }

  .images .c-card.image:nth-child(n + 10) {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
  }

  .images.is-hide .c-card.image {
    -webkit-transform: translateY(400px);
    transform: translateY(400px);
  }

  .c-card--welf .c-card__title {
    position: relative;
    border-bottom: 0;
    padding-bottom: 13px;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-font-smoothing: subpixel-antialiased !important;
  }

  .c-card--welf .c-card__title .f-tsukuaoldmin {
    -webkit-font-smoothing: subpixel-antialiased !important;
  }

  .c-card--welf .c-card__title::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 212px;
    height: 2px;
    background-color: #fff;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  .c-card--welf:hover .c-card__title {
    letter-spacing: calc(380em / 1000);
  }

  .c-card--interview:hover .c-card__title {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    letter-spacing: calc(380em / 1000);
  }

  .c-card--interview:hover .c-card__name {
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    letter-spacing: calc(380em / 1000);
  }

  .images .c-card--storelist.image {
    -webkit-transform: translateY(300px);
    transform: translateY(300px);
  }

  .is-ie .images .c-card--storelist.image {
    -webkit-transform: none;
    transform: none;
  }

  .images.is-show .c-card--storelist.image {
    -webkit-animation: slideUp 3s cubic-bezier(0.23, 1, 0.32, 1) 1s both;
    animation: slideUp 3s cubic-bezier(0.23, 1, 0.32, 1) 1s both;
  }@  -webkit-keyframes slideUp {
    0% {-webkit-transform: translateY(300);
    transform: translateY(300);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideUp {
  0% {
    -webkit-transform: translateY(300);
    transform: translateY(300);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.images.is-show .c-card--storelist.image:nth-child(2) {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.images.is-show .c-card--storelist.image:nth-child(3) {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.images.is-show .c-card--storelist.image:nth-child(n + 4) {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

.images.is-show .c-card--storelist.image:nth-child(n + 7) {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.images.is-show .c-card--storelist.image:nth-child(n + 19) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.images .c-card--news.image {
  -webkit-transform: translateY(300px);
  transform: translateY(300px);
}

.is-ie .images .c-card--news.image {
  -webkit-transform: none;
  transform: none;
}

.images.is-show .c-card--news.image {
  -webkit-animation: slideUp 3s cubic-bezier(0.23, 1, 0.32, 1) 1s both;
  animation: slideUp 3s cubic-bezier(0.23, 1, 0.32, 1) 1s both;
}

@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(300);
    transform: translateY(300);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideUp {
  0% {
    -webkit-transform: translateY(300);
    transform: translateY(300);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.images.is-show .c-card--news.image:nth-child(2) {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.images.is-show .c-card--news.image:nth-child(3) {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.images.is-show .c-card--news.image:nth-child(n + 4) {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

.images.is-show .c-card--news.image:nth-child(n + 7) {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.images.is-show .c-card--news.image:nth-child(n + 19) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.c-global-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 1.6rem;
}

.c-global-menu__item {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6rem;
  width: 130px;
}

.c-global-menu__item:first-child {
  margin-left: 0 !important;
}

.c-global-menu__item:last-child {
  margin-right: 0 !important;
}

.c-global-menu__item a {
  color: #525058;
}

.c-grid.c-grid-01 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (1 - 1));
}

.c-grid.c-grid-02 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 2 + 8px * (2 - 1));
}

.c-grid.c-grid-03 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 3 + 8px * (3 - 1));
}

.c-grid.c-grid-04 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 4 + 8px * (4 - 1));
}

.c-grid.c-grid-05 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 5 + 8px * (5 - 1));
}

.c-grid.c-grid-06 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 6 + 8px * (6 - 1));
}

.c-grid.c-grid-07 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 7 + 8px * (7 - 1));
}

.c-grid.c-grid-08 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 8 + 8px * (8 - 1));
}

.c-grid.c-grid-09 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 9 + 8px * (9 - 1));
}

.c-grid.c-grid-10 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 10 + 8px * (10 - 1));
}

.c-grid.c-grid-11 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 11 + 8px * (11 - 1));
}

.c-grid.c-grid-12 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 12 + 8px * (12 - 1));
}

.c-fix-grid.c-fix-grid-01 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (1 - 1));
}

.c-fix-grid.c-fix-grid-02 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 2 + 8px * (2 - 1));
}

.c-fix-grid.c-fix-grid-03 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 3 + 8px * (3 - 1));
}

.c-fix-grid.c-fix-grid-04 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 4 + 8px * (4 - 1));
}

.c-fix-grid.c-fix-grid-05 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 5 + 8px * (5 - 1));
}

.c-fix-grid.c-fix-grid-06 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 6 + 8px * (6 - 1));
}

.c-fix-grid.c-fix-grid-07 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 7 + 8px * (7 - 1));
}

.c-fix-grid.c-fix-grid-08 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 8 + 8px * (8 - 1));
}

.c-fix-grid.c-fix-grid-09 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 9 + 8px * (9 - 1));
}

.c-fix-grid.c-grid-10 {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 10 + 8px * (10 - 1));
}

.c-fix-grid.c-fix-grid-11 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 11 + 8px * (11 - 1));
}

.c-fix-grid.c-fix-grid-12 {
  width: calc( ( (1440px - (6.94444vw * 2)) - (8px * 11) ) / 12 * 12 + 8px * (12 - 1));
}

.c-more {
  width: 200px;
}

.is-ie .c-more {
  width: 300px;
}

.c-more__text {
  font-size: 2rem;
  line-height: 2;
}

.c-more__rect.is-hover,.c-more:focus .c-more__rect,.c-more:hover .c-more__rect {
  letter-spacing: calc(700em / 1000);
}

.c-more__rect.is-hover::after,.c-more:focus .c-more__rect::after,.c-more:hover .c-more__rect::after {
  -webkit-transform: scaleX(0.2);
  transform: scaleX(0.2);
}

.c-more:focus .c-more__rect--left::after,.c-more:hover .c-more__rect--left::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.c-more__rect--left .c-more__text {
  margin-left: 10px;
}

.c-more__detail {
  padding-top: 19px;
  font-size: 1.6rem;
  line-height: 23px;
  letter-spacing: 0.2em;
}

.c-more--has-detail .c-more__rect {
  font-size: 2rem;
  line-height: 3;
}

.c-more--has-detail {
  margin-bottom: -46px;
  padding-bottom: 46px;
}

.c-nav-button::before {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}

.c-nav-button::after {
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
}

.c-nav-button.is-open:hover .c-nav-button__bar--1::before {
  -webkit-animation: hoverAnime01 .5s ease-in-out 0s 1;
  animation: hoverAnime01 .5s ease-in-out 0s 1;
}

.c-nav-button.is-open:hover .c-nav-button__bar--2::before {
  -webkit-animation: hoverAnime02 .5s ease-in-out .1s 1;
  animation: hoverAnime02 .5s ease-in-out .1s 1;
}

.c-nav-button.is-opening:hover .c-nav-button__bar--1::before,.c-nav-button.is-opening:hover .c-nav-button__bar--2::before {
  -webkit-animation: none;
  animation: none;
}

.c-nav-button.is-closing:hover::before,.c-nav-button.is-closing:hover::after {
  -webkit-animation: none;
  animation: none;
}

.c-nav-button:hover::before,.c-nav-button:hover::after {
  -webkit-animation: hoverAnime01 .4s ease-in-out 0s 1;
  animation: hoverAnime01 .4s ease-in-out 0s 1;
}

.c-nav-button:hover::after {
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
}

.c-section-title--recruit-entry {
  line-height: 1.07;
}

.c-section-title.is-small {
  margin-bottom: 16px;
  font-size: 8rem;
}

.c-section-title.is-right {
  margin-right: calc(-360em / 1000 * 0.92);
}

.c-section-title__sub {
  font-size: 4rem;
  line-height: 1.7;
}

.c-section-title.is-f-size-88 {
  margin-bottom: 9px;
  font-size: 8.8rem;
}

.c-section-title.is-f-size-88 .f-tsukuaoldmin {
  font-size: 9.2rem;
}

.c-section-title.is-ta-r {
  margin-right: -78px;
}

.c-section-title.is-ta-r .c-section-title__sub {
  margin-right: 23px;
}

.c-slider-button-next.swiper-button-next,.c-slider-button-prev.swiper-button-prev {
  width: 25px;
  height: 60px;
}

.c-table dl dt {
  min-width: 164px;
  margin-right: 20px;
}

.p-card-list .c-card:nth-child(n+4) {
  margin-top: 3.958333333333333vw;
}

.p-card-list--welf .c-card {
  margin-left: 5.282%;
}

.p-card-list--welf .c-card:nth-child(6n-2) {
  margin-left: 4.578%;
}

.p-card-list--interview > .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-card-list--interview > .inner:nth-child(2n) {
  margin-left: 4.578%;
}

.p-card-list--storelist .c-card:nth-child(n+4) {
  margin-top: 97px;
}

.p-feature__head .p-top-section__title {
  margin-bottom: 14px;
  margin-right: -42px;
}

.p-feature__head .p-top-section__intro .p-top-section__image {
  height: 37.5vw;
}

.p-feature__head .p-top-section__intro .p-top-section__panel {
  top: -74px;
}

.p-feature__body {
  margin-top: -72px;
  padding: 10.555555555vw 0 5vw;
}

.p-feature__text {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
}

.p-feature__case h3,.p-feature__lineup h3,.p-feature__point h3 {
  margin: -4px 0 32px 3px;
  font-size: 4rem;
}

.p-feature__point {
  margin-bottom: 5.069444444444445vw;
}

.p-feature__point__item.c-grid.c-grid-04 {
  width: auto;
}

.p-feature__point__img {
  margin-bottom: 31px;
}

.p-feature__point__title {
  font-size: 2rem;
}

.p-feature__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  margin-right: -8.4%;
}

.p-feature__list li:not(:last-child) {
  margin-right: 8px;
}

.p-feature__lineup__list ul li {
  width: calc(25% - (8px * 3 / 4));
  margin-bottom: 36px;
}

.p-feature__lineup__list ul li:nth-last-child(-n + 4) {
  margin-bottom: 0;
}

.p-feature__lineup__list ul li:not(:nth-child(4n)) {
  margin-right: 8px;
}

.p-feature__lineup__title {
  font-size: 1.8rem;
}

.p-feature__case {
  margin-top: 10vw;
}

.p-feature__case .c-more,.p-feature__case h3 {
  position: absolute;
  left: 0;
}

.p-feature__case h3 {
  top: 7px;
}

.p-feature__case .c-more {
  top: 76px;
}

.p-feature__case .c-more__text {
  right: -14px;
}

.p-header__nav.is-ja .u-hover:hover,.p-header__nav.is-ja .u-hover:focus {
  letter-spacing: calc(360em / 1000);
}

.p-header__nav.is-en .u-hover:hover,.p-header__nav.is-en .u-hover:focus {
  letter-spacing: calc(400em / 1000);
}

.p-header__image {
  margin-top: -2px;
}

.p-nav-button__bar {
  -webkit-transform: translate3d(200%, 0, 0);
  transform: translate3d(200%, 0, 0);
}

.p-nav-button__bar.p-nav-button__bar--1 {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
}

.is-open .p-nav-button .p-nav-button__bar.p-nav-button__bar--1 {
  -webkit-animation: bar1 .5s ease 0s 1 normal forwards;
  animation: bar1 .5s ease 0s 1 normal forwards;
}

.is-close .p-nav-button .p-nav-button__bar.p-nav-button__bar--1 {
  -webkit-animation: bar1-close .5s ease 0s 1 normal forwards;
  animation: bar1-close .5s ease 0s 1 normal forwards;
}

.p-nav-button__bar.p-nav-button__bar--2 {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

.no-delay .p-nav-button__bar.p-nav-button__bar--2 {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.is-open .p-nav-button .p-nav-button__bar.p-nav-button__bar--2 {
  -webkit-animation: bar2 .5s ease 0.1s 1 normal forwards;
  animation: bar2 .5s ease 0.1s 1 normal forwards;
}

.is-close .p-nav-button .p-nav-button__bar.p-nav-button__bar--2 {
  -webkit-animation: bar2-close .5s ease 0.1s 1 normal forwards;
  animation: bar2-close .5s ease 0.1s 1 normal forwards;
}

.p-panel-wrapper {
  padding: 0 4.1666vw;
}

.p-panel-sticky__title {
  padding: 10% 0 0 2.7777vw;
}

.p-panel-sticky__lead,.p-panel-sticky__detail {
  padding: 0 0 0 2.7777vw;
}

.p-panel-sticky__nav {
  margin-top: 25px;
  -webkit-transform: translateX(-200%);
  transform: translateX(-200%);
}

.p-panel-nav {
  padding-left: 2.7777vw;
}

.p-panel-nav .u-hover:hover,.p-panel-nav .u-hover:focus {
  letter-spacing: calc(320em / 1000);
}

.p-panel__inner {
  padding: 0 2.7777vw;
}

html:not(.is-ie) .trans-text.is-initial.p-top-intro-title {
  letter-spacing: calc(240em / 1000 * 3);
}

html:not(.is-ie) .trans-text.is-initial.top-intro-title-mask .p-top-intro-title {
  letter-spacing: calc(240em / 1000 * 3);
}

html:not(.is-ie) .trans-text.is-initial.p-top-intro__lead {
  letter-spacing: calc(600em / 1000 * 1.5);
}

html:not(.is-ie) .trans-text.is-initial.c-section-title {
  letter-spacing: calc(360em / 1000 * 0.92 * 3);
}

html:not(.is-ie) .trans-text.is-initial.c-section-lead {
  letter-spacing: calc(600em / 1000 * 1.5);
}

html:not(.is-ie) .trans-text.is-trans.p-top-intro-title {
  letter-spacing: calc(240em / 1000);
}

html:not(.is-ie) .trans-text.is-trans.top-intro-title-mask .p-top-intro-title {
  letter-spacing: calc(240em / 1000);
}

html:not(.is-ie) .trans-text.is-trans.p-top-intro__lead {
  letter-spacing: calc(600em / 1000);
}

html:not(.is-ie) .trans-text.is-trans.c-section-title {
  letter-spacing: calc(360em / 1000 * 0.92);
}

html:not(.is-ie) .trans-text.is-trans.c-section-lead {
  letter-spacing: calc(600em / 1000);
}

.p-case-detail__image .c-grid > div + div {
  margin-top: 8px;
}

.p-case-detail__media.is-media-push .c-grid-04 > h2 {
  margin-left: auto;
}

.p-case-detail__media.is-media-push .c-grid-04 > p {
  margin-left: auto;
}

.p-case-detail__info-item {
  margin-left: 0;
  margin-right: 6px;
}

.p-case-detail__info-project li:nth-child(n + 4) {
  margin-top: 28px;
}

.p-case__item .c-grid-04 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.p-case__item .c-grid-07 {
  position: relative;
  margin-left: auto;
}

.p-case__item:hover .p-case__title .en {
  letter-spacing: calc(200em / 1000 * 0.92);
}

.p-case__item:hover .p-case__title .ja {
  letter-spacing: calc(200em / 1000);
}

#case .p-case__item:first-child .images.is-show .image {
  -webkit-animation: slideUp 4s cubic-bezier(0.23, 1, 0.32, 1) 0s both;
  animation: slideUp 4s cubic-bezier(0.23, 1, 0.32, 1) 0s both;
}

@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(400);
    transform: translateY(400);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideUp {
  0% {
    -webkit-transform: translateY(400);
    transform: translateY(400);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

#case .p-case__item:first-child .images.is-show .image.c-grid-04 {
  -webkit-animation-delay: .8s;
  animation-delay: .8s;
}

.p-case__item:nth-child(even) .c-grid-04 {
  right: 0;
  left: auto;
}

.p-case__item:nth-child(even) .c-grid-07 {
  margin-right: auto;
  margin-left: 0;
}

.p-case__item:nth-child(even) .p-case__text {
  right: 11px;
  left: auto;
}

.p-case__item .images .image {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: -webkit-transform 4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 4s cubic-bezier(0.23, 1, 0.32, 1);
}

.p-case__item .images .image.c-grid-04 {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}

.p-case__item .images.is-hide .image {
  -webkit-transform: translateY(400px);
  transform: translateY(400px);
}

.p-case__text {
  position: absolute;
  top: 61.5%;
  left: 0;
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 2.5);
}

.p-case__more .c-more {
  width: 100%;
}

#company .p-company-section,#company-en .p-company-section {
  padding: 0 6.94444vw;
}

#company .p-company-section--main,#company-en .p-company-section--main {
  margin-bottom: 10.85%;
}

#company .p-company-section--main .p-top-section__title,#company-en .p-company-section--main .p-top-section__title {
  top: -31px;
}

#company .p-company-mission__text,#company-en .p-company-mission__text {
  width: 49.2%;
  max-width: 620px;
  margin-top: 0;
  margin-bottom: 104px;
}

#company .p-company-mission__text h2,#company-en .p-company-mission__text h2 {
  margin-bottom: 57px;
}

#company .p-company-value,#company-en .p-company-value {
  margin-bottom: 9.5%;
}

#company .p-company-value__head,#company-en .p-company-value__head {
  margin-bottom: 108px;
}

#company .p-company-value__head .p-top-section__title,#company-en .p-company-value__head .p-top-section__title {
  margin-top: -63px;
}

#company .p-company-value__body,#company-en .p-company-value__body {
  margin: 0 auto;
}

#company .p-company-value__accordion__item,#company-en .p-company-value__accordion__item {
  height: 216px;
  border-bottom: 0;
}

#company .p-company-value__accordion__item:not(:last-child),#company-en .p-company-value__accordion__item:not(:last-child) {
  margin-bottom: 36px;
}

#company .p-company-value__accordion__item.is-open .p-company-value__accordion__text,#company-en .p-company-value__accordion__item.is-open .p-company-value__accordion__text {
  opacity: 1;
}

#company .p-company-value__accordion__item::before,#company-en .p-company-value__accordion__item::before {
  bottom: 55px;
}

#company .p-company-value__accordion__item::after,#company-en .p-company-value__accordion__item::after {
  bottom: 48px;
}

#company .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__title,#company-en .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__title {
  padding: 14px 0 19px 41.2%;
}

#company .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__img,#company-en .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__img {
  left: 0;
}

#company .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__text,#company-en .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__text {
  width: 54.401408450704224%;
  margin-left: auto;
  margin-right: 4.6%;
}

#company .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__bar,#company-en .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__bar {
  right: 0;
}

#company .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__bar::after,#company-en .p-company-value__accordion__item:not(:nth-child(n + 5)) .p-company-value__accordion__bar::after {
  left: 0;
}

#company .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__item::before,#company-en .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__item::before {
  left: 60.73943661971831%;
}

#company .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__item::after,#company-en .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__item::after {
  left: calc(60.73943661971831% + 7px);
}

#company .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__title,#company-en .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__title {
  padding: 14px 41.2% 19px 4.3%;
}

#company .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__img,#company-en .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__img {
  right: 0;
}

#company .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__text,#company-en .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__text {
  width: 54.401408450704224%;
  margin-right: auto;
  margin-left: 4.6%;
}

#company .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__bar,#company-en .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__bar {
  left: 0;
}

#company .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__bar::after,#company-en .p-company-value__accordion__item:nth-child(n + 5) .p-company-value__accordion__bar::after {
  right: 0;
}

#company .p-company-value__accordion__content,#company-en .p-company-value__accordion__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
}

#company .p-company-value__accordion__text,#company-en .p-company-value__accordion__text {
  padding: 55px 0 0;
  opacity: 0;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
}

#company .p-company-value__accordion__img,#company-en .p-company-value__accordion__img {
  position: absolute;
  top: 0;
  width: 35.91549295774648%;
}

#company .p-company-info,#company .p-company-outline,#company-en .p-company-info,#company-en .p-company-outline {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#company .p-company-info,#company-en .p-company-info {
  margin-bottom: 8.9%;
}

#company .p-company-info .c-section-title,#company-en .p-company-info .c-section-title {
  position: absolute;
  top: 8.2%;
  left: 9.73%;
}

#company .p-company-info__body,#company-en .p-company-info__body {
  padding-left: 31.85483870967742%;
}

#company .p-company-info .p-company-table,#company-en .p-company-info .p-company-table {
  padding-left: 14.8%;
}

#company .p-company-info .p-company-table--en,#company-en .p-company-info .p-company-table--en {
  padding-left: 8.6%;
}

#company .p-company-info .p-company-table--en dl dt,#company-en .p-company-info .p-company-table--en dl dt {
  width: 196px;
  min-width: 196px;
}

#company .p-company-info--en,#company-en .p-company-info--en {
  margin-bottom: 5%;
}

#company .p-company-info--en .c-section-title,#company-en .p-company-info--en .c-section-title {
  margin: 35.5% 0 0 0;
}

#company .p-company-outline,#company-en .p-company-outline {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#company .p-company-outline .c-section-title,#company-en .p-company-outline .c-section-title {
  position: absolute;
  top: 20.66%;
  left: 0;
}

#company .p-company-outline__body,#company-en .p-company-outline__body {
  width: calc(100% - 660px);
  margin-right: 112px;
}

#company .p-company-outline__head,#company-en .p-company-outline__head {
  position: relative;
  min-width: 660px;
}

#company .p-company-outline .p-company-table,#company-en .p-company-outline .p-company-table {
  padding-left: 12.2%;
}

#company .p-company-outline .p-company-table--en dl dt,#company-en .p-company-outline .p-company-table--en dl dt {
  width: 142px;
  min-width: 142px;
}

#company .p-company-table dl,#company-en .p-company-table dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

#company .p-company-table dl:not(:last-child),#company-en .p-company-table dl:not(:last-child) {
  margin-bottom: 28px;
}

#company .p-company-table dl dt,#company-en .p-company-table dl dt {
  width: 145px;
  min-width: 145px;
  margin-right: 10px;
}

#company .p-company-table dl dt::after,#company-en .p-company-table dl dt::after {
  content: '';
  display: block;
  position: relative;
  top: 0;
  width: 100%;
  max-width: 52%;
  height: 0;
  margin-left: 6px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 2px dashed #7d7b82;
}

.is-ie #company .p-company-table dl dt::after,.is-ie #company-en .p-company-table dl dt::after {
  max-width: none;
}

#company .p-company-table--en dl dt,#company-en .p-company-table--en dl dt {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  font-size: 1.6rem;
  line-height: 1.75;
}

#company .p-company-table--en dl dt::after,#company-en .p-company-table--en dl dt::after {
  top: 12px;
}

#company .p-company-table--en dl dd,#company-en .p-company-table--en dl dd {
  letter-spacing: .16em;
}

#company-en .l-header {
  margin-bottom: 57px;
}

.p-form form {
  width: 720px;
}

.p-form--wp-dl .p-form__head,.p-form--wp .p-form__head {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

.p-form__head__image {
  margin-right: 6.5%;
}

.p-form--wp-dl .p-form__title,.p-form--wp .p-form__title {
  margin-top: 8.65%;
  margin-right: 0;
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.p-form--wp-dl .p-form__text {
  text-align: left;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block {
  width: 720px;
  margin: auto;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label {
  width: 156px;
  min-width: 156px;
  font-size: 1.2rem;
}

.p-form__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-form__row--2col .p-form__item {
  width: calc(50% - 4px);
}

.p-form__row--btns {
  display: block;
  margin-top: 72px;
}

.p-form__confirm {
  width: 720px;
  margin: auto;
}

.p-form__confirm__item:not(:nth-last-child(2)):not(:last-child) {
  border-bottom: 1px solid #afacae;
}

.p-form__confirm__item dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 22px 0 21px;
  line-height: 2;
}

.p-form__confirm__item dl dt {
  width: 156px;
}

.p-form__back-bt.c-more .c-more__rect {
  height: 37px;
}

.p-form__back-bt.c-more .c-more__text {
  font-size: 1.6rem;
}

.p-news > .c-grid {
  margin-left: auto;
  margin-right: auto;
}

.p-privacy__head__text {
  text-align: center;
}

.p-privacy__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-privacy__heading {
  width: 258px;
  min-width: 258px;
  margin-left: 2px;
}

.p-privacy__text a[href^="tel:"] {
  border-bottom: 0;
}

.p-privacy__text a[href^="tel:"]:hover {
  opacity: 1;
}

.p-privacy__caption {
  margin: 36px 0 0 260px;
}

#recruit-culture .p-recruit-culture-section--01 .p-top-section__panel {
  top: 14px;
}

#recruit-culture .p-recruit-culture-section--01 .p-top-section__lead {
  margin-left: 4px;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section {
  margin-top: 7.5vw;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section__title {
  margin-bottom: 52px;
  margin-right: 55px;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section__panel {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-top: 20px;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section__image {
  height: 37.5vw;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section:first-child .p-top-section__panel {
  top: 34px;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section:first-child .p-top-section__title {
  left: -8px;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(2) .p-top-section__image {
  right: -4.166666666666666%;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(2) .p-top-section__title {
  left: -12px;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(4) .p-top-section__image {
  left: -4.166666666666666%;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .p-top-section__panel .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .c-more {
  position: absolute;
  bottom: 116px;
  left: 90px;
  width: 360px;
  color: #fff;
  z-index: 1;
}

#recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .c-more__rect::after {
  background-color: #fff;
}

#recruit-interview .p-recruit-interview-section--02 {
  margin-top: -36px;
  padding-top: 123px;
  padding-bottom: 89px;
}

#recruit-joblist .p-recruit-section--main {
  margin-bottom: 144px;
}

#recruit-joblist .p-recruit-joblist-section--02 > .l-wrapper {
  padding: 0 calc( ( (100vw - calc(6.94444vw * 2)) - (8px * 1) ) / 12 * 1 + 8px * (1 - 1));
}

.p-recruit-joblist-block:not(:last-child) {
  margin-bottom: 140px;
}

.p-recruit-joblist-block__item {
  padding-bottom: 53px;
}

.p-recruit-joblist-block__item:not(:last-child) {
  margin-bottom: 34px;
}

.p-recruit-joblist-block__item__title {
  margin-bottom: 27px;
  font-size: 2rem;
  letter-spacing: .6em;
  line-height: 1;
}

.p-recruit-joblist-block__item.has-accordion {
  padding-bottom: 0;
}

.p-recruit-joblist-block__item.has-accordion .p-recruit-joblist-block__link {
  top: -52px;
}

.p-recruit-joblist-block__title {
  position: relative;
  right: calc( ( (100vw - calc(6.94444vw * 2)) - (8px * 1) ) / 12 * 1 + 8px * (1 - 1));
  margin-bottom: 69px;
  font-size: 4rem;
  letter-spacing: .38em;
}

.p-recruit-joblist-block__subtitle {
  margin-top: 30px;
  font-size: 2rem;
}

.p-recruit-joblist-block__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-recruit-joblist-block__text {
  margin: -7px 0;
}

.p-recruit-joblist-block__links .p-recruit-joblist-block__link + .p-recruit-joblist-block__link {
  margin-top: 10px;
}

.p-recruit-joblist-block__link {
  top: -12px;
  height: 36px;
  max-width: 200px;
}

.p-recruit-joblist-block__table {
  padding: 76px calc( ( (100vw - calc(6.94444vw * 2)) - (8px * 1) ) / 12 * 1 + 8px * (1 - 1)) 46px;
}

.p-recruit-joblist-block__table dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-recruit-joblist-block__table dl:not(:last-child) {
  margin-bottom: 48px;
}

.p-recruit-joblist-block__table dl dt {
  margin-right: 8px;
}

.p-recruit-joblist-block__table dl dt::after {
  content: '';
  display: block;
  width: 100%;
  max-width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (1 - 1));
  height: 0;
  margin-left: 20px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px dashed #302d39;
}

.is-ie .p-recruit-joblist-block__table dl dt::after {
  max-width: none;
}

.p-recruit-joblist-block__accordion {
  height: 26px;
}

.p-recruit-joblist-block__accordion .c-accordion__title {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 2 + 8px * (2 - 1));
  max-width: 200px;
  margin-left: auto;
}

.p-recruit-joblist-block__accordion .c-accordion__title::before {
  font-size: 1.6rem;
  letter-spacing: .6em;
}

.p-recruit-joblist-block__accordion::before {
  top: 7px;
  right: 15px;
}

.p-recruit-joblist-block__accordion::after {
  top: 0;
  right: 22px;
}

.p-recruit-news dl {
  padding: 21px 0 18px;
}

.p-recruit-news dl dt {
  margin-left: 1.1%;
  margin-right: 4.5%;
  font-size: 1.6rem;
  letter-spacing: 0.18em;
}

.p-recruit-news dl dd {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
}

.p-recruit-pages-section {
  padding: 0 6.94444vw;
}

.p-recruit-pages-section__text {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
}

.p-recruit-section--main {
  margin-bottom: 12.5vw;
}

.p-top-section--recruit-entry .p-top-section__panel {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  top: auto;
  bottom: 88px;
}

.p-top-section--recruit-entry .c-more {
  position: absolute;
  right: 0;
  bottom: 0px;
  margin-bottom: 9px;
  margin-right: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (1 - 1));
}

#recruit-philo .p-recruit-philo-section--01 .p-top-section__panel {
  bottom: -10px;
}

#recruit-philo .p-recruit-philo-section--03 {
  margin-top: 8.34%;
}

#recruit-philo .p-recruit-philo-section--03 .p-recruit-joblist-block__subtitle {
  white-space: nowrap;
}

#recruit-philo .p-recruit-philo-section--04 {
  margin-top: 13.044%;
}

#recruit-philo .p-recruit-philo-article {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
}

#recruit-philo .p-recruit-philo-article.is-pc-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

#recruit-philo .p-recruit-philo-article .p-recruit-pages-section__text {
  margin-top: 27px;
}

#recruit-philo .p-recruit-philo-article:not(:last-child) {
  margin-bottom: 7.5vw;
}

#recruit-top .p-recruit-section--02 .p-top-section {
  margin-top: 11.6%;
}

#recruit-top .p-recruit-section--02 .p-top-section--philosophy {
  margin-top: 8.7%;
}

#recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel {
  top: auto;
  bottom: 16px;
  left: auto;
  right: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

#recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel .p-top-section__lead {
  margin-top: -37px;
}

#recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel .p-top-section__text-wrapper {
  width: 893px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel .c-more {
  margin-top: 0;
  margin-bottom: 137px;
}

#recruit-top .p-recruit-section--02 .p-top-section--culture .p-top-section__panel {
  top: 62px;
}

#recruit-top .p-recruit-section--02 .p-top-section--culture .p-top-section__panel .p-top-section__title {
  left: -10px;
}

#recruit-top .p-recruit-section--02 .p-top-section--culture .c-more {
  margin-top: 38px;
}

#recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel {
  left: auto;
  right: 0;
  top: -44px;
  bottom: auto;
}

#recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .p-top-section__title {
  right: -7px;
}

#recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .p-top-section__lead {
  margin-top: 15px;
}

#recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .p-top-section__text-wrapper {
  width: 694px;
}

#recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .c-more {
  margin-top: -3px;
}

#recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel {
  top: -44px;
}

#recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel .p-top-section__title {
  left: -8px;
}

#recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel .p-top-section__lead {
  margin-top: 8px;
}

#recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel .p-top-section__text-wrapper {
  width: 736px;
}

#recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel .c-more {
  margin-top: 40px;
}

#recruit-top .p-recruit-section--02 .p-top-section--interview .p-top-section__panel {
  top: auto;
  bottom: 144px;
}

#recruit-top .p-recruit-section--02 .p-top-section--interview .c-more {
  width: 230px;
  margin-top: 94px;
  margin-right: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 2 + 8px * (2 - 1));
}

#recruit-welf .p-recruit-welf-section--02 {
  margin-top: -36px;
  padding-top: 123px;
  padding-bottom: 89px;
}

#recruit-welf ~ .l-page-modals .l-modal-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

#recruit-welf ~ .l-page-modals .c-nav-button {
  right: 65px;
}

#recruit-welf ~ .l-page-modals .c-slider {
  padding: 0 86px 0;
}

#recruit-welf ~ .l-page-modals .c-slider-container {
  padding: 0 118px;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__title h2 {
  font-size: 2rem;
  letter-spacing: .6em;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__title p {
  padding-bottom: 50px;
  margin-bottom: 31px;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__text {
  padding-left: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table dl:not(:last-child) {
  margin-bottom: 14px;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table dl dt {
  min-width: 158px;
  margin-right: 16px;
}

#recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table dl dt::after {
  content: '';
  display: block;
  width: 100%;
  height: 0;
  margin-left: 20px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px dashed #302d39;
}

#recruit-work .p-recruit-section--main .p-top-section__panel {
  top: -44px;
  pointer-events: none;
}

#recruit-work .p-recruit-work-section--02 .p-top-section {
  margin-top: 7.5vw;
}

#recruit-work .p-recruit-work-section--02 .p-top-section__lead {
  margin-top: 7px;
  margin-bottom: 31px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section__panel {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#recruit-work .p-recruit-work-section--02 .p-top-section__panel .p-recruit-pages-section__text {
  margin-bottom: 6px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section__image {
  height: 37.5vw;
}

#recruit-work .p-recruit-work-section--02 .p-top-section:first-child .inner,#recruit-work .p-recruit-work-section--02 .p-top-section:nth-child(2) .inner {
  margin-right: 4.166666666666666%;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--01 .p-top-section__panel {
  margin-top: -49px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--01 .p-top-section__title {
  left: -8px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--02 .p-top-section__image {
  right: 4.166666666666666%;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--02 .p-top-section__panel {
  margin-top: 27px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--02 .p-top-section__title {
  right: -12px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--03 .p-top-section__panel {
  top: -11px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--03 .p-top-section__lead {
  margin-bottom: 71px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-recruit-work-table {
  position: relative;
  right: -3.206%;
  margin-left: auto;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-recruit-work-table li {
  width: 50%;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-top-section__intro .p-top-section__image {
  right: -3.206%;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-top-section__panel {
  top: -11px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-recruit-pages-section__text {
  margin-bottom: 26px;
}

#recruit-work .p-recruit-work-section--02 .p-top-section.is-reverse .c-more {
  width: 360px;
  margin-top: -24px;
  color: #fff;
}

#recruit-work .p-recruit-work-section--02 .p-top-section.is-reverse .c-more__rect::after {
  background-color: #fff;
}

#recruit-work .p-recruit-work-table {
  margin-left: 4px;
}

#recruit-work .p-recruit-work-table__head {
  margin-bottom: 44px;
  font-size: 2rem;
}

#recruit-work .p-recruit-work-table__body ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#recruit-work .p-recruit-work-table__body ul li {
  line-height: 2.42857;
}

.p-service-pages-section {
  padding: 0 6.94444vw;
}

.p-service-pages-section--main .p-top-section__panel {
  top: -7px;
}

.p-service-pages-section__text {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
}

.p-service-pages-section .p-top-intro__body {
  margin-top: 10.926%;
}

.p-service-pages-section .p-feature .p-top-section {
  margin-top: 12.4%;
}

.p-service-pages-section .p-feature + .p-feature .p-top-section {
  margin-top: 11.613%;
}

#service-en .l-header {
  margin-bottom: 57px;
}

.p-service-section {
  margin-bottom: 12.5%;
}

.p-service-section--01 .p-top-section__panel {
  top: 28.9%;
}

.p-service-section--02 .p-panel-wrapper,.p-service-section--03 .p-panel-wrapper,.p-service-section--04 .p-panel-wrapper,.p-service-section--05 .p-panel-wrapper {
  margin-top: -7.5%;
}

.p-service-section--02 .p-panel__nav-trigger,.p-service-section--03 .p-panel__nav-trigger,.p-service-section--04 .p-panel__nav-trigger,.p-service-section--05 .p-panel__nav-trigger {
  top: 20px;
}

.p-service-section--02 .p-top-section__image,.p-service-section--03 .p-top-section__image,.p-service-section--04 .p-top-section__image,.p-service-section--05 .p-top-section__image {
  height: 37.5vw;
}

.p-service-section--02 .p-top-section__panel,.p-service-section--03 .p-top-section__panel,.p-service-section--04 .p-top-section__panel,.p-service-section--05 .p-top-section__panel {
  padding-top: 130px;
}

.p-service-section--02 .p-top-section__title,.p-service-section--03 .p-top-section__title,.p-service-section--04 .p-top-section__title,.p-service-section--05 .p-top-section__title {
  margin-bottom: 31px;
}

.p-service-section--02 .p-top-section__lead,.p-service-section--03 .p-top-section__lead,.p-service-section--04 .p-top-section__lead,.p-service-section--05 .p-top-section__lead {
  margin-bottom: 11px;
}

.p-service-section--02 .p-panel__inner,.p-service-section--03 .p-panel__inner,.p-service-section--04 .p-panel__inner,.p-service-section--05 .p-panel__inner {
  padding-top: 21.72%;
  padding-bottom: 5.5%;
}

.p-service-section--02 .p-panel__inner .p-top-service__case figure .c-grid-04,.p-service-section--03 .p-panel__inner .p-top-service__case figure .c-grid-04,.p-service-section--04 .p-panel__inner .p-top-service__case figure .c-grid-04,.p-service-section--05 .p-panel__inner .p-top-service__case figure .c-grid-04 {
  margin-left: 5%;
}

.p-service-section--02 .p-panel__inner .p-top-service__case figure .p-top-service__caption figcaption .en,.p-service-section--03 .p-panel__inner .p-top-service__case figure .p-top-service__caption figcaption .en,.p-service-section--04 .p-panel__inner .p-top-service__case figure .p-top-service__caption figcaption .en,.p-service-section--05 .p-panel__inner .p-top-service__case figure .p-top-service__caption figcaption .en {
  margin-top: 15px;
}

.p-service-section--02 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption,.p-service-section--03 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption,.p-service-section--04 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption,.p-service-section--05 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption {
  top: 1.4%;
}

.p-service-section--02 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .en,.p-service-section--03 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .en,.p-service-section--04 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .en,.p-service-section--05 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .en {
  margin-top: 0;
}

.p-service-section--02 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .ja,.p-service-section--03 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .ja,.p-service-section--04 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .ja,.p-service-section--05 .p-panel__inner .p-top-service__case:nth-child(even) .p-top-service__caption figcaption .ja {
  margin-top: 12px;
}

.p-service-section--06 .p-top-section-row .p-top-section {
  margin-top: 17.42%;
}

#storelist .l-wrapper--storelist {
  padding-bottom: 108px;
}

#storelist .l-header__nav {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

#storelist .l-header__nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

#storelist .l-header__nav ul li {
  position: relative;
  width: 230px;
}

#storelist .l-header__nav ul li:last-child {
  width: 160px;
}

#storelist .p-header.is-index h1 {
  margin-bottom: -2px;
}

.p-storelist-search-modal,.p-storelist-menu-modal {
  min-width: 1280px;
}

.p-storelist-menu-modal__main {
  width: 64.4444444vw;
}

.p-storelist-menu-modal__checked-result {
  top: -9px;
  width: 68.05556vw;
}

.p-storelist-menu-modal__checked-items {
  width: calc(100% - 148px - 8px);
}

.p-storelist-menu-modal__checked-items__result {
  width: 148px;
}

.p-storelist-menu-modal__checked-item {
  min-width: 96px;
}

.p-storelist-menu-modal__checked-item:hover .p-storelist-menu-modal__checked-item__bg {
  background-color: #efece9;
}

.p-storelist-menu-modal__checked-item__bg {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #f0f0f0;
  z-index: 0;
  -webkit-transform: scale3d(0, 1, 1);
  transform: scale3d(0, 1, 1);
  -webkit-animation: itemAddedBg .2s ease 0s both;
  animation: itemAddedBg .2s ease 0s both;
  -webkit-transition: background-color .2s ease;
  transition: background-color .2s ease;
}

.p-storelist-menu-modal__check-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-top: 100px;
  padding-left: 3.3vw;
}

.p-storelist-menu-modal__check-all {
  margin-bottom: 26px;
}

.p-storelist-menu-modal__common-btns {
  margin-top: 0.7%;
  margin-right: 95px;
}

.p-storelist-menu-modal__common-btns > a {
  width: 66px;
}

.p-storelist-menu-modal__common-btns > a:hover {
  letter-spacing: .46em;
}

.p-storelist-menu-modal__check-btns {
  width: 580px;
  margin-bottom: -17px;
}

.p-storelist-menu-modal__check-btn {
  width: 164px;
}

.p-top-access__gmap {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 6 + 8px * 6);
  min-height: 200px;
}

.p-top-access__nav {
  margin-top: 25px;
}

.p-top-access-nav li + li {
  margin-top: 20px;
}

.p-top-intro {
  margin-top: 56px;
}

.p-top-intro__image {
  height: 42.5vw;
}

.p-top-intro__title {
  position: absolute;
  bottom: -1.2em;
  right: calc(-240em / 1000 - 80px);
}

.p-top-intro__lead {
  margin-top: 1.37%;
  margin-left: -5px;
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: calc(600em / 1000);
}

.p-top-intro__body {
  margin-top: 21.8%;
  margin-right: auto;
  margin-left: auto;
}

.p-top-intro__body .c-more {
  margin-top: 30px;
  float: right;
}

#en-top .p-top-intro__body .c-more {
  margin-top: 24px;
}

#en-top .p-top-intro__body {
  margin-top: 25.3%;
}

.p-top-intro__copy {
  margin-left: -3px;
  font-size: 2.6rem;
  line-height: 1.76923;
  letter-spacing: calc(920em / 1000);
}

.p-top-intro__copy--en {
  margin-left: 0;
  font-size: 2.8rem;
  line-height: 1.57143;
  letter-spacing: calc(240em / 1000);
}

.p-top-intro__text--en {
  letter-spacing: calc(120em / 1000);
  line-height: 2.14286;
}

.p-top-intro-title {
  font-size: 10rem;
  letter-spacing: calc(240em / 1000);
}

.p-top-intro-title__shift {
  -webkit-transform: translateX(7px);
  transform: translateX(7px);
}

.p-top-section.is-reverse .p-top-section__panel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.p-top-section--service .sticky-trigger {
  top: -10vw;
}

#case .p-top-section--service {
  margin-top: 11.7%;
}

.p-top-section--company .p-top-section__panel {
  margin-top: 62px;
}

#en-top .p-top-section--company .p-top-section__panel {
  margin-top: -9px;
}

#en-top .p-top-section--company .p-top-section__panel .p-top-section__lead {
  margin-left: 8%;
}

.p-top-section--company .p-top-section__image {
  height: 49.3vw;
}

#en-top .p-top-section--company .p-top-section__image {
  height: 42.5vw;
}

.p-top-section--company .c-more {
  margin-top: 65px;
}

.p-top-section--recruit .p-top-section__panel {
  margin-top: 5px;
}

.p-top-section--access .p-top-section__panel {
  margin-top: -15px;
}

.p-top-section--store-operation {
  margin-top: 11.5%;
}

.p-top-section--store-operation .p-top-section__panel {
  bottom: 19.68%;
}

.p-top-section--store-operation .p-top-section__lead {
  top: 16.83%;
  left: 8.3%;
}

.p-top-section--store-operation .c-more {
  margin-top: 19px;
}

.p-top-section--service .c-more {
  margin-top: 25px;
}

.p-top-section--white-paper,.p-top-section--contact {
  margin-top: 11.5%;
}

.p-top-section--white-paper .p-top-section__title {
  margin-left: -4px;
}

.p-top-section--contact .p-top-section__panel h2 {
  width: calc(100% + 54px);
}

.p-top-section--case {
  margin-top: 11.5%;
}

.p-top-section--case .p-top-section__panel {
  bottom: 17.7%;
}

.p-top-section--case .p-top-section__image {
  height: 42.509vw;
}

.p-top-section--case .p-top-section__lead {
  top: 16.1%;
  left: 8.4%;
}

.p-top-section--case .c-more {
  margin-top: 54px;
}

.p-top-section__image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 42.5vw;
}

.p-top-section__title--company {
  margin-left: -12px;
}

.p-top-section__title--recruit {
  margin-left: -10px;
}

.p-top-section__title--service {
  margin-left: -5px;
}

.p-top-section__title--access {
  font-size: 8rem;
  letter-spacing: calc(400em / 1000 * 0.92);
}

.p-top-section__title.is-right {
  -webkit-transform-origin: right top !important;
  transform-origin: right top !important;
}

.p-top-section__lead {
  margin-top: 4px;
}

.p-top-section__lead--abs {
  margin: 0;
}

.p-top-section__text {
  letter-spacing: .2em;
}

.c-more {
  margin-top: 29px;
}

.p-top-section-row .p-top-section:first-child {
  margin-right: calc(((100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 16px);
}

.p-top-section-row .p-top-section .p-top-section__panel {
  left: -54px;
}

.p-top-section-row .p-top-section__panel {
  top: auto;
  bottom: 61px;
}

.p-top-service__case .images .image {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: -webkit-transform 3.2s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 3.2s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 3.2s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 3.2s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 3.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.p-top-service__case .images .image.c-grid-04 {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}

.p-top-service__case .images.is-hide .image {
  -webkit-transform: translateY(400px);
  transform: translateY(400px);
}

.p-top-service__case:nth-child(even) {
  left: calc(6.9444vw + 0.277vw);
}

.p-top-service__case:nth-child(even) .c-grid-04 {
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
}

.p-top-service__case:nth-child(even) .c-grid-07 {
  margin-left: 0;
}

.p-top-service__case:nth-child(even) .p-top-service__caption {
  top: 0;
  left: 69.8%;
}

.p-top-service__case:nth-child(even) .p-top-service__caption figcaption {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  margin-left: 6%;
}

.p-top-service__case:nth-child(even) .p-top-service__caption figcaption .en {
  margin-top: 0;
}

.p-top-service__case:nth-child(even) .p-top-service__caption figcaption .ja {
  margin-top: 28px;
}

.p-top-service__case a:hover .p-top-service__caption .en {
  letter-spacing: calc(200em / 1000 * 0.92);
}

.p-top-service__case a:hover .p-top-service__caption .ja {
  letter-spacing: calc(200em / 1000);
}

.p-top-service__case--caption-bottom .p-top-service__caption {
  position: relative;
  margin: 32px 0 0;
}

.p-top-service__case--caption-bottom + .p-top-service__case {
  margin-top: 7.365%;
}

.p-top-service__caption {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 60%;
  left: 0;
  width: 30.2%;
  height: 40%;
  z-index: 1;
}

.p-top-service__caption figcaption .ja {
  letter-spacing: calc(120em / 1000);
  line-height: 1.66667;
}

.p-top-service__caption figcaption .en {
  margin-top: 28px;
  font-size: 3.2rem;
  line-height: 1.1;
  letter-spacing: calc(120em / 1000 * 0.92);
}

.p-top-service__images {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  z-index: 3;
  margin-top: 7%;
}

.p-top-service__images .p-top-service-image .image {
  position: relative;
  background-color: #283641;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: -webkit-transform 4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 4s cubic-bezier(0.23, 1, 0.32, 1);
}

.p-top-service__images .p-top-service-image:nth-child(2) .image {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}

.p-top-service__images .p-top-service-image:nth-child(3) .image {
  -webkit-transition-delay: .7s;
  transition-delay: .7s;
}

.p-top-service__images .p-top-service-image:nth-child(4) .image {
  -webkit-transition-delay: .9s;
  transition-delay: .9s;
}

.p-top-service__images .p-top-service-image:nth-child(n+5) .image {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

.p-top-service__images.is-hide .image {
  -webkit-transform: translateY(400px);
  transform: translateY(400px);
}

.p-top-service__images .c-grid {
  position: relative;
  margin-top: 13.9%;
}

.p-top-service__images .c-grid img {
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.p-top-service__images .c-grid .p-top-service-image-caption,.p-top-service__images .c-grid .p-top-service-image-caption__en {
  opacity: 0;
}

.p-top-service__images .c-grid:hover .p-top-service-image-caption,.p-top-service__images .c-grid:hover .p-top-service-image-caption__en {
  opacity: 1;
}

.p-top-service__images .c-grid:nth-child(even) {
  margin-left: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (3 - 1));
}

.p-top-service__images .c-grid:nth-child(1),.p-top-service__images .c-grid:nth-child(5n) {
  margin-left: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (2 - 1));
}

.p-top-service__more {
  margin-top: 10%;
  margin-left: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 1 + 8px * (2 - 1));
}

.p-top-service__more .c-more {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 4 + 8px * (4 - 1));
}

.p-top-service__more .c-more__rect {
  width: calc( ( (100vw - (6.94444vw * 2)) - (8px * 11) ) / 12 * 4 + 8px * (4 - 1));
}

.u-sp {
  display: none !important;
}

.u-opacity.is-normal:hover {
  opacity: .75;
}}

@media (min-width: 769px) and (max-width: 1679px) {
  .p-storelist-menu-modal__check-btn:not(:nth-child(3n)) {
    margin-right: 44px;
  }
}

@media (min-width: 1680px) {
  .p-storelist-menu-modal__check-btns {
    width: 800px;
  }

  .p-storelist-menu-modal__check-btn:not(:nth-child(4n)) {
    margin-right: 44px;
  }
}

@media (max-width: 768px) {
  body {
    font-size: 2.4rem;
    line-height: 2;
  }

  body::before,body::after {
    width: 200%;
  }

  body::before {
    -webkit-transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    transform: translate(-130%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }

  body::after {
    -webkit-transform: translate(-20%, 0) matrix3d(1, 0, 0, 0, 0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    transform: translate(-20%, 0) matrix3d(1, 0, 0, 0, 0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }

  .l-footer {
    margin-top: 100px;
    padding-bottom: 96px;
  }

  .l-footer__sns [width="22"] {
    width: 44px;
    height: auto;
  }

  .l-footer__sns [width="24"] {
    width: 48px;
    height: auto;
  }

  .l-footer__sns ul {
    width: 410px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-right: auto;
    margin-left: auto;
  }

  .l-footer__sns li + li {
    margin-left: 0;
  }

  .l-footer__row {
    margin-top: 100px;
  }

  .l-footer__ci svg {
    width: 409px;
    height: 46px;
    margin-left: -6px;
  }

  .l-footer__copyright {
    margin-top: 130px;
    margin-left: 0;
    font-size: 2rem;
    letter-spacing: calc(100em / 1000);
  }

  .l-header {
    position: relative;
    padding: 46px 0 0;
  }

  .l-header__ci {
    position: static;
  }

  .l-header__ci svg {
    margin-left: 37px;
    width: 288px;
    height: 32px;
  }

  .l-modal .c-nav-button {
    top: 48px;
    right: 39px;
  }

  .l-modal__header {
    padding-top: 62px;
  }

  .l-nav {
    -webkit-transform: translate(-150%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    transform: translate(-150%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    background-color: #fff;
  }

  .l-nav__inner {
    background-color: #fff;
  }

  .l-nav__inner2 {
    margin-top: -50%;
    position: relative;
  }

  .l-nav .c-global-menu {
    margin-left: 70px;
  }

  .l-nav__row {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }

  .l-nav__sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: absolute;
    top: 350px;
    right: 60px;
    line-height: 1;
  }

  .l-nav__sns img {
    width: 40px;
    height: auto;
  }

  .l-nav__sns li + li {
    margin-top: 52px;
  }

  .l-nav__sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    top: 725px;
    left: 70px;
    height: calc(3rem *3 + 24px * 2);
    font-size: 3rem;
    letter-spacing: calc(80em / 1000);
  }

  .l-nav__sub li {
    line-height: 0.8;
  }

  .l-nav__sub li + li {
    margin-top: 70px;
  }

  .l-nav__language {
    position: absolute;
    top: 728px;
    right: 60px;
    font-size: 3rem;
    text-align: center;
    line-height: 1;
  }

  .l-nav__language li + li:before {
    display: block;
    margin-top: 24px;
    margin-bottom: 24px;
    content: "/";
  }

  .l-page-modals .l-modal {
    -webkit-transform: translate(-150%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    transform: translate(-150%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    background-color: #fff;
  }

  .l-top-panel {
    margin-top: -45px;
  }

  .l-top-panel .p-panel__inner {
    padding-top: 390px;
    padding-bottom: 155px;
  }

  .l-top-panel .p-panel__nav {
    margin-top: 250px;
  }

  .l-top-panel .p-panel__nav-trigger {
    position: absolute;
    top: 600px;
  }

  .l-wrapper {
    padding-right: 40px;
    padding-left: 40px;
  }

  .l-wrapper--sp-align-left {
    padding-right: 70px;
    padding-left: 0;
  }

  .l-wrapper--sp-align-right {
    padding-right: 0;
    padding-left: 70px;
  }

  .l-wrapper--form {
    padding-right: 0;
    padding-left: 0;
  }

  .l-wrapper.is-under {
    padding-bottom: 80px;
  }

  .l-wrapper.is-under:before {
    top: 580px;
    right: -40px;
    left: -40px;
  }

  .l-wrapper.is-case .l-wrapper__title {
    left: 34px;
    font-size: 10.4rem;
    letter-spacing: calc(360em / 1000);
  }

  .l-wrapper.is-case .p-panel__nav-trigger {
    top: 400px;
  }

  .l-wrapper--news,.l-wrapper--case {
    margin-top: 42px;
    margin-bottom: 164px;
  }

  #error .l-wrapper {
    width: 410px;
    margin: 22.4vh auto 21.13943vh;
  }

  .c-accordion {
    height: 148px;
  }

  .c-accordion::before {
    bottom: 52px;
    right: 30px;
    width: 28px;
    height: 3px;
  }

  .c-accordion::after {
    bottom: 40px;
    right: 42px;
    width: 3px;
    height: 28px;
  }

  .c-accordion__title {
    padding: 82px 0 42px;
    font-size: 2.6rem;
  }

  .c-accordion.is-open {
    padding-bottom: 80px;
  }

  .c-button {
    font-size: 2.6rem;
  }

  .c-card__header {
    font-size: 2.4rem;
    overflow: hidden;
  }

  .c-card__image {
    padding-top: 72.8%;
  }

  .c-card__image img {
    position: absolute;
    top: 0;
    left: 0;
  }

  .c-card__meta {
    left: -36px;
  }

  .c-card__title {
    width: 240px;
    padding-bottom: 12px;
    font-size: 2.6rem;
    line-height: 1.61538;
    letter-spacing: 0.15em;
  }

  .c-card__category {
    font-size: 2.6rem;
  }

  .c-card__date {
    width: 374px;
    max-width: none;
    margin-top: 5px;
    padding-top: 6px;
    border-width: 3px;
    font-size: 2.6rem;
  }

  .c-card__summary {
    width: calc(100% - 105px);
    height: 6.2em;
    margin-top: 25px;
    padding-right: 40px;
  }

  .c-card--welf .c-card__meta {
    left: 0;
    right: 0;
    margin: auto;
  }

  .c-card--welf .c-card__summary {
    width: 100%;
    padding-right: 0;
  }

  .c-card--interview .c-card__image {
    padding-top: 72.55520504731862%;
  }

  .c-card--interview .c-card__meta {
    left: 0;
    right: 0;
    margin: auto;
  }

  .c-card--interview .c-card__summary {
    width: 100%;
    padding-right: 0;
  }

  .c-card--storelist__place {
    margin-top: 39px;
  }

  .c-card--storelist__name {
    margin-top: 9px;
    font-size: 3rem;
  }

  .c-dropdown select {
    padding: 27px 29px 27px 0;
    border-width: 2px;
    font-size: 2.6rem;
    letter-spacing: .32em;
  }

  .c-dropdown select:focus ~ .c-dropdown__label,.c-dropdown select.is-selected ~ .c-dropdown__label {
    top: -42px;
    font-size: 2rem;
  }

  .c-dropdown::after {
    top: 28px;
    right: 0;
    width: 30px;
    height: 20px;
  }

  .c-dropdown__label {
    top: 0;
    font-size: 2.6rem;
  }

  .c-dropdown--sp-only {
    position: relative;
  }

  .c-dropdown--sp-only__label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 40px 29px 40px 30px;
    border-bottom: 2px solid #302d39;
    font-size: 2.6rem;
    letter-spacing: .32em;
    line-height: 1;
  }

  .c-dropdown--sp-only__label::after {
    content: '';
    display: block;
    width: 30px;
    height: 20px;
    background: url("/cms/wp-content/themes/opefac2018/assets/image/icon_arrow.svg") no-repeat;
    background-size: cover;
  }

  .c-dropdown--sp-only__menu,.c-dropdown--sp-only__menu.p-panel-nav {
    position: absolute;
    top: -9px;
    width: 100%;
    height: 0;
    background-color: #fff;
    border-bottom: 3px solid #302d39;
    font-size: 2.6rem;
    letter-spacing: .32em;
    line-height: 1;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .3s ease, height .2s ease-out;
    transition: opacity .3s ease, height .2s ease-out;
    z-index: 100;
  }

  .c-dropdown--sp-only__menu li,.c-dropdown--sp-only__menu.p-panel-nav li {
    margin-top: 0;
  }

  .c-dropdown--sp-only__menu li::before,.c-dropdown--sp-only__menu.p-panel-nav li::before {
    display: none !important;
  }

  .c-dropdown--sp-only__menu li a,.c-dropdown--sp-only__menu.p-panel-nav li a {
    padding: 50px 30px;
    font-family: YakuHanJPs, sans-serif;
    font-weight: 400;
    letter-spacing: .32em;
  }

  .c-dropdown--sp-only__menu li a.is-active::after,.c-dropdown--sp-only__menu.p-panel-nav li a.is-active::after {
    display: none;
  }

  .c-dropdown--sp-only__menu li a:active::before,.c-dropdown--sp-only__menu.p-panel-nav li a:active::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    width: calc(100% - 60px);
    height: 1px;
    background-color: #302d39;
  }

  .c-dropdown--sp-only__menu::after,.c-dropdown--sp-only__menu.p-panel-nav::after {
    content: '';
    display: block;
    position: absolute;
    top: 55px;
    right: 29px;
    width: 30px;
    height: 20px;
    background: url("/cms/wp-content/themes/opefac2018/assets/image/icon_arrow.svg") no-repeat;
    background-size: cover;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .c-dropdown--sp-only__menu.is-open,.c-dropdown--sp-only__menu.p-panel-nav.is-open {
    pointer-events: all;
    opacity: 1;
  }

  .c-global-menu__item {
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: 4.4rem;
    line-height: 3rem;
  }

  .c-global-menu__item:nth-child(n + 2) {
    margin-top: 80px;
  }

  .c-global-menu__item a {
    color: #413f48;
  }

  .c-more {
    width: 320px;
  }

  .c-more__text {
    font-size: 2.8rem;
  }

  .c-more__rect {
    font-size: 2.6rem;
  }

  .c-more__rect::after {
    height: 3px;
  }

  .c-more__rect--left .c-more__text {
    margin-left: 14px;
  }

  .c-more__detail {
    padding-top: 19px;
    font-size: 2.6rem;
    line-height: 23px;
    letter-spacing: 0.2em;
  }

  .c-more--has-detail {
    margin-bottom: -42px;
    padding-bottom: 42px;
  }

  .c-movie.is-thumb::after {
    top: calc(50% - 43px);
    left: calc(50% - 36px);
    width: 86px;
    height: 71px;
  }

  .c-nav-button {
    width: 60px;
    top: 46px;
    right: 40px;
  }

  .c-nav-button__bar {
    height: 3px;
  }

  .c-nav-button__bar--1 {
    -webkit-transform: rotateZ(26deg);
    transform: rotateZ(26deg);
  }

  .c-nav-button__bar--2 {
    -webkit-transform: rotateZ(-26deg);
    transform: rotateZ(-26deg);
  }

  .c-nav-button::before {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  .c-nav-button::after {
    -webkit-transform: translateY(7px);
    transform: translateY(7px);
  }

  .c-paging {
    margin-left: 0;
    font-size: 3.6rem;
  }

  .c-paging ul {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .c-paging li + li {
    margin-left: 32px;
  }

  .c-paging li:first-child a:before,.c-paging li:last-child a:before {
    width: 20px;
    height: 20px;
    vertical-align: -12px;
  }

  .c-paging li:first-child {
    position: relative;
    left: -4px;
  }

  .c-paging li:last-child {
    position: relative;
    right: -4px;
  }

  .c-paging a {
    padding: 24px 26px;
  }

  .c-paging a.is-active::before {
    height: 3px;
  }

  .c-radio-button-wrapper > span:not(:last-child) {
    margin-right: 30px;
  }

  .c-radio-button-wrapper > span label span {
    min-height: 64px;
    padding: 17px 0;
    border-width: 2px;
    font-size: 2.6rem;
  }

  .c-radio-button-wrapper > span label input:checked + span {
    border-width: 4px;
  }

  .c-section-lead {
    font-size: 3rem;
    line-height: 2.06667;
    letter-spacing: calc(500em / 1000);
  }

  .c-section-lead--en {
    font-size: 2.6rem;
    letter-spacing: calc(260em / 1000);
  }

  .c-section-lead.is-sp-small {
    font-size: 2.6rem;
    letter-spacing: .2em;
    line-height: 1.6;
  }

  .c-section-title {
    font-size: 10rem;
    letter-spacing: calc(260em / 1000 * 0.92);
  }

  .c-section-title--service {
    letter-spacing: calc(360em / 1000 * 0.92);
  }

  .c-section-title--white-paper {
    letter-spacing: calc(450em / 1000 * 0.92) !important;
  }

  .c-section-title--recruit-entry {
    line-height: 1.06;
  }

  .c-section-title.is-small {
    font-size: 5.4rem;
    letter-spacing: calc(200em / 1000 * 0.92);
  }

  .c-section-title.is-right {
    margin-right: calc(-520em / 1000 * 0.92);
  }

  .c-section-title span.is-sp-ls-narrow {
    letter-spacing: calc(55em / 1000 * 0.92);
  }

  .c-section-title__sub {
    font-size: 4.2rem;
    line-height: 2;
  }

  .c-section-title.is-f-size-88 {
    font-size: 8rem;
  }

  .c-section-title.is-f-size-88 .f-tsukuaoldmin {
    font-size: 8.4rem;
  }

  .c-section-title.is-sp-center {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .c-section-title.is-ta-r .c-section-title__sub {
    margin-right: 12px;
  }

  .c-slider-button-next.swiper-button-next,.c-slider-button-prev.swiper-button-prev {
    width: 32px;
    height: 78px;
  }

  .c-table {
    font-size: 2.4rem;
    line-height: 1.41667;
  }

  .c-table__ttl,.c-table dl {
    min-height: 120px;
    border-width: 3px;
    font-weight: bold;
  }

  .c-text-input {
    height: 27px;
    padding: 27px 0;
    border-width: 2px;
    font-size: 2.6rem;
  }

  .c-textarea::before,.c-textarea::after {
    width: 2px;
    font-size: 2.6rem;
  }

  .c-textarea textarea {
    border-width: 2px;
  }

  .p-card-list {
    margin-top: -12px;
    margin-right: -40px;
    margin-left: 196px;
  }

  .p-card-list .c-card {
    width: 100%;
    margin-left: 0;
  }

  .p-card-list .c-card:nth-child(6n-2) {
    margin-left: 0;
  }

  .p-card-list .c-card:nth-child(6n+1) {
    margin-left: 0;
  }

  .p-card-list .c-card:not(:first-child) {
    margin-top: 63px;
  }

  .p-card-list--welf {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
  }

  .p-card-list--welf .c-card {
    width: calc(50% - 15px);
    margin-top: 60px;
  }

  .p-card-list--welf .c-card:nth-child(2n) {
    position: relative;
    top: 60px;
    margin-left: 30px;
  }

  .p-card-list--welf .c-card:not(:first-child) {
    margin-top: 60px;
  }

  .p-card-list--interview > .inner:nth-child(2n) .c-card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .p-card-list--interview > .inner:nth-child(2n) .c-card__summary {
    margin-left: 0;
    margin-right: 40px;
  }

  .p-card-list--interview {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 0 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .p-card-list--interview .c-card {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 80px;
  }

  .p-card-list--interview .c-card:not(:first-child) {
    margin-top: 80px;
  }

  .p-card-list--interview .c-card__header {
    width: 53.73134328358209%;
  }

  .p-card-list--interview .c-card__summary {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: auto;
    margin-top: 0;
    margin-left: 40px;
  }

  .p-card-list--storelist + .c-more {
    width: 444px;
    margin-top: 136px;
    margin-left: 196px;
  }

  .p-feature__head {
    margin-bottom: 84px;
  }

  .p-feature__head .p-top-section {
    margin-top: 0;
  }

  .p-feature__head .p-top-section__title {
    margin-bottom: 23px;
    margin-top: -10px;
  }

  .p-feature__head .p-top-section__intro .p-top-section__image {
    height: 456px;
    padding: 0 30px !important;
  }

  .p-feature__head .p-top-section__intro .p-top-section__panel {
    display: block;
    position: relative;
    top: -58px;
    width: 610px;
    padding: 0 30px !important;
  }

  .p-feature__body {
    padding-bottom: 88px;
  }

  .p-feature__body::after {
    top: -661px;
    right: -40px;
    left: -40px;
  }

  .p-feature__text {
    font-size: 2.4rem;
    letter-spacing: 0.16em;
  }

  .p-feature__case h3,.p-feature__lineup h3,.p-feature__point h3 {
    margin: -4px 0 48px -4px;
    font-size: 5.6rem;
    letter-spacing: 0.37em;
  }

  .p-feature__point__item {
    margin-bottom: 66px;
  }

  .p-feature__point__img {
    margin-bottom: 26px;
  }

  .p-feature__point__title {
    font-size: 3rem;
  }

  .p-feature__list {
    margin-bottom: 144px;
    padding: 0 30px;
  }

  .p-feature__lineup__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .p-feature__lineup__list ul {
    width: 100%;
  }

  .p-feature__lineup__list ul:nth-child(2) {
    margin: 30px 0 0;
  }

  .p-feature__lineup__list ul li {
    width: calc(50% - 15px);
    margin-bottom: 30px;
  }

  .p-feature__lineup__list ul li:nth-child(2n) {
    top: 30px;
    margin-left: 30px;
  }

  .p-feature__lineup__list ul li:nth-last-child(2) {
    margin-bottom: 30px;
  }

  .p-feature__lineup__list ul li > a::before {
    left: calc(50% - 23px);
    width: 46px;
    height: 14px;
    background-image: url("/cms/wp-content/themes/opefac2018/assets/image/icon_arrow-simple-white-sp.svg");
    background-size: 46px auto;
  }

  .p-feature__lineup__title {
    font-size: 2.6rem;
  }

  .p-feature__case {
    margin-top: 158px;
  }

  .p-feature__case .c-more {
    width: 197px;
    margin-top: -9px;
    margin-left: -40px;
  }

  .p-feature__case .c-more__text {
    right: -40px;
    font-size: 2.6rem;
  }

  .p-feature__case .p-top-service__content {
    margin-top: -3px;
    margin-left: 196px;
    margin-right: -40px;
  }

  .p-header.is-index h1 {
    display: block;
    height: 150px;
    font-size: 10rem;
    letter-spacing: calc(360em / 1000);
  }

  .p-header.is-detail {
    padding-top: 55px;
  }

  .p-header.is-detail img {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 107px;
  }

  .p-header.is-detail .p-header__company {
    margin-top: 91px;
    margin-right: 30px;
    margin-left: 30px;
    font-size: 3rem;
  }

  .p-header.is-detail h1 {
    margin-top: 90px;
    padding-right: 30px;
    padding-left: 30px;
    font-size: 3rem;
    line-height: 2.06667;
  }

  .p-header__nav.is-ja {
    font-size: 2.2rem;
    letter-spacing: calc(120em / 1000);
  }

  .p-header__nav.is-en {
    font-size: 2.6rem;
    letter-spacing: calc(200em / 1000);
  }

  .p-header__nav li + li {
    margin-top: 30px;
  }

  .p-header__nav li:nth-child(n+3):before {
    display: block;
    width: 30px;
    height: 1px;
    -webkit-transform: scaleY(0.5);
    transform: scaleY(0.5);
    margin-bottom: 44px;
    background-color: #79767c;
    content: "";
  }

  .p-header__nav a {
    padding-right: 16px;
  }

  .p-header__nav--news a:after {
    left: -40px;
    right: -20px;
  }

  .p-header__nav--case a:after {
    left: -40px;
    right: 16px;
  }

  .p-header__inner {
    display: block;
  }

  .p-header__category {
    margin-top: 40px;
    font-size: 5.6rem;
    letter-spacing: calc(400em / 1000);
  }

  .p-header__image {
    margin-top: 107px;
  }

  .p-header__date {
    padding-right: 30px;
    padding-left: 30px;
    font-size: 2.6rem;
    line-height: 1.61538;
    letter-spacing: calc(700em / 1000);
  }

  .p-header__lead {
    margin-top: 54px;
    margin-right: 30px;
    margin-left: 30px;
    letter-spacing: calc(160em / 1000);
  }

  .p-nav-button {
    width: 60px;
    top: 50px;
    right: 40px;
  }

  .p-nav-button__bar {
    height: 3px;
  }

  .p-nav-button__bar.p-nav-button__bar--1 {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  .is-open .p-nav-button__bar.p-nav-button__bar--1 {
    -webkit-transform: translateY(0) rotateZ(20deg);
    transform: translateY(0) rotateZ(20deg);
  }

  .p-nav-button__bar.p-nav-button__bar--2 {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }

  .is-open .p-nav-button__bar.p-nav-button__bar--2 {
    -webkit-transform: translateY(0) rotateZ(-20deg);
    transform: translateY(0) rotateZ(-20deg);
  }

  .p-page-head-nav {
    display: none;
  }

  .p-panel-sticky__title {
    padding: 100px 0 0 70px;
  }

  .p-panel-sticky__nav {
    margin-top: 50px;
    -webkit-transform: translateX(-250%);
    transform: translateX(-250%);
  }

  .p-panel-sticky--spOnly {
    position: static !important;
  }

  .p-panel-nav {
    left: 0;
    font-size: 2.2rem;
    padding-left: 40px;
  }

  .p-panel-nav li + li {
    margin-top: 38px;
  }

  .p-panel-nav li:nth-child(n+3):before {
    display: block;
    width: 30px;
    height: 1px;
    -webkit-transform: scaleY(0.5);
    transform: scaleY(0.5);
    margin-bottom: 44px;
    background-color: #79767c;
    content: "";
  }

  .p-panel-nav a:after {
    width: 195px;
    left: -40px;
    height: 3px;
  }

  .p-panel__inner {
    padding: 0 0 0 236px;
  }

  html:not(.is-ie) .trans-text.is-initial.p-top-intro-title {
    letter-spacing: calc(13px * 3);
  }

  html:not(.is-ie) .trans-text.is-initial.top-intro-title-mask .p-top-intro-title {
    letter-spacing: calc(13px * 3);
  }

  html:not(.is-ie) .trans-text.is-initial.p-top-intro__lead {
    letter-spacing: calc(500em / 1000 * 1.5);
  }

  html:not(.is-ie) .trans-text.is-initial.c-section-title {
    letter-spacing: calc(260em / 1000 * 0.92 * 3);
  }

  html:not(.is-ie) .trans-text.is-initial.c-section-lead {
    letter-spacing: calc(500em / 1000 * 1.5);
  }

  html:not(.is-ie) .trans-text.is-initial.c-section-lead.is-sp-small {
    letter-spacing: calc(200em / 1000 * 1.5);
  }

  html:not(.is-ie) .trans-text.is-trans.p-top-intro-title {
    letter-spacing: calc(13px);
  }

  html:not(.is-ie) .trans-text.is-trans.top-intro-title-mask .p-top-intro-title {
    letter-spacing: 13px;
  }

  html:not(.is-ie) .trans-text.is-trans.p-top-intro__lead {
    letter-spacing: calc(500em / 1000);
  }

  html:not(.is-ie) .trans-text.is-trans.c-section-title {
    letter-spacing: calc(260em / 1000 * 0.92);
  }

  html:not(.is-ie) .trans-text.is-trans.c-section-lead {
    letter-spacing: calc(500em / 1000);
  }

  html:not(.is-ie) .trans-text.is-trans.c-section-lead.is-sp-small {
    letter-spacing: calc(200em / 1000);
  }

  html:not(.is-ie) .trans-text.is-trans.c-section-lead.c-section-lead--en {
    letter-spacing: calc(360em / 1000);
  }

  .p-case-detail::after {
    top: -17.9%;
    bottom: -110px;
    right: -40px;
    left: -40px;
  }

  .p-case-detail__image {
    margin-top: 8px;
    margin-right: -4px;
    margin-left: -4px;
  }

  .p-case-detail__image.is-sp-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .p-case-detail__image.is-sp-wrap .c-grid-05 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-top: 8px;
    padding-right: 0;
    padding-left: 0;
  }

  .p-case-detail__image.is-sp-wrap .c-grid-05 div {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 4px;
    padding-left: 4px;
  }

  .p-case-detail__image .c-grid {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 4px;
    padding-left: 4px;
  }

  .p-case-detail__image .c-grid-05 {
    width: calc(291 / 678 * 100%);
  }

  .p-case-detail__image .c-grid-07 {
    width: calc(407 / 678 * 100%);
  }

  .p-case-detail__image .c-grid-07.is-sp-100 {
    width: 100%;
  }

  .p-case-detail__media {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 8px;
  }

  .p-case-detail__media + .p-case-detail__media {
    margin-top: 108px;
  }

  .p-case-detail__media .c-grid-04 {
    padding-right: 30px;
    padding-left: 30px;
  }

  .p-case-detail__media.is-media-pull .c-grid-04 {
    padding-bottom: 0;
  }

  .p-case-detail__media.is-media-push .c-grid-04 {
    padding-top: 0;
  }

  .p-case-detail__media.is-media-push .c-grid-04 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .p-case-detail__media.is-media-push .c-grid-07 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .p-case-detail__media h2 {
    width: auto;
    margin-top: 42px;
    font-size: 3rem;
    line-height: 2;
  }

  .p-case-detail__media p {
    width: auto;
    margin-top: 34px;
  }

  .p-case-detail__info {
    margin-right: 30px;
    margin-left: 30px;
  }

  .p-case-detail__info-title {
    margin-right: -60px;
    font-size: 5.6rem;
    line-height: 1.2;
    letter-spacing: calc(280em / 1000);
  }

  .p-case-detail__info-address {
    margin-top: 15px;
    margin-right: -50px;
    font-size: 3rem;
    line-height: 1.26667;
    letter-spacing: calc(160em / 1000);
  }

  .p-case-detail__info-row {
    display: block;
  }

  .p-case-detail__info-row.is-various {
    margin-top: 0;
  }

  .p-case-detail__info-row h3 {
    font-size: 3.6rem;
    line-height: 1.2;
  }

  .p-case-detail__info-row p {
    margin-top: 15px;
    letter-spacing: calc(160em / 1000);
  }

  .p-case-detail__info-item {
    margin-top: 60px;
  }

  .p-case-detail__info-project,.p-case-detail__info-scope {
    margin-top: 60px;
  }

  .p-case-detail__info-project h3,.p-case-detail__info-scope h3 {
    font-size: 3.6rem;
    line-height: 1.2;
  }

  .p-case-detail__info-project li,.p-case-detail__info-scope li {
    letter-spacing: calc(160em / 1000);
  }

  .p-case-detail__info-project li {
    margin: 21px 6px 0 0;
    line-height: 1.65;
  }

  .p-case {
    margin-top: 40px;
    margin-right: -40px;
    margin-left: 196px;
  }

  .p-case__item {
    margin-top: 107px;
  }

  .p-case__title {
    margin-top: 25px;
    padding-right: 40px;
  }

  .p-case__title .category {
    margin-bottom: 5px;
    letter-spacing: calc(280em / 1000);
  }

  .p-case__title .name {
    margin-bottom: 6px;
    font-size: 3rem;
  }

  .p-case__title .owner {
    letter-spacing: calc(230em / 1000);
  }

  .p-case__text {
    margin-top: 30px;
    padding-right: 40px;
  }

  .p-case__more {
    margin-top: 130px;
    margin-bottom: 160px;
  }

  .p-case__more .c-more {
    width: 444px;
  }

  .p-case__more .c-more .c-more__rect {
    width: 444px;
  }

  #company .p-company-section,#company-en .p-company-section {
    padding: 0 40px;
  }

  #company .p-company-section--main,#company-en .p-company-section--main {
    margin-top: 46px;
  }

  #company .p-company-section--main .p-top-section__title,#company-en .p-company-section--main .p-top-section__title {
    top: 90px;
  }

  #company .p-company-section--main .p-top-section__image,#company-en .p-company-section--main .p-top-section__image {
    padding-left: 90px;
  }

  #company .p-company-section--05,#company-en .p-company-section--05 {
    padding: 0;
  }

  #company .p-company-section--05 .p-top-section--service,#company-en .p-company-section--05 .p-top-section--service {
    margin-top: 70px;
  }

  #company .p-company-mission__text,#company-en .p-company-mission__text {
    margin-top: 148px;
    margin-bottom: 146px;
  }

  #company .p-company-mission__movie__title,#company-en .p-company-mission__movie__title {
    bottom: 14.8%;
    font-size: 2.5rem;
  }

  #company .p-company-value,#company-en .p-company-value {
    margin-bottom: 104px;
  }

  #company .p-company-value--en,#company-en .p-company-value--en {
    margin-bottom: 160px;
  }

  #company .p-company-value__head,#company-en .p-company-value__head {
    margin-top: 160px;
    margin-left: -40px;
    margin-bottom: 82px;
  }

  #company .p-company-value__head .p-top-section__title,#company-en .p-company-value__head .p-top-section__title {
    margin-top: -25px;
    margin-right: -85px;
  }

  #company .p-company-value__head .p-top-section__image,#company-en .p-company-value__head .p-top-section__image {
    padding-right: 130px;
  }

  #company .p-company-value__body,#company-en .p-company-value__body {
    padding: 0 30px;
  }

  #company .p-company-value__accordion__item,#company-en .p-company-value__accordion__item {
    height: 486px;
  }

  #company .p-company-value__accordion__item:not(:last-child),#company-en .p-company-value__accordion__item:not(:last-child) {
    margin-bottom: 78px;
  }

  #company .p-company-value__accordion__item::before,#company-en .p-company-value__accordion__item::before {
    bottom: 35px;
  }

  #company .p-company-value__accordion__item::after,#company-en .p-company-value__accordion__item::after {
    bottom: 22px;
  }

  #company .p-company-value__accordion__title,#company-en .p-company-value__accordion__title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 160px;
    padding: 20px 0 20px 30px;
    font-size: 3rem;
    line-height: 1.66667;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #company .p-company-value__accordion__title--en,#company-en .p-company-value__accordion__title--en {
    font-size: 3.8rem;
  }

  #company .p-company-value__accordion__num,#company-en .p-company-value__accordion__num {
    position: absolute;
    top: -57px;
    font-size: 6.2rem;
  }

  #company .p-company-value__accordion__text,#company-en .p-company-value__accordion__text {
    margin: -12px -1em 0 0;
    padding: 0 30px;
  }

  #company .p-company-value__accordion__img,#company-en .p-company-value__accordion__img {
    position: relative;
    z-index: 100;
    width: 100%;
    overflow: hidden;
  }

  #company .p-company-value__accordion__img .p-company-value__accordion__num,#company-en .p-company-value__accordion__img .p-company-value__accordion__num {
    top: auto;
    bottom: -58px;
    left: 30px;
    color: #fff;
  }

  #company .p-company-info,#company .p-company-outline,#company-en .p-company-info,#company-en .p-company-outline {
    padding: 0px 72px;
  }

  #company .p-company-info .c-section-title,#company .p-company-outline .c-section-title,#company-en .p-company-info .c-section-title,#company-en .p-company-outline .c-section-title {
    margin-bottom: 40px;
  }

  #company .p-company-info,#company-en .p-company-info {
    margin-bottom: 32px;
  }

  #company .p-company-info .p-company-table--en dl dt,#company-en .p-company-info .p-company-table--en dl dt {
    margin-bottom: 6px;
  }

  #company .p-company-info--en,#company-en .p-company-info--en {
    margin-top: 105px;
  }

  #company .p-company-outline .p-company-table dl,#company-en .p-company-outline .p-company-table dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  #company .p-company-outline .p-company-table dl dt,#company-en .p-company-outline .p-company-table dl dt {
    margin-right: 56px;
  }

  #company .p-company-outline .p-company-table--en dl,#company-en .p-company-outline .p-company-table--en dl {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  #company .p-company-outline .p-company-table--en dl:not(:last-child),#company-en .p-company-outline .p-company-table--en dl:not(:last-child) {
    margin-bottom: 43px;
  }

  #company .p-company-outline .p-company-table--en dl dt,#company-en .p-company-outline .p-company-table--en dl dt {
    width: 160px;
    min-width: 160px;
    margin-right: 20px;
  }

  #company .p-company-outline .p-company-table--en dl dd,#company-en .p-company-outline .p-company-table--en dl dd {
    padding-top: 4px;
    line-height: 1.66667;
  }

  #company .p-company-outline--en,#company-en .p-company-outline--en {
    margin-bottom: 135px;
  }

  #company .p-company-table,#company-en .p-company-table {
    padding: 0 0 48px;
    letter-spacing: .16em;
  }

  #company .p-company-table dl:not(:last-child),#company-en .p-company-table dl:not(:last-child) {
    margin-bottom: 48px;
  }

  #company .p-company-table dl dt,#company-en .p-company-table dl dt {
    margin-bottom: 12px;
  }

  #company .p-company-table--en dl dt,#company-en .p-company-table--en dl dt {
    font-size: 2.6rem;
  }

  .p-form {
    margin: 141px auto 0;
  }

  .p-form form {
    width: 100%;
  }

  .p-form__head {
    padding: 0 70px;
  }

  .p-form--wp-dl .p-form__head,.p-form--wp .p-form__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  .p-form--wp-dl .p-form__head .p-form__head__inner,.p-form--wp .p-form__head .p-form__head__inner {
    margin-bottom: 29px;
  }

  .p-form__head__image {
    width: 280px;
  }

  .p-form__step {
    margin: 112px 0 21px;
  }

  .p-form__step__item:not(:last-child)::after {
    width: 25px;
    margin: 0 20px 7px;
  }

  .p-form__step__num {
    font-size: 3rem;
  }

  .p-form--wp .p-form__step {
    margin-top: 46px;
  }

  .p-form__title {
    margin-bottom: 23px;
    margin-right: -0.36em;
    font-size: 4.6rem;
    text-align: center;
    white-space: nowrap;
  }

  .p-form__title--sp-narrow {
    letter-spacing: 0.16em;
  }

  .p-form__text {
    margin-right: -.16em;
    font-size: 2.2rem;
    line-height: 1.81818;
    letter-spacing: .16em;
    text-align: left;
  }

  .p-form--wp-dl .p-form__text {
    text-align: center;
  }

  .p-form__body {
    padding: 135px 70px 180px;
  }

  .p-form--wp-dl .p-form__body {
    width: calc(100% + 80px);
    margin-top: -109px;
    margin-left: -40px;
    height: 320px;
  }

  .l-wrapper--form-comfirm .p-form__body {
    padding: 111px 70px 180px;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block:not(:last-child) {
    margin-bottom: 80px;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row {
    border-width: 2px;
    border-color: #413f48;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row:not(:first-child) {
    padding-top: 80px;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--btns {
    margin-top: 80px;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--2items .p-form__item:first-child {
    border-width: 2px;
    border-color: #413f48;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--birthday {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__row--birthday .p-form__item--has-child {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 0;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__item {
    min-height: 106px;
    padding-top: 0px;
    padding-bottom: 17px;
    font-size: 2.6rem;
    line-height: 1.76923;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label {
    margin-bottom: 4px;
    font-size: 2rem;
    line-height: 2;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label-floating-wrapper {
    padding-left: 0;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .p-form__label-floating-wrapper .p-form__floating-label {
    position: static;
    margin-bottom: 4px;
    font-size: 2rem;
    line-height: 2;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .c-dropdown {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    padding-left: 0;
  }

  .l-wrapper--form-comfirm .p-form__body .p-form__block .c-dropdown__label {
    position: static;
    margin-bottom: 4px;
    padding: 0;
    font-size: 2rem;
    line-height: 2;
  }

  .p-form__dl-button.c-more {
    width: 610px;
    margin-top: 80px;
  }

  .p-form__top-bt.c-more {
    margin: 103px auto 0;
  }

  .p-form__block:not(:last-child) {
    margin-bottom: 150px;
  }

  .p-form__block:nth-last-child(2) {
    margin-bottom: 100px;
  }

  .p-form__row:not(:last-child) {
    margin-bottom: 103px;
  }

  .p-form__row.is-required::before {
    left: -31px;
    font-size: 4rem;
    line-height: 94px;
  }

  .p-form__row--sp2col {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .p-form__row--sp2col .p-form__item {
    width: calc(50% - 15px);
  }

  .p-form__row--sp2col .p-form__item + .p-form__item {
    margin-top: 0;
  }

  .p-form__item + .p-form__item {
    margin-top: 103px;
  }

  .p-form__item .c-dropdown__label {
    padding: 27px 0;
    border-width: 2px;
  }

  .p-form__item .c-dropdown__label::after {
    margin-right: 0;
  }

  .p-form__item .c-dropdown__menu {
    border-bottom: 0;
    padding-bottom: 43px;
    left: -30px;
    width: calc(100% + 60px);
  }

  .p-form__item .c-dropdown__menu::after {
    top: 30px;
    right: 30px;
  }

  .p-form__item .c-dropdown__item {
    padding: 27px 30px;
  }

  .p-form__item__child {
    width: calc(50% - 15px);
  }

  .p-form__label {
    font-size: 2.6rem;
    padding: 28px 0;
  }

  .p-form__hidden-label {
    top: -16px;
    font-size: 2rem;
  }

  .p-form__floating-label {
    top: 27px;
    font-size: 2.6rem;
  }

  .p-form__label-floating-wrapper.is-float .p-form__floating-label {
    top: -16px;
    font-size: 2rem;
  }

  .p-form__confirm-bt {
    width: 100%;
    height: 120px;
  }

  .p-form__privacy-bt.c-more {
    width: 410px;
    margin: 0 auto 120px;
  }

  .p-form__privacy-bt.c-more .c-more__rect::after {
    border-width: 2px;
  }

  .p-form__privacy-bt.c-more .c-more__text {
    font-size: 2.2rem;
    letter-spacing: .6em;
  }

  .p-form__privacy-bt.c-more:hover .c-more__text {
    letter-spacing: .8rem;
  }

  .p-form__reset-bt.c-more {
    width: 100%;
    margin: 114px auto 0;
  }

  .p-form__reset-bt.c-more .c-more__rect {
    height: 50px;
  }

  .p-form__err-message {
    bottom: -39px;
    font-size: 2rem;
  }

  .p-form__caption {
    font-size: 2rem;
  }

  .p-form__caption span {
    padding-right: 6px;
    font-size: 4rem;
  }

  .p-form__confirm__item:nth-last-child(2) {
    margin-bottom: 160px;
  }

  .p-form__confirm__item:not(:first-child) dl {
    padding-top: 80px;
  }

  .p-form__confirm__item:not(:last-child) {
    border-bottom: 2px solid #413f48;
  }

  .p-form__confirm__item dl {
    padding-bottom: 17px;
  }

  .p-form__confirm__item dl dt {
    font-size: 2rem;
    margin-bottom: 4px;
  }

  .p-form__confirm__item dl dd {
    font-size: 2.6rem;
    line-height: 1.76923;
  }

  .p-form__back-bt.c-more {
    width: 100%;
    line-height: 2;
  }

  .p-form__unit {
    top: 16px;
  }

  .p-news {
    margin-top: 103px;
    margin-bottom: 162px;
    padding-bottom: 120px;
    padding-right: 70px;
    padding-left: 70px;
  }

  .p-news::after {
    top: -491px;
    right: -40px;
    left: -40px;
  }

  .p-news h3 {
    margin-bottom: 24px;
    font-size: 3rem;
    line-height: 2.06667;
  }

  .p-news h4 {
    margin-top: 110px;
    font-size: 2.6rem;
    line-height: 1.84615;
  }

  .p-news ul,.p-news ol {
    margin-top: 90px;
  }

  .p-news ul li,.p-news ol li {
    padding-left: 100px;
    line-height: 2.25;
  }

  .p-news ul li:before {
    top: 24px;
    left: 28px;
    width: 7px;
    height: 7px;
  }

  .p-news ol li:before {
    top: -2px;
    font-size: 2.8rem;
  }

  .p-news__img,.p-news__movie {
    margin-top: 100px;
    margin-right: -30px;
    margin-left: -30px;
  }

  .p-news__map {
    width: calc(100% + 60px);
    height: 469px;
    margin-left: -30px;
  }

  .p-privacy {
    margin: 141px auto 0;
  }

  .p-privacy__head {
    margin-bottom: 109px;
    padding: 0 70px;
  }

  .p-privacy__head__title {
    margin-bottom: 23px;
    margin-right: -0.36em;
    font-size: 4.6rem;
    text-align: center;
    white-space: nowrap;
  }

  .p-privacy__head__text {
    margin-right: -.1em;
    font-size: 2.2rem;
    letter-spacing: .1em;
    line-height: 1.81818;
  }

  .p-privacy__body {
    padding: 110px 0 168px;
    line-height: 1.86;
  }

  .p-privacy__block {
    padding: 0 70px;
  }

  .p-privacy__block:not(:last-child) .p-privacy__text {
    margin: 0 0 88px;
    padding-bottom: 90px;
  }

  .p-privacy__block ol {
    margin: 46px 0 44px;
    line-height: 2.7;
  }

  .p-privacy__block ol li .f-bodoni {
    padding: 0 56px 0 28px;
    font-size: 2.6rem;
  }

  .p-privacy__block ul {
    margin: 61px 0 59px;
    line-height: 1.66;
  }

  .p-privacy__block ul li {
    text-indent: -99px;
    padding-left: 99px;
  }

  .p-privacy__block ul li:not(:last-child) {
    margin-bottom: 30px;
  }

  .p-privacy__block ul span {
    padding: 0 50px 0 24px;
  }

  .p-privacy__heading {
    margin-bottom: 39px;
  }

  .p-privacy__text {
    letter-spacing: .14em;
  }

  .p-privacy__caption {
    letter-spacing: .14em;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section {
    padding: 0 30px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section:first-child {
    margin-top: 242px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section:not(:first-child) {
    margin-top: 148px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section__title {
    left: -15px;
    width: calc(100% + 60px);
    margin-bottom: 32px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section__panel {
    display: block;
    position: relative;
    top: -44px;
    margin-bottom: -44px;
    width: 610px;
    padding: 0;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section__image {
    height: 456px;
    padding: 0;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(2) .p-top-section__panel {
    top: -107px;
    margin-bottom: -107px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(2) .p-top-section__title {
    left: -35px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(3) .p-top-section__panel {
    top: -209px;
    margin-bottom: -209px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(3) .p-top-section__title {
    left: -30px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section:nth-child(4) .p-top-section__panel {
    top: -206px;
    margin-bottom: -206px;
  }

  #recruit-culture .p-recruit-culture-section--02 .p-top-section.is-reverse .c-more {
    width: 100%;
  }

  #recruit-interview .p-recruit-section--main .p-top-section__panel {
    bottom: 45px;
  }

  #recruit-interview .p-recruit-interview-section--02 {
    margin-top: -76px;
    padding-top: 188px;
    padding-bottom: 87px;
  }

  #recruit-interview .p-recruit-interview-section--02::after {
    right: -40px;
    left: -40px;
  }

  #recruit-joblist .p-recruit-section--main {
    margin-bottom: 200px;
  }

  #recruit-joblist .p-recruit-section--main .p-top-section__panel {
    bottom: 45px;
  }

  #recruit-joblist .p-recruit-joblist-section--02 > .l-wrapper {
    padding: 0 30px;
  }

  .p-recruit-joblist-block__item {
    margin-bottom: 150px;
  }

  .p-recruit-joblist-block__item__title {
    margin: -16px 0 31px;
    font-size: 3rem;
    letter-spacing: .5em;
    line-height: 2.06667;
  }

  .p-recruit-joblist-block__item.has-accordion .p-recruit-joblist-block__link {
    margin: 0;
  }

  .p-recruit-joblist-block__item.has-accordion .p-recruit-joblist-block__main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .p-recruit-joblist-block__item.has-accordion .p-recruit-joblist-block__text {
    width: 300px;
  }

  .p-recruit-joblist-block__title {
    margin-bottom: 70px;
    font-size: 10.4rem;
    letter-spacing: .26em;
  }

  .p-recruit-joblist-block__subtitle {
    margin-top: 30px;
    margin-right: -12%;
    font-size: 3rem;
    line-height: 2.06667;
  }

  .p-recruit-joblist-block__text {
    margin: -12px 0;
  }

  .p-recruit-joblist-block__links {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .p-recruit-joblist-block__link {
    width: 280px;
    height: 120px;
    margin: 60px 0 60px auto;
  }

  .p-recruit-joblist-block__table {
    padding: 0 0 48px;
  }

  .p-recruit-joblist-block__table dl:not(:last-child) {
    margin-bottom: 30px;
  }

  .p-recruit-joblist-block__table dl dt {
    margin-bottom: 6px;
  }

  .p-recruit-joblist-block__accordion {
    height: 125px;
  }

  .p-recruit-joblist-block__accordion .c-accordion__title {
    height: 125px;
    line-height: 125px;
  }

  .p-recruit-joblist-block__accordion .c-accordion__title::before {
    font-size: 2.6rem;
    letter-spacing: .6em;
  }

  .p-recruit-joblist-block__accordion .c-accordion__content .p-recruit-joblist-block__link--bt {
    margin: 0 0 5px auto;
  }

  .p-recruit-joblist-block__accordion::before {
    top: 60px;
  }

  .p-recruit-joblist-block__accordion::after {
    top: 48px;
  }

  .p-recruit-joblist-block__accordion.is-open {
    padding-bottom: 0;
  }

  .p-recruit-joblist-block__accordion.is-open .c-accordion__title::before {
    content: '';
  }

  .p-recruit-joblist-block__accordion.is-open .c-accordion__content .c-accordion__title {
    position: relative;
  }

  .p-recruit-joblist-block__accordion.is-open .c-accordion__content .c-accordion__title::before {
    content: 'CLOSE';
  }

  .p-recruit-joblist-block__accordion.is-open .c-accordion__content .c-accordion__title::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 28px;
    height: 3px;
    background-color: #302d39;
  }

  .p-recruit-news {
    margin: 364px auto 0;
  }

  .p-recruit-news h2 {
    margin-bottom: 31px;
    font-size: 3.9rem;
  }

  .p-recruit-news dl {
    padding: 30px 0 31px;
    border-width: 2px;
    line-height: 1.66667;
  }

  .p-recruit-news dl dt {
    margin-right: 10.2%;
    font-size: 2.6rem;
    letter-spacing: 0.02em;
  }

  .p-recruit-news dl dd {
    font-size: 2.4rem;
    letter-spacing: 0.16em;
  }

  .p-recruit-pages-section {
    padding: 0 40px;
  }

  .l-nav + .p-recruit-pages-section {
    margin-top: 46px;
  }

  .p-recruit-pages-section__text {
    font-size: 2.4rem;
    letter-spacing: 0.16em;
  }

  .p-recruit-section--main .p-top-section__image {
    padding-left: 90px;
  }

  .p-recruit-section--main .p-top-section__panel {
    top: auto;
    bottom: -57px;
  }

  .p-recruit-section--main .p-top-section__lead {
    margin-top: 19px;
  }

  .p-top-section--recruit-entry {
    position: relative;
    right: -40px;
  }

  .p-top-section--recruit-entry .p-top-section__image {
    padding-left: 90px;
  }

  .p-top-section--recruit-entry .p-top-section__panel {
    top: -54px;
    left: -14px;
  }

  .p-top-section--recruit-entry .c-more {
    margin-top: 85px;
  }

  #recruit-philo .p-recruit-philo-section--01 {
    margin-bottom: 242px;
  }

  #recruit-philo .p-recruit-philo-section--01 .p-top-section__panel {
    bottom: -60px;
  }

  #recruit-philo .p-recruit-philo-section--02 {
    margin-bottom: 147px;
  }

  #recruit-philo .p-recruit-philo-section--03 .p-recruit-joblist-block__title {
    margin-bottom: 112px;
    font-size: 8rem;
  }

  #recruit-philo .p-recruit-philo-section--03 .p-recruit-joblist-block__item {
    margin-bottom: 84px;
  }

  #recruit-philo .p-recruit-philo-article .p-recruit-pages-section__text {
    margin-bottom: 107px;
    padding: 0 30px;
  }

  #recruit-philo .p-recruit-philo-article__image {
    margin-bottom: 72px;
  }

  #recruit-top .p-recruit-section--01 .p-top-section--recruit {
    padding: 46px 42px 0 0;
  }

  #recruit-top .p-recruit-section--01 .p-top-section--recruit .p-top-section__image {
    padding-left: 58px;
  }

  #recruit-top .p-recruit-section--01 .p-top-section--recruit .p-top-section__panel {
    top: auto;
    bottom: -184px;
    left: -34px;
  }

  #recruit-top .p-recruit-section--01 .p-top-section--recruit .p-top-section__lead {
    margin-top: 23px;
  }

  #recruit-top .p-recruit-section--02 .l-wrapper--sp-align-right {
    padding-right: 170px;
    padding-left: 0;
  }

  #recruit-top .p-recruit-section--02 .l-wrapper--sp-align-right .p-top-section__image {
    padding-right: 0;
  }

  #recruit-top .p-recruit-section--02 .l-wrapper--sp-align-left {
    padding-left: 170px;
    padding-right: 0;
  }

  #recruit-top .p-recruit-section--02 .l-wrapper--sp-align-left .p-top-section__panel {
    left: -100px;
  }

  #recruit-top .p-recruit-section--02 .l-wrapper--sp-align-left .p-top-section__image {
    padding-left: 0;
  }

  #recruit-top .p-recruit-section--02 .p-top-section__image {
    height: 650px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--philosophy {
    margin-top: 200px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel {
    top: -13px;
    width: 730px;
    padding-left: 0;
    padding-right: 20px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel .p-top-section__lead {
    width: 350px;
    margin-top: 23px;
    margin-left: auto;
    margin-right: -30px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel .p-top-section__text-wrapper {
    padding-right: 72px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--philosophy .p-top-section__panel .c-more {
    margin-top: 33px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--culture .p-top-section__panel {
    top: -12px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--culture .p-top-section__lead {
    margin-top: 23px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--culture .c-more {
    margin-top: 33px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel {
    top: -33px;
    width: 710px;
    padding-left: 0;
    padding-right: 40px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .p-top-section__title {
    margin-right: -80px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .p-top-section__lead {
    margin-top: 23px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .p-top-section__text-wrapper {
    padding-left: 50px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--welfare-benefits .p-top-section__panel .c-more {
    margin-top: 33px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel {
    top: -34px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel .p-top-section__lead {
    margin-top: 23px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--work-system .p-top-section__panel .c-more {
    margin-top: 33px;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--interview .c-more {
    position: relative;
    right: -30px;
    margin-top: 152px;
    margin-left: auto;
  }

  #recruit-top .p-recruit-section--02 .p-top-section--recruit-entry {
    right: 0;
  }

  #recruit-welf .p-recruit-section--main .p-top-section__panel {
    bottom: -184px;
  }

  #recruit-welf .p-recruit-welf-section--02 {
    margin-top: -76px;
    padding-top: 382px;
    padding-bottom: 87px;
  }

  #recruit-welf .p-recruit-welf-section--02::after {
    right: -40px;
    left: -40px;
  }

  #recruit-welf ~ .l-page-modals .c-slider {
    padding: 150px 30px;
  }

  #recruit-welf ~ .l-page-modals .c-slider-container {
    padding: 0 60px;
  }

  #recruit-welf ~ .l-page-modals .c-slider-button-next.swiper-button-next,#recruit-welf ~ .l-page-modals .c-slider-button-prev.swiper-button-prev {
    top: 240px;
  }

  #recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail {
    font-size: 2.6rem;
    letter-spacing: .2em;
  }

  #recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__image {
    margin-bottom: 50px;
  }

  #recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__title p {
    padding-bottom: 50px;
    margin-bottom: 31px;
    border-width: 3px;
  }

  #recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table dl:not(:last-child) {
    margin-bottom: 21px;
  }

  #recruit-welf ~ .l-page-modals .c-slider .p-recruit-welf-detail__table dl dt {
    margin-bottom: 8px;
  }

  #recruit-work .p-recruit-section--main .p-top-section__panel {
    top: auto;
    bottom: -184px;
  }

  #recruit-work .p-top-section__lead {
    margin-top: 25px;
  }

  #recruit-work .p-top-section .p-recruit-pages-section__text {
    margin-right: -1em;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section {
    padding: 0 30px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section:first-child {
    margin-top: 324px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section:not(:first-child) {
    margin-top: 148px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section__panel {
    display: block;
    position: relative;
    top: -44px;
    margin-bottom: -44px;
    width: 610px;
    padding: 0;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section__panel .inner {
    margin-bottom: 68px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section__image {
    height: 456px;
    padding: 0;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--01 .p-top-section__panel .inner,#recruit-work .p-recruit-work-section--02 .p-top-section--03 .p-top-section__panel .inner {
    width: 100%;
    margin-right: -129px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--01 .p-top-section__image,#recruit-work .p-recruit-work-section--02 .p-top-section--03 .p-top-section__image,#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-top-section__image {
    margin-left: -70px;
    margin-right: 70px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--01 .p-top-section__panel,#recruit-work .p-recruit-work-section--02 .p-top-section--03 .p-top-section__panel,#recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-top-section__panel {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--01 .p-top-section__panel {
    margin-top: -264px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--01 .p-top-section__panel .inner {
    margin-right: -1px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--02 .p-top-section__image {
    margin-left: 70px;
    margin-right: -70px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--02 .p-top-section__panel .inner {
    margin-top: -156px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--03 .p-top-section__intro {
    pointer-events: none;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--04 {
    margin-top: 278px !important;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-recruit-work-table {
    padding: 0 30px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-top-section__panel {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    top: -607px;
    margin-bottom: -607px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section--04 .p-top-section__panel .inner {
    margin-bottom: 174px;
  }

  #recruit-work .p-recruit-work-section--02 .p-top-section.is-reverse .c-more {
    width: 100%;
  }

  #recruit-work .p-recruit-work-table__head {
    margin-bottom: 34px;
    font-size: 3rem;
  }

  #recruit-work .p-recruit-work-table__body ul li {
    line-height: 2.5;
  }

  #recruit-work .p-recruit-work-table__body ul li::before {
    margin-left: -8px;
    margin-right: 33px;
    padding: 0 15px 0 0;
  }

  .p-service-pages-section {
    padding: 0 40px;
  }

  .l-nav + .p-service-pages-section {
    margin-top: 44px;
  }

  .p-service-pages-section--main .p-top-section__image {
    padding-left: 90px;
  }

  .p-service-pages-section--main .p-top-section__panel {
    top: auto;
    bottom: 63px;
  }

  .p-service-pages-section--main .p-top-section__panel .p-top-section__lead {
    margin-top: 12px;
  }

  .p-service-pages-section__text {
    font-size: 2.4rem;
    letter-spacing: 0.16em;
  }

  .p-service-pages-section .p-top-intro__body {
    margin-top: 148px;
  }

  .p-service-pages-section .p-feature .p-top-section {
    margin-top: 148px;
  }

  .p-service-pages-section .p-feature + .p-feature .p-top-section {
    margin-top: 160px;
  }

  .p-service-pages-section .p-service-case {
    margin-top: 160px;
  }

  #service .l-header {
    padding-bottom: 46px;
  }

  #service-en .l-header {
    margin-bottom: 46px;
  }

  .p-service-section {
    margin-bottom: 160px;
  }

  .p-service-section--01 {
    margin-bottom: 303px;
  }

  .p-service-section--01 .p-top-section__panel {
    top: auto;
    bottom: -120px;
  }

  .p-service-section--01 .p-top-section figure {
    padding-left: 90px;
  }

  .p-service-section--01 .p-top-section__lead {
    margin-top: 27px;
  }

  .p-service-section--01 > .l-wrapper {
    padding: 0 40px;
  }

  .p-service-section--02 .l-wrapper--sp-align-right,.p-service-section--03 .l-wrapper--sp-align-right,.p-service-section--04 .l-wrapper--sp-align-right,.p-service-section--05 .l-wrapper--sp-align-right {
    padding-left: 40px;
  }

  .p-service-section--02 .p-top-section__image,.p-service-section--03 .p-top-section__image,.p-service-section--04 .p-top-section__image,.p-service-section--05 .p-top-section__image {
    height: 464px;
    margin-bottom: 27px;
    padding-left: 90px;
  }

  .p-service-section--02 .p-top-section__panel,.p-service-section--03 .p-top-section__panel,.p-service-section--04 .p-top-section__panel,.p-service-section--05 .p-top-section__panel {
    position: static;
    width: auto;
    margin-right: 40px;
    padding-left: 90px;
  }

  .p-service-section--02 .p-top-section__panel .inner,.p-service-section--03 .p-top-section__panel .inner,.p-service-section--04 .p-top-section__panel .inner,.p-service-section--05 .p-top-section__panel .inner {
    position: absolute;
    top: 160px;
    left: 0;
  }

  .p-service-section--02 .p-top-section__lead,.p-service-section--03 .p-top-section__lead,.p-service-section--04 .p-top-section__lead,.p-service-section--05 .p-top-section__lead {
    margin-top: 18px;
  }

  .p-service-section--02 .p-panel,.p-service-section--03 .p-panel,.p-service-section--04 .p-panel,.p-service-section--05 .p-panel {
    position: static;
    margin-top: -381px;
  }

  .p-service-section--02 .p-panel-sticky__title,.p-service-section--02 .p-panel-sticky__lead,.p-service-section--02 .p-panel-sticky__detail,.p-service-section--03 .p-panel-sticky__title,.p-service-section--03 .p-panel-sticky__lead,.p-service-section--03 .p-panel-sticky__detail,.p-service-section--04 .p-panel-sticky__title,.p-service-section--04 .p-panel-sticky__lead,.p-service-section--04 .p-panel-sticky__detail,.p-service-section--05 .p-panel-sticky__title,.p-service-section--05 .p-panel-sticky__lead,.p-service-section--05 .p-panel-sticky__detail {
    padding-left: 40px;
  }

  .p-service-section--02 .p-panel__inner,.p-service-section--03 .p-panel__inner,.p-service-section--04 .p-panel__inner,.p-service-section--05 .p-panel__inner {
    padding-top: 502px;
    padding-bottom: 65px;
  }

  #storelist .l-wrapper--storelist {
    margin-top: 47px;
  }

  #storelist .p-header.is-index h1 {
    visibility: hidden !important;
  }

  #storelist .l-footer {
    margin-top: 238px;
  }

  .p-storelist-search-modal,.p-storelist-menu-modal {
    padding-right: 40px;
    padding-left: 40px;
    -webkit-transform: translate(-150%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    transform: translate(-150%, 0) matrix3d(1, 0, 0, 0, -0.35, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }

  .p-storelist-search-modal {
    margin-top: -149px;
    padding-top: 88px;
    padding-bottom: 110px;
  }

  .p-storelist-search-modal input {
    padding: 23px 0 13px 30px;
    border-width: 3px;
    font-size: 3rem;
  }

  .p-storelist-menu-modal {
    margin-top: -180px;
    padding-top: 40px;
    padding-bottom: 75px;
  }

  .is-ipad .p-storelist-menu-modal {
    margin-top: -150px;
    padding-bottom: 55px;
  }

  .p-storelist-menu-modal .p-storelist-menu {
    width: 156px;
    margin-right: 40px;
  }

  .p-storelist-menu-modal .p-storelist-menu .p-header__nav a::after {
    right: 0px;
    left: -27px;
    bottom: -6px;
    width: 156px;
    height: 2px;
  }

  .p-storelist-menu-modal__checked-result {
    width: 100%;
  }

  .p-storelist-menu-modal__checked-result::before {
    bottom: -22px;
    height: 22px;
  }

  .p-storelist-menu-modal__checked-items {
    width: calc(100% - 134px - 8px);
    border-width: 3px;
  }

  .p-storelist-menu-modal__checked-items.is-show .p-storelist-menu-modal__checked-items__box .inner {
    max-height: 800px;
  }

  .p-storelist-menu-modal__checked-items__default-text {
    padding: 10px 0 17px;
    font-size: 20px;
    line-height: 1;
  }

  .p-storelist-menu-modal__checked-items__box {
    width: 292px;
    margin-top: 0;
  }

  .p-storelist-menu-modal__checked-items__box .inner {
    max-height: 47px;
  }

  .p-storelist-menu-modal__checked-items__result {
    width: 134px;
    padding-top: 4px;
  }

  .p-storelist-menu-modal__checked-items__result button {
    padding: 0 0 39px;
    border-width: 3px;
  }

  .p-storelist-menu-modal__checked-items__result button::after {
    border-width: 3px;
  }

  .p-storelist-menu-modal__checked-items__more {
    top: 2px;
    right: -40px;
    font-size: 12px;
  }

  .p-storelist-menu-modal__checked-items__close {
    bottom: 6px;
    width: 34px;
    height: 34px;
  }

  .p-storelist-menu-modal__checked-items__close::after {
    top: calc(50% - 2px);
    left: 0;
    width: 29px;
    height: 3px;
  }

  .p-storelist-menu-modal__checked-items__num {
    margin-right: 20px;
    font-size: 20px;
  }

  .p-storelist-menu-modal__checked-items__num > span {
    font-size: 24px;
    margin-right: 6px;
  }

  .p-storelist-menu-modal__checked-item {
    max-width: 185px;
    height: 40px;
    margin-bottom: 18px;
    padding: 12px 26px 6px 3px;
    font-size: 20px;
  }

  .p-storelist-menu-modal__checked-item:not(:last-child) {
    margin-right: 26px;
  }

  .p-storelist-menu-modal__checked-item__bg {
    display: none;
  }

  .p-storelist-menu-modal__checked-item::before,.p-storelist-menu-modal__checked-item::after {
    top: 21px;
    right: 0;
    width: 17px;
  }

  .p-storelist-menu-modal__check-wrapper {
    padding-top: 140px;
  }

  .p-storelist-menu-modal__common-btns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 49px;
  }

  .p-storelist-menu-modal__common-btns > a {
    font-size: 2.2rem;
    line-height: 1.7;
  }

  .p-storelist-menu-modal__common-btns > a:first-child {
    margin-right: 70px;
  }

  .p-storelist-menu-modal__check-btns {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 474px;
    max-height: 750px;
    overflow: scroll;
  }

  .is-ipad .p-storelist-menu-modal__check-btns {
    max-height: 490px;
  }

  .p-storelist-menu-modal__check-btn span {
    width: 217px;
    height: 60px;
    margin-bottom: 30px;
    padding-top: 18px;
    font-size: 2.2rem;
    letter-spacing: 0.2em;
    text-indent: 0.4em;
  }

  .p-storelist-search {
    padding-bottom: 90px;
  }

  .is-ipad .p-storelist-search {
    padding-bottom: 60px;
  }

  .p-storelist-search__open {
    width: 156px;
    height: 48px;
  }

  .p-storelist-search__open::before {
    left: 3px;
    bottom: 19px;
    width: 24px;
    height: 23px;
  }

  .p-storelist-search__open::after {
    height: 3px;
  }

  .p-storelist-menu .p-header__nav--storelist li {
    margin-left: 29px;
    font-size: 2.2rem;
  }

  .p-storelist-menu .p-header__nav--storelist li::before {
    display: none;
  }

  .p-storelist-menu .p-header__nav--storelist li.p-header__nav__headding {
    margin-bottom: 36px;
    letter-spacing: 0.2em;
  }

  .p-storelist-menu .p-header__nav--storelist li.p-header__nav__headding:not(:first-child)::before {
    display: block;
    margin-bottom: 37px;
  }

  .p-storelist-menu .p-header__nav--storelist li + li {
    margin-top: 28px;
  }

  .p-storelist-main {
    margin-top: -143px;
  }

  .p-storelist-main:before {
    top: 433px;
    bottom: -79px;
    right: -40px;
    left: -40px;
  }

  .p-top-access__image {
    display: none;
  }

  .p-top-access__gmap {
    width: 100%;
    height: 650px;
  }

  .p-top-access__nav {
    margin-top: 44px;
  }

  .p-top-access-nav {
    font-size: 2.8rem;
  }

  .p-top-access-nav li + li {
    margin-top: 45px;
  }

  .p-top-access-nav .u-hover:after {
    height: 3px;
  }

  .p-top-intro {
    margin-top: 46px;
  }

  .p-top-intro.l-wrapper {
    padding-left: 0;
    padding-right: 0;
  }

  .p-top-intro__image {
    height: 770px;
    padding-left: 40px;
    padding-right: 140px;
  }

  .p-top-intro__image .c-more {
    width: 150px;
    top: 50px;
    left: 70px;
  }

  .p-top-intro__title {
    position: relative;
    width: 100%;
    margin-top: -2.1em;
    margin-left: 35px;
  }

  .p-top-intro__lead {
    position: relative;
    margin-top: 20px;
    font-size: 3rem;
    letter-spacing: calc(500em / 1000);
    left: 6px;
    text-align: center;
    white-space: nowrap;
  }

  .p-top-intro__body {
    margin-top: 190px;
    padding-left: 30px;
    line-height: 1.66667;
  }

  .p-top-intro__body .c-more {
    margin-top: 50px;
    margin-right: 30px;
    margin-left: auto;
  }

  .p-top-intro__copy {
    font-size: 3rem;
    letter-spacing: calc(960em / 1000 * 0.94);
  }

  .p-top-intro__copy--en {
    font-size: 3.8rem;
    line-height: 1.42105;
    letter-spacing: calc(220em / 1000);
  }

  .p-top-intro__text {
    margin-top: 32px;
    padding-right: 24px;
    letter-spacing: calc(180em / 1000);
    line-height: 2;
  }

  .p-top-intro-title {
    font-size: 8.6rem;
    letter-spacing: 13px;
  }

  .p-top-intro-title__shift {
    -webkit-transform: translateX(7px);
    transform: translateX(7px);
  }

  .p-top-modal .l-modal__movie iframe {
    width: 90%;
  }

  .p-top-section {
    margin-top: 160px;
  }

  .p-top-section.is-reverse .p-top-section__panel {
    width: 610px;
    padding-left: 70px;
  }

  .p-top-section.is-reverse {
    padding: 0;
  }

  .p-top-section.is-reverse .p-top-section__image {
    padding-right: 100px;
    padding-left: 0;
  }

  .p-top-section.is-reverse .c-grid-06 {
    margin-left: 0;
  }

  .p-top-section--service {
    margin-top: 200px;
  }

  .p-top-section--service .p-top-section__panel {
    margin-top: -28px;
  }

  .p-top-section--service .p-top-section__image {
    height: 710px;
  }

  #case .p-top-section--service {
    margin-top: 160px;
  }

  #en-top .p-top-section--company .p-top-section__panel .p-top-section__lead {
    margin-left: -20px;
  }

  .p-top-section--store-operation .p-top-section__panel {
    bottom: 65px;
  }

  .p-top-section--store-operation .p-top-section__image {
    height: 648px;
  }

  .p-top-section--store-operation .p-top-section__lead {
    top: 57px;
    left: 69px;
  }

  .p-top-section--store-operation .c-more {
    margin-top: 25px;
  }

  .p-top-section--contact .p-top-section__panel .p-top-section__title {
    left: -22px;
    width: calc(100% + 35px);
  }

  .p-top-section--case .p-top-section__panel {
    bottom: 90px;
  }

  .p-top-section--case .p-top-section__panel > div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  .p-top-section--case .p-top-section__image {
    height: 648px;
  }

  .p-top-section--case .p-top-section__lead {
    top: 99px;
    left: 69px;
  }

  .p-top-section--case .c-more {
    margin-top: 25px;
  }

  .p-top-section__intro .c-grid-02 {
    margin-top: 50px;
  }

  .p-top-section__image {
    height: 650px;
    padding-left: 100px;
  }

  .p-top-section__title--company {
    margin-left: -10px;
  }

  .p-top-section__title--service {
    margin-left: -4px;
  }

  .p-top-section__title--access {
    font-size: 8.4rem;
    letter-spacing: calc(280em / 1000 * 0.92);
  }

  .p-top-section__lead {
    margin-top: 42px;
  }

  .p-top-section__lead--abs {
    margin: 0;
  }

  .p-top-section__text {
    letter-spacing: .16em;
  }

  .c-more {
    margin-top: 50px;
  }

  .p-top-section-row {
    padding-bottom: 59px;
  }

  .p-top-section-row .p-top-section {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .p-top-section-row .p-top-section:first-child {
    margin-top: 232px;
    margin-right: 28px;
  }

  .p-top-section-row .p-top-section:last-child {
    margin-top: 290px;
  }

  .p-top-section-row .p-top-section__panel {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    top: -72px;
    left: 25px;
    height: 318px;
  }

  .p-top-section-row .p-top-section__image {
    height: 382px;
    padding-left: 0;
  }

  .p-top-service__case:nth-child(n + 2) {
    margin-top: 65px;
  }

  .p-top-service__caption {
    margin-top: 30px;
  }

  .p-top-service__caption figcaption {
    position: static;
    margin-top: 20px;
  }

  .p-top-service__caption figcaption .ja {
    line-height: 1.66667;
  }

  .p-top-service__caption figcaption .en {
    margin-top: 16px;
    font-size: 5.6rem;
    line-height: 1.1;
    letter-spacing: calc(80em / 1000 * 0.92);
  }

  .p-top-service__images {
    display: block;
    margin-top: 140px;
  }

  .p-top-service__images .c-grid {
    margin-top: 40px;
  }

  .p-top-service__images .c-grid:nth-child(odd) {
    padding-right: 70px;
  }

  .p-top-service__images .c-grid:nth-child(even) {
    padding-left: 70px;
  }

  .p-top-service__more {
    margin-top: 70px;
  }

  .p-top-service__more .c-more {
    width: 445px;
  }

  .p-top-service__more .c-more__rect {
    width: 445px;
  }

  .u-pc {
    display: none !important;
  }
}

@media (max-width: 768px) and (max-width: 768px) {
  #case .p-top-section--service .p-top-section__image {
    height: 648px;
  }

  #case .p-top-section--service .c-section-lead {
    margin-top: 22px;
  }

  #case .p-top-section--service .p-top-section__panel {
    margin-top: -2px;
  }

  #case .p-top-section--service .c-more {
    margin-top: 53px;
  }
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes hoverAnime01 {
  0% {
    width: 100%;
    left: 0;
  }

  50% {
    width: 0%;
    left: 0;
  }

  51% {
    width: 0%;
    left: auto;
    right: 0;
  }

  100% {
    width: 100%;
    left: auto;
    right: 0;
  }
}

@keyframes hoverAnime01 {
  0% {
    width: 100%;
    left: 0;
  }

  50% {
    width: 0%;
    left: 0;
  }

  51% {
    width: 0%;
    left: auto;
    right: 0;
  }

  100% {
    width: 100%;
    left: auto;
    right: 0;
  }
}

@-webkit-keyframes hoverAnime02 {
  0% {
    width: 100%;
    right: 0;
  }

  50% {
    width: 0%;
    right: 0;
  }

  51% {
    width: 0%;
    right: auto;
    left: 0;
  }

  100% {
    width: 100%;
    right: auto;
    left: 0;
  }
}

@keyframes hoverAnime02 {
  0% {
    width: 100%;
    right: 0;
  }

  50% {
    width: 0%;
    right: 0;
  }

  51% {
    width: 0%;
    right: auto;
    left: 0;
  }

  100% {
    width: 100%;
    right: auto;
    left: 0;
  }
}

@-webkit-keyframes pageTopAnime {
  0% {
    bottom: 0;
    top: 100%;
  }

  50% {
    bottom: 0;
    top: 0;
  }

  100% {
    bottom: 100%;
    top: 0;
  }
}

@keyframes pageTopAnime {
  0% {
    bottom: 0;
    top: 100%;
  }

  50% {
    bottom: 0;
    top: 0;
  }

  100% {
    bottom: 100%;
    top: 0;
  }
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes loading {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@-webkit-keyframes bar1 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  49% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  50% {
    -webkit-transform: rotateZ(20deg) translateY(200%) translateX(200%);
    transform: rotateZ(20deg) translateY(200%) translateX(200%);
  }

  100% {
    -webkit-transform: rotateZ(20deg) translateY(0) translateX(0);
    transform: rotateZ(20deg) translateY(0) translateX(0);
  }
}

@keyframes bar1 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  49% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  50% {
    -webkit-transform: rotateZ(20deg) translateY(200%) translateX(200%);
    transform: rotateZ(20deg) translateY(200%) translateX(200%);
  }

  100% {
    -webkit-transform: rotateZ(20deg) translateY(0) translateX(0);
    transform: rotateZ(20deg) translateY(0) translateX(0);
  }
}

@-webkit-keyframes bar1-close {
  0% {
    -webkit-transform: rotateZ(20deg) translateY(0) translateX(0);
    transform: rotateZ(20deg) translateY(0) translateX(0);
  }

  49% {
    -webkit-transform: rotateZ(20deg) translateY(200%) translateX(200%);
    transform: rotateZ(20deg) translateY(200%) translateX(200%);
  }

  50% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  100% {
    -webkit-transform: translateX(0) translateY(4px);
    transform: translateX(0) translateY(4px);
  }
}

@keyframes bar1-close {
  0% {
    -webkit-transform: rotateZ(20deg) translateY(0) translateX(0);
    transform: rotateZ(20deg) translateY(0) translateX(0);
  }

  49% {
    -webkit-transform: rotateZ(20deg) translateY(200%) translateX(200%);
    transform: rotateZ(20deg) translateY(200%) translateX(200%);
  }

  50% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  100% {
    -webkit-transform: translateX(0) translateY(4px);
    transform: translateX(0) translateY(4px);
  }
}

@-webkit-keyframes bar2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  49% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  50% {
    -webkit-transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
    transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
  }

  100% {
    -webkit-transform: rotateZ(-20deg) translateY(0) translateX(0);
    transform: rotateZ(-20deg) translateY(0) translateX(0);
  }
}

@keyframes bar2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  49% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  50% {
    -webkit-transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
    transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
  }

  100% {
    -webkit-transform: rotateZ(-20deg) translateY(0) translateX(0);
    transform: rotateZ(-20deg) translateY(0) translateX(0);
  }
}

@-webkit-keyframes bar2-close {
  0% {
    -webkit-transform: rotateZ(-20deg) translateY(0) translateX(0);
    transform: rotateZ(-20deg) translateY(0) translateX(0);
  }

  49% {
    -webkit-transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
    transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
  }

  50% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  100% {
    -webkit-transform: translateX(0) translateY(-4px);
    transform: translateX(0) translateY(-4px);
  }
}

@keyframes bar2-close {
  0% {
    -webkit-transform: rotateZ(-20deg) translateY(0) translateX(0);
    transform: rotateZ(-20deg) translateY(0) translateX(0);
  }

  49% {
    -webkit-transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
    transform: rotateZ(-20deg) translateY(-200%) translateX(200%);
  }

  50% {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
  }

  100% {
    -webkit-transform: translateX(0) translateY(-4px);
    transform: translateX(0) translateY(-4px);
  }
}

@-webkit-keyframes twinkle {
  0% {
    right: 100%;
    left: 0;
  }

  15% {
    right: 0;
    left: 0;
  }

  30% {
    right: 0;
    left: 100%;
  }
}

@keyframes twinkle {
  0% {
    right: 100%;
    left: 0;
  }

  15% {
    right: 0;
    left: 0;
  }

  30% {
    right: 0;
    left: 100%;
  }
}

@-webkit-keyframes itemAddedBg {
  from {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes itemAddedBg {
  from {
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes itemAddedFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes itemAddedFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes force-reflow {
  0% {
    min-width: 0;
  }

  100% {
    min-width: 1px;
  }
}

@keyframes force-reflow {
  0% {
    min-width: 0;
  }

  100% {
    min-width: 1px;
  }
}
