@charset "UTF-8";
/*
* Theme Name: 案件名
*/
/* ---------------------------
 * All
 * --------------------------- */
/*! normalize.css v8.0.1 | 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.
 */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * 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; }

.inview {
  -webkit-transition-timing-function: cubic-bezier(0, 0.05, 0.29, 1);
  -o-transition-timing-function: cubic-bezier(0, 0.05, 0.29, 1);
  transition-timing-function: cubic-bezier(0, 0.05, 0.29, 1);
  -webkit-transition-duration: .8s;
  -o-transition-duration: .8s;
  transition-duration: .8s;
  -webkit-transition-delay: .1s;
  -o-transition-delay: .1s;
  transition-delay: .1s;
  -webkit-transition-property: opacity,-webkit-transform;
  transition-property: opacity,-webkit-transform;
  -o-transition-property: transform,opacity;
  transition-property: transform,opacity;
  transition-property: transform,opacity,-webkit-transform;
  -webkit-transform: translateY(10px);
  -ms-transform: translateY(10px);
  transform: translateY(10px);
  opacity: 0; }
  .inview.inview-on {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }

.inview_fade {
  opacity: 0;
  -webkit-transition-duration: .8s;
  -o-transition-duration: .8s;
  transition-duration: .8s;
  -webkit-transition-delay: .1s;
  -o-transition-delay: .1s;
  transition-delay: .1s;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity; }
  .inview_fade.inview-on {
    opacity: 1; }

@font-face {
  font-family: "genjuu";
  src: url("../fonts/genjuu-sub.woff2") format("woff2"), url("../fonts/genjuu-sub.woff") format("woff"); }

html {
  background-color: #FFF;
  color: #231815; }

body {
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.66667;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  letter-spacing: .1em; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle; }

[src$=".svg"],
[data$=".svg"] {
  width: 100%; }

i,
cite,
em,
address,
dfn {
  font-style: normal; }

dd {
  margin-left: 0; }

table {
  width: 100%; }

th {
  text-align: left; }

li > ul, li > ol {
  margin-bottom: 0; }

ul, ol {
  padding-left: 1em; }

hr {
  display: none; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #cccccc; }
  table tr th, table tr td {
    padding: 12px 10px;
    border-bottom: 1px solid #cccccc;
    word-break: break-all;
    word-wrap: break-word;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5; }
  table tr th {
    vertical-align: top; }
  table tr select {
    min-height: 2em; }

a {
  color: inherit; }

.l-page {
  overflow: hidden; }

.is-loaded .p-header {
  -webkit-transition: .5s opacity;
  -o-transition: .5s opacity;
  transition: .5s opacity;
  opacity: 1 !important; }

.is-invisible .p-header {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: .5s transform;
  -o-transition: .5s transform;
  transition: .5s transform; }

.is-scrolled .p-header {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  position: fixed; }

.p-header {
  position: absolute;
  height: 62px;
  top: 0;
  left: 0;
  min-width: 1040px;
  width: 100%;
  z-index: 3; }
  .p-header__inner {
    position: relative;
    width: 900px;
    margin: 0 auto;
    height: 100%; }
  .p-header__logo {
    width: 120px;
    position: absolute;
    left: 0;
    bottom: 0px; }
  .p-header__nav {
    position: absolute;
    top: 40px;
    right: 0; }
  .p-header__navList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none; }
  .p-header__navItem {
    display: block;
    font-family: "Century Gothic", "Apple Gothic", AppleGothic, "URW Gothic L", "Avant Garde", Futura, sans-serif;
    font-size: 12px;
    line-height: 1.5; }
    .p-header__navItem a {
      display: block;
      position: relative;
      text-decoration: none; }

@-webkit-keyframes show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.p-footer {
  background: #C9CACA;
  position: relative;
  z-index: 1; }
  .p-footer__inner {
    padding: 15px; }
  .p-footer p {
    text-align: center;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.66667;
    font-family: "Century Gothic", "Apple Gothic", AppleGothic, "URW Gothic L", "Avant Garde", Futura, sans-serif;
    color: #fff;
    margin: 0; }

.p-section {
  position: relative; }
  .p-section__gray {
    background-color: #EFEFEF !important; }
  .p-section__inner {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    z-index: 2; }
  .p-section__titleWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .p-section__title {
    text-align: center;
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 1.47619;
    color: #E6186C;
    font-family: "Century Gothic", "Apple Gothic", AppleGothic, "URW Gothic L", "Avant Garde", Futura, sans-serif;
    font-weight: normal;
    margin: 0 0 55px 0;
    border-bottom: 1.5px solid; }

.p-first {
  max-width: 100%; }
  .p-first__origin {
    width: 1040px;
    margin: 0 auto;
    position: relative;
    height: 100vh; }
  .p-first__inner {
    width: 1040px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: 1;
    height: 100vh; }
  .p-first__logo {
    margin-left: 140px;
    -webkit-transition: 1.5s 1.5s;
    -o-transition: 1.5s 1.5s;
    transition: 1.5s 1.5s;
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    opacity: 0.01; }
    .p-first__logo img {
      display: block;
      width: 290px; }
    .is-on .p-first__logo {
      -webkit-transition: 1.5s opacity 1.5s;
      -o-transition: 1.5s opacity 1.5s;
      transition: 1.5s opacity 1.5s;
      opacity: 1; }
  .p-first__texts {
    margin-right: 100px;
    opacity: .01; }
    .p-first__texts p {
      letter-spacing: .2em;
      font-size: 13.5px;
      font-size: 0.84375rem;
      line-height: 1.77778; }
    .is-on .p-first__texts {
      -webkit-transition: 1.5s opacity 1.5s;
      -o-transition: 1.5s opacity 1.5s;
      transition: 1.5s opacity 1.5s;
      opacity: 1; }
  .p-first__head {
    margin: 0;
    color: #E6186C;
    font-family: "genjuu", sans-serif;
    letter-spacing: .2em;
    font-size: 19.5px;
    font-size: 1.21875rem;
    line-height: 1.64103; }

.p-about__box {
  background: #EC7794;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 46px;
  border-radius: 8px;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 25px 30px; }
  .p-about__box h3 {
    font-family: "genjuu", sans-serif;
    font-size: 16.5px;
    font-size: 1.03125rem;
    line-height: 1.75758;
    letter-spacing: .15em;
    margin: 0 0 6px 0; }
  .p-about__box p {
    margin: 0;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.66667; }

.p-about__question {
  background: url(../img/bg-question.png) no-repeat left bottom;
  background-size: 645px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 128px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 0 199px 39px 175px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 25px; }

.p-about__ex {
  background: url(../img/bg-ex.png) no-repeat right bottom;
  background-size: 645px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 128px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 0 147px 39px 210px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.p-about__matrix {
  margin-bottom: 40px; }
  .p-about__matrix img {
    display: block; }

.p-about__message {
  text-align: center;
  font-size: 19.5px;
  font-size: 1.21875rem;
  line-height: 1.64103;
  font-family: "genjuu", sans-serif;
  color: #E6186C;
  letter-spacing: .2em; }

.p-field__lead {
  text-align: center;
  font-family: "genjuu", sans-serif;
  font-size: 16.5px;
  font-size: 1.03125rem;
  line-height: 1.69697;
  letter-spacing: .15em;
  margin-top: -15px;
  margin-bottom: 43px;
  text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff, 2px 0px 2px #fff, -2px 0px 2px #fff, 0px -2px 2px #fff, 0px -2px 2px #fff; }

.p-field__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.p-field__item {
  position: relative;
  background: top right no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230.35%22%20height%3D%2230.35%22%20viewBox%3D%220%200%2030.35%2030.35%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D.cls-2%7Bfill%3A%23f2a2b3%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%3Efield%3C%2Ftitle%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M29.35%2C15.17A14.18%2C14.18%2C0%2C1%2C1%2C15.17%2C1%2C14.18%2C14.18%2C0%2C0%2C1%2C29.35%2C15.17Z%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M15.17%2C30.35A15.18%2C15.18%2C0%2C1%2C1%2C30.35%2C15.17%2C15.2%2C15.2%2C0%2C0%2C1%2C15.17%2C30.35ZM15.17%2C2A13.18%2C13.18%2C0%2C1%2C0%2C28.35%2C15.17%2C13.19%2C13.19%2C0%2C0%2C0%2C15.17%2C2Z%22%2F%3E%3C%2Fsvg%3E"); }

.p-field__itemTitle {
  font-family: "genjuu", sans-serif;
  color: #E6186C;
  font-size: 16.5px;
  font-size: 1.03125rem;
  line-height: 1.26061;
  text-align: right; }

.p-field__itemText {
  font-size: 10.5px;
  line-height: 1.5; }

.p-field__itemTarget {
  font-size: 12.5px;
  line-height: 1.5; }

.p-field__logo {
  width: 232px;
  position: absolute;
  right: 70px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }
  .p-field__logo img {
    vertical-align: top; }

.p-works {
  position: relative;
  z-index: 0; }
  .p-works__item {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 0; }
    .p-works__item .image {
      background-size: cover;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      position: relative; }
    .p-works__item .texts {
      letter-spacing: .05em;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-box-flex: 2;
      -ms-flex: 2;
      flex: 2;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; }
      .p-works__item .texts h3 {
        font-size: 13.5px;
        font-size: 0.84375rem;
        line-height: 1.33333;
        font-family: "genjuu", sans-serif;
        color: #E6186C;
        margin-top: 0;
        width: 100%; }
      .p-works__item .texts p {
        font-size: 11px;
        font-size: 0.6875rem;
        line-height: 1.81818;
        margin: 0;
        width: 100%; }
    .p-works__item.item-1 .image {
      background-image: url("../img/works1.jpg"); }
    .p-works__item.item-2 .image {
      background-image: url("../img/works2.jpg"); }
    .p-works__item.item-3 .image {
      background-image: url("../img/works3.jpg"); }
    .p-works__item.item-4 .image {
      background-image: url("../img/works4.jpg"); }
    .p-works__item.item-5 .image {
      background-image: url("../img/works5.jpg"); }
    .p-works__item.item-6 .image {
      background-image: url("../img/works6.jpg"); }
    .p-works__item.inview-works:before {
      content: '';
      z-index: 2;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #efefef;
      -webkit-transition: 0.6s 0.1s cubic-bezier(0.6, 0, 0.51, 0.99);
      -o-transition: 0.6s 0.1s cubic-bezier(0.6, 0, 0.51, 0.99);
      transition: 0.6s 0.1s cubic-bezier(0.6, 0, 0.51, 0.99);
      -webkit-transform-origin: right;
      -ms-transform-origin: right;
      transform-origin: right;
      -webkit-transition-property: -webkit-transform;
      transition-property: -webkit-transform;
      -o-transition-property: transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform; }
    .p-works__item.inview-works:after {
      content: '';
      z-index: 1;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #EC7794;
      -webkit-transition: 0.8s 0.3s cubic-bezier(0.6, 0, 0.51, 0.99);
      -o-transition: 0.8s 0.3s cubic-bezier(0.6, 0, 0.51, 0.99);
      transition: 0.8s 0.3s cubic-bezier(0.6, 0, 0.51, 0.99);
      -webkit-transform-origin: right;
      -ms-transform-origin: right;
      transform-origin: right;
      -webkit-transition-property: -webkit-transform;
      transition-property: -webkit-transform;
      -o-transition-property: transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform; }
    .p-works__item.inview-works-on:before {
      -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
      transform: scaleX(0); }
    .p-works__item.inview-works-on:after {
      -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
      transform: scaleX(0); }

.p-company__table {
  border: none;
  margin: 0 auto;
  width: inherit;
  margin-bottom: 30px; }
  .p-company__table tr th, .p-company__table tr td {
    border: none;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.66667; }
  .p-company__table tr th {
    font-weight: normal;
    padding: 0; }
    .p-company__table tr th div {
      width: 5em;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
  .p-company__table tr td {
    padding: 0 0 25px 60px; }

.p-company__ta {
  padding-left: 15em; }

.p-company__map {
  margin: 0 auto;
  max-width: 484px; }
  .p-company__map img {
    display: block;
    margin-bottom: 29px; }

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

.p-company__button {
  width: 141px;
  height: 28px;
  border: 1px solid #231815;
  text-align: center;
  text-decoration: none;
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 2.45455; }
  .p-company__button:hover {
    color: #fff;
    background-color: #231815; }

.p-contact__lead, .p-contact__lead2 {
  text-align: center;
  font-family: "genjuu", sans-serif;
  font-size: 16.5px;
  font-size: 1.03125rem;
  line-height: 1.69697;
  letter-spacing: .15em; }

.p-contact__lead2 {
  margin-bottom: 25px; }

.p-contact__fukidashi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 145px; }

.p-contact__fukidashiItem {
  width: 138px; }
  .p-contact__fukidashiItem img {
    display: block;
    -webkit-transform-origin: bottom center;
    -ms-transform-origin: bottom center;
    transform-origin: bottom center;
    -webkit-transition: .6s;
    -o-transition: .6s;
    transition: .6s;
    -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }
  .p-contact__fukidashiItem.item-1 img {
    -webkit-transform: translate(-22%, 0) rotate(30deg) scale(0);
    -ms-transform: translate(-22%, 0) rotate(30deg) scale(0);
    transform: translate(-22%, 0) rotate(30deg) scale(0); }
  .p-contact__fukidashiItem.item-1 img.inview-fukidashi-on {
    -webkit-transform: translate(-22%, 0) rotate(-10deg) scale(1);
    -ms-transform: translate(-22%, 0) rotate(-10deg) scale(1);
    transform: translate(-22%, 0) rotate(-10deg) scale(1); }
  .p-contact__fukidashiItem.item-2 img {
    -webkit-transition-delay: .3s;
    -o-transition-delay: .3s;
    transition-delay: .3s;
    -webkit-transform: translate(-7.5%, 31%) rotate(35deg) scale(0);
    -ms-transform: translate(-7.5%, 31%) rotate(35deg) scale(0);
    transform: translate(-7.5%, 31%) rotate(35deg) scale(0); }
  .p-contact__fukidashiItem.item-2 img.inview-fukidashi-on {
    -webkit-transform: translate(-7.5%, 31%) rotate(-5deg) scale(1);
    -ms-transform: translate(-7.5%, 31%) rotate(-5deg) scale(1);
    transform: translate(-7.5%, 31%) rotate(-5deg) scale(1); }
  .p-contact__fukidashiItem.item-3 img {
    -webkit-transition-delay: .5s;
    -o-transition-delay: .5s;
    transition-delay: .5s;
    -webkit-transform: translate(4.3%, 20%) rotate(-35deg) scale(0);
    -ms-transform: translate(4.3%, 20%) rotate(-35deg) scale(0);
    transform: translate(4.3%, 20%) rotate(-35deg) scale(0); }
  .p-contact__fukidashiItem.item-3 img.inview-fukidashi-on {
    -webkit-transform: translate(4.3%, 20%) rotate(5deg) scale(1);
    -ms-transform: translate(4.3%, 20%) rotate(5deg) scale(1);
    transform: translate(4.3%, 20%) rotate(5deg) scale(1); }
  .p-contact__fukidashiItem.item-4 img {
    -webkit-transition-delay: .2s;
    -o-transition-delay: .2s;
    transition-delay: .2s;
    -webkit-transform: translate(18%, -4%) rotate(-30deg) scale(0);
    -ms-transform: translate(18%, -4%) rotate(-30deg) scale(0);
    transform: translate(18%, -4%) rotate(-30deg) scale(0); }
  .p-contact__fukidashiItem.item-4 img.inview-fukidashi-on {
    -webkit-transform: translate(18%, -4%) rotate(10deg) scale(1);
    -ms-transform: translate(18%, -4%) rotate(10deg) scale(1);
    transform: translate(18%, -4%) rotate(10deg) scale(1); }

.p-contact__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px; }

.p-contact__formButton {
  display: block;
  text-decoration: none;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 397px;
  color: #fff;
  background: #E6186C;
  border: 2px solid #E6186C;
  font-family: "genjuu", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  padding-top: 7px;
  padding-bottom: 7px; }
  .p-contact__formButton:before {
    content: '';
    width: 32px;
    height: 22px;
    background: center no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2031.06%2021.88%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%3Eico-mail%3C%2Ftitle%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M31.06%2C21.88H0V0H31.06ZM1.21%2C20.66H29.85V1.21H1.21Z%22%2F%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2215.53%2011.65%200.26%201.11%200.95%200.11%2015.53%2010.17%2030.11%200.11%2030.8%201.11%2015.53%2011.65%22%2F%3E%3C%2Fsvg%3E");
    display: inline-block;
    vertical-align: middle;
    margin-right: 1em; }
  .p-contact__formButton:hover {
    background-color: #fff;
    color: #E6186C; }
    .p-contact__formButton:hover:before {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2031.06%2021.88%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23E6186C%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%3Eico-mail%3C%2Ftitle%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M31.06%2C21.88H0V0H31.06ZM1.21%2C20.66H29.85V1.21H1.21Z%22%2F%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2215.53%2011.65%200.26%201.11%200.95%200.11%2015.53%2010.17%2030.11%200.11%2030.8%201.11%2015.53%2011.65%22%2F%3E%3C%2Fsvg%3E"); }

.p-contact__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3px; }
  .p-contact__tel span, .p-contact__tel a {
    display: block;
    white-space: nowrap; }
  .p-contact__tel span {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.75;
    color: #E6186C;
    margin-left: 1em;
    margin-right: 1em; }
  .p-contact__tel a {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.2;
    font-family: "genjuu", sans-serif;
    color: #E6186C;
    text-decoration: none; }
    .p-contact__tel a:hover {
      text-decoration: underline; }

.p-contact__accept {
  text-align: center;
  font-size: 10.5px;
  font-size: 0.65625rem;
  line-height: 1.71429;
  letter-spacing: .05em; }

@media screen and (max-width: 767px) {
  /* ---------------------------
 * Smartphone 767px
 * --------------------------- */
  html {
    width: 100%; }
    html.is-hamburger-opened {
      height: 100%; }
      html.is-hamburger-opened body {
        height: 100%;
        overflow: hidden; }
  body {
    width: 100%;
    min-width: 320px; }
  /** ハンバーガー **/
  .hamburger {
    height: 49px;
    width: 49px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1; }
  .burgertime {
    width: 49px;
    height: 49px;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 12.5px;
    overflow: hidden; }
  .burger-buns {
    position: relative;
    height: 100%;
    vertical-align: middle; }
  .burger {
    width: 100%;
    height: 2px;
    background: #9e9e9f;
    position: absolute;
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s; }
  .bgr-1 {
    top: 3px;
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    transition-delay: .1s; }
  .bgr-2 {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .bgr-3 {
    bottom: 3px;
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    transition-delay: .1s; }
  .burger-to-cross.is-opened .bgr-1 {
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(225deg);
    -ms-transform: translateY(-50%) rotate(225deg);
    transform: translateY(-50%) rotate(225deg); }
  .burger-to-cross.is-opened .bgr-2 {
    opacity: 0; }
  .burger-to-cross.is-opened .bgr-3 {
    bottom: 50%;
    -webkit-transform: translateY(50%) rotate(135deg);
    -ms-transform: translateY(50%) rotate(135deg);
    transform: translateY(50%) rotate(135deg); }
  .p-header {
    height: 50px;
    min-width: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9); }
    .p-header__logo {
      left: 17px;
      bottom: 13px;
      width: 93px; }
    .p-header__inner {
      width: 100%; }
    .p-header__nav {
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      position: fixed; }
    .p-header__navList {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
  .is-hamburger-opened .p-navsp {
    visibility: visible;
    opacity: 1; }
  .p-navsp {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: visibility 0s, opacity 0.3s linear;
    -o-transition: visibility 0s, opacity 0.3s linear;
    transition: visibility 0s, opacity 0.3s linear;
    z-index: 5;
    top: 50px;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.9);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .p-navsp__list {
      margin: 0;
      padding: 0;
      list-style: none; }
    .p-navsp__item {
      padding: 0;
      margin: 0; }
      .p-navsp__item a {
        display: block;
        text-align: center;
        text-decoration: none;
        font-size: 16px;
        line-height: 2; }
  @-webkit-keyframes show {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  @keyframes show {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  .p-section {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 15px;
    padding-right: 15px; }
    .p-section__title {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.47368;
      margin: 0 0 40px 0; }
  .p-first__origin {
    width: 100%; }
  .p-first__inner {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 100vh;
    padding-top: 3.5vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  .p-first__logo {
    margin: 0 0 5.997vh;
    width: 100%; }
    .p-first__logo img {
      width: 220px;
      margin: 0 auto; }
  .p-first__texts {
    margin: 0;
    width: 100%;
    padding: 0 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center; }
    .p-first__texts span {
      display: inline-block; }
    .p-first__texts p {
      font-size: 11.5px; }
  .p-first__head {
    font-size: 16px; }
  .p-about__box {
    border-radius: 6px;
    padding: 20px 15px; }
    .p-about__box h3 {
      font-size: 14.5px;
      font-size: 0.90625rem;
      line-height: 1.72414;
      letter-spacing: .15em;
      margin: 0 0 5px 0; }
    .p-about__box p {
      margin: 0;
      font-size: 11px;
      font-size: 0.6875rem;
      line-height: 1.63636; }
  .p-about__question {
    background-size: 280px;
    min-height: 62px;
    padding: 0 0 20px 84px;
    margin-bottom: 20px;
    margin-left: -15px; }
  .p-about__ex {
    background-size: 280px;
    min-height: 62px;
    padding: 0 65px 20px 10px;
    margin-right: -15px; }
  .p-about__matrix {
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 30px;
    overflow: hidden; }
  .p-about__message {
    font-size: 15px; }
  .p-field__lead {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429; }
  .p-field__item {
    background-position: 0px 27px;
    background-size: 15px; }
    .p-field__item:not(:last-child) {
      margin-bottom: 30px; }
  .p-field__itemTitle {
    text-align: left;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.28571;
    padding-left: 22px;
    padding-top: 25px;
    margin-bottom: 8px;
    background-size: 15px 15px; }
  .p-field__itemText {
    font-size: 10.5px;
    line-height: 1.5;
    padding-left: 22px; }
  .p-field__itemTarget {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    font-size: 11px;
    line-height: 1.6;
    text-align: left; }
  .p-works__item:not(:last-of-type) {
    margin-bottom: 10px; }
  .p-works__item .image {
    max-width: 160px;
    width: calc(100vw / 2.8);
    min-height: 160px;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0; }
  .p-works__item .texts {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 25px 30px; }
    .p-works__item .texts h3 {
      font-size: 13px;
      font-size: 0.8125rem;
      line-height: 1.38462; }
  .p-company__table {
    margin-bottom: 30px; }
    .p-company__table tr td {
      padding: 0 0 25px 25px; }
  .p-contact__lead, .p-contact__lead2 {
    font-size: 14px; }
  .p-contact__fukidashi {
    height: calc(100vw * .24);
    max-height: 118px; }
  .p-contact__fukidashiItem {
    width: 22%;
    max-width: 100px; }
  .p-contact__formButton {
    min-width: 0;
    width: 100%;
    max-width: 397px; }
  .u-pconly {
    display: none !important; }
  .u-pconly-inline {
    display: none !important; }
  .u-sponly {
    display: block !important; }
  .u-sponly-inline {
    display: inline !important; } }

@media screen and (min-width: 768px) and (max-width: 960px) {
  /* ---------------------------
 * Tablet  960px
 * --------------------------- */
  @-webkit-keyframes show {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  @keyframes show {
    from {
      opacity: 0; }
    to {
      opacity: 1; } } }

@media screen and (min-width: 768px) {
  /* ---------------------------
 * PC  800px
 * --------------------------- */
  body {
    min-width: 1000px; }
  .l-page {
    position: relative; }
  .hamburger {
    display: none; }
  .p-header {
    background-color: rgba(255, 255, 255, 0.7);
    padding-bottom: 5px; }
    .p-header__navItem:not(:last-child) {
      margin-right: 2em; }
    .p-header__navItem.is-active a {
      border-bottom: 1.5px solid #E6186C; }
  .p-navsp {
    display: none; }
  @-webkit-keyframes show {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  @keyframes show {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  .p-section__origin {
    width: 1040px;
    margin: 0 auto;
    position: relative; }
  .p-section__inner {
    padding-top: 50px;
    padding-bottom: 55px;
    padding-left: 70px;
    padding-right: 70px;
    width: 1040px; }
  .p-section__origin:after, .p-section__origin:before {
    content: '';
    position: absolute;
    z-index: 1;
    background-repeat: no-repeat !important;
    background-size: contain !important; }
  .p-section__origin.inview-bg-on:after, .p-section__origin.inview-bg-on:before {
    opacity: 1; }
  .p-section.type-bgabout .p-section__origin:before {
    width: 539px;
    height: 556px;
    background-image: url(../img/p-section/bg-about-1.svg);
    top: 24%;
    left: -57%; }
  .p-section.type-bgabout .p-section__origin:after {
    width: 554px;
    height: 515px;
    background-image: url(../img/p-section/bg-about-2.svg);
    top: 35%;
    right: -62%; }
  .p-section.type-bgfield .p-section__origin:before {
    width: 606px;
    height: 767px;
    background-image: url(../img/p-section/bg-field-1.svg);
    top: 145px;
    left: -600px; }
  .p-section.type-bgfield .p-section__origin:after {
    width: 410px;
    height: 705px;
    background-image: url(../img/p-section/bg-field-2.svg);
    top: 109px;
    right: -500px; }
  .p-section.type-bgworks .p-section__origin:before {
    width: 534px;
    height: 718px;
    background-image: url(../img/p-section/bg-works-1.svg);
    top: 18%;
    left: -51%; }
  .p-section.type-bgworks .p-section__origin:after {
    width: 580px;
    height: 796px;
    background-image: url(../img/p-section/bg-works-2.svg);
    top: 9%;
    right: -60%; }
  .p-section.type-bgcompany .p-section__origin:before {
    width: 644px;
    height: 611px;
    background-image: url(../img/p-section/bg-company-1.svg);
    top: 7%;
    left: -54%; }
  .p-section.type-bgcompany .p-section__origin:after {
    width: 667px;
    height: 590px;
    background-image: url(../img/p-section/bg-company-2.svg);
    top: 6%;
    right: -56%; }
  .p-section.type-bgcontact .p-section__origin:before {
    width: 550px;
    height: 680px;
    background-image: url(../img/p-section/bg-contact-1.svg);
    top: -3%;
    left: -46%; }
  .p-section.type-bgcontact .p-section__origin:after {
    width: 413px;
    height: 656px;
    background-image: url(../img/p-section/bg-contact-2.svg);
    top: -23%;
    right: -40%; }
  .p-about__matrix {
    margin-left: -70px;
    margin-right: -70px; }
  .p-section.type-bgfield .p-section__inner {
    background: url(../img/circle.svg) top 16px right -290px no-repeat;
    background-size: 872px 872px; }
  .p-field__item {
    width: 450px;
    height: 50px; }
    .p-field__item.inview-fielditem {
      opacity: 0;
      -webkit-transform: scale(1.3);
      -ms-transform: scale(1.3);
      transform: scale(1.3);
      -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transition: 1s;
      -o-transition: 1s;
      transition: 1s; }
    .p-field__item.inview-fielditem-on {
      opacity: 1;
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1); }
    .p-field__item:not(:last-child) {
      margin-bottom: 81px; }
    .p-field__item:nth-child(1) {
      margin-left: 15px; }
    .p-field__item:nth-child(2) {
      margin-left: -34px; }
    .p-field__item:nth-child(3) {
      margin-left: -40px; }
    .p-field__item:nth-child(4) {
      margin-left: -5px; }
    .p-field__item:nth-child(5) {
      margin-left: 86px; }
  .p-field__itemTitle {
    margin-bottom: 7px;
    padding-top: 5px;
    padding-right: 55px; }
  .p-field__itemText {
    white-space: nowrap;
    position: absolute;
    right: 0;
    text-align: right;
    padding-right: 55px; }
  .p-field__itemTarget {
    position: absolute;
    right: -221px;
    width: 200px;
    top: 5px; }
  .p-works__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 141px 14px 210px 14px 134px 14px 210px;
    grid-template-rows: 141px 14px 210px 14px 134px 14px 210px;
    -ms-grid-columns: 386px 14px 71px 14px 415px;
    grid-template-columns: 386px 14px 71px 14px 415px; }
  .p-works__item.item-1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    grid-row: 1 / 6;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2; }
    .p-works__item.item-1 .image {
      height: 366px; }
    .p-works__item.item-1 .texts {
      width: 100%;
      padding: 0 40px 35px 40px; }
  .p-works__item.item-2 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1 / 2;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
    grid-column: 3 / 6; }
    .p-works__item.item-2 .image {
      width: 177px; }
    .p-works__item.item-2 .texts {
      padding: 0 30px 35px 30px; }
  .p-works__item.item-3 {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3 / 4;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
    grid-column: 3 / 6; }
    .p-works__item.item-3 .image {
      width: 260px; }
    .p-works__item.item-3 .texts {
      padding: 0 20px 35px 20px; }
  .p-works__item.item-4 {
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    grid-row: 5 / 6;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
    grid-column: 3 / 6; }
    .p-works__item.item-4 .image {
      width: 200px; }
    .p-works__item.item-4 .texts {
      padding: 0 20px 30px 20px; }
  .p-works__item.item-5 {
    -ms-grid-row: 7;
    -ms-grid-row-span: 1;
    grid-row: 7 / 8;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1 / 4; }
    .p-works__item.item-5 .image {
      width: 246px; }
    .p-works__item.item-5 .texts {
      padding: 0 20px 35px 20px; }
  .p-works__item.item-6 {
    -ms-grid-row: 7;
    -ms-grid-row-span: 1;
    grid-row: 7 / 8;
    -ms-grid-column: 5;
    -ms-grid-column-span: 1;
    grid-column: 5 / 6; }
    .p-works__item.item-6 .image {
      width: 190px; }
    .p-works__item.item-6 .texts {
      padding: 0 20px 35px 20px; }
  .p-company__table tr td {
    white-space: nowrap; }
  .u-pconly {
    display: block !important; }
  .u-pconly-inline {
    display: inline !important; }
  .u-sponly {
    display: none !important; }
  .u-sponly-inline {
    display: none !important; } }
