@charset "UTF-8";

@-webkit-keyframes rotate {
  0% {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

:root {
  --color-white: #fff;
  --color-black: #000000;
  --color-red: #D42019;
  --color-red-hover: #FF2600;
  --color-purple: #AE3E8D;
  --color-purple-hover: #BF0087;
  --color-blue: #1C73BD;
  --color-gray: #999999;
  --color-gray-light: #F2F2F2;
  --color-gray-light2: #FAFAFA;
  --color-gray-font: #808080;
  --color-gray-link: #5C5C5C;
  --color-gray-line: #DBDBDB;
  --color-gray-bg: #F5F5F5;
  --color-border: #D1D1D1;
  --color-btn: var(--color-white);
  --color-btn-hover: var(--color-black);
  --color-btn-border: var(--color-border);
  --color-active: var(--color-black);
  --text-deco: none;
  --color-text-line: transparent;
  --line-gray: 0.0625rem solid var(--color-gray-line);
  --image-transform: scale(1, 1);
  --max-width: 75rem;
  --color-accent: #E90000;
  --color-accent-hover: #000000;
  --color-accent-bg: #F5E9F1;
  --transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
  --opacity: 0
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline
}

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

body {
  font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  position: relative;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  line-height: 2
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: none
}

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

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(""), url(./assets/fonts/NotoSansJP-Regular.woff2) format("woff2"), url(./assets/fonts/NotoSansJP-Regular.woff) format("woff")
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local(""), url(./assets/fonts/NotoSansJP-Bold.woff2) format("woff2"), url(./assets/fonts/NotoSansJP-Bold.woff) format("woff")
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(""), url(./assets/fonts/NotoSansJP-Medium.woff2) format("woff2"), url(./assets/fonts/NotoSansJP-Medium.woff) format("woff")
}

@font-face {
  font-family: "icofont";
  src: local(""), url(assets/fonts/icofont.woff) format("woff"), url(assets/fonts/icofont.eot#iefix) format("embedded-opentype"), url(assets/fonts/icofont.svg#icofont) format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}

.loader {
  position: fixed;
  z-index: 9999;
  background: white;
  width: 100%;
  height: 100%;
  display: none;
  justify-content: center;
  align-items: center;
}
.loader.on{
  display: flex;

}
.loader img {
  width: 100px;
  height: auto;
  animation: heartbeat 1.2s infinite ease-in-out;
  transform-origin: center center;
}

@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}

form.form span.value > span {
  display: flex;
  align-items: center;
}

html {
  height: 100%
}

body.preload * {
  transition: none !important
}

a {
  color: var(--color-accent);
  text-decoration: none;
  pointer-events: all;
  word-break: break-all;
  text-underline-offset: .2em
}

a:not([class])[target=_blank]::after {
  display: inline-block;
  position: relative;
  content: "\e904";
  top: .025em;
  font-family: "icofont";
  margin: 0 .375rem 0 .25rem;
  font-size: var(--icon-size);
  color: currentColor;
  line-height: 1
}

img {
  display: block;
  max-width: 100%;
  height: auto
}

strong {
  font-weight: 600
}

*,
::after,
::before {
  box-sizing: border-box
}

:focus:not(:focus-visible) {
  outline: 0
}

button {
  border: 0;
  background-color: transparent
}

.l-header {
  width: 100%;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 800;
  box-sizing: border-box;
  background: var(--color-header-bg, var(--color-white));
  -webkit-transform: translateZ(0)
}

.l-header.-fixed {
  background: var(--color-white)
}

.l-header.-type_b {
  position: static;
  transform: none;
  -webkit-transform: none
}

.l-header.-home {
  background-color: transparent
}

.l-header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center
}

.l-main {
  flex: 1
}

.l-main.-home,
.l-main.-type_b {
  padding-top: 0
}

.l-information {
  background-color: var(--color-white);
  position: relative
}

.l-information__inner {
  position: relative;
  z-index: 100;
  width: 100%;
  margin: 0 auto
}

.l-cta {
  min-height: 25rem;
  position: relative;
  overflow: hidden;
  background: #182456
}

.l-cta__link {
  --color-active: var(--color-white);
  --color-arrow: #182456;
  --opacity: 1;
  position: relative;
  z-index: 100;
  display: flex;
  flex-direction: column;
  font-weight: 600;
  color: var(--color-active)
}

.l-cta__link.-contact {
  grid-area: contact
}

.l-cta__link.-download,
.l-cta__link.-newsletter {
  grid-area: download;
  border-top: .0625rem solid rgba(255, 255, 255, .15)
}

.l-cta__link.-newsletter {
  grid-area: newsletter
}

.l-cta__title {
  position: relative;
  font-size: var(--title-font-size);
  letter-spacing: .01em;
  line-height: 1.4;
  display: block
}

.l-cta__arrow,
.l-cta__text,
.l-cta__title {
  opacity: var(--opacity);
  transition: opacity .5s cubic-bezier(.19, 1, .22, 1)
}

.l-cta__text {
  font-size: var(--text-font-size);
  line-height: 1.75;
  letter-spacing: .075em;
  font-weight: 500
}

.l-cta__arrow {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  position: absolute;
  top: var(--icon-position);
  left: 0;
  display: block;
  line-height: 1;
  font-family: "icofont";
  font-weight: 100
}

.l-cta__arrow::after,
.l-cta__arrow::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\e903";
  color: var(--color-arrow)
}

.l-cta__arrow::before {
  content: "\e902";
  color: var(--color-active)
}

.l-cta__picture {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%
}

.c-sns-button>img,
.l-cta__bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.l-container {
  --color-header-bg: var(--color-white)
}

.l-container.-home {
  --color-header-bg: transparent
}

.l-cta-recruit {
  position: relative;
  --max-width: 75rem;
  width: 100%;
  box-sizing: border-box;
  padding: var(--padding);
  --padding: var(--padding-y) var(--padding-x)
}

.l-cta-recruit__bg,
.l-cta-recruit__bg::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

.l-cta-recruit__bg {
  overflow: hidden
}

.l-cta-recruit__bg::before {
  z-index: 1;
  display: block;
  content: "";
  background-color: var(--color-black);
  opacity: .75
}

.l-cta-recruit__bg-image {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 130%
}

.l-cta-recruit__inner {
  position: relative;
  z-index: 100;
  width: 100%;
  margin: 0 auto
}

.l-cta-recruit__heading,
.l-cta-recruit__sub-heading {
  color: var(--color-white);
  font-weight: 600;
  font-size: var(--font-size)
}

.l-cta-recruit__sub-heading {
  display: block;
  font-family: itc-avant-garde-gothic-pro, YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  line-height: 1
}

.l-cta-recruit__heading {
  line-height: var(--line-height);
  -webkit-text-decoration: var(--text-deco);
  text-decoration: var(--text-deco);
  letter-spacing: .01em;
  display: flex;
  --line-height: 1.4
}

.c-arrow {
  width: var(--icon-size);
  height: var(--icon-size);
  position: relative;
  top: .05em
}

.c-arrow.-pulldown {
  transform: rotate(90deg)
}

.c-button {
  --color-icon: var(--color-white);
  --btn-height: 4rem;
  --arrow-size: 1.125rem;
  --font-size: var(--text-font-size);
  --color-btn: var(--color-accent);
  --color-btn-hover: var(--color-accent-hover);
  --padding: 0.625rem 2.375rem 0.6875rem;
  position: relative;
  display: inline-flex;
  box-sizing: border-box;
  min-height: var(--btn-height);
  justify-content: center;
  align-items: center;
  border-radius: calc(var(--btn-height)/2);
  padding: var(--padding);
  background-color: var(--color-btn);
  color: var(--color-white);
  transition: background-color .5s cubic-bezier(.19, 1, .22, 1);
  font-weight: 700;
  font-size: var(--font-size);
  line-height: 1
}

.c-button::after,
.c-date {
  display: inline-block;
  line-height: 1
}

.c-button::after {
  position: absolute;
  font-weight: 100;
  font-family: "icofont";
  content: "\e905";
  font-size: var(--arrow-size);
  top: calc(50% + .06em);
  right: 1.25rem;
  transform: translate(0, -50%) rotate(-90deg);
  color: var(--color-icon)
}

.c-button.-skip {
  --color-btn: var(--color-accent-hover);
  --color-btn-hover: var(--color-accent)
}

.c-button.-skip::after {
  right: 1rem
}

.c-button.-size_xs,
.c-button.-skip {
  --arrow-size: 0.75rem
}

.c-button.-size_xs::after {
  right: .5rem
}

.c-button.-size_s {
  --arrow-size: 0.875rem
}

.c-button.-accent,
.c-button.-outline {
  --color-btn: var(--color-white);
  border: .0625rem solid var(--color-btn-border)
}

.c-button.-outline {
  --color-icon: var(--color-gray);
  color: var(--color-black)
}

.c-button.-accent {
  --color-icon: var(--color-accent);
  --color-btn-border: var(--color-accent);
  color: var(--color-accent)
}

.c-button.-down::after {
  transform: translate(0, -50%)
}

.c-button[target=_blank]::after {
  font-size: .875rem;
  content: "\e904";
  transform: translate(0, -50%);
  margin-top: .01em
}

.c-button.-white {
  --color-icon: var(--color-gray);
  --color-btn: var(--color-white);
  color: var(--color-black)
}

.c-date {
  --padding-size: 0.5rem;
  --position-y: 0;
  position: relative;
  color: var(--color-gray-font);
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  letter-spacing: .05em;
  font-size: var(--font-size);
  white-space: nowrap
}

.c-date.-size_16 {
  --font-size: 1rem
}

.c-date.-event-l,
.c-date.-top-lvl-3 {
  top: .15em
}

.c-date.-news {
  top: .1em
}

.c-date.-cta {
  top: .12em
}

.c-date.-border {
  padding-right: var(--padding-size);
  margin-right: var(--padding-size);
  position: relative
}

.c-date.-border::after,
.c-sentence.-book-page+.c-sentence.-book-page::before {
  position: absolute;
  content: "";
  display: block;
  width: .0625rem;
  background-color: var(--color-gray-line)
}

.c-date.-border::after {
  right: 0;
  top: var(--position-y)
}

.c-sns-button {
  --icon-size: 2.5rem;
  display: block;
  padding: 0;
  margin: 0;
  width: var(--icon-size);
  height: var(--icon-size);
  overflow: hidden;
  border-radius: 50%;
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  cursor: pointer
}

.c-sns-button>img {
  -o-object-fit: contain;
  object-fit: contain
}

.c-sns-button.-size_s {
  --icon-size: 2.25rem
}

.c-sns-button.-size_l {
  --icon-size: 3rem
}

.c-sns-button+.c-sns-button {
  margin-left: .5rem
}

.c-sentence {
  font-size: var(--text-font-size);
  color: var(--color-active);
  -webkit-text-decoration: var(--text-deco);
  text-decoration: var(--text-deco);
  line-height: var(--line-height);
  letter-spacing: .075em;
  display: block;
  transition: var(--transition);
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

.c-sentence.-size_s {
  --line-height: 1.75
}

.c-sentence.-size_14 {
  --text-font-size: 0.875rem
}

.c-sentence.-size_16 {
  --text-font-size: 1rem
}

.c-sentence.-size_18 {
  --text-font-size: 1.125rem
}

.c-sentence.-size_20 {
  --text-font-size: 1.25rem
}

.c-sentence.-white {
  --color-active: var(--color-white)
}

.c-sentence.-black {
  --color-active: var(--color-black)
}

.c-sentence.-gray {
  --color-active: var(--color-gray-link)
}

.c-sentence.-light-gray {
  --color-active: var(--color-gray-font)
}

.c-sentence.-accent {
  --color-active: var(--color-accent)
}

.c-sentence.-reading_lvl-1 {
  --line-height: 1
}

.c-sentence.-reading_lvl-2 {
  --line-height: 1.5
}

.c-sentence.-reading_lvl-3 {
  --line-height: 1.75
}

.c-sentence.-reading_lvl-4 {
  --line-height: 2
}

.c-sentence.-bold {
  font-weight: 600;
  font-feature-settings: "palt"
}

.c-sentence.-underline {
  --text-deco: underline
}

.c-sentence.-no-line {
  --text-deco: none
}

.c-sentence.-inline-block {
  display: inline-block
}

.c-sentence.-nowrap,
.p-flex-full dt {
  white-space: nowrap
}

.c-sentence.-center {
  text-align: center
}

.c-sentence.-product {
  font-weight: 600
}

.c-sentence.-home {
  --line-height: 1.6
}

.c-sentence.-book-page {
  line-height: 1
}

.c-sentence.-book-page+.c-sentence.-book-page {
  position: relative;
  margin-left: .625rem;
  padding-left: .625rem
}

.c-sentence.-book-page+.c-sentence.-book-page::before {
  left: 0;
  top: .1em;
  height: 1rem
}

.c-sentence.-recruit-banner,
.c-sentence.-recruit-top {
  --line-height: 1.75
}

.c-sentence.-error {
  --line-height: 1.75;
  text-align: center
}

.c-sentence.-caution {
  --line-height: 1.5
}

.c-heading,
.c-sub-heading {
  font-weight: 600;
  font-size: var(--font-size)
}

.c-heading {
  --font-size: 3rem;
  --line-height: 1.25;
  line-height: var(--line-height);
  color: var(--color-active);
  -webkit-text-decoration: var(--text-deco);
  text-decoration: var(--text-deco);
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line);
  transition: all 1s cubic-bezier(.19, 1, .22, 1);
  letter-spacing: .01em;
  display: flex
}

.c-heading.-leading_14,
.c-heading.-lvl_3,
.c-heading.-lvl_35,
.c-heading.-lvl_4,
.c-heading.-lvl_5,
.c-heading.-lvl_6 {
  --line-height: 1.4
}

.c-heading.-leading_15 {
  --line-height: 1.5
}

.c-heading.-gray {
  --color-active: var(--color-gray)
}

.c-sub-heading {
  display: block;
  font-family: itc-avant-garde-gothic-pro, YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: var(--color-accent);
  line-height: 1;
  letter-spacing: .03em
}

.c-sub-heading.-center {
  text-align: center
}

.c-link__arrow::after,
.c-sub-heading.-white {
  color: var(--color-white)
}

.c-link,
.c-link.-header {
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

.c-link {
  --icon-bg: var(--icon-color, var(--color-accent));
  --icon-size: 1.25rem;
  display: inline-block;
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-active, var(--color-black));
  text-decoration: none;
  font-size: var(--text-font-size);
  padding-left: 1.75rem;
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .c-link {
    text-decoration: underline
  }
}

.c-link.-header {
  --position-y: 0.25em;
  font-size: 1rem;
  padding-left: 1.5rem
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .c-link.-header {
    text-decoration: underline
  }
}

.c-link.-header::before {
  content: "\e905";
  position: absolute;
  font-weight: 100;
  left: 0;
  top: var(--position-y);
  font-family: "icofont";
  transform: rotate(-90deg);
  line-height: 1;
  color: var(--icon-bg);
  font-size: 1rem
}

.c-link.-size_xl {
  --icon-size: 1.5rem;
  padding-left: 2.25rem
}

.c-link.-cta {
  --icon-bg: var(--color-white);
  color: var(--color-white);
  transition: opacity 1s cubic-bezier(.19, 1, .22, 1)
}

.c-link.-cta .c-link__arrow::after {
  color: #525252
}

.c-link.-content {
  font-weight: 500;
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .25em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .c-link.-content {
    text-decoration: underline
  }
}

.c-link__arrow,
.c-link__blank {
  position: absolute;
  left: .0625rem;
  top: var(--position-y);
  display: inline-block
}

.c-link__arrow {
  font-size: var(--icon-size);
  line-height: 1;
  font-family: "icofont"
}

.c-link__arrow::after {
  font-weight: 100;
  position: absolute;
  top: 0;
  left: 0;
  content: "\e903"
}

.c-link__arrow::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\e902";
  color: var(--icon-bg);
  transition: color .5s cubic-bezier(.19, 1, .22, 1)
}

.c-link__blank {
  width: var(--icon-size);
  height: var(--icon-size);
  background-image: url(assets/images/common/ico-blank.svg);
  background-size: .5rem .5rem;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: var(--icon-bg);
  border-radius: 50%;
  transition: background-color .5s cubic-bezier(.19, 1, .22, 1)
}

.c-list-anchor {
  --font-weight: 600;
  --color-icon: var(--color-accent);
  --color-active: var(--color-black)
}

.c-list-anchor.-full {
  --font-weight: 400
}

.c-list-anchor.-white {
  --color-icon: var(--color-white);
  --color-active: var(--color-white);
  --line-gray: 0.0625rem solid rgba(255, 255, 255, 0.5)
}

.c-list-anchor__inner {
  display: grid
}

.c-list-anchor__inner.-members,
.c-list-anchor__inner.-service {
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem
}

.c-list-anchor__link {
  position: relative;
  color: var(--color-active);
  display: block;
  border-bottom: var(--line-gray);
  font-weight: var(--font-weight);
  font-size: var(--text-font-size);
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  padding: var(--gap-link) 1.75rem var(--gap-link) 0;
  line-height: 1.4
}

.c-list-anchor__link.-auto {
  min-height: 100%
}

.c-list-anchor__link::after,
.c-list-check__item::before {
  position: absolute;
  line-height: 1;
  color: var(--color-icon);
  font-family: "icofont"
}

.c-list-anchor__link::after {
  content: "\e905";
  font-size: 1rem;
  right: 0;
  font-weight: 100
}

.c-list-check__item {
  position: relative;
  color: var(--color-black);
  line-height: 1.5
}

.c-list-check__item::before {
  top: .25em;
  left: 0;
  font-size: 1.25rem;
  content: "\e900"
}

.c-list-icon__item {
  position: relative;
  font-size: var(--text-font-size)
}

.c-list-icon__item:last-child {
  margin-bottom: 0
}

.c-list-icon__item::before {
  color: var(--color-accent);
  font-family: "icofont";
  content: "\e901";
  font-size: 1.25rem;
  line-height: 1;
  position: absolute;
  left: 0
}

.c-overlay {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: #222;
  opacity: .65
}

.c-icon,
.c-tag {
  position: relative;
  display: inline-block
}

.c-tag {
  color: var(--color-gray-font);
  letter-spacing: .025em;
  line-height: 1.45
}

.c-tag.-reading-lvl-1 {
  line-height: 1.5
}

.c-icon {
  --icon-size: 0.875rem;
  width: var(--icon-size);
  height: var(--icon-size)
}

.c-icon.-size_l {
  --icon-size: 1.25rem
}

.c-icon.-size_xl {
  --icon-size: 1.5rem
}

.c-icon.-top-lvl-1 {
  top: .05em
}

.c-icon.-top-lvl-2 {
  top: .1em
}

.c-icon.-top-lvl-25 {
  top: .15em
}

.c-icon.-blank,
.c-icon.-top-lvl-3 {
  top: .2em
}

.c-icon.-blank::before,
.c-icon.-blank_s::before {
  content: "";
  display: block;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  background-color: var(--icon-color);
  background-image: url(assets/images/common/ico-blank.svg);
  background-position: center center;
  background-repeat: no-repeat
}

.c-icon.-blank::before {
  font-weight: 100;
  line-height: 1;
  background-size: .625rem .625rem
}

.c-icon.-blank_s::before {
  --icon-size: 1.25rem;
  background-size: .5rem .5rem
}

.c-icon.-arrow::before,
.c-icon.-inline-blank::before {
  font-weight: 100;
  content: "\e904";
  font-family: "icofont";
  font-size: var(--icon-size);
  color: var(--icon-color)
}

.c-icon.-arrow {
  --icon-size: 1rem
}

.c-icon.-arrow::before {
  display: inline-block;
  content: "\e905";
  line-height: 1
}

.c-icon.-rotate-90::before {
  transform: rotate(90deg)
}

.c-icon.-rotate-n90::before {
  transform: rotate(-90deg)
}

.c-icon.-page-head {
  min-width: var(--icon-size)
}

.c-icon__image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.c-image {
  display: block;
  width: 100%
}

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

.c-image.-border,
.f-form input,
.f-form textarea {
  border: .0625rem solid var(--color-gray-line)
}

.c-image.-border-light {
  border: .0625rem solid var(--color-gray-light)
}

.c-image.-error {
  margin: 0 auto
}

.c-pagination {
  display: flex;
  justify-content: center
}

.c-pagination__item {
  margin: 0 .25rem
}

.c-pagination__item.-next,
.c-pagination__item.-prev {
  margin: 0 1rem
}

.c-like-button .wpulike-default button.wp_ulike_btn,
.c-pagination__link {
  line-height: 1;
  transition: background-color .5s cubic-bezier(.19, 1, .22, 1);
  display: flex;
  justify-content: center;
  align-items: center
}

.c-pagination__controller,
.c-pagination__link {
  --color-active: var(--color-accent);
  color: var(--color-active)
}

.c-pagination__link {
  --color-bg: var(--color-accent-bg);
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--color-bg);
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  padding-top: .3125rem
}

.c-pagination__link.-active {
  --color-active: var(--color-white);
  --color-bg: var(--color-accent)
}

.c-pagination__controller {
  display: inline-block;
  padding-top: .25rem;
  font-weight: 600;
  transition: color .5s cubic-bezier(.19, 1, .22, 1)
}

.c-inline-link {
  --color-icon: var(--color-accent);
  --color-link: var(--color-black);
  color: var(--color-link);
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .c-inline-link {
    text-decoration: underline
  }
}

.c-inline-link.-accent {
  --color-link: var(--color-accent)
}

.c-inline-link.-size_s {
  font-size: .875rem
}

.c-inline-link.-size_20 {
  font-size: 1.25rem;
  line-height: 1.6
}

.c-inline-link.-bold {
  font-weight: 600
}

.c-inline-link.-card,
.c-inline-link.-line {
  -webkit-text-decoration-color: currentColor;
  text-decoration-color: currentColor
}

.c-inline-link.-card {
  --color-link: var(--color-active)
}

.c-inline-link.-none-event {
  pointer-events: none;
  text-decoration: none
}

.c-inline-link[target=_blank]::after {
  font-weight: 100;
  display: inline-block;
  position: relative;
  content: "\e904";
  font-family: "icofont";
  margin: 0 .375rem;
  font-size: var(--icon-size);
  color: currentColor;
  line-height: 1;
  transform: rotate(.003deg);
  color: var(--color-icon);
  transition: all .5 cubic-bezier(.19, 1, .22, 1)
}

.c-like-button .wpulike-default {
  padding: 0
}

.c-like-button .wpulike-default .count-box {
  display: none !important
}

.c-like-button .wp_ulike_general_class {
  --color-bg: var(--color-white);
  --color-active: var(--color-accent);
  transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.c-like-button .wp_ulike_general_class.wp_ulike_is_liked {
  --color-bg: var(--color-accent);
  --color-active: var(--color-white)
}

.c-like-button .wp_ulike_general_class.wp_ulike_is_loading {
  opacity: .3
}

.c-like-button .wp_ulike_general_class.wp_ulike_is_loading button.wp_ulike_btn {
  background-color: var(--color-bg) !important;
  background-image: none !important
}

.c-like-button .wp_ulike_general_class.wp_ulike_is_loading button.wp_ulike_btn span {
  visibility: visible
}

.c-like-button .wpulike-default button.wp_ulike_btn {
  padding: .625rem 1.625rem;
  font-weight: 600;
  font-size: 1.125rem;
  min-height: 3rem;
  border-radius: 1.5rem;
  min-width: 12rem;
  background-color: var(--color-bg) !important;
  color: var(--color-active) !important;
  font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  border: .0625rem solid var(--color-accent)
}

.c-like-button .wpulike-default button.wp_ulike_btn span {
  position: relative;
  display: flex;
  align-items: center
}

.c-like-button .wpulike-default button.wp_ulike_btn span::before {
  font-weight: 100;
  content: "\e906";
  color: currentColor;
  font-family: "icofont";
  line-height: 1;
  font-size: 1.5rem;
  display: inline-block;
  margin-right: .5rem
}

.c-liked-tag {
  position: relative
}

.c-liked-tag .wpulike,
.p-content-area ol,
.p-content-area ul {
  padding: 0
}

.c-liked-tag .wp_ulike_btn {
  position: absolute;
  width: 100%;
  height: 100%
}

.c-liked-tag .wp_ulike_general_class {
  position: relative;
  --color-active: var(--color-accent);
  box-shadow: none !important;
  border: .0625rem solid #f7d6c8;
  height: 1.75rem;
  border-radius: .875rem !important;
  transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.c-liked-tag .wp_ulike_general_class.wp_ulike_is_liked {
  background-color: var(--color-accent);
  --color-active: var(--color-white);
  border: .0625rem solid var(--color-accent)
}

.c-liked-tag .wp_ulike_is_loading {
  opacity: .3
}

.c-liked-tag .wp_ulike_is_loading .wp_ulike_btn {
  background-image: none !important
}

.c-liked-tag .wpulike .wp_ulike_btn {
  z-index: 100;
  padding: 0 !important
}

.c-liked-tag .wpulike .wp_ulike_btn::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0
}

.c-liked-tag .wpulike .wp_ulike_btn::after {
  color: var(--color-active);
  background: 0 0 !important;
  font-family: "icofont";
  content: "\e906" !important;
  width: .875rem !important;
  height: .875rem !important;
  line-height: 1;
  margin-right: .375rem;
  font-size: .875rem;
  filter: none !important
}

.c-liked-tag .wpulike-heart .count-box {
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  font-size: .875rem;
  padding: 0;
  font-weight: 400;
  position: relative;
  color: var(--color-active) !important
}

.c-timetable+.c-sentence {
  margin-top: .5rem !important
}

.c-timetable__dl {
  --line-dt: 0.0625rem solid var(--color-white);
  --line-dd: 0.0625rem solid var(--color-gray-line)
}

.c-timetable__dl:first-child {
  --line-dt: none
}

.c-timetable__dl:last-child .c-timetable__dd {
  border-bottom: var(--line-dd)
}

.c-timetable__dt {
  background-color: var(--color-accent);
  font-weight: 600;
  color: var(--color-white);
  font-size: var(--text-font-size)
}

.p-content-area .c-timetable__dd p:not(.c-sentence) {
  margin-bottom: 1rem
}

.c-badge,
.c-tag-box {
  line-height: 1;
  align-items: center
}

.c-tag-box {
  display: flex;
  justify-content: center;
  font-size: .75rem;
  padding: .1875rem .5rem .3125rem;
  min-height: 1.5rem;
  color: var(--color-white);
  background-color: var(--color-active);
  white-space: nowrap;
  border-radius: .125rem;
  min-width: 4.5rem;
  letter-spacing: .025em
}

.c-tag-box.-size_s {
  min-height: 1.125rem;
  padding: .0625rem .5rem;
  min-width: 2.875rem
}

.c-tag-box.-accepting {
  --color-active: var(--color-black)
}

.c-tag-box.-ended {
  --color-active: #999999
}

.c-tag-box.-news {
  --color-active: transparent;
  color: var(--color-black);
  border: .0625rem solid var(--color-gray-line);
  min-height: 1.25rem;
  min-width: 6rem
}

.c-tag-box.-archive-movie,
.c-tag-box.-report {
  --color-active: var(--color-white);
  color: var(--color-black);
  border: 1px solid var(--color-gray)
}

.c-tag-box.-hashtag::before {
  content: "#";
  margin-right: 3px
}

.c-tag-box.-strategy {
  --color-active: #BD1913
}

.c-tag-box.-social-media {
  --color-active: #437CA3
}

.c-tag-box.-fandom {
  --color-active: #C43E65
}

.c-tag-box.-fan {
  --color-active: #D95316
}

.c-tag-box.-other {
  --color-active: #00A375
}

.c-badge {
  display: inline-flex;
  font-size: .875rem;
  background: var(--color-gray-bg);
  min-height: 1.875rem;
  border-radius: .9375rem;
  padding: .1875rem .75rem;
  box-sizing: border-box
}

.p-card {
  --icon-color: var(--color-accent);
  display: flex;
  flex-direction: column;
  width: 100%;
  --text-deco: underline 0.0625rem;
  text-underline-offset: .2em
}

.p-card.-none-hover {
  pointer-events: none
}

.p-card.-none-line {
  --text-deco: none
}

.p-card__row {
  display: flex;
  align-items: flex-start;
  position: relative
}

.p-card__row.-work-tag {
  padding-left: 9.5rem;
  justify-content: flex-end;
  min-height: .9375rem
}

.p-card__row.-event {
  align-items: center;
  justify-content: space-between
}

.p-card__row.-event-tag {
  gap: 8px;
  flex-wrap: wrap
}

.p-card__row.-head {
  white-space: break-spaces
}

.p-card__image {
  --image-size: 52.27%;
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: var(--image-size);
  width: 100%
}

.p-card__image img,
.p-card__image::before {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}

.p-card__image::before {
  content: "";
  display: block;
  background: rgba(0, 0, 0, .25);
  opacity: var(--opacity);
  z-index: 100;
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-card__image img {
  -o-object-fit: cover;
  object-fit: cover
}

.p-card__image.-size_s {
  --image-size: 45.62%
}

.p-card__image.-size_l {
  --image-size: 75.06%
}

.p-card__image.-border,
.p-card__image.-event,
.p-card__sub-image {
  outline: .0625rem solid var(--color-gray-light)
}

.p-card__image.-interview {
  --image-size: 100%
}

.p-card__sub-image {
  position: absolute;
  bottom: 0;
  transform: translateY(50%);
  background-color: var(--color-white);
  z-index: 200
}

.p-card__sub-image img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%
}

.p-card__sub-image.-none-border img {
  border: 0
}

.p-breadcrumbs__inner {
  display: flex;
  align-items: center
}

.p-breadcrumbs__item {
  --color-text: var(--color-black);
  line-height: 1;
  margin-right: .5rem;
  padding-left: 1.125rem;
  position: relative;
  min-width: .875rem
}

.p-breadcrumbs__item:first-child {
  padding-left: 0
}

.p-breadcrumbs__item:last-child {
  flex: 1;
  --color-text: var(--color-gray);
  overflow-x: hidden;
  overflow-y: visible;
  pointer-events: none
}

.p-breadcrumbs__item:last-child .p-breadcrumbs__text {
  text-overflow: ellipsis;
  overflow: hidden
}

.p-breadcrumbs__item:not(:first-child)::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cdefs%3E%3Cstyle%3E.a{fill%3Anone%3B}.b{fill%3A%23999999%3B}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate%28179%202706%29%20rotate%28-90%29%22%3E%3Cpath%20class%3D%22a%22%20d%3D%22M0%2C0H16V16H0Z%22%20transform%3D%22translate%282690%20-179%29%22%2F%3E%3Cpath%20class%3D%22b%22%20d%3D%22M12.182%2C13.313l5.091-5.091%2C1.454%2C1.454-6.546%2C6.546L5.636%2C9.676%2C7.09%2C8.222Z%22%20transform%3D%22translate%282685.697%20-182.555%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
  background-position: 50% 50%;
  width: .625rem;
  height: .625rem;
  position: absolute;
  left: 0
}

.p-breadcrumbs__text {
  display: block;
  color: var(--color-text);
  font-size: .75rem;
  white-space: nowrap;
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-breadcrumbs__text {
    text-decoration: underline
  }
}

.p-detail-cta {
  display: block;
  box-sizing: border-box;
  border: var(--border-size) solid var(--color-accent)
}

.p-footer-copyright {
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: var(--line-gray);
  background: var(--color-white)
}

.p-footer-copyright.-none-line {
  border-top: none
}

.p-footer-copyright__text {
  font-size: .6875rem;
  color: var(--color-gray-link)
}

.p-footer-head {
  display: flex;
  align-items: center
}

.p-footer-head__copy {
  font-weight: 600
}

.p-footer-main__right,
.p-footer-menu {
  display: grid
}

.p-footer-menu__list {
  flex: 1;
  display: grid;
  row-gap: 1.25rem
}

.p-footer-menu__item {
  line-height: 1
}

.p-footer-menu__link {
  color: var(--color-black);
  font-size: .875rem;
  white-space: nowrap;
  transition: all 1s cubic-bezier(.19, 1, .22, 1);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .35em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line);
  font-weight: 600
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-footer-menu__link {
    text-decoration: underline
  }
}

.p-grid {
  display: grid;
  -moz-column-gap: var(--gap-x);
  column-gap: var(--gap-x);
  row-gap: var(--gap-y)
}

.p-grid.-col-4 {
  grid-template-columns: repeat(var(--col-number), 1fr)
}

.p-grid.-align-start {
  align-items: start
}

.p-grid.-service {
  --gap-x: -0.0625rem;
  --gap-y: -0.0625rem
}

.p-grid__item.-space-2 {
  width: calc(200% + var(--gap-x))
}

.p-header-menu {
  --color-link: var(--color-black);
  --color-link-hover: var(--color-purple);
  --font-size: 1rem;
  display: flex;
  line-height: 1;
  box-sizing: border-box
}

.p-header-menu.-active {
  visibility: visible;
  opacity: 1
}

.p-header-menu__item {
  position: relative
}

.p-header-menu__link {
  --icon-size: 0.875rem;
  --color-icon: var(--color-gray);
  --transition-time: 0.3s;
  line-height: 1;
  letter-spacing: .01em;
  color: var(--color-white);
  font-size: var(--font-size);
  display: block;
  font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif
}

.p-header-menu__link.-pulldown {
  cursor: pointer
}

.p-header-menu__link.-current {
  --color-link: var(--color-white);
}

.p-header-menu__link.-accordion {
  cursor: pointer;
  font-weight: 500
}

.p-header-menu__link.-accordion::after {
  font-weight: 100
}

.p-header-menu__link.-accordion:focus+.p-recruit-pulldown {
  visibility: visible;
  opacity: 1;
  transform: translateX(0)
}

.p-header-menu__link.u-type-contact {
  --color-icon: var(--color-gray)
}

.p-header-menu__main {
  --color-link: var(--color-black);
  font-weight: 500
}

.p-header-menu__button {
  margin: 0 calc(var(--padding-x)*-1);
  padding: 0 var(--padding-x) 1.625rem;
  border-bottom: .0625rem solid var(--color-gray-line)
}

.p-footer-product {
  display: flex
}

.p-footer-product__item {
  display: block;
  border: var(--line-gray);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity .5s cubic-bezier(.19, 1, .22, 1)
}

.p-footer-product__item:first-child {
  margin-left: 0
}

.p-footer-product__image {
  width: 5.625rem;
  height: auto
}

.p-header-logo {
  display: block;
  width: var(--logo-size)
}

.p-header-logo__img {
  width: 100%;
  height: auto
}

.p-header-trigger,
.p-page-lead__title br {
  display: none
}

.p-header-trigger.-active>.p-header-trigger__bar {
  background-color: transparent
}

.p-header-trigger.-active>.p-header-trigger__bar::before {
  top: 50%;
  transform: rotate(20deg)
}

.p-header-trigger.-active>.p-header-trigger__bar::after {
  top: 50%;
  transform: rotate(-20deg)
}

.p-header-trigger__bar::before {
  top: calc(-100% - .25rem)
}

.p-header-trigger__bar::after {
  top: calc(100% + .25rem)
}

.p-header-trigger__text {
  font-size: .625rem;
  letter-spacing: .05em;
  font-weight: 700;
  margin-top: .625rem;
  color: var(--color-black)
}

.p-header-pulldown.-open {
  z-index: 100
}

.p-header-pulldown__container {
  border-top: .0625rem solid var(--color-gray-line);
  display: flex;
  width: 100%;
  z-index: 100;
  background-color: var(--color-white)
}

.p-header-pulldown__head {
  width: 15rem;
  padding: 2.5rem 1.875rem;
  box-sizing: border-box;
  background-color: var(--color-gray-light);
  display: flex;
  flex-direction: column;
  align-items: center
}

.p-header-pulldown__content {
  flex: 1;
  padding: 2.5rem 3rem 5rem;
  overflow-y: auto;
  max-height: calc(100vh - 6.25rem)
}

.-fixed .p-header-pulldown__content {
  max-height: calc(100vh - 5rem)
}

.p-main-visual {
  position: relative;
  width: 100%;
  overflow: hidden;
  -webkit-backface-visibility: visible;
  backface-visibility: visible
}

.p-main-visual__movie {
  z-index: -100;
  overflow: hidden;
  transform: translate3d(0, 0, 0)
}

.p-main-visual__movie.-opacity {
  opacity: 1 !important
}

.p-main-visual__movie-inner {
  position: absolute;
  opacity: 0;
  --position: 0;
  --scale: 1;
  width: 100%;
  transform: translate(-50%, 0) scale(var(--scale));
  transform-origin: top;
  top: 0
}

.p-main-visual__movie-inner.-active {
  opacity: 1
}

.p-main-visual__movie-filter {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  transform: translate(-200%, -200%)
}

.p-main-visual__movie-content {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 46.3541%;
  clip-path: url(#line-path);
  -webkit-clip-path: url(#line-path);
  transform: translateY(2.4%)
}

.p-main-visual__movie-image {
  --visual-scale: 1;
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: 100%
}

.p-main-visual__movie-image.-last {
  z-index: 10;
  will-change: transform;
  transform: translateZ(0)
}

.p-main-visual__movie-image img {
  position: absolute;
  left: 0;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 0;
  object-position: 50% 0;
  width: 100%;
  height: 100%
}

.p-main-visual__inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: opacity 2s cubic-bezier(.19, 1, .22, 1), transform 2s cubic-bezier(.19, 1, .22, 1);
  max-width: 75rem;
  margin: auto;
  opacity: 1;
  transform: translate3d(0, .9375rem, 0);
  align-items: flex-end;
}

.p-main-visual__inner.-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0)
}

.p-main-visual__copy {
  z-index: 200
}

.p-main-visual__title {
  display: block;
  font-weight: 600;
  line-height: 1.2;
  font-feature-settings: "palt";
  letter-spacing: .025em;
  white-space: nowrap
}

.p-home-section,
.p-home-section__inner {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%
}

.p-home-section {
  padding-top: 5rem;
  --max-width: 75rem;
  box-sizing: border-box;
  padding: var(--padding);
  justify-content: center
}

.p-home-section__inner {
  justify-content: space-between;
  z-index: 100;
  margin: 0 auto
}

.p-home-section__inner.-column {
  flex-direction: column
}

.p-home-section__title {
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: .01em
}

.p-home-section__link {
  display: block;
  color: var(--color-gray-link);
  text-decoration: underline;
  font-weight: 400;
  font-size: 1rem;
  transition: color 1s cubic-bezier(.19, 1, .22, 1);
  margin-top: 1rem
}

.p-home-section__heading {
  letter-spacing: .01em;
  line-height: 2
}

.p-home-section__heading.-intro {
  line-height: 2.25
}

.u-action {
  opacity: var(--ani);
  transition: all 3s cubic-bezier(.19, 1, .22, 1);
  transform: var(--trans);
  transition-delay: .25s
}

.p-intro {
  position: relative;
  --max-width: 75rem;
  width: 100%;
  box-sizing: border-box;
  padding: var(--padding)
}

.p-intro__inner {
  position: relative;
  z-index: 100;
  margin: 0 auto
}

.p-intro__content {
  flex: 1
}

.p-intro__title {
  font-weight: 600;
  color: var(--color-white);
  line-height: 1.5
}

.p-intro__bg {
  z-index: -100;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-intro__text {
  font-size: 1rem;
  color: var(--color-white);
  line-height: var(--line-height);
  letter-spacing: .075em;
  display: block
}

.p-home-product {
  background-color: var(--color-gray-bg)
}

.p-section {
  position: relative;
  --max-width: 75rem;
  width: 100%;
  box-sizing: border-box;
  padding: var(--padding);
  --padding: var(--padding-y) var(--padding-x)
}

.p-section.-breadcrumb {
  --max-width: 100%
}

.p-section.-pagination {
  --padding: 0 var(--padding-x)
}

.p-section.-pagination_b {
  --padding: 0 var(--padding-x) var(--padding-y)
}

.p-section.-error {
  border-bottom: var(--line-gray)
}

.p-section.-pb-0 {
  padding-bottom: 0
}

.p-section.-bg {
  background-color: var(--color-gray-light)
}

.p-section.-bg-white {
  background-color: var(--color-white)
}

.p-section.-underline {
  border-bottom: var(--line-gray)
}

.p-section__inner {
  position: relative;
  z-index: 100;
  width: 100%;
  margin: 0 auto
}

.p-page-layout.-no-reverse {
  flex-direction: column
}

.p-page-layout__sidebar {
  --gap-y: 2.5rem
}

.p-page-lead {
  --color-active: var(--color-white);
  position: relative;
  background: var(--color-accent);
  padding: var(--padding-y) var(--padding-x)
}

.p-page-lead__inner {
  z-index: 100;
  position: relative;
  display: grid
}

.p-page-lead__list {
  display: grid
}

.p-page-lead__list-item {
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  font-size: var(--font-size);
  color: var(--color-white)
}

.p-page-lead__list-item.-circle::before {
  content: "";
  position: absolute;
  top: .15em;
  left: 0;
  width: var(--icon-size);
  height: var(--icon-size);
  background-image: url(assets/images/common/ico-circle.svg);
  background-size: contain
}

.p-page-lead__list-item.-check::before {
  font-family: "icofont";
  font-weight: 100;
  content: "\e900";
  position: absolute;
  left: 0;
  line-height: 1;
  font-size: 1.25rem
}

.p-page-lead__block {
  display: flex;
  flex-direction: column
}

.p-page-lead__block.-max-500 {
  max-width: 500px
}

.p-page-lead__title {
  font-size: 0
}

.p-page-lead__marker {
  display: inline;
  font-weight: 600;
  color: var(--color-accent);
  letter-spacing: .05em;
  font-feature-settings: "palt"
}

.p-sidebar {
  width: inherit;
  --font-weight: 400;
  --font-size: 1rem;
  --color-active: var(--color-accent)
}

.p-sidebar.-fixed {
  position: fixed
}

.p-sidebar.-fixed.-absolute {
  position: absolute;
  bottom: 0
}

.p-sidebar.-sticky {
  padding-top: var(--gap-y);
  position: -webkit-sticky;
  position: sticky;
  top: 4.0625rem
}

.p-sidebar.-sticky .p-cta-banner.-sidebar {
  max-width: 200px
}

.p-sidebar.-archive {
  --font-weight: 600;
  --color-active: var(--color-black)
}

.p-sidebar.-note {
  visibility: hidden;
  opacity: 0;
  transition: all .2s
}

.p-sidebar.-note.-visible {
  visibility: visible;
  opacity: 1;
  transition: all .75s .5s
}

.p-sidebar__block.-empty {
  border-top: none;
  padding-top: 0
}

.p-sidebar__block.-pulldown {
  padding-top: 0;
  margin-top: .5rem
}

.p-sidebar__block.-archive {
  padding: 1.5rem 0 0;
  margin-top: .5rem
}

.p-sidebar__block.-none-visible {
  display: none
}

.p-sidebar__heading {
  display: block;
  font-size: .875rem;
  color: var(--color-gray-link);
  margin-bottom: 1.5rem;
  line-height: 1.25
}

.p-sidebar__heading.-mb-12 {
  margin-bottom: .75rem
}

.p-sidebar__item:not(:first-child) {
  margin-top: .75rem
}

.p-sidebar__link {
  display: block;
  font-size: var(--font-size);
  color: var(--color-active);
  line-height: 1.5;
  transition: all .75s cubic-bezier(.19, 1, .22, 1);
  font-weight: var(--font-weight);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-sidebar__link {
    text-decoration: underline
  }
}

.p-sidebar__count,
.p-sidebar__link.-current {
  color: var(--color-accent)
}

.p-sidebar__link.-black {
  --color-active: var(--color-black)
}

.p-sidebar__link+.p-sidebar__link {
  margin-top: .5rem
}

.p-sidebar__count {
  display: inline-block;
  margin-left: .25rem;
  transition: color .75s cubic-bezier(.19, 1, .22, 1)
}

.p-share-icons {
  --gap: 0.25rem;
  --margin: 0 var(--gap);
  width: 100%;
  display: flex;
  margin: 0 calc(var(--gap)*-1)
}

.p-share-icons.-detail {
  --gap: 0.1875rem;
  justify-content: center
}

.p-share-icons.-vertical {
  --gap: 0.375rem;
  --margin: var(--gap) 0;
  flex-direction: column;
  margin: calc(var(--gap)*-1) 0
}

.p-share-icons.-gap_l {
  --gap: 0.375rem
}

.p-share-icons__item {
  display: block;
  margin: var(--margin);
  position: relative;
  --visible: hidden
}

.p-list-card {
  --color-icon: var(--color-accent);
  --color-arrow: var(--color-white);
  --display-arrow: block;
  --transition: none;
  display: block;
  background-color: var(--color-white);
  min-height: 100%;
  transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.p-list-card.-gray {
  background-color: var(--color-gray-light)
}

.p-list-card.-border {
  border: var(--line-gray)
}

.p-list-card.-disabled {
  pointer-events: none;
  --display-arrow: none;
  background-color: var(--color-gray-line)
}

.p-list-card.-disabled .p-list-card__name {
  padding-left: 0;
  color: var(--color-gray-link)
}

.p-list-card.-none-hover {
  pointer-events: none
}

.p-list-card.-service {
  outline: .0625rem solid var(--color-gray-line)
}

.p-content-area .wp-block-create-block-blog-card.block-editor-block-list__block .p-block-link,
.p-list-card.-solution {
  pointer-events: none
}

.p-list-card__arrow {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  position: absolute;
  left: 0;
  display: var(--display-arrow);
  line-height: 1;
  font-family: "icofont"
}

.p-list-card__arrow::after,
.p-list-card__arrow::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\e903";
  color: var(--color-arrow)
}

.p-list-card__arrow::before {
  content: "\e902";
  color: var(--color-icon)
}

.p-list-card__row {
  position: relative
}

.p-list-card__row.-border {
  border-top: .0625rem solid var(--color-gray-line)
}

.p-list-card__row.-border.-gray {
  border-color: var(--color-border)
}

.p-list-card__sub {
  display: block;
  font-weight: 600;
  font-size: var(--font-size);
  color: var(--color-icon);
  line-height: 1
}

.p-list-card__name {
  color: var(--color-black);
  display: block;
  font-weight: 600;
  line-height: 1.5;
  font-feature-settings: "palt";
  letter-spacing: .025em
}

.p-list-card__name.-pd-0 {
  padding-left: 0
}

.p-flex.-reverse {
  flex-direction: row-reverse
}

.p-flex.-wrap {
  flex-wrap: wrap
}

.p-flex__item {
  flex: 1
}

.p-flex-full {
  display: flex
}

.p-flex-full.-justify-between {
  justify-content: space-between
}

.p-flex-full.-items-center {
  align-items: center
}

.p-check-block {
  box-sizing: border-box
}

.p-banner-solution,
.p-banner-solution::before {
  display: flex;
  justify-content: center;
  align-items: center
}

.p-banner-solution {
  --line-height: 1.65;
  --color-accent: #C8466C;
  --color-icon: var(--color-white);
  --color-icon-c: #1a1a1a;
  --color-icon-b: #b32a52;
  --icon-bg: var(--color-accent);
  position: relative;
  width: 100%;
  box-sizing: border-box;
  background-color: var(--color-white);
  transition: background-color .5s cubic-bezier(.19, 1, .22, 1)
}

.p-banner-solution::before {
  content: "\e904";
  font-family: "icofont";
  font-size: .625rem;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  right: .5rem;
  bottom: .5rem;
  color: var(--color-icon);
  background-color: var(--icon-bg);
  line-height: 1;
  border-radius: 50%
}

.p-banner-solution__image {
  position: relative
}

.p-banner-solution__item {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: auto
}

.p-banner-solution__item.-hover {
  visibility: hidden;
  opacity: 0;
  transition: var(--transition)
}

.p-product-image {
  --height: 56.08%;
  --height-image: 4.625rem;
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: var(--height);
  width: 100%;
  background-color: var(--color-white);
  outline: .0625rem solid var(--color-gray-line)
}

.p-product-image::before {
  content: "";
  display: block;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, .25);
  opacity: var(--opacity);
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-product-image img,
.p-works-logo img {
  -o-object-fit: contain;
  object-fit: contain
}

.p-product-image img {
  position: absolute;
  width: auto;
  height: var(--height-image);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.p-product-image.-recruit {
  --height-image: 9.375rem
}

.p-product-image.-none-border {
  outline: 0
}

.p-works-logo {
  overflow: hidden;
  border: .0625rem solid var(--color-gray-light)
}

.p-works-logo img {
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
  width: 100%;
  height: 100%
}

.p-overview__name {
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  color: var(--color-accent);
  letter-spacing: .05em
}

.f-form .hbspt-form fieldset,
.p-overview__content.-full {
  max-width: 100%
}

.p-overview__tr {
  border-bottom: .0625rem solid var(--color-gray-line);
  line-height: 1.65;
  padding: 1rem 0;
  font-size: 1rem
}

.p-overview__tr:first-child {
  padding-top: 0
}

.p-overview__tr:last-child {
  border-bottom: none
}

.p-overview__td,
.p-overview__th {
  display: block
}

.p-overview__th {
  --color-active: var(--color-gray-link);
  white-space: nowrap;
  color: var(--color-active)
}

.p-page-banner {
  display: flex;
  --color-active: var(--color-black);
  box-sizing: border-box;
  background-color: var(--color-gray-light)
}

.p-page-banner__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  --text-font-size: 0.875rem
}

.p-flow {
  display: grid
}

.p-flow__item {
  position: relative
}

.p-flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 9px 0;
  border-color: var(--color-gray) transparent transparent transparent
}

.p-flow__name {
  font-weight: 600;
  line-height: 1.4
}

.p-flow__name.-accent,
.p-qna__q::before {
  color: var(--color-accent)
}

.p-flow__content {
  --line-height: 1.75;
  flex: 1;
  align-items: center
}

.p-flow__content,
.p-flow__row {
  display: grid;
  row-gap: .5rem
}

.p-qna,
.p-qna__item {
  display: grid;
  align-items: start
}

.p-qna {
  row-gap: 2.5rem;
  counter-reset: item
}

.p-qna__item {
  position: relative
}

.p-qna__q {
  font-weight: 600
}

.p-qna__q::before {
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  counter-increment: item;
  font-weight: 400;
  letter-spacing: .06em
}

.p-qna__a {
  position: relative;
  display: grid
}

.p-feature-image {
  max-width: 65.125rem;
  margin: 0 auto
}

.p-feature-professional__content {
  display: grid;
  row-gap: 1.125rem
}

.p-feature-point.-reverse {
  flex-direction: row-reverse
}

.p-feature-point__image {
  margin: var(--margin-image)
}

.p-feature-professional {
  display: grid
}

.p-feature-professional.-detail {
  --text-deco: underline 0.0625rem
}

.p-feature-professional__row {
  font-size: .875rem
}

.p-service-info__content,
.p-service-info__image {
  flex: 1
}

.p-search {
  position: relative
}

.p-search::after {
  font-family: "icofont";
  content: "\e905";
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: .75rem;
  font-size: 1rem;
  color: var(--color-gray)
}

.p-search__item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  border: .0625rem solid var(--color-gray-line);
  border-radius: .125rem;
  height: 3rem;
  padding: 0 2.125rem 0 .75rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--color-white);
  color: var(--color-black);
  font-size: 1rem
}

.p-search__item:focus {
  outline-color: var(--color-accent)
}

.p-media-image {
  --image-size: 100%;
  --color-bg: #F5F5F5;
  position: relative;
  display: block;
  width: var(--image-size);
  height: 0;
  padding-top: var(--image-size);
  background-color: var(--color-white);
  display: flex;
  justify-content: center;
  align-items: center
}

.p-media-image::before {
  content: "";
  display: block;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, .25);
  opacity: var(--opacity);
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-media-image.-white {
  --color-bg: var(--color-white)
}

.p-media-image.-new {
  padding-top: 56%
}

.p-media-image__img {
  position: absolute;
  width: auto;
  max-width: var(--image-size);
  height: var(--image-size);
  -o-object-fit: contain;
  object-fit: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.p-balloon {
  display: grid;
  align-items: start
}

.p-balloon__item {
  display: flex;
  --color-bg: #FCF0EB
}

.p-balloon__item.-reverse {
  --color-bg: #F5F5F5
}

.p-balloon__image {
  width: var(--image-size);
  height: var(--image-size);
  overflow: hidden;
  border-radius: 50%
}

.p-balloon__image img,
.p-speaker__profile img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%
}

.p-balloon__text {
  position: relative;
  flex: 1;
  background-color: var(--color-bg)
}

.p-box-block {
  background-color: #f5f5f5;
  padding: var(--padding)
}

.p-detail-sns {
  border: .125rem solid var(--color-gray-line);
  display: flex;
  flex-direction: column;
  align-items: center
}

.p-post-share.-left {
  left: 0;
  right: auto
}

.p-post-share__content {
  width: inherit;
  padding-top: var(--gap-y);
  position: -webkit-sticky;
  position: sticky;
  top: 4.0625rem
}

.p-sidebar-post {
  --color-active: var(--color-black);
  display: grid;
  align-items: start;
  grid-template-columns: 5.375rem 1fr;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line);
  transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-sidebar-post {
    text-decoration: underline
  }
}

.p-sidebar-post__text {
  font-size: .875rem;
  line-height: 1.5;
  color: var(--color-active);
  position: relative;
  top: -.35em
}

.p-page-head-right {
  display: flex
}

.p-speaker__item {
  display: grid;
  align-items: start
}

.p-speaker__item+.p-speaker__item {
  border-top: .0625rem solid var(--color-gray-line)
}

.p-speaker__profile {
  width: var(--image-size);
  height: var(--image-size);
  overflow: hidden;
  border-radius: 50%
}

.p-speaker__content {
  flex: 1
}

.p-content-area .p-speaker__name {
  margin: 0
}

.p-detail-banner {
  background-color: var(--color-gray-bg);
  display: flex
}

.p-detail-banner__heading {
  font-weight: 600;
  letter-spacing: .01em;
  text-align: justify;
  line-height: 1.65
}

.p-page-cta {
  border-top: .0625rem solid var(--color-gray-line)
}

.p-sidebar-banner {
  position: relative;
  display: block;
  width: 100%;
  border: .125rem solid var(--color-gray-line);
  transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.p-sidebar-banner::after {
  content: "\e904";
  font-family: "icofont";
  font-weight: 100;
  position: absolute;
  font-size: .875rem;
  right: .5rem;
  bottom: .375rem
}

.p-sidebar-banner__image {
  width: 100%;
  height: auto
}

.p-card-event {
  --color-active: var(--color-black);
  --color-bg: var(--color-white);
  transition: opacity .5s cubic-bezier(.19, 1, .22, 1)
}

.p-card-event__info {
  display: flex;
  align-items: center
}

.p-card-event__heading {
  --line-height: 1.25;
  font-weight: 600;
  line-height: var(--line-height);
  color: var(--color-active);
  letter-spacing: .01em
}

.p-card-event__content {
  flex: 1
}

.p-card-news {
  --color-active: var(--color-black);
  display: block
}

.p-card-news__info {
  display: flex;
  align-items: center
}

.p-card-news__heading {
  color: var(--color-active);
  line-height: 1.6;
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-card-news__heading {
    text-decoration: underline
  }
}

.p-page-download {
  --form-w: 40%
}

.p-page-download.-type_b {
  --form-w: 50%
}

.p-accordion {
  border-bottom: .0625rem solid var(--color-gray-line)
}

.p-accordion__button {
  font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  cursor: pointer;
  display: block;
  width: 100%;
  min-height: 3rem;
  font-size: 1rem;
  font-weight: 600;
  position: relative;
  text-align: left;
  padding: 0;
  display: flex;
  align-items: center;
  color: var(--color-black)
}

.p-accordion__button::after,
.p-accordion__button::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  background-color: var(--color-accent);
  transform: translateY(-50%)
}

.p-accordion__button::before {
  width: .125rem;
  height: .75rem;
  margin: 0 .3125rem
}

.p-accordion__button::after {
  width: .75rem;
  height: .125rem
}

.p-accordion__button.-current+.p-accordion__area {
  height: auto;
  overflow: visible
}

.p-accordion__reference {
  padding-bottom: .75rem
}

.p-accordion__area {
  height: 0;
  overflow: hidden
}

.p-category-list {
  font-size: 1.125rem;
  color: var(--color-gray-font)
}

.p-newsletter-button {
  position: relative;
  border: .0625rem solid var(--color-gray-line);
  background-color: var(--color-white);
  display: flex;
  align-items: center;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--color-black);
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  line-height: 1.4
}

.p-newsletter-button__arrow {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  position: absolute;
  display: block;
  line-height: 1;
  font-family: "icofont";
  font-weight: 100
}

.p-newsletter-button__arrow::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "\e903";
  color: var(--color-white)
}

.p-newsletter-button__arrow::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\e902";
  color: var(--color-accent)
}

.p-layout-a__link-item {
  border-bottom: .0625rem solid var(--color-gray-line)
}

.p-layout-a__link-item:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.p-layout-a__button {
  grid-area: button
}

.p-card-cta {
  border: .0625rem solid var(--color-gray-line);
  display: grid;
  min-height: 100%;
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  color: var(--color-black)
}

.p-card-cta__block {
  display: flex;
  margin-bottom: .5rem
}

.p-card-cta__block-item {
  line-height: 1.125rem
}

.p-card-cta__thumbnail {
  width: 100%
}

.p-card-cta__title {
  display: block;
  font-weight: 600;
  line-height: 1.5
}

.p-footer-eng-link {
  --color-text-line: currentColor;
  color: var(--color-black);
  font-size: .875rem;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.5;
  transition: all 1s cubic-bezier(.19, 1, .22, 1);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .25em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line);
  margin-right: 1.875rem
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-footer-eng-link {
    text-decoration: underline
  }
}

.p-card-feature {
  background: var(--color-white)
}

.p-card-feature__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-card-feature__content {
  position: relative;
  padding: var(--padding)
}

.p-card-feature__name {
  position: relative;
  z-index: 100;
  font-weight: 600
}

.p-card-feature__unit {
  font-size: var(--font-size);
  font-weight: 600;
  position: relative;
  line-height: 1
}

.p-card-feature__unit.-vertical {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: .08em
}

.p-card-feature__notes {
  line-height: 1;
  color: var(--color-gray-link);
  display: inline-block
}

.p-card-feature__li::before,
.p-card-feature__number {
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  color: var(--color-accent)
}

.p-card-feature__number {
  display: inline-block;
  font-size: var(--font-size);
  font-weight: 400;
  position: relative;
  top: .15em
}

.p-card-feature__number.-letter_half {
  letter-spacing: -.01em
}

.p-card-feature__number+.p-card-feature__unit,
.p-card-feature__unit+.p-card-feature__number {
  margin-left: .5rem
}

.p-card-feature__number+.p-card-feature__unit.-size_xs,
.p-card-feature__unit+.p-card-feature__number.-size_s {
  margin-left: .25rem
}

.p-card-feature__head {
  position: relative;
  z-index: 100;
  display: flex;
  align-items: flex-end
}

.p-card-feature__image {
  position: absolute;
  right: var(--position-x);
  top: var(--position-y)
}

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

.p-card-feature__image-b {
  width: var(--image-size)
}

.p-card-feature__image-b img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: 50% 50%;
  object-position: 50% 50%
}

.p-card-feature__text {
  font-size: var(--text-font-size);
  letter-spacing: .075em;
  display: block;
  line-height: 1.75
}

.p-card-feature__li {
  counter-increment: num;
  font-weight: 600
}

.p-card-feature__li::before {
  content: counter(num) ".";
  margin-right: .75rem
}

.p-card-feature-gap-a {
  letter-spacing: -.03em
}

.p-card-feature-gap-b {
  letter-spacing: -.01em
}

.p-card-feature-gap-c {
  letter-spacing: .05em
}

.p-card-feature-gap-d {
  letter-spacing: .01em
}

.p-card-feature-ml-0 {
  margin-left: -.9375rem !important
}

.p-card-feature-ml-1 {
  margin-left: -.5rem !important
}

.p-card-feature-ml-2 {
  margin-left: .25rem !important
}

.p-card-feature-ml-3 {
  margin-left: 0 !important
}

.p-sitemap {
  display: grid;
  grid-template-columns: repeat(var(--col), 1fr);
  align-items: start;
  gap: var(--gap)
}

.p-sitemap__item {
  border-bottom: var(--line-gray)
}

.p-content {
  position: relative
}

.p-serial {
  position: absolute;
  left: 0;
  bottom: 0;
  --max-width: 75rem;
  width: 100%;
  box-sizing: border-box;
  color: var(--color-white);
  --layout: flex;
  max-height: 17.3125rem
}

.p-serial.-detail {
  padding: 0;
  --max-width: 100%;
  --layout: block
}

.p-serial.-detail .p-serial__content1 {
  max-width: 100%;
  margin: 0 0 1.5rem
}

.p-serial__inner {
  position: relative;
  z-index: 100;
  width: 100%;
  margin: 0 auto;
  padding: var(--padding);
  --padding: 0 var(--padding-x) 0
}

.p-serial__layout {
  max-width: var(--max-width);
  margin: 0 auto
}

.p-serial__list {
  display: flex;
  gap: 1rem
}

.p-serial__card {
  display: block
}

.p-serial__cardImage {
  margin-bottom: .625rem
}

.p-serial__text span,
.p-serial__title1 {
  display: block;
  line-height: 1.5;
  font-weight: 600
}

.p-serial__title1 {
  font-size: 1.375rem;
  margin-bottom: 1.25rem
}

.p-serial__text {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: .625rem
}

.p-serial__text span {
  color: var(--color-white);
  font-size: .875rem
}

.p-serial__text:before {
  content: "\e904";
  font-family: "icofont";
  font-size: .625rem;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  color: #182456;
  background-color: var(--color-white);
  line-height: 1;
  border-radius: 50%;
  margin-top: .125rem
}

.p-serial__bg {
  z-index: -100;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  min-height: 100%
}

.p-product-banner,
.p-product-banner::before,
.p-serial__text:before {
  display: flex;
  justify-content: center;
  align-items: center
}

.p-product-banner {
  --color-accent: #C8466C;
  --color-icon: var(--color-white);
  position: relative;
  width: 100%;
  box-sizing: border-box;
  background-color: var(--color-white);
  transition: opacity .4s cubic-bezier(.19, 1, .22, 1);
  border: .0625rem solid var(--color-gray-line)
}

.p-product-banner::before {
  content: "\e904";
  font-family: "icofont";
  font-size: .625rem;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  right: .5rem;
  bottom: .5rem;
  color: var(--color-icon);
  background-color: var(--color-accent);
  line-height: 1;
  border-radius: 50%
}

.p-product-banner__image {
  position: relative
}

.p-product-banner__image img {
  width: 100%
}

.p-media-card {
  padding: 1.5rem 0;
  min-height: 10.75rem;
  background: var(--color-white)
}

.p-media-card__head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box
}

.p-media-card__content {
  position: relative;
  box-sizing: border-box
}

.p-media-card__content::before {
  content: "";
  left: 0;
  top: 0;
  position: absolute;
  background: var(--color-accent);
  display: block
}

.p-cta-banner.-floating {
  display: none;
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 300px;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .2)
}

.p-cta-banner.-sidebar {
  margin-bottom: 2rem;
  border: 1px solid rgba(0, 0, 0, .1)
}

.p-cta-banner.-visible {
  display: block
}

.p-cta-banner a::after {
  content: none !important
}

.p-cta-banner__image {
  display: block;
  max-width: 100%;
  height: auto
}

.p-cta-banner__close {
  position: absolute;
  top: 0;
  right: 0;
  background: rgba(0, 0, 0, .4);
  color: #fff;
  border: 0;
  font-size: .75rem;
  width: 2rem;
  height: 2rem;
  cursor: pointer;
  z-index: 10000;
  line-height: 1
}

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

.p-recruit-main__visual {
  display: flex;
  position: relative;
  overflow: hidden
}

.p-recruit-main__title {
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: -.01em;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transform: scale(.95, 1)
}

.p-recruit-main__title-mark {
  display: inline-block;
  background-color: var(--color-white);
  margin: -.0625rem 0
}

.p-recruit-about {
  display: flex
}

.p-recruit-about__iframe {
  border: 0;
  background: padding-box padding-box rgba(0, 0, 0, .1);
  margin: 0;
  padding: 0;
  border-radius: 6px;
  box-shadow: rgba(0, 0, 0, .2) 0 0 2px;
  width: 100%;
  height: auto;
  aspect-ratio: 560/315
}

.p-recruit-members {
  position: relative;
  overflow: hidden;
  height: auto;
  display: flex;
  justify-content: center;
  margin: 0 calc(var(--padding-x)*-1)
}

.p-recruit-members__inner {
  position: absolute;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: .625rem;
  left: 50%;
  transform: translateX(-50%);
  min-width: 100%
}

.p-recruit-members__item {
  position: relative;
  display: block;
  min-width: var(--image-size);
  height: var(--image-size);
  font-size: 0;
  overflow: hidden
}

.p-card-interview__image::before,
.p-recruit-members__item::before {
  content: "";
  display: block;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, .25);
  opacity: var(--opacity);
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-recruit-members__image {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.p-card-interview {
  display: flex;
  flex-direction: column;
  width: 100%;
  --icon-color: var(--color-accent);
  --color-position: var(--color-gray-font);
  --text-deco: underline 0.0625rem;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line);
  text-underline-offset: .1em
}

.p-card-interview__row {
  display: flex;
  align-items: flex-end;
  position: relative
}

.p-card-interview__date {
  position: absolute;
  display: flex;
  align-items: center;
  left: 0;
  bottom: 0;
  height: 2.5rem;
  padding: .625rem 1rem;
  color: var(--color-white);
  font-weight: 600;
  font-size: .875rem;
  line-height: 1
}

.p-card-interview__date.-careers {
  background-color: #1c73bd
}

.p-card-interview__date.-newgrads {
  background-color: #e96d33
}

.p-card-interview__title {
  font-weight: 600;
  font-size: var(--font-size);
  line-height: 1;
  color: var(--color-active);
  letter-spacing: .01em;
  display: flex
}

.p-card-interview__image {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: 100%;
  width: 100%
}

.p-card-interview__image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.p-card-interview__tag {
  font-size: .875rem;
  color: var(--color-position);
  line-height: 1;
  position: relative;
  margin-left: .75rem
}

.p-recruit-message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top
}

.p-recruit-message__inner {
  background-color: var(--color-accent);
  --color-active: var(--color-white)
}

.p-recruit-message__copy {
  max-width: 30rem
}

.p-recruit-message__title {
  font-weight: 600;
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--color-active);
  -webkit-text-decoration: var(--text-deco);
  text-decoration: var(--text-deco);
  letter-spacing: .01em;
  display: flex
}

.p-recruit-message__desc {
  font-size: var(--text-font-size);
  color: var(--color-active)
}

.p-card-requirement {
  position: relative;
  border: .0625rem solid var(--color-gray-line);
  background-color: var(--color-white);
  display: block;
  color: var(--color-black);
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  text-underline-offset: .1em
}

.p-card-requirement__tag {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: -.0625rem;
  top: -.0625rem;
  font-size: .875rem;
  line-height: 1;
  min-height: 2rem;
  padding: .25rem .75rem;
  font-weight: 700;
  letter-spacing: .025em;
  color: var(--color-white);
  background: #1c73bd
}

.p-card-requirement__tag.-careers {
  background-color: #1c73bd
}

.p-card-requirement__tag.-newgrads {
  background-color: #e96d33
}

.p-card-requirement__desc {
  display: block;
  color: var(--color-gray-font);
  line-height: 1.75;
  font-size: 1rem
}

.p-card-recruit-event {
  --color-icon: var(--color-accent);
  --color-arrow: var(--color-white);
  --display-arrow: block;
  display: block;
  background-color: var(--color-white);
  min-height: 100%;
  transition: all .5s cubic-bezier(.19, 1, .22, 1)
}

.p-card-recruit-event__arrow {
  position: relative;
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  display: var(--display-arrow);
  line-height: 1;
  font-family: "icofont"
}

.p-card-recruit-event__arrow::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "\e903";
  color: var(--color-arrow)
}

.p-card-recruit-event__arrow::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\e902";
  color: var(--color-icon)
}

.p-card-recruit-event__row {
  position: relative;
  display: flex
}

.p-card-recruit-event__name {
  color: var(--color-black);
  display: block;
  font-weight: 600;
  line-height: 1.5;
  font-feature-settings: "palt";
  letter-spacing: .025em;
  padding-right: .75rem
}

.p-card-requirement-info {
  margin-top: var(--gap-y);
  padding-top: var(--gap-y);
  border-top: .0625rem solid var(--color-gray-line);
  font-size: 1rem;
  display: grid;
  row-gap: .75rem
}

.p-card-requirement-info__dt {
  font-weight: 600;
  margin-right: .75rem
}

.p-card-requirement-info__li {
  position: relative;
  padding-left: 1rem;
  line-height: 1.75
}

.p-card-requirement-info__li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #999
}

.p-recruit-pulldown__item {
  white-space: nowrap
}

.p-recruit-banner__title {
  --line-height: 1.25;
  font-weight: 600;
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--color-active);
  -webkit-text-decoration: var(--text-deco);
  text-decoration: var(--text-deco);
  letter-spacing: .01em;
  display: flex
}

.p-tab__head {
  display: flex;
  width: 100%
}

.p-tab__label {
  cursor: pointer;
  font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  border: .125rem solid var(--color-accent);
  width: 50%;
  font-weight: 600;
  color: var(--color-accent)
}

.p-tab__label.-active {
  background-color: var(--color-accent);
  color: var(--color-white)
}

.p-tab__label.-active::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 12px 0;
  border-color: var(--color-accent) transparent transparent transparent
}

.p-tab__body,
.p-tab__label {
  position: relative
}

.p-tab__content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 1.875rem
}

.p-tab__content.-active {
  position: relative;
  visibility: visible;
  opacity: 1;
  top: 0;
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-member {
  --visibility: hidden;
  --color-active: var(--color-black);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  width: 100%;
  transition: opacity 1s cubic-bezier(.19, 1, .22, 1)
}

.p-member__thumbnail {
  width: 100%;
  padding-top: 100%;
  height: 0;
  overflow: hidden;
  position: relative
}

.p-member__thumbnail::before {
  content: "";
  display: block;
  background: rgba(0, 0, 0, .25);
  opacity: var(--opacity);
  z-index: 100;
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.p-member__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 1
}

.p-member__content {
  margin-top: 1rem
}

.p-member__heading {
  font-weight: 600;
  text-align: left;
  line-height: 1.25;
  color: var(--color-active);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line);
  transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-member__heading {
    text-decoration: underline
  }
}

.p-member__sub {
  display: block;
  font-size: .875rem;
  color: var(--color-gray-link);
  text-align: left;
  line-height: 1.2
}

.p-member__sub+.p-member__sub {
  margin-top: 0
}

.p-member-page {
  display: flex
}

.p-member-page__picture {
  width: var(--image-size);
  height: var(--image-size)
}

.p-member-page__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-member-page__eng {
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  letter-spacing: .05em;
  display: inline-block
}

.p-member-page__heading {
  position: relative;
  font-weight: 600;
  font-size: var(--font-size);
  letter-spacing: .05em;
  font-feature-settings: "palt"
}

.p-member-category__name {
  color: var(--color-gray-link);
  line-height: 1
}

.p-member-category__desc {
  line-height: 2;
  margin-top: 1rem;
  font-size: 1rem
}

.p-member-message {
  display: flex;
  align-items: center
}

.p-member-message__text {
  flex: 1;
  padding: 2rem;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.75;
  position: relative;
  background: var(--color-accent)
}

.p-member-message__picture {
  width: 15rem;
  height: 15rem
}

.p-member-message__image {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%
}

.p-map {
  height: 0;
  width: 100%;
  margin-bottom: 1.25rem;
  position: relative
}

.p-map iframe,
.p-member__thumbnail::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.p-header-other-link {
  display: block;
  margin-top: .875rem;
  line-height: 1.25;
  transition: all 1s cubic-bezier(.19, 1, .22, 1);
  -webkit-text-decoration: underline .0625rem;
  text-decoration: underline .0625rem;
  text-underline-offset: .2em;
  -webkit-text-decoration-color: var(--color-text-line);
  text-decoration-color: var(--color-text-line)
}

@supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
  .p-header-other-link {
    text-decoration: underline
  }
}

.p-content-area * {
  hanging-punctuation: allow-end
}

.p-content-area>* {
  clear: both
}

.p-content-area>:first-child {
  margin-top: 0 !important
}

.p-content-area :last-child {
  margin-bottom: 0 !important
}

.p-content-area div:after,
.p-content-area p:after {
  display: block;
  clear: both;
  content: "";
  position: absolute
}

.p-content-area h1,
.p-content-area h2,
.p-content-area h3,
.p-content-area h4,
.p-content-area h5 {
  position: relative;
  font-weight: 600;
  line-height: 1.5;
  font-size: var(--font-size)
}

.p-content-area h1,
.p-content-area h2 {
  letter-spacing: .01em
}

.p-content-area h2 {
  border-left: 5px solid var(--color-accent);
  padding-left: .5em
}

.p-content-area h3:not(.c-heading) {
  letter-spacing: -.015em
}

.p-content-area h4,
.p-content-area h5 {
  letter-spacing: -.015em
}

.p-content-area p:not(.c-sentence) {
  letter-spacing: .075em;
  font-size: var(--text-font-size);
  margin-bottom: 1.5rem;
  word-break: break-word;
  line-height: var(--line-height)
}

.p-content-area .c-sentence {
  margin: 0
}

.p-content-area figcaption {
  color: var(--color-gray-link)
}

.p-content-area a:not([class]) {
  color: var(--color-accent)
}

.p-content-area a:not([class])[target=_blank]::after {
  display: inline-block;
  position: relative;
  content: "\e904";
  top: .025em;
  font-family: "icofont";
  margin: 0 .375rem 0 .25rem;
  font-size: var(--icon-size);
  color: currentColor;
  line-height: 1;
  transform: rotate(.003deg)
}

.p-content-area ol,
.p-content-area>ul:not(.p-grid) {
  margin-top: 1.625rem;
  margin-bottom: 2.375rem
}

.p-content-area ol ol,
.p-content-area ol ul,
.p-content-area>ul:not(.p-grid) ol,
.p-content-area>ul:not(.p-grid) ul {
  padding: 0;
  margin-top: .75rem
}

.p-content-area>ul li:not(.p-grid__item) {
  padding-left: 1.125rem
}

.p-content-area>ul li:not(.p-grid__item)::before {
  content: "";
  display: block;
  box-sizing: border-box;
  width: .375rem;
  height: .375rem;
  position: absolute;
  left: 0;
  top: .7em;
  background-color: #999;
  border-radius: 50%
}

.p-content-area>ul ul li:not(.p-grid__item)::before {
  border: .0625rem solid #999;
  background-color: var(--color-white)
}

.p-content-area ol {
  counter-reset: number
}

.p-content-area ol li {
  padding-left: 1.5625rem
}

.p-content-area ol li::before {
  counter-increment: number;
  content: counter(number) ".";
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: .2em;
  right: 100%;
  font-size: 1.25rem;
  transform: translateX(1.125rem);
  color: #999;
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  font-weight: 500
}

.p-content-area ol ol li::before {
  content: counter(number, lower-alpha) "."
}

.p-content-area sup {
  position: relative;
  top: -.5em
}

.p-content-area li:not([class]) {
  font-size: var(--text-font-size);
  position: relative;
  list-style: none;
  line-height: 1.5;
  margin-bottom: .75rem
}

.p-content-area li:not([class]):last-child {
  margin-bottom: 0
}

.p-content-area .wp-block-image {
  width: 100%;
  padding: 0 .0625rem
}

.p-content-area .wp-block-image .aligncenter {
  display: flex;
  flex-direction: column;
  align-items: center
}

.p-content-area .wp-block-image .alignright {
  display: flex;
  flex-direction: column;
  align-items: flex-end
}

.p-content-area .wp-block-image img {
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  box-shadow: 0 0 0 1px var(--color-gray-light)
}

.p-content-area .wp-block-image a[target=_blank]::after {
  display: none
}

.p-content-area .wp-block-table {
  overflow-x: auto
}

.p-content-area .wp-block-table table {
  border-collapse: separate;
  border-bottom: var(--line-gray);
  table-layout: fixed;
  border-spacing: 0
}

.p-content-area .wp-block-table td,
.p-content-area .wp-block-table th {
  font-size: var(--text-font-size);
  border: 0
}

.p-content-area .wp-block-table td:first-child,
.p-content-area .wp-block-table th:first-child {
  border-left: none
}

.p-content-area .wp-block-table th {
  font-weight: 600;
  line-height: 1.25;
  background-color: var(--color-gray-light);
  border-left: var(--line-gray)
}

.p-content-area .wp-block-table th:first-child {
  width: 15rem
}

.p-content-area .wp-block-table td {
  border-top: var(--line-gray)
}

.p-content-area .wp-block-table td:first-child {
  font-weight: 600;
  line-height: 1.25;
  background-color: var(--color-gray-light)
}

.p-content-area .wp-block-table td:not(:first-child) {
  width: 100%
}

.p-content-area .wp-block-table.-fixed td {
  border-left: var(--line-gray)
}

.p-content-area .wp-block-columns {
  gap: 0 !important
}

.p-content-area .wp-block-columns .wp-block-image {
  margin-top: 0
}

.p-content-area>.wp-block-columns {
  margin-top: 3rem;
  margin-bottom: 3rem
}

.p-content-area>.wp-block-columns .wp-block-columns {
  gap: 0
}

.p-content-area .wp-block-column :last-child {
  margin-bottom: 0
}

.p-content-area.-type_b {
  counter-reset: section
}

.p-content-area.-type_b h2::before {
  counter-increment: section;
  content: "Section-" counter(section, decimal-leading-zero);
  display: block;
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  color: var(--color-accent);
  font-weight: 400;
  letter-spacing: .07em;
  margin-bottom: .125rem
}

.p-content-area.-type_b h2::after {
  content: "";
  display: block;
  height: 100%;
  width: .25rem;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--color-accent);
  border-radius: 0
}

.p-content-area.-job h2::before {
  content: "Division-" counter(section, decimal-leading-zero)
}

.p-content-area.-interview h2::before {
  content: none
}

.p-content-area.-type_d {
  --line-height: 1.5
}

.p-content-area.-type_d p:not(.c-sentence) span,
.p-content-area.-type_d p:not(.c-sentence) strong {
  font-size: var(--text-font-size) !important
}

.p-content-area .wp-block-embed .twitter-tweet-rendered {
  margin: 0 auto
}

.p-content-area .instagram-media {
  margin: 0 auto 1.5rem !important
}

.p-content-area .wp-block-embed__wrapper {
  display: flex;
  justify-content: center
}

.p-content-area .is-type-video.wp-embed-aspect-16-9 {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative
}

.p-content-area .is-type-video.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0
}

.p-content-area .is-type-video.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%
}

.p-content-area .twitter-timeline {
  border: var(--line-gray) !important
}

.p-content-area .wp-block-quote {
  background: var(--color-gray-light);
  margin-bottom: 1.5rem
}

.p-content-area .p-block-link {
  border: var(--line-gray);
  box-sizing: border-box;
  text-decoration: none;
  display: grid;
  transition: all .5s cubic-bezier(.19, 1, .22, 1);
  background-color: var(--color-gray-light2)
}

.p-content-area .p-block-link.-none-image {
  grid-template: "head" auto "link" auto/1fr
}

.p-content-area .p-block-link__head {
  grid-area: head
}

.p-content-area .p-block-link__title {
  display: block;
  font-weight: 600;
  color: var(--color-black);
  line-height: 1.5
}

.p-content-area p.p-block-link__desc {
  line-height: 1.75
}

.p-content-area .p-block-link__thumbnail {
  grid-area: image
}

.p-content-area .p-block-link__path {
  grid-area: link;
  font-size: .75rem;
  color: var(--color-gray-link);
  word-break: break-all;
  line-height: 1.5
}

.p-content-area .p-pro-column {
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem
}

.p-content-area .p-pro-column h3 {
  margin-top: 2rem;
  margin-bottom: 1rem
}

.p-content-area .p-pro-column p {
  color: var(--color-gray-link);
  font-size: 1rem;
  line-height: 1.75
}

.p-content-area .p-pro-column__sub-name {
  display: block;
  color: var(--color-gray-link);
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  font-weight: 400;
  line-height: 1
}

.f-form label,
.p-content-area .p-pro-column__position {
  font-weight: 600;
  line-height: 1.5
}

.p-content-area .p-pro-column__profile {
  width: 100%;
  height: 0;
  padding-top: 100%;
  position: relative
}

.p-content-area .p-pro-column__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-content-area .p-pro-column__sns {
  display: flex;
  margin: 0 -.5rem
}

.p-content-area .p-pro-column__sns-item {
  margin: 0 .5rem;
  position: relative
}

.p-content-area .p-pro-column__sns-item::after {
  display: inline-block;
  position: relative;
  content: "\e904";
  top: .025em;
  font-family: "icofont";
  margin: 0 .375rem 0 .25rem;
  font-size: var(--icon-size);
  color: currentColor;
  line-height: 1
}

.p-content-area .p-custom-cta {
  border: .0625rem solid var(--color-gray-line);
  box-sizing: border-box
}

.f-form .hbspt-form fieldset.form-columns-2,
.p-content-area .p-custom-cta__links {
  display: grid
}

.has-inline-color,
.has-text-color {
  color: var(--color-active) !important
}

.has-background {
  background-color: var(--color-bg) !important
}

.has-black-color {
  --color-active: var(--color-black)
}

.has-dark-gray-color {
  --color-active: var(--color-gray-link)
}

.has-red-color {
  --color-active: var(--color-red)
}

.has-blue-color {
  --color-active: var(--color-blue)
}

.has-yellow-color {
  --color-active: #FFF700
}

.has-category-color {
  --color-active: var(--color-accent)
}

.has-black-background-color {
  --color-bg: var(--color-black)
}

.has-dark-gray-background-color {
  --color-bg: var(--color-gray-link)
}

.has-red-background-color {
  --color-bg: var(--color-red)
}

.has-blue-background-color {
  --color-bg: var(--color-blue)
}

.has-yellow-background-color {
  --color-bg: #FFF700
}

.has-category-background-color {
  --color-bg: var(--color-accent)
}

.has-xs-font-size {
  --font-size: 0.75rem !important;
  --text-font-size: 0.75rem !important
}

.has-s-font-size {
  --font-size: 0.875rem !important;
  --text-font-size: 0.875rem !important
}

.has-text-align-center {
  text-align: center !important
}

.u-show-l,
.u-show-xl {
  display: none
}

.u-type-common {
  --color-accent: #8d0002;
  --color-accent-hover: #000000;
  --color-accent-bg: #F5E9F1
}

.u-type-solution {
  --color-accent: var(--color-purple);
  --color-accent-hover: var(--color-purple-hover);
  --color-accent-bg: #F5E9F1
}

.u-type-service {
  --color-accent: var(--color-red);
  --color-accent-hover: var(--color-red-hover)
}

.u-type-service-consulting {
  --color-accent: #BD1913;
  --color-accent-hover: #FF2600
}

.u-type-service-sns-marketing {
  --color-accent: #437CA3;
  --color-accent-hover: #2880BD
}

.u-type-service-promotion {
  --color-accent: #00A375;
  --color-accent-hover: #00C28B
}

.u-type-service-creative {
  --color-accent: #7A0A80;
  --color-accent-hover: #9900A1
}

.u-type-service-agent {
  --color-accent: #203296;
  --color-accent-hover: #203296
}

.u-type-product {
  --color-accent: #E4007F;
  --color-accent-hover: #F74AAB
}

.u-type-works {
  --color-accent: #007DB8;
  --color-accent-hover: #0098E0;
  --color-accent-bg: #E1EFF5
}

.u-type-company,
.u-type-contact {
  --color-accent: #9BB504;
  --color-accent-hover: #9FCF04
}

.u-type-news {
  --color-accent: #D60077;
  --color-accent-hover: #F041A2;
  --color-accent-bg: #FAEBF3
}

.u-type-event {
  --color-accent: #3A597F;
  --color-accent-hover: #4D76A8;
  --color-accent-bg: #D8E0EB
}

.u-type-media {
  --color-accent: #009976;
  --color-accent-hover: #00BD90;
  --color-accent-bg: var(--color-white)
}

.u-type-download,
.u-type-knowhow,
.u-type-note {
  --color-accent: #D95316;
  --color-accent-hover: #F57200;
  --color-accent-bg: #F7D6C8
}

.u-type-feature {
  --color-accent: #D94A30;
  --color-accent-hover: #FF2700
}

.u-type-recruit {
  --color-accent: #E96D33;
  --color-accent-hover: #FF7E14
}

.u-align-center {
  display: block;
  text-align: center
}

.u-flex-start {
  align-self: flex-start
}

.u-reading-lvl1 {
  --line-height: 1
}

.u-reading-lvl2 {
  --line-height: 1.5
}

.u-top-lvl-1 {
  top: .05em
}

.u-top-lvl-2 {
  top: .1em
}

.u-d-block {
  display: block
}
header#js-header {
  background-image: url(https://disruptiveadvertising.com/static/085179869bc2bcbbcefd73b142ee16bc/a4377/red-background-parallax.webp);
  border-bottom: 2px solid;
}
.f-form {
  background-color: var(--color-white)
}

.f-form.-type_b {
  padding: 0
}

.f-form label {
  display: block;
  font-size: .875rem;
  line-height: 1.2;
  letter-spacing: .05em;
  font-feature-settings: "palt"
}

.f-form fieldset+fieldset {
  margin-top: 1.25rem
}

.f-form .hs-form-required {
  color: #e81c09
}

.f-form .hs-input:not([type=checkbox]) {
  border-radius: .125rem;
  padding: .8125rem 1rem;
  width: 100% !important;
  font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif
}

.f-form .hs-input:not([type=checkbox])::-moz-placeholder {
  font-size: 1rem;
  color: #a6a6a6;
  letter-spacing: .05em;
  font-feature-settings: "palt"
}

.f-form .hs-input:not([type=checkbox]):-ms-input-placeholder {
  font-size: 1rem;
  color: #a6a6a6;
  letter-spacing: .05em;
  font-feature-settings: "palt"
}

.f-form .hs-input:not([type=checkbox])::placeholder {
  font-size: 1rem;
  color: #a6a6a6;
  letter-spacing: .05em;
  font-feature-settings: "palt"
}

.f-form .hs-input:not([type=checkbox]):focus {
  outline: .125rem solid var(--color-accent)
}

.f-form .hs-input[type=checkbox] {
  position: relative;
  top: .05em
}

.f-form textarea.hs-input:not([type=checkbox]) {
  min-height: 6.25rem
}

.f-form .legal-consent-container .hs-form-booleancheckbox-display>span {
  font-size: 1rem
}

.f-form .legal-consent-container .field.hs-form-field {
  margin-bottom: 0
}

.f-form .legal-consent-container .hs-form-booleancheckbox-display {
  margin-bottom: 0;
  margin-top: .75rem
}

.f-form .legal-consent-container div+.hs-richtext {
  padding-top: 1rem;
  border-top: .0625rem solid var(--color-gray-line)
}

.f-form .legal-consent-container {
  padding: .25rem 1.5rem 1.5rem;
  background-color: #f5f5f5
}

.f-form .hs-error-msg {
  margin-top: .375rem;
  margin-bottom: 0;
  color: #e81c09;
  font-weight: 400;
  font-size: .875rem
}

.f-form .hs-error-msg::before {
  content: "※"
}

.f-form .hs-richtext {
  line-height: 1.5;
  margin: 1.25rem 0 0
}

.f-form .hs_recaptcha {
  display: flex;
  flex-direction: row-reverse;
  margin: 1rem 0
}

.f-form .hs-dependent-field {
  margin-top: .75rem
}

.f-form .hbspt-form fieldset.form-columns-1 .input {
  margin-right: 0
}

.f-form .hbspt-form fieldset.form-columns-2 .hs-form-field {
  width: 100%
}

.f-form .hbspt-form fieldset.form-columns-2 .input {
  margin: 0
}

.f-form .hs_submit {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  --color-icon: var(--color-white);
  --arrow-size: 1.125rem;
  --font-size: 1.125rem;
  --color-btn: var(--color-accent);
  --color-btn-hover: var(--color-accent-hover);
  --padding: 0.625rem 2.375rem 0.625rem
}

.f-form .actions {
  position: relative
}

.f-form .actions::after {
  position: absolute;
  font-weight: 100;
  font-family: "icofont";
  content: "\e905";
  display: inline-block;
  font-size: var(--arrow-size);
  line-height: 1;
  top: 50%;
  right: 1.25rem;
  transform: translate(0, -50%) rotate(-90deg);
  color: var(--color-icon)
}

.f-form .hs-form-field+.legal-consent-container {
  margin-top: 1.25rem
}

.f-form .hs-button {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  box-sizing: border-box;
  width: 100%;
  min-height: var(--btn-height);
  justify-content: center;
  align-items: center;
  border-radius: calc(var(--btn-height)/2);
  padding: .625rem 2.375rem;
  background: var(--color-btn) !important;
  color: var(--color-white);
  transition: background-color .5s cubic-bezier(.19, 1, .22, 1);
  font-weight: 700;
  font-size: var(--font-size);
  line-height: 1;
  border: 0
}

.f-form input[type=submit] {
  -webkit-appearance: none !important
}

@media screen and (max-width:74.9375em) and (min-width:64em) {
  .p-media-image__img {
    --image-size: 13.75rem
  }
}

@media only screen and (max-width:63.99375em) {
    .p-header-logo__img {
      width: 65px;
      height: auto;
  }
  .l-header {
    --logo-size: 6.5rem;
    --color-header-bg: var(--color-white)
  }

  .l-header__inner {
    height: 4.5rem;
    padding: .875rem 3.73%
  }

  .l-main {
    padding-top: 4.5rem
  }

  .l-cta__link {
    --icon-size: 1.5rem;
    --title-font-size: 1.25rem;
    --icon-position: 0.1em;
    padding: 3.125rem var(--padding-x)
  }

  .l-cta__link.-contact {
    --title-font-size: 1.75rem;
    --icon-position: 0.4em
  }

  .l-cta__title {
    padding-left: 2.25rem
  }

  .l-cta__text {
    padding-top: .75rem
  }

  .l-cta__text+.l-cta__text {
    padding-top: .5rem
  }

  .l-cta-recruit__heading {
    --font-size: 1.375rem;
    margin-top: .375rem
  }

  .c-button.-recruit::after,
  .c-sentence.-recruit-banner br,
  .c-sentence.-recruit-top br,
  .l-cta-recruit__heading br {
    display: none
  }

  .l-cta-recruit__links {
    margin-top: 1.25rem
  }

  .l-cta-recruit__item+.l-cta-recruit__item {
    margin-top: .75rem
  }

  .c-button.-recruit {
    --font-size: 0.75rem;
    --btn-height: 2rem;
    --btn-width: 7rem;
    width: 7rem;
    margin-right: .75rem;
    padding: 0;
    margin-bottom: .5rem
  }

  .c-link {
    --position-y: 0.1em
  }

  .c-link.-size_xl {
    font-size: 1.25rem;
    --position-y: 0.2em
  }

  .c-link.-recruit-banner {
    font-size: 1.125rem;
    --position-y: 0.2em
  }

  .c-link.-cta {
    --icon-size: 1.5rem;
    padding-left: 2.125rem;
    font-size: 1.25rem
  }

  .c-list-anchor__inner.-service,
  .c-list-anchor__inner.-solution {
    margin-top: 1rem
  }

  .c-list-check__item {
    padding: .1875rem 0 0 1.5rem
  }

  .p-breadcrumbs__item:not(:first-child)::before {
    top: .05em
  }

  .p-breadcrumbs__text {
    padding: .125rem 0;
    position: relative;
    top: -.2em
  }

  .p-footer-head {
    flex-direction: column;
    justify-content: center;
    padding: 2rem var(--padding-x)
  }

  .p-footer-head__logo {
    width: 10rem
  }

  .p-footer-head__copy {
    font-size: 1rem;
    margin-top: 1rem;
    line-height: 1.5;
    text-align: center
  }

  .p-footer-main__right {
    margin-top: 2rem;
    row-gap: 2rem
  }

  .p-grid.-col-2 {
    --col-number: 1
  }

  .p-grid.-col-4 {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    --col-number: 2
  }

  .p-grid.-cta,
  .p-grid.-solution {
    --col-number: 1
  }

  .p-header-menu {
    flex-direction: column;
    justify-content: flex-start;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 1.875rem 5.33% 7.5rem;
    height: calc(100vh - 4.5rem);
    transition: all .35s;
    -webkit-transition: -webkit-transform all .35s;
    background-color: var(--color-white);
    overflow-y: scroll;
    overflow-x: hidden
  }

  .p-header-menu.-active .p-header-menu__item {
    opacity: 1;
    transform: translateY(0)
  }

  .p-header-menu__item {
    opacity: 0;
    transform: translateY(.625rem);
    transition: all .2s ease-in-out
  }

  .p-header-menu__link {
    padding: 1rem 1.875rem 1rem 0;
    color:#000000;
    border-bottom: 1px solid var(--color-gray-line);
    font-weight: 500;
    position: relative;
    width: 100%;
    text-align: left
  }

  .p-header-menu__link::after {
    font-weight: 100;
    font-family: "icofont";
    color: var(--color-gray);
    position: absolute;
    content: "\e905";
    display: block;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 1rem;
    line-height: 1
  }

  .p-header-menu__link.-accordion::after,
  .p-header-menu__link.-accordion::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: .125rem;
    background-color: var(--color-gray);
    transform: translateY(-50%)
  }

  .p-header-menu__link.-accordion::before {
    width: .125rem;
    height: .875rem;
    margin: 0 .375rem
  }

  .p-header-menu__link.-accordion::after {
    width: .875rem;
    height: .125rem
  }

  .p-header-menu__link.-accordion.-open::before {
    opacity: 0
  }

  .p-header-logo.-size_s {
    --logo-size: 4.125rem
  }

  .p-header-trigger {
    width: 3.125rem;
    height: 3.125rem;
    box-sizing: border-box;
    padding: .625rem .5625rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer
  }

  .p-header-trigger__bar {
    width: 100%;
    height: .125rem;
    display: block;
    background-color: var(--color-black);
    position: relative
  }

  .p-header-trigger__bar::after,
  .p-header-trigger__bar::before {
    position: absolute;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--color-black);
    transition: all .3s;
    -webkit-transition: all .3s;
    will-change: top transform
  }

  .p-header-pulldown,
  .p-home-section__title br,
  .p-main-visual__text br {
    display: none
  }
/* 
  .p-main-visual {
    padding-top: 4.875rem
  } */
  .p-main-visual__movie.-opacity {
    display: none;
}

  .p-main-visual__movie {
    transition: opacity 1s cubic-bezier(.19, 1, .22, 1);
    position: relative;
    height: 20rem
  }

  .p-main-visual__movie-inner {
    transition: opacity 1s cubic-bezier(.19, 1, .22, 1);
    height: 25rem;
    left: 35%
  }

  .p-main-visual__copy {
    position: relative;
    background-color: var(--color-white);
    padding: 1.5rem var(--padding-x);
    width: 100%
  }

  .p-main-visual__title {
    font-size: 1.75rem;
    margin-top: 1rem
  }

  .p-main-visual__text {
    font-size: 1rem;
    margin-top: 1rem;
    line-height: 1.75
  }

  .p-home-section {
    --padding: 5rem 10.13% 0
  }

  .p-home-section__inner {
    flex-direction: column-reverse
  }

  .p-home-section__title {
    font-size: 1.75rem;
    margin: 1rem auto 0
  }

  .p-home-section__content {
    text-align: justify
  }

  .p-home-section__heading {
    font-size: 1.375rem;
    display: inline;
    text-align: justify
  }

  .p-home-section__heading.-xs-block {
    display: block;
    margin-bottom: .75rem
  }

  .p-intro {
    margin-top: 5rem;
    --padding: 3rem var(--padding-x)
  }

  .p-intro__content {
    margin-bottom: 1.5rem
  }

  .p-home-product {
    padding: 1.25rem
  }

  .p-home-product__list {
    margin-top: 1.5rem
  }

  .p-section.-breadcrumb {
    --padding: 0.75rem var(--padding-x) 0
  }

  .p-section.-page-head,
  .p-section.-post {
    --padding: 2rem var(--padding-x)
  }

  .p-section.-category {
    --padding: 1.25rem var(--padding-x) 0
  }

  .p-section.-requirement {
    --padding: 1.25rem var(--padding-x) var(--padding-y)
  }

  .p-section.-archive-download,
  .p-section.-works-top {
    --padding: 2rem var(--padding-x) 0
  }

  .p-section.-company/profile {
    --padding: 2rem var(--padding-x)
  }

  .p-section.-download {
    --padding: 0.5rem var(--padding-x) var(--padding-y)
  }

  .p-section.-error {
    --padding: 2.25rem var(--padding-x) var(--padding-y)
  }

  .p-section.-last {
    --padding: var(--padding-y) var(--padding-x) 0
  }

  .p-section.-members {
    --padding: 3rem var(--padding-x) 0
  }

  .p-section.-members-last {
    --padding: 3rem var(--padding-x)
  }

  .p-section.-xm-px-0 {
    --padding: var(--padding-y) 0
  }

  .p-page-layout {
    display: flex;
    flex-direction: column-reverse
  }

  .p-page-layout__sidebar {
    margin-bottom: var(--gap-y)
  }

  .p-page-lead {
    --padding-y: 2rem
  }

  .p-page-lead__inner {
    row-gap: 1.5rem
  }

  .p-page-lead__balloon {
    --color-accent: var(--color-white);
    --color-active: var(--color-white);
    color: var(--color-white)
  }

  .p-page-lead__list {
    row-gap: .75rem
  }

  .p-page-lead__list-item.-circle {
    padding-left: 2.25rem
  }

  .p-page-lead__list-item.-circle::before {
    --icon-size: 1.5rem
  }

  .p-page-lead__list-item.-check {
    padding-left: 2rem
  }

  .p-page-lead__list-item.-check::before {
    top: .2em
  }

  .p-page-lead__title.-marker {
    display: block;
    padding: .375rem;
    background-color: var(--color-white)
  }

  .p-page-lead__marker {
    font-size: 1.25rem;
    line-height: 1.5
  }

  .p-sidebar.-note {
    margin-top: 3rem
  }

  .p-sidebar__block {
    padding: 0 0 1.5rem
  }

  .p-sidebar__block.-pulldown {
    padding-bottom: 0
  }

  .p-sidebar__block.-recruit {
    border-bottom: var(--line-gray)
  }

  .p-sidebar__block.-last {
    padding: .75rem 0 0
  }

  .p-sidebar__block+.p-sidebar__block {
    border-top: var(--line-gray)
  }

  .p-flow__name br,
  .p-share-icons__tooltip {
    display: none
  }

  .p-list-card.-service {
    padding: 1.25rem
  }

  .p-list-card__name.-size_l {
    font-size: 1.25rem;
    padding-left: 2.125rem
  }

  .p-overview__content {
    margin-top: 1rem
  }

  .p-overview__tr:last-child {
    padding-bottom: 0
  }

  .p-overview__th {
    font-size: .75rem;
    font-weight: 600;
    margin-bottom: .5rem
  }

  .p-page-banner {
    margin-top: 1.5rem
  }

  .p-flow {
    row-gap: 3.5rem
  }

  .p-flow__item {
    border: .0625rem solid var(--color-gray-line);
    padding: 1rem
  }

  .p-flow__item:not(:last-child)::after {
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.125rem
  }

  .p-flow__name {
    font-size: 1.125rem
  }

  .p-flow__content {
    margin-top: .75rem
  }

  .p-qna__item {
    row-gap: .75rem
  }

  .p-qna__q {
    font-size: 1.125rem
  }

  .p-qna__q::before {
    display: block;
    font-size: .875rem;
    line-height: 1;
    margin-bottom: .125rem;
    content: "Q" counter(item) "."
  }

  .p-feature-point {
    --margin-image: rem(24) 0 0
  }

  .p-feature-point__image {
    width: 100%;
    margin-top: 1.5rem
  }

  .p-feature-point__image img {
    width: 100%
  }

  .p-media-image.-white {
    padding-top: 20.9375rem
  }

  .p-media-image__img {
    --image-size: 15.625rem
  }

  .p-post-share {
    display: none
  }

  .p-page-head-right {
    margin-top: 2.5rem;
    gap: .75rem
  }

  .p-page-download__form {
    padding-top: 2.8125rem
  }

  .p-category-list__name {
    display: block
  }

  .p-newsletter-button {
    font-size: 1.125rem;
    padding: 0 1.25rem;
    min-height: 5rem
  }

  .p-newsletter-button__image {
    width: 6.25rem;
    margin-right: .5rem
  }

  .p-newsletter-button__arrow {
    --icon-size: 1.25rem;
    right: 1.25rem
  }

  .p-layout-a__link {
    margin-top: .75rem
  }

  .p-layout-a__link-item {
    padding: .75rem 0
  }

  .p-layout-a__button {
    margin-top: 1.5rem
  }

  .p-card-cta__title {
    font-size: .875rem
  }

  .p-content-area .p-pro-column h3 br,
  .p-page-top,
  .p-recruit-message__title br {
    display: none
  }

  .p-card-feature {
    --padding: 1.25rem
  }

  .p-card-feature.-col-2 {
    display: flex;
    flex-direction: column-reverse
  }

  .p-card-feature__bg {
    height: 12.375rem
  }

  .p-card-feature__name {
    font-size: 1.125rem;
    line-height: 1.25
  }

  .p-card-feature__unit {
    --font-size: 1.5rem
  }

  .p-card-feature__unit.-size_s,
  .p-card-feature__unit.-size_xs {
    --font-size: 1rem
  }

  .p-card-feature__unit+.p-card-feature__unit.-size_xs {
    margin-left: 1rem
  }

  .p-card-feature__unit+.p-card-feature__unit.-size_s {
    margin-left: .5rem
  }

  .p-card-feature__unit.-type_a {
    margin-left: 0 !important
  }

  .p-card-feature__unit.-type_b {
    margin-left: -.625rem !important
  }

  .p-card-feature__notes {
    width: 100%;
    font-size: .75rem;
    margin-top: .75rem
  }

  .p-card-feature__notes.-m-0 {
    margin-top: 0
  }

  .p-card-feature__number {
    --font-size: 5rem;
    line-height: 1.05;
    margin-top: -.75rem
  }

  .p-card-feature__number.-size_s {
    line-height: 1.1;
    --font-size: 2.5rem;
    margin-top: 0
  }

  .p-card-feature__number+.p-card-feature__number {
    margin-left: -.75rem
  }

  .p-card-feature__head {
    flex-wrap: wrap;
    margin-top: .625rem
  }

  .p-card-feature__image {
    width: 6.25rem;
    --position-y: 1.25rem;
    --position-x: 1.25rem
  }

  .p-card-feature__image.-type_a {
    width: 7.8125rem;
    --position-y: 1.875rem;
    --position-x: 1.875rem
  }

  .p-card-feature__image.-type_b {
    width: 7.5rem;
    --position-y: 2.75rem;
    --position-x: 2.5rem
  }

  .p-card-feature__image.-type_c {
    width: 8.75rem;
    --position-y: 3rem;
    --position-x: 1.25rem
  }

  .p-card-feature__image.-type_d {
    width: 7.8125rem;
    --position-y: 2rem;
    --position-x: 1.25rem
  }

  .p-card-feature__image.-type_e {
    width: 6.875rem;
    --position-y: 1.25rem;
    --position-x: 1.25rem
  }

  .p-card-feature__image.-type_f {
    width: 6.875rem;
    --position-y: 1.625rem;
    --position-x: 1.25rem
  }

  .p-card-feature__image.-type_g {
    width: 6.875rem;
    --position-y: 1.875rem;
    --position-x: 1.25rem
  }

  .p-card-feature__image.-type_h {
    width: 8.125rem;
    --position-y: 1.5rem;
    --position-x: 1.25rem
  }

  .p-card-feature__image.-type_i {
    width: 6.25rem;
    --position-y: 0.9375rem;
    --position-x: 0.75rem
  }

  .p-card-feature__image-b {
    padding: 0 1.25rem 1.25rem;
    max-width: 25rem;
    margin: 0 auto
  }

  .p-card-feature__text {
    margin-top: 1.125rem
  }

  .p-card-feature__ol,
  .p-card-feature__text+.p-card-feature__text {
    margin-top: .75rem
  }

  .p-card-feature__li {
    font-size: 1.25rem;
    line-height: 2
  }

  .p-serial {
    position: relative;
    max-height: 100%
  }

  .p-serial__inner {
    --padding: var(--padding-y) var(--padding-x) var(--padding-y)
  }

  .p-serial__layout {
    padding: 1.25rem
  }

  .p-serial__content1 {
    margin-bottom: 1.5rem
  }

  .p-product-banner__image {
    width: 9rem;
    min-width: 9rem
  }

  .p-media-card {
    padding: 2rem 1rem
  }

  .p-media-card__head {
    padding-bottom: 1rem
  }

  .p-media-card__content {
    padding-top: 1.5rem
  }

  .p-media-card__content::before {
    width: 100%;
    height: .125rem
  }

  .p-recruit-main {
    padding: 1.25rem var(--padding-x) 0
  }

  .p-recruit-main__title {
    font-size: 1.875rem;
    margin-left: -.625rem
  }

  .p-recruit-main__button {
    margin-top: 2rem
  }

  .p-recruit-about {
    flex-direction: column
  }

  .p-recruit-about__copy,
  .p-recruit-about__visual {
    padding: 2.5rem var(--padding-x) 0
  }

  .p-recruit-members__item {
    --image-size: 7.5rem
  }

  .p-recruit-message__image {
    height: 23.4375rem
  }

  .p-recruit-message__inner {
    padding: 2.5rem var(--padding-x)
  }

  .f-form .hs-richtext p,
  .p-recruit-message__desc {
    line-height: 1.75
  }

  .p-card-requirement {
    padding: 3.25rem 1.25rem 1.25rem
  }

  .p-card-requirement__tag {
    width: calc(100% + .125rem)
  }

  .p-card-requirement-info {
    --gap-y: 1.5rem
  }

  .p-card-requirement-info__dd {
    margin-top: .25rem
  }

  .p-recruit-pulldown {
    height: 0;
    overflow: hidden
  }

  .p-recruit-pulldown__link {
    --icon-size: 0.875rem;
    --color-icon: var(--color-gray);
    --transition-time: 0.3s;
    line-height: 1;
    color: var(--color-link);
    font-size: var(--font-size);
    display: block;
    font-family: YakuHanJP, "Noto Sans JP", YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    padding: 1rem 1.875rem 1rem 0;
    border-bottom: 1px solid var(--color-gray-line);
    position: relative;
    width: 100%;
    text-align: left
  }

  .p-recruit-pulldown__link::before {
    font-weight: 100;
    font-family: "icofont";
    color: var(--color-gray);
    position: absolute;
    content: "\e905";
    display: block;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 1rem;
    line-height: 1
  }

  .p-recruit-banner {
    border: .125rem solid var(--color-gray-line);
    padding: 1.25rem
  }

  .p-recruit-banner__title {
    --font-size: 1.25rem
  }

  .p-recruit-banner__desc,
  .p-recruit-banner__link {
    margin-top: .75rem
  }

  .p-tab {
    margin-top: 2.25rem
  }

  .p-tab__label {
    min-height: 3.5rem;
    font-size: 1.25rem
  }

  .p-tab__body {
    margin-top: 2rem
  }

  .p-content-area .wp-block-lazyblock-professional {
    margin-top: 3rem
  }

  .p-content-area .p-pro-column {
    display: flex;
    flex-direction: column-reverse
  }

  .p-content-area .p-pro-column__copy {
    margin-top: 1.25rem
  }

  .p-content-area .p-pro-column__sub-name {
    font-size: .75rem
  }

  .p-content-area .p-pro-column__name {
    margin-top: .125rem;
    margin-bottom: .25rem
  }

  .p-content-area .p-pro-column__position {
    font-size: .75rem
  }

  .p-content-area .wp-block-lazyblock-content-cta {
    margin: 4.25rem 0
  }

  .p-content-area .p-custom-cta {
    padding: 1.25rem .75rem
  }

  .p-content-area .p-custom-cta__links {
    gap: .125rem
  }

  .u-xm-mt-6 {
    margin-top: .375rem
  }

  .u-xm-mb-0 {
    margin-bottom: 0
  }

  .u-show-m {
    display: none
  }

  .f-form .hs-richtext {
    font-size: .875rem
  }
}

@media only screen and (max-width:47.9375em) {
  :root {
    --padding-x: 5.33%;
    --padding-y: 2.5rem;
    --text-font-size: 1rem;
    --line-height: 1.75
  }

  body.-active {
    overflow: hidden
  }

  .p-content-area a:not([class])[target=_blank]::after,
  a:not([class])[target=_blank]::after {
    --icon-size: 0.75rem
  }

  .l-information {
    padding: 2.5rem var(--padding-x) 1.5rem
  }

  .l-cta__link {
    padding: 2rem
  }

  .l-cta-recruit__sub-heading {
    --font-size: 0.75rem
  }

  .c-button {
    width: 100%;
    --btn-height: 3.5rem
  }

  .c-date,
  .c-sub-heading {
    --font-size: 0.75rem
  }

  .c-date.-size_l {
    --font-size: 0.875rem;
    --position-y: 0.05em
  }

  .c-date.-event {
    top: .1em
  }

  .c-date.-event,
  .c-date.-event-l,
  .c-date.-news {
    --font-size: 0.875rem
  }

  .c-date.-border::after {
    height: .75rem
  }

  .c-sentence.-size_l {
    --text-font-size: 1rem
  }

  .c-sentence.-size_s {
    --text-font-size: 0.875rem
  }

  .c-sentence.-size_xs {
    --text-font-size: 0.75rem
  }

  .c-sentence.-reading_type-a {
    --line-height: 1.4
  }

  .c-sentence.-reading_type-b,
  .c-sentence.-reading_type-c {
    --line-height: 1.65
  }

  .c-sentence.-reading_type-d {
    --line-height: 1.6
  }

  .c-sentence.-xs-bold {
    font-weight: 600
  }

  .c-sentence.-xs-no-breaks br {
    display: none
  }

  .c-sentence.-book-page,
  .c-sentence.-home,
  .c-sentence.-product,
  .c-sentence.-recruit-top {
    --text-font-size: 1rem
  }

  .c-sentence.-recruit-banner {
    --text-font-size: 0.875rem
  }

  .c-heading.-lvl_1,
  .c-heading.-lvl_15 {
    --font-size: 1.75rem
  }

  .c-heading.-lvl_2 {
    --font-size: 1.5rem
  }

  .c-heading.-lvl_25 {
    --font-size: 1.375rem
  }

  .c-heading.-lvl_3 {
    --font-size: 1.5rem
  }

  .c-heading.-lvl_35 {
    --font-size: 1.375rem
  }

  .c-heading.-lvl_4,
  .c-heading.-lvl_5 {
    --font-size: 1.25rem
  }

  .c-heading.-lvl_6 {
    --font-size: 1.125rem
  }

  .c-heading.-lvl_65 {
    --line-height: 1.25;
    --font-size: 1.25rem
  }

  .c-heading.-lvl_7 {
    --font-size: 1.125rem
  }

  .c-heading.-lvl_8 {
    --font-size: 0.875rem
  }

  .c-heading.-xs-center {
    display: block;
    text-align: center
  }

  .c-heading.-members,
  .c-heading.-thanks {
    --font-size: 1.25rem
  }

  .c-sub-heading.-size_l,
  .c-sub-heading.-size_xl {
    --font-size: 1rem
  }

  .c-link.-size_l {
    --icon-size: 1.25rem;
    padding-left: 1.75rem;
    font-size: 1.125rem
  }

  .c-list-anchor {
    --gap-link: 1rem
  }

  .c-list-anchor.-full {
    --gap-link: 0.75rem
  }

  .c-list-anchor__item:last-child {
    --line-gray: none
  }

  .c-list-anchor__link::after {
    top: 50%;
    transform: translateY(-50%)
  }

  .c-list-icon__item {
    padding-left: 1.75rem;
    line-height: 1.5;
    margin-bottom: .75rem
  }

  .c-list-icon__item::before {
    top: .15em
  }

  .c-tag {
    top: -.08em
  }

  .c-tag,
  .c-tag.-size_l {
    font-size: .75rem
  }

  .c-icon.-blank_s {
    top: .2em
  }

  .c-icon.-page-head {
    --icon-size: 2rem;
    top: .1em;
    min-width: var(--icon-size)
  }

  .c-image.-error {
    width: 12.5rem
  }

  .c-pagination {
    margin-top: 2.5rem
  }

  .c-pagination__item,
  .p-content-area p.p-block-link__desc,
  .p-home-section__heading br,
  .p-intro__text br,
  .p-page-lead__title.-members br {
    display: none
  }

  .c-pagination__item.-next,
  .c-pagination__item.-prev {
    display: block
  }

  .c-pagination__item.-disabled {
    pointer-events: none;
    opacity: .3
  }

  .c-inline-link[target=_blank]::after {
    --icon-size: 0.75rem;
    top: .05em
  }

  .c-like-button,
  .c-like-button .wp_ulike_general_class,
  .c-liked-tag {
    width: 100%
  }

  .c-like-button .wpulike-default button.wp_ulike_btn {
    min-width: 100%
  }

  .c-liked-tag .wpulike {
    display: block;
    width: 100%
  }

  .c-liked-tag .wp_ulike_general_class {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important
  }

  .c-liked-tag .wpulike .wp_ulike_btn {
    width: .875rem;
    position: static;
    margin-right: .375rem
  }

  .c-liked-tag .wpulike .wp_ulike_btn::after {
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0, 0)
  }

  .c-liked-tag .wpulike-heart .count-box {
    top: .1em
  }

  .c-timetable__dt {
    padding: .75rem 1rem;
    line-height: 1
  }

  .c-timetable__dd {
    padding: .75rem 0
  }

  .p-card__row.-head {
    --line-height: 1.65
  }

  .p-card__sub-image {
    width: 6.25rem;
    height: 3.4375rem;
    left: .75rem
  }

  .p-detail-cta {
    --border-size: 0.125rem;
    padding: 1.5rem
  }

  .p-footer-copyright {
    margin-bottom: .625rem
  }

  .p-footer-main {
    padding: 2rem var(--padding-x);
    border-top: var(--line-gray)
  }

  .p-footer-menu {
    row-gap: 1.25rem
  }

  .p-grid.-xs-gap-y-8 {
    --gap-y: 0.5rem
  }

  .p-grid,
  .p-grid.-xs-gap-y-16 {
    --gap-y: 1rem
  }

  .p-grid.-xs-gap-y-24 {
    --gap-y: 1.5rem
  }

  .p-grid.-xs-gap-y-32 {
    --gap-y: 2rem
  }

  .p-grid.-feature-logo {
    grid-template-columns: repeat(auto-fit, minmax(6.25rem, 1fr));
    --gap-x: 0.25rem;
    --gap-y: 0.25rem
  }

  .p-footer-product__item {
    width: 100%;
    height: 4rem;
    margin-left: .5rem
  }

  .p-main-visual__button {
    margin-top: 1.5rem
  }

  .p-intro__title {
    font-size: 1.5rem
  }

  .p-content-area .p-speaker__content .c-sentence,
  .p-intro__text+.p-intro__text {
    margin-top: .75rem
  }

  .p-section.-members-detail {
    --padding: 2rem 0 0
  }

  .p-page-lead__list-item {
    --font-size: 1.125rem
  }

  .p-sidebar__link {
    --color-active: var(--color-accent)
  }

  .p-share-icons.-detail {
    flex-wrap: wrap
  }

  .p-share-icons__item.-like-btn {
    width: 100%
  }

  .p-list-card {
    padding: 1.25rem
  }

  .p-list-card.-xs-size_s {
    padding: .75rem
  }

  .p-list-card.-media {
    padding: 1.25rem 1rem
  }

  .p-list-card.-solution {
    padding: 1.5rem
  }

  .p-list-card__arrow {
    --icon-size: 1.25rem;
    top: .21em
  }

  .p-list-card__arrow.-xs-size_s {
    --icon-size: 1.25rem;
    top: .15em
  }

  .p-list-card__arrow.-size_l {
    --icon-size: 1.5rem
  }

  .p-list-card__row.-border {
    --gap: 1rem;
    margin: 1.25rem calc(var(--gap)*-1) 0;
    padding: var(--gap) var(--gap) 0
  }

  .p-list-card__sub {
    --font-size: 0.75rem
  }

  .p-list-card__name {
    font-size: 1.125rem;
    padding-left: 1.875rem
  }

  .p-list-card__name.-xs-size_s {
    font-size: 1rem;
    padding-left: 1.75rem
  }

  .p-check-block {
    border: .125rem solid var(--color-gray-line);
    padding: 1.25rem
  }

  .p-banner-solution {
    flex-direction: column;
    padding: 2rem 1.25rem;
    --text-font-size: 0.875rem
  }

  .p-banner-solution__image {
    width: 13.4375rem;
    max-width: 13.4375rem;
    height: 2rem
  }

  .p-product-image.-size_s {
    --height: 54.3%;
    --height-image: 4rem
  }

  .p-product-image.-home {
    --height: 54.3%;
    --height-image: 4.125rem
  }

  .p-product-image.-recruit {
    --height: 54.3%
  }

  .p-works-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%
  }

  .p-content-area figcaption,
  .p-overview__name {
    font-size: .75rem
  }

  .p-page-banner {
    flex-direction: column-reverse;
    padding: 1rem 1rem 1.25rem;
    width: 100%
  }

  .p-page-banner__content {
    margin-top: 1rem
  }

  .p-page-banner__image {
    width: 8.625rem;
    margin: 0 auto
  }

  .p-flow__row {
    margin-top: .5rem
  }

  .p-feature-professional {
    row-gap: 1.5rem
  }

  .p-feature-professional__image {
    height: 0;
    padding-top: 75.06%;
    position: relative
  }

  .p-card-event__image img,
  .p-feature-professional__image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0
  }

  .p-service-info__image {
    margin-top: 1.5rem
  }

  .p-media-image__img {
    --image-size: 75%
  }

  .p-balloon {
    row-gap: 1.5rem
  }

  .p-balloon__item {
    flex-direction: column
  }

  .p-balloon__item.-reverse {
    align-items: flex-end
  }

  .p-balloon__image {
    z-index: 100;
    --image-size: 2.5rem;
    margin: 0 .75rem calc(var(--image-size)/-2)
  }

  .p-balloon__text {
    padding: 1.75rem 1rem 1rem
  }

  .p-box-block {
    --padding: 1rem
  }

  .p-box-block.-type_b {
    --padding: 1.5rem 1rem
  }

  .p-box-block.-type_c {
    margin: 1.25rem auto 0
  }

  .p-box-block.-type_d {
    padding: 1rem var(--padding-x)
  }

  .p-detail-sns {
    padding: 1rem
  }

  .p-page-head-right {
    margin-top: 1.5rem;
    flex-direction: column
  }

  .p-speaker__item {
    row-gap: .75rem
  }

  .p-speaker__item+.p-speaker__item {
    padding-top: 1.5rem;
    margin-top: 1.5rem
  }

  .p-speaker__profile {
    --image-size: 5rem
  }

  .p-content-area .p-speaker__name {
    --font-size: 1rem
  }

  .p-detail-banner {
    padding: 1rem 1rem 1.25rem;
    flex-direction: column;
    align-items: center
  }

  .p-detail-banner__image {
    max-width: 8.625rem
  }

  .p-detail-banner__content {
    width: 100%;
    margin-top: 1rem
  }

  .p-detail-banner__heading {
    font-size: 1.125rem
  }

  .p-page-cta {
    padding-top: 2rem;
    margin-top: 4.25rem
  }

  .p-card-event {
    display: block
  }

  .p-card-event__info {
    justify-content: space-between
  }

  .p-card-event__heading {
    font-size: 1rem;
    --line-height: 1.65
  }

  .p-card-event__image {
    --image-size: 55.55%;
    position: relative;
    overflow: hidden;
    height: 0;
    padding-top: var(--image-size)
  }

  .p-card-event__image img {
    width: 100%;
    transform: var(--image-transform);
    transition: all 1s cubic-bezier(.19, 1, .22, 1)
  }

  .p-card-event__content {
    margin-top: 1rem
  }

  .p-card-news__heading,
  .p-serial__text span {
    font-size: 1rem
  }

  .p-card-cta {
    grid-template-columns: 1fr minmax(5rem, 23%);
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    padding: .75rem 0 .75rem .75rem
  }

  .p-card-cta__thumbnail {
    min-height: 100%;
    margin: -.75rem 0;
    border-left: .0625rem solid var(--color-gray-line)
  }

  .p-card-cta__thumbnail-img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%
  }

  .p-sitemap {
    --col: 1
  }

  .p-sitemap__item {
    padding: .875rem 0
  }

  .p-serial__list {
    display: block
  }

  .p-serial__item {
    margin-bottom: 1.875rem
  }

  .p-serial__item:last-child {
    margin-bottom: 0
  }

  .p-serial__title1 {
    font-size: 1.25rem;
    margin-bottom: .75rem
  }

  .p-serial__text:before {
    margin-top: .1875rem
  }

  .p-product-banner {
    flex-direction: column;
    padding: 2rem 1.25rem;
    --text-font-size: 0.875rem;
    gap: 1rem
  }

  .p-cta-banner.-floating {
    max-width: 15.625rem;
    bottom: .75rem;
    right: .75rem
  }

  .p-recruit-members {
    height: 15.625rem
  }

  .p-card-interview__title {
    --font-size: 1.25rem
  }

  .p-recruit-message__title {
    --font-size: 1.5rem;
    --line-height: 1.5
  }

  .p-card-recruit-event {
    padding: 1.25rem
  }

  .p-card-recruit-event__arrow {
    --icon-size: 1.25rem;
    top: .15em
  }

  .p-card-recruit-event__name {
    font-size: 1.125rem
  }

  .p-member__heading {
    font-size: 1.25rem
  }

  .p-member-page__text+.p-member-page__text,
  .p-member__sub {
    margin-top: .25rem
  }

  .p-member-page {
    padding: 1.5rem var(--padding-x)
  }

  .p-member-page__copy {
    flex: 1;
    width: 100%
  }

  .p-member-page__picture {
    --image-size: 10rem;
    margin-right: 1rem
  }

  .p-content-area.-type_b h2::before,
  .p-member-page__eng {
    font-size: .875rem
  }

  .p-member-page__heading {
    line-height: 1.25;
    --font-size: 1.25rem
  }

  .p-member-page__text {
    line-height: 1.25;
    font-size: .875rem
  }

  .p-member-category+.p-member-category {
    margin-top: 2rem
  }

  .p-member-message {
    flex-direction: column-reverse;
    padding: 2.5rem 0 0
  }

  .p-member-message__text {
    width: 100%;
    margin-top: 2rem
  }

  .p-member-block,
  .p-member-message__text {
    padding: 1.5rem var(--padding-x)
  }

  .p-map {
    padding-top: 50%
  }

  .p-content-area h2 {
    --font-size: 1.5rem;
    margin: 4rem auto 1.5rem;
    border-left: 3px solid var(--color-accent)
  }

  .p-content-area h3:not(.c-heading) {
    --font-size: 1.375rem;
    margin: 1.5rem auto 1rem
  }

  .p-content-area h4,
  .p-content-area h5 {
    --font-size: 1rem;
    margin: 1.5rem auto .75rem
  }

  .p-content-area sup {
    font-size: .625rem
  }

  .p-content-area .wp-block-image {
    margin-top: 1.5rem;
    margin-bottom: 2rem
  }

  .p-content-area .wp-block-table {
    margin-bottom: 2.5rem
  }

  .p-content-area .wp-block-table th {
    white-space: nowrap;
    padding: .5rem .75rem
  }

  .p-content-area .wp-block-table th:first-child {
    min-width: 15rem
  }

  .p-content-area .wp-block-table td {
    padding: .5rem .75rem
  }

  .p-content-area .wp-block-table:not(.-fixed) table,
  .p-content-area .wp-block-table:not(.-fixed) tbody,
  .p-content-area .wp-block-table:not(.-fixed) td,
  .p-content-area .wp-block-table:not(.-fixed) tr {
    width: 100%;
    display: block
  }

  .p-content-area .wp-block-table.-fixed td:first-child {
    border-left: none
  }

  .p-content-area .wp-block-columns {
    display: block
  }

  .p-content-area .wp-block-columns .wp-block-image {
    margin-bottom: 1rem
  }

  .p-content-area .wp-block-columns.-tiny {
    display: flex;
    flex-wrap: nowrap !important;
    margin-bottom: .75rem;
    margin-top: 1.25rem
  }

  .p-content-area .wp-block-columns.-tiny .wp-block-column+.wp-block-column {
    margin-left: .75rem
  }

  .p-content-area .wp-block-columns.-tiny .wp-block-column {
    margin-top: 0
  }

  .p-content-area .wp-block-columns+.wp-block-columns.-tiny {
    margin-top: .75rem
  }

  .p-content-area .wp-block-column+.wp-block-column {
    margin-top: 2rem
  }

  .p-content-area .wp-block-lazyblock-text-link {
    margin-bottom: 1.125rem
  }

  .p-content-area .wp-block-lazyblock-check-block {
    margin: 1.375rem auto 2rem
  }

  .p-content-area .wp-block-create-block-blog-card {
    margin-top: .75rem;
    margin-bottom: .75rem
  }

  .p-content-area .wp-block-lazyblock-block-link-b {
    margin: .75rem 0
  }

  .p-content-area .wp-block-lazyblock-box-block,
  .p-content-area .wp-block-lazyblock-two-column {
    margin-bottom: 2rem
  }

  .p-content-area .p-list-card {
    margin: 1.5rem auto
  }

  .p-content-area .p-list-card+.p-list-card {
    margin: -.75rem auto 1.5rem
  }

  .p-content-area.-type_b h2 {
    padding-left: 1rem
  }

  .p-content-area.-type_d p:not(.c-sentence) {
    --text-font-size: 0.875rem
  }

  .p-content-area.-type_d p:not(.c-sentence) span,
  .p-content-area.-type_d p:not(.c-sentence) strong {
    --text-font-size: 1rem
  }

  .p-content-area .wp-block-embed {
    margin: 1rem auto 2rem
  }

  .p-content-area .wp-block-quote {
    padding: 1.5rem
  }

  .p-content-area .p-block-link {
    padding: 1.25rem;
    grid-template: "head" auto "link" auto/1fr;
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    row-gap: .5rem
  }

  .p-content-area .p-block-link__title {
    font-size: .875rem
  }

  .p-content-area .p-block-link__thumbnail {
    display: none;
    margin: -1.25rem 0;
    border-left: .0625rem solid var(--color-gray-line)
  }

  .p-content-area .p-block-link__thumbnail-img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%
  }

  .p-content-area .p-pro-column__sns {
    flex-wrap: wrap
  }

  .p-content-area .p-pro-column__sns-item::after {
    --icon-size: 0.75rem
  }

  .has-m-font-size {
    --font-size: 1rem !important;
    --text-font-size: 1rem !important
  }

  .has-l-font-size {
    --font-size: 1.125rem !important;
    --text-font-size: 1.125rem !important
  }

  .has-xl-font-size {
    --font-size: 1.25rem !important;
    --text-font-size: 1.25rem !important
  }

  .has-xxl-font-size {
    --font-size: 1.375rem !important;
    --text-font-size: 1.375rem !important
  }

  .has-xxxl-font-size {
    --font-size: 1.5rem !important;
    --text-font-size: 1.5rem !important
  }

  .u-xs-mt-0 {
    margin-top: 0
  }

  .u-xs-mt-1 {
    margin-top: .0625rem
  }

  .u-xs-mt-2 {
    margin-top: .125rem
  }

  .u-xs-mt-3 {
    margin-top: .1875rem
  }

  .u-xs-mt-4 {
    margin-top: .25rem
  }

  .u-xs-mt-5 {
    margin-top: .3125rem
  }

  .u-xs-mt-6 {
    margin-top: .375rem
  }

  .u-xs-mt-7 {
    margin-top: .4375rem
  }

  .u-xs-mt-8 {
    margin-top: .5rem
  }

  .u-xs-mt-9 {
    margin-top: .5625rem
  }

  .u-xs-mt-10 {
    margin-top: .625rem
  }

  .u-xs-mt-12 {
    margin-top: .75rem
  }

  .u-xs-mt-15 {
    margin-top: .9375rem
  }

  .u-xs-mt-16 {
    margin-top: 1rem
  }

  .u-xs-mt-20 {
    margin-top: 1.25rem
  }

  .u-xs-mt-24 {
    margin-top: 1.5rem
  }

  .u-xs-mt-25 {
    margin-top: 1.5625rem
  }

  .u-xs-mt-28 {
    margin-top: 1.75rem
  }

  .u-xs-mt-30 {
    margin-top: 1.875rem
  }

  .u-xs-mt-32 {
    margin-top: 2rem
  }

  .u-xs-mt-35 {
    margin-top: 2.1875rem
  }

  .u-xs-mt-36 {
    margin-top: 2.25rem
  }

  .u-xs-mt-40 {
    margin-top: 2.5rem
  }

  .u-xs-mt-44 {
    margin-top: 2.75rem
  }

  .u-xs-mt-45 {
    margin-top: 2.8125rem
  }

  .u-xs-mt-48 {
    margin-top: 3rem
  }

  .u-xs-mt-50 {
    margin-top: 3.125rem
  }

  .u-xs-mt-52 {
    margin-top: 3.25rem
  }

  .u-xs-mt-55 {
    margin-top: 3.4375rem
  }

  .u-xs-mt-56 {
    margin-top: 3.5rem
  }

  .u-xs-mt-60 {
    margin-top: 3.75rem
  }

  .u-xs-mt-64 {
    margin-top: 4rem
  }

  .u-xs-mt-65 {
    margin-top: 4.0625rem
  }

  .u-xs-mt-68 {
    margin-top: 4.25rem
  }

  .u-xs-mt-70 {
    margin-top: 4.375rem
  }

  .u-xs-mt-72 {
    margin-top: 4.5rem
  }

  .u-xs-mt-75 {
    margin-top: 4.6875rem
  }

  .u-xs-mt-76 {
    margin-top: 4.75rem
  }

  .u-xs-mt-80 {
    margin-top: 5rem
  }

  .u-xs-mb-0 {
    margin-bottom: 0
  }

  .u-xs-mb-4 {
    margin-bottom: .25rem
  }

  .u-xs-mb-5 {
    margin-bottom: .3125rem
  }

  .u-xs-mb-8 {
    margin-bottom: .5rem
  }

  .u-xs-mb-10 {
    margin-bottom: .625rem
  }

  .f-form label,
  .u-xs-mb-12 {
    margin-bottom: .75rem
  }

  .u-xs-mb-15 {
    margin-bottom: .9375rem
  }

  .u-xs-mb-16 {
    margin-bottom: 1rem
  }

  .u-xs-mb-20 {
    margin-bottom: 1.25rem
  }

  .u-xs-mb-24 {
    margin-bottom: 1.5rem
  }

  .u-xs-mb-25 {
    margin-bottom: 1.5625rem
  }

  .u-xs-mb-28 {
    margin-bottom: 1.75rem
  }

  .u-xs-mb-30 {
    margin-bottom: 1.875rem
  }

  .u-xs-mb-32 {
    margin-bottom: 2rem
  }

  .u-xs-mb-35 {
    margin-bottom: 2.1875rem
  }

  .u-xs-mb-36 {
    margin-bottom: 2.25rem
  }

  .u-xs-mb-40 {
    margin-bottom: 2.5rem
  }

  .u-xs-ml-0 {
    margin-left: 0
  }

  .u-xs-ml-1 {
    margin-left: .0625rem
  }

  .u-xs-ml-2 {
    margin-left: .125rem
  }

  .u-xs-ml-3 {
    margin-left: .1875rem
  }

  .u-xs-ml-4 {
    margin-left: .25rem
  }

  .u-xs-ml-5 {
    margin-left: .3125rem
  }

  .u-xs-ml-6 {
    margin-left: .375rem
  }

  .u-xs-ml-7 {
    margin-left: .4375rem
  }

  .u-xs-ml-8 {
    margin-left: .5rem
  }

  .u-xs-ml-9 {
    margin-left: .5625rem
  }

  .u-xs-ml-10 {
    margin-left: .625rem
  }

  .u-xs-ml-12 {
    margin-left: .75rem
  }

  .u-xs-ml-15 {
    margin-left: .9375rem
  }

  .u-xs-ml-16 {
    margin-left: 1rem
  }

  .u-xs-ml-20 {
    margin-left: 1.25rem
  }

  .u-hide-xs {
    display: none !important
  }

  .u-show-xs {
    display: inherit
  }

  .u-show-s {
    display: none
  }

  .u-xs-align-center {
    display: block;
    text-align: center
  }

  .f-form {
    padding: 1.5rem 1rem
  }

  .f-form .hs-input:not([type=checkbox]) {
    min-height: 3.5rem;
    font-size: 1rem
  }

  .f-form .hbspt-form fieldset.form-columns-2 {
    row-gap: 1.25rem;
    grid-template-columns: repeat(1, 1fr)
  }

  .f-form .hs_submit {
    border-radius: 1.75rem;
    overflow: hidden
  }

  .f-form .actions {
    width: 100%
  }

  .f-form .hs-button {
    width: 100%;
    height: var(--btn-height);
    --btn-height: 3.5rem
  }
}

@media (hover:hover) {
  .l-cta__link:hover {
    --opacity: 0.3
  }

  .c-button:hover {
    color: var(--color-white)
  }

  .c-button.-skip:hover,
  .c-button:hover {
    --color-btn: var(--color-btn-hover)
  }

  .c-button.-outline:hover {
    --color-btn: var(--color-accent);
    border-color: var(--color-accent)
  }

  .c-button.-accent:hover,
  .c-button.-outline:hover,
  .c-button.-white:hover {
    --color-icon: var(--color-white);
    color: var(--color-white)
  }

  .c-button.-accent:hover {
    --color-btn: var(--color-btn-hover);
    border-color: var(--color-btn-hover)
  }

  .c-button.-white:hover {
    --color-btn: var(--color-black)
  }

  .c-sns-button:hover {
    opacity: .5
  }

  .c-link:hover {
    --icon-bg: var(--icon-color, var(--color-accent-hover));
    --color-text-line: var(--icon-color, var(--color-accent-hover));
    color: var(--icon-bg, var(--color-accent-hover))
  }

  .c-link.-cta:hover {
    --color-text-line: var(--color-white);
    opacity: .5
  }

  .c-list-anchor.-white .c-list-anchor__link:hover {
    --color-active: var(--color-white);
    opacity: .5
  }

  .c-list-anchor__link:hover {
    --color-active: var(--color-accent-hover);
    --color-icon: var(--color-accent-hover)
  }

  .c-pagination__link:hover {
    --color-bg: var(--color-accent-hover);
    --color-active: var(--color-white)
  }

  .c-pagination__controller:hover {
    --color-active: var(--color-accent-hover);
    --icon-color: var(--color-accent-hover)
  }

  .c-inline-link:hover,
  .p-card:hover {
    --color-text-line: var(--color-accent-hover)
  }

  .c-inline-link:hover {
    --color-icon: var(--color-accent-hover)
  }

  .c-inline-link.-accent:hover,
  .c-inline-link:hover {
    --color-link: var(--color-accent-hover)
  }

  .c-like-button .wp_ulike_general_class:hover {
    --color-bg: var(--color-accent);
    --color-active: var(--color-white)
  }

  .c-liked-tag .wp_ulike_general_class:hover {
    --color-active: var(--color-white);
    background-color: var(--color-accent)
  }

  .p-card:hover {
    --opacity: 1;
    --color-active: var(--color-accent-hover);
    --icon-color: var(--color-accent-hover)
  }

  .p-card.-none-line:hover {
    --text-deco: none
  }

  .p-breadcrumbs__text:hover {
    --color-text: var(--color-accent);
    --color-text-line: var(--color-accent)
  }

  .p-footer-menu__link:hover {
    color: var(--color-accent);
    --color-text-line: var(--color-accent)
  }

  .p-header-menu__item:hover .p-recruit-pulldown {
    visibility: visible;
    opacity: 1;
    transform: translateX(0)
  }

  .p-header-menu__link:hover {
    --color-link: var(--color-accent)
  }

  .p-header-menu__link.u-type-contact:hover {
    --color-icon: var(--color-accent)
  }

  .p-footer-product__item:hover {
    opacity: .5
  }

  .p-home-section__link:hover {
    color: var(--color-accent-hover)
  }

  .p-sidebar__link:hover {
    --color-accent: var(--color-accent-hover);
    --color-text-line: var(--color-accent-hover)
  }

  .p-sidebar__link.-black:hover,
  .p-sidebar__link:hover {
    --color-active: var(--color-accent-hover)
  }

  .p-share-icons__item:hover {
    --opacity: 1;
    --visible: visible;
    z-index: 10000
  }

  .p-banner-solution:hover,
  .p-list-card[href]:hover {
    background-color: var(--color-accent);
    --color-active: var(--color-white)
  }

  .p-list-card[href]:hover {
    --color-icon: var(--color-white);
    --color-gray-link: var(--color-white);
    --color-black: var(--color-white);
    --color-arrow: var(--color-accent);
    color: var(--color-white)
  }

  .p-list-card.-border:hover {
    border-color: var(--color-accent)
  }

  .p-list-card.-recruit:hover {
    --color-gray-font: var(--color-white)
  }

  .p-banner-solution:hover {
    --color-icon-c: var(--color-white);
    --color-icon-b: var(--color-white);
    --color-icon: var(--color-accent);
    --icon-bg: var(--color-white)
  }

  .p-banner-solution:hover .p-banner-solution__item {
    visibility: hidden
  }

  .p-banner-solution:hover .p-banner-solution__item.-hover {
    visibility: visible;
    opacity: 1
  }

  .p-page-banner:hover {
    --color-active: var(--color-accent-hover)
  }

  .p-feature-professional.-detail .p-feature-professional__image {
    position: relative
  }

  .p-feature-professional.-detail .p-feature-professional__image::before {
    content: "";
    display: block;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, .25);
    opacity: var(--opacity);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 100;
    transition: all 1s cubic-bezier(.19, 1, .22, 1)
  }

  .p-feature-professional.-detail:hover {
    --opacity: 1;
    --color-active: var(--color-accent-hover);
    --icon-color: var(--color-accent-hover);
    --color-text-line: var(--color-accent-hover)
  }

  .p-sidebar-post:hover {
    --color-active: var(--color-accent);
    --color-text-line: var(--color-accent-hover)
  }

  .p-card-event:hover,
  .p-sidebar-banner:hover {
    opacity: .5
  }

  .p-card-news:hover {
    --color-active: var(--color-accent-hover);
    --color-text-line: var(--color-accent-hover)
  }

  .p-card-cta:hover,
  .p-content-area .p-block-link:hover,
  .p-newsletter-button:hover {
    background-color: var(--color-gray-light)
  }

  .p-footer-eng-link:hover {
    color: var(--color-accent)
  }

  .p-serial__card {
    transition: var(--transition)
  }

  .p-serial__card:hover {
    opacity: .3
  }

  .p-product-banner:hover {
    opacity: .5
  }

  .p-recruit-members__item:hover {
    --opacity: 1
  }

  .p-card-interview:hover,
  .p-card-requirement:hover {
    --color-text-line: var(--color-accent-hover);
    --color-active: var(--color-accent-hover)
  }

  .p-card-interview:hover {
    --opacity: 1;
    --icon-color: var(--color-accent-hover);
    --color-position: var(--color-accent-hover)
  }

  .p-card-requirement:hover {
    background: var(--color-gray-light)
  }

  .p-card-recruit-event:hover {
    background-color: var(--color-accent);
    --color-icon: var(--color-white);
    --color-gray-link: var(--color-white);
    --color-black: var(--color-white);
    --color-active: var(--color-white);
    --color-arrow: var(--color-accent);
    color: var(--color-white);
    --color-gray-font: var(--color-white)
  }

  .p-member:hover {
    --color-active: var(--color-accent);
    --color-text-line: var(--color-accent);
    --opacity: 1;
    --visibility: visible
  }

  .p-header-other-link:hover {
    --color-text-line: var(--icon-color, var(--color-accent-hover))
  }

  .p-content-area a:not([class]):hover {
    color: var(--color-accent-hover);
    text-decoration: underline
  }

  .p-content-area .wp-block-image a {
    transition: all .25s ease-in-out
  }

  .p-content-area .wp-block-image a:hover {
    opacity: .7
  }

  .p-content-area .p-pro-column__sns-item:hover {
    color: var(--color-accent-hover);
    text-decoration: underline
  }

  .f-form .hs-richtext a:hover {
    color: var(--color-accent-hover)
  }

  .f-form .hs_submit:hover {
    --color-btn: var(--color-btn-hover);
    color: var(--color-white)
  }
}

@media print {
  .u-hide-print {
    display: none !important
  }
}

@media print and (hover:hover),
screen and (hover:hover) and (min-width:64em) {
  .p-recruit-pulldown__link:hover {
    --icon-bg: var(--icon-color, var(--color-accent-hover));
    --color-text-line: var(--icon-color, var(--color-accent-hover));
    color: var(--icon-bg, var(--color-accent-hover))
  }
}

@media print and (hover:hover),
screen and (min-width:64em) and (hover:hover) {
  .p-page-top a:hover {
    background-color: var(--color-black);
    --icon-color: var(--color-white);
    --color-border: var(--color-black)
  }
}

@media print,
screen and (max-width:74.9375em) {

  .c-sentence.-l-no-breaks br,
  .p-content-area h1 br,
  .p-content-area h2 br,
  .p-content-area h3 br,
  .p-content-area h4 br,
  .p-content-area h5 br {
    display: none
  }

  .p-card-cta__block {
    flex-direction: column;
    align-items: flex-start
  }

  .p-card-cta__block-item {
    margin-bottom: .375rem
  }
}

@media print,
screen and (min-width:48em) {
  :root {
    --padding-x: 3.75rem;
    --padding-y: 3.75rem;
    --text-font-size: 1.125rem;
    --line-height: 2
  }

  a:not([class])[target=_blank]::after {
    transform: rotate(.003deg);
    --icon-size: 0.875rem
  }

  dt,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  li,
  p,
  small,
  span,
  strong {
    transform: rotate(.003deg)
  }

  .l-footer__inner {
    padding: 3.5rem var(--padding-x);
    background: var(--color-white)
  }

  .l-information {
    padding: 3.75rem var(--padding-x) 1.5rem
  }

  .l-cta-recruit__inner,
  .l-information__inner {
    max-width: var(--max-width)
  }

  .l-cta-recruit__sub-heading {
    --font-size: 0.875rem
  }

  .c-button {
    --btn-height: 4rem;
    --btn-width: 18rem;
    min-width: var(--btn-width)
  }

  .c-button.-size_xs,
  .c-button.-skip {
    --font-size: 0.875rem;
    --padding: 0.625rem
  }

  .c-button.-skip {
    --btn-height: 2.5rem;
    --btn-width: 10rem
  }

  .c-button.-size_xs {
    --btn-height: 2rem;
    --btn-width: 9rem
  }

  .c-button.-size_s {
    --btn-height: 3rem;
    --btn-width: 12rem;
    line-height: 1.1
  }

  .c-button.-size_l {
    --btn-height: 4rem;
    --btn-width: 25.125rem
  }

  .c-date,
  .c-sub-heading {
    --font-size: 0.875rem
  }

  .c-date.-size_l {
    --position-y: 0.1em;
    padding-top: .1em;
    --font-size: 1.25rem;
    --padding-size: 1rem
  }

  .c-date.-event {
    top: .2em;
    --font-size: 0.875rem
  }

  .c-date.-event-l,
  .c-date.-news {
    --font-size: 1rem
  }

  .c-date.-border::after {
    height: .875rem
  }

  .c-sentence.-size_l {
    --text-font-size: 1.25rem
  }

  .c-sentence.-size_s {
    --text-font-size: 1rem
  }

  .c-sentence.-size_xs {
    --text-font-size: 0.875rem
  }

  .c-sentence.-reading_type-a {
    --line-height: 1.5
  }

  .c-sentence.-reading_type-b {
    --line-height: 1.75
  }

  .c-sentence.-reading_type-c {
    --line-height: 1.4
  }

  .c-sentence.-reading_type-d {
    --line-height: 1.6
  }

  .c-sentence.-product {
    --text-font-size: 0.8125rem
  }

  .c-sentence.-home,
  .p-content-area ol li {
    --text-font-size: 1.25rem
  }

  .c-sentence.-book-page,
  .c-sentence.-recruit-top {
    --text-font-size: 1.125rem
  }

  .c-sentence.-recruit-banner {
    --text-font-size: 1rem
  }

  .c-heading.-lvl_1 {
    --font-size: 3rem
  }

  .c-heading.-lvl_15,
  .c-heading.-lvl_2,
  .c-heading.-lvl_25 {
    --font-size: 2.5rem
  }

  .c-heading.-lvl_3,
  .c-heading.-lvl_35 {
    --font-size: 2rem
  }

  .c-heading.-lvl_4 {
    --font-size: 1.75rem
  }

  .c-heading.-lvl_5 {
    --font-size: 1.5rem
  }

  .c-heading.-lvl_6,
  .c-heading.-lvl_65 {
    --font-size: 1.375rem
  }

  .c-heading.-lvl_65 {
    --line-height: 1.4
  }

  .c-heading.-lvl_7 {
    --font-size: 1.25rem
  }

  .c-heading.-lvl_8 {
    --font-size: 1.125rem
  }

  .c-heading.-members {
    --font-size: 2.5rem
  }

  .c-heading.-thanks {
    --font-size: 2rem
  }

  .c-sub-heading.-eng {
    letter-spacing: .075em
  }

  .c-sub-heading.-size_l {
    --font-size: 1rem
  }

  .c-sub-heading.-size_xl {
    --font-size: 1.125rem
  }

  .c-link.-size_l {
    --icon-size: 1.5rem;
    --position-y: 0.3em;
    padding-left: 2.25rem;
    font-size: 1.5rem
  }

  .c-list-anchor {
    --gap-link: 1.0625rem;
    min-width: 15rem
  }

  .c-list-anchor.-full {
    --gap-link: 1rem
  }

  .c-list-anchor.-full .c-list-anchor__item:last-child {
    --line-gray: none;
    padding-bottom: 0
  }

  .c-list-anchor__link::after {
    top: 1.375rem
  }

  .c-list-icon__item {
    padding-left: 2rem;
    line-height: 1.65;
    margin-bottom: 1.125rem
  }

  .c-list-icon__item::before {
    top: .25em
  }

  .c-tag {
    font-size: .875rem;
    top: -.2em
  }

  .c-tag.-size_l {
    font-size: 1.125rem
  }

  .c-tag.-reading_lvl-2 {
    top: -.3em
  }

  .c-icon.-blank_s {
    top: .3em
  }

  .c-icon.-page-head {
    --icon-size: 3rem;
    top: .2em;
    min-width: var(--icon-size)
  }

  .c-image.-error {
    width: 20.875rem
  }

  .c-pagination {
    margin-top: 5rem
  }

  .c-pagination__item.-disabled {
    display: none
  }

  .c-inline-link[target=_blank]::after {
    --icon-size: 0.875rem;
    top: .1em
  }

  .c-like-button .wpulike-default button.wp_ulike_btn {
    min-width: 12rem
  }

  .c-liked-tag .wpulike {
    display: inline-block
  }

  .c-liked-tag .wp_ulike_general_class {
    width: auto;
    padding: 0 .75rem 0 2rem !important
  }

  .c-liked-tag .wpulike .wp_ulike_btn {
    position: absolute;
    width: 100%;
    height: 100% !important;
    left: 0;
    top: 0;
    outline: 0 !important;
    transform: none !important
  }

  .c-liked-tag .wpulike .wp_ulike_btn::after {
    top: 50%;
    left: .75rem;
    transform: translate(0, -50%) !important;
    transition: all .1s ease-in-out
  }

  .c-liked-tag .wpulike-heart .count-box {
    top: .08em
  }

  .c-timetable__dl {
    display: flex
  }

  .c-timetable__dt {
    border-top: var(--line-dt);
    width: 32%;
    max-width: 17.5rem;
    padding: 1.25rem;
    line-height: 1.6
  }

  .c-timetable__dd {
    flex: 1;
    border-top: var(--line-dd);
    padding: 1.25rem
  }

  .p-card__row.-head {
    --line-height: 1.75
  }

  .p-card__sub-image {
    width: 7.5rem;
    height: 4.125rem;
    left: 1rem
  }

  .p-detail-cta {
    --border-size: 0.25rem;
    padding: 2.25rem
  }

  .p-footer-main__right {
    row-gap: 1.25rem
  }

  .p-footer-menu {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem
  }

  .p-grid {
    --col-number: 2;
    grid-template-columns: repeat(var(--col-number), 1fr);
    --gap-x: 2rem;
    --gap-y: 2rem
  }

  .p-grid.-col-1 {
    --col-number: 1
  }

  .p-grid.-s-gap-y-4 {
    --gap-y: 0.25rem
  }

  .p-grid.-s-gap-y-12 {
    --gap-y: 0.75rem
  }

  .p-grid.-s-gap-y-16 {
    --gap-y: 1rem
  }

  .p-grid.-s-gap-y-32 {
    --gap-y: 2rem
  }

  .p-grid.-s-gap-y-36 {
    --gap-y: 2.25rem
  }

  .p-grid.-s-gap-y-40 {
    --gap-y: 2.5rem
  }

  .p-grid.-s-gap-y-48 {
    --gap-y: 3rem
  }

  .p-grid.-s-gap-y-64 {
    --gap-y: 4rem
  }

  .p-grid.-s-gap-y-20 {
    --gap-y: 1.25rem
  }

  .p-grid.-s-gap-x-16 {
    --gap-x: 1rem
  }

  .p-grid.-s-gap-x-24 {
    --gap-x: 1.5rem
  }

  .p-grid.-s-gap-x-38 {
    --gap-x: 2.375rem
  }

  .p-grid.-s-gap-x-40 {
    --gap-x: 2.5rem
  }

  .p-grid.-feature-logo {
    grid-template-columns: repeat(auto-fit, minmax(12.0625rem, 1fr));
    --gap-x: 0.5rem;
    --gap-y: 0.5rem
  }

  .p-grid.-product {
    grid-template-columns: repeat(3, 1fr)
  }

  .p-grid.-product-2 {
    grid-template-columns: repeat(2, 1fr)
  }

  .p-grid.-recruit-feature {
    --gap-x: 2.5rem;
    --gap-y: 2.5rem
  }

  .p-footer-product__item {
    margin-left: .375rem;
    width: 7.5rem;
    height: 4.125rem
  }

  .p-main-visual__movie-inner {
    height: 31.25rem;
    left: 50%
  }

  .p-main-visual__button {
    margin-top: 1.5rem
  }

  .p-home-section__inner {
    max-width: var(--max-width)
  }

  .p-intro__title {
    font-size: 1.875rem
  }

  .p-section.-members-detail {
    --max-width: 55rem;
    --padding: 2.75rem var(--padding-x) 6.25rem
  }

  .p-section__inner {
    max-width: var(--max-width)
  }

  .p-page-lead__list-item {
    --font-size: 1.375rem
  }

  .p-sidebar__link {
    --color-active: var(--color-gray-link)
  }

  .p-share-icons__item.-like-btn {
    margin-left: .8125rem
  }

  .p-list-card {
    padding: 2rem
  }

  .p-list-card.-media {
    padding: 1.875rem 2rem 1.5rem
  }

  .p-list-card.-solution {
    padding: 3rem
  }

  .p-list-card__arrow {
    --icon-size: 1.5rem;
    top: .2em
  }

  .p-list-card__row.-border {
    --gap: 1.25rem;
    margin-top: var(--gap);
    padding-top: var(--gap)
  }

  .p-list-card__row.-last {
    margin-top: auto
  }

  .p-list-card__sub {
    --font-size: 0.875rem
  }

  .p-list-card__name {
    font-size: 1.25rem;
    padding-left: 2.25rem
  }

  .p-flex {
    display: flex
  }

  .p-flex.-justify-between {
    justify-content: space-between
  }

  .p-flex.-justify-center {
    justify-content: center
  }

  .p-flex.-items-start {
    align-items: flex-start
  }

  .p-flex.-items-center {
    align-items: center
  }

  .p-flex.-items-end {
    align-items: flex-end
  }

  .p-flex.-l-flex,
  .p-flex.-m-flex {
    display: block
  }

  .p-flex__item.-w320 {
    max-width: 20rem
  }

  .p-flex__item.-w378 {
    max-width: 23.625rem
  }

  .p-flex-full.-justify-end {
    justify-content: flex-end
  }

  .p-check-block {
    border: .25rem solid var(--color-gray-line);
    padding: 2.125rem
  }

  .p-banner-solution {
    padding: 2.5rem 3rem
  }

  .p-banner-solution.-home .c-sentence {
    max-width: 44.25rem
  }

  .p-banner-solution__image {
    width: 15.25rem;
    max-width: 15.25rem;
    height: 3.25rem
  }

  .p-product-image.-size_s {
    --height: 50.10%;
    --height-image: 3.375rem
  }

  .p-product-image.-home {
    --height: 50.10%;
    --height-image: 5rem
  }

  .p-product-image.-recruit {
    --height: 50.10%
  }

  .p-works-logo {
    display: block;
    width: 15rem;
    height: 8.25rem
  }

  .p-content-area figcaption,
  .p-overview__name {
    font-size: .875rem
  }

  .p-page-banner {
    padding: 1.25rem 1.5rem 1.25rem 1.25rem
  }

  .p-page-banner__image {
    width: 10.3125rem;
    margin-left: 1.25rem
  }

  .p-content-area .p-speaker__content .c-sentence,
  .p-content-area .wp-block-columns+.wp-block-columns.-tiny,
  .p-flow__row {
    margin-top: 1rem
  }

  .p-feature-point__content {
    flex: 1;
    padding-top: 1.25rem
  }

  .p-feature-professional {
    border: .0625rem solid var(--color-gray-line);
    padding: 1.5rem;
    grid-template-columns: 20rem 1fr;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }

  .p-feature-professional.-detail {
    grid-template-columns: 50% 1fr
  }

  .p-service-info__image {
    margin-top: 3.125rem
  }

  .p-balloon {
    row-gap: 2.5rem
  }

  .p-balloon__item {
    align-items: center;
    justify-content: space-between;
    margin: 0 -1.375rem
  }

  .p-balloon__item.-reverse {
    flex-direction: row-reverse
  }

  .p-balloon__image {
    --image-size: 5rem;
    margin: 0 1.375rem
  }

  .p-balloon__text {
    padding: 1.5rem 2rem;
    margin: 0 1.375rem
  }

  .p-balloon__text::before,
  .p-member-message__text::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
    top: 50%
  }

  .p-balloon__text::before {
    left: 0;
    border-width: .75rem 1rem .75rem 0;
    border-color: transparent var(--color-bg);
    transform: translate(-100%, -50%)
  }

  .p-balloon__text.-reverse::before {
    left: auto;
    right: 0;
    border-width: .75rem 0 .75rem 1rem;
    transform: translate(100%, -50%)
  }

  .p-box-block {
    --padding: 2.5rem
  }

  .p-box-block.-type_a {
    --padding: 2rem
  }

  .p-box-block.-type_c {
    max-width: 55rem;
    margin: 2.25rem auto 0;
    --padding: 1.5rem 2.5rem
  }

  .p-detail-sns {
    padding: 2.5rem
  }

  .p-speaker__item {
    grid-template-columns: 7.5rem 1fr;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }

  .p-speaker__item+.p-speaker__item {
    padding-top: 2.5rem;
    margin-top: 3.125rem
  }

  .p-speaker__item.-none-image {
    grid-template-columns: 1fr
  }

  .p-speaker__profile {
    --image-size: 7.5rem
  }

  .p-content-area .p-speaker__name {
    --font-size: 1.25rem
  }

  .p-detail-banner {
    padding: 2.5rem 2.5rem 1.875rem;
    flex-direction: row-reverse
  }

  .p-detail-banner__image {
    max-width: 13.75rem
  }

  .p-detail-banner__content {
    flex: 1;
    margin-right: 1.875rem
  }

  .p-detail-banner__heading {
    font-size: 1.375rem
  }

  .p-page-cta {
    padding-top: 4rem;
    margin-top: 6.25rem
  }

  .p-card-event {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    background-color: var(--color-bg);
    padding: 2rem
  }

  .p-card-event__heading {
    font-size: 1.5rem;
    --line-height: 1.4
  }

  .p-card-event__image {
    width: 15rem
  }

  .p-card-event__content {
    margin-right: 2.5rem
  }

  .p-card-news__heading {
    font-size: 1.25rem
  }

  .p-card-cta {
    grid-template-columns: 1fr 9rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    padding: 1.25rem;
    align-items: start
  }

  .p-sitemap {
    --gap: 1.25rem;
    --col: 2
  }

  .p-sitemap__group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: calc(200% + var(--gap));
    gap: var(--gap)
  }

  .p-sitemap__item {
    white-space: nowrap;
    padding: 1.125rem 0
  }

  .p-product-banner {
    padding: 2.5rem 3rem;
    justify-content: center;
    gap: 2.625rem
  }

  .p-product-banner__content {
    max-width: 48rem
  }

  .p-recruit-members {
    height: 31.875rem
  }

  .p-card-interview__title {
    --font-size: 1.75rem
  }

  .p-recruit-message__title {
    --font-size: 2rem;
    --line-height: 1.4
  }

  .p-card-recruit-event {
    padding: 2.5rem
  }

  .p-card-recruit-event__arrow {
    --icon-size: 2rem;
    top: .3em
  }

  .p-card-recruit-event__name {
    font-size: 2rem
  }

  .p-member__heading {
    font-size: 1.5rem
  }

  .p-member__sub {
    margin-top: .5rem
  }

  .p-member-page {
    padding: 2.5rem
  }

  .p-member-page__copy {
    padding: 1.25rem 0 0
  }

  .p-member-page__picture {
    margin-right: 3rem;
    --image-size: 15rem
  }

  .p-content-area.-type_b h2::before,
  .p-member-page__eng {
    font-size: 1rem
  }

  .p-member-page__heading {
    line-height: 1.4;
    --font-size: 2.25rem
  }

  .p-member-page__text {
    line-height: 1.75;
    font-size: 1rem
  }

  .p-member-category+.p-member-category {
    margin-top: 2.5rem
  }

  .p-member-message__text::after {
    border-width: .75rem 0 .75rem 1.25rem;
    border-color: transparent transparent transparent var(--color-accent);
    right: 0;
    transform: translate(100%, -50%)
  }

  .p-member-message__picture {
    margin-left: 3rem
  }

  .p-map {
    padding-top: 25rem
  }

  .p-content-area h2 {
    --font-size: 2.1875rem;
    margin: 6.25rem auto 2.5rem
  }

  .p-content-area h3:not(.c-heading) {
    --font-size: 1.75rem;
    margin: 2.5rem auto 1.5rem
  }

  .p-content-area h4 {
    --font-size: 1.375rem;
    margin: 2rem auto 1.25rem
  }

  .p-content-area h5 {
    --font-size: 1.125rem;
    margin: 2rem auto 1.25rem
  }

  .p-content-area p:not(.c-sentence),
  .p-content-area>ul li:not(.p-grid__item) {
    --text-font-size: 1.25rem
  }

  .p-content-area a:not([class])[target=_blank]::after {
    --icon-size: 0.875rem
  }

  .p-content-area sup {
    font-size: .75rem
  }

  .p-content-area .wp-block-image {
    margin-top: 2.5rem;
    margin-bottom: 3rem
  }

  .p-content-area .wp-block-table {
    margin-bottom: 3.5rem
  }

  .p-content-area .wp-block-table table {
    width: 100%
  }

  .p-content-area .wp-block-table td,
  .p-content-area .wp-block-table th {
    padding: .75rem 1rem
  }

  .p-content-area .wp-block-table td:first-child {
    width: 15rem
  }

  .p-content-area .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: var(--color-gray-light)
  }

  .p-content-area .wp-block-columns .wp-block-image {
    margin-bottom: 1.375rem
  }

  .p-content-area .wp-block-columns.-tiny {
    margin-bottom: 1rem
  }

  .p-content-area .wp-block-columns.-tiny .wp-block-column+.wp-block-column {
    margin-left: 1rem
  }

  .p-content-area .wp-block-column+.wp-block-column {
    margin-left: 2.5rem
  }

  .p-content-area .wp-block-lazyblock-text-link {
    margin-bottom: .375rem
  }

  .p-content-area .wp-block-lazyblock-check-block {
    margin: 1.875rem auto 3.875rem
  }

  .p-content-area .wp-block-create-block-blog-card {
    margin-top: 1rem;
    margin-bottom: 1rem
  }

  .p-content-area .wp-block-lazyblock-block-link-b {
    margin: 1rem 0
  }

  .p-content-area .wp-block-lazyblock-two-column {
    margin-bottom: 3rem
  }

  .p-content-area .wp-block-lazyblock-box-block {
    margin-bottom: 4rem;
    margin-top: 4rem
  }

  .p-content-area .p-list-card {
    margin: 2.5rem auto
  }

  .p-content-area .p-list-card+.p-list-card {
    margin: -1.5rem auto 2.5rem
  }

  .p-content-area.-type_b h2 {
    padding-left: 1.5rem
  }

  .p-content-area.-type_b h2+h3 {
    margin-top: 0
  }

  .p-content-area.-type_b h3:not(.c-heading) {
    margin: 4.5rem auto 1.5rem
  }

  .p-content-area.-type_b p:not(.c-sentence),
  .p-content-area.-type_b>ul li:not(.p-grid__item),
  .p-content-area.-type_c p:not(.c-sentence),
  .p-content-area.-type_c>ul li:not(.p-grid__item),
  .p-content-area.-type_d p:not(.c-sentence) span,
  .p-content-area.-type_d p:not(.c-sentence) strong,
  .p-content-area.-type_d>ul li:not(.p-grid__item) {
    --text-font-size: 1.125rem
  }

  .p-content-area.-type_b>ul li:not(.p-grid__item)::before,
  .p-content-area.-type_c>ul li:not(.p-grid__item)::before,
  .p-content-area.-type_d>ul li:not(.p-grid__item)::before {
    top: .6em
  }

  .p-content-area.-type_b>ol li,
  .p-content-area.-type_c>ol li,
  .p-content-area.-type_d>ol li {
    --text-font-size: 1.125rem
  }

  .p-content-area.-type_b>ol li::before,
  .p-content-area.-type_c>ol li::before,
  .p-content-area.-type_d>ol li::before {
    font-size: 1.125rem;
    top: .18em
  }

  .p-content-area.-type_d p:not(.c-sentence) {
    --text-font-size: 1rem
  }

  .p-content-area .wp-block-embed {
    margin: 4rem auto
  }

  .p-content-area .wp-block-quote {
    padding: 2.25rem
  }

  .p-content-area .p-block-link {
    padding: 2rem;
    grid-template: "head image" auto "link link" auto/1fr 10.75rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    row-gap: .5rem;
    align-items: start
  }

  .p-content-area .p-block-link__title {
    font-size: 1.125rem
  }

  .p-content-area p.p-block-link__desc {
    margin-top: .875rem;
    font-size: .875rem;
    color: var(--color-gray-link);
    margin-bottom: 0
  }

  .p-content-area .p-pro-column__sns-item::after {
    --icon-size: 0.875rem;
    transform: rotate(.003deg)
  }

  .has-m-font-size {
    --font-size: 1.125rem !important;
    --text-font-size: 1.125rem !important
  }

  .has-l-font-size {
    --font-size: 1.25rem !important;
    --text-font-size: 1.25rem !important
  }

  .has-xl-font-size {
    --font-size: 1.375rem !important;
    --text-font-size: 1.375rem !important
  }

  .has-xxl-font-size {
    --font-size: 1.75rem !important;
    --text-font-size: 1.75rem !important
  }

  .has-xxxl-font-size {
    --font-size: 2rem !important;
    --text-font-size: 2rem !important
  }

  .u-s-mt-0 {
    margin-top: 0
  }

  .u-s-mb-0 {
    margin-bottom: 0
  }

  .u-s-mt-1 {
    margin-top: .0625rem
  }

  .u-s-mb-1 {
    margin-bottom: .0625rem
  }

  .u-s-mt-2 {
    margin-top: .125rem
  }

  .u-s-mb-2 {
    margin-bottom: .125rem
  }

  .u-s-mt-3 {
    margin-top: .1875rem
  }

  .u-s-mb-3 {
    margin-bottom: .1875rem
  }

  .u-s-mt-4 {
    margin-top: .25rem
  }

  .u-s-mb-4 {
    margin-bottom: .25rem
  }

  .u-s-mt-5 {
    margin-top: .3125rem
  }

  .u-s-mb-5 {
    margin-bottom: .3125rem
  }

  .u-s-mt-6 {
    margin-top: .375rem
  }

  .u-s-mb-6 {
    margin-bottom: .375rem
  }

  .u-s-mt-7 {
    margin-top: .4375rem
  }

  .u-s-mb-7 {
    margin-bottom: .4375rem
  }

  .u-s-mt-8 {
    margin-top: .5rem
  }

  .f-form label,
  .u-s-mb-8 {
    margin-bottom: .5rem
  }

  .u-s-mt-9 {
    margin-top: .5625rem
  }

  .u-s-mb-9 {
    margin-bottom: .5625rem
  }

  .u-s-mt-10 {
    margin-top: .625rem
  }

  .u-s-mb-10 {
    margin-bottom: .625rem
  }

  .u-s-mt-12 {
    margin-top: .75rem
  }

  .u-s-mb-12 {
    margin-bottom: .75rem
  }

  .u-s-mt-15 {
    margin-top: .9375rem
  }

  .u-s-mb-15 {
    margin-bottom: .9375rem
  }

  .u-s-mt-16 {
    margin-top: 1rem
  }

  .u-s-mb-16 {
    margin-bottom: 1rem
  }

  .u-s-mt-20 {
    margin-top: 1.25rem
  }

  .u-s-mb-20 {
    margin-bottom: 1.25rem
  }

  .u-s-mt-24 {
    margin-top: 1.5rem
  }

  .u-s-mb-24 {
    margin-bottom: 1.5rem
  }

  .u-s-mt-25 {
    margin-top: 1.5625rem
  }

  .u-s-mb-25 {
    margin-bottom: 1.5625rem
  }

  .u-s-mt-28 {
    margin-top: 1.75rem
  }

  .u-s-mb-28 {
    margin-bottom: 1.75rem
  }

  .u-s-mt-30 {
    margin-top: 1.875rem
  }

  .u-s-mb-30 {
    margin-bottom: 1.875rem
  }

  .u-s-mt-32 {
    margin-top: 2rem
  }

  .u-s-mb-32 {
    margin-bottom: 2rem
  }

  .u-s-mt-35 {
    margin-top: 2.1875rem
  }

  .u-s-mb-35 {
    margin-bottom: 2.1875rem
  }

  .u-s-mt-36 {
    margin-top: 2.25rem
  }

  .u-s-mb-36 {
    margin-bottom: 2.25rem
  }

  .u-s-mt-40 {
    margin-top: 2.5rem
  }

  .u-s-mb-40 {
    margin-bottom: 2.5rem
  }

  .u-s-mt-44 {
    margin-top: 2.75rem
  }

  .u-s-mb-44 {
    margin-bottom: 2.75rem
  }

  .u-s-mt-45 {
    margin-top: 2.8125rem
  }

  .u-s-mb-45 {
    margin-bottom: 2.8125rem
  }

  .u-s-mt-48 {
    margin-top: 3rem
  }

  .u-s-mb-48 {
    margin-bottom: 3rem
  }

  .u-s-mt-50 {
    margin-top: 3.125rem
  }

  .u-s-mb-50 {
    margin-bottom: 3.125rem
  }

  .u-s-mt-52 {
    margin-top: 3.25rem
  }

  .u-s-mb-52 {
    margin-bottom: 3.25rem
  }

  .u-s-mt-55 {
    margin-top: 3.4375rem
  }

  .u-s-mb-55 {
    margin-bottom: 3.4375rem
  }

  .u-s-mt-56 {
    margin-top: 3.5rem
  }

  .u-s-mb-56 {
    margin-bottom: 3.5rem
  }

  .u-s-mt-60 {
    margin-top: 3.75rem
  }

  .u-s-mb-60 {
    margin-bottom: 3.75rem
  }

  .u-s-mt-64 {
    margin-top: 4rem
  }

  .u-s-mb-64 {
    margin-bottom: 4rem
  }

  .u-s-mt-65 {
    margin-top: 4.0625rem
  }

  .u-s-mb-65 {
    margin-bottom: 4.0625rem
  }

  .u-s-mt-68 {
    margin-top: 4.25rem
  }

  .u-s-mb-68 {
    margin-bottom: 4.25rem
  }

  .u-s-mt-70 {
    margin-top: 4.375rem
  }

  .u-s-mb-70 {
    margin-bottom: 4.375rem
  }

  .u-s-mt-72 {
    margin-top: 4.5rem
  }

  .u-s-mb-72 {
    margin-bottom: 4.5rem
  }

  .u-s-mt-75 {
    margin-top: 4.6875rem
  }

  .u-s-mb-75 {
    margin-bottom: 4.6875rem
  }

  .u-s-mt-76 {
    margin-top: 4.75rem
  }

  .u-s-mb-76 {
    margin-bottom: 4.75rem
  }

  .u-s-mt-80 {
    margin-top: 5rem
  }

  .u-s-mb-80 {
    margin-bottom: 5rem
  }

  .u-s-mt-84 {
    margin-top: 5.25rem
  }

  .u-s-mb-84 {
    margin-bottom: 5.25rem
  }

  .u-s-mt-85 {
    margin-top: 5.3125rem
  }

  .u-s-mb-85 {
    margin-bottom: 5.3125rem
  }

  .u-s-mt-88 {
    margin-top: 5.5rem
  }

  .u-s-mb-88 {
    margin-bottom: 5.5rem
  }

  .u-s-mt-90 {
    margin-top: 5.625rem
  }

  .u-s-mb-90 {
    margin-bottom: 5.625rem
  }

  .u-s-mt-92 {
    margin-top: 5.75rem
  }

  .u-s-mb-92 {
    margin-bottom: 5.75rem
  }

  .u-s-mt-95 {
    margin-top: 5.9375rem
  }

  .u-s-mb-95 {
    margin-bottom: 5.9375rem
  }

  .u-s-mt-96 {
    margin-top: 6rem
  }

  .u-s-mb-96 {
    margin-bottom: 6rem
  }

  .u-s-mt-100 {
    margin-top: 6.25rem
  }

  .u-s-mb-100 {
    margin-bottom: 6.25rem
  }

  .u-s-mt-104 {
    margin-top: 6.5rem
  }

  .u-s-mb-104 {
    margin-bottom: 6.5rem
  }

  .u-s-mt-105 {
    margin-top: 6.5625rem
  }

  .u-s-mb-105 {
    margin-bottom: 6.5625rem
  }

  .u-s-mt-108 {
    margin-top: 6.75rem
  }

  .u-s-mb-108 {
    margin-bottom: 6.75rem
  }

  .u-s-mt-110 {
    margin-top: 6.875rem
  }

  .u-s-mb-110 {
    margin-bottom: 6.875rem
  }

  .u-s-ml-0 {
    margin-left: 0
  }

  .u-s-mr-0 {
    margin-right: 0
  }

  .u-s-ml-1 {
    margin-left: .0625rem
  }

  .u-s-mr-1 {
    margin-right: .0625rem
  }

  .u-s-ml-2 {
    margin-left: .125rem
  }

  .u-s-mr-2 {
    margin-right: .125rem
  }

  .u-s-ml-3 {
    margin-left: .1875rem
  }

  .u-s-mr-3 {
    margin-right: .1875rem
  }

  .u-s-ml-4 {
    margin-left: .25rem
  }

  .u-s-mr-4 {
    margin-right: .25rem
  }

  .u-s-ml-5 {
    margin-left: .3125rem
  }

  .u-s-mr-5 {
    margin-right: .3125rem
  }

  .u-s-ml-6 {
    margin-left: .375rem
  }

  .u-s-mr-6 {
    margin-right: .375rem
  }

  .u-s-ml-7 {
    margin-left: .4375rem
  }

  .u-s-mr-7 {
    margin-right: .4375rem
  }

  .u-s-ml-8 {
    margin-left: .5rem
  }

  .u-s-mr-8 {
    margin-right: .5rem
  }

  .u-s-ml-9 {
    margin-left: .5625rem
  }

  .u-s-mr-9 {
    margin-right: .5625rem
  }

  .u-s-ml-10 {
    margin-left: .625rem
  }

  .u-s-mr-10 {
    margin-right: .625rem
  }

  .u-s-ml-12 {
    margin-left: .75rem
  }

  .u-s-mr-12 {
    margin-right: .75rem
  }

  .u-s-ml-15 {
    margin-left: .9375rem
  }

  .u-s-mr-15 {
    margin-right: .9375rem
  }

  .u-s-ml-16 {
    margin-left: 1rem
  }

  .u-s-mr-16 {
    margin-right: 1rem
  }

  .u-s-ml-20 {
    margin-left: 1.25rem
  }

  .u-s-mr-20 {
    margin-right: 1.25rem
  }

  .u-s-ml-24 {
    margin-left: 1.5rem
  }

  .u-s-mr-24 {
    margin-right: 1.5rem
  }

  .u-s-ml-25 {
    margin-left: 1.5625rem
  }

  .u-s-mr-25 {
    margin-right: 1.5625rem
  }

  .u-s-ml-28 {
    margin-left: 1.75rem
  }

  .u-s-mr-28 {
    margin-right: 1.75rem
  }

  .u-s-ml-30 {
    margin-left: 1.875rem
  }

  .u-s-mr-30 {
    margin-right: 1.875rem
  }

  .u-s-ml-32 {
    margin-left: 2rem
  }

  .u-s-mr-32 {
    margin-right: 2rem
  }

  .u-s-ml-35 {
    margin-left: 2.1875rem
  }

  .u-s-mr-35 {
    margin-right: 2.1875rem
  }

  .u-s-ml-36 {
    margin-left: 2.25rem
  }

  .u-s-mr-36 {
    margin-right: 2.25rem
  }

  .u-s-ml-40 {
    margin-left: 2.5rem
  }

  .u-s-mr-40 {
    margin-right: 2.5rem
  }

  .u-s-pt-0 {
    padding-top: 0
  }

  .u-s-pt-4 {
    padding-top: .25rem
  }

  .u-s-pt-8 {
    padding-top: .5rem
  }

  .u-s-pt-12 {
    padding-top: .75rem
  }

  .u-s-pt-16 {
    padding-top: 1rem
  }

  .u-s-pt-20 {
    padding-top: 1.25rem
  }

  .u-s-mt-auto {
    margin-top: auto
  }

  .u-s-ml-48 {
    margin-left: 3rem
  }

  .u-hide-s {
    display: none !important
  }

  .u-s-align-center {
    display: block;
    text-align: center
  }

  .u-s-align-right {
    display: block;
    text-align: right
  }

  .f-form {
    padding: 5rem 6.25rem
  }

  .f-form .hs-input:not([type=checkbox]) {
    min-height: 3rem;
    font-size: .875rem
  }

  .f-form .hbspt-form fieldset.form-columns-2 {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
  }

  .f-form .actions {
    min-width: 25.125rem
  }

  .f-form .hs-button {
    --btn-height: 4rem
  }
}

@media print,
screen and (min-width:64em) {
  :root {
    --padding-x: 5rem;
    --padding-y: 6.25rem
  }

  .l-header {
    --sub-visible: visible;
    --logo-size: 6rem;
    --menu-gap-y: 1.5rem;
    --sub-position: relative;
    transition: all .3s cubic-bezier(.19, 1, .22, 1);
    min-height:auto;
    padding:0 10px;
  }

  .l-header.-fixed {
    --logo-size: 5.9375rem;
    --sub-visible: hidden;
    --menu-gap-y: 0;
    --sub-position: absolute;
    border-bottom: var(--line-gray);
    min-height: 4rem;
    padding: .75rem 2rem .75rem 1rem
  }

  .l-header.-scroll {
    background: var(--color-white);
    border-bottom: var(--line-gray)
  }

  .l-header::before {
    z-index: -1;
    content: "";
    display: block;
    width: 100%;
    height: calc(100vh - 100%);
    position: absolute;
    left: 0;
    top: 100%;
    background: #222;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
  }

  .l-header.-pulldown::before {
    opacity: .65;
    visibility: visible
  }

  .l-header.-type_b {
    min-height: 5.5rem;
    padding: 1.5rem 2rem
  }

  .l-header__inner {
    z-index: 200
  }

  .l-header__inner.-recruit {
    align-items: center
  }

  .l-main {
    padding-top: 7.5rem
  }

  .l-main.-recruit-top {
    padding-top: 0
  }

  .l-footer__inner {
    max-width: 90rem;
    padding: 3.5rem 5rem;
    margin: 0 auto
  }

  .l-information {
    padding: 6.25rem var(--padding-x) 3.5rem
  }

  .l-cta {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .l-cta__link {
    --icon-size: 1.5rem;
    --title-font-size: 1.5rem;
    --icon-position: 0.25em;
    --text-font-size: 1rem;
    --pd-top: 0.75rem;
    padding: 2.375rem 5rem
  }

  .l-cta__link.-contact {
    --icon-size: 2rem;
    --title-font-size: 2rem;
    --text-font-size: 1.125rem;
    --pd-top: 1.5rem;
    padding: 3.875rem 5rem
  }

  .l-cta__link.-newsletter {
    border:0;
  }

  .l-cta__title {
    padding-left: calc(var(--icon-size) + .75rem)
  }

  .l-cta__text {
    padding-top: var(--pd-top)
  }

  .l-cta__text+.l-cta__text {
    padding-top: 0
  }

  .l-cta-recruit {
    height: 19.875rem
  }

  .l-cta-recruit__inner {
    display: flex;
    justify-content: space-between;
    align-items: center
  }

  .l-cta-recruit__heading {
    --font-size: 2rem;
    margin-top: .625rem
  }

  .l-cta-recruit__item+.l-cta-recruit__item {
    margin-top: 1.125rem
  }

  .c-button.-recruit {
    display: none
  }

  .c-link {
    --position-y: 0.2em
  }

  .c-link.-cta,
  .c-link.-size_xl {
    font-size: 1.375rem
  }

  .c-link.-cta {
    --icon-size: 1.5rem;
    padding-left: 2.25rem
  }

  .c-list-anchor.-full,
  .c-list-anchor.-members {
    width: 100%
  }

  .c-list-anchor__inner.-service {
    margin-top: 1.25rem;
    grid-template-columns: repeat(3, 1fr)
  }

  .c-list-anchor__inner.-members {
    grid-template-columns: repeat(2, 1fr)
  }

  .c-list-check__item {
    padding: .25rem 0 0 1.75rem
  }

  .p-breadcrumbs__item:not(:first-child)::before {
    top: .1em
  }

  .p-footer-head {
    justify-content: space-between
  }

  .p-footer-head__logo {
    height: auto
  }

  .p-footer-head__copy {
    font-size: 1.25rem;
    line-height: 1.65;
    width: 23.25rem
  }

  .p-footer-main {
    display: flex;
    justify-content: space-between;
    margin-top: 3.5rem;
    align-items: flex-start
  }

  .p-footer-main__right {
    margin-right: 7.75rem
  }

  .p-footer-menu {
    margin-right: 2.5rem
  }

  .p-grid {
    --col-number: 3
  }

  .p-grid.-col-2 {
    --col-number: 2
  }

  .p-grid.-col-4 {
    --col-number: 4
  }

  .p-grid.-header-pulldown {
    --gap-x: 1.875rem
  }

  .p-grid.-cta,
  .p-grid.-solution {
    --col-number: 2
  }

  .p-header-menu {
    --gap-x: 1.25rem;
    flex-direction: column-reverse
  }

  .p-header-menu__list {
    display: flex;
    justify-content: flex-end
  }

  .p-header-menu__item {
    margin-left: var(--gap-x)
  }

  .p-header-menu__item:first-child {
    margin-left: 0
  }

  .p-header-menu__link {
    white-space: nowrap
  }

  .p-header-menu__link.-pulldown::after {
    font-weight: 100
  }

  .preload .p-header-menu__link.-pulldown {
    pointer-events: none
  }

  .p-header-menu__link.-accordion::after,
  .p-header-menu__link.-pulldown::after {
    display: inline-block;
    font-family: "icofont";
    font-size: .875rem;
    content: "\e905";
    color: var(--color-gray);
    margin-left: .25rem;
    transition: all .4s ease
  }

  .p-header-menu__link.-open::after {
    transform: rotate(-180deg)
  }

  .p-header-menu__link.u-type-contact::before {
    position: relative;
    display: inline-block;
    top: .1em;
    content: "\e908";
    font-size: 1.125rem;
    font-family: "icofont";
    font-weight: 100;
    color: var(--color-icon);
    margin: -.125rem .5rem -.125rem 0
  }

  .p-header-menu__sub {
    --gap-x: 1.5rem;
    --font-size: 0.875rem;
    --color-link: var(--color-gray-link);
    --color-link-hover: var(--color-black);
    margin-bottom: var(--menu-gap-y);
    visibility: var(--sub-visible);
    position: var(--sub-position)
  }

  .p-header-logo {
    transition: all .5s ease
  }

  .p-header-logo.-size_s {
    --logo-size: 5.9375rem
  }

  .p-header-pulldown {
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    overflow: hidden;
    height: 0;
    transform: translateZ(0)
  }

  .p-header-pulldown.-open::before {
    content: "";
    width: 100vw;
    height: 50%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    display: block
  }

  .p-header-pulldown__content.-knowhow {
    padding: 2.5rem 6.25rem 5rem;
    max-width: 87.5rem;
    margin: 0 auto
  }

  .p-main-visual {
    display: flex;
    align-items: center;
    padding: 0 6.25rem;
    height: calc(115vh - 7.5rem);
    margin-top:0;
    min-height: 45rem
  }

  .p-main-visual__movie {
    transition: opacity 2.5s cubic-bezier(.19, 1, .22, 1);
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    width: 100%;
    min-height: 100%;
    height: 100%
  }

  .p-main-visual__movie-inner {
    transition: opacity 2s cubic-bezier(.19, 1, .22, 1);
    height: 100%;
    min-height: 48rem
  }

  .p-main-visual__copy {
    transform: translate(0, -35%)
  }

  .p-main-visual__title {
    font-size: 2.25rem
  }

  .p-main-visual__text {
    font-size: 1rem;
    margin-top: 1.125rem;
    line-height: 1.75
  }

  .p-main-visual__button {
    margin-top: 1.5rem
  }

  .p-home-section {
    min-height: 100vh;
    --padding: 25rem var(--padding-x) 6.25rem
  }

  .p-home-section__title {
    font-size: 2.625rem;
    margin: 1rem auto 0
  }

  .p-home-section__heading {
    display: block;
    font-weight: 600;
    font-size: 1.375rem
  }

  .p-home-section__heading+.p-home-section__heading {
    margin-top: 1rem
  }

  .p-home-section__heading.-mt-0 {
    margin-top: 0
  }

  .u-action.is-active {
    --ani: 1;
    --trans: translateY(0)
  }

  .p-intro {
    --padding: 5rem var(--padding-x)
  }

  .p-intro__inner {
    display: flex;
    align-items: flex-end;
    max-width: var(--max-width)
  }

  .p-intro__content {
    margin-right: 6.25rem
  }

  .p-intro__title {
    font-size: 2.375rem
  }

  .p-home-product {
    padding: 3rem 1.875rem;
    display: flex
  }

  .p-home-product__content {
    max-width: 18.125rem;
    margin-right: 2.5rem
  }

  .p-home-product__list {
    flex: 1
  }

  .p-section.-breadcrumb {
    --padding: 0.75rem 2rem 0
  }

  .p-section.-page-head {
    --padding: 3.5rem var(--padding-x) 5.25rem
  }

  .p-section.-post {
    --max-width: 55rem;
    --padding: 2.75rem var(--padding-x) 6.25rem
  }

  .p-section.-category {
    --padding: 2.5rem var(--padding-x) 0
  }

  .p-section.-requirement {
    --padding: 2.5rem var(--padding-x) var(--padding-y)
  }

  .p-section.-archive-download,
  .p-section.-works-top {
    --padding: 3.5rem var(--padding-x) 0
  }

  .p-section.-works {
    --padding: 5rem var(--padding-x) var(--padding-y)
  }

  .p-section.-company/profile {
    --max-width: 55rem;
    --padding: 3.5rem var(--padding-x) 0
  }

  .p-section.-download,
  .p-section.-error {
    --padding: 2.5rem var(--padding-x) var(--padding-y)
  }

  .p-section.-last,
  .p-section.-members {
    --padding: var(--padding-y) var(--padding-x) 0
  }

  .p-section.-members-last {
    --padding: var(--padding-y) var(--padding-x)
  }

  .p-section.-max_880 {
    --max-width: 55rem
  }

  .p-page-layout {
    display: grid;
    -moz-column-gap: var(--gap-x);
    column-gap: var(--gap-x)
  }

  .p-page-layout,
  .p-page-layout.-archive {
    grid-template-columns: 1fr 16.25rem;
    --gap-x: 3.75rem
  }

  .p-page-layout__sidebar {
    position: relative;
    width: 16.25rem;
    margin-top: calc(var(--gap-y)*-1)
  }

  .p-page-lead__inner {
    max-width: 75rem;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem;
    margin: 0 auto
  }

  .p-page-lead__inner.-half {
    grid-template-columns: 1fr 1fr
  }

  .p-page-lead__balloon,
  .p-page-lead__inner.-full {
    display: flex;
    justify-content: center;
    align-items: center
  }

  .p-page-lead__inner.-member {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.4375rem
  }

  .p-page-lead__balloon {
    --color-active: var(--color-black);
    width: 20rem;
    height: 20rem;
    background-color: var(--color-white);
    border-radius: 50% 50% 0 50%;
    box-shadow: inset .0625rem .0625rem 0 var(--color-white);
    transform: rotate(.003deg)
  }

  .p-page-lead__list {
    row-gap: 1rem
  }

  .p-page-lead__list-item {
    --font-size: 1.5rem
  }

  .p-page-lead__list-item.-circle {
    padding-left: 2.75rem
  }

  .p-page-lead__list-item.-circle::before {
    --icon-size: 2rem
  }

  .p-page-lead__list-item.-check {
    padding-left: 1.875rem
  }

  .p-page-lead__list-item.-check::before {
    top: .5em
  }

  .p-page-lead__block.-anchor {
    align-items: flex-end
  }

  .p-page-lead__title.-members br {
    display: block
  }

  .p-page-lead__marker {
    background-color: var(--color-white);
    padding-bottom: .1em;
    font-size: 1.75rem;
    line-height: 1.8
  }

  .p-page-lead__marker:first-child {
    padding-left: .5rem
  }

  .p-page-lead__marker:last-child {
    padding-right: .5rem
  }

  .p-sidebar {
    padding-top: var(--gap-y)
  }

  .p-sidebar__block {
    padding: .75rem 0 1.5rem;
    border-top: var(--line-gray)
  }

  .p-sidebar__link.-current {
    font-weight: 700;
    letter-spacing: -.01em
  }

  .p-share-icons__tooltip {
    visibility: var(--visible);
    position: absolute;
    display: flex;
    opacity: var(--opacity);
    top: calc(100% + .5rem);
    left: .5rem;
    white-space: nowrap;
    font-size: .6875rem;
    background-color: var(--color-black);
    color: var(--color-white);
    padding: .125rem .25rem;
    border-radius: .125rem;
    transition: all .5s cubic-bezier(.19, 1, .22, 1)
  }

  .p-share-icons__tooltip.-type_b {
    left: -.625rem;
    top: 50%;
    transform: translate(-100%, -50%)
  }

  .p-list-card.-service {
    min-height: 100%
  }

  .p-list-card.-recruit {
    padding: 2.5rem
  }

  .p-list-card.-solution {
    display: flex;
    flex-direction: column
  }

  .p-list-card__arrow.-size_l {
    --icon-size: 2rem;
    top: .3em
  }

  .p-list-card__name {
    font-size: 1.375rem
  }

  .p-list-card__name.-size_l {
    font-size: 2rem;
    padding-left: 3rem
  }

  .p-overview__content {
    width: 100%;
    max-width: 51rem;
    margin-left: 7.5rem
  }

  .p-flex.-m-flex,
  .p-overview__tr {
    display: flex
  }

  .p-overview__th {
    width: 29.4%
  }

  .p-overview__td {
    flex: 1
  }

  .p-page-banner {
    width: 30rem;
    margin-left: 2.5rem
  }

  .p-flow {
    row-gap: 4rem
  }

  .p-flow__item:not(:last-child)::after {
    left: 3.75rem;
    bottom: -2.375rem
  }

  .p-flow__dl,
  .p-flow__name {
    display: flex;
    align-items: center
  }

  .p-flow__name {
    font-size: 1.25rem;
    --box-size: 8.75rem;
    width: var(--box-size);
    height: var(--box-size);
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    border: .0625rem solid var(--color-gray);
    margin-right: 3.125rem
  }

  .p-flow__name.-accent {
    border: .0625rem solid var(--color-accent)
  }

  .p-qna__item {
    row-gap: 1rem
  }

  .p-qna__q {
    font-size: 1.5rem;
    padding-left: 2.25rem
  }

  .p-qna__a::before,
  .p-qna__q::before {
    content: "Q.";
    position: absolute;
    left: 0;
    top: .125em
  }

  .p-qna__a {
    row-gap: 1.5rem;
    padding-left: 2.25rem
  }

  .p-qna__a::before {
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    counter-increment: item;
    font-size: 1.5rem;
    content: "A.";
    color: var(--color-black);
    font-weight: 400;
    letter-spacing: .06em;
    top: -.15em
  }

  .p-feature-point {
    display: flex;
    --margin-image: 0 0 0 3.125rem
  }

  .p-feature-point.-reverse {
    --margin-image: 0 3.125rem 0 0
  }

  .p-feature-point__image {
    flex: 1
  }

  .p-search {
    max-width: 20rem
  }

  .p-post-share {
    --gap-y: 2.5rem;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(calc(100% + 2.5rem));
    width: 2.5rem;
    height: 100%;
    margin-top: calc(var(--gap-y)*-1)
  }

  .p-post-share.-left {
    transform: translateX(calc(-100% - 1.5625rem))
  }

  .p-page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
  }

  .p-page-head.-flex-start {
    align-items: flex-start
  }

  .p-page-head-right {
    margin-left: 2.5rem;
    flex-direction: column;
    gap: 1rem
  }

  .p-page-download {
    display: flex
  }

  .p-page-download__content {
    flex: 1;
    margin-right: 5rem
  }

  .p-page-download__form {
    width: var(--form-w)
  }

  .p-category-list {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start
  }

  .p-category-list__name {
    margin-right: 1rem;
    padding-right: 1rem
  }

  .p-category-list__name::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    width: .0625rem;
    height: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--color-gray-line)
  }

  .p-newsletter-button {
    font-size: 1.5rem;
    justify-content: center;
    min-height: 6.25rem
  }

  .p-newsletter-button__image {
    width: 8.75rem;
    margin-right: 1rem
  }

  .p-newsletter-button__arrow {
    --icon-size: 2rem;
    transform: translateY(-50%);
    top: 50%;
    right: 2rem
  }

  .p-layout-a {
    display: grid;
    grid-template: "copy link" auto "button link" auto/1fr 1fr;
    align-items: start;
    -moz-column-gap: 6.25rem;
    column-gap: 6.25rem;
    row-gap: 2rem
  }

  .p-layout-a__copy {
    grid-area: copy
  }

  .p-layout-a__link {
    grid-area: link
  }

  .p-layout-a__link-item {
    padding: 1rem 0
  }

  .p-card-cta__title {
    font-size: 1.125rem
  }

  .p-page-top,
  .p-page-top a {
    transition: all .25s ease-in-out
  }

  .p-page-top {
    --icon-color: var(--color-gray);
    z-index: 200;
    position: fixed;
    display: block;
    right: 1.5rem;
    bottom: 1.5rem;
    transform: translateY(.625rem)
  }

  .p-page-top a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    border: .0625rem solid var(--color-border);
    border-radius: 50%;
    background: var(--color-white)
  }

  .p-page-top a::before {
    content: "\e907";
    font-family: "icofont";
    line-height: 1;
    color: var(--icon-color);
    font-size: 2rem;
    transition: color .25s ease-in-out
  }

  .p-page-top.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
  }

  .p-page-top,
  .p-page-top.-disabled {
    opacity: 0;
    visibility: hidden
  }

  .p-card-feature {
    --padding: 3rem
  }

  .p-card-feature.-col-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem
  }

  .p-card-feature.-layout-b {
    display: grid;
    grid-template-columns: 1fr auto;
    --padding: 3rem 1.875rem 3rem 3rem
  }

  .p-card-feature__bg {
    height: 100%
  }

  .p-card-feature__name {
    font-size: 1.375rem;
    line-height: 1
  }

  .p-card-feature__unit {
    --font-size: 2.5rem
  }

  .p-card-feature__unit.-size_s {
    --font-size: 1.5rem
  }

  .p-card-feature__unit.-size_m {
    --font-size: 2rem;
    margin-bottom: .125rem
  }

  .p-card-feature__unit.-size_xs {
    --font-size: 1.375rem
  }

  .p-card-feature__unit+.p-card-feature__unit {
    margin-left: 1.25rem
  }

  .p-card-feature__unit+.p-card-feature__unit.-size_xs {
    margin-left: 1.5rem
  }

  .p-card-feature__notes {
    margin-left: .75rem;
    font-size: .75rem
  }

  .p-card-feature__notes.-m-0 {
    margin-left: 0
  }

  .p-card-feature__number {
    --font-size: 7.5rem;
    line-height: .8
  }

  .p-card-feature__number.-size_s {
    --font-size: 4rem
  }

  .p-card-feature__number+.p-card-feature__number {
    margin-left: -1.25rem
  }

  .p-card-feature__head {
    margin-top: 1.25rem
  }

  .p-card-feature__image {
    width: 150px;
    --position-y: 1.5rem;
    --position-x: 2.25rem
  }

  .p-card-feature__image.-type_a {
    width: 11.875rem;
    --position-y: 0.75rem;
    --position-x: 1.875rem
  }

  .p-card-feature__image.-type_b {
    width: 10rem;
    --position-y: 4.375rem;
    --position-x: 3.75rem
  }

  .p-card-feature__image.-type_c {
    width: 11.25rem;
    --position-y: 3.4375rem;
    --position-x: 2.5rem
  }

  .p-card-feature__image.-type_d {
    width: 12.5rem;
    --position-y: 3.4375rem;
    --position-x: 3.125rem
  }

  .p-card-feature__image.-type_e,
  .p-card-feature__image.-type_f {
    width: 9.375rem;
    --position-y: 2.5rem;
    --position-x: 3.125rem
  }

  .p-card-feature__image.-type_g {
    width: 10rem;
    --position-y: 2.875rem;
    --position-x: 3.5rem
  }

  .p-card-feature__image.-type_h {
    width: 12.5rem;
    --position-y: 2.5rem;
    --position-x: 3.125rem
  }

  .p-card-feature__image.-type_i {
    width: 10.625rem;
    --position-y: 1rem;
    --position-x: 1.875rem
  }

  .p-card-feature__image-b {
    --image-size: 100%;
    --image-size: 20rem;
    height: var(--image-size);
    margin: 3.75rem 5rem 3.125rem 2.5rem
  }

  .p-card-feature__text {
    margin-top: 2.125rem
  }

  .p-card-feature__text+.p-card-feature__text {
    margin-top: .875rem
  }

  .p-card-feature__ol {
    margin-top: 2.375rem
  }

  .p-card-feature__li {
    font-size: 1.75rem;
    line-height: 1.6
  }

  .p-card-feature-ml-4 {
    margin-left: 2.5rem !important
  }

  .p-sitemap {
    --gap: 2.5rem;
    --col: 3
  }

  .p-sitemap__group {
    display: block;
    width: 100%
  }

  .p-serial__layout {
    padding: 3rem 1.875rem;
    display: var(--layout)
  }

  .p-serial__content1 {
    max-width: 21.875rem;
    margin-right: 2.5rem
  }

  .p-product-banner__image {
    width: 12.75rem;
    min-width: 12.75rem
  }

  .p-media-card {
    display: grid;
    grid-template-columns: 15rem 1fr
  }

  .p-media-card__head {
    padding: 0 2.5rem
  }

  .p-media-card__content {
    padding: 1rem 2.5rem
  }

  .p-media-card__content::before {
    width: .125rem;
    height: 100%
  }

  .p-recruit-main {
    padding: 8.75rem var(--padding-x) 0
  }

  .p-recruit-main__visual::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 7.5rem;
    left: 0;
    top: 0;
    background: linear-gradient(#fff, #fff -8%, transparent);
    opacity: .95
  }

  .p-recruit-main__copy {
    max-width: var(--max-width);
    margin: 0 auto
  }

  .p-recruit-main__title {
    font-size: 4rem;
    margin-left: -2.5rem
  }

  .p-recruit-main__button {
    margin-top: 3rem
  }

  .p-recruit-about {
    align-items: center;
    margin-top: 3.125rem
  }

  .p-recruit-about__visual {
    margin-left: 3.75rem;
    flex: 1
  }

  .p-recruit-members__item {
    --image-size: 10rem
  }

  .p-recruit-message {
    overflow: hidden;
    display: flex
  }

  .p-recruit-message__image {
    width: 50%
  }

  .p-recruit-message__inner {
    width: 50%;
    padding: 6.25rem 5rem
  }

  .p-recruit-message__desc {
    line-height: 2.25
  }

  .p-card-requirement {
    padding: 3.75rem 2rem 2rem;
    min-height: 100%
  }

  .p-card-requirement-info {
    --gap-y: 1.5rem;
    grid-template: "place income" auto "skills skills" auto/auto 1fr;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }

  .p-card-requirement-info__place {
    grid-area: place;
    display: flex
  }

  .p-card-requirement-info__income {
    grid-area: income;
    display: flex
  }

  .p-card-requirement-info__skills {
    grid-area: skills
  }

  .p-card-requirement-info__ul {
    margin-top: .375rem
  }

  .p-recruit-pulldown {
    padding-top: .75rem;
    position: absolute;
    top: 100%;
    visibility: hidden;
    opacity: 0;
    transition: all .25s ease-in-out;
    transform: translateY(-.625rem)
  }

  .p-recruit-pulldown__inner {
    background: var(--color-white);
    padding: 1.5rem;
    border: .0625rem solid var(--color-gray-line)
  }

  .p-recruit-pulldown__item+.p-recruit-pulldown__item {
    margin-top: 1rem
  }

  .p-recruit-pulldown__link {
    --icon-bg: var(--icon-color, var(--color-accent));
    --position-y: 0.25em;
    --icon-size: 1.25rem;
    display: inline-block;
    position: relative;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-active, var(--color-black));
    font-size: var(--text-font-size);
    padding-left: 1.5rem;
    transition: all 1s cubic-bezier(.19, 1, .22, 1);
    font-size: 1rem;
    -webkit-text-decoration: underline .0625rem;
    text-decoration: underline .0625rem;
    text-underline-offset: .2em;
    -webkit-text-decoration-color: var(--color-text-line);
    text-decoration-color: var(--color-text-line)
  }

  @supports not ((-webkit-text-decoration:underline 1px) or (text-decoration:underline 1px)) {
    .p-recruit-pulldown__link {
      text-decoration: underline
    }
  }

  .p-recruit-pulldown__link::before {
    content: "\e905";
    position: absolute;
    font-weight: 100;
    left: 0;
    top: var(--position-y);
    font-family: "icofont";
    transform: rotate(-90deg);
    line-height: 1;
    color: var(--icon-bg);
    font-size: 1rem
  }

  .p-recruit-banner {
    border: .25rem solid var(--color-gray-line);
    padding: 2rem 2.375rem;
    display: grid;
    grid-template: "heading desc" auto "link desc" 1fr/auto 1fr;
    align-items: start;
    gap: 1.25rem 2.5rem
  }

  .p-recruit-banner__title {
    --font-size: 1.375rem;
    grid-area: heading
  }

  .p-recruit-banner__link {
    grid-area: link
  }

  .p-recruit-banner__desc {
    grid-area: desc
  }

  .p-tab {
    margin-top: 5rem
  }

  .p-tab__label {
    min-height: 3.75rem;
    font-size: 1.5rem
  }

  .p-tab__body {
    margin-top: 3.25rem
  }

  .p-content-area.-type_e li:not([class]) {
    font-size: 1.125rem
  }

  .p-content-area .wp-block-lazyblock-professional {
    margin-top: 6.25rem
  }

  .p-content-area .p-pro-column {
    display: grid;
    grid-template-columns: 1fr 16.5rem;
    margin-bottom: 4.5rem
  }

  .p-content-area .p-pro-column h3 {
    font-size: 1.75rem
  }

  .p-content-area .p-pro-column__profile {
    max-width: 16.5rem
  }

  .p-content-area .p-pro-column__sub-name {
    font-size: .75rem
  }

  .p-content-area .p-pro-column__name {
    margin-top: -.125rem;
    margin-bottom: .5rem
  }

  .p-content-area .p-pro-column__position {
    font-size: .875rem
  }

  .p-content-area .wp-block-lazyblock-content-cta {
    margin: 3.75rem 0
  }

  .p-content-area .p-custom-cta {
    padding: 2.375rem 2.5rem
  }

  .p-content-area .p-custom-cta__links {
    gap: .375rem
  }

  .u-m-mt-auto {
    margin-top: auto
  }

  .u-m-ml-28 {
    margin-left: 1.75rem
  }

  .u-m-ml-20 {
    margin-left: 1.25rem
  }

  .u-m-mt-20 {
    margin-top: 1.25rem
  }

  .u-m-mb-24 {
    margin-bottom: 1.5rem
  }

  .u-hide-m {
    display: none !important
  }

  .f-form {
    padding: 5rem 12.5rem
  }

  .f-form .hs-richtext {
    font-size: 1rem
  }
}

@media print,
screen and (min-width:75em) {
  :root {
    --padding-x: 6.25rem;
    --padding-y: 6.25rem
  }

  .c-list-anchor__inner.-members {
    grid-template-columns: repeat(3, 1fr)
  }

  .p-grid.-feature-logo {
    grid-template-columns: repeat(6, 1fr);
    --gap-x: 0.5rem;
    --gap-y: 0.5rem
  }

  .p-header-menu {
    --gap-x: 1.875rem
  }

  .p-main-visual__title {
    font-size: 2.25rem
  }

  .p-main-visual__text {
    font-size: 1rem;
    margin-top: 1.125rem;
    line-height: 1.75
  }

  .p-main-visual__button {
    margin-top: 1.5rem
  }

  .p-home-section__heading {
    font-size: 1.5rem
  }

  .p-intro__content {
    margin-right: 11.875rem
  }

  .p-intro__title {
    font-size: 2.75rem
  }

  .p-page-layout {
    --gap-x: 5rem
  }

  .p-page-layout.-archive {
    grid-template-columns: 1fr 18.25rem;
    --gap-x: 6.25rem
  }

  .p-page-layout__sidebar.-size_l {
    width: 18.25rem
  }

  .p-page-lead__inner {
    -moz-column-gap: 6.25rem;
    column-gap: 6.25rem
  }

  .p-service-info {
    display: flex
  }

  .p-service-info__content {
    margin-right: 2.5rem
  }

  .p-service-info__image {
    margin-top: 0;
    max-width: 35rem
  }

  .p-media-image__img {
    --image-size: 15.625rem
  }

  .p-post-share.-left {
    transform: translateX(calc(-100% - 2.5rem))
  }

  .p-card-cta__block {
    align-items: center;
    flex-wrap: wrap
  }

  .p-card-cta__block-item {
    margin-right: .5rem
  }

  .p-card-cta__title {
    font-size: 1.25rem
  }

  .p-recruit-message {
    max-height: 35.125rem
  }

  .p-recruit-message__title {
    white-space: nowrap
  }

  .u-l-mr-100 {
    margin-right: 6.25rem
  }

  .u-hide-l {
    display: none !important
  }

  .u-show-m.-hide-l {
    display: none
  }

  .u-show-l {
    display: inherit
  }
}

@media print,
screen and (min-width:80em) {
  .p-footer-menu {
    grid-template-columns: repeat(4, 1fr)
  }

  .p-page-lead__inner.-half {
    grid-template-columns: auto 1fr
  }

  .p-page-lead__title br {
    display: block
  }

  .p-page-lead__marker {
    padding-left: .5rem;
    padding-right: .5rem
  }
}

@media print,
screen and (min-width:87.5em) {

  :root {
    --padding-x: 7.5rem
  }

  .c-list-anchor__inner.-service {
    margin-top: -.75rem;
    grid-template-columns: repeat(2, 1fr)
  }

  .p-grid.-header-pulldown,
  .p-header-menu {
    --gap-x: 2.5rem
  }

  .p-header-pulldown__content.-knowhow {
    padding: 2.5rem 10rem 5rem
  }

  .p-main-visual {
    min-height: 48rem
  }

  .p-main-visual__copy {
    transform: translate(0, -35%)
  }

  .p-main-visual__title {
    font-size: 2.625rem
  }

  .p-home-section__heading {
    font-size: 1.875rem
  }

  .p-home-section__heading.-intro {
    font-size: 1.75rem
  }

  .p-intro__title {
    font-size: 3rem
  }

  .p-home-product {
    padding: 3rem
  }

  .p-page-layout.-archive {
    --gap-x: 7.5rem
  }

  .p-flex.-l-flex {
    display: flex
  }

  .p-feature-point {
    --margin-image: 0 0 0 4.375rem
  }

  .p-feature-point.-reverse {
    --margin-image: 0 6.25rem 0 0
  }

  .p-serial__layout {
    padding: 3rem
  }

  .u-show-xl {
    display: inherit
  }
}

@media print,
screen and (min-width:96.875em) {
  .p-main-visual {
    justify-content: center;
    height: calc(105vh - 7.5rem);
    max-height: 56.25rem
  }

  .p-main-visual__copy {
    transform: translate(0, -40%)
  }
}
.p-header-menu__link.-accordion::after, .p-header-menu__link.-pulldown::after,
.p-header-menu__link.u-type-contact::before,
.l-cta__arrow::after, .l-cta__arrow::before,
.p-list-card__arrow,
.c-button::after,
.c-link__arrow::before,
.c-link__arrow::after,
.p-content-area a:not([class])[target=_blank]::after,
.c-list-anchor__link::after, 
.c-list-check__item::before,
.p-header-menu__link::after,
.c-link.-header::before{
  display: none;
}