* {
  font-family: inherit
}

:root {
  --color-theme-primary: #004275;
  --color-theme-secondary: #EFBE00;
  --color-theme-tertiary: #BD1A21;
  --color-theme-grey: #e6e6e6;
  --color-theme-grey2: #808080;
  --color-theme-grey3: #BEBEBE;
  --color-theme-grey4: #EAEAEA;
  --color-theme-grey5: #9B9B9B;
  --color-theme-dark: #1A1A1C;
  --color-theme-dark2: #3D3D3D;
  --background-color-base: #F0F0F0;
  --color-link: --color-theme-link;
  --color-body: --color-theme-dark;
  --font-family-base: "Noto Sans JP", Meiryo, sans-serif;
  --font-family-en: "Kumbh Sans", sans-serif;
  --transition-delay-main: 0.2s;
  --transition-duration-common: 0.2s;
  --transition-timing-function-common: ease-in;
  --z-index-main: 0;
  --z-index-modal: 20000;
  --z-index-modal-overlay: calc(var(--z-index-modal) - 10);
  --z-index-menuButton: 12000;
  --z-index-menu: 11900;
  --z-index-stalker: 11100;
  --z-index-nav: 11000;
  --z-index-header: 1000;
  --z-index-loader: calc(var(--z-index-header) - 10);
  --z-index-nav-overlay: calc(var(--z-index-loader) - 10);
  --z-index-floating: calc(var(--z-index-nav-overlay) - 10);
  --z-index-kv: 100;
  --pointer-x: 0;
  --pointer-y: 0;
  --section-margin-top-common: 6rem;
  --section-margin-bottom-common: 6rem;
  --section-margin-top-short: 4.8rem;
  --section-margin-bottom-short: 4.8rem;
  --section-padding-top-common: 6rem;
  --section-padding-bottom-common: 6rem;
  --gutter: 16%
}

@media(min-width:850px) {
  :root {
    --section-margin-top-common: 12rem;
    --section-margin-bottom-common: 12rem;
    --section-margin-top-short: 7.2rem;
    --section-margin-bottom-short: 7.2rem;
    --section-padding-top-common: 12rem;
    --section-padding-bottom-common: 12rem
  }
}

@media(min-width:850px) {
  :root {
    --gutter: 60px
  }
}

@media(min-width:850px) {
  :root {
    --container-max-width: 117.6rem;
    --container-max-width-short: 108rem;
    --container-max-width-large: 86%
  }
}

html {
  font-size: 2.6666666667vw
}

@media(min-width:850px) {
  html {
    font-size: min(.78125vw, 10px)
  }
}

@media(min-width:1600px) {
  html {
    font-size: 10.9375px
  }
}

html.is-type01 {
  --border-color-header: #E1E1E1
}

html.is-type02 {
  --border-color-header: #FFF
}

body {
  width: 100%;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.8;
  background-color: var(--background-color-base);
  color: var(--color-body);
  letter-spacing: .05em
}

body * {
  box-sizing: border-box
}

body.is-loading {
  overflow: hidden
}

body.is-loaded {
  overflow: revert
}

body.is-menuOpen,
body.is-modal-open {
  overflow: hidden;
  position: fixed
}

@media(min-width:850px) {
  body {
    font-size: 1.6rem
  }
}

a {
  box-sizing: border-box;
  word-break: break-all;
  color: var(--color-link);
  text-decoration: underline;
  transition: opacity .1s ease-in-out 0s
}

a:where(:link) {
  text-decoration: none
}

a:where(:visited) {
  text-decoration: none
}

a:where(:hover) {
  text-decoration: none
}

li img,
li a,
li a img {
  vertical-align: bottom
}

[role=button] {
  cursor: pointer
}

picture {
  width: 100%;
  height: 100%
}

.u-d-b {
  display: block !important
}

.u-d-n {
  display: none !important
}

@media(min-width:375px) {
  .u-d-ss-b {
    display: block !important
  }

  .u-d-ss-n {
    display: none !important
  }
}

@media(min-width:576px) {
  .u-d-sm-b {
    display: block !important
  }

  .u-d-sm-n {
    display: none !important
  }
}

@media(min-width:768px) {
  .u-d-md-b {
    display: block !important
  }

  .u-d-md-n {
    display: none !important
  }
}

@media(min-width:992px) {
  .u-d-lg-b {
    display: block !important
  }

  .u-d-lg-n {
    display: none !important
  }
}

@media(min-width:1025px) {
  .u-d-ll-b {
    display: block !important
  }

  .u-d-ll-n {
    display: none !important
  }
}

@media(min-width:1280px) {
  .u-d-xl-b {
    display: block !important
  }

  .u-d-xl-n {
    display: none !important
  }
}

@media(min-width:1400px) {
  .u-d-xxl-b {
    display: block !important
  }

  .u-d-xxl-n {
    display: none !important
  }
}

@media(min-width:1600px) {
  .u-d-xxl2-b {
    display: block !important
  }

  .u-d-xxl2-n {
    display: none !important
  }
}

.l-wrapper {
  position: relative
}

.l-wrapper__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-image: url(../common_img/bg-noise.webp);
  background-repeat: repeat;
  mix-blend-mode: overlay
}

.l-wrapper__bg.-base {
  z-index: -2;
  mix-blend-mode: normal;
  background-image: none;
  background-color: var(--background-color-base)
}

.l-wrapper__overlay {
  display: block;
  position: fixed;
  inset: 0 0 auto;
  height: 100vh;
  z-index: var(--z-index-nav-overlay);
  visibility: hidden;
  opacity: 0;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  pointer-events: none;
  background-color: rgba(0, 0, 0, .1);
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

body.is-visible-overlay .l-wrapper__overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: inherit;
  cursor: pointer
}

body.is-modal-active .l-wrapper__overlay {
  z-index: var(--z-index-modal-overlay)
}

.l-main {
  position: relative;
  z-index: var(--z-index-main);
  transition-property: opacity;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  transition-delay: var(--transition-delay-main)
}

body.is-loaded .l-main {
  opacity: 1
}

.l-container {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  padding-right: calc(var(--gutter)/2);
  padding-left: calc(var(--gutter)/2);
  position: relative
}

@media(min-width:850px) {
  .l-container {
    max-width: calc(var(--container-max-width) + var(--gutter))
  }
}

.l-container-fluid {
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
  position: relative
}

.l-container-large {
  max-width: calc(var(--container-max-width-large) + var(--gutter))
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  padding-left: 1.6rem;
  width: 100%;
  height: 6rem;
  transition-property: background-color;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--border-color-header);
  display: grid;
  grid-gap: 0 0;
  gap: 0 0;
  grid-template-columns: auto 6rem 6rem 6rem;
  grid-auto-flow: row;
  grid-template-areas: "area-header__content area-header__tel area-header__contact area-header__menu"
}

@media(min-width:850px) {
  .l-header {
    height: auto;
    padding-left: 4rem;
    grid-template-columns: auto 20rem 10rem;
    grid-template-rows: 1fr 1fr;
    grid-template-areas: "area-header__content area-header__tel area-header__menu" "area-header__content area-header__contact area-header__menu"
  }
}

.l-header .p-tel {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  align-items: center;
  justify-content: center;
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: var(--border-color-header);
  grid-area: area-header__tel;
  background-color: var(--color-theme-secondary);
}

@media(min-width:850px) {
  .l-header .p-tel {
    padding-left: 2rem;
    justify-content: revert;
    pointer-events: none
  }
}

@media(min-width:850px) {
  .l-header .p-tel .c-icon {
    margin-right: .8rem
  }
}

.l-header .p-tel .c-icon svg {
  width: 2.4rem;
  height: 2.4rem
}

.l-header .p-tel__text {
  display: none
}

@media(min-width:850px) {
  .l-header .p-tel__text {
    display: inline-flex
  }
}

.l-header .p-tel__number {
  font-size: 1.8rem
}

.l-header .p-tel__small {
  font-size: 1rem;
  margin-top: .5rem
}

.l-header .p-contact {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
  grid-area: area-header__contact;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-width: 1px;
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: var(--border-color-header);
  background-color: var(--color-theme-tertiary);
  color: #fff;
}

@media(min-width:850px) {
  .l-header .p-contact {
    border-top-style: solid;
    border-top-color: var(--border-color-header);
    padding-top: .8rem;
    padding-bottom: 1rem;
    padding-left: 2rem;
    justify-content: revert
  }
}

.l-header .p-contact .c-icon {
  display: none;
}

@media(min-width:850px) {
  .l-header .p-contact .c-icon {
    margin-right: .8rem;
    display: block;
  }
}

.l-header .p-contact .c-icon svg {
  width: 2.4rem;
  height: 2.4rem
}

@media(hover:hover) {

  .l-header .p-contact:hover .c-link-line-hover {
    background-position: 0 100%;
    background-size: 100% 1px
  }
}

.l-header .p-contact__text {
  display: none;

  &.-mobile {
    display: block;
    line-height: 1.3;
  }
}

@media(min-width:850px) {
  .l-header .p-contact__text {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.3;
    display: block;

    &.-mobile {
      display: none;
    }
  }
}

html.is-type01 .l-header {
  background-color: var(--background-color-base)
}

html.is-type01 .l-header::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../common_img/bg-noise.webp);
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  mix-blend-mode: overlay
}

.l-header__content {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  display: flex;
  justify-content: space-between;
  grid-area: area-header__content;
  padding-right: 2.8rem;
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: var(--border-color-header)
}

.l-header__content .c-logo {
  display: flex;
  align-items: center
}

.l-header__content .c-logo a {
  display: flex
}

.l-header__content .c-logo img {
  width: 12rem
}

@media(min-width:850px) {
  .l-header__content .c-logo img {
    width: 17.6rem
  }
}

.l-header__humberger {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
  grid-area: area-header__menu
}

@media (min-width:850px) {
  .l-header .p-tel {
    -ms-grid-row: 1;
    -ms-grid-column: 3
  }

  .l-header .p-contact {
    -ms-grid-row: 3;
    -ms-grid-column: 3
  }

  .l-header__content {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1
  }

  .l-header__humberger {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 5
  }
}

.l-footer {
  --background-color-footer: #313131;
  --border-color-footer: #3D3D3D;
  color: var(--color-theme-grey5);
  background-color: var(--background-color-footer);
  margin-top: 8rem;
  padding-top: 5.2rem;
  padding-bottom: 4rem;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
  position: relative
}

body.is-loaded .l-footer {
  opacity: 1
}

@media(min-width:850px) {
  .l-footer {
    margin-top: 13.6rem;
    padding-top: 10rem
  }
}

.l-nav {
  height: 100%;
  padding-top: .6rem
}

@media(max-width:849px) {
  .l-nav {
    display: none
  }
}

.l-nav__list {
  display: flex;
  grid-column-gap: 2.8rem;
  height: 100%
}

.l-nav__link {
  cursor: pointer;
  font-size: 1.3rem;
  display: inline-flex;
  align-items: center;
  height: 100%
}

.l-nav__link .c-icon {
  display: inline-block;
  color: currentColor;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .6rem .4rem 0 .4rem;
  border-color: currentColor rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  transform: rotate(0deg);
  margin-left: .8rem;
  transition-property: all;
  transition-timing-function: var(--transition-timing-function-common);
  transition-duration: var(--transition-duration-common)
}

@media(hover:hover) {

  .l-nav__link:hover .l-nav__text,
  .l-nav__link.is-active .l-nav__text {
    background-position: 0 100%;
    background-size: 100% 1px
  }

  .l-nav__link:hover .c-icon,
  .l-nav__link.is-active .c-icon {
    rotate: 180deg
  }
}

.l-nav__text {
  background-image: linear-gradient(90deg, currentColor, currentColor);
  background-repeat: no-repeat;
  transition-property: background-size;
  transition-timing-function: var(--transition-timing-function-common);
  transition-duration: var(--transition-duration-common);
  background-position: 100% 100%;
  background-size: 0 1px
}

.l-nav-menu {
  --font-size-nav-menu-title: 1.6rem;
  --l-nav-menu__body-margin-top: 2.4rem;
  margin-top: 4rem
}

@media(min-width:850px) {
  .l-nav-menu {
    --font-size-nav-menu-title: 1.4rem
  }
}

@media(min-width:850px) {
  .l-nav-menu {
    --l-nav-menu__body-margin-top: 0
  }
}

@media(min-width:850px) {
  .l-nav-menu {
    margin-top: 5.4rem;
    display: flex;
    justify-content: space-between
  }
}

.l-nav-menu__column {
  display: flex;
  flex-direction: column
}

@media(min-width:850px) {
  .l-nav-menu__column {
    grid-row-gap: 5.2rem
  }
}

.l-nav-menu__group {
  border-top-width: 1px;
  border-top-color: var(--color-theme-grey4);
  border-top-style: solid;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
  position: relative
}

@media(min-width:850px) {
  .l-nav-menu__group {
    border: none;
    padding-top: 0;
    padding-bottom: 0
  }
}

.l-footer .l-nav-menu__group {
  border-top-color: var(--border-color-footer)
}

.l-footer .l-nav-menu__group .l-nav-menu__title .c-icon svg {
  stroke: var(--color-theme-dark)
}

.l-nav-menu__title {
  font-weight: 700;
  font-size: 1.3rem;
  font-size: var(--font-size-nav-menu-title);
  display: inline-flex;
  align-items: center;
  pointer-events: none
}

@media(min-width:850px) {
  .l-nav-menu__title {
    pointer-events: revert;
    font-size: 1.4rem
  }
}

.l-nav-menu__title.p-button-text {
  line-height: inherit;
  font-size: var(--font-size-nav-menu-title)
}

.l-nav-menu__title.p-button-text .c-icon {
  display: none
}

@media(min-width:850px) {
  .l-nav-menu__title.p-button-text .c-icon {
    width: 1.6rem;
    height: 1.6rem;
    background-color: currentColor;
    border-radius: 50%;
    color: currentColor;
    margin-left: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center
  }
}

.l-nav-menu__title.p-button-text .c-icon svg {
  width: 1rem;
  height: 1rem;
  stroke: #fff
}

.l-nav-menu__category {
  font-weight: 700;
  font-size: 1.2rem;
  margin-top: 3rem
}

.l-nav-menu__category::before {
  content: "";
  display: inline-block;
  width: .6rem;
  height: .6rem;
  border-radius: 50%;
  background-color: currentColor;
  margin-right: .4rem;
  vertical-align: .1rem
}

.l-nav-menu__category:first-of-type {
  margin-top: var(--l-nav-menu__body-margin-top)
}

.l-nav-menu__body {
  height: 0;
  overflow: hidden
}

@media(min-width:850px) {
  .l-nav-menu__body {
    height: auto;
    overflow: visible;
    margin-top: 2rem
  }
}

.l-nav-menu__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 20px
}

@media(min-width:850px) {
  .l-nav-menu__list {
    grid-template-columns: 1fr;
    grid-row-gap: .4rem
  }
}

.l-nav-menu__list.-child {
  margin-left: 1.6rem
}

.l-nav-menu__category+.l-nav-menu__list {
  margin-top: .3rem
}

.l-nav-menu__icon {
  position: absolute;
  top: 2.8rem;
  right: 0;
  width: 2rem;
  height: 2rem
}

@media(min-width:850px) {
  .l-nav-menu__icon {
    display: none
  }
}

.l-nav-menu__icon .c-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: currentColor
}

.l-nav-menu__icon .c-icon.-open {
  display: flex
}

.l-nav-menu__icon .c-icon.-close {
  display: none
}

.l-nav-menu__icon svg {
  width: 1.4rem;
  height: 1.4rem;
  stroke: #fff
}

.l-footer .l-nav-menu__icon svg {
  stroke: var(--color-theme-dark)
}

.l-nav-menu__group.is-active .l-nav-menu__icon .c-icon.-open {
  display: none
}

.l-nav-menu__group.is-active .l-nav-menu__icon .c-icon.-close {
  display: flex
}

.l-nav-menu__item {
  font-size: 1.2rem;
  margin-top: 1.6rem;

  .p-button-text {
    font-size: unset;
    font-weight: unset;
  }
}

@media(min-width:850px) {
  .l-nav-menu__item {
    margin-top: 0
  }
}

.l-nav-menu__item:nth-child(1),
.l-nav-menu__item:nth-child(2) {
  margin-top: var(--l-nav-menu__body-margin-top)
}

.l-nav-menu__list .l-nav-menu__item:nth-child(1),
.l-nav-menu__list .l-nav-menu__item:nth-child(2) {
  margin-top: 1.2rem
}

@media(min-width:850px) {

  .l-nav-menu__list .l-nav-menu__item:nth-child(1),
  .l-nav-menu__list .l-nav-menu__item:nth-child(2) {
    margin-top: var(--l-nav-menu__body-margin-top)
  }
}

.l-nav-child {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: var(--border-color-header);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--border-color-header);
  opacity: 0;
  visibility: hidden;
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  max-height: calc(100vh - 10rem);
  overflow-y: auto
}

body.is-dropDownNav-visible .l-nav-child.is-active {
  opacity: 1;
  visibility: visible
}

.l-nav-child__inner {
  position: relative;
  padding-top: 4.6rem;
  padding-bottom: 6rem
}

html.is-type01 .l-nav-child__inner::before,
html.is-type01 .l-nav-child__inner::after {
  pointer-events: none
}

html.is-type01 .l-nav-child__inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  background-color: var(--background-color-base)
}

html.is-type01 .l-nav-child__inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../common_img/bg-noise.webp);
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  mix-blend-mode: overlay
}

.l-nav-child__close {
  margin-top: -4.6rem;
  cursor: pointer;
  border-left-width: 1px;
  border-bottom-width: 1px;
  border-left-style: solid;
  border-bottom-style: solid;
  border-left-color: var(--border-color-header);
  border-bottom-color: var(--border-color-header);
  border-right: none;
  border-top: none;
  width: calc(10rem + 1px);
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center
}

.l-nav-child__close .c-icon {
  background-color: var(--color-theme-dark);
  color: #fff;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  display: inline-flex;
  margin-right: .8rem;
  align-items: center;
  justify-content: center
}

.l-nav-child__close .c-icon svg {
  width: 1.2rem;
  height: 1.2rem
}

.l-nav-child__close .c-link {
  font-size: 1.4rem
}

@media(hover:hover) {
  .l-nav-child__close:hover .c-link-line-hover {
    background-position: 0 100%;
    background-size: 100% 1px
  }
}

.l-nav-child__content {
  width: 100%;
  display: grid;
  grid-template-columns: 28.4rem 1fr 10.1rem;
  padding-left: 6.9546%
}

.l-nav-child__head {
  padding-right: 6rem;
  border-right-width: 2px;
  border-right-style: dotted;
  border-right-color: var(--border-color-header)
}

.l-nav-child__title {
  font-size: 2rem;
  font-weight: 700
}

.l-nav-child__lead {
  font-size: 1.2rem;
  margin-top: 1.6rem
}

.l-nav-child__body {
  padding-right: 10.4rem;
  padding-left: 4.8rem
}

.l-nav-child__links {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 8%;
  grid-row-gap: 2.8rem;
  line-height: 1.2;
  margin-bottom: 8rem
}

.l-nav-child__links:last-child {
  margin-bottom: 0
}

.l-nav-child__links .p-button-text {
  font-size: 1.4rem;
  font-weight: 400;
}

.l-nav-child__item {
  position: relative;
  padding-left: 1rem;
  line-height: 1.5
}

.l-nav-child__item::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: currentColor;
  position: absolute;
  top: 1.1rem;
  left: 0
}

.l-menu {
  width: 100%;
  height: 100%;
  overscroll-behavior: none
}

.l-header .l-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-menu);
  background-color: #fff;
  padding-top: 8rem;
  padding-bottom: 2rem;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden
}

@media(min-width:850px) {
  .l-header .l-menu {
    padding-top: 12rem;
    padding-bottom: 4rem
  }
}

body.is-menuOpen .l-header .l-menu {
  opacity: 1;
  visibility: visible
}

body.is-menuClosing .l-header .l-menu {
  pointer-events: none
}

.l-menu__content {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  padding-right: calc(var(--gutter)/2);
  padding-left: calc(var(--gutter)/2);
  position: relative
}

@media(min-width:850px) {
  .l-menu__content {
    max-width: calc(var(--container-max-width) + var(--gutter))
  }
}

.l-menu__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-column-gap: 2rem
}

@media(min-width:850px) {
  .l-menu__head .c-logo {
    display: block;
    width: 28.1rem
  }
}

.l-menu__head .p-button {
  padding-top: .8rem;
  padding-right: 1.6rem;
  padding-bottom: .8rem;
  padding-left: 1.6rem;
  min-width: auto
}

@media(min-width:850px) {
  .l-menu__head .p-button {
    padding-top: 1.7rem;
    padding-right: 3.5rem;
    padding-bottom: 1.8rem;
    padding-left: 3rem
  }
}

.l-menu__head .p-button .c-icon {
  margin-right: .4rem
}

@media(min-width:850px) {
  .l-menu__head .p-button .c-icon {
    margin-right: .8rem
  }
}

.l-menu__head .p-button__text {
  font-size: 1.1rem;
  padding-right: 0
}

@media(min-width:850px) {
  .l-menu__head .p-button__text {
    font-size: 1.4rem
  }
}

.l-footer .l-menu__head .p-button {
  background-color: var(--color-theme-tertiary);
  border-color: var(--color-theme-tertiary);
  color: #fff
}

@media(hover:hover) {
  .l-footer .l-menu__head .p-button:hover {
    background-color: #fff;
    color: var(--color-theme-tertiary)
  }

  .l-footer .l-menu__head .p-button:hover .c-icon {
    color: var(--color-theme-tertiary)
  }
}

.l-menu__foot {
  border-top-width: 1px;
  border-top-color: var(--color-theme-grey4);
  border-top-style: solid;
  margin-top: 4.5rem;
  padding-top: 2.8rem;
  font-size: 1.2rem;
  position: relative
}

@media(min-width:850px) {
  .l-menu__foot {
    padding-top: 4.8rem
  }
}

.l-menu__foot .c-logo {
  width: 28.8rem
}

.l-footer .l-menu__foot {
  border-top-color: var(--border-color-footer)
}

.l-menu__info {
  margin-top: 2rem
}

@media(min-width:850px) {
  .l-menu__info {
    margin-top: 3.8rem
  }
}

.l-menu__address {
  margin-top: 1.2rem
}

@media(min-width:850px) {
  .l-menu__address {
    margin-top: 2.1rem
  }
}

.l-menu__address .p-button-text {
  font-size: 1.2rem
}

.l-menu__address .p-button-text .c-icon {
  margin-left: .4rem
}

.l-menu__address .p-button-text .c-icon svg {
  width: 1.6rem;
  height: 1.6rem
}

.l-menu__links {
  display: flex;
  flex-wrap: wrap;
  grid-column-gap: 2.8rem;
  grid-row-gap: .6rem;
  margin-top: 5rem;
  margin-top: 3.2rem;
  padding-bottom: 4rem
}

@media(min-width:850px) {
  .l-menu__links {
    padding-bottom: 0
  }
}

.l-menu__links .p-button-text {
  font-size: 1.1rem
}

@media(min-width:850px) {
  .l-menu__links .p-button-text {
    font-size: 1.2rem
  }
}

.l-menu__copy {
  position: absolute;
  bottom: 0;
  right: 0
}

.l-section {
  position: relative;
  z-index: 10
}

.l-section.-section-marginBlockStart-common {
  margin-top: var(--section-margin-top-common)
}

.l-section.-section-marginBlockStart-short {
  margin-top: var(--section-margin-top-short)
}

.l-section.-section-marginBlockEnd-short {
  margin-bottom: var(--section-margin-bottom-short)
}

.l-section.-section-paddingStart-common {
  padding-top: var(--section-padding-top-common)
}

.l-section.-section-paddingEnd-common {
  padding-bottom: var(--section-padding-bottom-common)
}

.l-section.-bg-grey {
  background-color: var(--background-color-base)
}

.l-section.-bg-grey::before,
.l-section.-bg-grey::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none
}

.l-section.-bg-grey::before {
  mix-blend-mode: overlay;
  background-image: url(../common_img/bg-noise.webp);
  background-repeat: repeat;
  z-index: 0
}

.l-section.-bg-grey::after {
  z-index: 1;
  background-color: var(--background-color-base);
  mix-blend-mode: multiply
}

.l-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: var(--z-index-loader);
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  display: flex;
  align-items: center;
  justify-content: center
}

body.is-loaded .l-loader {
  pointer-events: none;
  opacity: 0;
  visibility: hidden
}

.l-loader__text {
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  font-family: var(--font-family-en);
  -webkit-clip-path: inset(0 1em 0 0);
  clip-path: inset(0 1em 0 0);
  animation: animation-loading 1s steps(4) infinite;
  font-size: 1.1rem
}

.l-loader__text::before {
  content: "Loading..."
}

.l-humberger {
  border: none;
  padding: 0;
  cursor: pointer;
  position: relative;
  z-index: var(--z-index-menuButton)
}

.l-humberger::before,
.l-humberger::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: calc(50% - .9rem);
  width: 1.8rem;
  height: 2px;
  background-color: var(--color-theme-dark);
  transition-property: scale;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  scale: 0
}

.l-humberger::before {
  rotate: 45deg
}

.l-humberger::after {
  rotate: -45deg
}

@media(hover:hover) {
  .l-humberger:hover .l-humberger__dot.-left {
    margin-left: 0
  }

  .l-humberger:hover .l-humberger__dot.-right {
    margin-left: 0
  }
}

body.is-menuOpen .l-humberger .l-humberger__dot {
  opacity: 0
}

body.is-menuOpen .l-humberger .l-humberger__child.-open {
  opacity: 0;
  transform: translateY(50%)
}

body.is-menuOpen .l-humberger .l-humberger__child.-close {
  opacity: 1;
  transform: translateY(0)
}

body.is-menuOpen .l-humberger::before,
body.is-menuOpen .l-humberger::after {
  scale: 1
}

.l-humberger__dot {
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background-color: var(--color-theme-dark);
  position: absolute;
  top: calc(47% - .2rem);
  left: calc(50% - .2rem);
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

@media(min-width:850px) {
  .l-humberger__dot {
    top: calc(50% - .2rem)
  }
}

.l-humberger__dot.-left {
  margin-left: -.8rem
}

.l-humberger__dot.-right {
  margin-left: .8rem
}

.l-humberger__text {
  font-family: var(--font-family-en);
  font-size: 1rem;
  margin-top: 2rem;
  display: inline-block;
  position: relative;
  width: 100%
}

@media(min-width:850px) {
  .l-humberger__text {
    font-size: 1.2rem;
    margin-top: 3rem
  }
}

.l-humberger__child {
  font-weight: 700;
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%
}

.l-humberger__child.-close {
  opacity: 0;
  transform: translateY(-50%)
}

.l-title {
  padding-top: 11.6rem;
  padding-bottom: 2.8rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--border-color-header);
  position: relative
}

@media(min-width:850px) {
  .l-title {
    padding-top: 13.6rem;
    padding-bottom: 4.8rem
  }
}

.c-title-page {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  padding-right: calc(var(--gutter)/2);
  padding-left: calc(var(--gutter)/2);
  position: relative;
  display: flex;
  flex-direction: column
}

@media(min-width:850px) {
  .c-title-page {
    max-width: calc(var(--container-max-width) + var(--gutter))
  }
}

.c-title-page__large {
  font-size: 2.8rem;
  line-height: 1.7
}

@media(min-width:850px) {
  .c-title-page__large {
    font-size: 4rem
  }
}

.c-title-page__small {
  font-size: .9rem;
  font-family: var(--font-family-en);
  font-weight: 400
}

@media(min-width:850px) {
  .c-title-page__small {
    font-size: 1.4rem
  }
}

.c-title-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

.c-title-section__large {
  font-size: 2.8rem;
  line-height: 1.3;
  letter-spacing: 0
}

@media(min-width:850px) {
  .c-title-section__large {
    font-size: 3.2rem
  }
}

.c-title-section__small {
  font-size: 1.1rem;
  font-weight: 400;
  font-family: var(--font-family-en);
  margin-top: 1rem
}

@media(min-width:850px) {
  .c-title-section__small {
    font-size: 1.2rem;
    text-transform: uppercase;
  }
}

.c-title-dot {
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  margin-bottom: 2.8rem
}

@media(min-width:850px) {
  .c-title-dot {
    font-size: 1.6rem
  }
}

.c-title-dot::before {
  content: "";
  display: block;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background-color: var(--color-theme-grey2);
  flex-shrink: 0
}

.c-title-dot::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-size: 8px 2px;
  background-image: linear-gradient(to right, #000000 2px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left bottom
}

.c-title-dot__text {
  flex-shrink: 0;
  padding-left: 1rem;
  padding-right: 2rem;
  max-width: 24rem;
  line-height: 1.5
}

@media(min-width:850px) {
  .c-title-dot__text {
    max-width: none
  }
}

.c-marker {
  background: linear-gradient(transparent 67.5%, var(--color-theme-secondary) 67.5%);
  font-weight: 700
}

.c-link-line {
  background: linear-gradient(to right, currentColor, currentColor) no-repeat right 0px bottom;
  background-size: calc(100% - 0px) 1px
}

@media(hover:hover) {
  .c-link-line:hover {
    animation-name: animation-link-line;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: 0s;
    animation-fill-mode: none
  }
}

.c-link-line-hover {
  background-image: linear-gradient(90deg, currentColor, currentColor);
  background-repeat: no-repeat;
  transition-property: background-size;
  transition-timing-function: var(--transition-timing-function-common);
  transition-duration: var(--transition-duration-common);
  background-position: 100% 100%;
  background-size: 0 1px
}

@media(hover) {
  .c-link-line-hover:hover {
    background-position: 0 100%;
    background-size: 100% 1px
  }
}

.c-control {
  border-radius: 4px;
  border-color: var(--color-theme-dark);
  border-width: 2px;
  border-style: solid;
  background-color: #fff;
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

@media(hover:hover) {
  .c-control:hover {
    background-color: var(--color-theme-dark);
    color: #fff
  }
}

.p-banner .p-button__text {
  padding-right: 0
}

.p-banner__contents {
  display: block;
  position: relative;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .16);
  width: 100%
}

@media(min-width:850px) {
  .p-banner__contents {
    width: auto
  }
}

.p-banner__contents.-contact {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  background-color: var(--color-theme-grey4);
  text-align: center;
  padding-top: 1.2rem;
  padding-right: 1.2rem;
  padding-bottom: 2rem;
  padding-left: 1.2rem;

  &>*:not(img) {
    position: relative;
    z-index: 2
  }

  &::before {
    --border-color: rgba(255, 255, 255, .05);
    content: "";
    display: block;
    z-index: 1;
    position: absolute;
    inset: 0;
    margin: auto;
    width: calc(100% + 12px);
    height: auto;
    aspect-ratio: 1 / 1;
    background-size: cover;
    background-position: center center;
    background-image: repeating-conic-gradient(transparent 0, transparent 13deg, var(--border-color) 13deg, var(--border-color) 16deg), repeating-conic-gradient(transparent 0, transparent 20deg, var(--border-color) 20deg, var(--border-color) 23deg), repeating-conic-gradient(transparent 0, transparent 5deg, var(--border-color) 5deg, var(--border-color) 8deg), repeating-conic-gradient(transparent 0, transparent 2deg, var(--border-color) 2deg, var(--border-color) 3deg)
  }
}

@media(min-width:850px) {
  .p-banner__contents.-contact {
    max-width: calc(var(--container-max-width) + var(--gutter));
    margin-inline: auto;
    padding-top: .2rem;
    padding-bottom: 1.4rem
  }
}

.p-banner__contents.-subsidy .__bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-banner__contents.-subsidy .p-button {
  position: absolute;
  left: calc((100% - 18.2rem)/2);
  bottom: 2.6rem;
  width: 18.2rem
}

.p-banner__contents.-subsidy .p-button__text {
  padding-right: 0
}

@media(hover:hover) {
  .p-banner__contents.-subsidy:hover .p-button {
    color: #fff;
    background-color: var(--color-theme-dark);
    border-color: var(--color-theme-dark)
  }

  .p-banner__contents.-subsidy:hover .p-button .p-button__icon {
    background-color: #fff;
    color: var(--color-theme-dark)
  }

  .p-banner__contents.-subsidy:hover .p-button .p-button__icon svg {
    animation-name: animation-link-arrow;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: .12s;
    animation-fill-mode: none
  }
}

.p-banner__ribbon {
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  width: 12.2rem
}

@media(min-width:850px) {
  .p-banner__ribbon {
    width: 18.2rem
  }
}

.p-banner__contents.-contact .p-banner__head {
  margin-top: 3rem;
  font-weight: 700;
  font-size: min(2.4rem, calc((13/375) * 100vw));
  text-align: center;
  line-height: 1.3
}

@media(min-width:850px) {
  .p-banner__contents.-contact .p-banner__head {
    margin-top: 2.4rem;
    font-size: 2.4rem
  }
}

.p-banner__contents.-subsidy .p-banner__head {
  color: #fff;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: 5.5rem;
  margin: auto;
  width: 100%
}

.p-banner__text {
  display: block;
  text-align: center;

  &>* {
    width: 100%
  }

  &+* {
    margin-block-start: 1em
  }
}

@media(min-width:850px) {
  .p-banner__text>* {
    width: 80%
  }
}

.p-banner__strong {
  color: var(--color-theme-tertiary);

  & .num {
    margin-inline: .125em;
    font-size: 1.5em;
    font-weight: 900;
    letter-spacing: -.0125em
  }
}

@media(min-width:850px) {
  .p-banner__strong {
    font-size: 1.5em
  }
}

.p-banner__strong img {
  width: 3.6rem;
  margin-left: -.8rem;
  margin-top: -.4rem
}

.p-banner__foot {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  grid-column-gap: 4.8rem;
  margin-top: 2rem
}

@media(min-width:850px) {
  .p-banner__foot {
    flex-direction: row;
    margin-top: 3rem
  }
}

.p-banner__foot .p-tel {
  align-items: flex-start
}

.p-banner__foot .p-tel .c-icon {
  margin-top: .4rem;
  margin-right: .8rem
}

.p-banner__foot .p-tel .c-icon svg {
  width: 2.4rem;
  height: 2.4rem
}

@media(min-width:850px) {
  .p-banner__foot .p-tel .c-icon svg {
    width: 3.2rem;
    height: 3.2rem
  }
}

@media(hover:hover) {
  .p-banner__foot .p-tel {
    pointer-events: none
  }
}

.p-banner__foot .p-tel__text {
  align-items: flex-start
}

.p-banner__foot .p-tel__number {
  font-size: 3.2rem
}

@media(min-width:850px) {
  .p-banner__foot .p-tel__number {
    font-size: 4rem
  }
}

.p-banner__foot .p-tel__small {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: .6rem
}

@media(min-width:850px) {
  .p-banner__foot .p-tel__small {
    font-size: 1.4rem;
    margin-top: .8rem
  }
}

.p-banner__foot .p-button {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  padding-right: 2rem;
  padding-bottom: 1.3rem;
  padding-left: 2rem;
  min-width: auto
}

@media(min-width:850px) {
  .p-banner__foot .p-button {
    margin-top: 0;
    padding-top: 1.4rem;
    padding-right: 3.9rem;
    padding-bottom: 1.7rem;
    padding-left: 3.9rem
  }
}

.p-banner__foot .p-button .c-icon {
  margin-right: .8rem
}

.p-banner__foot .p-button .c-icon svg {
  width: 3.2rem;
  height: 3.2rem
}

.p-banner__foot .p-button__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1.4rem;
  line-height: 1;
  padding-right: 0
}

@media(min-width:850px) {
  .p-banner__foot .p-button__text {
    font-size: 1.8rem
  }
}

.p-banner__foot .p-button__text small {
  font-size: 1.1rem;
  font-weight: 400;
  margin-bottom: .6rem
}

@media(min-width:850px) {
  .p-banner__foot .p-button__text small {
    font-size: 1.3rem;
    margin-bottom: .8rem
  }
}

.p-button {
  --font-size-button: 1.3rem;
  --padding-top-button: 1.3rem;
  --padding-right-button: 1.6rem;
  --padding-bottom-button: 1.4rem;
  --padding-left-button: 2rem;
  min-width: 27.8rem;
  cursor: pointer;
  font-size: var(--font-size-button);
  font-weight: 500;
  text-align: left;
  line-height: 1.5;
  border-style: solid;
  border-width: 2px;
  border-radius: 10rem;
  padding-top: var(--padding-top-button);
  padding-right: var(--padding-right-button);
  padding-bottom: var(--padding-bottom-button);
  padding-left: var(--padding-left-button);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

@media(min-width:850px) {
  .p-button {
    --font-size-button: 1.4rem;
    --padding-right-button: 2rem;
    --padding-left-button: 3.2rem
  }
}

@media(hover:hover) {
  .p-button:hover .p-button__icon svg {
    animation-name: animation-link-arrow;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: .12s;
    animation-fill-mode: none
  }
}

.p-button-text {
  padding: 0;
  border: none;
  border-radius: 0;
  min-width: auto;
  overflow: visible;
  line-height: 1.5;
  font-weight: 700
}

@media(min-width:850px) {
  .p-button-text .c-icon {
    margin-left: .8rem
  }
}

.p-button-text .c-icon svg {
  width: 2rem;
  height: 2rem
}

@media(hover:hover) {
  .p-button-text:hover .c-link-line {
    animation-name: animation-link-line;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: 0s;
    animation-fill-mode: none
  }

  .p-button-text:hover .c-link-line-hover {
    background-position: 0 100%;
    background-size: 100% 1px
  }

  .p-button-text:hover .c-icon svg {
    animation-name: animation-link-arrow;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: .12s;
    animation-fill-mode: none
  }
}

.p-button-small {
  min-width: auto;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 4rem;
  padding-top: .8rem;
  padding-right: 1.2rem;
  padding-bottom: .9rem;
  padding-left: 2.4rem
}

.p-button-small .p-button__text {
  padding-right: 3.6rem
}

.p-button-small .p-button__icon {
  width: 2.4rem;
  height: 2.4rem
}

.p-button-small .p-button__icon svg {
  width: 1.2rem;
  height: 1.2rem
}

.p-button-primary {
  color: #fff;
  background-color: #004275;
  border-color: #004275
}

@media(hover:hover) {
  .p-button-primary:hover {
    background-color: #fff;
    border-color: #004275;
    color: #004275
  }
}

.p-button-secondary {
  color: #fff;
  background-color: #EFBE00;
  border-color: #EFBE00
}

@media(hover:hover) {
  .p-button-secondary:hover {
    background-color: #fff;
    border-color: #EFBE00;
    color: #EFBE00
  }
}

.p-button-tertiary {
  color: #fff;
  background-color: #BD1A21;
  border-color: #BD1A21
}

@media(hover:hover) {
  .p-button-tertiary:hover {
    background-color: #fff;
    border-color: #BD1A21;
    color: #BD1A21
  }
}

.p-button-grey {
  color: #fff;
  background-color: #e6e6e6;
  border-color: #e6e6e6
}

@media(hover:hover) {
  .p-button-grey:hover {
    background-color: #fff;
    border-color: #e6e6e6;
    color: #e6e6e6
  }
}

.p-button-grey2 {
  color: #fff;
  background-color: #808080;
  border-color: #808080
}

@media(hover:hover) {
  .p-button-grey2:hover {
    background-color: #fff;
    border-color: #808080;
    color: #808080
  }
}

.p-button-grey3 {
  color: #fff;
  background-color: #BEBEBE;
  border-color: #BEBEBE
}

@media(hover:hover) {
  .p-button-grey3:hover {
    background-color: #fff;
    border-color: #BEBEBE;
    color: #BEBEBE
  }
}

.p-button-grey4 {
  color: #fff;
  background-color: #EAEAEA;
  border-color: #EAEAEA
}

@media(hover:hover) {
  .p-button-grey4:hover {
    background-color: #fff;
    border-color: #EAEAEA;
    color: #EAEAEA
  }
}

.p-button-grey5 {
  color: #fff;
  background-color: #9B9B9B;
  border-color: #9B9B9B
}

@media(hover:hover) {
  .p-button-grey5:hover {
    background-color: #fff;
    border-color: #9B9B9B;
    color: #9B9B9B
  }
}

.p-button-dark {
  color: #fff;
  background-color: #1A1A1C;
  border-color: #1A1A1C
}

@media(hover:hover) {
  .p-button-dark:hover {
    background-color: #fff;
    border-color: #1A1A1C;
    color: #1A1A1C
  }
}

.p-button-dark2 {
  color: #fff;
  background-color: #3D3D3D;
  border-color: #3D3D3D
}

@media(hover:hover) {
  .p-button-dark2:hover {
    background-color: #fff;
    border-color: #3D3D3D;
    color: #3D3D3D
  }
}

.p-button-white {
  color: var(--color-theme-dark);
  background-color: #fff
}

@media(hover:hover) {
  .p-button-white:hover {
    color: #fff;
    background-color: var(--color-theme-dark);
    border-color: var(--color-theme-dark)
  }

  .p-button-white:hover .p-button__icon {
    background-color: #fff;
    color: var(--color-theme-dark)
  }
}

.p-button-outline {
  background-color: rgba(0, 0, 0, 0)
}

.p-button-outline.p-button-primary {
  color: #004275
}

.p-button-outline.p-button-secondary {
  color: #EFBE00
}

.p-button-outline.p-button-tertiary {
  color: #BD1A21
}

.p-button-outline.p-button-grey {
  color: #e6e6e6
}

.p-button-outline.p-button-grey2 {
  color: #808080
}

.p-button-outline.p-button-grey3 {
  color: #BEBEBE
}

.p-button-outline.p-button-grey4 {
  color: #EAEAEA
}

.p-button-outline.p-button-grey5 {
  color: #9B9B9B
}

.p-button-outline.p-button-dark {
  color: #1A1A1C
}

.p-button-outline.p-button-dark2 {
  color: #3D3D3D
}

@media(hover:hover) {
  .p-button-outline:hover {
    color: #fff
  }

  .p-button-outline:hover.p-button-primary {
    background-color: #004275
  }

  .p-button-outline:hover.p-button-secondary {
    background-color: #EFBE00
  }

  .p-button-outline:hover.p-button-tertiary {
    background-color: #BD1A21
  }

  .p-button-outline:hover.p-button-grey {
    background-color: #e6e6e6
  }

  .p-button-outline:hover.p-button-grey2 {
    background-color: #808080
  }

  .p-button-outline:hover.p-button-grey3 {
    background-color: #BEBEBE
  }

  .p-button-outline:hover.p-button-grey4 {
    background-color: #EAEAEA
  }

  .p-button-outline:hover.p-button-grey5 {
    background-color: #9B9B9B
  }

  .p-button-outline:hover.p-button-dark {
    background-color: #1A1A1C
  }

  .p-button-outline:hover.p-button-dark2 {
    background-color: #3D3D3D
  }
}

.p-button__text {
  position: relative;
  z-index: 1;
  font-weight: 700;
  padding-right: 2rem
}

@media(min-width:850px) {
  .p-button__text {
    padding-right: 4.8rem
  }
}

.p-button-menu[aria-expanded=true] .p-button__text {
  display: none
}

.p-button__icon {
  flex-shrink: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  width: 2.8rem;
  height: 2.8rem
}

@media(min-width:850px) {
  .p-button__icon {
    width: 3.2rem;
    height: 3.2rem
  }
}

.p-button__icon svg {
  width: 1.4rem;
  height: 1.4rem
}

@media(min-width:850px) {
  .p-button__icon svg {
    width: 1.6rem;
    height: 1.6rem
  }
}

.p-button-dark .p-button__icon {
  background-color: #fff;
  color: var(--color-theme-dark)
}

.p-button-white .p-button__icon {
  background-color: var(--color-theme-dark);
  color: #fff
}

.p-button-outline .p-button__icon {
  background-color: currentColor
}

.p-button-outline .p-button__icon svg {
  stroke: #fff
}

@media(hover:hover) {
  .p-button-dark:hover .p-button__icon {
    background-color: var(--color-theme-dark);
    color: #fff
  }

  .p-button-white:hover .p-button__icon {
    background-color: #fff;
    color: var(--color-theme-dark)
  }
}

.p-tel {
  display: flex
}

.p-tel__text {
  display: flex;
  flex-direction: column;
  line-height: 1
}

.p-tel__number {
  font-family: var(--font-family-en);
  font-weight: 700
}

.p-contents .__button.-buttonLayout-wideCenter {
  text-align: center
}

@media(min-width:850px) {
  .p-contents__head.-leadLayout-wideHorizontal {
    display: grid;
    grid-column-gap: 20rem;
    grid-template-columns: auto 1fr
  }
}

@media(min-width:850px) {
  .p-contents__head.-leadLayout-wideHorizontal .p-lead {
    margin-top: 0
  }
}

.p-contents__body {
  margin-top: 3.2rem
}

@media(min-width:850px) {
  .p-contents__body {
    margin-top: 6rem
  }
}

.p-contents__foot {
  margin-top: 5.2rem
}

@media(min-width:850px) {
  .p-contents__foot {
    margin-top: 7.2rem
  }
}

.p-lead {
  margin-top: 2.4rem;
  line-height: 2
}

.p-service {
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 1.6rem;
  margin-bottom: 8rem
}

@media(min-width:850px) {
  .p-service {
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 4rem;
    grid-row-gap: 2.8rem;
    margin-bottom: 10rem
  }
}

.p-service:last-of-type {
  margin-bottom: 0
}

.p-service__item {
  background-color: #fff;
  display: table;
  height: 8rem;
  table-layout: fixed;
  padding-right: 2rem;
  transition-property: background-color;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

@media(min-width:850px) {
  .p-service__item {
    height: 10rem
  }
}

@media(hover:hover) {
  .p-service__item:hover {
    background-color: var(--color-theme-grey)
  }

  .p-service__item:hover .c-link-line {
    animation-name: animation-link-line;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: 0s;
    animation-fill-mode: none
  }
}

.p-service__cell {
  display: table-cell;
  vertical-align: middle;
  padding-left: 1.6rem;
  line-height: 1.6
}

.p-service__cell.-icon {
  width: 6rem
}

@media(min-width:850px) {
  .p-service__cell.-icon {
    width: 8rem
  }
}

.p-service__cell .c-link-line {
  font-size: 1.3rem;
  font-weight: 700
}

@media(min-width:850px) {
  .p-service__cell .c-link-line {
    font-size: 1.4rem
  }
}

.p-strength {
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 1.6rem
}

@media(min-width:850px) {
  .p-strength {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 3.6rem
  }
}

.p-strength__item {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-theme-dark);
  padding-bottom: 2rem
}

@media(hover:hover) {
  .p-strength__item:hover .p-button-text .c-link-line {
    animation-name: animation-link-line;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: 0s;
    animation-fill-mode: none
  }

  .p-strength__item:hover .p-button-text .c-icon svg {
    animation-name: animation-link-arrow;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: .12s;
    animation-fill-mode: none
  }
}

.p-strength__item .p-button-text {
  font-size: 1.3rem;
  display: block;
  margin-top: 3.2rem;
  margin-right: 2rem;
  margin-left: auto
}

@media(min-width:850px) {
  .p-strength__item .p-button-text {
    font-size: 1.4rem;
    margin-top: 4rem
  }
}

.p-strength__item .p-button-text .c-icon {
  margin-left: .3rem
}

.p-strength__item .p-button-text .c-icon svg {
  width: 2rem;
  height: 2rem
}

.p-strength__fukidashi {
  background-color: var(--color-theme-dark);
  color: #fff;
  font-weight: 700;
  position: relative;
  display: inline-block;
  line-height: 1.5;
  padding-top: .6rem;
  padding-right: 2rem;
  padding-bottom: .9rem;
  padding-left: 2rem
}

.p-strength__fukidashi::before {
  content: "";
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 1.6rem 1.6rem 0;
  border-color: rgba(0, 0, 0, 0) var(--color-theme-dark) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  transform: rotate(0deg);
  position: absolute;
  top: 100%;
  left: 1.2rem
}

.p-strength__image {
  margin-top: 1.6rem;
  margin-right: auto;
  margin-left: auto
}

@media(min-width:850px) {
  .p-strength__image {
    margin-top: 3.6rem
  }
}

.p-strength__title {
  margin-right: auto;
  margin-left: auto;
  font-size: 1.8rem;
  margin-top: 1.6rem
}

@media(min-width:850px) {
  .p-strength__title {
    font-size: 2rem;
    margin-top: 2.8rem
  }
}

.p-strength__strong {
  font-size: 2.4rem;
  line-height: 1
}

@media(min-width:850px) {
  .p-strength__strong {
    font-size: 3.2rem
  }
}

.p-strength__strong.-en {
  font-size: 2.8rem;
  font-family: var(--font-family-en)
}

@media(min-width:850px) {
  .p-strength__strong.-en {
    font-size: 4rem
  }
}

.p-strength__strong.-en.c-marker {
  background: linear-gradient(transparent 70%, var(--color-theme-secondary) 70%)
}

.p-strength__text {
  font-size: 1.3rem;
  padding-right: 2rem;
  padding-left: 2rem;
  margin-top: 1rem;
  margin-bottom: auto
}

@media(min-width:850px) {
  .p-strength__text {
    font-size: 1.4rem
  }
}

@media(hover:hover) {
  .p-case:hover .p-case__foot .c-link-line-hover {
    background-position: 0 100%;
    background-size: 100% 1px
  }

  .p-case:hover img {
    scale: 1.05
  }
}

.p-case__image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 700/393
}

.p-case__image img {
  scale: 1;
  transition-property: scale;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-case__body {
  display: flex;
  grid-column-gap: .8rem;
  grid-row-gap: .8rem;
  margin-top: 2rem
}

.p-case__label {
  font-size: 1.2rem;
  border-radius: 4px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-theme-grey2);
  text-align: center;
  display: inline-block;
  padding-right: 1.2rem;
  padding-left: 1.2rem
}

.p-case__foot {
  margin-top: 2.2rem;
  background-image: linear-gradient(90deg, currentColor, currentColor);
  background-repeat: no-repeat;
  transition-property: background-size;
  transition-timing-function: var(--transition-timing-function-common);
  transition-duration: var(--transition-duration-common);
  background-position: 100% 100%;
  background-size: 0 1px
}

.p-block-blockLayout01 {
  padding-top: 3.2rem;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: var(--color-theme-grey3);
  display: flex;
  flex-direction: column;
  grid-row-gap: 2.4rem
}

@media(min-width:850px) {
  .p-block-blockLayout01 {
    flex-direction: row;
    justify-content: space-between;
    grid-column-gap: 4.8rem;
    grid-row-gap: 0;
    padding-top: 4rem
  }
}

.p-block-blockLayout01+.p-block-blockLayout01 {
  margin-top: 4.8rem
}

@media(min-width:850px) {
  .p-block-blockLayout01+.p-block-blockLayout01 {
    margin-top: 4rem
  }
}

.p-block-blockLayout01 .p-blcok__image {
  width: 100%
}

@media(min-width:850px) {
  .p-block-blockLayout01 .p-blcok__image {
    width: 54rem
  }
}

.p-block-blockLayout01 .p-blcok__image img {
  width: 100%
}

.p-block-blockLayout01 .p-block__head {
  margin-bottom: 4rem
}

.p-block-blockLayout01 .p-block__title {
  font-size: 2.4rem;
  font-weight: 700
}

@media(min-width:850px) {
  .p-block-blockLayout01 .p-block__title {
    font-size: 2.8rem
  }
}

.p-block-blockLayout01 .p-block__text {
  margin-top: 1rem
}

.p-block-blockLayout01 .p-block__button {
  display: flex;
  flex-wrap: wrap;
  grid-column-gap: 1.6rem;
  grid-row-gap: 1.6rem
}

@media(min-width:850px) {
  .p-block-blockLayout01 .p-block__button {
    margin-top: 10rem;
    grid-column-gap: 2.4rem;
    grid-row-gap: 2.4rem
  }
}

.p-list+.p-list {
  margin-top: 1.6rem
}

.p-list-listLayout01 {
  display: grid;
  grid-row-gap: .8rem
}

.p-list__item {
  display: flex;
  align-items: baseline
}

.p-list__title {
  display: inline-flex;
  align-items: center;
  grid-column-gap: .8rem;
  flex-shrink: 0
}

.p-list__title::before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  border-color: var(--color-theme-dark);
  border-width: 1px;
  border-style: solid;
  width: .7rem;
  height: .7rem
}

@media(min-width:850px) {
  .p-media {
    display: grid;
    height: 42.6rem;
    overflow-y: scroll;
    padding-bottom: 2.8rem
  }
}

.p-media__item {
  display: flex;
  padding-top: 2rem;
  padding-bottom: 2.8rem;
  padding-right: 1.2rem;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: var(--color-theme-grey4)
}

@media(min-width:850px) {
  .p-media__item {
    flex-direction: row;
    grid-column-gap: 2.4rem;
    padding-top: 2.8rem;
    padding-bottom: 4.8rem
  }
}

@media(hover:hover) {
  .p-media__item:hover .c-link-line-hover {
    background-position: 0 100%;
    background-size: 100% 1px
  }
}

.p-media__image {
  display: none
}

@media(min-width:850px) {
  .p-media__image {
    display: block;
    width: 20rem;
    flex-shrink: 0
  }
}

.p-media__contents {
  line-height: 1.5
}

@media(min-width:850px) {
  .p-media__contents {
    line-height: inherit
  }
}

.p-media__contents .c-time {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--color-theme-grey2);
  display: block;
  margin-bottom: .4rem
}

@media(min-width:850px) {
  .p-media__contents .c-time {
    font-size: 1.2rem;
    margin-top: .8rem
  }
}

.p-media__contents .c-link-line-hover {
  font-size: 1.2rem
}

@media(min-width:850px) {
  .p-media__contents .c-link-line-hover {
    font-size: 1.4rem
  }
}

.p-advertisement {
  position: relative;
  width: 100%;
  padding: 2.4rem
}

@media(min-width:850px) {
  .p-advertisement {
    padding-top: 5.7rem;
    padding-right: 4.8rem;
    padding-bottom: 5.6rem;
    padding-left: 4.8rem
  }
}

.p-advertisement::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  background-color: var(--color-theme-grey4);
  mix-blend-mode: multiply
}

.p-advertisement .p-contents {
  position: relative;
  z-index: 10
}

.p-advertisement .p-contents__body {
  margin-top: 1.2rem
}

@media(min-width:850px) {
  .p-advertisement .p-contents__body {
    margin-top: 1.6rem
  }
}

.p-advertisement__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-image: url(../images/index/bg-strength.webp);
  background-repeat: repeat;
  mix-blend-mode: screen;
  opacity: .8
}

.p-advertisement__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5
}

@media(min-width:850px) {
  .p-advertisement__title {
    font-size: 2.8rem
  }
}

.p-advertisement__title.-small {
  font-weight: 400;
  font-size: 1.2rem;
  margin-top: 2.3rem;
  margin-bottom: .1rem
}

@media(min-width:850px) {
  .p-advertisement__title.-small {
    font-size: 1.4rem
  }
}

.p-advertisement__text.-small {
  font-size: 1.2rem
}

@media(min-width:850px) {
  .p-advertisement__text.-small {
    font-size: 1.4rem
  }
}

.p-modal {
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  z-index: var(--z-index-modal);
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

.p-modal.is-open {
  visibility: visible;
  opacity: 1;
  touch-action: auto;
  pointer-events: auto
}

.p-modal__close {
  position: absolute;
  top: -1.6rem;
  right: -1.6rem;
  z-index: 1;
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  border-style: solid;
  border-width: 2px;
  border-color: var(--color-theme-dark);
  background-color: var(--color-theme-dark);
  cursor: pointer;
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common);
  display: flex;
  align-items: center;
  justify-content: center
}

@media(min-width:850px) {
  .p-modal__close {
    top: -2rem;
    right: -2rem
  }
}

.p-modal__close .c-icon {
  width: 2.4rem;
  height: 2.4rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center
}

@media(hover:hover) {
  .p-modal__close:hover {
    background-color: #fff
  }

  .p-modal__close:hover .c-icon {
    color: var(--color-theme-dark)
  }
}

.p-modal-works {
  background-color: #fff;
  border-radius: 4px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 84%
}

@media(min-width:850px) {
  .p-modal-works {
    width: 90.4rem
  }
}

.p-modal-works__inner {
  padding-top: 2.7rem;
  padding-bottom: 3.6rem;
  max-height: 80svh;
  overflow-y: auto
}

@media(min-width:850px) {
  .p-modal-works__inner {
    height: auto
  }
}

.p-modal-works__head,
.p-modal-works__body {
  padding-right: 2rem;
  padding-left: 2rem
}

@media(min-width:850px) {

  .p-modal-works__head,
  .p-modal-works__body {
    padding-right: 4.8rem;
    padding-left: 4.8rem
  }
}

.p-modal-works__head {
  border-bottom-color: var(--color-theme-grey4);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  padding-bottom: 2.5rem;
  margin-bottom: 2.8rem
}

@media(min-width:850px) {
  .p-modal-works__head {
    margin-bottom: 3.6rem
  }
}

.p-modal-works__head .c-title {
  display: flex;
  flex-direction: column
}

.p-modal-works__head .c-title__large {
  font-weight: 700;
  font-size: 2rem
}

@media(min-width:850px) {
  .p-modal-works__head .c-title__large {
    font-size: 2.4rem
  }
}

.p-modal-works__head .c-title__small {
  font-family: var(--font-family-en);
  font-size: .8rem
}

@media(min-width:850px) {
  .p-modal-works__head .c-title__small {
    font-size: 1rem
  }
}

.p-modal-works__body {
  display: flex;
  flex-wrap: wrap;
  grid-column-gap: 2rem;
  grid-row-gap: 1.6rem
}

@media(min-width:850px) {
  .p-modal-works__body {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 2.4rem;
    grid-row-gap: 2rem
  }
}

.p-modal-works__body .c-control {
  font-size: 1.2rem;
  font-weight: 700;
  padding-top: 1rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  padding-left: 2rem
}

@media(min-width:850px) {
  .p-modal-works__body .c-control {
    padding-top: 1.1rem;
    padding-right: 2.4rem;
    padding-bottom: 1.1rem;
    padding-left: 2.4rem
  }
}

.p-modal-youtube,
.p-modal-lightbox {
  width: 100vw;
  height: 100%;
  overflow: auto;
  touch-action: none;
  pointer-events: none;
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

.p-modal-youtube__bg,
.p-modal-lightbox__bg {
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer;
  width: 100%;
  height: 100%
}

.p-modal-youtube__bg::after,
.p-modal-lightbox__bg::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: .8;
  background: #000;
  width: 100%;
  height: 100%
}

.p-modal-youtube__close,
.p-modal-lightbox__close {
  display: block;
  position: fixed;
  top: 30px;
  right: 30px;
  transition: opacity 0s linear 1s;
  cursor: pointer;
  width: 3.6rem;
  height: 3.6rem;
  background-color: rgba(0, 0, 0, 0);
  border: none
}

@media(min-width:850px) {

  .p-modal-youtube__close,
  .p-modal-lightbox__close {
    width: 5rem;
    height: 5rem
  }
}

.p-modal-youtube__close::before,
.p-modal-youtube__close::after,
.p-modal-lightbox__close::before,
.p-modal-lightbox__close::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 133%;
  height: 1px;
  background-color: #fff
}

.p-modal-youtube__close::before,
.p-modal-lightbox__close::before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.p-modal-youtube__close::after,
.p-modal-lightbox__close::after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

.p-modal-youtube__body {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72.039%;
  max-width: 159.993vh;
  height: auto;
  font-size: 0;
  text-align: center
}

.p-modal-youtube__inner {
  position: relative
}

.p-modal-youtube__inner::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%
}

.p-modal-youtube__inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.p-modal-lightbox__body {
  position: fixed;
  top: 10svh;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 2rem;
  overflow: auto;
  text-align: center;
  overscroll-behavior: none
}

@media(min-width:850px) {
  .p-modal-lightbox__body {
    top: 0;
    margin: inherit
  }
}

.p-modal-lightbox__inner {
  position: absolute;
  top: 0;
  left: 0
}

@media(min-width:850px) {
  .p-modal-lightbox__inner {
    position: relative;
    top: inherit;
    left: inherit;
    padding: 2rem
  }
}

.p-modal-lightbox__inner img {
  pointer-events: auto;
  position: relative;
  z-index: 1
}

.p-modal-lightbox__transparent {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  cursor: pointer
}

.p-floating {
  width: calc(100vw - .8rem);
  position: fixed;
  right: .4rem;
  bottom: .4rem;
  z-index: var(--z-index-floating);
  transform: translateY(calc(2.8rem + 101% + 2.4rem));
  transition-property: all;
  transition-duration: var(--transition-duration-common);
  transition-timing-function: var(--transition-timing-function-common)
}

@media(min-width:850px) {
  .p-floating {
    width: auto;
    right: 2.6rem;
    bottom: 2rem
  }
}

.p-floating.is-visible,
body.is-modal-open .p-floating {
  transform: translateY(0)
}

.p-floating__button {
  position: absolute;
  border: none;
  padding: 0;
  top: -1rem;
  right: 1rem;
  cursor: pointer
}

@media(min-width:850px) {
  .p-floating__button {
    right: -1rem
  }
}

.p-floating__button .c-icon {
  color: #fff;
  border-color: #fff;
  border-width: 1px;
  border-style: solid;
  border-radius: 50%;
  background-color: var(--color-theme-dark);
  width: 2.8rem;
  height: 2.8rem;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  display: inline-flex;
  align-items: center;
  justify-content: center
}

.p-floating__button .c-icon svg {
  width: 1.4rem;
  height: 1.4rem
}

.p-floating__body {
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: .8rem;
  background: linear-gradient(135deg, #bd1a21 0%, #550987 52.3%, #000959 100%);
  box-shadow: 0px 12px 20px rgba(0, 0, 0, .25)
}

@media(min-width:850px) {
  .p-floating__body {
    width: 22.2rem;
    padding-top: 2.1rem;
    padding-right: 0;
    padding-bottom: 1.6rem;
    padding-left: 0
  }
}

.p-floating__body .p-button {
  margin-top: .6rem;
  min-width: auto;
  width: 80%;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  border: none;
  padding-top: .8rem;
  padding-right: 1.2rem;
  padding-bottom: .9rem;
  padding-left: 2.4rem
}

@media(min-width:850px) {
  .p-floating__body .p-button {
    margin-top: 1.6rem;
    width: auto
  }
}

.p-floating__body .p-button__text {
  padding-right: 1rem
}

.p-floating__body .p-button__text br {
  display: none
}

@media(min-width:850px) {
  .p-floating__body .p-button__text br {
    display: inherit
  }
}

.p-floating__body .p-button__icon {
  width: 2.4rem;
  height: 2.4rem
}

.p-floating__body .p-button__icon svg {
  width: 1.2rem;
  height: 1.2rem
}

@media(hover:hover) {
  .p-floating__body:hover .p-button {
    background-color: var(--color-theme-dark);
    color: #fff
  }

  .p-floating__body:hover .p-button__icon {
    background-color: #fff
  }

  .p-floating__body:hover .p-button__icon svg {
    animation-name: animation-link-arrow;
    animation-duration: var(--transition-duration-common);
    animation-timing-function: var(--transition-timing-function-common);
    animation-delay: .12s;
    animation-fill-mode: none;
    stroke: var(--color-theme-dark)
  }
}

.p-floating__title {
  color: #fff;
  line-height: 1.4;
  font-weight: 700;
  font-size: 1.2rem
}

@media(min-width:850px) {
  .p-floating__title {
    font-size: 1.4rem
  }
}

.p-floating__title br {
  display: none
}

@media(min-width:850px) {
  .p-floating__title br {
    display: inherit
  }
}

.p-breadcrumb {
  position: absolute;
  top: 6.8rem;
  left: 2rem;
  font-size: .9rem;
  display: flex;
  align-items: center;
  grid-column-gap: .6rem
}

@media(min-width:850px) {
  .p-breadcrumb {
    font-size: 1.1rem;
    top: inherit;
    right: calc((100% - var(--container-max-width)) / 2);
    bottom: 1.3rem;
    left: inherit
  }
}

.p-breadcrumb__link {
  color: var(--color-theme-grey2)
}

.p-breadcrumb__dot {
  border-radius: 50%;
  width: .3rem;
  height: .3rem;
  background-color: var(--color-theme-grey2);
  display: inline-block
}

@media(min-width:850px) {
  .p-breadcrumb__dot {
    width: .4rem;
    height: .4rem
  }
}

.p-pagination {
  display: flex;
  justify-content: center;
  grid-column-gap: .4rem
}

@media(min-width:850px) {
  .p-pagination {
    grid-column-gap: .8rem;
    justify-content: flex-end
  }
}

.p-pagination__item {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center
}

@media(min-width:850px) {
  .p-pagination__item {
    width: 6.4rem;
    height: 6.4rem
  }
}

.p-pagination__item.-current {
  border-color: var(--color-theme-grey3);
  background-color: var(--color-theme-grey3);
  color: var(--color-theme-dark)
}

.p-pagination__item.-dot {
  background-color: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0)
}

.p-pagination__item.-arrow .c-icon {
  display: flex;
  align-items: center;
  justify-content: center
}

.p-pagination__item.-arrow svg {
  width: 2rem;
  height: 2rem
}

@media(min-width:850px) {
  .p-pagination__item.-arrow svg {
    width: auto;
    height: auto
  }
}

@media(hover:hover) {
  .p-pagination__item:not(.-current):not(.-dot):hover {
    background-color: var(--color-theme-dark);
    color: #fff
  }
}

.p-pagination__dot {
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  display: inline-block;
  margin-right: .2rem;
  margin-left: .2rem;
  background-color: var(--color-theme-grey3)
}

@media(min-width:850px) {
  .p-pagination__dot {
    width: .6rem;
    height: .6rem;
    margin-right: .4rem;
    margin-left: .4rem
  }
}

@keyframes animation-link-line {
  0% {
    background-position: right 0px bottom;
    background-size: calc(100% - 0px) 1px
  }

  50% {
    background-position: right 0px bottom;
    background-size: 0% 1px
  }

  51% {
    background-position: left 0 bottom;
    background-size: 0% 1px
  }

  100% {
    background-position: left 0 bottom;
    background-size: calc(100% - 0px) 1px
  }
}

@keyframes animation-link-arrow {
  0% {
    translate: 0% 0%;
    opacity: 1
  }

  50% {
    translate: 100% 0%;
    opacity: 0
  }

  50.1% {
    translate: -100% 0%;
    opacity: 0
  }

  100% {
    translate: 0% 0%;
    opacity: 1
  }
}

@keyframes animation-loading {
  to {
    -webkit-clip-path: inset(0 -1ch 0 0);
    clip-path: inset(0 -1ch 0 0)
  }
}
