@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

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

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
  border: none;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number] {
  width: auto;
  /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

[type=search] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  max-width: 100%;
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

a {
  text-decoration: none;
}

/*
Theme Name: shpa_renewal
Version: 1.00  
*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 8rem;
  background-color: #fff;
  -ms-scroll-snap-type: y proximity;
      scroll-snap-type: y proximity;
}
@media screen and (min-width: 1025.1px) {
  html {
    font-size: 1.1vw;
  }
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  html {
    font-size: min(1.3671875vw, 20px);
  }
}
@media screen and (max-width: 768.9px) {
  html {
    font-size: min(4.2666666667vw, 26px);
    scroll-padding-top: 4rem;
    scroll-behavior: auto;
  }
}

body {
  width: 100%;
  min-width: 375px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #1A1A1A;
  font-size: 1rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768.9px) {
  body {
    font-size: 0.9rem;
    letter-spacing: 0.04em;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  ::i-block-chrome,
  body {
    -webkit-font-feature-settings: "pkna";
            font-feature-settings: "pkna";
  }
}
a {
  color: #1A1A1A;
  cursor: pointer;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
a:hover {
  opacity: 0.8;
}

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

img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}

#scroll-top {
  z-index: 100;
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  width: 4rem;
  cursor: pointer;
}
@media screen and (max-width: 768.9px) {
  #scroll-top {
    width: 2.5rem;
    right: 0.5rem;
    bottom: 1rem;
  }
}
#scroll-top a {
  opacity: 1;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
  will-change: filter;
}

body.contact #scroll-top {
  bottom: 5rem;
}
@media screen and (max-width: 768.9px) {
  body.contact #scroll-top {
    bottom: 5rem;
  }
}

@media screen and (max-width: 768.9px) {
  .pc {
    display: none !important;
  }
}

@media (min-width: 768.9px) {
  .sp {
    display: none !important;
  }
}

.pc-br {
  display: block;
}
@media (max-width: 768.9px) {
  .pc-br {
    display: none !important;
  }
}

.sp-br {
  display: block;
}
@media (min-width: 768.9px) {
  .sp-br {
    display: none !important;
  }
}

span.en {
  font-family: "Outfit", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

p.en {
  font-family: "Outfit", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

a.contact-btn {
  color: #fff;
  border-radius: 3rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-transition: all 1s;
  transition: all 1s;
  font-weight: 700;
  font-size: 0.9rem;
  background-repeat: no-repeat;
  background: linear-gradient(124deg, rgb(58, 190, 241) 0%, rgb(44, 81, 215) 100%, rgb(58, 190, 241) 0%);
  background-size: 100% 100%;
  width: 11rem;
  padding: 1rem 0 1rem 0;
}
@media screen and (max-width: 768.9px) {
  a.contact-btn {
    padding: 0.9rem 0 0.9rem 0;
  }
}
a.contact-btn:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  -webkit-box-shadow: inset 0.2rem 0.2rem 0.4rem rgba(255, 255, 255, 0.5);
          box-shadow: inset 0.2rem 0.2rem 0.4rem rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  border-radius: 3rem;
  will-change: filter;
}
a.contact-btn:hover {
  opacity: 1;
  background-size: 200% 100%;
}
a.contact-btn.white {
  color: #1A1A1A;
  background: #fff;
}
a.contact-btn.shadow {
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
  will-change: filter;
}

a .circle-arrow {
  width: 2.3rem;
  height: 2.3rem;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  border-radius: 50%;
  background-color: #fff;
  will-change: filter;
}
a .circle-arrow:before, a .circle-arrow:after {
  content: "";
}
a .circle-arrow:before {
  -webkit-box-shadow: inset 0.2rem 0.2rem 0.2rem rgba(191, 199, 209, 0.6), inset -0.2rem -0.3rem 0.3rem rgba(191, 199, 209, 0.6);
          box-shadow: inset 0.2rem 0.2rem 0.2rem rgba(191, 199, 209, 0.6), inset -0.2rem -0.3rem 0.3rem rgba(191, 199, 209, 0.6);
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
  width: 100%;
  height: 100%;
  border-radius: 50%;
  will-change: filter;
}
a .circle-arrow:after {
  -webkit-mask: url("common/img/vector/circle-arrow.svg") no-repeat center center/contain;
  -webkit-mask-image: url("common/img/vector/circle-arrow.svg");
          mask-image: url("common/img/vector/circle-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 1.1rem;
  height: 0.8rem;
  z-index: 1;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
a .circle-arrow.blue:before {
  background: linear-gradient(124deg, rgb(58, 190, 241) 0%, rgb(44, 81, 215) 100%, rgb(58, 190, 241) 0%);
  -webkit-box-shadow: inset 0.2rem 0.2rem 0.2rem rgba(255, 255, 255, 0.6);
          box-shadow: inset 0.2rem 0.2rem 0.2rem rgba(255, 255, 255, 0.6);
  -webkit-filter: none;
          filter: none;
  will-change: filter;
}
a .circle-arrow.awh:after {
  background-color: #fff;
}
a .circle-arrow.ab:after {
  background-color: #00A7E7;
}
a .circle-arrow.anv:after {
  background-color: #0A1D2E;
}
a:hover .circle-arrow:after {
  -webkit-animation: arrow-slide 0.4s ease forwards;
          animation: arrow-slide 0.4s ease forwards;
}
@media screen and (max-width: 768.9px) {
  a:hover .circle-arrow:after {
    -webkit-animation: none;
            animation: none;
  }
}

a.exlink {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
a.exlink:after {
  content: "";
  position: relative;
  -webkit-mask: url("common/img/vector/exlink.svg") no-repeat center center/contain;
  -webkit-mask-image: url("common/img/vector/exlink.svg");
          mask-image: url("common/img/vector/exlink.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 1rem;
  height: 1rem;
  background-color: #fff;
  margin: 0 0 0.2rem 0.3rem;
}
@media screen and (max-width: 768.9px) {
  a.exlink:after {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 0 0 0.3rem;
  }
}
a.exlink.blue:after {
  background-color: #00A7E7;
}

span.marker.yellow {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #D0AB18));
  background: linear-gradient(transparent 70%, #D0AB18 30%);
}

.section-title {
  position: relative;
}
.section-title h2 {
  color: #1A1A1A;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.section-title h2 span.en {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 768.9px) {
  .section-title h2 span.en {
    font-size: 2rem;
  }
}
.section-title h2 span.jp {
  font-size: 1.2rem;
  font-weight: 500;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  .section-title h2 span.jp {
    font-size: 1rem;
  }
}
.section-title h2 span.jp:before {
  content: "●";
  font-size: 0.7rem;
  margin-right: 0.5rem;
}
.section-title h2 span.jp.yellow:before {
  color: #F9C700;
}

span.fc-yellow {
  color: #F9C700;
}
span.fc-black {
  color: #1A1A1A;
}
span.fc-red {
  color: #FF383C;
}
span.fc-navy {
  color: #143483;
}
span.fc-bnavy {
  color: #0A2239;
}

span.fw-black {
  font-weight: 900;
}

span.at:before {
  content: "@";
}

.deco-wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  pointer-events: none;
}
@media screen and (max-width: 768.9px) {
  .deco-wrap {
    width: 100%;
    top: auto;
    bottom: 0;
  }
}
.deco-wrap .deco {
  position: absolute;
  z-index: 2;
}
.deco-wrap .deco.triangle {
  background: url("common/img/parts/triangle.png") no-repeat center/contain;
}
.deco-wrap .deco.triangle._01 {
  left: 15%;
  top: 15%;
  width: 1.3rem;
  height: 1.3rem;
  -webkit-transform: rotate(-190deg);
          transform: rotate(-190deg);
}
@media screen and (max-width: 768.9px) {
  .deco-wrap .deco.triangle._01 {
    left: 2rem;
    top: 3rem;
    width: 0.8rem;
    height: 0.8rem;
  }
}
.deco-wrap .deco.triangle._02 {
  left: 0%;
  top: 30%;
  width: 3rem;
  height: 3rem;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
@media screen and (max-width: 768.9px) {
  .deco-wrap .deco.triangle._02 {
    width: 1.3rem;
    height: 1.3rem;
    left: 1rem;
    top: 8rem;
  }
}
.deco-wrap .deco.triangle._03 {
  right: 15%;
  top: 17rem;
  width: 2rem;
  height: 2rem;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
@media screen and (max-width: 768.9px) {
  .deco-wrap .deco.triangle._03 {
    right: 1rem;
    top: 6rem;
    width: 1.2rem;
    height: 1.2rem;
  }
}
.deco-wrap .deco.triangle._04 {
  right: 10%;
  bottom: 25%;
  width: 2.8rem;
  height: 2.8rem;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
@media screen and (max-width: 768.9px) {
  .deco-wrap .deco.triangle._04 {
    right: 4rem;
    bottom: 3rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}

.tel-link {
  pointer-events: none;
  cursor: default;
  color: inherit;
}
@media screen and (max-width: 768.9px) {
  .tel-link {
    pointer-events: auto;
    cursor: pointer;
  }
}

header {
  width: 100%;
  margin: auto;
}
header .header-wrap {
  position: fixed;
  z-index: 999;
  top: 2rem;
  left: 0;
  right: 0;
  margin: auto;
  width: 95%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  letter-spacing: 0.01rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  header .header-wrap {
    padding: 0.7rem 0.5rem;
    width: 98%;
  }
}
@media screen and (max-width: 768.9px) {
  header .header-wrap {
    padding: 0.5rem 0.8rem;
    width: 90%;
    height: 3.5rem;
    top: 1rem;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 3rem;
    -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
            filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(0.2rem);
    will-change: filter;
  }
}
header .header-wrap .logo-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 12rem;
  height: 5rem;
  border-radius: 5rem;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
  background-color: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(0.2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  will-change: filter;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  header .header-wrap .logo-wrap {
    width: 14rem;
  }
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .logo-wrap {
    width: 8rem;
    height: 3rem;
    -webkit-filter: none;
            filter: none;
    bottom: 0;
    left: 1rem;
    margin: auto;
    backdrop-filter: none;
    background-color: transparent;
  }
}
header .header-wrap .logo-wrap #logo {
  width: 100%;
  height: 100%;
}
header .header-wrap .logo-wrap #logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 1rem 1.5rem;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .logo-wrap #logo a {
    padding: 0;
  }
}
header .header-wrap .logo-wrap #logo a img {
  vertical-align: middle;
}
header .header-wrap .menu-wrap {
  position: absolute;
  right: 0;
  top: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 5rem;
  border-radius: 5rem;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
  background-color: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(0.2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 1.5rem;
  border: 0.1rem solid #fff;
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap {
    position: fixed;
    pointer-events: none;
    max-width: 100%;
    width: 98%;
    min-height: auto;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 2rem 1rem;
    overflow: hidden;
    visibility: hidden;
    z-index: -1;
    top: 4rem;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    background-color: rgba(255, 255, 255, 0.9);
    will-change: filter;
    -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
            filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
  }
}
header .header-wrap .menu-wrap ul.menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
header .header-wrap .menu-wrap ul.menu-list li {
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li {
    width: 100%;
    text-align: left;
    margin-bottom: 0.6rem;
    border-bottom: 0.1rem solid #1A1A1A;
  }
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li:nth-last-child(-n+2) {
    border-bottom: none;
    margin: 1rem 0 0;
  }
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger,
header .header-wrap .menu-wrap ul.menu-list li a {
  width: 100%;
  height: 100%;
  font-size: 0.9rem;
  padding: 0 0.5rem;
  margin: 0 0.3rem;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  color: #1A1A1A;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger,
  header .header-wrap .menu-wrap ul.menu-list li a {
    font-size: 0.85rem;
    padding: 0 0.3rem;
  }
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger,
  header .header-wrap .menu-wrap ul.menu-list li a {
    font-size: 0.85rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0.5rem 0 0.7rem;
    display: block;
    margin: auto;
  }
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger:hover,
header .header-wrap .menu-wrap ul.menu-list li a:hover {
  color: #00A7E7;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger:hover,
  header .header-wrap .menu-wrap ul.menu-list li a:hover {
    opacity: 1;
  }
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn {
  color: #fff;
  border-radius: 3rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 0.5rem;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-transition: all 1s;
  transition: all 1s;
  background-repeat: no-repeat;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.contact-btn,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn.contact-btn {
  width: 11rem;
  padding: 1rem 1rem 1rem 0;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.contact-btn,
  header .header-wrap .menu-wrap ul.menu-list li a.h-btn.contact-btn {
    width: 12rem;
  }
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.contact-btn,
  header .header-wrap .menu-wrap ul.menu-list li a.h-btn.contact-btn {
    margin: auto;
    background-color: #fff;
    width: 18rem;
    padding: 1.3rem 1rem 1.3rem 0;
  }
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn .circle-arrow,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn .circle-arrow {
  right: 0.5rem;
  width: 2rem;
  height: 2rem;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn .circle-arrow:before,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn .circle-arrow:before {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-filter: none;
          filter: none;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn .circle-arrow:after,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn .circle-arrow:after {
  width: 1rem;
  height: 0.5rem;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.maigo-btn,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn.maigo-btn {
  background-color: rgb(12, 12, 12);
  background-image: linear-gradient(124deg, rgb(12, 12, 12) 0%, rgb(31, 82, 129) 100%, rgb(12, 12, 12) 0%);
  background-size: 100% 100%;
  width: 16rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 1rem 1rem 1.5rem;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.maigo-btn,
  header .header-wrap .menu-wrap ul.menu-list li a.h-btn.maigo-btn {
    margin: auto;
    background-color: #fff;
    width: 18rem;
    padding: 1.3rem 1rem 1.3rem 0;
  }
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.maigo-btn:before,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn.maigo-btn:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  -webkit-box-shadow: inset 0.1rem 0.2rem 0.3rem rgba(255, 255, 255, 0.5);
          box-shadow: inset 0.1rem 0.2rem 0.3rem rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  border-radius: 3rem;
  will-change: filter;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.maigo-btn p.maigo,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn.maigo-btn p.maigo {
  position: absolute;
  left: 0.1rem;
  bottom: -0.05rem;
  width: 3.6rem;
  height: 3.6rem;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn.maigo-btn p.maigo:before,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn.maigo-btn p.maigo:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-image: url("common/img/parts/maigo_01.png");
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 0 0 0 1.5rem;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn:hover,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn:hover {
  opacity: 1;
  background-size: 200% 100%;
}
header .header-wrap .menu-wrap ul.menu-list li .construction-menu-trigger.h-btn:hover p.maigo:before,
header .header-wrap .menu-wrap ul.menu-list li a.h-btn:hover p.maigo:before {
  background-image: url("common/img/parts/maigo_02.png");
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu {
  position: relative;
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2.2rem;
  cursor: pointer;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu:before {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-trigger {
    max-height: 2rem;
  }
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-trigger:after {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  border-right: 0.1rem solid #1A1A1A;
  border-bottom: 0.1rem solid #1A1A1A;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-left: 0.5rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-trigger:after {
    margin-left: auto;
    width: 0.5rem;
    height: 0.5rem;
  }
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-list {
  position: absolute;
  top: calc(100% + 2.5rem);
  left: 0;
  opacity: 0;
  -webkit-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 0.5rem;
  padding: 0.5rem;
  min-width: 12rem;
  opacity: 0;
  visibility: hidden;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(217, 225, 231, 0.3));
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(0.2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-list {
    position: static;
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 0;
    min-width: auto;
    display: block;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    -webkit-filter: none;
            filter: none;
    backdrop-filter: none;
    -webkit-transition: max-height 0.55s ease-in-out, opacity 0.35s ease-in-out, padding 0.35s ease-in-out;
    transition: max-height 0.55s ease-in-out, opacity 0.35s ease-in-out, padding 0.35s ease-in-out;
    visibility: hidden;
    top: 0;
    border-radius: 0;
    -webkit-transform: none;
            transform: none;
  }
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-list li {
  width: 100%;
  text-align: left;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-list li {
    border: none;
    margin: 0;
  }
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-list li:last-child {
  margin-bottom: 0;
}
header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-list li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.5rem;
  white-space: nowrap;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu .construction-menu-list li a {
    padding: 0 0.5rem;
    margin-bottom: 0.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu:hover .construction-menu-list {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu:hover .construction-menu-list {
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu.active .construction-menu-list {
    max-height: 8rem;
    opacity: 1;
    visibility: visible;
    padding: 0 0 0.5rem;
  }
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .menu-wrap ul.menu-list li.construction-menu.active .construction-menu-trigger:after {
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
}
header .header-wrap .menu-wrap.active {
  z-index: 999;
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}
header .header-wrap .menu-wrap:not(.active) {
  -webkit-transition: none;
  transition: none;
}
header .header-wrap .burger-btn {
  display: none;
}
@media screen and (max-width: 768.9px) {
  header .header-wrap .burger-btn {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem 0.7rem;
    cursor: pointer;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 999;
    border-radius: 0.3rem;
    right: 1rem;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 50%;
    background: linear-gradient(147deg, rgb(58, 190, 241) 22%, rgb(44, 81, 215) 100%);
  }
  header .header-wrap .burger-btn span {
    width: 100%;
    max-width: 1rem;
    height: 0.15rem;
    border-radius: 1rem;
    background-color: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  header .header-wrap .burger-btn span:nth-of-type(2) {
    margin: 0.15rem 0;
  }
  header .header-wrap .burger-btn.active span {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    width: 100%;
  }
  header .header-wrap .burger-btn.active span:nth-of-type(1) {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
  }
  header .header-wrap .burger-btn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .header-wrap .burger-btn.active span:nth-of-type(3) {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
  }
}

footer {
  width: 100%;
  position: relative;
  background: #F6F6F6;
}
footer.home {
  backdrop-filter: blur(0.2rem);
  will-change: backdrop-filter;
  background: rgba(240, 244, 249, 0.6);
}
footer.service, footer.process, footer.philosophy, footer.company, footer.message {
  background: #F0F4F9;
}
footer .footer-inner {
  color: #fff;
  backdrop-filter: blur(0.2rem);
  background-color: rgba(4, 20, 31, 0.6);
  will-change: filter;
  background-size: cover;
  background-position: center;
  padding: 6rem 10rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-radius: 5rem 5rem 0 0;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  footer .footer-inner {
    padding: 6rem 6rem 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem 1rem 1rem;
    border-radius: 3rem 3rem 0 0;
  }
}
footer .footer-inner .info .logo {
  width: 14rem;
  margin: 0;
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .info .logo {
    width: 12rem;
    height: auto;
    margin: auto;
  }
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .info .address {
    text-align: center;
    font-size: 0.8rem;
  }
}
footer .footer-inner .info .address div {
  margin-top: 2rem;
}
footer .footer-inner .info .address p.office {
  font-weight: 700;
}
footer .footer-inner .info .address p.office span {
  position: relative;
  padding: 0 1rem 0 0;
  margin-right: 1rem;
}
footer .footer-inner .info .address p.office span:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.1rem;
  height: 60%;
  background-color: #fff;
}
footer .footer-inner .info .address p + p {
  margin-top: 0.5rem;
}
footer .footer-inner .info .address a {
  color: #fff;
}
footer .footer-inner .menu-list {
  margin: 4.5rem 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1rem;
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .menu-list {
    margin: 2rem auto;
    -ms-grid-columns: auto;
    grid-template-columns: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    padding: 0 1rem;
  }
}
footer .footer-inner .menu-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 0;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 10rem;
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .menu-list ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.2rem 0.8rem;
    width: 100%;
    margin: 0 0 0.5rem;
  }
}
footer .footer-inner .menu-list ul:last-of-type {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
footer .footer-inner .menu-list ul li {
  font-size: 0.85rem;
  text-align: left;
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .menu-list ul li {
    font-size: 0.8rem;
  }
}
footer .footer-inner .menu-list ul li a {
  position: relative;
  color: #fff;
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .menu-list ul li.title {
    width: 100%;
  }
}
footer .footer-inner .menu-list ul li.title > p {
  font-size: 1.3rem;
  font-family: "Outfit", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .menu-list ul li.title > p {
    font-size: 1rem;
  }
}
footer .footer-inner .menu-list ul li.title > p:before {
  content: "●";
  font-size: 0.7rem;
  margin-right: 0.5rem;
  color: #00A7E7;
  position: absolute;
  left: -1rem;
  top: 0.5rem;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
footer .footer-inner .footer-bottom {
  width: 100%;
  padding: 1rem 0;
  border-top: 0.1rem solid rgba(255, 255, 255, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 4rem;
  color: #fff;
  font-size: 0.75rem;
}
@media screen and (max-width: 768.9px) {
  footer .footer-inner .footer-bottom {
    font-size: 0.7rem;
    margin-top: 0;
  }
}
footer .footer-inner .footer-bottom a {
  color: #fff;
}
footer .footer-inner .footer-bottom p.privacy {
  margin: 0 1rem 0 0;
}

@-webkit-keyframes blink {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}

@keyframes blink {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(2rem);
            transform: translateY(2rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(2rem);
            transform: translateY(2rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes float {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes float-2 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-2rem);
            transform: translateY(-2rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes float-2 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-2rem);
            transform: translateY(-2rem);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fadeUp {
  opacity: 0;
  -webkit-transform: translateY(1rem);
          transform: translateY(1rem);
  -webkit-transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.fadeUp.active {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.delay-1 {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.delay-2 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.delay-3 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.delay-4 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.delay-5 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

@-webkit-keyframes arrow-slide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  49% {
    -webkit-transform: translateX(1.5rem);
            transform: translateX(1.5rem);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateX(-1.5rem);
            transform: translateX(-1.5rem);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes arrow-slide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  49% {
    -webkit-transform: translateX(1.5rem);
            transform: translateX(1.5rem);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateX(-1.5rem);
            transform: translateX(-1.5rem);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes arrow-slide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  49% {
    -webkit-transform: translateX(2rem);
            transform: translateX(2rem);
  }
  50% {
    -webkit-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes bounce {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(2rem) scale(0.8);
            transform: translateY(2rem) scale(0.8);
  }
}
@keyframes bounce {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(2rem) scale(0.8);
            transform: translateY(2rem) scale(0.8);
  }
}
@media screen and (max-width: 768.9px) {
  @-webkit-keyframes bounce {
    from {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    to {
      -webkit-transform: translateY(1rem) scale(0.8);
              transform: translateY(1rem) scale(0.8);
    }
  }
  @keyframes bounce {
    from {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    to {
      -webkit-transform: translateY(1rem) scale(0.8);
              transform: translateY(1rem) scale(0.8);
    }
  }
}
@-webkit-keyframes marquee {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes marquee {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
main#page {
  background: #F6F6F6;
  padding: 8rem 0 0;
  position: relative;
  background-image: url("common/img/page/page_head_square.png");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 30rem auto;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page {
    padding: 8rem 0 0;
    background-size: 25rem auto;
  }
}
@media screen and (max-width: 768.9px) {
  main#page {
    padding: 5rem 0 0;
    background-size: 17rem auto;
    background-position: 180% -1%;
  }
}

.page-head {
  padding: 2rem 8rem 4rem;
  position: relative;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .page-head {
    padding: 2rem 4rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  .page-head {
    padding: 1rem 1rem 3rem;
  }
}
.page-head .page-head-inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: center;
  position: relative;
  padding: 0 0 0 2rem;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner {
    padding: 0 0 0 1rem;
  }
}
.page-head .page-head-inner .deco-wrap {
  width: 100%;
  height: 100%;
}
.page-head .page-head-inner .deco-wrap .deco.triangle {
  background: url("common/img/parts/triangle.png") no-repeat center/contain;
}
.page-head .page-head-inner .deco-wrap .deco.triangle._01 {
  left: -4rem;
  right: auto;
  top: 8rem;
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner .deco-wrap .deco.triangle._01 {
    left: 0.5rem;
    top: 4rem;
    width: 1rem;
    height: 1rem;
  }
}
.page-head .page-head-inner .deco-wrap .deco.triangle._02 {
  left: auto;
  right: 0;
  top: 1rem;
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner .deco-wrap .deco.triangle._02 {
    width: 1rem;
    height: 1rem;
    top: -2rem;
  }
}
.page-head .page-head-inner h1 {
  color: #1A1A1A;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  z-index: 2;
  font-weight: 700;
}
.page-head .page-head-inner h1 span.en {
  font-size: 3.1rem;
  line-height: 1.3;
  text-transform: capitalize;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .page-head .page-head-inner h1 span.en {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner h1 span.en {
    font-size: 1.6rem;
  }
}
.page-head .page-head-inner h1 span.jp {
  font-size: 1.2rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner h1 span.jp {
    font-size: 0.8rem;
  }
}
.page-head .page-head-inner h1 span.jp:before {
  content: "●";
  font-size: 0.7rem;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner h1 span.jp:before {
    font-size: 0.65rem;
  }
}
.page-head .page-head-inner h1 span.jp.yellow:before {
  color: #F9C700;
}
.page-head .page-head-inner p.page-head-icon {
  width: 8rem;
  height: 8rem;
  position: absolute;
  top: -3%;
  bottom: 0;
  right: 15%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .page-head .page-head-inner p.page-head-icon {
    right: 10%;
  }
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner p.page-head-icon {
    width: 4rem;
    height: 4rem;
    right: 0;
    top: 0;
  }
}
.page-head .page-head-inner p.page-head-icon.philosophy {
  background-image: url("common/img/company/page_head_philosophy.png");
}
.page-head .page-head-inner p.page-head-icon.message {
  background-image: url("common/img/company/page_head_message.png");
}
.page-head .page-head-inner p.page-head-icon.blog {
  background-image: url("common/img/blog/page_head_blog.png");
  width: 16rem;
  height: 12rem;
  right: 12%;
  top: -20%;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner p.page-head-icon.blog {
    width: 7rem;
    height: 7rem;
    right: 3rem;
  }
}
.page-head .page-head-inner p.page-head-icon.company {
  background-image: url("common/img/company/page_head_company.png");
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner p.page-head-icon.company {
    width: 5rem;
    height: 5rem;
    right: 2rem;
    top: 0;
  }
}
.page-head .page-head-inner p.page-head-icon.service {
  background-image: url("common/img/service/page_head_service.png");
  width: 14rem;
  height: 10rem;
  right: 8%;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner p.page-head-icon.service {
    width: 5rem;
    height: 5rem;
    right: 1rem;
  }
}
.page-head .page-head-inner p.page-head-icon.process {
  background-image: url("common/img/service/page_head_process.png");
  width: 10rem;
  height: 10rem;
  right: 12%;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner p.page-head-icon.process {
    width: 5rem;
    height: 5rem;
    right: 1rem;
  }
}
.page-head .page-head-inner p.page-head-icon.works {
  background-image: url("common/img/works/page_head_works.png");
  width: 10rem;
  height: 10rem;
  right: 12%;
}
@media screen and (max-width: 768.9px) {
  .page-head .page-head-inner p.page-head-icon.works {
    width: 5rem;
    height: 5rem;
    right: 1rem;
  }
}

.bnr-list {
  background-color: #CDD8E7;
  padding: 6rem 10rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .bnr-list {
    padding: 4rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  .bnr-list {
    padding: 2.5rem 1rem;
  }
}
.bnr-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 1.5rem;
}
@media screen and (max-width: 768.9px) {
  .bnr-list ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem 0;
  }
}
.bnr-list ul li {
  color: #fff;
  width: 100%;
  height: 13rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .bnr-list ul li {
    height: 11rem;
  }
}
@media screen and (max-width: 768.9px) {
  .bnr-list ul li {
    width: 100%;
    height: 7rem;
    border-radius: 0.5rem;
  }
}
.bnr-list ul li a {
  padding: 2rem 1.5rem;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768.9px) {
  .bnr-list ul li a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 1.5rem 1rem;
  }
}
.bnr-list ul li a:hover {
  opacity: 1;
}
.bnr-list ul li p.title {
  font-size: 1.9rem;
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  .bnr-list ul li p.title {
    font-size: 1.2rem;
  }
}
.bnr-list ul li p.title span.en {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
}
@media screen and (max-width: 768.9px) {
  .bnr-list ul li p.title span.en {
    font-size: 0.8rem;
  }
}
.bnr-list ul li p.circle-arrow {
  width: 3rem;
  height: 3rem;
  right: 1.5rem;
  bottom: 2rem;
  top: auto;
}
@media screen and (max-width: 768.9px) {
  .bnr-list ul li p.circle-arrow {
    width: 2.5rem;
    height: 2.5rem;
    right: 1rem;
    bottom: 0;
    top: 0;
  }
}
@media screen and (max-width: 768.9px) {
  .bnr-list ul li p.circle-arrow:after {
    width: 0.9rem;
    height: 0.7rem;
  }
}
.bnr-list ul li.message {
  background: url("common/img/company/bnr_meaaage.jpg") no-repeat center/cover;
}
.bnr-list ul li.philosophy {
  background: url("common/img/company/bnr_philosophy.jpg") no-repeat center/cover;
}
.bnr-list ul li.company {
  background: url("common/img/company/bnr_company.jpg") no-repeat center/cover;
}
.bnr-list ul li.process {
  background: url("common/img/service/bnr_process.jpg") no-repeat center/cover;
}
.bnr-list ul li.works {
  background: url("common/img/service/bnr_works.jpg") no-repeat center/cover;
}

@media screen and (max-width: 768.9px) {
  main.privacy .page-head {
    padding: 1rem 1rem 1rem;
  }
}
main.privacy .page-privacy-block {
  padding: 2rem 10rem 2rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main.privacy .page-privacy-block {
    padding: 1rem 6rem 2rem;
  }
}
@media screen and (max-width: 768.9px) {
  main.privacy .page-privacy-block {
    padding: 1rem 1rem 1rem;
  }
}
main.privacy .page-privacy-block .page-privacy-content {
  background-color: #fff;
  border-radius: 1rem;
  padding: 4rem 8rem;
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main.privacy .page-privacy-block .page-privacy-content {
    padding: 4rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main.privacy .page-privacy-block .page-privacy-content {
    padding: 2rem 1rem;
    font-size: 0.9rem;
    line-height: 1.6;
  }
}
main.privacy .page-privacy-block .page-privacy-content div p.title {
  font-weight: 700;
  color: #2D55D8;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768.9px) {
  main.privacy .page-privacy-block .page-privacy-content div p.title {
    margin-bottom: 0.3rem;
  }
}
main.privacy .page-privacy-block .page-privacy-content div + div {
  margin-top: 2rem;
}
@media screen and (max-width: 768.9px) {
  main.privacy .page-privacy-block .page-privacy-content div + div {
    margin-top: 1rem;
  }
}
main.privacy .page-privacy-block .page-privacy-content div ol {
  margin: 0.3rem 0;
  padding: 0 0 0 1rem;
}
main.privacy .page-privacy-block .page-privacy-content div ol.decimal li {
  list-style-type: decimal;
}
main.privacy .page-privacy-block .page-privacy-content div ol.alpha li {
  list-style-type: lower-alpha;
}
main.privacy .page-privacy-block .page-privacy-content div ol.roman li {
  list-style-type: upper-roman;
}
main.privacy .page-privacy-block .page-privacy-content div ol li {
  position: relative;
}
main.privacy .page-privacy-block .page-privacy-content div ol li > ol {
  padding: 0 0 0 1rem;
  margin: 0.1rem 0;
}
main.page-404 .page-head {
  padding: 2rem 8rem 2rem;
  position: relative;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main.page-404 .page-head {
    padding: 2rem 4rem 2rem;
  }
}
@media screen and (max-width: 768.9px) {
  main.page-404 .page-head {
    padding: 1rem 1rem 1rem;
  }
}
main.page-404 .page-404-block {
  padding: 2rem 10rem 2rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main.page-404 .page-404-block {
    padding: 1rem 6rem 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main.page-404 .page-404-block {
    padding: 1rem 1rem 1rem;
  }
}
main.page-404 .page-404-block .page-404-content {
  background-color: #fff;
  border-radius: 1rem;
  padding: 4rem 8rem;
  font-size: 1rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main.page-404 .page-404-block .page-404-content {
    padding: 4rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main.page-404 .page-404-block .page-404-content {
    padding: 2rem 1rem;
    font-size: 0.9rem;
    line-height: 1.6;
  }
}
main.page-404 .page-404-block .page-404-content a.contact-btn {
  width: 18rem;
  margin: 2rem auto 0;
}
@media screen and (max-width: 768.9px) {
  main.page-404 .page-404-block .page-404-content a.contact-btn {
    width: 18rem;
  }
}

.contact-cta {
  position: relative;
  color: #1A1A1A;
  background: #F6F6F6;
}
.contact-cta.home {
  background: transparent;
}
.contact-cta.service, .contact-cta.process, .contact-cta.philosophy, .contact-cta.company, .contact-cta.message {
  background: #F0F4F9;
}
.contact-cta .contact-cta-block {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 6rem 10rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .contact-cta .contact-cta-block {
    padding: 6rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block {
    padding: 1.5rem 1rem 2rem;
  }
}
.contact-cta .contact-cta-block .contact-cta-content {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content {
    width: 100%;
    margin: 0 auto 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .title-cont {
    text-align: center;
  }
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .title-cont h2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .title-cont p.text {
  margin: 2rem 0 0;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .title-cont p.text {
    margin: 1.5rem 0 0;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont {
  width: 35rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont {
    width: 30rem;
  }
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont {
    width: 100%;
    margin-top: 2rem;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a {
  width: 100%;
  border-radius: 6rem;
  font-size: 1.3rem;
  height: 6.5rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a {
    height: 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a {
    height: 4.5rem;
    font-size: 1.1rem;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-filter: drop-shadow(0 0.1rem 0.3rem rgba(87, 111, 120, 0.2)) drop-shadow(0 0.1rem 0.3rem rgba(87, 111, 120, 0.2));
          filter: drop-shadow(0 0.1rem 0.3rem rgba(87, 111, 120, 0.2)) drop-shadow(0 0.1rem 0.3rem rgba(87, 111, 120, 0.2));
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(0.2rem);
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn {
    margin-bottom: 0.9rem;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn .number {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.2;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn .number {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn .number {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn p.tel {
  -webkit-mask: url("common/img/vector/tel.svg") no-repeat center center/contain;
  -webkit-mask-image: url("common/img/vector/tel.svg");
          mask-image: url("common/img/vector/tel.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 1rem;
  height: 1rem;
  z-index: 1;
  position: relative;
  background-color: #00A7E7;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn p.tel {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn p.open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn p.open {
    font-size: 0.7rem;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn p.open span.reception {
  background-color: #D8D8D8;
  border-radius: 1rem;
  padding: 0.1rem 1rem;
  margin-right: 0.5rem;
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.tel-btn:hover .number {
  color: #00A7E7;
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.contact-btn .circle-arrow {
  width: 4rem;
  height: 4rem;
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a.contact-btn .circle-arrow {
    width: 2.8rem;
    height: 2.8rem;
  }
}
.contact-cta .contact-cta-block .contact-cta-content .btn-cont a.contact-btn .circle-arrow:after {
  width: 1.6rem;
}
@media screen and (max-width: 768.9px) {
  .contact-cta .contact-cta-block .contact-cta-content .btn-cont a.contact-btn .circle-arrow:after {
    width: 1.1rem;
  }
}

.breadcrumb {
  overflow-y: hidden;
  overflow-x: auto;
  padding: 1rem 3rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  .breadcrumb {
    padding: 1rem 2rem;
  }
}
@media screen and (max-width: 768.9px) {
  .breadcrumb {
    padding: 0.5rem 1rem;
  }
}
.breadcrumb ol.breadcrumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.breadcrumb ol.breadcrumb-list li {
  padding: 0;
  font-weight: 700;
  font-size: 0.9rem;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  .breadcrumb ol.breadcrumb-list li {
    font-size: 0.7rem;
  }
}
.breadcrumb ol.breadcrumb-list li:after {
  content: "/";
  color: #1A1A1A;
  padding: 0 0.8rem;
}
@media screen and (max-width: 768.9px) {
  .breadcrumb ol.breadcrumb-list li:after {
    padding: 0 0.7rem;
  }
}
.breadcrumb ol.breadcrumb-list li a {
  white-space: nowrap;
  color: #1A1A1A;
}
.breadcrumb ol.breadcrumb-list li:last-of-type:after {
  display: none;
}

body#top {
  width: 100%;
  min-width: 375px;
  overflow: hidden;
  margin: auto;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  color: #1A1A1A;
  opacity: 1;
}
body#top main.top {
  background-color: #fff;
  position: relative;
}
body#top main.top .top-head-waku {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: rgba(255, 255, 255, 0);
  border-top: 1vw solid #fff;
  pointer-events: none;
}
@media screen and (max-width: 768.9px) {
  body#top main.top .top-head-waku {
    min-height: 32rem;
    height: 58vh;
  }
}
body#top main.top .top-head-waku:before, body#top main.top .top-head-waku:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1vw;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), color-stop(30%, rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 30%, rgb(255, 255, 255) 100%);
}
body#top main.top .top-head-waku:after {
  right: 0;
  left: auto;
}
body#top main.top .back-movie {
  position: fixed;
  top: 1rem;
  left: 0;
  right: 0;
  margin: auto;
  width: 98vw;
  height: 100vh;
  z-index: 0;
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top .back-movie {
    top: 0.3rem;
    max-height: 32rem;
    border-radius: 0.5rem 0.5rem 0 0;
    position: absolute;
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(222, 198, 106)), to(rgb(237, 220, 153)));
    background: linear-gradient(180deg, rgb(222, 198, 106) 0%, rgb(237, 220, 153) 100%);
  }
}
body#top main.top .back-movie.full {
  width: 100vw;
  top: 0;
  border-radius: 0;
}
body#top main.top .back-movie video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body#top main.top #hero {
  position: relative;
  z-index: 2;
  padding: 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #hero {
    padding: 0.5rem;
  }
}
body#top main.top #hero .hero-block {
  border-radius: 2rem;
  overflow: hidden;
  background-color: transparent;
  height: 100vh;
  max-height: 43rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #hero .hero-block {
    border-radius: 1rem;
    min-height: 32rem;
    height: 58vh;
  }
}
body#top main.top #hero .hero-block .hero-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
}
body#top main.top #hero .hero-block .hero-content .hero-title {
  position: absolute;
  z-index: 2;
  left: 3rem;
  bottom: 4rem;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: transform;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #hero .hero-block .hero-content .hero-title {
    left: 0.5rem;
    bottom: 4rem;
  }
}
body#top main.top #hero .hero-block .hero-content .hero-title p.en {
  margin-bottom: 1rem;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: static;
  line-height: 1;
  margin: 0;
  opacity: 1;
}
body#top main.top #hero .hero-block .hero-content .hero-title p.en.typing {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: static;
  line-height: 1;
  margin: 0;
  opacity: 1;
}
body#top main.top #hero .hero-block .hero-content .hero-title h2 {
  font-weight: 700;
  font-size: 3.1rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.2;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #hero .hero-block .hero-content .hero-title h2 {
    font-size: 2rem;
  }
}
body#top main.top #hero .hero-block .hero-content .scroll {
  position: absolute;
  right: 5rem;
  bottom: 5rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #hero .hero-block .hero-content .scroll {
    right: 0;
    left: 0;
    bottom: 1rem;
    margin: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
body#top main.top #hero .hero-block .hero-content .scroll .scroll-text {
  font-size: 1rem;
  font-weight: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 0 0 0 1rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #hero .hero-block .hero-content .scroll .scroll-text {
    font-size: 0.8rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
body#top main.top #hero .hero-block .hero-content .scroll .scroll-text .dot {
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.6rem;
  height: 0.6rem;
  background: #333;
  border-radius: 50%;
  -webkit-animation: bounce 1s ease-in-out infinite alternate;
          animation: bounce 1s ease-in-out infinite alternate;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #hero .hero-block .hero-content .scroll .scroll-text .dot {
    width: 0.5rem;
    height: 0.5rem;
  }
}
body#top main.top #intro {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(60%, rgb(255, 255, 255)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 60%);
  backdrop-filter: blur(0.2rem);
  will-change: backdrop-filter;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro {
    background: #fff;
    backdrop-filter: none;
  }
}
body#top main.top #intro .intro-block {
  padding: 6rem 0;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #intro .intro-block {
    padding: 4rem 0;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block {
    padding: 2rem 0 0;
  }
}
body#top main.top #intro .intro-block .deco-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
}
body#top main.top #intro .intro-block .deco-wrap .deco {
  opacity: 0;
  width: 100%;
  height: 100%;
}
body#top main.top #intro .intro-block .deco-wrap .deco.active {
  -webkit-animation: fadeIn 0.8s ease-out forwards;
          animation: fadeIn 0.8s ease-out forwards;
}
body#top main.top #intro .intro-block .deco-wrap .deco.active.floating._01 {
  -webkit-animation: fadeIn 0.8s ease-out forwards, float 4s ease-in infinite 0.8s;
          animation: fadeIn 0.8s ease-out forwards, float 4s ease-in infinite 0.8s;
}
body#top main.top #intro .intro-block .deco-wrap .deco.active.floating._02 {
  animation: fadeIn 0.8s ease-out forwards, float 6s ease-in-out infinite 1s alternate-reverse;
}
body#top main.top #intro .intro-block .deco-wrap .deco.active.floating._03 {
  -webkit-animation: fadeIn 0.8s ease-out forwards, float 8s ease infinite 1s;
          animation: fadeIn 0.8s ease-out forwards, float 8s ease infinite 1s;
}
body#top main.top #intro .intro-block .deco-wrap .deco.active.floating._04 {
  animation: fadeIn 0.8s ease-out forwards, float 5s ease infinite 1s alternate-reverse;
}
body#top main.top #intro .intro-block .deco-wrap .deco .rotate {
  position: absolute;
}
body#top main.top #intro .intro-block .deco-wrap .deco .rotate.play-btn {
  left: 18rem;
  top: 10rem;
  width: 5rem;
  height: 5rem;
  background: url("common/img/parts/play_btn.png") no-repeat center/contain;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
  -webkit-animation-delay: 0s, 0.8s;
          animation-delay: 0s, 0.8s;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.play-btn {
    left: 10rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.play-btn {
    left: 1rem;
    top: 13rem;
    width: 3rem;
    height: 3rem;
  }
}
body#top main.top #intro .intro-block .deco-wrap .deco .rotate.building {
  right: 10rem;
  top: 18rem;
  width: 7rem;
  height: 10rem;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  background: url("common/img/parts/building_01.png") no-repeat center/contain;
  -webkit-animation-delay: 0.2s, 1s;
          animation-delay: 0.2s, 1s;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.building {
    right: 5rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.building {
    right: 1rem;
    top: 19rem;
    width: 3rem;
    height: 6rem;
  }
}
body#top main.top #intro .intro-block .deco-wrap .deco .rotate.deco-pc {
  width: 8rem;
  height: 8rem;
  left: 5rem;
  bottom: 15rem;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  background: url("common/img/parts/pc.png") no-repeat center/contain;
  -webkit-animation-delay: 0.4s, 1.2s;
          animation-delay: 0.4s, 1.2s;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.deco-pc {
    left: 5rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.deco-pc {
    width: 3rem;
    height: 3rem;
    left: 1rem;
    bottom: 13rem;
  }
}
body#top main.top #intro .intro-block .deco-wrap .deco .rotate.deco-logo {
  right: 15rem;
  bottom: 10rem;
  width: 5rem;
  height: 5rem;
  background: url("common/img/parts/illust_logo_01.png") no-repeat center/contain;
  -webkit-animation-delay: 0.6s, 1.4s;
          animation-delay: 0.6s, 1.4s;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.deco-logo {
    right: 10rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .deco-wrap .deco .rotate.deco-logo {
    width: 3rem;
    height: 3rem;
    right: 1rem;
    bottom: 8rem;
  }
}
body#top main.top #intro .intro-block .intro-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .intro-content {
    padding: 0 0 2rem;
    backdrop-filter: blur(0.1rem);
    will-change: backdrop-filter;
  }
}
body#top main.top #intro .intro-block .intro-content .intro-title {
  margin-bottom: 2rem;
}
body#top main.top #intro .intro-block .intro-content .intro-title p.en {
  color: #00A7E7;
  margin-bottom: 1rem;
}
body#top main.top #intro .intro-block .intro-content .intro-title h2 {
  font-weight: 700;
  font-size: 2.2rem;
  text-align: center;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .intro-content .intro-title h2 {
    font-size: 1.4rem;
  }
}
body#top main.top #intro .intro-block .intro-content p.text {
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .intro-content p.text {
    width: 90%;
    font-size: 0.8rem;
  }
}
body#top main.top #intro .intro-block .intro-content p.text + p.text {
  margin-top: 1rem;
}
body#top main.top #intro .intro-block .intro-content a.contact-btn {
  width: 18rem;
  margin-top: 4rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #intro .intro-block .intro-content a.contact-btn {
    width: 18rem;
    margin-top: 2rem;
  }
}
body#top main.top #service {
  position: relative;
  z-index: 2;
  background-color: #fff;
  padding: 1rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service {
    padding: 0.5rem 0.7rem;
  }
}
body#top main.top #service .service-block {
  padding: 3rem 8rem;
  overflow: hidden;
  border-radius: 8rem;
  background: url("common/img/top/service_back.jpg") no-repeat top right/cover;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #service .service-block {
    padding: 3rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block {
    padding: 2rem 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #service .service-block .deco-wrap {
  width: 60%;
  height: 100%;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .deco-wrap {
    height: 25rem;
    width: 100%;
  }
}
body#top main.top #service .service-block .deco-wrap .deco {
  position: absolute;
  z-index: 2;
}
body#top main.top #service .service-block .deco-wrap .deco.triangle._03 {
  right: 8%;
  top: 10rem;
  width: 6rem;
  height: 6rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .deco-wrap .deco.triangle._03 {
    right: 1rem;
    top: -2rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .deco-wrap .deco.triangle._04 {
    bottom: 1rem;
    right: 2rem;
  }
}
body#top main.top #service .service-block .service-content-wrap {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    gap: 1rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #service .service-block .service-content-wrap .service-cont {
  width: 35rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap .service-cont {
    width: 100%;
  }
}
body#top main.top #service .service-block .service-content-wrap .section-title.service {
  margin-bottom: 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap .section-title.service {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap .section-title.service h2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
body#top main.top #service .service-block .service-content-wrap .section-title.service h3 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 2rem 0;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #service .service-block .service-content-wrap .section-title.service h3 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap .section-title.service h3 {
    font-size: 1.1rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
body#top main.top #service .service-block .service-content-wrap p.text {
  line-height: 2;
  font-weight: 700;
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap p.text {
    text-align: center;
    font-size: 0.8rem;
  }
}
body#top main.top #service .service-block .service-content-wrap ul.service-list {
  -ms-grid-columns: 1fr 1rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  display: -ms-grid;
  display: grid;
  margin-top: 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap ul.service-list {
    text-align: left;
    gap: 1rem 0.5rem;
    margin-top: 0;
  }
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item {
  border-radius: 1rem;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(255, 255, 255, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(255, 255, 255, 0.3));
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(0.2rem);
  -webkit-box-shadow: 0.1rem 0.2rem 0.3rem rgb(212, 226, 240);
          box-shadow: 0.1rem 0.2rem 0.3rem rgb(212, 226, 240);
  text-align: left;
  padding: 2rem 1.5rem;
  will-change: backdrop-filter;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item {
    padding: 0.8rem 0.5rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p {
    text-align: left;
    font-size: 0.65rem;
  }
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head span.num {
  margin: 0 0 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head span.num {
    margin: 0 0 0 0.6rem;
  }
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head span.num:before {
  display: block;
  content: "";
  width: 1rem;
  height: 0.1rem;
  margin: 0 1rem 0 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head span.num:before {
    width: 0.7rem;
    margin: 0 0.6rem 0 0;
  }
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.graphic {
  color: #F9C700;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.graphic span.num:before {
  background-color: #F9C700;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.web {
  color: #00A7E7;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.web span.num:before {
  background-color: #00A7E7;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.movie {
  color: #3BD039;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.movie span.num:before {
  background-color: #3BD039;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.illust {
  color: #39D0C4;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.head.illust span.num:before {
  background-color: #39D0C4;
}
body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.name {
  font-size: 1.3rem;
  font-weight: 900;
  margin-bottom: 1rem;
  white-space: nowrap;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block .service-content-wrap ul.service-list li.service-list-item p.name {
    font-size: 0.7rem;
    margin-bottom: 0.5rem;
  }
}
body#top main.top #service .service-block a.contact-btn {
  width: 20rem;
  margin: 1rem auto 0;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #service .service-block a.contact-btn {
    width: 18rem;
    margin-top: 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
body#top main.top #works {
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 3rem 0 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works {
    padding: 1rem 0 0;
  }
}
body#top main.top #works:after {
  content: "";
  width: 100%;
  height: 10rem;
  bottom: -10rem;
  position: absolute;
  left: 0;
  background-color: #fff;
}
body#top main.top #works .backtext-wrap {
  top: 4rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .backtext-wrap {
    top: 1rem;
  }
}
body#top main.top #works .back-wrap {
  overflow: hidden;
  position: absolute;
  z-index: 10;
  width: 100%;
  margin-inline: calc(50% - 50vw);
  left: 0;
  margin: auto;
}
body#top main.top #works .back-wrap .back-marquee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  cursor: -webkit-grab;
  cursor: grab;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-animation: none;
          animation: none;
}
body#top main.top #works .back-wrap .back-marquee::-webkit-scrollbar {
  display: none;
}
body#top main.top #works .back-wrap .back-marquee.visible {
  visibility: visible;
}
body#top main.top #works .back-wrap .back-marquee.dragging {
  cursor: -webkit-grabbing;
  cursor: grabbing;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
body#top main.top #works .back-wrap .back-marquee span {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  margin-right: 0.8rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .back-wrap .back-marquee span {
    font-size: 3rem;
  }
}
body#top main.top #works .back-wrap .back-marquee span.illust {
  width: 8rem;
  height: 6rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .back-wrap .back-marquee span.illust {
    width: 4rem;
    height: 3rem;
  }
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-car {
  background: url("common/img/parts/car.png") no-repeat center/auto 80%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-pc {
  background: url("common/img/parts/pc.png") no-repeat center/auto 80%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-logo-01 {
  background: url("common/img/parts/illust_logo_01.png") no-repeat center/auto 90%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-logo-02 {
  background: url("common/img/parts/illust_logo_02.png") no-repeat center/auto 90%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-btn {
  background: url("common/img/parts/play_btn.png") no-repeat center/auto 90%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-building-02 {
  background: url("common/img/parts/building_02.png") no-repeat center/auto 95%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-building-01 {
  background: url("common/img/parts/building_01.png") no-repeat center/contain;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-building-03 {
  background: url("common/img/parts/building_04.png") no-repeat center/contain;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-building-04 {
  background: url("common/img/parts/building_05.png") no-repeat center/contain;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-track {
  background: url("common/img/parts/track.png") no-repeat center/auto 90%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-palette {
  background: url("common/img/parts/palette.png") no-repeat center/auto 90%;
}
body#top main.top #works .back-wrap .back-marquee span.illust.m-cup {
  background: url("common/img/parts/cup.png") no-repeat center/auto 80%;
}
body#top main.top #works .works-block {
  padding: 10rem 10rem 6rem;
  position: relative;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #works .works-block {
    padding: 10rem 6rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block {
    padding: 3rem 1rem 2rem;
  }
}
body#top main.top #works .works-block .deco-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
body#top main.top #works .works-block .deco-wrap .deco {
  position: absolute;
}
body#top main.top #works .works-block .deco-wrap .deco.building {
  right: 5rem;
  bottom: 5rem;
  width: 12rem;
  height: 12rem;
  background: url("common/img/parts/building_03.png") no-repeat center/contain;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #works .works-block .deco-wrap .deco.building {
    right: 5rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .deco-wrap .deco.building {
    display: none;
  }
}
body#top main.top #works .works-block .works-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content {
    padding: 1rem 0 0;
    backdrop-filter: blur(0.1rem);
    background-color: rgba(255, 255, 255, 0.6);
  }
}
body#top main.top #works .works-block .works-content .section-title.works {
  width: 100%;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .section-title.works {
    margin-bottom: 1rem;
  }
}
body#top main.top #works .works-block .works-content .section-title.works h2 {
  color: #1A1A1A;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body#top main.top #works .works-block .works-content .works-list {
  -ms-grid-columns: 1fr 6rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 6rem;
  display: -ms-grid;
  display: grid;
  margin-top: 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list {
    text-align: left;
    gap: 1rem 1rem;
    margin-top: 1rem;
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item:nth-of-type(2n) {
  margin-top: 4rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item:nth-of-type(2n) {
    margin-top: 0;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a {
  text-align: left;
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb {
  width: 100%;
  height: 20rem;
  -webkit-filter: drop-shadow(0.1rem 0.3rem 0.8rem rgba(87, 111, 120, 0.25));
          filter: drop-shadow(0.1rem 0.3rem 0.8rem rgba(87, 111, 120, 0.25));
  position: relative;
  will-change: filter;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb {
    height: 16rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb {
    height: 6rem;
    -webkit-filter: drop-shadow(0.1rem 0.15rem 0.5rem rgba(87, 111, 120, 0.2));
            filter: drop-shadow(0.1rem 0.15rem 0.5rem rgba(87, 111, 120, 0.2));
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb .works-thumb-inner {
  border-radius: 1rem;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb .works-thumb-inner {
    border-radius: 0.5rem;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb .works-thumb-inner img {
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -o-object-fit: cover;
     object-fit: cover;
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb .circle-arrow {
  width: 4rem;
  height: 4rem;
  right: -1rem;
  bottom: -1rem;
  top: auto;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb .circle-arrow {
    right: -0.5rem;
    bottom: -0.5rem;
    width: 2rem;
    height: 2rem;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb .circle-arrow:before {
  background: linear-gradient(147deg, rgb(58, 190, 241) 22%, rgb(44, 81, 215) 100%);
  -webkit-box-shadow: inset 0.2rem 0.2rem 0.2rem rgba(191, 199, 209, 0.6);
          box-shadow: inset 0.2rem 0.2rem 0.2rem rgba(191, 199, 209, 0.6);
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-thumb .circle-arrow:after {
    width: 0.8rem;
    height: 0.7rem;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-category {
  margin: 0.5rem 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-category {
    margin: 0.3rem 0;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-category span.cat {
  background: linear-gradient(124deg, rgb(12, 12, 12) 0%, rgb(31, 82, 129) 100%);
  color: #fff;
  font-size: 0.8rem;
  text-align: center;
  line-height: 2;
  padding: 0 1rem 0.1rem;
  border-radius: 2rem;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a .works-category span.cat {
    padding: 0 0.5rem 0.1rem;
    font-size: 0.65rem;
    margin-right: 0.3rem;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a h3.works-title {
  font-size: 1.1rem;
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a h3.works-title {
    font-size: 0.8rem;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a p.text {
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block .works-content .works-list .works-list-item a p.text {
    font-size: 0.7rem;
  }
}
body#top main.top #works .works-block .works-content .works-list .works-list-item a:hover .works-thumb .works-thumb-inner img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
body#top main.top #works .works-block a.contact-btn {
  width: 18rem;
  margin: 6rem auto 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #works .works-block a.contact-btn {
    width: 18rem;
    margin-top: 2rem;
  }
}
body#top main.top .process-back-gradient {
  background: linear-gradient(220.19deg, #2685B4 -0.38%, #BBBFCF 56.7%);
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  border-radius: 8rem 8rem 0 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top .process-back-gradient {
    border-radius: 2rem 2rem 0 0;
  }
}
body#top main.top #process {
  position: relative;
  z-index: 3;
}
body#top main.top #process .process-block {
  padding: 3rem 10rem 6rem;
  position: relative;
  overflow: hidden;
  background-color: transparent;
  color: #fff;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #process .process-block {
    padding: 6rem 6rem 8rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block {
    padding: 2rem 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #process .process-block .deco-wrap {
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .deco-wrap {
    height: 20rem;
    width: 100%;
  }
}
body#top main.top #process .process-block .pic {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
  margin: auto;
  width: 48rem;
  height: 25rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #process .process-block .pic {
    width: 35rem;
    height: 35rem;
    bottom: 3rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .pic {
    position: relative;
    width: 100%;
    height: 15rem;
    margin-top: 2rem;
    left: 0;
    bottom: 0;
  }
}
body#top main.top #process .process-block .pic:after {
  content: "";
  position: absolute;
  right: 3rem;
  bottom: 1rem;
  width: 70%;
  height: 80%;
  background-color: rgba(10, 71, 105, 0.8);
  -webkit-filter: blur(2.5rem);
          filter: blur(2.5rem);
  border-radius: 50%;
  opacity: 0.7;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .pic:after {
    height: 60%;
  }
}
body#top main.top #process .process-block .pic img {
  position: absolute;
  z-index: 2;
}
body#top main.top #process .process-block .process-wrap {
  width: 100%;
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #process .process-block .process-wrap .section-title.process {
  margin-bottom: 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .section-title.process {
    margin-bottom: 1rem;
  }
}
body#top main.top #process .process-block .process-wrap .section-title.process h2 {
  color: #fff;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .section-title.process h2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
body#top main.top #process .process-block .process-wrap .section-title.process h3 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 2rem 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .section-title.process h3 {
    font-size: 1.1rem;
    text-align: center;
    margin: 1.5rem 0 0;
  }
}
body#top main.top #process .process-block .process-wrap .process-content {
  padding: 7rem 0 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .process-content {
    padding: 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #process .process-block .process-wrap .process-content p.text {
  line-height: 2;
  font-weight: 700;
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .process-content p.text {
    text-align: center;
    font-size: 0.8rem;
  }
}
body#top main.top #process .process-block .process-wrap .process-content p.text + p.text {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .process-content p.text + p.text {
    margin-top: 1rem;
  }
}
body#top main.top #process .process-block .process-wrap .process-content p.text:last-of-type {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .process-content p.text:last-of-type {
    margin-bottom: 2rem;
  }
}
body#top main.top #process .process-block .process-wrap .process-content a.contact-btn {
  width: 18rem;
  margin: 1rem 0 0;
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(0.1rem);
  will-change: backdrop-filter;
  -webkit-box-shadow: 0 0.3rem 2rem 0 rgba(10, 87, 122, 0.2);
          box-shadow: 0 0.3rem 2rem 0 rgba(10, 87, 122, 0.2);
}
@media screen and (max-width: 768.9px) {
  body#top main.top #process .process-block .process-wrap .process-content a.contact-btn {
    width: 18rem;
    margin: 0 auto 0;
    -webkit-box-shadow: 0 0.3rem 21rem 0 rgba(10, 87, 122, 0.2);
            box-shadow: 0 0.3rem 21rem 0 rgba(10, 87, 122, 0.2);
  }
}
body#top main.top #company {
  position: relative;
  z-index: 3;
}
body#top main.top #company .company-block {
  padding: 3rem 10rem 2rem;
  position: relative;
  color: #1A1A1A;
  border-radius: 8rem 8rem 0 0;
  background-color: rgb(240, 244, 249);
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #company .company-block {
    padding: 6rem 6rem 2rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block {
    padding: 2rem 1rem;
    border-radius: 2rem 2rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #company .company-block .company-content {
  width: 100%;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #company .company-block .company-content .section-title.company {
  width: 100%;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content .section-title.company {
    margin-bottom: 1rem;
  }
}
body#top main.top #company .company-block .company-content .section-title.company h2 {
  color: #1A1A1A;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content .section-title.company h2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
body#top main.top #company .company-block .company-content ul.company-list {
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  display: -ms-grid;
  display: grid;
  margin-top: 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content ul.company-list {
    text-align: left;
    gap: 1rem 0.5rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
  }
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item {
  border-radius: 2rem;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(87, 111, 120, 0.2));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(87, 111, 120, 0.2));
  background-color: #fff;
  backdrop-filter: blur(0.2rem);
  text-align: left;
  padding: 2rem 2rem 4rem;
  position: relative;
  will-change: backdrop-filter;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content ul.company-list li.company-list-item {
    padding: 1rem 4rem 1rem 1rem;
    border-radius: 1rem;
  }
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3 {
  font-size: 1.3rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 0 0 4rem;
  position: relative;
  margin: 0 0 1rem;
  font-weight: 500;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3 {
    padding: 0 0 0 2rem;
    font-size: 1.1rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3:before {
    width: 1.7rem;
    height: 1.7rem;
    top: 0.1rem;
  }
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3.philosophy:before {
  background: url("common/img/parts/illust_logo_02.png") no-repeat center/contain;
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3.message:before {
  background: url("common/img/parts/cup.png") no-repeat center/contain;
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3.overview:before {
  background: url("common/img/parts/building_02.png") no-repeat center/contain;
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3 span {
  color: #C4C4C4;
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content ul.company-list li.company-list-item h3 span {
    margin: 0 0 0 0.5rem;
    font-size: 0.7rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content ul.company-list li.company-list-item p {
    text-align: left;
    font-size: 0.8rem;
  }
}
body#top main.top #company .company-block .company-content ul.company-list li.company-list-item .circle-arrow {
  right: 1rem;
  bottom: 1rem;
  top: auto;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.1rem 0.2rem rgba(98, 133, 157, 0.3));
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #company .company-block .company-content ul.company-list li.company-list-item .circle-arrow {
    top: 1rem;
    right: 0.7rem;
    width: 2.5rem;
    height: 2.5rem;
    -webkit-filter: drop-shadow(0 0.05rem 0.1rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.05rem 0.15rem rgba(98, 133, 157, 0.3));
            filter: drop-shadow(0 0.05rem 0.1rem rgba(98, 133, 157, 0.3)) drop-shadow(0 0.05rem 0.15rem rgba(98, 133, 157, 0.3));
  }
}
body#top main.top .bgray-back-gradient {
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(240, 244, 249, 0.6)), color-stop(45%, rgb(240, 244, 249)), to(rgb(240, 244, 249)));
  background: linear-gradient(0deg, rgba(240, 244, 249, 0.6) 0%, rgb(240, 244, 249) 45%, rgb(240, 244, 249) 100%);
  backdrop-filter: blur(0.2rem);
  will-change: backdrop-filter;
  position: relative;
  width: 100%;
  height: 100%;
}
body#top main.top #recruit {
  position: relative;
  z-index: 3;
  color: #1A1A1A;
  padding: 3rem 10rem 3rem;
  margin-top: -0.1rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #recruit {
    padding: 3rem 6rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit {
    padding: 1rem 1rem 2rem;
    top: 0;
  }
}
body#top main.top #recruit .recruit-block {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 3rem;
  background-image: url("common/img/top/recruit_back.jpg");
  background-position: bottom right;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block {
    border-radius: 1rem;
    background-size: contain;
    background-color: #d7e1ed;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block:before {
    content: "";
    position: absolute;
    left: 0;
    top: -2rem;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(78%, rgb(215, 225, 237)), to(rgba(215, 225, 237, 0)));
    background: linear-gradient(180deg, rgb(215, 225, 237) 78%, rgba(215, 225, 237, 0) 100%);
  }
}
body#top main.top #recruit .recruit-block .recruit-content {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem 3rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content {
    width: 100%;
    margin: 0 auto 0;
    padding: 2rem 1rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #recruit .recruit-block .recruit-content .deco-wrap {
  width: 15%;
  right: 5%;
  bottom: 0;
  top: auto;
  height: 100%;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .deco-wrap {
    height: 3rem;
    width: 100%;
    right: 0;
    left: 5%;
    bottom: 30%;
  }
}
body#top main.top #recruit .recruit-block .recruit-content .deco-wrap .deco {
  position: absolute;
  z-index: 2;
}
body#top main.top #recruit .recruit-block .recruit-content .deco-wrap .deco.triangle._01 {
  left: auto;
  right: 5%;
  bottom: 12%;
  top: auto;
  width: 2.2rem;
  height: 2.2em;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .deco-wrap .deco.triangle._01 {
    width: 1.8rem;
    height: 1.8rem;
    bottom: auto;
    left: 0;
    top: 0;
    right: auto;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .title-cont {
    text-align: center;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .title-cont h2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
body#top main.top #recruit .recruit-block .recruit-content .title-cont p.text {
  margin: 2rem 0 0;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .title-cont p.text {
    margin: 1.5rem 0 0;
  }
}
body#top main.top #recruit .recruit-block .recruit-content .title-cont a.contact-btn {
  width: 18rem;
  margin: 2rem auto 0;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(0.2rem);
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .title-cont a.contact-btn {
    width: 18rem;
    margin-top: 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
body#top main.top #recruit .recruit-block .recruit-content .pic {
  position: absolute;
  right: 3rem;
  bottom: 0;
  top: 0;
  margin: auto;
  width: 40rem;
  height: 22rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .pic {
    width: 35rem;
    right: 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #recruit .recruit-block .recruit-content .pic {
    position: relative;
    width: 100%;
    height: 13rem;
    margin-top: 2rem;
    right: 0;
    bottom: 0;
  }
}
body#top main.top #recruit .recruit-block .recruit-content .pic img {
  position: absolute;
  z-index: 2;
  -o-object-position: bottom;
     object-position: bottom;
}
body#top main.top #blog {
  position: relative;
  z-index: 3;
}
body#top main.top #blog .blog-block {
  padding: 1rem 10rem 1rem;
  position: relative;
  color: #1A1A1A;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #blog .blog-block {
    padding: 1rem 6rem 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block {
    padding: 2rem 1rem 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #blog .blog-block .blog-content {
  width: 100%;
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body#top main.top #blog .blog-block .blog-content .title-cont {
  width: 19rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .title-cont {
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .title-cont h2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
body#top main.top #blog .blog-block .blog-content .title-cont p.text {
  margin: 2rem 0 0;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .title-cont p.text {
    margin: 1.5rem 0 0;
  }
}
body#top main.top #blog .blog-block .blog-content .blog-list {
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 1rem;
  display: -ms-grid;
  display: grid;
  margin-top: 2rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .blog-list {
    text-align: left;
    gap: 1rem 1rem;
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a {
  text-align: left;
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-thumb {
  width: 100%;
  height: 11rem;
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-thumb {
    height: 10rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-thumb {
    height: 8rem;
    border-radius: 0.5rem;
  }
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-thumb img {
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -o-object-fit: cover;
     object-fit: cover;
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-info {
  margin: 0.5rem 0;
  color: #A6A6A6;
  font-size: 0.8rem;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-info {
    margin: 0.3rem 0;
    font-size: 0.7rem;
  }
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-info span.date {
  padding: 0 1rem 0 0;
  margin: 0 0.7rem 0 0;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-info span.date {
    padding: 0 0.6rem 0 0;
    margin: 0 0.4rem 0 0;
  }
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a .blog-info span.date:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.1rem;
  height: 60%;
  background-color: #A6A6A6;
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a h3.blog-title {
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a h3.blog-title {
    font-size: 0.8rem;
  }
}
body#top main.top #blog .blog-block .blog-content .blog-list .blog-list-item a:hover .blog-thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
body#top main.top #blog .blog-block a.contact-btn {
  width: 16rem;
  margin: 0;
  background-color: rgb(237, 244, 251);
  backdrop-filter: blur(0.2rem);
  position: absolute;
  z-index: 100;
  left: 10rem;
  top: 17rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  body#top main.top #blog .blog-block a.contact-btn {
    left: 5rem;
  }
}
@media screen and (max-width: 768.9px) {
  body#top main.top #blog .blog-block a.contact-btn {
    width: 18rem;
    position: relative;
    left: 0;
    right: 0;
    margin: 2rem auto 0;
    bottom: 0;
    top: 0;
  }
}

main#page.page-company.philosophy #intro {
  background-color: #F6F6F6;
}
main#page.page-company.philosophy #intro .intro-block {
  border-radius: 10rem 10rem 0 0;
  background: #fff;
  -webkit-filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
          filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
  padding: 8rem 10rem 6rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.philosophy #intro .intro-block {
    padding: 6rem 6rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #intro .intro-block {
    padding: 3rem 1rem;
    border-radius: 2rem 2rem 0 0;
  }
}
main#page.page-company.philosophy #intro .intro-block .intro-content {
  position: relative;
  text-align: center;
}
main#page.page-company.philosophy #intro .intro-block .intro-content h2 {
  font-weight: 700;
  font-size: 2.4rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #intro .intro-block .intro-content h2 {
    font-size: 1.6rem;
    text-align: center;
    margin: 2.5rem 0 2rem;
  }
}
main#page.page-company.philosophy #intro .intro-block .intro-content h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -4.2rem;
  width: 3rem;
  height: 3rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #intro .intro-block .intro-content h2:before {
    top: -3rem;
    width: 2rem;
    height: 2rem;
  }
}
main#page.page-company.philosophy #intro .intro-block .intro-content p.text {
  line-height: 2;
  font-weight: 700;
  font-size: 1rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #intro .intro-block .intro-content p.text {
    line-height: 1.8;
    font-size: 0.9rem;
  }
}
main#page.page-company.philosophy #intro .intro-block .intro-content p.text + p.text {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #intro .intro-block .intro-content p.text + p.text {
    margin-top: 1rem;
  }
}
main#page.page-company.philosophy #intro .intro-block .intro-content .deco-wrap {
  width: 100%;
  height: 100%;
}
main#page.page-company.philosophy #intro .intro-block .intro-content .deco-wrap .deco.triangle._01 {
  left: -1rem;
  right: auto;
  top: 8rem;
  width: 6rem;
  height: 6rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #intro .intro-block .intro-content .deco-wrap .deco.triangle._01 {
    right: 1rem;
    top: 10rem;
    width: 2rem;
    height: 2rem;
  }
}
main#page.page-company.philosophy #intro .intro-block .intro-content .deco-wrap .deco.triangle._02 {
  left: auto;
  right: 2rem;
  top: 18rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #intro .intro-block .intro-content .deco-wrap .deco.triangle._02 {
    bottom: 2rem;
    right: 1rem;
  }
}
main#page.page-company.philosophy #action {
  background-color: #fff;
}
main#page.page-company.philosophy #action .action-block {
  position: relative;
  background-color: #F0F4F9;
  border-radius: 10rem 10rem 0 0;
  padding: 8rem 10rem 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.philosophy #action .action-block {
    padding: 8rem 6rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #action .action-block {
    padding: 2rem 1rem;
    border-radius: 2rem 2rem 0 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main#page.page-company.philosophy #action .action-block .action-fixed {
  position: sticky;
  left: 0;
  top: 8rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #action .action-block .action-fixed {
    position: relative;
    top: 0;
    right: 0;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
main#page.page-company.philosophy #action .action-block .action-fixed h2 {
  font-weight: 700;
  font-size: 2.3rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #action .action-block .action-fixed h2 {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
}
main#page.page-company.philosophy #action .action-block .action-fixed img.building {
  width: 10rem;
  height: 10rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #action .action-block .action-fixed img.building {
    width: 3rem;
    height: 3rem;
    margin: 0 0.5rem 0 0;
  }
}
main#page.page-company.philosophy #action .action-block .action-cont-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont {
  width: 100%;
  max-width: 50rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.9);
  padding: 1rem 2rem;
  color: #0A2239;
  -webkit-filter: drop-shadow(0 0.1rem 0.2rem rgba(212, 226, 240, 0.7)) drop-shadow(0 0.1rem 0.2rem rgba(212, 226, 240, 0.7));
          filter: drop-shadow(0 0.1rem 0.2rem rgba(212, 226, 240, 0.7)) drop-shadow(0 0.1rem 0.2rem rgba(212, 226, 240, 0.7));
  margin-bottom: 1.5rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont {
    max-width: 45rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont {
    border-radius: 0.5rem;
    padding: 0.5rem 1rem 1rem;
    margin-bottom: 1rem;
    max-width: 100%;
  }
}
main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont p.title {
  font-weight: 700;
  font-size: 1.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont p.title {
    font-size: 1.1rem;
    margin-bottom: 0.2rem;
  }
}
main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont p.title span.num {
  font-size: 1.8rem;
  position: relative;
  padding: 0 1.5rem 0 0;
  margin: 0 1.5rem 0 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont p.title span.num {
    font-size: 1.4rem;
    padding: 0 1rem 0 0;
    margin: 0 1rem 0 0;
  }
}
main#page.page-company.philosophy #action .action-block .action-cont-wrap .action-cont p.title span.num:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.1rem;
  height: 1rem;
  background-color: #B8C7D9;
}
main#page.page-company.philosophy #organization {
  background-color: #F0F4F9;
}
main#page.page-company.philosophy #organization .organization-block {
  border-radius: 10rem 10rem 0 0;
  background: #fff;
  padding: 8rem 10rem 6rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.philosophy #organization .organization-block {
    padding: 6rem 6rem 3rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block {
    padding: 2rem 1rem 2rem;
    border-radius: 2rem 2rem 0 0;
  }
}
main#page.page-company.philosophy #organization .organization-block:before, main#page.page-company.philosophy #organization .organization-block:after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 5rem;
  opacity: 0.9;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block:before, main#page.page-company.philosophy #organization .organization-block:after {
    border-radius: 2rem;
  }
}
main#page.page-company.philosophy #organization .organization-block:before {
  top: -20rem;
  right: 1rem;
  width: 30rem;
  height: 30rem;
  background: linear-gradient(45.14deg, rgba(255, 255, 255, 0.15) 70.7%, rgba(172, 188, 211, 0.15) 92.56%);
  -webkit-transform: rotate(125deg);
          transform: rotate(125deg);
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block:before {
    top: -15rem;
    right: -10rem;
    width: 20rem;
    height: 20rem;
    -webkit-transform: rotate(150deg);
            transform: rotate(150deg);
  }
}
main#page.page-company.philosophy #organization .organization-block:after {
  bottom: -30rem;
  left: -5rem;
  width: 50rem;
  height: 50rem;
  background: linear-gradient(266.68deg, rgba(255, 255, 255, 0.15) 56.02%, rgba(172, 188, 211, 0.15) 95.76%);
  -webkit-transform: rotate(120deg);
          transform: rotate(120deg);
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block:after {
    bottom: -10rem;
    left: -7rem;
    width: 20rem;
    height: 20rem;
  }
}
main#page.page-company.philosophy #organization .organization-block .organization-content {
  position: relative;
  text-align: center;
  z-index: 2;
}
main#page.page-company.philosophy #organization .organization-block .organization-content h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block .organization-content h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
main#page.page-company.philosophy #organization .organization-block .organization-content h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block .organization-content h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-company.philosophy #organization .organization-block .organization-content p.text {
  line-height: 2;
  font-weight: 700;
  font-size: 1rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block .organization-content p.text {
    line-height: 1.8;
    font-size: 0.9rem;
  }
}
main#page.page-company.philosophy #organization .organization-block .organization-content .organization-pic {
  width: 45rem;
  margin: 4rem auto 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.philosophy #organization .organization-block .organization-content .organization-pic {
    width: 100%;
    margin: 2rem auto 0;
  }
}
main#page.page-company.message #pres-message {
  background-color: #F6F6F6;
}
main#page.page-company.message #pres-message .pres-message-block {
  border-radius: 10rem 10rem 0 0;
  background: #fff;
  -webkit-filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
          filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
  padding: 8rem 18rem 10rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.message #pres-message .pres-message-block {
    padding: 6rem 10rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.message #pres-message .pres-message-block {
    padding: 3rem 1rem;
    border-radius: 2rem 2rem 0 0;
  }
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content {
  position: relative;
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content .pres-pic {
  width: 100%;
  height: 33rem;
  margin: 0 auto 2rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.message #pres-message .pres-message-block .pres-message-content .pres-pic {
    height: 28rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.message #pres-message .pres-message-block .pres-message-content .pres-pic {
    height: 15rem;
    margin: 0 auto 1.5rem;
  }
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content .pres-pic img {
  -o-object-fit: cover;
     object-fit: cover;
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text {
  line-height: 1.8;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text {
    line-height: 1.6;
    font-size: 0.9rem;
  }
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text + p.text {
  margin-top: 1.6rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text + p.text {
    margin-top: 1.2rem;
  }
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text + p.text.name {
  margin-top: 3rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text + p.text.name {
    margin-top: 2rem;
  }
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text.name {
  font-size: 0.9rem;
}
main#page.page-company.message #pres-message .pres-message-block .pres-message-content p.text.name span.pres {
  font-weight: 700;
  line-height: 1;
  font-size: 1.6rem;
}
main#page.page-company.company #overview {
  background-color: #F6F6F6;
}
main#page.page-company.company #overview .overview-block {
  border-radius: 10rem 10rem 0 0;
  background: #fff;
  -webkit-filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
          filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
  padding: 8rem 10rem 1rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.company #overview .overview-block {
    padding: 6rem 6rem 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block {
    padding: 3rem 1rem 1rem;
    border-radius: 2rem 2rem 0 0;
  }
}
main#page.page-company.company #overview .overview-block .overview-content {
  position: relative;
  text-align: center;
}
main#page.page-company.company #overview .overview-block .overview-content h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block .overview-content h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
main#page.page-company.company #overview .overview-block .overview-content h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block .overview-content h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-company.company #overview .overview-block .overview-content table {
  width: 100%;
}
main#page.page-company.company #overview .overview-block .overview-content table tr th,
main#page.page-company.company #overview .overview-block .overview-content table tr td {
  padding: 1.3rem 0 1.3rem;
  text-align: left;
  border-top: 0.1rem solid #E4E4E4;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block .overview-content table tr th,
  main#page.page-company.company #overview .overview-block .overview-content table tr td {
    padding: 1rem 0;
  }
}
main#page.page-company.company #overview .overview-block .overview-content table tr th {
  font-weight: 700;
  width: 20rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block .overview-content table tr th {
    width: 6rem;
  }
}
main#page.page-company.company #overview .overview-block .overview-content table tr td ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main#page.page-company.company #overview .overview-block .overview-content table tr td ul li img.certified-logo {
  width: 4rem;
  height: auto;
  margin-right: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block .overview-content table tr td ul li img.certified-logo {
    width: 3rem;
  }
}
main#page.page-company.company #overview .overview-block .overview-content table tr td ul li:first-of-type {
  margin: 0;
}
main#page.page-company.company #overview .overview-block .overview-content table tr td p.text + p.text {
  margin-top: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block .overview-content table tr td p.text + p.text {
    margin-top: 0.9rem;
  }
}
main#page.page-company.company #overview .overview-block .overview-content table tr:last-of-type th,
main#page.page-company.company #overview .overview-block .overview-content table tr:last-of-type td {
  border-bottom: 0.1rem solid #E4E4E4;
}
main#page.page-company.company #overview .overview-block .overview-content ul.related-bnr-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 1.5rem;
  margin: 2rem 0;
  -ms-grid-columns: 1fr 1.5rem 1fr;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #overview .overview-block .overview-content ul.related-bnr-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem 0;
    margin: 2rem 0 0;
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
  }
}
main#page.page-company.company #overview .overview-block .overview-content ul.related-bnr-list li {
  width: 100%;
  height: auto;
}
main#page.page-company.company #partner {
  background-color: #fff;
}
main#page.page-company.company #partner .partner-block {
  padding: 6rem 10rem 2rem;
  position: relative;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.company #partner .partner-block {
    padding: 6rem 6rem 3rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #partner .partner-block {
    padding: 2rem 1rem;
    border-radius: 2rem 2rem 0 0;
  }
}
main#page.page-company.company #partner .partner-block .deco-wrap {
  width: 100%;
  height: 100%;
}
main#page.page-company.company #partner .partner-block .deco-wrap .deco.triangle._01 {
  right: 4rem;
  left: auto;
  top: 1rem;
  width: 4rem;
  height: 4rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #partner .partner-block .deco-wrap .deco.triangle._01 {
    right: 1rem;
    top: 1rem;
    width: 2rem;
    height: 2rem;
  }
}
main#page.page-company.company #partner .partner-block .partner-content {
  position: relative;
  z-index: 2;
  text-align: center;
}
main#page.page-company.company #partner .partner-block .partner-content h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #partner .partner-block .partner-content h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
main#page.page-company.company #partner .partner-block .partner-content h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #partner .partner-block .partner-content h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-company.company #partner .partner-block .partner-content p.head {
  font-weight: 700;
  font-size: 1rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #partner .partner-block .partner-content p.head {
    font-size: 0.9rem;
  }
}
main#page.page-company.company #partner .partner-block .partner-content ul.partner-list {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem;
  margin: 3rem 0 0;
  -ms-grid-columns: 1fr 1.5rem 1fr 1.5rem 1fr 1.5rem 1fr 1.5rem 1fr;
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #partner .partner-block .partner-content ul.partner-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
main#page.page-company.company #partner .partner-block .partner-content ul.partner-list li {
  width: 100%;
  height: auto;
}
main#page.page-company.company #access {
  background-color: #fff;
}
main#page.page-company.company #access .access-block {
  padding: 6rem 10rem;
  position: relative;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.company #access .access-block {
    padding: 4rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block {
    padding: 2rem 1rem;
    border-radius: 2rem 2rem 0 0;
  }
}
main#page.page-company.company #access .access-block .deco-wrap {
  width: 100%;
  height: 100%;
}
main#page.page-company.company #access .access-block .deco-wrap .deco.triangle._01 {
  left: 3rem;
  right: auto;
  top: -1rem;
  width: 5rem;
  height: 5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .deco-wrap .deco.triangle._01 {
    left: 1rem;
    top: 0.5rem;
    width: 1.8rem;
    height: 1.8rem;
  }
}
main#page.page-company.company #access .access-block .deco-wrap .deco.triangle._02 {
  left: auto;
  right: 3rem;
  top: auto;
  bottom: 3rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .deco-wrap .deco.triangle._02 {
    right: 1rem;
    bottom: 1rem;
  }
}
main#page.page-company.company #access .access-block .access-content {
  position: relative;
  z-index: 2;
  text-align: center;
}
main#page.page-company.company #access .access-block .access-content h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .access-content h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
main#page.page-company.company #access .access-block .access-content h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .access-content h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-company.company #access .access-block .access-content ul.access-list {
  display: -ms-grid;
  display: grid;
  gap: 0 2rem;
  margin: 2rem 0;
  -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-company.company #access .access-block .access-content ul.access-list {
    gap: 0 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .access-content ul.access-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem 0;
    margin: 2rem 0 0;
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
  }
}
main#page.page-company.company #access .access-block .access-content ul.access-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: left;
}
main#page.page-company.company #access .access-block .access-content ul.access-list li .map {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 1rem;
  height: 13rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .access-content ul.access-list li .map {
    height: 9rem;
    border-radius: 0.5rem;
  }
}
main#page.page-company.company #access .access-block .access-content ul.access-list li .map iframe {
  width: 100%;
  height: 100%;
}
main#page.page-company.company #access .access-block .access-content ul.access-list li p.name {
  font-weight: 700;
  font-size: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .access-content ul.access-list li p.name {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
  }
}
main#page.page-company.company #access .access-block .access-content ul.access-list li p.name span.label {
  font-size: 1rem;
  position: relative;
  padding: 0 0.8rem 0 0;
  margin: 0 0.8rem 0 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-company.company #access .access-block .access-content ul.access-list li p.name span.label {
    font-size: 0.9rem;
    padding: 0 0.6rem 0 0;
    margin: 0 0.6rem 0 0;
  }
}
main#page.page-company.company #access .access-block .access-content ul.access-list li p.name span.label:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.1rem;
  height: 0.6rem;
  background-color: #1A1A1A;
}
main#page.page-company.company #access .access-block .access-content ul.access-list li p.text + p.text {
  margin-top: 0.7rem;
}

main#page.page-service.service #description {
  background-color: #F6F6F6;
  position: relative;
}
main#page.page-service.service #description .deco-wrap {
  width: 100%;
  height: 100%;
}
main#page.page-service.service #description .deco-wrap .deco.triangle._01 {
  left: auto;
  right: 5rem;
  top: 15rem;
  bottom: auto;
  width: 6rem;
  height: 6rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .deco-wrap .deco.triangle._01 {
    width: 2.5rem;
    height: 2.5rem;
    top: 30rem;
    right: 2rem;
  }
}
main#page.page-service.service #description .deco-wrap .deco.triangle._02 {
  left: 8rem;
  right: auto;
  top: 55rem;
  bottom: auto;
  width: 2.5rem;
  height: 2.5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .deco-wrap .deco.triangle._02 {
    top: auto;
    bottom: 40rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-service.service #description .deco-wrap .deco.triangle._03 {
  left: auto;
  right: 5rem;
  top: 60rem;
  bottom: auto;
  width: 6rem;
  height: 6rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .deco-wrap .deco.triangle._03 {
    width: 2.5rem;
    height: 2.5rem;
    top: auto;
    bottom: 30rem;
  }
}
main#page.page-service.service #description .description-block {
  border-radius: 10rem 10rem 0 0;
  -webkit-filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
          filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(0.2rem);
  will-change: filter;
  padding: 8rem 10rem 8rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block {
    padding: 6rem 3rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block {
    padding: 3rem 1rem;
    border-radius: 2rem 2rem 0 0;
  }
}
main#page.page-service.service #description .description-block .description-title {
  position: relative;
  text-align: center;
}
main#page.page-service.service #description .description-block .description-title h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-title h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
main#page.page-service.service #description .description-block .description-title h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-title h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-service.service #description .description-block .description-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed {
  position: sticky;
  left: 0;
  top: 13rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 6rem;
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed {
    left: 6.5rem;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed {
    position: relative;
    top: 0;
    right: 0;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 4.5rem auto 5.5rem;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed p.service-name {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed p.service-name {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed p.service-name {
    font-size: 0.75rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed p.en {
  font-size: 0.7rem;
  font-weight: 400;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed p.en {
    font-size: 0.65rem;
    line-height: 1.1;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap {
  position: relative;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back {
  -webkit-box-shadow: 0 0 4rem 0 rgba(0, 119, 149, 0.3);
          box-shadow: 0 0 4rem 0 rgba(0, 119, 149, 0.3);
  will-change: filter;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  background: linear-gradient(216.33deg, #2685B4 13%, #BBBFCF 79.33%);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 50%;
  width: 26rem;
  height: 26rem;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  outline: dotted 0.2rem #fff;
  outline-offset: -1rem;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back {
    width: 23rem;
    height: 23rem;
    -webkit-box-shadow: 0 0 2rem 0 rgba(0, 119, 149, 0.3);
            box-shadow: 0 0 2rem 0 rgba(0, 119, 149, 0.3);
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back {
    -webkit-animation: none;
            animation: none;
    -webkit-box-shadow: 0 0 1rem 0 rgba(0, 119, 149, 0.3);
            box-shadow: 0 0 1rem 0 rgba(0, 119, 149, 0.3);
    width: 15rem;
    height: 15rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back p.service-name {
  font-size: 1.6rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back p.service-name {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back p.service-name {
    font-size: 0.9rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back p.en {
  font-size: 0.8rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-back p.en {
    font-size: 0.6rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont {
  -webkit-box-shadow: 0 0 5rem 0 rgba(0, 119, 149, 0.3);
          box-shadow: 0 0 5rem 0 rgba(0, 119, 149, 0.3);
  will-change: filter;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont {
    -webkit-box-shadow: 0 0 2rem 0 rgba(0, 119, 149, 0.3);
            box-shadow: 0 0 2rem 0 rgba(0, 119, 149, 0.3);
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont {
    -webkit-animation: none;
            animation: none;
    -webkit-box-shadow: 0 0 1rem 0 rgba(0, 119, 149, 0.3);
            box-shadow: 0 0 1rem 0 rgba(0, 119, 149, 0.3);
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service {
  position: absolute;
  width: 11rem;
  height: 11rem;
  border: 0.1rem solid #007795;
  background-color: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #007795;
  text-align: center;
  padding: 2.5rem 0 0;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service {
    width: 10.5rem;
    height: 10.5rem;
    padding: 2rem 0 0;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service {
    width: 8rem;
    height: 8rem;
    padding: 2.5rem 0 0;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.web {
  padding: 2rem 0 0;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.web {
    padding: 1.5rem 0 0;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.web {
    padding: 2.5rem 0 0;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon {
  width: 6rem;
  height: auto;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon {
    width: 5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon {
    width: 4rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.web, main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.graphic {
  top: -2rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.web, main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.graphic {
    top: -0.5rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.movie, main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.illust {
  top: -0.8rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.movie, main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service img.icon.illust {
    top: 0;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.graphic {
  top: -4.5rem;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.graphic {
    top: -5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.graphic {
    top: -4rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.web {
  top: 0;
  right: -4.5rem;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.web {
    right: -5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.web {
    right: -4rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.movie {
  bottom: -4.5rem;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.movie {
    bottom: -5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.movie {
    bottom: -4rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.illust {
  top: 0;
  left: -4.5rem;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.illust {
    left: -5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-fixed .slot-wrap .slot-cont.service.illust {
    left: -4rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 35rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap {
    width: 33rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap {
    width: 100%;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont {
  width: 100%;
  margin-bottom: 1.5rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont {
    margin-bottom: 3rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont:last-of-type {
  margin-bottom: 0;
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.num {
  font-size: 1.3rem;
  color: #00A7E7;
  position: relative;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.num {
    font-size: 0.9rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.num:after {
  content: "";
  position: absolute;
  width: 90%;
  height: 0.1rem;
  background-color: #00A7E7;
  bottom: 0;
  top: 0;
  right: 0;
  margin: auto;
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.title {
  font-size: 0.9rem;
  color: #00A7E7;
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.text {
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.text {
    line-height: 1.6;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.text.fw-bold {
  font-weight: 700;
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.text.wecan {
  font-size: 1.2rem;
  margin: 1.5rem 0 0.5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.text.wecan {
    font-size: 1rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.text.etc {
  text-align: right;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.text.etc {
    margin-top: 0.5rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.banner {
  height: 4.5rem;
  border-radius: 4.5rem;
  border: 0.1rem solid #EAEAEA;
  background-color: #fff;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
  margin: 1rem 0 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.banner {
    font-size: 0.8rem;
    height: 4rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.banner img.google-logo {
  width: 4.5rem;
  height: auto;
  margin: 0 0.5rem 0 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont p.banner img.google-logo {
    width: 3rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont h3 {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0.2rem 0 1rem;
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.6rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem 0.6rem;
  margin-top: 1.5rem;
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 4rem;
  border-radius: 4rem;
  background-color: #fff;
  color: #007795;
  font-weight: 700;
  padding: 1rem;
  font-size: 0.9rem;
  -webkit-filter: drop-shadow(0.1rem 0.1rem 0.2rem rgba(233, 233, 233, 0.2));
          filter: drop-shadow(0.1rem 0.1rem 0.2rem rgba(233, 233, 233, 0.2));
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont ul li {
    font-size: 0.7rem;
    padding: 0.5rem 1rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont a.contact-btn {
  width: 100%;
  margin-top: 1.5rem;
  padding: 1.5rem 0 1.5rem 0;
  -webkit-filter: drop-shadow(0.1rem 0.1rem 0.2rem rgb(215, 227, 239));
          filter: drop-shadow(0.1rem 0.1rem 0.2rem rgb(215, 227, 239));
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont a.contact-btn {
    width: 100%;
    max-width: 23rem;
    margin: 1rem auto 0;
    padding: 1rem 0;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont a.contact-btn .circle-arrow {
    width: 2.2rem;
    height: 2.2rem;
    right: 0.5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont a.contact-btn .circle-arrow:after {
    width: 0.9rem;
  }
}
main#page.page-service.service #description .description-block .description-content .description-cont-wrap .description-cont .small_text {
  font-size: 70%;
  margin-top: 0.6rem;
  text-align: center;
}
main#page.page-service.service #reason {
  -webkit-filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
          filter: drop-shadow(0 -0.2rem 0.4rem rgba(115, 150, 194, 0.14));
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(0.2rem);
  will-change: filter;
  overflow: hidden;
}
main#page.page-service.service #reason .reason-block {
  position: relative;
  background-color: #F0F4F9;
  border-radius: 10rem 10rem 0 0;
  padding: 8rem 10rem 6rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #reason .reason-block {
    padding: 6rem 6rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block {
    padding: 2rem 1rem;
    border-radius: 2rem 2rem 0 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main#page.page-service.service #reason .reason-block .deco-wrap {
  width: 100%;
  height: 100%;
}
main#page.page-service.service #reason .reason-block .deco-wrap .deco.triangle {
  z-index: 3;
}
main#page.page-service.service #reason .reason-block .deco-wrap .deco.triangle._01 {
  left: 4rem;
  right: auto;
  top: auto;
  bottom: 20rem;
  width: 6.5rem;
  height: 6.5rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #reason .reason-block .deco-wrap .deco.triangle._01 {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .deco-wrap .deco.triangle._01 {
    width: 2.5rem;
    height: 2.5rem;
    left: auto;
    right: 0.5rem;
    bottom: 6rem;
  }
}
main#page.page-service.service #reason .reason-block .deco-wrap .deco.triangle._02 {
  left: auto;
  right: 4rem;
  top: 38rem;
  bottom: auto;
  width: 3.5rem;
  height: 3.5rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #reason .reason-block .deco-wrap .deco.triangle._02 {
    width: 2.5rem;
    height: 2.5rem;
    top: 33rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .deco-wrap .deco.triangle._02 {
    left: 1rem;
    right: auto;
    top: 31rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-service.service #reason .reason-block .reason-content {
  position: relative;
  z-index: 2;
  text-align: center;
}
main#page.page-service.service #reason .reason-block .reason-content h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
main#page.page-service.service #reason .reason-block .reason-content h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem 0;
    margin: 2rem 0 0;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 2rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item {
    gap: 1rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item:nth-of-type(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .pic {
  width: 30rem;
  border-radius: 1rem;
  overflow: hidden;
  height: 20rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .pic {
    width: 28rem;
    height: 18rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .pic {
    height: 12rem;
    width: 100%;
    border-radius: 0.5rem;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .pic img {
  -o-object-fit: cover;
     object-fit: cover;
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont {
  text-align: left;
  width: 33rem;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont {
    width: 28rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont {
    width: 100%;
    text-align: center;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont h3 {
  font-weight: 700;
  font-size: 1.3rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 1rem;
  position: relative;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont h3 {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont h3 {
    font-size: 1.1rem;
    text-align: center;
    margin: 0 0 0.7rem;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont p.label {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #00A7E7;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont p.label {
    font-size: 0.9rem;
    margin: 0 auto 0.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont p.label:before {
  content: "■";
  font-size: 0.5rem;
  margin-right: 0.5rem;
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont p.text {
  width: 90%;
  margin: 0;
  line-height: 2;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont p.text {
    text-align: left;
    line-height: 1.6;
    width: 100%;
  }
}
main#page.page-service.service #reason .reason-block .reason-content .reason-list .reason-list-item .cont p.text + p.text {
  margin-top: 0.7rem;
}
main#page.page-service.process #team {
  background-color: #F6F6F6;
  position: relative;
  overflow: hidden;
}
main#page.page-service.process #team .deco-wrap {
  left: 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .deco-wrap {
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
main#page.page-service.process #team .deco-wrap .float {
  position: absolute;
}
main#page.page-service.process #team .deco-wrap .float._01 {
  left: 10rem;
  top: 50rem;
  width: 18rem;
  height: 18rem;
  -webkit-animation: float-2 4s ease-in infinite;
          animation: float-2 4s ease-in infinite;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.process #team .deco-wrap .float._01 {
    top: 40rem;
    left: 5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .deco-wrap .float._01 {
    left: 1rem;
    width: 8rem;
    height: 8rem;
  }
}
main#page.page-service.process #team .deco-wrap .float._02 {
  left: 6rem;
  top: 55%;
  bottom: auto;
  width: 10rem;
  height: 10rem;
  animation: float-2 5s ease infinite alternate-reverse;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.process #team .deco-wrap .float._02 {
    left: 2rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .deco-wrap .float._02 {
    display: none;
  }
}
main#page.page-service.process #team .deco-wrap .float._03 {
  width: 8rem;
  height: 8rem;
  right: 2rem;
  top: 40%;
  -webkit-animation: float-2 6s ease infinite;
          animation: float-2 6s ease infinite;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.process #team .deco-wrap .float._03 {
    top: 45%;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .deco-wrap .float._03 {
    width: 3rem;
    height: 3rem;
    right: 1rem;
    top: 33%;
  }
}
main#page.page-service.process #team .deco-wrap .deco.rotate-triangle {
  background: url("common/img/parts/triangle.png") no-repeat center/contain;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  width: 100%;
  height: 100%;
}
main#page.page-service.process #team .deco-wrap .deco.building {
  width: 100%;
  height: 100%;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  background: url("common/img/parts/building_02.png") no-repeat center/contain;
}
main#page.page-service.process #team .deco-wrap .deco.cup {
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  background: url("common/img/parts/cup.png") no-repeat center/contain;
  width: 100%;
  height: 100%;
}
main#page.page-service.process #team .deco-wrap .deco.deco-logo {
  right: 1rem;
  bottom: 20%;
  width: 12rem;
  height: 10rem;
  background: url("common/img/parts/illust_logo_02.png") no-repeat center/contain;
  -webkit-animation-delay: 0.6s, 1.4s;
          animation-delay: 0.6s, 1.4s;
  animation: float-2 5s ease-in infinite reverse;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .deco-wrap .deco.deco-logo {
    width: 3rem;
    height: 3rem;
    right: 1rem;
    bottom: 1rem;
  }
}
main#page.page-service.process #team .team-block {
  border-radius: 10rem 10rem 0 0;
  background-color: rgba(224, 235, 247, 0.5);
  backdrop-filter: blur(0.4rem);
  will-change: filter;
  padding: 8rem 10rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.process #team .team-block {
    padding: 6rem 5rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block {
    padding: 3rem 1rem;
    border-radius: 2rem 2rem 0 0;
    backdrop-filter: blur(0.2rem);
  }
}
main#page.page-service.process #team .team-block .team-title {
  position: relative;
  text-align: center;
}
main#page.page-service.process #team .team-block .team-title h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-title h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1rem;
  }
}
main#page.page-service.process #team .team-block .team-title h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-title h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-service.process #team .team-block .team-content {
  position: relative;
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  gap: 0 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap {
    gap: 1rem 0;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont {
  width: 49%;
  border-radius: 1rem;
  color: #fff;
  padding: 2rem 3rem 3rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont {
    width: 100%;
    border-radius: 0.5rem;
    padding: 1rem 1rem 1rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont:after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 2rem;
  opacity: 0.9;
  background: rgba(246, 248, 252, 0.05);
  -webkit-box-shadow: inset -2rem 0.9rem 2rem rgba(243, 245, 249, 0.1);
          box-shadow: inset -2rem 0.9rem 2rem rgba(243, 245, 249, 0.1);
  width: 20rem;
  height: 20rem;
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont:after {
    border-radius: 1rem;
    width: 15rem;
    height: 15rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont.sales {
  background: linear-gradient(39.8deg, #338CA5 7.71%, #74CEE6 89.07%);
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont.sales:after {
  bottom: -7rem;
  left: -7rem;
  -webkit-transform: rotate(120deg);
          transform: rotate(120deg);
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont.sales:after {
    bottom: -5rem;
    left: -5rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont.producer {
  background: linear-gradient(19.6deg, #24547E 24.18%, #56A7ED 92.5%);
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont.producer:after {
  right: -15rem;
  top: -2rem;
  -webkit-transform: rotate(-120deg);
          transform: rotate(-120deg);
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont.producer:after {
    top: 1rem;
    right: -11rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont .group-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 1rem;
  border-bottom: 0.1rem solid #fff;
  position: relative;
  margin: 0 auto 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont .group-title {
    margin: 0 0 0.5rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont .group-title p.title {
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.6;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont .group-title p.title {
    font-size: 1.1rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont .group-title img.icon {
  width: 5rem;
  margin-right: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont .group-title img.icon {
    width: 4rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont p.text {
  line-height: 2;
  font-size: 0.85rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont p.text {
    line-height: 1.8;
    font-size: 0.8rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont a.scroll-link {
  font-family: "Outfit", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  text-align: right;
  color: #fff;
  margin: 0 0 0 auto;
  padding: 0 5rem 0 0;
  display: table;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont a.scroll-link {
    padding: 0 3rem 0 0;
    margin: 1.2rem 0 0 auto;
    position: relative;
    right: 0;
    bottom: 0;
  }
}
main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont a.scroll-link .circle-arrow {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont a.scroll-link .circle-arrow {
    right: 0;
    width: 2.4rem;
    height: 2.4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-top-wrap .group-cont a.scroll-link .circle-arrow:after {
    width: 1rem;
    height: 0.6rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail {
  margin: 3.5rem auto 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail {
    margin: 1rem auto;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont {
    gap: 1rem 0;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont#team-producer {
  margin-top: 3.5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont#team-producer {
    margin: 1rem auto;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-detail-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-detail-title {
    margin: 1.5rem 0 0;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-detail-title h3 {
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.6;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-detail-title h3 {
    font-size: 1.1rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-detail-title p.icon {
  width: 4rem;
  height: 4rem;
  background-color: #fff;
  border-radius: 50%;
  padding: 1rem;
  margin-right: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-detail-title p.icon {
    width: 3rem;
    height: 3rem;
    margin-right: 0.5rem;
    padding: 0.5rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont p.head {
  text-align: center;
  line-height: 2;
  width: 100%;
  margin: 0 auto 2rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont p.head {
    margin: 0 auto 1rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box {
  width: 49%;
  border-radius: 1rem;
  padding: 1rem 2rem;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  -webkit-box-shadow: 0 0 1.5rem 0 rgba(26, 95, 119, 0.05);
          box-shadow: 0 0 1.5rem 0 rgba(26, 95, 119, 0.05);
  background-color: #fff;
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box {
    width: 100%;
    border-radius: 0.5rem;
    padding: 1rem 1rem 1.3rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box .team-box-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0.1rem solid #fff;
  position: relative;
  margin: 0 auto 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box .team-box-title {
    margin: 0 auto 0.7rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box .team-box-title p.title {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box .team-box-title p.title {
    font-size: 1rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box .team-box-title p.title span.en {
  color: #00A7E7;
  font-size: 1rem;
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box .team-box-title img.icon {
  width: 5rem;
  margin-right: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box .team-box-title img.icon {
    width: 4rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box p.lead {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 1rem;
  line-height: 1.6;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box p.lead {
    line-height: 1.4;
    font-size: 1rem;
    margin-bottom: 0.7rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box p.text {
  line-height: 1.6;
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-box p.text {
    line-height: 1.4;
    font-size: 0.8rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont {
    margin-top: 1.5rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont:last-of-type {
  margin-top: 1rem;
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont p.title {
  font-size: 1.1rem;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  padding: 0.2rem 0.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont p.title {
    font-size: 0.9rem;
    padding: 0.1rem 0.25rem;
    margin-bottom: 0.7rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont p.title:before {
  content: "●";
  font-size: 0.7rem;
  margin-right: 0.5rem;
  color: #F9C700;
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont p.text {
  line-height: 1.8;
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-cont p.text {
    line-height: 1.6;
    font-size: 0.8rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap {
  display: -ms-grid;
  display: grid;
  gap: 1.5rem;
  -ms-grid-columns: 1fr 1.5rem 1fr 1.5rem 1fr;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap {
    gap: 0.5rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box {
  width: 100%;
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box .team-box-title p.title {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.3;
  white-space: nowrap;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box .team-box-title p.title {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box .team-box-title p.title {
    font-size: 1.1rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box .team-box-title p.title span.en {
  color: #2D55D8;
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box .team-box-title img.icon {
  width: 4rem;
  margin-right: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box .team-box-title img.icon {
    width: 3rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box p.text {
  padding: 0 0 0 1rem;
  position: relative;
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box p.text {
    font-size: 0.8rem;
  }
}
main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box p.text:before {
  content: "∟";
  color: #2D55D8;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: scale(0.6);
          transform: scale(0.6);
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #team .team-block .team-content .team-detail .team-detail-cont .team-grid-wrap .team-box p.text:before {
    font-size: 0.8rem;
  }
}
main#page.page-service.process #flow {
  background-color: #fff;
  background-color: rgba(224, 235, 247, 0.5);
}
main#page.page-service.process #flow .flow-block {
  position: relative;
  background-color: #fff;
  border-radius: 10rem 10rem 0 0;
  padding: 8rem 10rem 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-service.process #flow .flow-block {
    padding: 6rem 6rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block {
    padding: 2rem 1rem;
    border-radius: 2rem 2rem 0 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main#page.page-service.process #flow .flow-block .deco-wrap {
  width: 100%;
  height: 100%;
}
main#page.page-service.process #flow .flow-block .deco-wrap .deco.triangle._01 {
  left: auto;
  right: 5rem;
  top: 30rem;
  bottom: auto;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .deco-wrap .deco.triangle._01 {
    width: 2rem;
    height: 2rem;
    top: 22rem;
    right: 1rem;
  }
}
main#page.page-service.process #flow .flow-block .deco-wrap .deco.triangle._02 {
  left: 8rem;
  right: auto;
  top: auto;
  bottom: 20rem;
  width: 2.5rem;
  height: 2.5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .deco-wrap .deco.triangle._02 {
    bottom: 5rem;
    width: 1.5rem;
    height: 1.5rem;
    left: 1rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-fixed {
  position: sticky;
  z-index: 2;
  left: 0;
  top: 12rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-fixed {
    position: relative;
    top: 0;
    right: 0;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
main#page.page-service.process #flow .flow-block .flow-fixed h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-fixed h2 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 1.5rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-fixed h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-fixed h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
    right: 0;
    margin: auto;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont {
  width: 50rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 4rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont {
    width: 100%;
    gap: 0 1rem;
    margin-bottom: 2rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .step {
  padding: 0.5rem 0 0;
  width: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .step {
    width: 3.5rem;
    white-space: nowrap;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .step:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -5rem;
  width: 0.1rem;
  height: 3rem;
  background-color: #DADBDB;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .step:after {
    bottom: -0.5rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .step span.num {
  color: #00A7E7;
  margin-bottom: 2rem;
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .step p.icon {
  width: 8rem;
  height: 8rem;
  background-color: #fff;
  border-radius: 50%;
  padding: 2.5rem;
  -webkit-box-shadow: 0 0 1.5rem 0 rgba(48, 106, 167, 0.25);
          box-shadow: 0 0 1.5rem 0 rgba(48, 106, 167, 0.25);
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .step p.icon {
    width: 3.5rem;
    height: 3.5rem;
    padding: 1rem;
    -webkit-box-shadow: 0 0 1rem 0 rgba(48, 106, 167, 0.25);
            box-shadow: 0 0 1rem 0 rgba(48, 106, 167, 0.25);
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont p.title {
  font-weight: 700;
  font-size: 1.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont p.title {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont .text {
  background-color: #EBF0F7;
  -webkit-box-shadow: 0 0 1.5rem 0 rgba(26, 95, 119, 0.05);
          box-shadow: 0 0 1.5rem 0 rgba(26, 95, 119, 0.05);
  will-change: filter;
  padding: 2rem;
  border-radius: 1rem;
  font-size: 0.9rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont .text {
    border-radius: 0.5rem;
    padding: 1rem;
    font-size: 0.8rem;
    -webkit-box-shadow: 0 0 1rem 0 rgba(26, 95, 119, 0.05);
            box-shadow: 0 0 1rem 0 rgba(26, 95, 119, 0.05);
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont .text a.contact-btn {
  width: 20rem;
  margin: 1rem 0 0;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont .text a.contact-btn {
    width: 100%;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont .text a.contact-btn .circle-arrow {
    width: 1.7rem;
    height: 1.7rem;
    right: 0.5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont .cont .text a.contact-btn .circle-arrow:after {
    width: 0.8rem;
    height: 0.6rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont:first-of-type {
  margin-bottom: 4rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont:first-of-type {
    margin-bottom: 2rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont:first-of-type .step:after {
  bottom: -2rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont:first-of-type .step:after {
    bottom: -0.5rem;
  }
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont:last-of-type {
  margin-bottom: 0;
}
main#page.page-service.process #flow .flow-block .flow-cont-wrap .flow-cont:last-of-type .step:after {
  display: none;
}

main#page.page-contact .page-head {
  padding: 2rem 8rem 2rem;
  position: relative;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-contact .page-head {
    padding: 2rem 4rem 2rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .page-head {
    padding: 1rem 1rem 1rem;
  }
}
main#page.page-contact.contact .deco-wrap .deco.triangle._02 {
  left: auto;
  right: 12rem;
  top: -1rem;
  width: 7rem;
  height: 7rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact.contact .deco-wrap .deco.triangle._02 {
    width: 3rem;
    height: 3rem;
    right: 3rem;
    top: -2rem;
  }
}
main#page.page-contact .contact-block {
  padding: 2rem 10rem 2rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-contact .contact-block {
    padding: 1rem 6rem 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block {
    padding: 1rem 1rem 1rem;
  }
}
main#page.page-contact .contact-block .contact-content {
  background-color: #fff;
  border-radius: 1rem;
  padding: 4rem 8rem;
  font-size: 1rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-contact .contact-block .contact-content {
    padding: 4rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content {
    padding: 2rem 1rem;
    font-size: 0.9rem;
    line-height: 1.6;
  }
}
main#page.page-contact .contact-block .contact-content p.head {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}
main#page.page-contact .contact-block .contact-content p.note {
  font-weight: 500;
  font-size: 0.9rem;
}
main#page.page-contact .contact-block .contact-content .form-wrap {
  margin: 3rem auto 0;
  font-size: 1rem;
  color: #1A1A1A;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap {
    font-size: 0.9rem;
    margin: 1.5rem auto 0;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row {
    gap: 0.5rem 0;
    margin-bottom: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-label {
  width: 13rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: left;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-label {
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-label .required {
  color: #FF383C;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-label .note {
  font-size: 0.8rem;
  font-weight: 600;
  width: 100%;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-label .note {
    width: auto;
    font-size: 0.7rem;
    margin: 0 0 0 0.5rem;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field {
    width: 100%;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field.checkbox .wpcf7-list-item {
  width: 100%;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .checkbox > * {
  min-width: 0;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=text],
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=email],
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=tel],
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea {
  width: 100%;
  border: 1px solid #E4E4E4;
  border-radius: 0.2rem;
  padding: 0.5rem 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=text],
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=email],
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=tel],
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea {
    padding: 0.5rem 0.5rem;
    max-height: 2.5rem;
    height: 2.5rem;
    max-width: 20rem;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=text]::-webkit-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=email]::-webkit-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=tel]::-webkit-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea::-webkit-input-placeholder {
  color: #B5B5B5;
  opacity: 0.8;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=text]::-moz-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=email]::-moz-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=tel]::-moz-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea::-moz-placeholder {
  color: #B5B5B5;
  opacity: 0.8;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=text]:-ms-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=email]:-ms-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=tel]:-ms-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea:-ms-input-placeholder {
  color: #B5B5B5;
  opacity: 0.8;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=text]::-ms-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=email]::-ms-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=tel]::-ms-input-placeholder, main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea::-ms-input-placeholder {
  color: #B5B5B5;
  opacity: 0.8;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=text]::placeholder,
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=email]::placeholder,
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field input[type=tel]::placeholder,
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea::placeholder {
  color: #B5B5B5;
  opacity: 0.8;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea {
  height: 10rem;
  resize: vertical;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field textarea {
    max-height: 10rem;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0.5rem 0;
  text-align: left;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-list-item {
    font-size: 0.8rem;
    margin: 0 0 0.3rem 0;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-list-item:last-of-type {
  margin: 0 0 0.5rem 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-list-item:last-of-type {
    margin: 0 0 0.2rem 0;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-list-item label input[type=checkbox] {
  margin-right: 0.2rem;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-not-valid-tip {
  text-align: left;
  font-size: 0.8rem;
  color: #FF383C;
  margin: 0.2rem 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-row .form-field .wpcf7-not-valid-tip {
    margin: 0.2rem 0 0.4rem;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .wpcf7-response-output {
  background-color: rgba(255, 0, 21, 0.0980392157);
  color: #FF383C;
  text-align: center;
  border: none;
  font-weight: 700;
  padding: 1rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .wpcf7-response-output {
    margin-bottom: 2rem;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-privacy {
  text-align: center;
  margin: 2rem auto;
  font-size: 0.9rem;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-privacy label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-privacy label input[type=checkbox] {
  margin-right: 0.2rem;
  width: 1rem;
  height: 1rem;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-privacy a {
  text-decoration: underline;
  color: #2D55D8;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit {
  text-align: center;
  position: relative;
  margin: auto;
  width: 20rem;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .circle-arrow {
  opacity: 0.7;
  width: 2.8rem;
  height: 2.8rem;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  border-radius: 50%;
  background-color: #fff;
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .circle-arrow {
    width: 2.4rem;
    height: 2.4rem;
    right: 1.5rem;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .circle-arrow:before, main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .circle-arrow:after {
  content: "";
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .circle-arrow:after {
  -webkit-mask: url("common/img/vector/circle-arrow.svg") no-repeat center center/contain;
  -webkit-mask-image: url("common/img/vector/circle-arrow.svg");
          mask-image: url("common/img/vector/circle-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 1.1rem;
  height: 0.8rem;
  z-index: 1;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #1A1A1A;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .submit-btn {
  width: 100%;
  margin: auto;
  max-width: 100%;
  background: #666;
  color: #fff;
  border: none;
  border-radius: 4.5rem;
  height: 4.5rem;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.5;
  cursor: not-allowed;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-box-shadow: 0px 0.2rem 1rem 0 rgb(193, 203, 213);
          box-shadow: 0px 0.2rem 1rem 0 rgb(193, 203, 213);
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .submit-btn {
    border-radius: 3.3rem;
    height: 3.3rem;
    width: 90%;
    max-width: 20rem;
    font-size: 1.1rem;
  }
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit .wpcf7-spinner {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1.8rem;
  margin: auto;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit.active {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit.active .circle-arrow {
  opacity: 1;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit.active .submit-btn {
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
  background: #00A7E7;
}
main#page.page-contact .contact-block .contact-content .form-wrap .form-submit.active:hover {
  opacity: 0.85;
}
main#page.page-contact .page-thanks {
  padding: 2rem 10rem 2rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-contact .page-thanks {
    padding: 1rem 6rem 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .page-thanks {
    padding: 1rem 1rem 1rem;
  }
}
main#page.page-contact .page-thanks .page-thanks-content {
  background-color: #fff;
  border-radius: 1rem;
  padding: 4rem 8rem;
  font-size: 1rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-contact .page-thanks .page-thanks-content {
    padding: 4rem 4rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .page-thanks .page-thanks-content {
    padding: 2rem 1rem;
    font-size: 0.9rem;
    line-height: 1.6;
  }
}
main#page.page-contact .page-thanks .page-thanks-content a.contact-btn {
  width: 18rem;
  margin: 2rem auto 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-contact .page-thanks .page-thanks-content a.contact-btn {
    width: 18rem;
  }
}

main.blog .blog-article-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #fff;
  height: 100%;
}
@media screen and (max-width: 768.9px) {
  main.blog .blog-article-item a {
    border-radius: 0.5rem;
  }
}
main.blog .blog-article-item a .blog-thumb {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
main.blog .blog-article-item a .blog-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
main.blog .blog-article-item a .blog-info {
  margin: 0;
  font-size: 0.75rem;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  main.blog .blog-article-item a .blog-info {
    padding: 0.5rem;
    font-size: 0.7rem;
  }
}
main.blog .blog-article-item a .blog-info span.blog-cate {
  background-color: #0A1D2E;
  color: #fff;
  padding: 0.4rem 0.5rem 0.3rem;
  border-radius: 2rem;
  text-transform: uppercase;
  line-height: 1;
  font-family: "Outfit", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}
@media screen and (max-width: 768.9px) {
  main.blog .blog-article-item a .blog-info span.blog-cate {
    padding: 0.2rem 0.4rem 0.2rem;
  }
}
main.blog .blog-article-item a .blog-info span.date {
  text-align: right;
  position: relative;
  color: #A6A6A6;
}
main.blog .blog-article-item a .blog-info p.blog-title {
  font-size: 1rem;
  font-weight: 700;
  width: 100%;
  margin-top: 1rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .blog-article-item a .blog-info p.blog-title {
    font-size: 0.8rem;
    margin-top: 0.3rem;
  }
}
main.blog .blog-article-item a:hover .blog-thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
main.blog .single-blog,
main.blog .archive-blog {
  padding: 2rem 10rem 2rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main.blog .single-blog,
  main.blog .archive-blog {
    padding: 1rem 6rem 1rem;
  }
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog,
  main.blog .archive-blog {
    padding: 1rem 1rem 1rem;
  }
}
main.blog .single-blog .blog-article-block,
main.blog .archive-blog .blog-article-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block,
  main.blog .archive-blog .blog-article-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main.blog .single-blog .blog-article-block .blog-article-wrap,
main.blog .archive-blog .blog-article-block .blog-article-wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 1rem;
  width: 70%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-article-wrap,
  main.blog .archive-blog .blog-article-block .blog-article-wrap {
    gap: 1rem 0.5rem;
    width: 100%;
    -ms-grid-columns: 1fr 0.5rem 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
main.blog .single-blog .blog-article-block .blog-article-wrap .blog-article-item,
main.blog .archive-blog .blog-article-block .blog-article-wrap .blog-article-item {
  -webkit-filter: drop-shadow(0 0 2rem rgb(224, 228, 234));
          filter: drop-shadow(0 0 2rem rgb(224, 228, 234));
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-article-wrap .blog-article-item,
  main.blog .archive-blog .blog-article-block .blog-article-wrap .blog-article-item {
    -webkit-filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
            filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
  }
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap {
  width: 100%;
  margin-top: 3rem;
  grid-column: 1/-1;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap,
  main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap {
    margin-top: 1rem;
  }
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .pagination-wrap .screen-reader-text,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .pagination-wrap .screen-reader-text {
  display: none;
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li {
  margin: 0 0.2rem;
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers {
  width: 3rem;
  height: 3rem;
  font-size: 0.9rem;
  font-family: "Outfit", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  overflow: hidden;
  -webkit-box-shadow: 0 0.5rem 1.5rem 0 rgb(215, 227, 239);
          box-shadow: 0 0.5rem 1.5rem 0 rgb(215, 227, 239);
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers,
  main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers {
    width: 2rem;
    height: 2rem;
    font-size: 0.75rem;
  }
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.current,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.current {
  background-color: #0A1D2E;
  color: #fff;
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.dots,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.dots {
  border: none;
  background-color: transparent;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 900;
  -webkit-box-shadow: none;
          box-shadow: none;
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.next, main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.prev,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.next,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers.prev {
  background-color: #0A1D2E;
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers span.arrow,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers span.arrow {
  width: 0.4rem;
  height: 0.4rem;
  border-right: 0.1rem solid #fff;
  border-bottom: 0.1rem solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
main.blog .single-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers span.arrow.prev,
main.blog .archive-blog .blog-article-block .blog-article-wrap .pagination-wrap nav.navigation .nav-links ul.page-numbers li .page-numbers span.arrow.prev {
  -webkit-transform: scale(-1, 1) rotate(-45deg);
          transform: scale(-1, 1) rotate(-45deg);
}
main.blog .single-blog .blog-article-block .blog-side,
main.blog .archive-blog .blog-article-block .blog-side {
  width: 25%;
  margin-top: 2rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side,
  main.blog .archive-blog .blog-article-block .blog-side {
    width: 100%;
    margin: 4rem 0 0;
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont {
  background-color: #fff;
  border-radius: 1rem;
  position: relative;
  padding: 3rem 1rem 1rem;
  margin-bottom: 5rem;
  -webkit-filter: drop-shadow(0 0 2rem rgb(224, 228, 234));
          filter: drop-shadow(0 0 2rem rgb(224, 228, 234));
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont {
    margin-bottom: 4rem;
    padding: 2.5rem 1rem 1rem;
    -webkit-filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
            filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont:last-of-type,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont:last-of-type {
  margin-bottom: 0;
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont h3,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont h3 {
  color: #fff;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: -2rem;
  border-radius: 4rem;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont h3,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont h3 {
    top: -1.6rem;
    height: 3.5rem;
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont h3.cate,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont h3.cate {
  background-color: #00A7E7;
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont h3.popular,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont h3.popular {
  background-color: #2D55D8;
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li {
  border-bottom: 0.1rem solid #E2E2E2;
  text-transform: uppercase;
  font-weight: 700;
  font-family: "Outfit", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li:last-of-type,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li:last-of-type {
  border-bottom: none;
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li a,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li a {
  padding: 1rem 0;
  width: 100%;
  height: 100%;
  display: block;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li a,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li a {
    padding: 0.7rem 0;
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li.active a,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont ul.cate-list li.active a {
  color: #00A7E7;
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list {
  padding: 1rem 0 0;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list {
    gap: 0.8rem 0.5rem;
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 0.5rem 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item {
  border-bottom: 0.1rem solid #E2E2E2;
  border-radius: 0;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item {
    padding-bottom: 0.5rem;
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item:last-of-type,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item.is-last,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item.is-last {
    border-bottom: none;
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-thumb,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-thumb {
  border-radius: 1rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-thumb,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-thumb {
    border-radius: 0.5rem;
  }
}
main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-info,
main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-info {
  padding: 1rem 0;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-info,
  main.blog .archive-blog .blog-article-block .blog-side .blog-side-cont .popular-list .blog-article-item .blog-info {
    padding: 0.5rem 0;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content,
main.blog .archive-blog .blog-article-block .single-blog-content {
  width: 70%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 1rem;
  background-color: #fff;
  -webkit-filter: drop-shadow(0 0 2rem rgb(224, 228, 234));
          filter: drop-shadow(0 0 2rem rgb(224, 228, 234));
  will-change: filter;
  padding: 3rem 2rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content,
  main.blog .archive-blog .blog-article-block .single-blog-content {
    padding: 2rem 1rem;
    width: 100%;
    border-radius: 0.5rem;
    -webkit-filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
            filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner {
  width: 100%;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info {
  margin: 0;
  font-size: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info {
    font-size: 0.7rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info span.blog-cate,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info span.blog-cate {
  background-color: #0A1D2E;
  color: #fff;
  padding: 0.4rem 0.5rem 0.3rem;
  border-radius: 2rem;
  text-transform: uppercase;
  line-height: 1;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info span.blog-cate,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info span.blog-cate {
    padding: 0.2rem 0.4rem 0.2rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info span.date,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .blog-info span.date {
  color: #0A1D2E;
  margin-left: 1rem;
  position: relative;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h1,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h1 {
  font-size: 2rem;
  font-weight: 700;
  margin: 1rem 0 1.5rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h1,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h1 {
    font-size: 1.3rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.category li,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.category li {
  margin: 0 0.5rem 0.2rem 0;
  height: 1.8rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.category li,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.category li {
    margin: 0 0.2rem 0.2rem 0;
    height: inherit;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: 100%;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword li,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword li {
  height: 1.8rem;
  margin: 0 0.5rem 0.2rem 0;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword li,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .info ul.keyword li {
    margin: 0 0.2rem 0.2rem 0;
    height: inherit;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .thumbnail,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .thumbnail {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  margin: 0 0 2rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .thumbnail,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .thumbnail {
    border-radius: 0.5rem;
    margin: 0 0 1rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .thumbnail img,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .thumbnail img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  margin: 0;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h2,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h2 {
  padding: 0 0 0 1.5rem;
  font-size: 2rem;
  position: relative;
  margin: 4rem 0 2rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h2,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h2 {
    font-size: 1.3rem;
    margin: 3rem 0 1.5rem;
    padding: 0 0 0 1rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h2:before,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.3rem;
  height: 1.8rem;
  background-color: #00A7E7;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h2:before,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h2:before {
    width: 0.2rem;
    height: 1.2rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h3,
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h4,
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h5,
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h6,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h3,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h4,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h5,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h6 {
  font-size: 1.6rem;
  margin: 4rem 0 2rem;
  border-bottom: 0.1rem solid #E2E2E2;
  padding: 0 0 0.5rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h3,
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h4,
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h5,
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner h6,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h3,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h4,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h5,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner h6 {
    font-size: 1rem;
    margin: 3rem 0 1.5rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner a,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner a {
  color: #00A7E7;
  text-decoration: underline;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner a.wp-block-button__link.wp-element-button,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner a.wp-block-button__link.wp-element-button {
  background-color: #00A7E7;
  color: #fff;
  text-decoration: none;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner p,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner p {
  line-height: 1.8;
  max-width: 100%;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner p mark,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner p mark {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner div,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner div {
  max-width: 100%;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-table,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-table {
  margin: 2rem 0 2rem;
  border-collapse: separate;
  border-spacing: 0;
  background-color: #f2f2f2;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-table,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-table {
    margin: 2rem 0;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-media-text,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-media-text {
  margin: 3rem 0 2rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-media-text,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-media-text {
    margin: 1.5rem 0;
  }
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-media-text__content,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-media-text__content {
    padding: 3% 0 0;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image {
  max-width: 100%;
  margin: 3rem 0 2rem;
  border-radius: 1rem;
  overflow: hidden;
  width: auto;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image {
    margin: 1.5rem 0;
    border-radius: 0.5rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image img,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: auto;
  max-width: 100%;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image > a,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner .wp-block-image > a {
  width: 100%;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner img,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner img {
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 100%;
  height: auto;
  width: auto;
  margin: 3rem 0 2rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner img,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner img {
    margin: 1.5rem 0;
    border-radius: 0.5rem;
  }
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner ul.wp-block-list li,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner ul.wp-block-list li {
  position: relative;
  padding: 0 0 0 1rem;
}
main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner ul.wp-block-list li:before,
main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner ul.wp-block-list li:before {
  content: "●";
  color: #00A7E7;
  font-size: 0.6rem;
  margin-right: 0.5rem;
  position: absolute;
  left: 0;
  top: 0.2rem;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content .single-blog-inner ul.wp-block-list li:before,
  main.blog .archive-blog .blog-article-block .single-blog-content .single-blog-inner ul.wp-block-list li:before {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}
main.blog .single-blog .blog-article-block .single-blog-content a.contact-btn,
main.blog .archive-blog .blog-article-block .single-blog-content a.contact-btn {
  width: 18rem;
  margin: 4rem auto 0;
  -webkit-filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
          filter: drop-shadow(0 0 1rem rgb(224, 228, 234));
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main.blog .single-blog .blog-article-block .single-blog-content a.contact-btn,
  main.blog .archive-blog .blog-article-block .single-blog-content a.contact-btn {
    width: 18rem;
    margin: 3rem auto 0;
    -webkit-filter: drop-shadow(0 0 0.5rem rgb(224, 228, 234));
            filter: drop-shadow(0 0 0.5rem rgb(224, 228, 234));
  }
}

main#page.page-works #works {
  background-color: #F6F6F6;
  position: relative;
  overflow: hidden;
}
main#page.page-works #works .deco-wrap {
  width: 100%;
  height: 100%;
}
main#page.page-works #works .deco-wrap .deco.triangle._01 {
  left: 3rem;
  right: auto;
  top: 25rem;
  bottom: auto;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .deco-wrap .deco.triangle._01 {
    width: 2rem;
    height: 2rem;
    top: 10rem;
    left: 1rem;
  }
}
main#page.page-works #works .deco-wrap .deco.triangle._02 {
  left: auto;
  right: 5rem;
  top: 16rem;
  bottom: auto;
  width: 5rem;
  height: 5rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .deco-wrap .deco.triangle._02 {
    width: 3rem;
    height: 3rem;
    top: 15rem;
    right: 1rem;
  }
}
main#page.page-works #works .deco-wrap .deco.triangle._03 {
  left: auto;
  right: 15rem;
  top: 45rem;
  bottom: auto;
  width: 7rem;
  height: 7rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .deco-wrap .deco.triangle._03 {
    bottom: 5rem;
    width: 1.5rem;
    height: 1.5rem;
    left: 1rem;
  }
}
main#page.page-works #works .works-block {
  border-radius: 10rem 10rem 0 0;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(0.4rem);
  will-change: filter;
  padding: 6rem 10rem 6rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width:769.1px) and (max-width:1024.9px) {
  main#page.page-works #works .works-block {
    padding: 4rem 5rem 6rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block {
    padding: 3rem 1rem;
    border-radius: 2rem 2rem 0 0;
    backdrop-filter: blur(0.2rem);
  }
}
main#page.page-works #works .works-block p.head {
  text-align: center;
  font-weight: 700;
  line-height: 2.4;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block p.head {
    line-height: 1.8;
  }
}
main#page.page-works #works .works-block .bnr {
  width: 90%;
  margin: 2rem auto 8rem;
  -webkit-filter: drop-shadow(0 0.5rem 2rem rgba(0, 0, 0, 0.08));
          filter: drop-shadow(0 0.5rem 2rem rgba(0, 0, 0, 0.08));
  will-change: filter;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .bnr {
    width: 100%;
    margin: 2rem auto 6rem;
    -webkit-filter: drop-shadow(0 0.2rem 1rem rgba(0, 0, 0, 0.08));
            filter: drop-shadow(0 0.2rem 1rem rgba(0, 0, 0, 0.08));
  }
}
main#page.page-works #works .works-block .bnr a {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
main#page.page-works #works .works-block .bnr a:hover {
  opacity: 1;
  -webkit-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
}
main#page.page-works #works .works-block .works-title {
  position: relative;
  text-align: center;
}
main#page.page-works #works .works-block .works-title h2 {
  font-weight: 700;
  font-size: 1.6rem;
  font-family: "LINE Seed JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 1.6;
  margin: 0 auto 3rem;
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-title h2 {
    font-size: 1rem;
    text-align: center;
    margin: 0 auto 2rem;
    white-space: nowrap;
  }
}
main#page.page-works #works .works-block .works-title h2:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -3rem;
  width: 2rem;
  height: 2rem;
  background: url("common/img/parts/title_icon.png") no-repeat center/contain;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-title h2:before {
    top: -1.8rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list {
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  display: -ms-grid;
  display: grid;
  margin-top: 7rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list {
    text-align: left;
    gap: 3rem 0.5rem;
    margin-top: 4rem;
    -ms-grid-columns: 1fr 0.5rem 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item {
  border-radius: 3rem;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(0.2rem);
  text-align: left;
  padding: 2rem 1.5rem 2rem;
  will-change: filter;
  -webkit-box-shadow: 0 0 2rem 0 rgb(212, 226, 240);
          box-shadow: 0 0 2rem 0 rgb(212, 226, 240);
  position: relative;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item {
    padding: 0.7rem 0.7rem;
    border-radius: 1rem;
    padding: 1.8rem 0.5rem 1rem;
    -webkit-box-shadow: 0 0 1rem 0 rgb(212, 226, 240);
            box-shadow: 0 0 1rem 0 rgb(212, 226, 240);
  }
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item img.icon {
  position: absolute;
  left: 0;
  right: 0;
  top: -5rem;
  margin: auto;
  width: 7rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item img.icon {
    width: 4.5rem;
    top: -2.5rem;
    bottom: auto;
    display: block;
    height: auto;
  }
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item img.icon.illust {
  width: 8rem;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item img.icon.illust {
    width: 4.5rem;
  }
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p {
    text-align: left;
    font-size: 0.7rem;
  }
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head span.num {
  margin: 0 0 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head span.num {
    margin: 0 0 0 0.6rem;
  }
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head span.num:before {
  display: block;
  content: "";
  width: 1rem;
  height: 0.1rem;
  margin: 0 1rem 0 0;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head span.num:before {
    width: 0.7rem;
    margin: 0 0.6rem 0 0;
  }
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.graphic {
  color: #F9C700;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.graphic span.num:before {
  background-color: #F9C700;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.web {
  color: #00A7E7;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.web span.num:before {
  background-color: #00A7E7;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.movie {
  color: #3BD039;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.movie span.num:before {
  background-color: #3BD039;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.illust {
  color: #39D0C4;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.head.illust span.num:before {
  background-color: #39D0C4;
}
main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.name {
  font-size: 1.3rem;
  font-weight: 900;
  margin-bottom: 1.5rem;
  white-space: nowrap;
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap ul.works-list li.works-list-item p.name {
    font-size: 0.75rem;
    margin-bottom: 0.5rem;
  }
}
main#page.page-works #works .works-block .works-list-wrap a.contact-btn {
  width: 26rem;
  margin: 4rem auto 0;
  -webkit-box-shadow: 0 0 2rem 0 rgba(115, 150, 194, 0.2);
          box-shadow: 0 0 2rem 0 rgba(115, 150, 194, 0.2);
}
@media screen and (max-width: 768.9px) {
  main#page.page-works #works .works-block .works-list-wrap a.contact-btn {
    width: 18rem;
    margin: 2rem auto 0;
    -webkit-box-shadow: 0 0 1rem 0 rgba(115, 150, 194, 0.2);
            box-shadow: 0 0 1rem 0 rgba(115, 150, 194, 0.2);
  }
}