@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0; }

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/ }

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

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

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0; }

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0; }

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit; }

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

address {
  font-style: inherit; }

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  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: inherit;
  /* 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 */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom; }

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit; }

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox; }

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio; }

/**
 * 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"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none; }

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default; }

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

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none; }

/**
 * Remove padding
 */
option {
  padding: 0; }

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0; }

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

/**
 * 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 outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */ }

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer; }

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

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none; }

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  text-align: left; }

td,
th {
  vertical-align: top;
  padding: 0; }

th {
  text-align: left;
  font-weight: bold; }

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: flex;
    opacity: 0; }
  100% {
    display: flex;
    opacity: 1; } }
html {
  font-size: 625%;
  width: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden; }

:root {
  --gradient-start: 50%;
  --gradient-end: 80%;
  --gradientPc-start: 40%;
  --gradientPc-end: 80%; }

body {
  font-family: "Noto Serif JP", serif;
  font-size: .14em;
  letter-spacing: .01em;
  line-height: 1.85;
  color: #707070;
  /*background: linear-gradient(
    to bottom,
    #FFF var(--gradient-start),
    #000 var(--gradient-end)
  );*/
  overflow-x: hidden;
  width: 100vw;
  padding-top: 60px; }
  @media screen and (min-width: 781px) {
    body {
      padding-top: 84px;
      /*background: linear-gradient(
        to bottom,
        #FFF var(--gradientPc-start),
        #000 var(--gradientPc-end)
      );*/ } }

.en {
  font-family: 'Roboto Condensed', sans-serif !important; }

#loading {
  position: fixed;
  z-index: 100000;
  background: #000000;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0; }
  #loading .box {
    height: 140px;
    width: 140px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #020438;
    border-radius: 100%;
    overflow: hidden; }
    #loading .box .percent {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 3;
      width: 100%;
      height: 100%;
      display: flex;
      display: -webkit-flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 32px; }
    #loading .box .water {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 2;
      width: 100%;
      height: 100%;
      transform: translate(0, 100%);
      background: #4D6DE3;
      transition: all .3s; }
      #loading .box .water_wave {
        width: 200%;
        position: absolute;
        bottom: 100%; }
        #loading .box .water_wave_back {
          right: 0;
          fill: #C7EEFF;
          animation: wave-back 1.4s infinite linear; }
        #loading .box .water_wave_front {
          left: 0;
          fill: #4D6DE3;
          margin-bottom: -1px;
          animation: wave-front .7s infinite linear; }
@keyframes wave-front {
  100% {
    transform: translate(-50%, 0); } }
@keyframes wave-back {
  100% {
    transform: translate(50%, 0); } }
.inview {
  opacity: 0;
  filter: blur(10px); }

.inview-show {
  animation: fadeInBlur 1s ease forwards; }

@keyframes fadeInBlur {
  0% {
    opacity: 0;
    filter: blur(10px); }
  100% {
    opacity: 1;
    filter: blur(0); } }
.contact-component {
  padding: 40px 20px;
  background: #ffffff; }
  @media screen and (min-width: 781px) {
    .contact-component {
      padding: 80px 20px; } }
  @media screen and (min-width: 781px) {
    .contact-component > div {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      max-width: 880px;
      margin: 0 auto;
      text-align: center; } }
  .contact-component > div h3 {
    text-align: center;
    margin-bottom: 32px; }
    @media screen and (min-width: 781px) {
      .contact-component > div h3 {
        width: 100%; } }
    .contact-component > div h3 svg {
      height: 24px;
      width: auto;
      margin-bottom: 0.5em; }
      @media screen and (min-width: 781px) {
        .contact-component > div h3 svg {
          height: 28px; } }
    .contact-component > div h3 span {
      display: block; }
      @media screen and (min-width: 781px) {
        .contact-component > div h3 span {
          font-size: .16rem; } }
  .contact-component > div p {
    text-align: center;
    font-size: .12rem;
    margin-bottom: 32px; }
    @media screen and (min-width: 781px) {
      .contact-component > div p {
        font-size: .14rem;
        width: 100%;
        margin-bottom: 60px; }
        .contact-component > div p .sp {
          display: none; } }
  .contact-component > div > div {
    text-align: center; }
    @media screen and (min-width: 781px) {
      .contact-component > div > div {
        width: 340px; } }
    .contact-component > div > div h4 {
      font-size: .12rem;
      padding: 4px 1.7em;
      background: #000000;
      color: #ffffff;
      border-radius: 100px;
      display: inline-block;
      margin: 0 auto 20px; }
      @media screen and (min-width: 781px) {
        .contact-component > div > div h4 {
          font-size: .14rem;
          padding: 6px 2em;
          margin-bottom: 30px; } }
    .contact-component > div > div .tel {
      margin-bottom: 32px;
      display: block; }
      .contact-component > div > div .tel svg {
        height: 42px;
        width: auto; }
        @media screen and (min-width: 781px) {
          .contact-component > div > div .tel svg {
            height: 54px; } }
    .contact-component > div > div .mail {
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
      height: 50px; }
      @media screen and (min-width: 781px) {
        .contact-component > div > div .mail {
          height: 54px; } }
      .contact-component > div > div .mail svg {
        margin-right: 12px;
        height: 12px; }
        @media screen and (min-width: 781px) {
          .contact-component > div > div .mail svg {
            height: 14px; } }
      .contact-component > div > div .mail span {
        color: #ffffff;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          .contact-component > div > div .mail span {
            font-size: .14rem; } }

.mail-cation {
  background: #f1f1f1;
  border: 1px solid #707070;
  padding: 1em;
  margin-top: 3em; }
  .mail-cation h4 {
    font-weight: 600;
    text-align: center;
    margin: 0 auto 1em; }
  .mail-cation p {
    text-align: left !important; }
    .mail-cation p a {
      color: #4E84FF;
      text-decoration: underline; }

.link-white {
  display: flex;
  background: #ffffff;
  height: 40px;
  width: 230px;
  color: #000000;
  position: relative;
  font-size: .1rem;
  font-weight: 600;
  margin: 0 auto;
  align-items: center;
  box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6);
  position: relative;
  transition: transform .3s; }
  @media screen and (min-width: 781px) {
    .link-white {
      width: 284px;
      height: 50px;
      font-size: .14rem; } }
  .link-white:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: '';
    background: #000000;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s; }
  .link-white span {
    display: flex;
    width: 40%;
    height: 40px;
    align-items: center;
    justify-content: center;
    left: 5%;
    position: absolute; }
    @media screen and (min-width: 781px) {
      .link-white span {
        left: 10%; } }
  .link-white:after {
    display: block;
    content: '';
    width: 30%;
    height: 1px;
    background: #000000;
    position: absolute;
    right: 10%;
    top: calc(50% - 0.5px); }
  .link-white:hover {
    color: #ffffff; }
    .link-white:hover:before {
      transform-origin: left top;
      transform: scale(1, 1); }
    .link-white:hover:after {
      background: #ffffff;
      animation: bar 0.3s both;
      animation-delay: 0.2s; }

.link-clear {
  display: flex;
  border: 1px solid #ffffff;
  color: #ffffff;
  height: 40px;
  width: 230px;
  position: relative;
  font-size: .1rem;
  font-weight: 600;
  margin: 0 auto;
  align-items: center;
  box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6);
  position: relative;
  transition: transform .3s; }
  @media screen and (min-width: 781px) {
    .link-clear {
      width: 284px;
      height: 50px;
      font-size: .14rem; } }
  .link-clear:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: '';
    background: #ffffff;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s; }
  .link-clear span {
    display: flex;
    width: 42%;
    height: 40px;
    align-items: center;
    justify-content: center;
    left: 5%;
    position: absolute; }
    @media screen and (min-width: 781px) {
      .link-clear span {
        left: 10%; } }
  .link-clear:after {
    display: block;
    content: '';
    width: 30%;
    height: 1px;
    background: #ffffff;
    position: absolute;
    right: 10%;
    top: calc(50% - 0.5px); }
  .link-clear:hover {
    color: #000000; }
    .link-clear:hover:before {
      background: #ffffff;
      transform-origin: left top;
      transform: scale(1, 1); }
    .link-clear:hover:after {
      background: #000000;
      animation: bar 0.3s both;
      animation-delay: 0.2s; }

@keyframes bar {
  0% {
    transform-origin: left top;
    transform: scale(0, 1); }
  100% {
    transform-origin: left top;
    transform: scale(1, 1); } }
#header {
  background-color: #FFF;
  position: fixed;
  height: 60px;
  width: 100vw;
  top: 0;
  left: 0;
  z-index: 99997; }
  @media screen and (min-width: 781px) {
    #header {
      height: 84px; }
      #header a {
        transition: 0.2s ease-in-out; }
        #header a:hover {
          color: #00AFDF;
          background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent; } }
  #header h1 {
    height: 40px;
    position: absolute;
    left: 10px;
    top: 10px;
    transition: 0.1s;
    transform-origin: left top; }
    @media screen and (min-width: 781px) {
      #header h1 {
        height: 44px;
        top: 20px;
        left: 20px; } }
    #header h1 a {
      height: 40px;
      transition: 0.1s; }
      @media screen and (min-width: 781px) {
        #header h1 a {
          height: 44px; } }
      #header h1 a svg {
        height: 40px;
        width: auto;
        transition: 0.1s; }
        @media screen and (min-width: 781px) {
          #header h1 a svg {
            height: 44px; } }
        #header h1 a svg path {
          fill: #000; }
  #header .sp-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    position: absolute;
    right: 60px;
    top: 0;
    z-index: 99999;
    cursor: pointer;
    transition: 0.2s ease-in-out; }
    @media screen and (min-width: 781px) {
      #header .sp-menu {
        display: none; } }
    #header .sp-menu svg:last-child {
      display: none; }
    #header .sp-menu.close {
      left: auto;
      right: 40px; }
      #header .sp-menu.close svg:first-child {
        display: none; }
      #header .sp-menu.close svg:last-child {
        display: block; }
      #header .sp-menu.close svg rect {
        fill: #fff; }
      #header .sp-menu.close svg path {
        fill: #fff; }
    #header .sp-menu svg {
      width: 30px;
      height: auto; }
      #header .sp-menu svg rect {
        fill: #000; }
      #header .sp-menu svg path {
        fill: #000; }
  #header .contact {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 781px) {
      #header .contact {
        width: 84px;
        height: 84px; } }
    #header .contact .en {
      color: #ffffff;
      transform: scale(0.55);
      margin-top: -4px; }
    #header .contact svg {
      width: 36px;
      height: auto; }
    #header .contact:hover {
      -webkit-background-clip: inherit;
      -webkit-text-fill-color: inherit; }
  #header .onlineshop {
    display: none;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 100000;
    top: 0;
    right: 84px;
    width: 200px;
    height: 84px;
    background-color: #DFDFDF; }
    @media screen and (min-width: 781px) {
      #header .onlineshop {
        display: flex; } }
    #header .onlineshop img {
      width: 180px;
      height: auto; }
    #header .onlineshop:hover {
      background: #CFCFCF !important;
      -webkit-background-clip: inherit;
      -webkit-text-fill-color: inherit; }
  #header > nav {
    background-color: #000000;
    color: #ffffff;
    transform: translate(-100%, 0);
    left: 0;
    top: 0;
    z-index: 99998;
    width: calc(100% - 40px);
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    transition: 0.2s ease-in-out; }
    @media screen and (min-width: 781px) {
      #header > nav {
        background-color: #fff;
        transform: translate(0, 0);
        height: 84px;
        width: auto;
        left: 200px;
        display: flex;
        align-items: center;
        flex-direction: row;
        justify-content: flex-start;
        width: calc(100% - 370px); } }
    #header > nav.open {
      transform: translate(0, 0); }
      #header > nav.open h3 {
        color: #fff; }
      #header > nav.open a {
        color: #fff !important; }
      #header > nav.open svg path {
        fill: #fff !important; }
      #header > nav.open .sns-menu h3 {
        color: #fff; }
      #header > nav.open .sns-menu svg path {
        fill: #fff; }
    #header > nav h2 {
      height: 45px;
      width: auto;
      margin: 34px 0 54px 26px; }
      @media screen and (min-width: 781px) {
        #header > nav h2 {
          display: none; } }
      #header > nav h2 svg {
        width: auto;
        height: 45px; }
    #header > nav h3 {
      margin: 0 40px 24px 60px;
      font-size: .16rem;
      letter-spacing: .15em;
      padding-bottom: 24px;
      border-bottom: #000000 1px solid;
      color: #000; }
      @media screen and (min-width: 781px) {
        #header > nav h3 {
          display: none; } }
    #header > nav .text-menu {
      text-align: left;
      margin: 0 40px 0 60px;
      letter-spacing: .15em;
      border-bottom: #000000 1px solid;
      font-size: .12rem; }
      @media screen and (min-width: 781px) {
        #header > nav .text-menu {
          font-size: .14rem;
          display: flex;
          align-items: center;
          border-bottom: none;
          margin: 0; } }
      @media screen and (max-width: 1280px) {
        #header > nav .text-menu {
          font-size: .12rem; } }
      #header > nav .text-menu li {
        margin-bottom: 24px; }
        @media screen and (min-width: 781px) {
          #header > nav .text-menu li {
            margin: 0;
            border-right: #000000 1px solid; }
            #header > nav .text-menu li:last-child {
              border-right: none; } }
        #header > nav .text-menu li a {
          color: #000; }
          @media screen and (min-width: 781px) {
            #header > nav .text-menu li a {
              padding: 0 16px; } }
          @media screen and (max-width: 1280px) {
            #header > nav .text-menu li a {
              padding: 0 12px; } }
          @media screen and (max-width: 1200px) {
            #header > nav .text-menu li a span {
              display: none; } }
          @media screen and (max-width: 1040px) {
            #header > nav .text-menu li a {
              letter-spacing: 0; } }
    #header > nav .online-store {
      display: flex;
      align-items: center;
      padding: 24px 0;
      margin: 0 40px 16px 60px;
      color: #000; }
      @media screen and (min-width: 781px) {
        #header > nav .online-store {
          margin: 0 40px 0 calc(100% - 1050px);
          padding: 0;
          display: none; } }
  @media screen and (min-width: 781px) and (max-width: 1367px) {
    #header > nav .online-store {
      margin: 0 20px 0 calc(100% - 885px);
      font-size: .12rem; } }
  @media screen and (min-width: 781px) and (max-width: 1200px) {
    #header > nav .online-store {
      margin: 0 20px 0 calc(100% - 730px);
      font-size: .12rem; }
      #header > nav .online-store span {
        display: none; } }
  @media screen and (min-width: 781px) and (max-width: 1040px) {
    #header > nav .online-store {
      margin: 0 20px 0 calc(100% - 669px); } }

      #header > nav .online-store svg {
        margin-right: 14px; }
        #header > nav .online-store svg path {
          fill: #000; }
    #header > nav .sns-menu {
      display: flex;
      margin: 0 40px 0 60px; }
      @media screen and (min-width: 781px) {
        #header > nav .sns-menu {
          margin: 0;
          display: none; } }
      @media screen and (max-width: 1280px) {
        #header > nav .sns-menu {
          font-size: .12rem; } }
      #header > nav .sns-menu h3 {
        position: relative;
        margin: 0 54px 0 0 !important;
        padding: 0 !important;
        border: none !important;
        color: #000; }
        @media screen and (min-width: 781px) {
          #header > nav .sns-menu h3 {
            display: block;
            font-size: .14rem; } }
        #header > nav .sns-menu h3:after {
          display: block;
          content: '';
          width: 34px;
          height: 1px;
          background-color: #000000;
          position: absolute;
          left: 42px;
          top: calc(50% - 0.5px); }
      #header > nav .sns-menu ul {
        display: flex;
        justify-content: flex-start; }
        #header > nav .sns-menu ul li {
          margin: 0 14px 0 0; }
          @media screen and (min-width: 781px) {
            #header > nav .sns-menu ul li {
              margin: 0 14px 0 0; } }
          #header > nav .sns-menu ul li svg {
            vertical-align: middle; }
            #header > nav .sns-menu ul li svg path {
              transition: 0.2s ease-in-out;
              fill: #000; }
          #header > nav .sns-menu ul li:hover.facebook svg path {
            fill: #3B5998; }
          #header > nav .sns-menu ul li:hover.twitter svg path {
            fill: #1DA1F2; }
          #header > nav .sns-menu ul li:hover.instagram svg path {
            fill: url(#g1); }
          #header > nav .sns-menu ul li:hover.youtube svg path {
            fill: #FF0000; }

#top-button {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 90001;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 50px;
  height: 50px;
  cursor: pointer;
  background: #000000;
  border: 1px solid #ffffff;
  border-radius: 100px; }
  @media screen and (min-width: 781px) {
    #top-button {
      width: 60px;
      height: 60px;
      left: auto;
      right: 20px;
      background: #000000;
      border: 1px solid #ffffff;
      border-radius: 100px; } }
  #top-button svg {
    margin: auto; }

footer {
  background: #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 174px; }
  footer svg {
    width: 100px;
    height: auto;
    margin-left: -20px;
    margin-bottom: 10px; }
  footer .cp {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .1rem;
    color: #ffffff;
    margin-left: -20px; }
    @media screen and (min-width: 781px) {
      footer .cp {
        font-size: .14rem; } }

.pagenation {
  margin: 0 auto 80px; }
  @media screen and (min-width: 780px) {
    .pagenation {
      margin: 0 auto 120px; } }
  .pagenation ul {
    display: flex;
    justify-content: center; }
    .pagenation ul li {
      margin-right: 13px; }
      .pagenation ul li a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        background-color: #ffffff; }
      .pagenation ul li.active {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        background-color: #000000;
        color: #ffffff; }

.home-slider {
  position: relative;
  height: 100%; }
  .home-slider img {
    width: 100%;
    height: auto; }
  .home-slider .pc {
    display: none; }
    @media screen and (min-width: 781px) {
      .home-slider .pc {
        display: block; } }
  @media screen and (min-width: 781px) {
    .home-slider .sp {
      display: none; } }
  .home-slider:before {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); }
  .home-slider:after {
    position: absolute;
    z-index: 101;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../images/top/home-text.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80% auto;
    opacity: 0;
    filter: blur(10px);
    animation: fadeInBlur 2.5s ease forwards; }
    @media screen and (min-width: 781px) {
      .home-slider:after {
        background-size: 550px auto; } }

.bx-wrapper {
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important; }

#home-menu {
  background-color: #D9D9D9;
  border-bottom: 1px solid #bbb; }
  #home-menu div {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 0 10px;
    padding: 24px 0; }
    @media screen and (min-width: 781px) {
      #home-menu div {
        max-width: 1100px;
        padding: 40px 0;
        margin: auto;
        gap: 0 30px; } }
    #home-menu div a {
      padding-right: 10px;
      display: inline-block;
      color: #4e4e4e;
      border-right: 1px solid #4e4e4e;
      text-align: center;
      font-size: .13rem;
      line-height: 1; }
      #home-menu div a:last-child {
        border: none;
        padding-right: 0; }
      @media screen and (min-width: 781px) {
        #home-menu div a {
          padding-right: 30px;
          font-size: .2rem; } }
      #home-menu div a:hover {
        color: #00AFDF;
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; }

#home-news {
  background-color: #D9D9D9;
  padding: 40px 0; }
  @media screen and (min-width: 781px) {
    #home-news {
      padding: 80px 0; } }
  #home-news > div {
    padding: 0 16px;
    display: flex;
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-news > div {
        max-width: 1100px;
        margin: auto;
        padding: 0 24px;
        gap: 0 30px; } }
    #home-news > div h2 {
      font-size: .18rem;
      margin-right: 16px;
      font-weight: bold;
      line-height: 1; }
      @media screen and (min-width: 781px) {
        #home-news > div h2 {
          font-size: .24rem;
          margin-right: 40px; } }
      #home-news > div h2 span {
        display: block;
        font-size: .12rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-news > div h2 span {
            font-size: .14rem; } }
    #home-news > div > div dl {
      border-bottom: 1px solid #4e4e4e;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      padding-bottom: 8px;
      margin-bottom: 8px; }
      @media screen and (min-width: 781px) {
        #home-news > div > div dl {
          width: 100%; } }
      #home-news > div > div dl dt {
        font-size: .12rem;
        margin-right: 8px; }
        @media screen and (min-width: 781px) {
          #home-news > div > div dl dt {
            width: 120px;
            font-size: .18rem;
            margin-right: 30px; } }
      @media screen and (min-width: 781px) {
        #home-news > div > div dl dd.home-news-category {
          width: 160px;
          margin-right: 30px; } }
      #home-news > div > div dl dd.home-news-category span {
        padding: 4px 8px;
        font-size: .11rem;
        background-color: #4e4e4e;
        color: #fff;
        display: inline-block; }
        @media screen and (min-width: 781px) {
          #home-news > div > div dl dd.home-news-category span {
            font-size: .12rem; } }
      #home-news > div > div dl dd.home-news-content div {
        font-weight: bold; }
      #home-news > div > div dl dd.home-news-content p {
        font-size: .12rem; }

#home-topic {
  width: 100%;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #home-topic {
      padding: 100px 24px; } }
  #home-topic div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-topic div {
        max-width: 1100px;
        margin: auto; } }
    #home-topic div img {
      width: 100%;
      height: auto; }
      #home-topic div img.sp {
        display: block; }
        @media screen and (min-width: 781px) {
          #home-topic div img.sp {
            display: none; } }
      #home-topic div img.pc {
        display: none; }
        @media screen and (min-width: 781px) {
          #home-topic div img.pc {
            display: block; } }

#home-work {
  width: 100%;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #home-work {
      padding: 100px 24px; } }
  #home-work > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-work > div {
        max-width: 1100px;
        margin: auto; } }
    #home-work > div h2 {
      font-size: .24rem;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-work > div h2 {
          font-size: .4rem;
          margin-bottom: 40px; } }
      #home-work > div h2 span {
        display: block;
        font-size: .12rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-work > div h2 span {
            font-size: .14rem; } }
    #home-work > div > div {
      display: flex;
      flex-wrap: wrap;
      gap: 40px 20px;
      justify-content: center; }
      @media screen and (min-width: 781px) {
        #home-work > div > div {
          gap: 40px;
          justify-content: center; } }
      #home-work > div > div:nth-child(2) {
        margin-bottom: 40px; }
      #home-work > div > div:nth-child(3) {
        margin-bottom: 20px; }
      #home-work > div > div figure {
        width: calc(50% - 10px); }
        @media screen and (min-width: 781px) {
          #home-work > div > div figure {
            max-width: 300px; } }
        #home-work > div > div figure img {
          width: 100%;
          height: auto; }
        #home-work > div > div figure figcaption h3 {
          font-size: .18rem;
          margin: 8px 0;
          text-align: center; }
          @media screen and (min-width: 781px) {
            #home-work > div > div figure figcaption h3 {
              font-size: .24rem; } }
        #home-work > div > div figure figcaption p {
          font-size: .12rem;
          margin-bottom: 10px;
          line-height: 1.6; }
          @media screen and (min-width: 781px) {
            #home-work > div > div figure figcaption p {
              font-size: .14rem; } }
    #home-work > div a {
      display: flex;
      justify-content: center;
      align-items: center;
      background: #707070;
      width: 140px;
      height: 40px;
      color: #fff;
      margin: auto;
      font-size: .12rem;
      transition: 0.3s; }
      @media screen and (min-width: 781px) {
        #home-work > div a {
          font-size: .14rem;
          width: 160px;
          height: 50px; } }
      #home-work > div a:hover {
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }

#home-concept {
  width: 100%;
  padding: 60px 24px; }
  @media screen and (min-width: 781px) {
    #home-concept {
      padding: 100px 24px 50px; } }
  #home-concept > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-concept > div {
        max-width: 1100px;
        margin: auto; } }
    #home-concept > div h2 {
      font-size: .24rem;
      line-height: 1;
      text-align: center;
      margin-bottom: 60px; }
      @media screen and (min-width: 781px) {
        #home-concept > div h2 {
          font-size: .4rem;
          margin-bottom: 100px; } }
      #home-concept > div h2 span {
        display: block;
        font-size: .12rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-concept > div h2 span {
            font-size: .14rem; } }
    #home-concept > div > h3 {
      font-size: .2rem;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #home-concept > div > h3 {
          font-size: .4rem; } }
    #home-concept > div > img {
      width: 280px;
      height: auto;
      display: block;
      margin: 0 auto 32px; }
      @media screen and (min-width: 781px) {
        #home-concept > div > img {
          width: 540px; } }
    #home-concept > div > p {
      font-size: .1rem;
      margin-bottom: 10px;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #home-concept > div > p {
          font-size: .16rem;
          margin-bottom: 20px; } }
    #home-concept > div > div {
      margin-top: 40px; }
      @media screen and (min-width: 781px) {
        #home-concept > div > div {
          margin-top: 100px;
          display: flex; } }
      #home-concept > div > div > img {
        width: 100%;
        height: auto;
        margin-bottom: 10px; }
        @media screen and (min-width: 781px) {
          #home-concept > div > div > img {
            width: 300px;
            height: 445px;
            margin-right: 80px;
            margin-bottom: 0; } }
      @media screen and (min-width: 781px) {
        #home-concept > div > div > div {
          width: calc(100% - 380px); } }
      #home-concept > div > div > div h3 {
        font-size: .18rem;
        margin-bottom: 8px; }
        @media screen and (min-width: 781px) {
          #home-concept > div > div > div h3 {
            font-size: .32rem;
            line-height: 1.5; } }
      #home-concept > div > div > div p {
        font-size: .1rem; }
        @media screen and (min-width: 781px) {
          #home-concept > div > div > div p {
            font-size: .16rem; } }
      #home-concept > div > div > div dl {
        margin-top: 10px;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end; }
        @media screen and (min-width: 781px) {
          #home-concept > div > div > div dl {
            margin-top: 20px; } }
        #home-concept > div > div > div dl dt {
          width: 30%;
          margin-right: 10px; }
          @media screen and (min-width: 781px) {
            #home-concept > div > div > div dl dt {
              width: 150px; } }
          #home-concept > div > div > div dl dt > img {
            width: 100%;
            height: auto; }
        #home-concept > div > div > div dl dd {
          font-size: .1rem;
          text-align: right; }
          @media screen and (min-width: 781px) {
            #home-concept > div > div > div dl dd {
              font-size: .14rem; } }
          #home-concept > div > div > div dl dd span {
            display: block;
            font-size: .16rem; }
            @media screen and (min-width: 781px) {
              #home-concept > div > div > div dl dd span {
                font-size: .24rem; } }

#home-onlineshop {
  width: 100%;
  padding: 40px 0; }
  @media screen and (min-width: 781px) {
    #home-onlineshop {
      padding: 100px 24px 50px; } }
  #home-onlineshop > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-onlineshop > div {
        max-width: 1100px;
        margin: auto; } }
    #home-onlineshop > div h2 {
      font-size: .18rem;
      font-weight: bold;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-onlineshop > div h2 {
          font-size: .24rem;
          margin-bottom: 40px; } }
      #home-onlineshop > div h2 span {
        display: block;
        font-size: .12rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-onlineshop > div h2 span {
            font-size: .14rem; } }
    #home-onlineshop > div .box {
      display: flex;
      gap: 20px;
      width: 100%;
      padding: 0 20px;
      overflow-x: scroll; }
      @media screen and (min-width: 781px) {
        #home-onlineshop > div .box {
          overflow: inherit;
          justify-content: space-between;
          padding: 0; } }
      #home-onlineshop > div .box dl {
        width: 60%;
        flex-shrink: 0;
        padding-bottom: 8px; }
        @media screen and (min-width: 781px) {
          #home-onlineshop > div .box dl {
            width: 190px; } }
        #home-onlineshop > div .box dl dt {
          margin-bottom: 8px; }
          #home-onlineshop > div .box dl dt img {
            width: 100%;
            height: auto; }
        #home-onlineshop > div .box dl dd a .title {
          font-size: .14rem;
          display: block;
          padding-bottom: 8px;
          border-bottom: 1px dashed #4e4e4e;
          margin-bottom: 8px; }
        #home-onlineshop > div .box dl dd a .price {
          font-size: .1rem;
          width: 100%;
          display: block;
          text-align: right; }
          #home-onlineshop > div .box dl dd a .price span {
            font-size: .14rem;
            font-weight: bold; }

#home-maintenance_aboutus {
  width: 100%;
  padding: 40px 0;
  color: #fff; }
  @media screen and (min-width: 781px) {
    #home-maintenance_aboutus {
      padding: 100px 24px; } }
  #home-maintenance_aboutus > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-maintenance_aboutus > div {
        max-width: 1100px;
        margin: auto; } }
    #home-maintenance_aboutus > div .maintenance {
      margin-bottom: 24px; }
      @media screen and (min-width: 781px) {
        #home-maintenance_aboutus > div .maintenance {
          margin-bottom: 40px;
          display: flex; } }
      #home-maintenance_aboutus > div .maintenance > div {
        width: calc(100% - 24px);
        margin-left: 24px; }
        @media screen and (min-width: 781px) {
          #home-maintenance_aboutus > div .maintenance > div {
            width: 100%;
            margin-left: 0;
            margin-top: 24px; } }
        #home-maintenance_aboutus > div .maintenance > div h2 {
          font-size: .24rem; }
          @media screen and (min-width: 781px) {
            #home-maintenance_aboutus > div .maintenance > div h2 {
              font-size: .5rem;
              letter-spacing: 4;
              text-align: center;
              line-height: 1.3; } }
        #home-maintenance_aboutus > div .maintenance > div div {
          font-size: .18rem;
          background-color: #979797;
          padding: 3px 8px; }
          @media screen and (min-width: 781px) {
            #home-maintenance_aboutus > div .maintenance > div div {
              padding: 3px 16px;
              text-align: center;
              margin-bottom: 16px; } }
          #home-maintenance_aboutus > div .maintenance > div div span {
            font-size: .12rem; }
        #home-maintenance_aboutus > div .maintenance > div p {
          font-size: .12rem;
          padding: 8px 24px 8px 0; }
          @media screen and (min-width: 781px) {
            #home-maintenance_aboutus > div .maintenance > div p {
              font-size: .14rem;
              padding: 0 24px; } }
        #home-maintenance_aboutus > div .maintenance > div a {
          display: block;
          font-size: .12rem;
          margin-bottom: 12px; }
          @media screen and (min-width: 781px) {
            #home-maintenance_aboutus > div .maintenance > div a {
              font-size: .14rem;
              margin-top: 24px;
              text-align: center; } }
      #home-maintenance_aboutus > div .maintenance img {
        width: calc(100% - 48px);
        height: auto;
        margin: 0 24px; }
        @media screen and (min-width: 781px) {
          #home-maintenance_aboutus > div .maintenance img {
            width: 730px;
            margin: 0; } }
    @media screen and (min-width: 781px) {
      #home-maintenance_aboutus > div .aboutus {
        display: flex;
        flex-direction: row-reverse; } }
    #home-maintenance_aboutus > div .aboutus > div {
      width: calc(100% - 24px);
      margin-right: 24px; }
      @media screen and (min-width: 781px) {
        #home-maintenance_aboutus > div .aboutus > div {
          width: 100%;
          padding: 3px 0;
          margin-right: 0;
          margin-top: 24px; } }
      #home-maintenance_aboutus > div .aboutus > div h2 {
        font-size: .24rem;
        text-align: right; }
        @media screen and (min-width: 781px) {
          #home-maintenance_aboutus > div .aboutus > div h2 {
            font-size: .5rem;
            letter-spacing: 4;
            text-align: center;
            line-height: 1.3; } }
      #home-maintenance_aboutus > div .aboutus > div div {
        font-size: .18rem;
        background-color: #979797;
        padding: 3px 8px;
        text-align: right; }
        @media screen and (min-width: 781px) {
          #home-maintenance_aboutus > div .aboutus > div div {
            text-align: center;
            margin-bottom: 16px; } }
        #home-maintenance_aboutus > div .aboutus > div div span {
          font-size: .12rem; }
      #home-maintenance_aboutus > div .aboutus > div p {
        font-size: .12rem;
        padding: 8px 0px 8px 24px; }
        @media screen and (min-width: 781px) {
          #home-maintenance_aboutus > div .aboutus > div p {
            font-size: .14rem;
            padding: 0 24px; } }
      #home-maintenance_aboutus > div .aboutus > div a {
        display: block;
        text-align: right;
        font-size: .12rem;
        margin-bottom: 12px; }
        @media screen and (min-width: 781px) {
          #home-maintenance_aboutus > div .aboutus > div a {
            font-size: .14rem;
            margin-top: 24px;
            text-align: center; } }
    #home-maintenance_aboutus > div .aboutus img {
      width: calc(100% - 48px);
      height: auto;
      margin: 0 24px; }
      @media screen and (min-width: 781px) {
        #home-maintenance_aboutus > div .aboutus img {
          width: 730px;
          margin: 0; } }

#home-youtube2 {
  width: 100%;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #home-youtube2 {
      padding: 0; } }
  #home-youtube2 > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-youtube2 > div {
        max-width: 1100px;
        margin: auto;
        padding: 100px 24px; } }
    #home-youtube2 > div h2 {
      font-size: .24rem;
      line-height: 1;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-youtube2 > div h2 {
          font-size: .4rem;
          margin-bottom: 40px; } }
      #home-youtube2 > div h2 span {
        display: block;
        font-size: .12rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-youtube2 > div h2 span {
            font-size: .14rem; } }
    #home-youtube2 > div iframe {
      width: 100%;
      height: auto;
      display: block; }
      @media screen and (min-width: 781px) {
        #home-youtube2 > div iframe {
          max-width: calc(1100px - 48px);
          height: 497px;
          margin: auto; } }

#home-youtube3 {
  width: 100%;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #home-youtube3 {
      padding: 0; } }
  #home-youtube3 > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #home-youtube3 > div {
        max-width: 1100px;
        margin: auto;
        padding: 100px 24px; } }
    #home-youtube3 > div h2 {
      font-size: .24rem;
      line-height: 1;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-youtube3 > div h2 {
          font-size: .4rem;
          margin-bottom: 40px; } }
      #home-youtube3 > div h2 span {
        display: block;
        font-size: .11rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-youtube3 > div h2 span {
            font-size: .12rem; } }
    #home-youtube3 > div > div {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 16px; }
      @media screen and (min-width: 781px) {
        #home-youtube3 > div > div {
          flex-wrap: nowrap;
          justify-content: space-between;
          gap: 0; } }
      #home-youtube3 > div > div a {
        display: block;
        width: 100%;
        height: auto;
        position: relative; }
        @media screen and (min-width: 781px) {
          #home-youtube3 > div > div a {
            width: calc(50% - 20px); } }
        #home-youtube3 > div > div a img {
          width: 100%;
          height: auto; }
        #home-youtube3 > div > div a span {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          display: flex;
          align-items: center;
          justify-content: center; }
          #home-youtube3 > div > div a span svg {
            width: 100px;
            height: auto; }

#home-limitedshopman > div {
  width: 100%;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #home-limitedshopman > div {
      padding: 100px 24px;
      max-width: 1100px;
      margin: auto;
      display: flex;
      justify-content: space-between; } }
  #home-limitedshopman > div > div {
    width: 100%; }
    #home-limitedshopman > div > div h2 {
      font-size: .24rem;
      line-height: 1;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-limitedshopman > div > div h2 {
          font-size: .4rem;
          margin-bottom: 40px; } }
      #home-limitedshopman > div > div h2 span {
        display: block;
        font-size: .11rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-limitedshopman > div > div h2 span {
            font-size: .12rem; } }
    #home-limitedshopman > div > div p {
      font-size: .12rem;
      margin-bottom: 16px;
      padding-right: 40px; }
  #home-limitedshopman > div img {
    width: 100%;
    height: auto; }
    @media screen and (min-width: 781px) {
      #home-limitedshopman > div img {
        width: 50%; } }

#home-blog > div {
  width: 100%;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #home-blog > div {
      padding: 100px 24px;
      max-width: 1100px;
      margin: auto; } }
  #home-blog > div h2 {
    font-size: .24rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 20px;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #home-blog > div h2 {
        font-size: .4rem;
        margin-bottom: 40px; } }
    #home-blog > div h2 span {
      display: block;
      font-size: .11rem;
      margin-top: 8px; }
      @media screen and (min-width: 781px) {
        #home-blog > div h2 span {
          font-size: .12rem; } }
  #home-blog > div h3 {
    font-size: .18rem;
    margin: 40px 0 1em;
    font-weight: bold;
    line-height: 1; }
    @media screen and (min-width: 781px) {
      #home-blog > div h3 {
        font-size: .24rem;
        margin-right: 40px; } }
    #home-blog > div h3 span {
      display: block;
      font-size: .12rem;
      margin-top: 8px; }
      @media screen and (min-width: 781px) {
        #home-blog > div h3 span {
          font-size: .14rem; } }
  #home-blog > div .news-block > div {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #home-blog > div .news-block > div > div {
      width: calc(50% - 4px);
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-blog > div .news-block > div > div {
          width: calc((100% - 16px * 3) / 4); } }
      #home-blog > div .news-block > div > div figure a {
        display: block;
        position: relative;
        width: 100%;
        padding-top: 66.4%;
        overflow: hidden;
        transition: 0.2s; }
        #home-blog > div .news-block > div > div figure a:after {
          display: flex;
          align-items: center;
          justify-content: center;
          content: "記事を読む";
          position: absolute;
          height: 100%;
          width: 100%;
          z-index: 1;
          top: 0;
          left: 0;
          background: rgba(0, 0, 0, 0.5);
          opacity: 0;
          transition: 0.3s;
          color: #ffffff; }
        #home-blog > div .news-block > div > div figure a:hover:after {
          opacity: 1; }
      #home-blog > div .news-block > div > div figure img {
        width: 100%;
        height: auto;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0; }
      #home-blog > div .news-block > div > div .contents {
        padding: 8px;
        background: #ffffff; }
        @media screen and (min-width: 781px) {
          #home-blog > div .news-block > div > div .contents {
            padding: 12px; } }
        #home-blog > div .news-block > div > div .contents .tag {
          display: flex;
          justify-content: space-between;
          font-size: .1rem; }
          @media screen and (min-width: 781px) {
            #home-blog > div .news-block > div > div .contents .tag {
              font-size: .12rem; } }
          #home-blog > div .news-block > div > div .contents .tag > span:first-child {
            background: #000000;
            color: #ffffff;
            padding: 0 10px; }
        #home-blog > div .news-block > div > div .contents p {
          font-size: .12rem; }
          @media screen and (min-width: 781px) {
            #home-blog > div .news-block > div > div .contents p {
              font-size: .14rem; } }
      #home-blog > div .news-block > div > div > a {
        display: flex;
        height: 30px;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background: #000000;
        font-size: .1rem;
        font-weight: 600; }
        @media screen and (min-width: 781px) {
          #home-blog > div .news-block > div > div > a {
            font-size: .12rem;
            height: 40px; } }

#home-store {
  width: 100%;
  background-color: #fff;
  color: #4e4e4e; }
  #home-store > div {
    width: 100%;
    padding: 40px 24px; }
    @media screen and (min-width: 781px) {
      #home-store > div {
        padding: 100px 24px;
        max-width: 1100px;
        margin: auto; } }
    #home-store > div h2 {
      font-size: .18rem;
      font-weight: bold;
      line-height: 1;
      margin-bottom: 20px;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #home-store > div h2 {
          font-size: .24rem;
          margin-bottom: 40px; } }
      #home-store > div h2 span {
        display: block;
        font-size: .11rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #home-store > div h2 span {
            font-size: .12rem; } }
    #home-store > div > div {
      margin-bottom: 40px; }
      @media screen and (min-width: 781px) {
        #home-store > div > div {
          display: flex;
          margin-bottom: 80px;
          justify-content: space-between; } }
      #home-store > div > div figure {
        width: 100%;
        margin-bottom: 20px; }
        @media screen and (min-width: 781px) {
          #home-store > div > div figure {
            width: 400px; } }
        #home-store > div > div figure img {
          width: 100%;
          height: auto; }
      #home-store > div > div div {
        width: 100%; }
        @media screen and (min-width: 781px) {
          #home-store > div > div div {
            width: calc(100% - 500px); } }
        #home-store > div > div div dl {
          display: flex;
          border-top: 1px solid #4e4e4e;
          border-bottom: 1px solid #4e4e4e;
          font-size: .12rem;
          margin-bottom: -1px; }
          @media screen and (min-width: 781px) {
            #home-store > div > div div dl {
              font-size: .16rem; } }
          #home-store > div > div div dl dt {
            border-right: 1px solid #4e4e4e;
            width: 20%;
            padding: 8px 0; }
            @media screen and (min-width: 781px) {
              #home-store > div > div div dl dt {
                padding: 16px 0;
                width: 25%; } }
          #home-store > div > div div dl dd {
            padding: 8px 0 8px 8px; }
            @media screen and (min-width: 781px) {
              #home-store > div > div div dl dd {
                padding: 16px 0 16px 16px; } }

#home-youtube {
  background: url(../images/top/top-youtube-bg@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 80px 20px; }
  @media screen and (min-width: 781px) {
    #home-youtube {
      padding: 6vw;
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 781px) {
    #home-youtube > div:first-child {
      width: 300px; } }
  #home-youtube > div:first-child h2 {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #home-youtube > div:first-child h2 {
        width: auto;
        padding-bottom: 24px;
        margin-bottom: 48px; } }
    #home-youtube > div:first-child h2 img {
      width: auto;
      height: 30px; }
      @media screen and (min-width: 781px) {
        #home-youtube > div:first-child h2 img {
          height: 44px;
          width: auto; } }
    #home-youtube > div:first-child h2:after {
      position: absolute;
      left: 0;
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: #ffffff; }
      @media screen and (min-width: 781px) {
        #home-youtube > div:first-child h2:after {
          width: 72px;
          height: 8px; } }
  #home-youtube > div:first-child p {
    font-size: .12rem;
    color: #ffffff;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #home-youtube > div:first-child p {
        font-size: .14rem; } }
  #home-youtube > div:first-child > a {
    background-color: #FF0C16;
    color: #ffffff;
    height: 40px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px; }
    @media screen and (min-width: 781px) {
      #home-youtube > div:first-child > a {
        height: 50px; } }
  #home-youtube > div:last-child {
    padding-top: 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (min-width: 781px) {
      #home-youtube > div:last-child {
        padding: 0;
        width: calc(100% - 340px); } }
    #home-youtube > div:last-child > a {
      display: block;
      width: calc(50% - 4px);
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-youtube > div:last-child > a {
          width: calc((100% - 28px) / 3); } }
      @media screen and (max-width: 1100px) {
        #home-youtube > div:last-child > a {
          width: calc(50% - 10px); } }
      #home-youtube > div:last-child > a dl {
        background: #ffffff; }
        #home-youtube > div:last-child > a dl dt {
          padding: 4px 4px 0; }
          #home-youtube > div:last-child > a dl dt figure {
            width: 100%;
            padding-top: 56.25%;
            position: relative;
            overflow: hidden; }
            #home-youtube > div:last-child > a dl dt figure img {
              width: 100%;
              height: auto;
              position: absolute;
              left: 0;
              right: 0;
              top: 0;
              bottom: 0;
              margin: auto; }
        #home-youtube > div:last-child > a dl dd {
          font-size: .1rem;
          padding: .5em .5em;
          line-height: 1.4; }
          @media screen and (min-width: 781px) {
            #home-youtube > div:last-child > a dl dd {
              font-size: .12rem;
              line-height: 1.7; } }
      #home-youtube > div:last-child > a > span {
        display: flex;
        background: #FF0C16;
        height: 30px;
        width: 100%;
        color: #ffffff;
        position: relative;
        font-size: .1rem;
        font-weight: 600;
        align-items: center; }
        @media screen and (min-width: 781px) {
          #home-youtube > div:last-child > a > span {
            font-size: .12rem;
            height: 40px; } }
        #home-youtube > div:last-child > a > span.ptts {
          background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
        #home-youtube > div:last-child > a > span span {
          display: flex;
          width: 86%;
          height: 30px;
          align-items: center;
          justify-content: center;
          left: 0;
          position: absolute; }
          #home-youtube > div:last-child > a > span span svg {
            margin-right: 8px; }
        #home-youtube > div:last-child > a > span:after {
          display: block;
          content: '';
          width: 14%;
          height: 1px;
          background: #ffffff;
          position: absolute;
          right: 5%;
          top: calc(50% - 0.5px); }

#home-instagram {
  padding: 80px 20px; }
  @media screen and (min-width: 781px) {
    #home-instagram {
      padding: 6vw;
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 781px) {
    #home-instagram > div:first-child {
      width: 300px; } }
  #home-instagram > div:first-child h2 {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #home-instagram > div:first-child h2 {
        width: auto;
        padding-bottom: 24px;
        margin-bottom: 48px; } }
    #home-instagram > div:first-child h2 img {
      width: auto;
      height: 30px; }
      @media screen and (min-width: 781px) {
        #home-instagram > div:first-child h2 img {
          height: 44px;
          width: auto; } }
    #home-instagram > div:first-child h2:after {
      position: absolute;
      left: 0;
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
      @media screen and (min-width: 781px) {
        #home-instagram > div:first-child h2:after {
          width: 72px;
          height: 8px; } }
  #home-instagram > div:first-child p {
    font-size: .12rem;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #home-instagram > div:first-child p {
        font-size: .14rem; } }
  #home-instagram > div:first-child > a {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
    color: #ffffff;
    height: 40px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px; }
    @media screen and (min-width: 781px) {
      #home-instagram > div:first-child > a {
        height: 50px; } }
  #home-instagram > div:last-child {
    padding-top: 45px; }
    @media screen and (min-width: 781px) {
      #home-instagram > div:last-child {
        width: calc(100% - 340px);
        padding: 0; } }
    #home-instagram > div:last-child #sb_instagram #sbi_images {
      padding: 0 !important;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      #home-instagram > div:last-child #sb_instagram #sbi_images .sbi_item {
        width: calc((100% - 2px) / 3);
        margin-bottom: 1px !important; }
        @media screen and (min-width: 781px) {
          #home-instagram > div:last-child #sb_instagram #sbi_images .sbi_item {
            width: calc((100% - 4px) / 5); } }
        @media screen and (max-width: 1200px) {
          #home-instagram > div:last-child #sb_instagram #sbi_images .sbi_item {
            width: calc((100% - 2px) / 3); } }
        #home-instagram > div:last-child #sb_instagram #sbi_images .sbi_item:nth-child(10) {
          display: none; }
          @media screen and (min-width: 781px) {
            #home-instagram > div:last-child #sb_instagram #sbi_images .sbi_item:nth-child(10) {
              display: block; } }
          @media screen and (max-width: 1200px) {
            #home-instagram > div:last-child #sb_instagram #sbi_images .sbi_item:nth-child(10) {
              display: none; } }

#home-information {
  display: flex;
  flex-direction: column-reverse;
  background: #ffffff; }
  @media screen and (min-width: 781px) {
    #home-information {
      flex-direction: row-reverse; } }
  #home-information > div:first-child {
    padding: 40px 20px; }
    @media screen and (min-width: 781px) {
      #home-information > div:first-child {
        width: 50%;
        padding: 6vw; } }
    #home-information > div:first-child h2 {
      font-size: .14rem;
      font-weight: 600;
      height: auto;
      position: relative;
      padding-bottom: 15px;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #home-information > div:first-child h2 {
          width: auto;
          padding-bottom: 24px;
          margin-bottom: 48px;
          font-size: .21rem; } }
      #home-information > div:first-child h2:after {
        position: absolute;
        left: 0;
        bottom: 0;
        display: block;
        content: '';
        width: 44px;
        height: 5px;
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
        @media screen and (min-width: 781px) {
          #home-information > div:first-child h2:after {
            width: 72px;
            height: 8px; } }
    #home-information > div:first-child p:nth-child(2) {
      font-weight: 600; }
      @media screen and (min-width: 781px) {
        #home-information > div:first-child p:nth-child(2) {
          font-size: .16rem; } }
      #home-information > div:first-child p:nth-child(2) svg {
        height: 36px;
        width: auto;
        margin-right: 20px; }
        #home-information > div:first-child p:nth-child(2) svg path {
          fill: #000000; }
    #home-information > div:first-child p:nth-child(3) {
      font-size: .11rem; }
      @media screen and (min-width: 781px) {
        #home-information > div:first-child p:nth-child(3) {
          font-size: .14rem; } }
      #home-information > div:first-child p:nth-child(3) a {
        color: #007FFF;
        text-decoration: underline; }
    #home-information > div:first-child figure {
      margin: 20px 0 40px; }
      #home-information > div:first-child figure img {
        width: 100%;
        height: auto; }
        @media screen and (min-width: 781px) {
          #home-information > div:first-child figure img {
            width: 290px;
            height: auto; } }
  @media screen and (min-width: 781px) {
    #home-information > figure {
      width: 50%; } }
  #home-information > figure img {
    width: 100%;
    height: auto; }
  #home-information .link-white {
    margin-left: 0; }

#aboutus-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #aboutus-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #aboutus-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #aboutus-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #aboutus-header h2 {
        font-size: .32rem; } }
    #aboutus-header h2 span {
      font-size: .12rem;
      display: block; }

#aboutus-greeting {
  padding: 60px 0; }
  @media screen and (min-width: 781px) {
    #aboutus-greeting {
      padding: 6vw;
      display: flex;
      max-width: calc(1100px + 12vw);
      margin: 0 auto; } }
  @media screen and (min-width: 781px) {
    #aboutus-greeting > div {
      width: 63%;
      padding-right: 6vw; } }
  #aboutus-greeting > div h3 {
    font-size: .14rem;
    font-weight: 600;
    position: relative;
    padding: 0 20px 15px;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #aboutus-greeting > div h3 {
        font-size: .21rem;
        padding-bottom: 24px;
        margin-bottom: 48px;
        padding-left: 0; } }
    #aboutus-greeting > div h3:after {
      position: absolute;
      left: 20px;
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
      @media screen and (min-width: 781px) {
        #aboutus-greeting > div h3:after {
          width: 72px;
          height: 8px;
          left: 0; } }
  #aboutus-greeting > div p {
    font-size: .12rem;
    margin-bottom: 1em;
    padding: 0 20px; }
    @media screen and (min-width: 781px) {
      #aboutus-greeting > div p {
        font-size: .14rem;
        margin-bottom: 2em;
        padding-left: 0; } }
  #aboutus-greeting > div h4 {
    font-size: .18rem;
    text-align: right;
    padding: 0 20px; }
    @media screen and (min-width: 781px) {
      #aboutus-greeting > div h4 {
        font-size: .21rem; } }
    #aboutus-greeting > div h4 span {
      display: block;
      font-size: .12rem; }
      @media screen and (min-width: 781px) {
        #aboutus-greeting > div h4 span {
          font-size: .14rem; } }
  #aboutus-greeting > figure {
    padding: 0 20px;
    margin-top: 40px; }
    @media screen and (min-width: 781px) {
      #aboutus-greeting > figure {
        padding: 0;
        margin: 0;
        width: 37%; } }
    #aboutus-greeting > figure img {
      width: 100%;
      height: auto; }

#aboutus-company {
  padding: 20px; }
  @media screen and (min-width: 781px) {
    #aboutus-company {
      padding: 6vw; } }
  #aboutus-company > div {
    background-color: #ffffff;
    padding: 20px; }
    @media screen and (min-width: 781px) {
      #aboutus-company > div {
        padding: 4vw;
        max-width: 1100px;
        margin: 0 auto; } }
    #aboutus-company > div h3 {
      font-size: .14rem;
      font-weight: 600;
      position: relative;
      padding: 0 0 15px;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #aboutus-company > div h3 {
          font-size: .21rem;
          padding-bottom: 24px;
          margin-bottom: 48px; } }
      #aboutus-company > div h3:after {
        position: absolute;
        left: 0;
        bottom: 0;
        display: block;
        content: '';
        width: 44px;
        height: 5px;
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
        @media screen and (min-width: 781px) {
          #aboutus-company > div h3:after {
            width: 72px;
            height: 8px; } }
    #aboutus-company > div dl {
      border-top: 1px solid #dfdfdf;
      padding: 1em 0; }
      @media screen and (min-width: 781px) {
        #aboutus-company > div dl {
          display: flex;
          padding: 0; } }
      #aboutus-company > div dl:last-child {
        border-bottom: 1px solid #dfdfdf; }
      @media screen and (min-width: 781px) {
        #aboutus-company > div dl dt {
          width: 230px;
          border-right: 1px solid #dfdfdf;
          padding: 1.5em; } }
      @media screen and (min-width: 781px) {
        #aboutus-company > div dl dd {
          width: calc(100% - 230px);
          padding: 1.5em; } }

#works-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #works-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #works-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #works-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #works-header h2 {
        font-size: .32rem; } }
    #works-header h2 span {
      font-size: .12rem;
      display: block; }

#works-message {
  padding: 60px 20px;
  background: #ffffff; }
  @media screen and (min-width: 781px) {
    #works-message {
      padding: 6vw 20px; } }
  #works-message p {
    margin-bottom: 1em;
    text-align: justify; }
    @media screen and (min-width: 781px) {
      #works-message p {
        text-align: center; } }

#works-layout {
  position: relative;
  padding: 60px 20px; }
  @media screen and (min-width: 781px) {
    #works-layout {
      padding: 6vw;
      background-size: cover; } }
  #works-layout.show:before {
    background-image: url(../images/works/works-bg1@2x.jpg);
    background-repeat: no-repeat;
    background-size: auto 100vh;
    background-position: center;
    content: '';
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1; }
    @media screen and (min-width: 781px) {
      #works-layout.show:before {
        padding: 6vw;
        background-size: cover; } }
  #works-layout > div .caption {
    margin-bottom: 32px; }
    @media screen and (min-width: 781px) {
      #works-layout > div .caption {
        display: flex;
        justify-content: space-between;
        align-items: flex-end; } }
    @media screen and (min-width: 781px) {
      #works-layout > div .caption > div {
        width: calc(100% - 310px); } }
    #works-layout > div .caption > div h3 {
      font-size: .14rem;
      font-weight: 600;
      color: #ffffff;
      position: relative;
      padding: 0 0 15px;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #works-layout > div .caption > div h3 {
          font-size: .21rem;
          padding-bottom: 24px;
          margin-bottom: 48px; } }
      #works-layout > div .caption > div h3:after {
        position: absolute;
        left: 0;
        bottom: 0;
        display: block;
        content: '';
        width: 44px;
        height: 5px;
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
        @media screen and (min-width: 781px) {
          #works-layout > div .caption > div h3:after {
            width: 72px;
            height: 8px; } }
    #works-layout > div .caption > div p {
      color: #ffffff;
      text-align: justify;
      font-size: .12rem;
      margin-bottom: 2em; }
    @media screen and (min-width: 781px) {
      #works-layout > div .caption > ul {
        width: 285px; } }
    #works-layout > div .caption > ul li {
      margin-bottom: 1em; }
  #works-layout > div .staff {
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #works-layout > div .staff {
        display: flex; } }
    @media screen and (min-width: 781px) {
      #works-layout > div .staff figure {
        width: 370px;
        display: flex; } }
    #works-layout > div .staff figure img {
      width: 100%;
      height: auto; }
      @media screen and (min-width: 781px) {
        #works-layout > div .staff figure img {
          object-fit: cover; } }
    #works-layout > div .staff > div {
      padding: 20px;
      background: #ffffff; }
      @media screen and (min-width: 781px) {
        #works-layout > div .staff > div {
          width: calc(100% - 370px);
          position: relative;
          padding: 2vw 2vw 60px;
          display: flex;
          flex-direction: column; } }
      #works-layout > div .staff > div h4 {
        font-size: .16rem;
        font-weight: 600;
        border-bottom: 1px solid #000000;
        padding-bottom: 10px;
        margin-bottom: 10px; }
        @media screen and (min-width: 781px) {
          #works-layout > div .staff > div h4 {
            font-size: .21rem; } }
        #works-layout > div .staff > div h4 span {
          font-size: .12rem;
          font-weight: 300;
          display: block; }
      #works-layout > div .staff > div p {
        text-align: justify; }
      #works-layout > div .staff > div a {
        display: flex;
        align-items: center;
        background: #000000;
        height: 40px;
        width: 100%;
        color: #ffffff;
        position: relative;
        font-size: .1rem;
        font-weight: 600;
        transform: translate(20px, 20px); }
        @media screen and (min-width: 781px) {
          #works-layout > div .staff > div a {
            font-size: .14rem;
            font-weight: 400;
            height: 50px;
            position: absolute;
            right: 0;
            bottom: 0;
            transform: translate(0, 0);
            width: 265px; } }
        #works-layout > div .staff > div a span {
          display: flex;
          width: 40%;
          height: 30px;
          align-items: center;
          justify-content: center;
          left: 5%;
          position: absolute; }
          @media screen and (min-width: 781px) {
            #works-layout > div .staff > div a span {
              width: 140px; } }
        #works-layout > div .staff > div a:after {
          display: block;
          content: '';
          width: 40%;
          height: 1px;
          background: #ffffff;
          position: absolute;
          right: 5%;
          top: calc(50% - 0.5px); }
          @media screen and (min-width: 781px) {
            #works-layout > div .staff > div a:after {
              width: calc(100% - 180px); } }

#works-mente {
  padding: 60px 20px;
  background: #ffffff; }
  @media screen and (min-width: 781px) {
    #works-mente {
      padding: 6vw; } }
  #works-mente > div h3 {
    font-size: .14rem;
    font-weight: 600;
    position: relative;
    padding: 0 0 15px;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #works-mente > div h3 {
        font-size: .21rem;
        padding-bottom: 24px;
        margin-bottom: 48px; } }
    #works-mente > div h3:after {
      position: absolute;
      left: 0;
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
      @media screen and (min-width: 781px) {
        #works-mente > div h3:after {
          width: 72px;
          height: 8px; } }
  #works-mente > div p {
    text-align: justify;
    font-size: .12rem;
    margin-bottom: 2em; }
    @media screen and (min-width: 781px) {
      #works-mente > div p {
        font-size: .14rem; } }
  #works-mente > div .staff {
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #works-mente > div .staff {
        display: flex; } }
    @media screen and (min-width: 781px) {
      #works-mente > div .staff figure {
        width: 370px;
        display: flex; } }
    #works-mente > div .staff figure img {
      width: 100%;
      height: auto; }
      @media screen and (min-width: 781px) {
        #works-mente > div .staff figure img {
          object-fit: cover; } }
    #works-mente > div .staff > div {
      padding: 20px;
      background: #ffffff; }
      @media screen and (min-width: 781px) {
        #works-mente > div .staff > div {
          width: calc(100% - 370px);
          position: relative;
          padding: 2vw 2vw 60px;
          display: flex;
          flex-direction: column; } }
      #works-mente > div .staff > div h4 {
        font-size: .16rem;
        font-weight: 600;
        border-bottom: 1px solid #000000;
        padding-bottom: 10px;
        margin-bottom: 10px; }
        @media screen and (min-width: 781px) {
          #works-mente > div .staff > div h4 {
            font-size: .21rem; } }
        #works-mente > div .staff > div h4 span {
          font-size: .12rem;
          font-weight: 300;
          display: block; }
      #works-mente > div .staff > div p {
        text-align: justify; }
      #works-mente > div .staff > div a {
        display: flex;
        align-items: center;
        background: #000000;
        height: 40px;
        width: 100%;
        color: #ffffff;
        position: relative;
        font-size: .1rem;
        font-weight: 600;
        transform: translate(20px, 20px); }
        @media screen and (min-width: 781px) {
          #works-mente > div .staff > div a {
            font-size: .14rem;
            font-weight: 400;
            height: 50px;
            position: absolute;
            right: 0;
            bottom: 0;
            transform: translate(0, 0);
            width: 265px; } }
        #works-mente > div .staff > div a span {
          display: flex;
          width: 40%;
          height: 30px;
          align-items: center;
          justify-content: center;
          left: 5%;
          position: absolute; }
          @media screen and (min-width: 781px) {
            #works-mente > div .staff > div a span {
              width: 140px; } }
        #works-mente > div .staff > div a:after {
          display: block;
          content: '';
          width: 40%;
          height: 1px;
          background: #ffffff;
          position: absolute;
          right: 5%;
          top: calc(50% - 0.5px); }
          @media screen and (min-width: 781px) {
            #works-mente > div .staff > div a:after {
              width: calc(100% - 180px); } }

#works-price {
  position: relative;
  padding: 60px 20px;
  background-repeat: no-repeat;
  background-size: auto 100vh;
  background-attachment: fixed; }
  @media screen and (min-width: 781px) {
    #works-price {
      padding: 6vw; } }
  #works-price.show:before {
    background-image: url(../images/works/works-bg2@2x.jpg);
    background-repeat: no-repeat;
    background-repeat: no-repeat;
    background-size: auto 100vh;
    background-position: center;
    content: '';
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1; }
    @media screen and (min-width: 781px) {
      #works-price.show:before {
        padding: 6vw;
        background-size: cover; } }
  #works-price h3 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center;
    position: relative;
    padding-bottom: 70px;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #works-price h3 {
        font-size: .32rem; } }
    #works-price h3 span {
      font-size: .12rem;
      display: block; }
    #works-price h3:before {
      width: 1px;
      height: 50px;
      background-color: #ffffff;
      display: block;
      content: '';
      position: absolute;
      left: calc(50% - 0.5px);
      bottom: 0; }
  #works-price > div h4 {
    background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
    color: #ffffff;
    font-size: .18rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    height: 50px;
    width: 100%; }
    @media screen and (min-width: 781px) {
      #works-price > div h4 {
        height: 70px;
        font-size: .21rem; } }
  #works-price > div > div {
    padding: 20px;
    background: #ffffff; }
    @media screen and (min-width: 781px) {
      #works-price > div > div {
        padding: 3vw; } }
    #works-price > div > div .plan {
      margin-bottom: 60px; }
      #works-price > div > div .plan h5 {
        font-size: .16rem;
        font-weight: 600;
        padding-left: 14px;
        margin-bottom: 1em;
        position: relative;
        line-height: 1.4; }
        @media screen and (min-width: 781px) {
          #works-price > div > div .plan h5 {
            font-size: .21rem; } }
        #works-price > div > div .plan h5:before {
          width: 6px;
          height: 100%;
          content: '';
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          background: linear-gradient(#00cfe0 0%, #004cdd 100%); }
      #works-price > div > div .plan p {
        font-size: .12rem;
        text-align: justify;
        margin-bottom: 2em; }
        @media screen and (min-width: 781px) {
          #works-price > div > div .plan p {
            font-size: .14rem; } }
      #works-price > div > div .plan .table {
        width: calc(100% + 20px);
        overflow-x: scroll;
        display: flex; }
        @media screen and (min-width: 781px) {
          #works-price > div > div .plan .table {
            width: 100%; } }
        #works-price > div > div .plan .table table {
          margin-bottom: 10px; }
          #works-price > div > div .plan .table table thead {
            background-color: #000000; }
            #works-price > div > div .plan .table table thead tr th {
              color: #ffffff;
              font-size: .16rem;
              font-weight: 600;
              padding: 1em;
              border-collapse: collapse;
              border: 1px solid #000000; }
          #works-price > div > div .plan .table table tbody tr.title {
            background: #D3D3D3; }
          #works-price > div > div .plan .table table tbody tr td {
            padding: 1em;
            font-size: .12rem;
            border-collapse: collapse;
            border: 1px solid #000000; }
            @media screen and (min-width: 781px) {
              #works-price > div > div .plan .table table tbody tr td {
                font-size: .14rem; } }
            #works-price > div > div .plan .table table tbody tr td.genre {
              background: #D3D3D3;
              font-weight: 600;
              width: 60px;
              min-width: 60px;
              text-align: center;
              vertical-align: middle; }
              @media screen and (min-width: 781px) {
                #works-price > div > div .plan .table table tbody tr td.genre {
                  min-width: 80px;
                  width: 80px; } }
            #works-price > div > div .plan .table table tbody tr td.size-title {
              min-width: 280px;
              vertical-align: middle; }
              @media screen and (min-width: 781px) {
                #works-price > div > div .plan .table table tbody tr td.size-title {
                  min-width: 300px;
                  width: 300px; } }
            #works-price > div > div .plan .table table tbody tr td.size30, #works-price > div > div .plan .table table tbody tr td.size60, #works-price > div > div .plan .table table tbody tr td.size90, #works-price > div > div .plan .table table tbody tr td.size120, #works-price > div > div .plan .table table tbody tr td.size120over {
              min-width: 100px;
              text-align: center;
              vertical-align: middle; }
              @media screen and (min-width: 781px) {
                #works-price > div > div .plan .table table tbody tr td.size30, #works-price > div > div .plan .table table tbody tr td.size60, #works-price > div > div .plan .table table tbody tr td.size90, #works-price > div > div .plan .table table tbody tr td.size120, #works-price > div > div .plan .table table tbody tr td.size120over {
                  min-width: 110px;
                  width: 110px; } }
              #works-price > div > div .plan .table table tbody tr td.size30 span, #works-price > div > div .plan .table table tbody tr td.size60 span, #works-price > div > div .plan .table table tbody tr td.size90 span, #works-price > div > div .plan .table table tbody tr td.size120 span, #works-price > div > div .plan .table table tbody tr td.size120over span {
                display: block;
                font-size: .1rem; }
      #works-price > div > div .plan .notice {
        font-size: .12rem;
        line-height: 1.4; }

#shop-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #shop-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #shop-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #shop-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #shop-header h2 {
        font-size: .32rem; } }
    #shop-header h2 span {
      font-size: .12rem;
      display: block; }

#shop {
  padding: 60px 20px;
  display: flex;
  flex-direction: column;
  gap: 40px; }
  @media screen and (min-width: 781px) {
    #shop {
      padding: 6vw; } }
  #shop > div {
    background: #ffffff;
    box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6);
    padding: 20px; }
    @media screen and (min-width: 781px) {
      #shop > div {
        padding: 4vw; } }
    #shop > div h3 {
      font-size: .14rem;
      font-weight: 600;
      position: relative;
      padding: 0 0 15px;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #shop > div h3 {
          font-size: .21rem;
          padding-bottom: 24px;
          margin-bottom: 48px; } }
      #shop > div h3:after {
        position: absolute;
        left: 0;
        bottom: 0;
        display: block;
        content: '';
        width: 44px;
        height: 5px;
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
        @media screen and (min-width: 781px) {
          #shop > div h3:after {
            width: 72px;
            height: 8px; } }
      #shop > div h3 span:nth-child(1) {
        display: none; }
      #shop > div h3 span:nth-child(2) {
        display: block;
        font-size: .1rem; }
    @media screen and (min-width: 781px) {
      #shop > div > div {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: flex-start; } }
    @media screen and (min-width: 781px) {
      #shop > div > div > div {
        width: calc(100% - 340px); } }
    #shop > div > div > div dl {
      border-top: 1px solid #dfdfdf;
      padding: 1em 0; }
      @media screen and (min-width: 781px) {
        #shop > div > div > div dl {
          display: flex;
          padding: 0; } }
      #shop > div > div > div dl:last-child {
        border-bottom: 1px solid #dfdfdf; }
      @media screen and (min-width: 781px) {
        #shop > div > div > div dl dt {
          width: 28%;
          max-width: 230px;
          border-right: 1px solid #dfdfdf;
          padding: 1.5em; } }
      @media screen and (min-width: 781px) {
        #shop > div > div > div dl dd {
          width: calc(100% - 230px);
          padding: 1.5em; } }
      #shop > div > div > div dl dd figure {
        margin: 1em 0; }
        #shop > div > div > div dl dd figure img {
          max-width: 100%;
          height: auto; }
        #shop > div > div > div dl dd figure figcaption {
          color: #007FFF;
          text-decoration: underline; }
    @media screen and (min-width: 781px) {
      #shop > div > div > figure {
        width: 300px; } }
    #shop > div > div > figure img {
      width: 100%;
      height: auto; }

#privacy-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #privacy-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #privacy-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #privacy-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #privacy-header h2 {
        font-size: .32rem; } }
    #privacy-header h2 span {
      font-size: .12rem;
      display: block; }

#privacypolicy {
  padding: 60px 20px; }
  @media screen and (min-width: 781px) {
    #privacypolicy {
      padding: 6vw; } }
  #privacypolicy > div {
    background: #ffffff;
    box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6);
    padding: 20px;
    font-size: .12rem; }
    @media screen and (min-width: 781px) {
      #privacypolicy > div {
        padding: 4vw;
        font-size: .14rem; } }
    #privacypolicy > div h3 {
      font-weight: 600;
      margin-top: 3em; }
    #privacypolicy > div h4 {
      font-weight: 600;
      margin-top: 2em; }
    #privacypolicy > div p {
      margin-bottom: 1em; }
    #privacypolicy > div ul li {
      text-indent: -1em;
      padding-left: 1em; }
      #privacypolicy > div ul li:before {
        content: '・'; }

#law-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #law-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #law-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #law-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #law-header h2 {
        font-size: .32rem; } }
    #law-header h2 span {
      font-size: .12rem;
      display: block; }

#law {
  padding: 60px 20px; }
  @media screen and (min-width: 781px) {
    #law {
      padding: 6vw; } }
  #law > div {
    background: #ffffff;
    box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6);
    padding: 20px;
    font-size: .12rem; }
    @media screen and (min-width: 781px) {
      #law > div {
        padding: 4vw;
        font-size: .14rem; } }
    #law > div dl {
      border-top: 1px solid #dfdfdf;
      padding: 1em 0; }
      @media screen and (min-width: 781px) {
        #law > div dl {
          display: flex;
          padding: 0; } }
      #law > div dl:last-child {
        border-bottom: 1px solid #dfdfdf; }
      @media screen and (min-width: 781px) {
        #law > div dl dt {
          width: 230px;
          border-right: 1px solid #dfdfdf;
          padding: 1.5em; } }
      @media screen and (min-width: 781px) {
        #law > div dl dd {
          width: calc(100% - 230px);
          padding: 1.5em; } }

#ptts-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #ptts-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #ptts-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #ptts-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #ptts-header h2 {
        font-size: .32rem; } }
    #ptts-header h2 span {
      font-size: .12rem;
      display: block; }

#ptts-message {
  padding: 60px 20px;
  background-color: #ffffff; }
  @media screen and (min-width: 781px) {
    #ptts-message {
      padding: 6vw;
      display: flex;
      margin: 0 auto; } }
  #ptts-message p {
    font-size: .12rem;
    margin-bottom: 1em;
    padding: 0 20px; }
    @media screen and (min-width: 781px) {
      #ptts-message p {
        font-size: .14rem;
        padding-left: 0;
        text-align: center;
        width: 100%; } }
    #ptts-message p br {
      display: none; }
      @media screen and (min-width: 781px) {
        #ptts-message p br {
          display: block; } }

#ptts-about {
  padding: 60px 20px; }
  @media screen and (min-width: 781px) {
    #ptts-about {
      padding: 6vw;
      display: flex;
      max-width: calc(1100px + 12vw);
      margin: 0 auto; } }
  #ptts-about > div .how-ptts {
    display: flex;
    flex-direction: column-reverse; }
    @media screen and (min-width: 781px) {
      #ptts-about > div .how-ptts {
        flex-direction: row;
        justify-content: space-between; } }
    @media screen and (min-width: 781px) {
      #ptts-about > div .how-ptts > div {
        width: calc(100% - 300px); } }
    #ptts-about > div .how-ptts > div h3 {
      font-size: .14rem;
      font-weight: 600;
      position: relative;
      padding: 0 0 15px;
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #ptts-about > div .how-ptts > div h3 {
          font-size: .21rem;
          padding-bottom: 24px;
          margin-bottom: 48px; } }
      #ptts-about > div .how-ptts > div h3:after {
        position: absolute;
        left: 0;
        bottom: 0;
        display: block;
        content: '';
        width: 44px;
        height: 5px;
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
        @media screen and (min-width: 781px) {
          #ptts-about > div .how-ptts > div h3:after {
            width: 72px;
            height: 8px; } }
      #ptts-about > div .how-ptts > div h3 span {
        font-size: .12rem;
        display: block; }
        @media screen and (min-width: 781px) {
          #ptts-about > div .how-ptts > div h3 span {
            font-size: .16rem; } }
    #ptts-about > div .how-ptts > div p {
      text-align: justify;
      font-size: .12rem;
      margin-bottom: 2em; }
      @media screen and (min-width: 781px) {
        #ptts-about > div .how-ptts > div p {
          font-size: .14rem; } }
  #ptts-about > div .ptts-do {
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #ptts-about > div .ptts-do {
        display: flex; } }
    @media screen and (min-width: 781px) {
      #ptts-about > div .ptts-do figure {
        width: 404px;
        display: flex; } }
    #ptts-about > div .ptts-do figure img {
      width: 100%;
      height: auto; }
      @media screen and (min-width: 781px) {
        #ptts-about > div .ptts-do figure img {
          object-fit: cover; } }
    #ptts-about > div .ptts-do > div {
      padding: 20px;
      background: #ffffff; }
      @media screen and (min-width: 781px) {
        #ptts-about > div .ptts-do > div {
          width: calc(100% - 404px);
          position: relative;
          padding: 0 2vw 2vw;
          display: flex;
          flex-direction: column; } }
      #ptts-about > div .ptts-do > div h4 {
        font-size: .16rem;
        font-weight: 600;
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
        color: #ffffff;
        display: inline-block;
        padding: .5em 2em;
        margin-bottom: 10px;
        transform: translate(-20px, -20px); }
        @media screen and (min-width: 781px) {
          #ptts-about > div .ptts-do > div h4 {
            font-size: .21rem;
            display: inline-block;
            transform: translate(-2vw, 0);
            width: 278px; } }
        #ptts-about > div .ptts-do > div h4 span {
          font-size: .12rem;
          font-weight: 300;
          display: block; }
      #ptts-about > div .ptts-do > div ul li {
        text-indent: -1em;
        padding-left: 1em; }
      #ptts-about > div .ptts-do > div p {
        text-align: justify; }
      #ptts-about > div .ptts-do > div a {
        display: flex;
        align-items: center;
        background: #000000;
        height: 40px;
        width: 100%;
        color: #ffffff;
        position: relative;
        font-size: .1rem;
        font-weight: 600;
        transform: translate(20px, 20px); }
        @media screen and (min-width: 781px) {
          #ptts-about > div .ptts-do > div a {
            font-size: .14rem;
            font-weight: 400;
            height: 50px;
            position: absolute;
            right: 0;
            bottom: 0;
            transform: translate(0, 0);
            width: 265px; } }
        #ptts-about > div .ptts-do > div a span {
          display: flex;
          width: 40%;
          height: 30px;
          align-items: center;
          justify-content: center;
          left: 5%;
          position: absolute; }
          @media screen and (min-width: 781px) {
            #ptts-about > div .ptts-do > div a span {
              width: 140px; } }
        #ptts-about > div .ptts-do > div a:after {
          display: block;
          content: '';
          width: 40%;
          height: 1px;
          background: #ffffff;
          position: absolute;
          right: 5%;
          top: calc(50% - 0.5px); }
          @media screen and (min-width: 781px) {
            #ptts-about > div .ptts-do > div a:after {
              width: calc(100% - 180px); } }

#ptts-flow {
  padding: 60px 20px;
  background-image: url(../images/ptts/ptts-flow-bg@2x.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  @media screen and (min-width: 781px) {
    #ptts-flow {
      padding: 6vw;
      margin: 0 auto; } }
  #ptts-flow h3 {
    font-size: .14rem;
    font-weight: 600;
    position: relative;
    padding: 0 20px 15px;
    margin-bottom: 40px;
    text-align: center;
    color: #ffffff; }
    @media screen and (min-width: 781px) {
      #ptts-flow h3 {
        font-size: .21rem;
        padding-bottom: 24px;
        margin-bottom: 48px; } }
    #ptts-flow h3:after {
      position: absolute;
      left: calc(50% - 22px);
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
      @media screen and (min-width: 781px) {
        #ptts-flow h3:after {
          width: 72px;
          height: 8px;
          left: calc(50% - 36px); } }
  @media screen and (min-width: 781px) {
    #ptts-flow ul {
      display: flex;
      justify-content: space-between;
      max-width: 940px;
      margin: 0 auto; } }
  #ptts-flow ul li {
    background-color: #ffffff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    margin-bottom: 85px;
    position: relative; }
    @media screen and (min-width: 781px) {
      #ptts-flow ul li {
        width: 170px;
        background: none;
        flex-direction: column; } }
    #ptts-flow ul li:after {
      background-image: url(../images/ptts/flow-y.svg);
      background-repeat: no-repeat;
      background-position: center;
      display: block;
      width: 17px;
      height: 60px;
      content: '';
      position: absolute;
      left: calc(50% - 8.5px);
      bottom: -74px; }
      @media screen and (min-width: 781px) {
        #ptts-flow ul li:after {
          background-image: url(../images/ptts/flow-x.svg);
          width: 60px;
          height: 17px;
          left: auto;
          bottom: auto;
          top: 68px;
          right: -74px; } }
    #ptts-flow ul li:last-child {
      margin-bottom: 0; }
      #ptts-flow ul li:last-child:after {
        display: none; }
    #ptts-flow ul li figure {
      width: 100px;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #ptts-flow ul li figure {
          width: 170px;
          height: 170px;
          background-color: #ffffff;
          border-radius: 100px;
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column; } }
      #ptts-flow ul li figure h4 {
        background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
        border-radius: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 18px;
        width: 60px;
        font-size: .1rem;
        line-height: 1;
        color: #ffffff;
        margin: -9px auto 10px; }
        @media screen and (min-width: 781px) {
          #ptts-flow ul li figure h4 {
            font-size: .14rem;
            height: 22px;
            width: 80px;
            margin-top: -35px;
            margin-bottom: 20px; } }
        #ptts-flow ul li figure h4 span {
          font-size: .14rem; }
          @media screen and (min-width: 781px) {
            #ptts-flow ul li figure h4 span {
              font-size: .16rem; } }
      #ptts-flow ul li figure svg {
        margin: 0 auto; }
      #ptts-flow ul li figure figcaption {
        font-weight: 600;
        font-size: .12rem;
        padding-bottom: 10px; }
        @media screen and (min-width: 781px) {
          #ptts-flow ul li figure figcaption {
            font-size: .16rem; } }
    #ptts-flow ul li p {
      width: calc(100% - 120px);
      font-size: .12rem;
      line-height: 1.4; }
      @media screen and (min-width: 781px) {
        #ptts-flow ul li p {
          width: 100%;
          font-size: .14rem;
          color: #ffffff;
          margin-top: 2em;
          line-height: 1.7; } }
  #ptts-flow > a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
    color: #ffffff;
    font-size: .12rem;
    font-weight: 600;
    border-radius: 100px;
    height: 50px;
    transition: 0.2s ease-in-out;
    position: relative;
    margin-top: 30px;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 781px) {
      #ptts-flow > a {
        font-size: .14rem;
        height: 70px; } }
    #ptts-flow > a:hover {
      background: linear-gradient(270deg, #00cfe0 0%, #004cdd 100%); }
    #ptts-flow > a:after {
      width: 0;
      height: 0;
      display: block;
      border-style: solid;
      border-width: 9px 6px 0 6px;
      border-color: #ffffff transparent transparent transparent;
      position: absolute;
      content: '';
      right: 27px; }

#ptts-price {
  padding: 60px 20px 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  @media screen and (min-width: 781px) {
    #ptts-price {
      padding: 6vw;
      display: flex;
      max-width: calc(1100px + 12vw);
      margin: 0 auto; } }
  @media screen and (min-width: 781px) {
    #ptts-price > div {
      width: 100%; } }
  #ptts-price > div h3 {
    font-size: .14rem;
    font-weight: 600;
    position: relative;
    padding: 0 20px 15px;
    margin-bottom: 40px;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #ptts-price > div h3 {
        font-size: .21rem;
        padding-bottom: 24px;
        margin-bottom: 48px; } }
    #ptts-price > div h3:after {
      position: absolute;
      left: calc(50% - 22px);
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
      @media screen and (min-width: 781px) {
        #ptts-price > div h3:after {
          width: 72px;
          height: 8px;
          left: calc(50% - 36px); } }
  #ptts-price > div > div {
    padding: 20px;
    background: #ffffff;
    box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6); }
    @media screen and (min-width: 781px) {
      #ptts-price > div > div {
        padding: 3vw; } }
    #ptts-price > div > div .price {
      display: flex;
      flex-wrap: wrap; }
      #ptts-price > div > div .price h4 {
        width: 100%;
        font-weight: 600;
        font-size: .14rem;
        color: #ffffff;
        background-color: #000000;
        display: flex;
        height: 46px;
        align-items: center;
        justify-content: center; }
        @media screen and (min-width: 781px) {
          #ptts-price > div > div .price h4 {
            height: 50px;
            font-size: .16rem; } }
      #ptts-price > div > div .price > div:nth-child(2) {
        width: 50%;
        border-left: 1px solid #000000; }
        @media screen and (min-width: 781px) {
          #ptts-price > div > div .price > div:nth-child(2) {
            width: 100%;
            display: flex; } }
        #ptts-price > div > div .price > div:nth-child(2) > div {
          font-size: .12rem;
          padding: 1em;
          border-bottom: 1px solid #000000;
          text-align: center; }
          @media screen and (min-width: 781px) {
            #ptts-price > div > div .price > div:nth-child(2) > div {
              font-size: .14rem;
              width: calc((100% - 134px) / 3);
              border-right: 1px solid #000000; } }
          #ptts-price > div > div .price > div:nth-child(2) > div:first-child {
            background: #D3D3D3; }
            @media screen and (min-width: 781px) {
              #ptts-price > div > div .price > div:nth-child(2) > div:first-child {
                width: 134px; } }
      #ptts-price > div > div .price > div:last-child {
        width: 50%;
        border-left: 1px solid #000000;
        border-right: 1px solid #000000; }
        @media screen and (min-width: 781px) {
          #ptts-price > div > div .price > div:last-child {
            width: 100%;
            display: flex;
            border-right: none; } }
        #ptts-price > div > div .price > div:last-child > div {
          font-size: .12rem;
          padding: 1em;
          border-bottom: 1px solid #000000;
          text-align: center; }
          @media screen and (min-width: 781px) {
            #ptts-price > div > div .price > div:last-child > div {
              font-size: .14rem;
              width: calc((100% - 134px) / 3);
              border-right: 1px solid #000000; } }
          #ptts-price > div > div .price > div:last-child > div:first-child {
            background: #D3D3D3; }
            @media screen and (min-width: 781px) {
              #ptts-price > div > div .price > div:last-child > div:first-child {
                width: 134px; } }
    #ptts-price > div > div .notice {
      font-size: .1rem;
      margin-top: 1em;
      text-align: justify; }
      @media screen and (min-width: 781px) {
        #ptts-price > div > div .notice {
          font-size: .14rem; } }

#ptts-reservation {
  padding: 60px 20px; }
  @media screen and (min-width: 781px) {
    #ptts-reservation {
      padding: 6vw;
      margin: 0 auto; } }
  #ptts-reservation h3 {
    font-size: .14rem;
    font-weight: 600;
    position: relative;
    padding: 0 20px 15px;
    margin-bottom: 40px;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #ptts-reservation h3 {
        font-size: .21rem;
        padding-bottom: 24px;
        margin-bottom: 48px; } }
    #ptts-reservation h3:after {
      position: absolute;
      left: calc(50% - 22px);
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
      @media screen and (min-width: 781px) {
        #ptts-reservation h3:after {
          width: 72px;
          height: 8px;
          left: calc(50% - 36px); } }
  #ptts-reservation p {
    font-size: .12rem;
    text-align: center;
    margin-bottom: 2em; }
    @media screen and (min-width: 781px) {
      #ptts-reservation p {
        font-size: .14rem; } }
  #ptts-reservation .ptts-reservation-contents {
    padding: 20px;
    background: #ffffff;
    box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6); }
    @media screen and (min-width: 781px) {
      #ptts-reservation .ptts-reservation-contents {
        padding: 3vw 6vw;
        max-width: 1100px;
        margin: 0 auto; } }
    #ptts-reservation .ptts-reservation-contents dl {
      margin-bottom: 1.5em; }
      @media screen and (min-width: 781px) {
        #ptts-reservation .ptts-reservation-contents dl {
          display: flex; } }
      #ptts-reservation .ptts-reservation-contents dl dt {
        margin-bottom: 0.5em; }
        @media screen and (min-width: 781px) {
          #ptts-reservation .ptts-reservation-contents dl dt {
            width: 200px;
            margin: 0; } }
      @media screen and (min-width: 781px) {
        #ptts-reservation .ptts-reservation-contents dl dd {
          width: calc(100% - 230px); } }
      #ptts-reservation .ptts-reservation-contents dl dd input[type="text"],
      #ptts-reservation .ptts-reservation-contents dl dd input[type="email"],
      #ptts-reservation .ptts-reservation-contents dl dd textarea {
        background: #EFF1F5;
        border: 1px solid #C4CBD5;
        border-radius: 2px;
        padding: 1em;
        max-width: 100%;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #ptts-reservation .ptts-reservation-contents dl dd input[type="text"],
          #ptts-reservation .ptts-reservation-contents dl dd input[type="email"],
          #ptts-reservation .ptts-reservation-contents dl dd textarea {
            font-size: .14rem; } }
      @media screen and (min-width: 781px) {
        #ptts-reservation .ptts-reservation-contents dl dd #name,
        #ptts-reservation .ptts-reservation-contents dl dd #line,
        #ptts-reservation .ptts-reservation-contents dl dd #add,
        #ptts-reservation .ptts-reservation-contents dl dd #email,
        #ptts-reservation .ptts-reservation-contents dl dd #shopid,
        #ptts-reservation .ptts-reservation-contents dl dd textarea {
          width: 100%; } }
      #ptts-reservation .ptts-reservation-contents dl dd select {
        border: 1px solid #000000;
        border-radius: 2px;
        padding: 1em;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #ptts-reservation .ptts-reservation-contents dl dd select {
            font-size: .14rem; } }
      #ptts-reservation .ptts-reservation-contents dl dd #naiyou {
        max-width: 100%;
        height: 300px; }
      #ptts-reservation .ptts-reservation-contents dl dd.choise-box {
        display: flex; }
        #ptts-reservation .ptts-reservation-contents dl dd.choise-box input {
          width: 100px;
          margin-right: 20px; }
          @media screen and (min-width: 781px) {
            #ptts-reservation .ptts-reservation-contents dl dd.choise-box input {
              width: 120px; } }
        #ptts-reservation .ptts-reservation-contents dl dd.choise-box select {
          width: calc(100% - 120px);
          max-width: 140px;
          background-image: url(../images/ptts/select-bg.svg);
          background-repeat: no-repeat;
          background-size: auto;
          background-position: right 10px center; }
          @media screen and (min-width: 781px) {
            #ptts-reservation .ptts-reservation-contents dl dd.choise-box select {
              max-width: 180px; } }
      #ptts-reservation .ptts-reservation-contents dl dd #staff {
        width: 160px;
        background-image: url(../images/ptts/select-bg.svg);
        background-repeat: no-repeat;
        background-size: auto;
        background-position: right 10px center; }
        @media screen and (min-width: 781px) {
          #ptts-reservation .ptts-reservation-contents dl dd #staff {
            width: 180px; } }
      #ptts-reservation .ptts-reservation-contents dl.required dt, #ptts-reservation .ptts-reservation-contents dl.optional dt {
        font-size: .12rem;
        display: flex;
        align-items: center; }
        @media screen and (min-width: 781px) {
          #ptts-reservation .ptts-reservation-contents dl.required dt, #ptts-reservation .ptts-reservation-contents dl.optional dt {
            font-size: .14rem; } }
        #ptts-reservation .ptts-reservation-contents dl.required dt:before, #ptts-reservation .ptts-reservation-contents dl.optional dt:before {
          content: '必須';
          background: #FB9393;
          color: #ffffff;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          font-size: .1rem;
          width: 30px;
          border-radius: 2px;
          margin-right: 4px; }
      #ptts-reservation .ptts-reservation-contents dl.optional dt:before {
        content: '任意';
        background: #75C4FB;
        color: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: .1rem;
        width: 30px;
        min-width: 30px;
        border-radius: 2px;
        margin-right: 4px; }
    #ptts-reservation .ptts-reservation-contents .privacypolicy {
      display: flex;
      justify-content: center;
      align-items: center; }
      #ptts-reservation .ptts-reservation-contents .privacypolicy label {
        margin-right: 8px; }
        #ptts-reservation .ptts-reservation-contents .privacypolicy label input {
          transform: scale(1.5); }
        #ptts-reservation .ptts-reservation-contents .privacypolicy label span {
          display: none; }
      #ptts-reservation .ptts-reservation-contents .privacypolicy a {
        color: #007FFF;
        text-decoration: underline;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #ptts-reservation .ptts-reservation-contents .privacypolicy a {
            font-size: .14rem; } }
    #ptts-reservation .ptts-reservation-contents input[name="tel[data][0]"],
    #ptts-reservation .ptts-reservation-contents input[name="tel[data][1]"],
    #ptts-reservation .ptts-reservation-contents input[name="tel[data][2]"] {
      width: 68px; }
    #ptts-reservation .ptts-reservation-contents input[type="submit"] {
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
      color: #ffffff;
      font-size: .12rem;
      font-weight: 600;
      border-radius: 100px;
      height: 50px;
      transition: 0.2s ease-in-out;
      position: relative;
      margin-top: 30px;
      width: 100%;
      max-width: 420px; }
      @media screen and (min-width: 781px) {
        #ptts-reservation .ptts-reservation-contents input[type="submit"] {
          height: 70px;
          margin: 40px auto 0;
          font-size: .14rem; } }
      #ptts-reservation .ptts-reservation-contents input[type="submit"]:hover {
        background: linear-gradient(270deg, #00cfe0 0%, #004cdd 100%); }
      #ptts-reservation .ptts-reservation-contents input[type="submit"]:after {
        width: 0;
        height: 0;
        display: block;
        border-style: solid;
        border-width: 9px 6px 0 6px;
        border-color: #ffffff transparent transparent transparent;
        position: absolute;
        content: '';
        right: 27px; }

#recruit-header {
  width: 100%;
  background-color: #FFF;
  padding: 40px 0; }
  @media screen and (min-width: 781px) {
    #recruit-header {
      padding: 140px 0; } }
  #recruit-header > div {
    width: 100%; }
    #recruit-header > div h2 {
      font-size: .24rem;
      line-height: 1;
      margin-bottom: 80px;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #recruit-header > div h2 {
          font-size: .4rem;
          margin-bottom: 140px; } }
      #recruit-header > div h2 span {
        display: block;
        font-size: .11rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #recruit-header > div h2 span {
            font-size: .12rem; } }
    #recruit-header > div > div {
      width: 100%;
      position: relative; }
      #recruit-header > div > div img {
        width: 100%;
        height: auto; }
      #recruit-header > div > div div {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -40%);
        color: #fff;
        text-align: center;
        letter-spacing: 1; }
        @media screen and (min-width: 781px) {
          #recruit-header > div > div div {
            letter-spacing: 4; } }
        #recruit-header > div > div div svg {
          width: 50px;
          height: auto;
          margin-bottom: 10px; }
          @media screen and (min-width: 781px) {
            #recruit-header > div > div div svg {
              width: 170px;
              margin-bottom: 20px; } }
        #recruit-header > div > div div p {
          font-size: .12rem; }
          @media screen and (min-width: 781px) {
            #recruit-header > div > div div p {
              font-size: .4rem; } }
        #recruit-header > div > div div h3 {
          font-size: .18rem; }
          @media screen and (min-width: 781px) {
            #recruit-header > div > div div h3 {
              font-size: .6rem; } }

#recruit-matter {
  width: 100%;
  background-color: #FFF;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #recruit-matter > div {
      max-width: 1100px;
      padding: 140px 24px;
      margin: auto; } }
  #recruit-matter > div > div {
    width: 100%;
    margin-bottom: 40px; }
    @media screen and (min-width: 781px) {
      #recruit-matter > div > div {
        margin-bottom: 80px; } }
    @media screen and (min-width: 781px) {
      #recruit-matter > div > div dl {
        display: flex; } }
    @media screen and (min-width: 781px) {
      #recruit-matter > div > div dl.reverse {
        flex-direction: row-reverse; }
        #recruit-matter > div > div dl.reverse dt {
          margin-left: 80px;
          margin-right: 0; } }
    #recruit-matter > div > div dl dt {
      width: 100%;
      margin-bottom: 10px; }
      @media screen and (min-width: 781px) {
        #recruit-matter > div > div dl dt {
          margin-right: 80px;
          margin-bottom: 0; } }
      #recruit-matter > div > div dl dt img {
        width: 100%;
        height: auto; }
        @media screen and (min-width: 781px) {
          #recruit-matter > div > div dl dt img {
            width: 470px; } }
    @media screen and (min-width: 781px) {
      #recruit-matter > div > div dl dd {
        padding-top: 40px; } }
    #recruit-matter > div > div dl dd h3 {
      font-size: .24rem; }
      @media screen and (min-width: 781px) {
        #recruit-matter > div > div dl dd h3 {
          font-size: .4rem;
          margin-bottom: 20px; } }
    #recruit-matter > div > div dl dd p {
      font-size: .12rem;
      margin-bottom: 10px; }
      @media screen and (min-width: 781px) {
        #recruit-matter > div > div dl dd p {
          font-size: .16rem; } }
    #recruit-matter > div > div.recruit-photo1 img {
      width: 80%;
      height: auto; }
    #recruit-matter > div > div.recruit-photo2 img {
      width: 80%;
      height: auto;
      display: block;
      margin-left: auto; }

#recruit-details {
  width: 100%;
  background-color: #FFF;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #recruit-details {
      padding: 0 0 100px 0; } }
  @media screen and (min-width: 781px) {
    #recruit-details > div {
      max-width: 1100px;
      padding: 50px 24px;
      margin: auto; } }
  #recruit-details > div dl {
    display: flex;
    border-top: 1px solid #4e4e4e;
    border-bottom: 1px solid #4e4e4e;
    font-size: .12rem;
    margin-bottom: -1px; }
    @media screen and (min-width: 781px) {
      #recruit-details > div dl {
        font-size: .16rem; } }
    #recruit-details > div dl dt {
      border-right: 1px solid #4e4e4e;
      width: 20%;
      padding: 16px 0; }
      @media screen and (min-width: 781px) {
        #recruit-details > div dl dt {
          padding: 24px 0;
          width: 25%; } }
    #recruit-details > div dl dd {
      padding: 16px 0 16px 16px; }
      @media screen and (min-width: 781px) {
        #recruit-details > div dl dd {
          padding: 24px 0 24px 24px; } }

#recruit-access {
  margin: 0 20px 10px;
  padding: 20px;
  background: #ffffff;
  box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6); }
  @media screen and (min-width: 781px) {
    #recruit-access {
      padding: 3vw 6vw;
      max-width: 1100px;
      margin: 0 auto; } }
  #recruit-access h2 {
    font-size: .24rem;
    line-height: 1;
    margin-bottom: 80px;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #recruit-access h2 {
        font-size: .4rem;
        margin-bottom: 140px; } }
    #recruit-access h2 span {
      display: block;
      font-size: .11rem;
      margin-top: 8px; }
      @media screen and (min-width: 781px) {
        #recruit-access h2 span {
          font-size: .12rem; } }
  #recruit-access dl {
    margin-bottom: 1.5em; }
    @media screen and (min-width: 781px) {
      #recruit-access dl {
        display: flex; } }
    #recruit-access dl dt {
      margin-bottom: 0.5em; }
      @media screen and (min-width: 781px) {
        #recruit-access dl dt {
          width: 240px;
          margin: 0; } }
    @media screen and (min-width: 781px) {
      #recruit-access dl dd {
        width: calc(100% - 270px); } }
    #recruit-access dl dd input[type="text"],
    #recruit-access dl dd input[type="email"],
    #recruit-access dl dd textarea {
      background: #EFF1F5;
      border: 1px solid #C4CBD5;
      border-radius: 2px;
      padding: 1em;
      max-width: 100%;
      font-size: .12rem; }
      @media screen and (min-width: 781px) {
        #recruit-access dl dd input[type="text"],
        #recruit-access dl dd input[type="email"],
        #recruit-access dl dd textarea {
          font-size: .14rem; } }
    @media screen and (min-width: 781px) {
      #recruit-access dl dd #name,
      #recruit-access dl dd #line,
      #recruit-access dl dd #add,
      #recruit-access dl dd #email,
      #recruit-access dl dd #shopid,
      #recruit-access dl dd textarea {
        width: 100%; } }
    #recruit-access dl dd select {
      border: 1px solid #000000;
      border-radius: 2px;
      padding: 1em;
      font-size: .12rem; }
      @media screen and (min-width: 781px) {
        #recruit-access dl dd select {
          font-size: .14rem; } }
    #recruit-access dl dd #naiyou {
      max-width: 100%;
      height: 300px; }
    #recruit-access dl dd.choise-box {
      display: flex; }
      #recruit-access dl dd.choise-box input {
        width: 100px;
        margin-right: 20px; }
        @media screen and (min-width: 781px) {
          #recruit-access dl dd.choise-box input {
            width: 120px; } }
      #recruit-access dl dd.choise-box select {
        width: calc(100% - 120px);
        max-width: 140px;
        background-image: url(../images/ptts/select-bg.svg);
        background-repeat: no-repeat;
        background-size: auto;
        background-position: right 10px center; }
        @media screen and (min-width: 781px) {
          #recruit-access dl dd.choise-box select {
            max-width: 180px; } }
    #recruit-access dl dd #staff {
      width: 160px;
      background-image: url(../images/ptts/select-bg.svg);
      background-repeat: no-repeat;
      background-size: auto;
      background-position: right 10px center; }
      @media screen and (min-width: 781px) {
        #recruit-access dl dd #staff {
          width: 180px; } }
    #recruit-access dl.required dt, #recruit-access dl.optional dt {
      font-size: .12rem;
      display: flex;
      align-items: center; }
      @media screen and (min-width: 781px) {
        #recruit-access dl.required dt, #recruit-access dl.optional dt {
          font-size: .14rem; } }
      #recruit-access dl.required dt:before, #recruit-access dl.optional dt:before {
        content: '必須';
        background: #FB9393;
        color: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: .1rem;
        width: 30px;
        border-radius: 2px;
        margin-right: 4px; }
    #recruit-access dl.optional dt:before {
      content: '任意';
      background: #75C4FB;
      color: #ffffff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: .1rem;
      width: 30px;
      min-width: 30px;
      border-radius: 2px;
      margin-right: 4px; }
  #recruit-access .privacypolicy {
    display: flex;
    justify-content: center;
    align-items: center; }
    #recruit-access .privacypolicy label {
      margin-right: 8px; }
      #recruit-access .privacypolicy label input {
        transform: scale(1.5); }
      #recruit-access .privacypolicy label span {
        display: none; }
    #recruit-access .privacypolicy a {
      color: #007FFF;
      text-decoration: underline;
      font-size: .12rem; }
      @media screen and (min-width: 781px) {
        #recruit-access .privacypolicy a {
          font-size: .14rem; } }
  #recruit-access input[name="tel[data][0]"],
  #recruit-access input[name="tel[data][1]"],
  #recruit-access input[name="tel[data][2]"] {
    width: 68px; }
  #recruit-access input[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
    color: #ffffff;
    font-size: .14rem;
    font-weight: 600;
    border-radius: 100px;
    height: 50px;
    transition: 0.2s ease-in-out;
    position: relative;
    margin-top: 30px;
    width: 100%;
    max-width: 420px; }
    @media screen and (min-width: 781px) {
      #recruit-access input[type="submit"] {
        height: 70px;
        margin: 40px auto 0;
        font-size: .16rem; } }
    #recruit-access input[type="submit"]:hover {
      background: linear-gradient(270deg, #00cfe0 0%, #004cdd 100%); }
    #recruit-access input[type="submit"]:after {
      width: 0;
      height: 0;
      display: block;
      border-style: solid;
      border-width: 9px 6px 0 6px;
      border-color: #ffffff transparent transparent transparent;
      position: absolute;
      content: '';
      right: 27px; }

#oldman-header {
  height: 400px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/oldman/header-bg.jpg);
  background-size: cover;
  background-position: center; }
  @media screen and (min-width: 781px) {
    #oldman-header {
      height: 480px; } }
  #oldman-header h2 {
    width: 70%;
    max-width: 334px; }
    #oldman-header h2 img {
      width: 100%;
      height: auto; }

#oldman-about {
  padding: 60px 20px; }
  @media screen and (min-width: 781px) {
    #oldman-about {
      padding: 120px 40px;
      max-width: 1180px;
      margin: 0 auto; } }
  #oldman-about h3 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 40px; }
    @media screen and (min-width: 781px) {
      #oldman-about h3 {
        font-size: 48px;
        margin-bottom: 60px; } }
    #oldman-about h3 span {
      font-size: 16px; }
      @media screen and (min-width: 781px) {
        #oldman-about h3 span {
          font-size: 24px; } }
      #oldman-about h3 span:before {
        content: '　ー'; }
      #oldman-about h3 span:after {
        content: 'ー'; }
  #oldman-about p {
    line-height: 2;
    margin-bottom: 2em; }

.oldman-swiper {
  padding: 0 40px;
  overflow: hidden !important;
  width: 100vw; }
  @media screen and (min-width: 781px) {
    .oldman-swiper {
      display: none; } }
  .oldman-swiper .swiper-wrapper .swiper-slide img {
    width: 100%;
    height: auto;
    border-radius: 10px; }
  .oldman-swiper .swiper-slide-shadow {
    background: none !important; }

#oldman-images {
  display: none; }
  @media screen and (min-width: 781px) {
    #oldman-images {
      display: block; } }
  #oldman-images img {
    width: 100%;
    height: auto; }

#oldman-shop {
  padding: 20px 20px 60px; }
  @media screen and (min-width: 781px) {
    #oldman-shop {
      padding: 120px 0;
      display: flex;
      flex-direction: row-reverse; } }
  @media screen and (min-width: 781px) {
    #oldman-shop > div {
      width: 50%;
      height: 50vw;
      padding-left: 6vw;
      display: flex;
      flex-direction: column;
      justify-content: center; } }
  #oldman-shop > div h3 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 40px; }
    @media screen and (min-width: 781px) {
      #oldman-shop > div h3 {
        font-size: 48px;
        margin-bottom: 60px; } }
  #oldman-shop > div dl {
    margin-bottom: 40px; }
    @media screen and (min-width: 781px) {
      #oldman-shop > div dl {
        display: flex;
        gap: 20px; } }
    #oldman-shop > div dl dt {
      font-size: 14px;
      background-color: #000;
      width: 100px;
      height: 30px;
      color: #fff;
      border-radius: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1em; }
    @media screen and (min-width: 781px) {
      #oldman-shop > div dl dd {
        font-size: 16px; } }
    #oldman-shop > div dl dd a {
      height: 50px;
      width: 260px;
      border: 1px solid #000;
      border-radius: 100px;
      display: flex;
      align-items: center;
      margin-top: 20px; }
      #oldman-shop > div dl dd a img {
        width: 64px;
        height: 64px;
        margin-left: -7px;
        margin-right: 14px; }
  #oldman-shop iframe {
    width: 100%;
    height: 300px; }
    @media screen and (min-width: 781px) {
      #oldman-shop iframe {
        width: 50%;
        height: 50vw; } }

#oldman-contact {
  padding: 60px 20px 60px;
  background-color: #EDEDED; }
  @media screen and (min-width: 781px) {
    #oldman-contact {
      padding: 120px 20px 120px; } }
  #oldman-contact h3 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 40px; }
    @media screen and (min-width: 781px) {
      #oldman-contact h3 {
        font-size: 48px;
        margin-bottom: 60px;
        text-align: center; } }
  #oldman-contact .tel {
    position: relative;
    margin-bottom: 40px; }
    @media screen and (min-width: 781px) {
      #oldman-contact .tel {
        text-align: center;
        margin-bottom: 80px; } }
    #oldman-contact .tel img {
      max-width: 100%;
      height: auto; }
    #oldman-contact .tel .baloon {
      width: calc(100% - 160px);
      height: auto;
      position: absolute;
      right: 0;
      top: -70px; }
      @media screen and (min-width: 781px) {
        #oldman-contact .tel .baloon {
          width: 273px;
          right: calc(50% - 410px);
          top: -101px; } }
  #oldman-contact .cation {
    max-width: 640px;
    margin: 0 auto; }
    #oldman-contact .cation li {
      background-color: #FFF;
      border-radius: 30px;
      font-weight: bold;
      line-height: 1.3;
      padding: 10px;
      background-image: url(../images/oldman/excla.svg);
      background-repeat: no-repeat;
      background-position: left 7px top 7px;
      min-height: 60px;
      padding-left: 60px;
      margin-bottom: 16px;
      display: flex;
      align-items: center; }
      @media screen and (min-width: 781px) {
        #oldman-contact .cation li {
          font-size: 16px;
          margin-bottom: 20px; } }

#umekita-top {
  position: relative;
  width: 100vw;
  height: calc(100vh - 60px);
  margin-bottom: 80px;
  overflow: hidden; }
  @media screen and (min-width: 781px) {
    #umekita-top {
      margin-bottom: 120px;
      height: calc(100vh - 84px); } }
  #umekita-top:before {
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    background-image: url(../images/umekita/video-bg.png);
    position: absolute;
    z-index: 9; }
  #umekita-top video {
    position: absolute;
    height: 100%;
    width: auto;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0); }
    @media screen and (min-width: 781px) {
      #umekita-top video {
        position: absolute;
        height: 100%;
        width: 100%;
        object-fit: cover;
        left: 0;
        top: 0;
        transform: none; } }
  #umekita-top h2 {
    color: #fff;
    font-size: .4rem;
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    width: 80%;
    height: auto;
    opacity: 0;
    filter: blur(10px);
    animation: fadeInBlur 5s ease forwards 1s; }
    @media screen and (min-width: 781px) {
      #umekita-top h2 {
        max-width: 780px;
        font-size: .72rem; } }
    #umekita-top h2 span {
      font-size: .16rem;
      display: block; }
      @media screen and (min-width: 781px) {
        #umekita-top h2 span {
          font-size: .21rem; } }
  #umekita-top .scroll {
    position: absolute;
    z-index: 12;
    bottom: 0;
    left: 20px;
    height: 70px; }
    @media screen and (min-width: 781px) {
      #umekita-top .scroll {
        height: 100px;
        left: 60px; } }
    #umekita-top .scroll .text {
      display: block;
      transform: rotate(90deg) translate(6px, 4px);
      color: #fff; }
    #umekita-top .scroll .grow {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 2px;
      height: 70px;
      background-color: #fff;
      animation: grow 2s ease-out infinite; }
@keyframes grow {
  from {
    height: 0; }
  to {
    height: 100%; } }
#umekita-img1 {
  display: flex;
  flex-wrap: wrap;
  align-items: self-start;
  justify-content: end;
  gap: 10px;
  margin-bottom: 40px; }
  @media screen and (min-width: 781px) {
    #umekita-img1 {
      gap: 20px;
      margin-bottom: 120px; } }
  #umekita-img1 img {
    max-width: 80%;
    opacity: 0;
    filter: blur(10px); }
    @media screen and (min-width: 781px) {
      #umekita-img1 img {
        max-width: 60%; } }
    #umekita-img1 img:nth-child(2), #umekita-img1 img:nth-child(3) {
      max-width: calc(40% - 5px); }
      @media screen and (min-width: 781px) {
        #umekita-img1 img:nth-child(2), #umekita-img1 img:nth-child(3) {
          max-width: calc(30% - 10px); } }
    #umekita-img1 img:nth-child(1) {
      margin-left: 20%; }
      @media screen and (min-width: 781px) {
        #umekita-img1 img:nth-child(1) {
          margin-left: 40%; } }

#umekita-img2 {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: start;
  gap: 10px;
  margin-bottom: 40px; }
  @media screen and (min-width: 781px) {
    #umekita-img2 {
      gap: 20px;
      margin-bottom: 200px; } }
  #umekita-img2 img {
    max-width: 80%;
    opacity: 0;
    filter: blur(10px); }
    @media screen and (min-width: 781px) {
      #umekita-img2 img {
        max-width: 60%; } }
    #umekita-img2 img:nth-child(2), #umekita-img2 img:nth-child(3) {
      max-width: calc(40% - 5px); }
      @media screen and (min-width: 781px) {
        #umekita-img2 img:nth-child(2), #umekita-img2 img:nth-child(3) {
          max-width: calc(30% - 10px); } }
    #umekita-img2 img:nth-child(1) {
      margin-right: 20%; }
      @media screen and (min-width: 781px) {
        #umekita-img2 img:nth-child(1) {
          margin-right: 40%; } }

#umekita-tallmanpremium {
  width: 100%;
  background-color: #FFF;
  padding-bottom: 40px; }
  @media screen and (min-width: 781px) {
    #umekita-tallmanpremium {
      padding-bottom: 100px;
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 781px) {
    #umekita-tallmanpremium div {
      width: 600px;
      margin-left: 5vw; } }
  #umekita-tallmanpremium div h2 {
    text-align: center;
    font-size: .24rem;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #umekita-tallmanpremium div h2 {
        font-size: .4rem;
        margin-bottom: 40px;
        text-align: left; } }
    #umekita-tallmanpremium div h2.premiumaquarium {
      color: #9B7E2D; }
      #umekita-tallmanpremium div h2.premiumaquarium span {
        display: block;
        color: #707070;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #umekita-tallmanpremium div h2.premiumaquarium span {
            font-size: .14rem; } }
  #umekita-tallmanpremium div img {
    width: 100%;
    height: auto;
    margin-bottom: 80px; }
  #umekita-tallmanpremium div h3 {
    font-size: .32rem;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 20px; }
    @media screen and (min-width: 781px) {
      #umekita-tallmanpremium div h3 {
        font-size: .48rem;
        text-align: left; } }
    #umekita-tallmanpremium div h3 span {
      font-size: .24rem;
      display: block; }
      @media screen and (min-width: 781px) {
        #umekita-tallmanpremium div h3 span {
          font-size: .32rem; } }
  #umekita-tallmanpremium div p {
    text-align: center;
    font-size: .13rem;
    line-height: 2.8; }
    @media screen and (min-width: 781px) {
      #umekita-tallmanpremium div p {
        font-size: .16rem;
        text-align: left;
        line-height: 2.2; } }
  #umekita-tallmanpremium figure {
    overflow: hidden;
    margin-top: 80px; }
    @media screen and (min-width: 781px) {
      #umekita-tallmanpremium figure {
        width: calc(100vw - 700px);
        margin: 0; } }
    #umekita-tallmanpremium figure img {
      width: auto;
      height: 100vw;
      margin-left: -25vw; }
      @media screen and (min-width: 781px) {
        #umekita-tallmanpremium figure img {
          width: 100%;
          height: auto;
          margin: 0; } }

#umekita-news {
  background-color: #D9D9D9; }
  #umekita-news > div {
    display: flex;
    width: 100%;
    padding: 40px 24px; }
    @media screen and (min-width: 781px) {
      #umekita-news > div {
        max-width: 1100px;
        margin: auto;
        padding: 80px 24px;
        gap: 0 30px; } }
    #umekita-news > div h2 {
      font-size: .18rem;
      margin-right: 16px;
      font-weight: bold;
      line-height: 1; }
      @media screen and (min-width: 781px) {
        #umekita-news > div h2 {
          font-size: .24rem;
          margin-right: 40px; } }
      #umekita-news > div h2 span {
        display: block;
        font-size: .12rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #umekita-news > div h2 span {
            font-size: .14rem; } }
    #umekita-news > div > div dl {
      border-bottom: 1px solid #4e4e4e;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      padding-bottom: 8px;
      margin-bottom: 8px; }
      @media screen and (min-width: 781px) {
        #umekita-news > div > div dl {
          width: 100%; } }
      #umekita-news > div > div dl dt {
        font-size: .12rem;
        margin-right: 8px; }
        @media screen and (min-width: 781px) {
          #umekita-news > div > div dl dt {
            width: 120px;
            font-size: .18rem;
            margin-right: 30px; } }
      @media screen and (min-width: 781px) {
        #umekita-news > div > div dl dd.home-news-category {
          width: 160px;
          margin-right: 30px; } }
      #umekita-news > div > div dl dd.home-news-category span {
        padding: 4px 8px;
        font-size: .11rem;
        background-color: #4e4e4e;
        color: #fff;
        display: inline-block; }
        @media screen and (min-width: 781px) {
          #umekita-news > div > div dl dd.home-news-category span {
            font-size: .12rem; } }
      #umekita-news > div > div dl dd.home-news-content div {
        font-weight: bold; }
      #umekita-news > div > div dl dd.home-news-content p {
        font-size: .12rem; }

#umekita-works {
  width: 100%;
  background-color: #FFF;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #umekita-works {
      padding: 100px 0; } }
  #umekita-works > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #umekita-works > div {
        margin: auto; } }
    #umekita-works > div h2 {
      font-size: .24rem;
      line-height: 1;
      margin-bottom: 20px;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #umekita-works > div h2 {
          font-size: .4rem;
          margin-bottom: 40px; } }
      #umekita-works > div h2 span {
        display: block;
        font-size: .11rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #umekita-works > div h2 span {
            font-size: .12rem; } }
    #umekita-works > div > div dl {
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #umekita-works > div > div dl {
          width: 32%; } }
      #umekita-works > div > div dl dt {
        width: 100%;
        position: relative;
        margin-bottom: 10px; }
        #umekita-works > div > div dl dt img {
          width: 100%;
          height: auto; }
        #umekita-works > div > div dl dt span {
          position: absolute;
          bottom: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: rgba(78, 78, 78, 0.7);
          width: 100%;
          height: 60px;
          font-size: .32rem;
          color: #fff; }
      #umekita-works > div > div dl dd {
        font-size: .12rem;
        padding: 0 16px; }
        @media screen and (min-width: 781px) {
          #umekita-works > div > div dl dd {
            font-size: .14rem; } }
    #umekita-works > div > div > div {
      margin-bottom: 120px; }
      @media screen and (min-width: 781px) {
        #umekita-works > div > div > div {
          display: flex;
          align-items: center;
          justify-content: end;
          margin-bottom: 240px; }
          #umekita-works > div > div > div:nth-child(2) {
            justify-content: start;
            flex-direction: row-reverse; }
            #umekita-works > div > div > div:nth-child(2) > div {
              margin: 0 0 0 40px !important;
              text-align: left !important; }
              #umekita-works > div > div > div:nth-child(2) > div h3, #umekita-works > div > div > div:nth-child(2) > div p {
                text-align: left !important; } }
      #umekita-works > div > div > div > div {
        margin-bottom: 40px; }
        @media screen and (min-width: 781px) {
          #umekita-works > div > div > div > div {
            margin: 0;
            text-align: right;
            margin-right: 40px;
            max-width: 320px; } }
        #umekita-works > div > div > div > div h3 {
          font-size: .24rem;
          text-align: center;
          margin-bottom: 1em; }
          @media screen and (min-width: 781px) {
            #umekita-works > div > div > div > div h3 {
              text-align: right;
              font-size: .4rem; } }
        #umekita-works > div > div > div > div p {
          text-align: center; }
          @media screen and (min-width: 781px) {
            #umekita-works > div > div > div > div p {
              text-align: right;
              font-size: .16rem; }
              #umekita-works > div > div > div > div p br {
                display: none; } }
      #umekita-works > div > div > div swiper-container {
        width: 90vw;
        height: 90vw;
        max-height: 500px; }
        @media screen and (min-width: 781px) {
          #umekita-works > div > div > div swiper-container {
            width: 60vw;
            height: calc(60vw * .6673);
            margin: 0;
            max-height: calc(60vw * .6673); } }
        #umekita-works > div > div > div swiper-container swiper-slide {
          border-radius: 8px; }
          #umekita-works > div > div > div swiper-container swiper-slide img {
            height: 100%;
            width: 100%;
            object-fit: cover; }
        #umekita-works > div > div > div swiper-container .autoplay-progress {
          position: absolute;
          right: 16px;
          bottom: 16px;
          z-index: 10;
          width: 48px;
          height: 48px;
          display: flex;
          align-items: center;
          justify-content: center;
          font-weight: bold;
          color: var(--swiper-theme-color); }
        #umekita-works > div > div > div swiper-container .autoplay-progress svg {
          --progress: 0;
          position: absolute;
          left: 0;
          top: 0px;
          z-index: 10;
          width: 100%;
          height: 100%;
          stroke-width: 4px;
          stroke: var(--swiper-theme-color);
          fill: none;
          stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
          stroke-dasharray: 125.6;
          transform: rotate(-90deg); }

#umekita-staff {
  width: 100%;
  background-color: #FFF;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #umekita-staff {
      padding: 100px 24px; } }
  #umekita-staff > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #umekita-staff > div {
        max-width: 800px;
        margin: auto; } }
    #umekita-staff > div h2 {
      font-size: .24rem;
      line-height: 1;
      margin-bottom: 20px;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #umekita-staff > div h2 {
          font-size: .4rem;
          margin-bottom: 40px; } }
      #umekita-staff > div h2 span {
        display: block;
        font-size: .11rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #umekita-staff > div h2 span {
            font-size: .12rem; } }
    #umekita-staff > div > div {
      display: flex;
      flex-wrap: wrap;
      gap: 20px; }
      @media screen and (min-width: 781px) {
        #umekita-staff > div > div {
          gap: 40px; } }
      @media screen and (min-width: 781px) {
        #umekita-staff > div > div dl {
          display: flex;
          justify-content: flex-start; } }
      #umekita-staff > div > div dl dt {
        width: 100%; }
        @media screen and (min-width: 781px) {
          #umekita-staff > div > div dl dt {
            width: 500px;
            margin-right: 40px; } }
        #umekita-staff > div > div dl dt img {
          width: 100%;
          height: auto;
          margin-bottom: 16px; }
      @media screen and (min-width: 781px) {
        #umekita-staff > div > div dl dd {
          padding: 24px 0; } }
      #umekita-staff > div > div dl dd span {
        font-size: .12rem;
        font-weight: bold;
        line-height: 1; }
        @media screen and (min-width: 781px) {
          #umekita-staff > div > div dl dd span {
            font-size: .14rem; } }
      #umekita-staff > div > div dl dd div {
        font-size: .18rem;
        font-weight: bold; }
        @media screen and (min-width: 781px) {
          #umekita-staff > div > div dl dd div {
            font-size: .24rem; } }
      #umekita-staff > div > div dl dd p {
        font-size: .14rem; }
        @media screen and (min-width: 781px) {
          #umekita-staff > div > div dl dd p {
            font-size: .16rem; } }

#umekita-access {
  width: 100%;
  background-color: #FFF;
  padding: 40px 24px; }
  @media screen and (min-width: 781px) {
    #umekita-access {
      padding: 100px 24px; } }
  #umekita-access > div {
    width: 100%; }
    @media screen and (min-width: 781px) {
      #umekita-access > div {
        max-width: 1100px;
        margin: auto; } }
    #umekita-access > div h2 {
      font-size: .24rem;
      line-height: 1;
      margin-bottom: 20px;
      text-align: center; }
      @media screen and (min-width: 781px) {
        #umekita-access > div h2 {
          font-size: .4rem;
          margin-bottom: 40px; } }
      #umekita-access > div h2 span {
        display: block;
        font-size: .11rem;
        margin-top: 8px; }
        @media screen and (min-width: 781px) {
          #umekita-access > div h2 span {
            font-size: .12rem; } }
    @media screen and (min-width: 781px) {
      #umekita-access > div > div {
        display: flex;
        align-items: center; } }
    #umekita-access > div > div iframe {
      width: 100%; }
      @media screen and (min-width: 781px) {
        #umekita-access > div > div iframe {
          width: 50%; } }
    @media screen and (min-width: 781px) {
      #umekita-access > div > div > div {
        width: 50%; } }
    #umekita-access > div > div > div dl {
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #umekita-access > div > div > div dl {
          display: flex;
          gap: 20px; } }
      #umekita-access > div > div > div dl dt {
        font-size: 14px;
        background-color: #000;
        width: 100px;
        height: 30px;
        color: #fff;
        border-radius: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1em; }
      @media screen and (min-width: 781px) {
        #umekita-access > div > div > div dl dd {
          font-size: 16px; } }
      #umekita-access > div > div > div dl dd a {
        height: 50px;
        width: 260px;
        border: 1px solid #000;
        border-radius: 100px;
        display: flex;
        align-items: center;
        margin-top: 20px; }
        #umekita-access > div > div > div dl dd a img {
          width: 64px;
          height: 64px;
          margin-left: -7px;
          margin-right: 14px; }

#entrepreneur-archive {
  padding: 20px 14px;
  margin: 0 auto; }
  #entrepreneur-archive h2 {
    background-color: #F7D730;
    font-size: .15rem;
    font-weight: 600;
    text-align: center;
    border-radius: 3px;
    padding: 1em 0;
    position: relative;
    margin-bottom: 28px; }
    @media screen and (min-width: 780px) {
      #entrepreneur-archive h2 {
        font-size: .24rem;
        max-width: 1140px;
        margin: 0 auto 28px; } }
    #entrepreneur-archive h2:before {
      position: absolute;
      bottom: -11px;
      left: calc(50% - 6px);
      display: block;
      content: '';
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 11px 6px 0 6px;
      border-color: #F7D730 transparent transparent transparent; }
    #entrepreneur-archive h2 span {
      font-size: .1rem;
      display: block; }
      @media screen and (min-width: 780px) {
        #entrepreneur-archive h2 span {
          font-size: .14rem; } }
  #entrepreneur-archive > div {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (min-width: 780px) {
      #entrepreneur-archive > div {
        max-width: 1140px; } }
    #entrepreneur-archive > div a {
      display: block;
      width: calc((100% - 14px) / 2);
      margin-bottom: 14px;
      position: relative; }
      @media screen and (min-width: 780px) {
        #entrepreneur-archive > div a {
          width: calc((100% - 42px) / 4); } }
      #entrepreneur-archive > div a:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        transition: border-width 0.2s ease-in-out;
        border: 0 solid #F7D730;
        box-sizing: border-box;
        z-index: 0; }
      #entrepreneur-archive > div a:hover:after {
        border-width: 6px; }
      #entrepreneur-archive > div a figure img {
        width: 100%;
        height: auto; }
      #entrepreneur-archive > div a > div {
        background-color: #ffffff;
        padding: 8px; }
        @media screen and (min-width: 780px) {
          #entrepreneur-archive > div a > div {
            padding: 14px; } }
        #entrepreneur-archive > div a > div h4 {
          font-size: .1rem;
          line-height: 1.5;
          padding-bottom: 8px;
          margin-bottom: 8px;
          border-bottom: 1px solid #3B2E26; }
          @media screen and (min-width: 780px) {
            #entrepreneur-archive > div a > div h4 {
              font-size: .14rem; } }
        #entrepreneur-archive > div a > div .tags {
          display: flex; }
          #entrepreneur-archive > div a > div .tags .name {
            display: flex;
            align-items: center;
            font-size: .1rem;
            margin-right: 10px; }
            @media screen and (min-width: 780px) {
              #entrepreneur-archive > div a > div .tags .name {
                margin-right: 20px; } }
            #entrepreneur-archive > div a > div .tags .name svg {
              margin-right: 4px;
              height: 14px;
              width: auto; }
          #entrepreneur-archive > div a > div .tags .job {
            display: flex;
            align-items: center;
            font-size: .1rem; }
            #entrepreneur-archive > div a > div .tags .job svg {
              margin-right: 4px;
              height: 11px;
              width: auto; }
  #entrepreneur-archive > a {
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20id%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D_1%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%201%22%20d%3D%22M-4639%2C7791a8.008%2C8.008%2C0%2C0%2C1-8-8%2C8.009%2C8.009%2C0%2C0%2C1%2C8-8%2C8.01%2C8.01%2C0%2C0%2C1%2C8%2C8A8.009%2C8.009%2C0%2C0%2C1-4639%2C7791Zm-2.5-12.123h0v8l7-4-7-4Z%22%20transform%3D%22translate(4647%20-7775)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 22px center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    max-width: 270px;
    margin: 0 auto;
    border-radius: 3px;
    font-size: .12rem;
    font-weight: 600;
    color: #ffffff; }
    @media screen and (min-width: 780px) {
      #entrepreneur-archive > a {
        max-width: 100%; } }

#entrepreneur-single-contents {
  padding: 20px 14px;
  margin: 0 auto; }
  @media screen and (min-width: 780px) {
    #entrepreneur-single-contents {
      padding: 35px 14px 74px; } }
  #entrepreneur-single-contents .entrepreneur-header {
    background-color: #ffffff;
    border-bottom: 2px solid #3B2E26; }
    @media screen and (min-width: 780px) {
      #entrepreneur-single-contents .entrepreneur-header {
        max-width: 1140px;
        margin: 0 auto;
        display: flex;
        border-bottom: 3px solid #3B2E26; } }
    @media screen and (min-width: 780px) {
      #entrepreneur-single-contents .entrepreneur-header figure {
        max-width: 636px;
        width: 56%; } }
    #entrepreneur-single-contents .entrepreneur-header figure img {
      width: 100%;
      height: auto; }
    #entrepreneur-single-contents .entrepreneur-header > div {
      padding: 18px; }
      @media screen and (min-width: 780px) {
        #entrepreneur-single-contents .entrepreneur-header > div {
          max-width: 504px;
          width: 44%;
          padding: 35px; } }
      #entrepreneur-single-contents .entrepreneur-header > div h2 {
        font-size: .16rem;
        line-height: 1.4;
        margin: 0 0 1em; }
        @media screen and (min-width: 780px) {
          #entrepreneur-single-contents .entrepreneur-header > div h2 {
            font-size: .24rem;
            margin-bottom: 1.5em; } }
      #entrepreneur-single-contents .entrepreneur-header > div .tags {
        display: flex;
        border-bottom: 1px solid #3B2E26;
        padding-bottom: 5px;
        margin-bottom: 1em; }
        #entrepreneur-single-contents .entrepreneur-header > div .tags .name {
          display: flex;
          align-items: center;
          font-size: .13rem;
          margin-right: 40px; }
          @media screen and (min-width: 780px) {
            #entrepreneur-single-contents .entrepreneur-header > div .tags .name {
              font-size: .17rem; } }
          #entrepreneur-single-contents .entrepreneur-header > div .tags .name svg {
            margin-right: 10px;
            height: 26px;
            width: auto; }
        #entrepreneur-single-contents .entrepreneur-header > div .tags .job {
          display: flex;
          align-items: center;
          font-size: .13rem; }
          @media screen and (min-width: 780px) {
            #entrepreneur-single-contents .entrepreneur-header > div .tags .job {
              font-size: .17rem; } }
          #entrepreneur-single-contents .entrepreneur-header > div .tags .job svg {
            margin-right: 10px;
            height: 20px;
            width: auto; }
      #entrepreneur-single-contents .entrepreneur-header > div .profile {
        font-size: .1rem; }
        @media screen and (min-width: 780px) {
          #entrepreneur-single-contents .entrepreneur-header > div .profile {
            font-size: .12rem; } }
  #entrepreneur-single-contents .entrepreneur-content {
    background-color: #ffffff;
    padding: 10px 18px;
    font-size: .11rem; }
    @media screen and (min-width: 780px) {
      #entrepreneur-single-contents .entrepreneur-content {
        max-width: 1140px;
        margin: 0 auto;
        font-size: .14rem; } }
    #entrepreneur-single-contents .entrepreneur-content article {
      max-width: 600px;
      margin: 0 auto; }
      #entrepreneur-single-contents .entrepreneur-content article h2 {
        font-size: .14rem;
        font-weight: 400;
        border-left: 4px solid #F7D730;
        background: #F5F5F5;
        padding: 8px;
        margin: 2em auto 1em; }
        @media screen and (min-width: 780px) {
          #entrepreneur-single-contents .entrepreneur-content article h2 {
            font-size: .21rem;
            border-left: 10px solid #F7D730; } }
      #entrepreneur-single-contents .entrepreneur-content article figure {
        margin-bottom: 1em; }
        #entrepreneur-single-contents .entrepreneur-content article figure img {
          max-width: 100%;
          height: auto; }
      #entrepreneur-single-contents .entrepreneur-content article p {
        margin-bottom: 1em; }
    #entrepreneur-single-contents .entrepreneur-content > h2 {
      font-size: .14rem;
      font-weight: 600;
      background-color: #F7D730;
      padding: 1em;
      text-align: center;
      width: calc(100% + 36px);
      margin-left: -18px;
      margin-bottom: 1em;
      margin-top: 4em; }
      @media screen and (min-width: 780px) {
        #entrepreneur-single-contents .entrepreneur-content > h2 {
          font-size: .18rem; } }
    #entrepreneur-single-contents .entrepreneur-content > p {
      text-align: center;
      margin-bottom: 1em;
      font-size: .16rem; }
    #entrepreneur-single-contents .entrepreneur-content > a {
      background-color: #ffffff;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20id%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D_1%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%201%22%20d%3D%22M-4639%2C7791a8.008%2C8.008%2C0%2C0%2C1-8-8%2C8.009%2C8.009%2C0%2C0%2C1%2C8-8%2C8.01%2C8.01%2C0%2C0%2C1%2C8%2C8A8.009%2C8.009%2C0%2C0%2C1-4639%2C7791Zm-2.5-12.123h0v8l7-4-7-4Z%22%20transform%3D%22translate(4647%20-7775)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-position: right 22px center;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 50px;
      max-width: 270px;
      margin: 0 auto 1em;
      border-radius: 3px;
      font-size: .12rem;
      font-weight: 600;
      color: #ffffff; }
      @media screen and (min-width: 780px) {
        #entrepreneur-single-contents .entrepreneur-content > a {
          max-width: 600px;
          font-size: .16rem; } }

#entrepreneur-etc {
  background-color: #F5F5F5;
  padding: 74px 14px; }
  #entrepreneur-etc h2 {
    text-align: center;
    font-size: .16rem;
    font-weight: 600;
    margin: 0 auto 1.5em; }
    @media screen and (min-width: 780px) {
      #entrepreneur-etc h2 {
        font-size: .21rem; } }
  #entrepreneur-etc > div {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (min-width: 780px) {
      #entrepreneur-etc > div {
        max-width: 1140px; } }
    #entrepreneur-etc > div a {
      display: block;
      width: calc((100% - 14px) / 2);
      margin-bottom: 14px;
      position: relative; }
      @media screen and (min-width: 780px) {
        #entrepreneur-etc > div a {
          width: calc((100% - 42px) / 4); } }
      #entrepreneur-etc > div a:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        transition: border-width 0.2s ease-in-out;
        border: 0 solid #F7D730;
        box-sizing: border-box;
        z-index: 0; }
      #entrepreneur-etc > div a:hover:after {
        border-width: 6px; }
      #entrepreneur-etc > div a figure img {
        width: 100%;
        height: auto; }
      #entrepreneur-etc > div a > div {
        background-color: #ffffff;
        padding: 8px; }
        @media screen and (min-width: 780px) {
          #entrepreneur-etc > div a > div {
            padding: 14px; } }
        #entrepreneur-etc > div a > div h4 {
          font-size: .1rem;
          line-height: 1.5;
          padding-bottom: 8px;
          margin-bottom: 8px;
          border-bottom: 1px solid #3B2E26; }
          @media screen and (min-width: 780px) {
            #entrepreneur-etc > div a > div h4 {
              font-size: .14rem; } }
        #entrepreneur-etc > div a > div .tags {
          display: flex; }
          #entrepreneur-etc > div a > div .tags .name {
            display: flex;
            align-items: center;
            font-size: .1rem;
            margin-right: 10px; }
            @media screen and (min-width: 780px) {
              #entrepreneur-etc > div a > div .tags .name {
                margin-right: 20px; } }
            #entrepreneur-etc > div a > div .tags .name svg {
              margin-right: 4px;
              height: 14px;
              width: auto; }
          #entrepreneur-etc > div a > div .tags .job {
            display: flex;
            align-items: center;
            font-size: .1rem; }
            #entrepreneur-etc > div a > div .tags .job svg {
              margin-right: 4px;
              height: 11px;
              width: auto; }

#company-archive {
  background-color: #F7D730;
  padding: 20px 14px;
  margin: 0 auto; }
  #company-archive h2 {
    background-color: #ffffff;
    color: #ffffff;
    font-size: .15rem;
    font-weight: 600;
    text-align: center;
    border-radius: 3px;
    padding: 1em 0;
    position: relative;
    margin-bottom: 28px; }
    @media screen and (min-width: 780px) {
      #company-archive h2 {
        font-size: .24rem;
        max-width: 1140px;
        margin: 0 auto 28px; } }
    #company-archive h2:before {
      position: absolute;
      bottom: -11px;
      left: calc(50% - 6px);
      display: block;
      content: '';
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 11px 6px 0 6px;
      border-color: #ffffff transparent transparent transparent; }
    #company-archive h2 span {
      font-size: .1rem;
      display: block; }
      @media screen and (min-width: 780px) {
        #company-archive h2 span {
          font-size: .14rem; } }
  #company-archive > div {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (min-width: 780px) {
      #company-archive > div {
        max-width: 1140px; } }
    #company-archive > div a {
      display: block;
      width: calc((100% - 14px) / 2);
      margin-bottom: 14px;
      position: relative; }
      @media screen and (min-width: 780px) {
        #company-archive > div a {
          width: calc((100% - 42px) / 4); } }
      #company-archive > div a:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        transition: border-width 0.2s ease-in-out;
        border: 0 solid #ffffff;
        box-sizing: border-box;
        z-index: 0; }
      #company-archive > div a:hover:after {
        border-width: 6px; }
      #company-archive > div a figure img {
        width: 100%;
        height: auto; }
      #company-archive > div a > div {
        background-color: #ffffff;
        padding: 8px; }
        @media screen and (min-width: 780px) {
          #company-archive > div a > div {
            padding: 14px; } }
        #company-archive > div a > div h4 {
          font-size: .1rem;
          line-height: 1.5;
          padding-bottom: 8px;
          margin-bottom: 8px;
          border-bottom: 1px solid #3B2E26; }
          @media screen and (min-width: 780px) {
            #company-archive > div a > div h4 {
              font-size: .14rem; } }
        #company-archive > div a > div .tags {
          display: flex; }
          #company-archive > div a > div .tags .name {
            display: flex;
            align-items: center;
            font-size: .1rem;
            margin-right: 10px; }
            @media screen and (min-width: 780px) {
              #company-archive > div a > div .tags .name {
                margin-right: 20px; } }
            #company-archive > div a > div .tags .name svg {
              margin-right: 4px;
              height: 14px;
              width: auto; }
          #company-archive > div a > div .tags .job {
            display: flex;
            align-items: center;
            font-size: .1rem; }
            #company-archive > div a > div .tags .job svg {
              margin-right: 4px;
              height: 11px;
              width: auto; }
  #company-archive > a {
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20id%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D_1%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%201%22%20d%3D%22M-4639%2C7791a8.008%2C8.008%2C0%2C0%2C1-8-8%2C8.009%2C8.009%2C0%2C0%2C1%2C8-8%2C8.01%2C8.01%2C0%2C0%2C1%2C8%2C8A8.009%2C8.009%2C0%2C0%2C1-4639%2C7791Zm-2.5-12.123h0v8l7-4-7-4Z%22%20transform%3D%22translate(4647%20-7775)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 22px center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    max-width: 270px;
    margin: 0 auto;
    border-radius: 3px;
    font-size: .12rem;
    font-weight: 600;
    color: #ffffff; }
    @media screen and (min-width: 780px) {
      #company-archive > a {
        max-width: 100%; } }

.post-type-archive-company {
  background-color: #F7D730; }

#company-single-contents {
  padding: 20px 14px;
  margin: 0 auto; }
  @media screen and (min-width: 780px) {
    #company-single-contents {
      padding: 35px 14px 74px; } }
  #company-single-contents .company-header {
    background-color: #ffffff;
    border-bottom: 2px solid #3B2E26; }
    @media screen and (min-width: 780px) {
      #company-single-contents .company-header {
        max-width: 1140px;
        margin: 0 auto;
        display: flex;
        border-bottom: 3px solid #3B2E26; } }
    @media screen and (min-width: 780px) {
      #company-single-contents .company-header figure {
        max-width: 636px;
        width: 56%; } }
    #company-single-contents .company-header figure img {
      width: 100%;
      height: auto; }
    #company-single-contents .company-header > div {
      padding: 18px; }
      @media screen and (min-width: 780px) {
        #company-single-contents .company-header > div {
          max-width: 504px;
          width: 44%;
          padding: 35px; } }
      #company-single-contents .company-header > div h2 {
        font-size: .16rem;
        line-height: 1.4;
        margin: 0 0 1em; }
        @media screen and (min-width: 780px) {
          #company-single-contents .company-header > div h2 {
            font-size: .24rem;
            margin-bottom: 1.5em; } }
      #company-single-contents .company-header > div .tags {
        display: flex;
        border-bottom: 1px solid #3B2E26;
        padding-bottom: 5px;
        margin-bottom: 1em; }
        #company-single-contents .company-header > div .tags .name {
          display: flex;
          align-items: center;
          font-size: .13rem;
          margin-right: 40px; }
          @media screen and (min-width: 780px) {
            #company-single-contents .company-header > div .tags .name {
              font-size: .17rem; } }
          #company-single-contents .company-header > div .tags .name svg {
            margin-right: 10px;
            height: 26px;
            width: auto; }
        #company-single-contents .company-header > div .tags .job {
          display: flex;
          align-items: center;
          font-size: .13rem; }
          @media screen and (min-width: 780px) {
            #company-single-contents .company-header > div .tags .job {
              font-size: .17rem; } }
          #company-single-contents .company-header > div .tags .job svg {
            margin-right: 10px;
            height: 20px;
            width: auto; }
      #company-single-contents .company-header > div .profile {
        font-size: .1rem; }
        @media screen and (min-width: 780px) {
          #company-single-contents .company-header > div .profile {
            font-size: .12rem; } }
  #company-single-contents .company-content {
    background-color: #ffffff;
    padding: 10px 18px;
    font-size: .11rem; }
    @media screen and (min-width: 780px) {
      #company-single-contents .company-content {
        max-width: 1140px;
        margin: 0 auto;
        font-size: .14rem; } }
    #company-single-contents .company-content article {
      max-width: 600px;
      margin: 0 auto; }
      #company-single-contents .company-content article h2 {
        font-size: .14rem;
        font-weight: 400;
        border-left: 4px solid #F7D730;
        background: #F5F5F5;
        padding: 8px;
        margin: 2em auto 1em; }
        @media screen and (min-width: 780px) {
          #company-single-contents .company-content article h2 {
            font-size: .21rem;
            border-left: 10px solid #F7D730; } }
      #company-single-contents .company-content article figure {
        margin-bottom: 1em; }
        #company-single-contents .company-content article figure img {
          max-width: 100%;
          height: auto; }
      #company-single-contents .company-content article p {
        margin-bottom: 1em; }
    #company-single-contents .company-content > h2 {
      font-size: .14rem;
      font-weight: 600;
      background-color: #F7D730;
      padding: 1em;
      text-align: center;
      width: calc(100% + 36px);
      margin-left: -18px;
      margin-bottom: 1em;
      margin-top: 4em; }
      @media screen and (min-width: 780px) {
        #company-single-contents .company-content > h2 {
          font-size: .18rem; } }
    #company-single-contents .company-content > p {
      text-align: center;
      margin-bottom: 1em;
      font-size: .16rem; }
    #company-single-contents .company-content > a {
      background-color: #ffffff;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%20%3Cpath%20id%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D_1%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%201%22%20d%3D%22M-4639%2C7791a8.008%2C8.008%2C0%2C0%2C1-8-8%2C8.009%2C8.009%2C0%2C0%2C1%2C8-8%2C8.01%2C8.01%2C0%2C0%2C1%2C8%2C8A8.009%2C8.009%2C0%2C0%2C1-4639%2C7791Zm-2.5-12.123h0v8l7-4-7-4Z%22%20transform%3D%22translate(4647%20-7775)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-position: right 22px center;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 50px;
      max-width: 270px;
      margin: 0 auto 1em;
      border-radius: 3px;
      font-size: .12rem;
      font-weight: 600;
      color: #ffffff; }
      @media screen and (min-width: 780px) {
        #company-single-contents .company-content > a {
          max-width: 600px;
          font-size: .16rem; } }

#company-etc {
  background-color: #F7D730;
  padding: 74px 14px; }
  #company-etc h2 {
    text-align: center;
    font-size: .16rem;
    font-weight: 600;
    margin: 0 auto 1.5em; }
    @media screen and (min-width: 780px) {
      #company-etc h2 {
        font-size: .21rem; } }
  #company-etc > div {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (min-width: 780px) {
      #company-etc > div {
        max-width: 1140px; } }
    #company-etc > div a {
      display: block;
      width: calc((100% - 14px) / 2);
      margin-bottom: 14px;
      position: relative; }
      @media screen and (min-width: 780px) {
        #company-etc > div a {
          width: calc((100% - 42px) / 4); } }
      #company-etc > div a:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        transition: border-width 0.2s ease-in-out;
        border: 0 solid #ffffff;
        box-sizing: border-box;
        z-index: 0; }
      #company-etc > div a:hover:after {
        border-width: 6px; }
      #company-etc > div a figure img {
        width: 100%;
        height: auto; }
      #company-etc > div a > div {
        background-color: #ffffff;
        padding: 8px; }
        @media screen and (min-width: 780px) {
          #company-etc > div a > div {
            padding: 14px; } }
        #company-etc > div a > div h4 {
          font-size: .1rem;
          line-height: 1.5;
          padding-bottom: 8px;
          margin-bottom: 8px;
          border-bottom: 1px solid #3B2E26; }
          @media screen and (min-width: 780px) {
            #company-etc > div a > div h4 {
              font-size: .14rem; } }
        #company-etc > div a > div .tags {
          display: flex; }
          #company-etc > div a > div .tags .name {
            display: flex;
            align-items: center;
            font-size: .1rem;
            margin-right: 10px; }
            @media screen and (min-width: 780px) {
              #company-etc > div a > div .tags .name {
                margin-right: 20px; } }
            #company-etc > div a > div .tags .name svg {
              margin-right: 4px;
              height: 14px;
              width: auto; }
          #company-etc > div a > div .tags .job {
            display: flex;
            align-items: center;
            font-size: .1rem; }
            #company-etc > div a > div .tags .job svg {
              margin-right: 4px;
              height: 11px;
              width: auto; }

#news-archive {
  padding: 60px 20px 0; }
  @media screen and (min-width: 781px) {
    #news-archive {
      padding: 6vw 6vw 0; } }
  #news-archive > div {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #news-archive > div > div {
      width: calc(50% - 4px);
      margin-bottom: 20px; }
      @media screen and (min-width: 781px) {
        #news-archive > div > div {
          width: calc((100% - 16px * 3) / 4); } }
      #news-archive > div > div figure a {
        display: block;
        position: relative;
        width: 100%;
        padding-top: 66.4%;
        overflow: hidden;
        transition: 0.2s; }
        #news-archive > div > div figure a:after {
          display: flex;
          align-items: center;
          justify-content: center;
          content: "記事を読む";
          position: absolute;
          height: 100%;
          width: 100%;
          z-index: 1;
          top: 0;
          left: 0;
          background: rgba(0, 0, 0, 0.5);
          opacity: 0;
          transition: 0.3s;
          color: #ffffff; }
        #news-archive > div > div figure a:hover:after {
          opacity: 1; }
      #news-archive > div > div figure img {
        width: 100%;
        height: auto;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0; }
      #news-archive > div > div .contents {
        padding: 8px;
        background: #ffffff; }
        @media screen and (min-width: 781px) {
          #news-archive > div > div .contents {
            padding: 12px; } }
        #news-archive > div > div .contents .tag {
          display: flex;
          justify-content: space-between;
          font-size: .1rem; }
          @media screen and (min-width: 781px) {
            #news-archive > div > div .contents .tag {
              font-size: .12rem; } }
          #news-archive > div > div .contents .tag > span:first-child {
            background: #000000;
            color: #ffffff;
            padding: 0 10px; }
        #news-archive > div > div .contents p {
          font-size: .12rem; }
          @media screen and (min-width: 781px) {
            #news-archive > div > div .contents p {
              font-size: .14rem; } }
      #news-archive > div > div > a {
        display: flex;
        height: 30px;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background: #000000;
        font-size: .1rem;
        font-weight: 600; }
        @media screen and (min-width: 781px) {
          #news-archive > div > div > a {
            font-size: .12rem;
            height: 40px; } }

#news-single-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #news-single-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #news-single-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #news-single-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #news-single-header h2 {
        font-size: .32rem; } }
    #news-single-header h2 span {
      font-size: .12rem;
      display: block; }
    #news-single-header h2 a {
      font-size: .12rem;
      display: block;
      text-decoration: underline;
      color: #fff;
      font-weight: normal; }

#single-content {
  padding: 60px 20px 0; }
  @media screen and (min-width: 781px) {
    #single-content {
      padding: 6vw 6vw 0; } }
  @media screen and (min-width: 780px) {
    #single-content > figure {
      max-width: 1100px;
      margin: 0 auto;
      position: relative; } }
  #single-content > figure img {
    max-width: 100%;
    height: auto; }
  #single-content > figure > div:first-child {
    display: none; }
    @media screen and (min-width: 780px) {
      #single-content > figure > div:first-child {
        display: block;
        width: 100%;
        max-width: 1100px;
        height: 440px;
        overflow: hidden;
        position: absolute; }
        #single-content > figure > div:first-child img {
          width: 100%;
          position: absolute;
          top: 50%;
          left: 50%;
          filter: blur(6px);
          transform: translate(-50%, -50%) scale(1.05); } }
  #single-content > figure > div:last-child {
    max-width: 600px;
    margin: 0 auto;
    height: 440px;
    overflow: hidden;
    position: relative; }
    #single-content > figure > div:last-child img {
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  #single-content > div {
    background-color: #ffffff;
    padding: 20px 18px;
    font-size: .11rem; }
    @media screen and (min-width: 780px) {
      #single-content > div {
        max-width: 1100px;
        margin: 0 auto;
        font-size: .14rem; } }
    #single-content > div header {
      max-width: 600px;
      margin: 0 auto; }
      #single-content > div header .tags {
        margin-bottom: .5em;
        display: flex;
        align-items: center; }
        #single-content > div header .tags .category {
          display: inline-block;
          font-size: .1rem;
          line-height: 1;
          background-color: #F7D730;
          padding: 4px 10px;
          color: #ffffff;
          margin-right: 12px; }
          @media screen and (min-width: 780px) {
            #single-content > div header .tags .category {
              font-size: .16rem;
              margin-right: 20px; } }
        #single-content > div header .tags .date {
          font-size: .1rem; }
          @media screen and (min-width: 780px) {
            #single-content > div header .tags .date {
              font-size: .14rem; } }
      #single-content > div header h1 {
        font-size: .16rem;
        font-weight: 400;
        line-height: 1.5;
        border-bottom: 1px solid #3B2E26;
        padding-bottom: 1em;
        margin-bottom: 1.5em; }
    #single-content > div article {
      max-width: 600px;
      margin: 0 auto; }
      #single-content > div article h2 {
        font-size: .14rem;
        font-weight: 400;
        border-left: 4px solid #F7D730;
        background: #F5F5F5;
        padding: 8px;
        margin: 2em auto 1em; }
        @media screen and (min-width: 780px) {
          #single-content > div article h2 {
            font-size: .21rem;
            border-left: 10px solid #F7D730; } }
      #single-content > div article img {
        max-width: 100%;
        height: auto; }
      #single-content > div article figure {
        margin-bottom: 1em; }
        #single-content > div article figure img {
          max-width: 100%;
          height: auto; }
      #single-content > div article p {
        margin-bottom: 1em; }
      #single-content > div article a {
        color: #4E84FF;
        text-decoration: underline; }
    #single-content > div .back {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 50px;
      max-width: 270px;
      margin: 50px auto 2em;
      border-radius: 3px;
      font-size: .12rem;
      font-weight: 600;
      border: 1px solid #3B2E26;
      border-radius: 3px; }
      @media screen and (min-width: 780px) {
        #single-content > div .back {
          max-width: 600px;
          font-size: .16rem; } }

#single-contact {
  padding: 40px 20px;
  background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
  max-width: 1100px;
  margin: 0 auto 60px; }
  @media screen and (min-width: 781px) {
    #single-contact {
      padding: 80px 20px;
      margin-bottom: 6vw; } }
  @media screen and (min-width: 781px) {
    #single-contact > div {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      max-width: 880px;
      margin: 0 auto;
      text-align: center; } }
  #single-contact > div h3 {
    text-align: center;
    margin-bottom: 32px;
    font-size: .14rem;
    font-weight: 600;
    color: #ffffff; }
    @media screen and (min-width: 781px) {
      #single-contact > div h3 {
        font-size: .16rem;
        width: 100%; } }
  #single-contact > div p {
    text-align: center;
    font-size: .12rem;
    margin-bottom: 32px;
    color: #ffffff; }
    @media screen and (min-width: 781px) {
      #single-contact > div p {
        font-size: .14rem;
        width: 100%;
        margin-bottom: 60px; } }
    #single-contact > div p br:first-child {
      display: none; }
      @media screen and (min-width: 781px) {
        #single-contact > div p br:first-child {
          display: block; } }
  #single-contact > div > div {
    text-align: center; }
    @media screen and (min-width: 781px) {
      #single-contact > div > div {
        width: 340px; } }
    #single-contact > div > div h4 {
      font-size: .12rem;
      padding: 4px 1.7em;
      border: 1px solid #ffffff;
      color: #ffffff;
      border-radius: 100px;
      display: inline-block;
      margin: 0 auto 20px; }
      @media screen and (min-width: 781px) {
        #single-contact > div > div h4 {
          font-size: .14rem;
          padding: 6px 2em;
          margin-bottom: 30px; } }
    #single-contact > div > div .tel {
      margin-bottom: 32px;
      display: block; }
      #single-contact > div > div .tel svg {
        height: 58px;
        width: auto; }
        @media screen and (min-width: 781px) {
          #single-contact > div > div .tel svg {
            height: 74px; } }
        #single-contact > div > div .tel svg path {
          fill: #ffffff; }
    #single-contact > div > div .mail {
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #ffffff;
      height: 50px; }
      @media screen and (min-width: 781px) {
        #single-contact > div > div .mail {
          height: 54px; } }
      #single-contact > div > div .mail svg {
        margin-right: 12px;
        height: 12px; }
        @media screen and (min-width: 781px) {
          #single-contact > div > div .mail svg {
            height: 14px; } }
      #single-contact > div > div .mail span {
        color: #ffffff;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #single-contact > div > div .mail span {
            font-size: .14rem; } }

#contact-header {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/header-type1@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 220px;
  position: relative; }
  #contact-header:before {
    width: 1px;
    height: 35px;
    background-color: #ffffff;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: 0; }
  #contact-header:after {
    width: 1px;
    height: 35px;
    background-color: #000000;
    display: block;
    content: '';
    position: absolute;
    left: calc(50% - 0.5px);
    bottom: -35px; }
  #contact-header h2 {
    font-size: .21rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #contact-header h2 {
        font-size: .32rem; } }
    #contact-header h2 span {
      font-size: .12rem;
      display: block; }

#contact {
  padding: 60px 20px; }
  @media screen and (min-width: 781px) {
    #contact {
      padding: 6vw;
      margin: 0 auto; } }
  #contact h3 {
    font-size: .14rem;
    font-weight: 600;
    position: relative;
    padding: 0 20px 15px;
    margin-bottom: 40px;
    text-align: center; }
    @media screen and (min-width: 781px) {
      #contact h3 {
        font-size: .21rem;
        padding-bottom: 24px;
        margin-bottom: 48px; } }
    #contact h3:after {
      position: absolute;
      left: calc(50% - 22px);
      bottom: 0;
      display: block;
      content: '';
      width: 44px;
      height: 5px;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%); }
      @media screen and (min-width: 781px) {
        #contact h3:after {
          width: 72px;
          height: 8px;
          left: calc(50% - 36px); } }
  #contact p {
    font-size: .12rem;
    text-align: center;
    margin-bottom: 2em; }
    @media screen and (min-width: 781px) {
      #contact p {
        font-size: .14rem; } }
  #contact .contact-contents {
    padding: 20px;
    background: #ffffff;
    box-shadow: 0px 3px 6px 0px rgba(112, 112, 112, 0.6); }
    @media screen and (min-width: 781px) {
      #contact .contact-contents {
        padding: 3vw 6vw;
        max-width: 1100px;
        margin: 0 auto; } }
    #contact .contact-contents dl {
      margin-bottom: 1.5em; }
      @media screen and (min-width: 781px) {
        #contact .contact-contents dl {
          display: flex; } }
      #contact .contact-contents dl dt {
        margin-bottom: 0.5em; }
        @media screen and (min-width: 781px) {
          #contact .contact-contents dl dt {
            width: 200px;
            margin: 0; } }
      @media screen and (min-width: 781px) {
        #contact .contact-contents dl dd {
          width: calc(100% - 230px); } }
      #contact .contact-contents dl dd input[type="text"],
      #contact .contact-contents dl dd input[type="email"],
      #contact .contact-contents dl dd textarea {
        background: #EFF1F5;
        border: 1px solid #C4CBD5;
        border-radius: 2px;
        padding: 1em;
        max-width: 100%;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #contact .contact-contents dl dd input[type="text"],
          #contact .contact-contents dl dd input[type="email"],
          #contact .contact-contents dl dd textarea {
            font-size: .14rem; } }
      @media screen and (min-width: 781px) {
        #contact .contact-contents dl dd #name,
        #contact .contact-contents dl dd #line,
        #contact .contact-contents dl dd #add,
        #contact .contact-contents dl dd #email,
        #contact .contact-contents dl dd #shopid,
        #contact .contact-contents dl dd textarea {
          width: 100%; } }
      #contact .contact-contents dl dd select {
        border: 1px solid #000000;
        border-radius: 2px;
        padding: 1em;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #contact .contact-contents dl dd select {
            font-size: .14rem; } }
      #contact .contact-contents dl dd #naiyou {
        max-width: 100%;
        height: 300px; }
      #contact .contact-contents dl dd.choise-box {
        display: flex; }
        #contact .contact-contents dl dd.choise-box input {
          width: 100px;
          margin-right: 20px; }
          @media screen and (min-width: 781px) {
            #contact .contact-contents dl dd.choise-box input {
              width: 120px; } }
        #contact .contact-contents dl dd.choise-box select {
          width: calc(100% - 120px);
          max-width: 140px;
          background-image: url(../images/ptts/select-bg.svg);
          background-repeat: no-repeat;
          background-size: auto;
          background-position: right 10px center; }
          @media screen and (min-width: 781px) {
            #contact .contact-contents dl dd.choise-box select {
              max-width: 180px; } }
      #contact .contact-contents dl dd #requirements {
        width: 100%;
        background-image: url(../images/ptts/select-bg.svg);
        background-repeat: no-repeat;
        background-size: auto;
        background-position: right 10px center;
        max-width: 300px; }
      #contact .contact-contents dl.required dt, #contact .contact-contents dl.optional dt {
        font-size: .12rem;
        display: flex;
        align-items: center; }
        @media screen and (min-width: 781px) {
          #contact .contact-contents dl.required dt, #contact .contact-contents dl.optional dt {
            font-size: .14rem; } }
        #contact .contact-contents dl.required dt:before, #contact .contact-contents dl.optional dt:before {
          content: '必須';
          background: #FB9393;
          color: #ffffff;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          font-size: .1rem;
          width: 30px;
          border-radius: 2px;
          margin-right: 4px; }
      #contact .contact-contents dl.optional dt:before {
        content: '任意';
        background: #75C4FB;
        color: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: .1rem;
        width: 30px;
        min-width: 30px;
        border-radius: 2px;
        margin-right: 4px; }
    #contact .contact-contents .privacypolicy {
      display: flex;
      justify-content: center;
      align-items: center; }
      #contact .contact-contents .privacypolicy label {
        margin-right: 8px; }
        #contact .contact-contents .privacypolicy label input {
          transform: scale(1.5); }
        #contact .contact-contents .privacypolicy label span {
          display: none; }
      #contact .contact-contents .privacypolicy a {
        color: #007FFF;
        text-decoration: underline;
        font-size: .12rem; }
        @media screen and (min-width: 781px) {
          #contact .contact-contents .privacypolicy a {
            font-size: .14rem; } }
    #contact .contact-contents input[name="tel[data][0]"],
    #contact .contact-contents input[name="tel[data][1]"],
    #contact .contact-contents input[name="tel[data][2]"] {
      width: 68px; }
    #contact .contact-contents input[type="submit"] {
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(90deg, #00cfe0 0%, #004cdd 100%);
      color: #ffffff;
      font-size: .12rem;
      font-weight: 600;
      border-radius: 100px;
      height: 50px;
      transition: 0.2s ease-in-out;
      position: relative;
      margin-top: 30px;
      width: 100%;
      max-width: 420px; }
      @media screen and (min-width: 781px) {
        #contact .contact-contents input[type="submit"] {
          height: 70px;
          margin: 40px auto 0;
          font-size: .14rem; } }
      #contact .contact-contents input[type="submit"]:hover {
        background: linear-gradient(270deg, #00cfe0 0%, #004cdd 100%); }
      #contact .contact-contents input[type="submit"]:after {
        width: 0;
        height: 0;
        display: block;
        border-style: solid;
        border-width: 9px 6px 0 6px;
        border-color: #ffffff transparent transparent transparent;
        position: absolute;
        content: '';
        right: 27px; }

/*# sourceMappingURL=style.css.map */
