@charset "UTF-8";
/*
 * Sass    : Dart sass
 * 命名規則 : BEM ベース
 *   [接頭辞]
 *   .-****  : Variant
 *   ._****  : Helpers
 *   .c-**** : 汎用コンポーネント
 *   .l-**** : レイアウト
 *   .f-**** : フォーム系コンポーネント
 */
@keyframes svgArrow_right_animation {
  0% {
    stroke-dashoffset: -50;
  }
  20% {
    stroke-dashoffset: -50;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes svgArrow_left_animation {
  0% {
    stroke-dashoffset: 50;
  }
  20% {
    stroke-dashoffset: 50;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes svgArrow2_right_animation {
  0% {
    stroke-dashoffset: -70;
  }
  20% {
    stroke-dashoffset: -70;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes svgArrow2_left_animation {
  0% {
    stroke-dashoffset: 70;
  }
  20% {
    stroke-dashoffset: 70;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/**************************************************/
/* helpers */
/**************************************************/
._disp-ib {
  display: inline-block !important;
}

@media (max-width: 1221px) {
  ._view-cw-high {
    display: none !important;
  }
}
@media (min-width: 1222px) {
  ._view-cw-low {
    display: none !important;
  }
}
@media (max-width: 1279px) {
  ._view-xl-high {
    display: none !important;
  }
}
@media (min-width: 1280px) {
  ._view-xl-low {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  ._view-lg-high {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  ._view-lg-low {
    display: none !important;
  }
}
@media (max-width: 767px) {
  ._view-md-high {
    display: none !important;
  }
}
@media (min-width: 768px) {
  ._view-md-low {
    display: none !important;
  }
}
@media (max-width: 479px) {
  ._view-sm-high {
    display: none !important;
  }
}
@media (min-width: 480px) {
  ._view-sm-low {
    display: none !important;
  }
}
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._center {
  text-align: center !important;
}

._left {
  text-align: left !important;
}

._right {
  text-align: right !important;
}

._float-l {
  float: left !important;
}

._float-r {
  float: right !important;
}

._clear {
  clear: both !important;
}

._hidden {
  display: none !important;
}

._disp-ib {
  display: inline-block !important;
}

._margin0 {
  margin: 0 !important;
}

._padding0 {
  padding: 0 !important;
}

._border0 {
  border: none !important;
}

._fixed {
  position: fixed !important;
}

._absolute {
  position: absolute !important;
}

._static {
  position: static !important;
}

._xsmall {
  font-size: 75% !important;
}

._small {
  font-size: 88% !important;
}

._large {
  font-size: 113% !important;
}

._xlarge {
  font-size: 133% !important;
}

._nowrap {
  white-space: nowrap !important;
}

._nobg {
  background: none !important;
}

._full {
  width: 100% !important;
}

/**************************************************/
/* base */
/**************************************************/
:root {
  font-size: min(16px, 1.3104013104vw);
}
@media (max-width: 767px) {
  :root {
    font-size: 4.2666666667vw;
  }
}

html, body {
  height: -webkit-fill-available;
}

html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  min-width: 320px;
  padding: 0;
  color: #055276;
  font-size: 1rem;
  line-height: 1.5;
}
body.-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

input,
textarea {
  font-size: 16px;
}

input,
textarea,
select,
button {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
}

button,
input[type=button],
input[type=submit] {
  transition: opacity 0.15s ease-out;
}
button:hover,
input[type=button]:hover,
input[type=submit]:hover {
  opacity: 0.7;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  pointer-events: none;
}

a {
  color: inherit;
  text-decoration: underline;
  transition: opacity 0.15s ease-out;
}
a:hover {
  opacity: 0.7;
}
a:hover {
  text-decoration: none;
}

em {
  font-style: normal;
}

a.-telink,
a.js-telink {
  cursor: default;
  opacity: 1 !important;
}

body._ios a:hover {
  opacity: 1;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Header */
/**************************************************/
:root {
  --headerH: var(--header-height);
  --header-height: 8.75rem;
  --header-height-slim: 6.5rem;
}
@media (max-width: 1023px) {
  :root {
    --header-height: 6.5rem;
    --header-height-slim: 5.25rem;
  }
}
@media (max-width: 767px) {
  :root {
    --header-height: 4rem;
    --header-height-slim: 3.375rem;
  }
}

.l-header {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--headerH);
  padding: 0 2.5rem;
  background: #fff;
  z-index: 100;
  transition: all 0.3s ease;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  position: relative;
  height: 100%;
}
.l-header__logoarea {
  align-self: flex-end;
  display: block;
  margin-bottom: 1.125rem;
  color: inherit;
  text-decoration: none;
  transform-origin: left bottom;
  transition: all 0.3s ease;
}
.l-header__logo {
  align-self: center;
  width: 12.25rem;
  margin: 0;
  line-height: 0;
  transition: all 0.3s ease;
}
.l-header__logo img {
  display: block;
  width: 100%;
}
.l-header__ttl {
  display: block;
  margin: 0.5rem 0 0;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
}
.l-header__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.l-header__spnav {
  display: none;
}
@media (max-width: 1023px) {
  .l-header {
    box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.05);
  }
  .l-header__logoarea {
    align-self: center;
    margin-bottom: 0;
  }
  .l-header__content {
    display: none;
  }
  .l-header__spnav {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 0;
    z-index: 101;
  }
}
@media (max-width: 767px) {
  .l-header {
    padding: 0 1rem;
  }
  .l-header__logo {
    width: 6.625rem;
  }
  .l-header__ttl {
    margin-top: 0.125rem;
    font-size: 1.25rem;
  }
}

.l-header.is-slim .l-header__logoarea {
  transform: scale(0.88);
}
.l-header.is-slim {
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.05);
}
.l-header.is-slim .l-header-nav__item-btn {
  flex-direction: row;
  min-height: 3.125rem;
  padding-top: 0.75rem;
}
.l-header.is-slim .l-header-nav__item-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
.l-header.is-slim .l-header-nav__item-label {
  display: block;
  margin: 0 0 0 0.3125rem;
}

.l-header-nav {
  display: flex;
  justify-content: flex-end;
}
.l-header-nav * {
  transition: all 0.3s ease;
}
.l-header-nav > *:last-child {
  margin-right: 0 !important;
}
.l-header-nav__search {
  align-self: flex-end;
  width: 12.25rem;
  margin-right: 1.25rem;
}
.l-header-nav__recruit {
  align-self: flex-end;
  margin-right: 1.25rem;
  padding: 0.125rem 0;
}
.l-header-nav__recruit-btn {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  color: #4F859E;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
}
.l-header-nav__recruit-icon {
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-header-nav__recruit-label {
  display: block;
  margin-left: 0.3125rem;
}
.l-header-nav__item {
  display: flex;
  gap: 0.625rem;
}
.l-header-nav__item-btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 7.75rem;
  min-height: 5rem;
  padding: 0.5rem 0.25rem;
  border-radius: 0 0 0.375rem 0.375rem;
  background: #055276;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}
.l-header-nav__item-btn.-request {
  background: #A81E59;
}
.l-header-nav__item-icon {
  display: block;
  width: 2.125rem;
  height: 2.125rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-header-nav__item-label {
  display: block;
  margin-top: 0.25rem;
}

.l-menuBtn {
  display: block;
  position: relative;
  width: 5.625rem;
  height: 100%;
  margin: 0;
  cursor: pointer;
  z-index: 101;
}
.l-menuBtn__bar {
  top: calc(50% - 0.5rem);
  left: 50%;
  margin-top: -1px;
  margin-left: -1.25rem;
}
.l-menuBtn__bar, .l-menuBtn__bar::before, .l-menuBtn__bar::after {
  display: block;
  position: absolute;
  width: 2.5rem;
  height: 2px;
  border-radius: 0.125rem;
  background: #055276;
  content: "";
  transition: all 0.2s ease-out;
}
.l-menuBtn__bar::before {
  top: -0.6875rem;
}
.l-menuBtn__bar::after {
  top: 0.6875rem;
}
.l-menuBtn__label {
  display: block;
  position: absolute;
  bottom: calc(50% - 1.5rem);
  left: 0;
  width: 100%;
  color: #055276;
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
}
.l-menuBtn.-open {
  background-color: #4CB3E0;
}
.l-menuBtn.-open .l-menuBtn__bar {
  top: 50%;
  background-color: transparent;
}
.l-menuBtn.-open .l-menuBtn__bar::before {
  top: 0;
  background-color: #fff;
  transform: rotate(135deg);
}
.l-menuBtn.-open .l-menuBtn__bar::after {
  top: 0;
  background-color: #fff;
  transform: rotate(-135deg);
}
.l-menuBtn.-open .l-menuBtn__label {
  opacity: 0;
}
@media (max-width: 767px) {
  .l-menuBtn {
    width: 3.125rem;
  }
  .l-menuBtn__bar {
    top: calc(50% - 0.25rem);
    margin-left: -0.75rem;
  }
  .l-menuBtn__bar, .l-menuBtn__bar::before, .l-menuBtn__bar::after {
    width: 1.5rem;
    height: 2px;
  }
  .l-menuBtn__bar::before {
    top: -0.375rem;
  }
  .l-menuBtn__bar::after {
    top: 0.375rem;
  }
  .l-menuBtn__label {
    bottom: calc(50% - 1rem);
    font-size: 0.625rem;
  }
}

.l-searchBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 4.375rem;
  height: 100%;
  margin: 0;
  cursor: pointer;
  z-index: 101;
}
.l-searchBtn__icon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: #055276;
  content: "";
  z-index: 1;
  -webkit-mask: url(../img/icon_search.svg) no-repeat center;
          mask: url(../img/icon_search.svg) no-repeat center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (max-width: 767px) {
  .l-searchBtn {
    width: 2.5rem;
  }
  .l-searchBtn__icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.l-gnav {
  position: relative;
  margin: 0.625rem auto 0;
  background: #4BBAEB;
  color: #fff;
}
.l-gnav::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: -2.5rem;
  height: 100%;
  background: #4BBAEB;
  content: "";
  z-index: -1;
}
.l-gnav__list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  margin: 0 auto;
}
.l-gnav__list > li {
  display: block;
  position: relative;
}
.l-gnav__list > li + li {
  border-left: 2px solid rgba(255, 255, 255, 0.2);
}
.l-gnav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 2.5rem;
  padding: 0.25rem 1.5rem 0.1875rem;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}
.l-gnav__btn.-external::after {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 0.5em;
  background: currentColor;
  content: "";
  -webkit-mask: url(../img/icon_external.svg) no-repeat center/contain;
          mask: url(../img/icon_external.svg) no-repeat center/contain;
}
.l-gnav__btn:hover, .l-gnav__btn.-open {
  opacity: 1;
}
.l-gnav__btn.-site {
  font-size: 0.9375rem;
  font-weight: 700;
}
.l-gnav__btn.-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.l-gnav__btn-label {
  pointer-events: none;
}
.l-gnav__secondary {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #4BBAEB;
}
.l-gnav__secondary::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 0.125rem;
  background: #fff;
  content: "";
}
.l-gnav__secondary.-open::before {
  animation: gnav_secondary 0.3s ease-out 0.1s 1 forwards;
}
.l-gnav__secondary > ul {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  width: 17.5rem;
  padding: 1.5rem;
  padding-right: 1rem;
}
.l-gnav__secondary > ul > li {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}
.l-gnav__secondary > ul > li + li {
  margin-top: 0.875rem;
}
.l-gnav__link {
  display: inline-flex;
  align-items: baseline;
  color: inherit;
  text-decoration: none;
}
.l-gnav__link:hover {
  opacity: 1;
}
.l-gnav__link.-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.l-gnav__link:hover .l-gnav__link-arrow {
  animation: svgArrow_right_animation 0.3s ease 1 forwards;
}
.l-gnav__link-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 50;
  stroke-dashoffset: 0;
  flex: 0 0 auto;
  display: inline-block;
  width: 2rem;
  margin-left: 0.5em;
}
.l-gnav__link-arrow img, .l-gnav__link-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 1023px) {
  .l-gnav {
    display: none;
  }
}

@keyframes gnav_secondary {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.l-spnav {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(var(--vh, 100%));
  background: #4CB3E0;
  color: #fff;
  z-index: 99;
}
.l-spnav__container {
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  position: relative;
  max-height: 100%;
  height: -webkit-fill-available;
  overflow-y: auto;
}
.l-spnav__container::-webkit-scrollbar {
  display: none;
}
.l-spnav__nav {
  padding: calc(var(--headerH) + 2.5rem) 2.5rem 2.5rem;
}
.l-spnav__sitebtn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3.75rem auto 0;
  padding: 0.875rem 1em;
  border: 1px solid #fff;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
}
.l-spnav__sitebtn.-corporate {
  border-color: transparent;
  border-radius: 0.5rem;
  background: #1E4E6A;
  color: #fff;
  font-weight: 700;
}
.l-spnav__sitebtn.-corporate::after {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 0.5em;
  background: currentColor;
  content: "";
  -webkit-mask: url(../img/icon_external.svg) no-repeat center/contain;
          mask: url(../img/icon_external.svg) no-repeat center/contain;
}
.l-spnav__sitebtn + .l-spnav__sitebtn {
  margin-top: 0.75rem;
}
.l-spnav__contact {
  display: flex;
  justify-content: center;
  gap: 0.9375rem;
  margin: 1.875rem 0 0;
  padding: 0;
}
.l-spnav__contact-btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: calc((100% - 0.9375rem) / 2);
  min-height: 8.8125rem;
  padding: 1rem 0.25rem;
  border-radius: 0.625rem;
  background: #055276;
  color: #fff;
  font-size: 1.3125rem;
  font-weight: 700;
}
.l-spnav__contact-btn.-request {
  background: #A81E59;
}
.l-spnav__contact-icon {
  display: block;
  width: 3.1875rem;
  height: 3.1875rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-spnav__contact-label {
  display: block;
  margin-top: 0.375rem;
}
.l-spnav__utility {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.125rem 1.875rem;
  margin: 5.625rem 0 0;
  font-size: 1.125rem;
  line-height: 1.5;
}
.l-spnav__utility > li {
  display: block;
}
.l-spnav__utility > li a {
  color: inherit;
  text-decoration: none;
}
.l-spnav__utility > li a:hover {
  text-decoration: underline;
}
@media (min-width: 1024px) {
  .l-spnav {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .l-spnav__nav {
    padding: calc(var(--headerH) + 2.5rem) 1rem 2.5rem;
  }
  .l-spnav__sitebtn {
    margin: 2.5rem auto 0;
    padding: 0.875rem 2em;
    font-size: 1rem;
  }
  .l-spnav__contact {
    gap: 0.625rem;
    margin: 1.25rem 0 0;
  }
  .l-spnav__contact-btn {
    width: calc((100% - 0.625rem) / 2);
    min-height: 5.875rem;
    font-size: 0.875rem;
  }
  .l-spnav__contact-icon {
    width: 2.125rem;
    height: 2.125rem;
  }
  .l-spnav__contact-label {
    margin-top: 0.25rem;
  }
  .l-spnav__utility {
    gap: 0.75rem 1.25rem;
    margin: 3.75rem 0 0;
    font-size: 0.75rem;
  }
}

.l-spnav-list {
  margin: 0 auto;
  padding-left: 0;
  list-style: none;
}
.l-spnav-list a {
  color: inherit;
  text-decoration: none;
}
.l-spnav-list a.-external::after {
  display: inline-block;
  position: relative;
  top: 0.125rem;
  width: 1rem;
  height: 1rem;
  margin-left: 0.5em;
  background: currentColor;
  content: "";
  -webkit-mask: url(../img/icon_external.svg) no-repeat center/contain;
          mask: url(../img/icon_external.svg) no-repeat center/contain;
}
.l-spnav-list a:hover {
  text-decoration: underline;
}
.l-spnav-list a.-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.l-spnav-list__unit {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.5rem;
}
.l-spnav-list__unit + .l-spnav-list__unit {
  margin-top: 2.8125rem;
}
.l-spnav-list__primary {
  flex: 0 0 auto;
  width: 9.75em;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
.l-spnav-list__secondary {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 0.75rem 2em;
  width: calc(100% - 7rem);
  margin: 0;
  padding: 0.125rem 0;
  font-size: 1.3125rem;
  line-height: 1.5;
}
.l-spnav-list__secondary > li {
  display: block;
  position: relative;
  padding-left: 1.25rem;
}
.l-spnav-list__secondary > li::before {
  display: block;
  position: absolute;
  top: 0.75em;
  left: 0.0625rem;
  width: 0.75rem;
  height: 1px;
  background: currentColor;
  content: "";
}
.l-spnav-list__others {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.5rem 2.8125rem;
  margin: 2.8125rem 0 0;
}
.l-spnav-list__others > li {
  display: block;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .l-spnav-list__unit {
    gap: 1rem;
  }
  .l-spnav-list__unit + .l-spnav-list__unit {
    margin-top: 1.875rem;
  }
  .l-spnav-list__primary {
    width: 6.5em;
    font-size: 1rem;
  }
  .l-spnav-list__secondary {
    flex-direction: column;
    gap: 0.5rem;
    font-size: 0.875rem;
  }
  .l-spnav-list__others {
    gap: 1rem 1.875rem;
    margin: 1.875rem 0 0;
  }
  .l-spnav-list__others > li {
    font-size: 1rem;
  }
}

.l-sp-search {
  display: block;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
  background: #fff;
  z-index: 103;
  transition: all 0.2s ease, height 0.3s ease;
  transform: translateY(-101%);
  opacity: 0;
  visibility: hidden;
}
.l-sp-search.-open {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.l-sp-search__container {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: var(--headerH);
  padding: 0 2.5rem;
  padding-right: 6.25rem;
  transition: all 0.3s ease;
}
.l-sp-search__inner {
  display: block;
  box-sizing: border-box;
  width: 100%;
}
.l-sp-search__close {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 5.625rem;
  height: 100%;
  margin: 0;
  cursor: pointer;
  z-index: 101;
}
.l-sp-search__close-icon {
  top: 50%;
  left: 50%;
  margin-top: -1px;
  margin-left: -1.25rem;
}
.l-sp-search__close-icon, .l-sp-search__close-icon::before, .l-sp-search__close-icon::after {
  display: block;
  position: absolute;
  width: 2.5rem;
  height: 2px;
  border-radius: 0.125rem;
}
.l-sp-search__close-icon::before, .l-sp-search__close-icon::after {
  top: 0;
  background: #1E4E6A;
  content: "";
}
.l-sp-search__close-icon::before {
  transform: rotate(135deg);
}
.l-sp-search__close-icon::after {
  transform: rotate(-135deg);
}
@media (min-width: 1024px) {
  .l-sp-search {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .l-sp-search__container {
    padding: 0 1rem;
    padding-right: 3.625rem;
  }
  .l-sp-search__close {
    width: 3.125rem;
  }
  .l-sp-search__close-icon {
    margin-left: -0.75rem;
  }
  .l-sp-search__close-icon, .l-sp-search__close-icon::before, .l-sp-search__close-icon::after {
    width: 1.5rem;
    height: 2px;
  }
}

/**************************************************/
/* Footer */
/**************************************************/
.l-footer {
  position: relative;
  padding: 5.625rem 2.5rem 2.5rem;
  background: #F2F7FC;
  z-index: 5;
}
.l-footer__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.l-footer__inner > *:first-child {
  margin-top: 0 !important;
}
.l-footer__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
}
.l-footer__logoarea {
  display: block;
  width: 100%;
  margin: 0 0 1.25rem;
}
.l-footer__logo {
  display: block;
  max-width: 11.375rem;
  margin: 0;
}
.l-footer__logo img {
  display: block;
  width: 100%;
}
.l-footer__textarea {
  display: block;
  width: 13.75rem;
}
.l-footer__textarea > *:first-child {
  margin-top: 0 !important;
}
.l-footer__ttl {
  display: block;
  margin: 0;
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.04em;
}
.l-footer__ttl a {
  color: inherit;
  text-decoration: none;
}
.l-footer__sitemap {
  display: block;
  width: calc(100% - 17rem);
}
.l-footer__spnav {
  display: none;
}
.l-footer__sites {
  display: flex;
  justify-content: flex-end;
  gap: 0.625rem;
  margin: 2.5rem 0 0;
}
.l-footer__sites-btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 13.125rem;
  padding: 0.875rem 1em 0.8125rem;
  border: 1px solid #055276;
  border-radius: 0;
  background: transparent;
  color: #055276;
  font-size: 0.875rem;
  font-weight: 500;
}
.l-footer__sites-btn.-corporate {
  border-radius: 0.5rem;
  background: #055276;
  color: #fff;
  font-weight: 700;
}
.l-footer__sites-btn.-corporate::after {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 0.5em;
  background: currentColor;
  content: "";
  -webkit-mask: url(../img/icon_external.svg) no-repeat center/contain;
          mask: url(../img/icon_external.svg) no-repeat center/contain;
}
.l-footer__bottom {
  display: flex;
  justify-content: space-between;
  margin: 3.75rem 0 0;
}
.l-footer__utility {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 0.75rem 1.25rem;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
}
.l-footer__utility > li {
  display: block;
}
.l-footer__utility > li a {
  color: inherit;
  text-decoration: none;
}
.l-footer__utility > li a:hover {
  text-decoration: underline;
  opacity: 1;
}
.l-footer__copyright {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 3.75rem 1rem 1.875rem;
  }
  .l-footer__content {
    display: block;
  }
  .l-footer__textarea {
    width: auto;
  }
  .l-footer__sitemap {
    display: none;
  }
  .l-footer__spnav {
    display: block;
    margin-top: 3.75rem;
  }
  .l-footer__sites {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 2.5rem auto 0;
  }
  .l-footer__sites-btn {
    width: 15.3125rem;
    font-size: 1rem;
  }
  .l-footer__bottom {
    display: block;
    margin-top: 3.75rem;
  }
  .l-footer__copyright {
    margin-top: 1.5rem;
    text-align: right;
  }
}

.l-footer-nav {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
}
.l-footer-nav a {
  color: inherit;
  text-decoration: none;
}
.l-footer-nav a.-external::after {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 0.5em;
  background: currentColor;
  content: "";
  -webkit-mask: url(../img/icon_external.svg) no-repeat center/contain;
          mask: url(../img/icon_external.svg) no-repeat center/contain;
}
.l-footer-nav a:hover {
  text-decoration: underline;
  opacity: 1;
}
.l-footer-nav a.-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.l-footer-nav__unit {
  display: block;
}
.l-footer-nav__unit > *:first-child {
  margin-top: 0 !important;
}
.l-footer-nav__primary {
  margin: 1.75rem 0 0;
  font-weight: 700;
  line-height: 1.5;
}
.l-footer-nav__primary + .l-footer-nav__primary {
  margin-top: 1rem;
}
.l-footer-nav__secondary {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}
.l-footer-nav__secondary > li {
  display: block;
  position: relative;
  padding-left: 1.25rem;
}
.l-footer-nav__secondary > li::before {
  display: block;
  position: absolute;
  top: 0.75em;
  left: 0.0625rem;
  width: 0.75rem;
  height: 1px;
  background: #055276;
  content: "";
}
.l-footer-nav__secondary > li + li {
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .l-footer-nav {
    display: none;
  }
}

.l-related {
  position: relative;
  padding: 2.125rem 2.5rem;
  background: #DFF0FA url(../img/bg_stripe.png) repeat center;
  z-index: 5;
}
.l-related__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.875rem 5rem;
}
.l-related__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.l-related__sns-text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.75;
  letter-spacing: 0.02em;
}
.l-related__sns-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  list-style: none;
  padding-left: 0;
  align-items: center;
  gap: 1.5rem;
  margin: 0;
}
.l-related__sns-link {
  display: block;
  width: 2.875rem;
}
.l-related__sns-icon {
  display: block;
  width: 100%;
}
.l-related__media {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.l-related__media-text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.75;
  letter-spacing: 0.02em;
}
.l-related__media-logo {
  width: 6.5625rem;
}
@media (max-width: 767px) {
  .l-related {
    padding: 0;
    background: none;
  }
  .l-related__inner {
    display: block;
    max-width: none;
  }
  .l-related__sns {
    justify-content: flex-start;
    gap: 1.25rem;
    padding: 2.5rem 1rem;
    background: #DFF0FA url(../img/bg_stripe.png) repeat center;
  }
  .l-related__sns-text {
    width: 15rem;
  }
  .l-related__sns-list {
    flex: 0 0 auto;
    gap: 0.9375rem;
    width: 4.6875rem;
  }
  .l-related__sns-link {
    width: 1.875rem;
  }
  .l-related__media {
    justify-content: flex-start;
    gap: 1.5rem;
    padding: 2.5rem 1rem;
  }
  .l-related__media-text {
    width: 15rem;
  }
  .l-related__media-logo {
    width: 4.5rem;
  }
}

.l-contact {
  position: relative;
  padding: 5rem 2.5rem;
  z-index: 5;
}
.l-contact__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.l-contact__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .l-contact {
    padding: 3.75rem 1rem;
  }
}

.l-fixed-contact {
  visibility: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  position: fixed;
  bottom: 2.5rem;
  right: 0;
  opacity: 0;
  z-index: 98;
  transition: visibility 0.2s ease, opacity 0.2s ease;
}
.l-fixed-contact__btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 3rem;
  border-radius: 0.375rem 0 0 0.375rem;
  background: #055276;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  transition: width 0.2s ease;
}
.l-fixed-contact__btn.-request {
  background: #A81E59;
}
.l-fixed-contact__btn:hover {
  opacity: 1;
}
.l-fixed-contact__btn-icon {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
}
.l-fixed-contact__btn-icon img, .l-fixed-contact__btn-icon svg {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-fixed-contact__btn-label {
  flex: 0 0 auto;
  display: none;
  padding: 0.5rem 0.25rem 0.5rem 0;
}
.l-fixed-contact__btn.-open {
  width: 8.5rem;
}
.l-fixed-contact__btn.-open .l-fixed-contact__btn-label {
  display: block;
}
@media (min-width: 1024px) {
  .l-fixed-contact {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .l-fixed-contact.is-active {
    visibility: visible;
    opacity: 1;
  }
}

/**************************************************/
/* contents */
/**************************************************/
body > .inbox {
  padding-top: 8.75rem;
}
@media (max-width: 1023px) {
  body > .inbox {
    padding-top: 6.5rem;
  }
}
@media (max-width: 767px) {
  body > .inbox {
    padding-top: 4rem;
  }
}

.l-page-container {
  position: relative;
}

.l-breadcrumb {
  position: relative;
  background: #F2F7FC;
  padding: 0.625rem 2.5rem;
}
.l-breadcrumb__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  align-items: center;
  gap: 0.375rem 0.75rem;
  margin: 0 auto;
  padding: 0;
}
.l-breadcrumb__list > li {
  display: block;
  position: relative;
  font-size: 0.75rem;
  line-height: 1.5;
}
.l-breadcrumb__list > li:not(:last-child) {
  padding-right: 1.5em;
}
.l-breadcrumb__list > li:not(:last-child)::after {
  display: block;
  position: absolute;
  top: calc((1.5em - 0.375rem) / 2);
  right: 0.0625rem;
  width: 0.375rem;
  height: 0.375rem;
  border: 1px solid currentColor;
  border-width: 1px 1px 0 0;
  content: "";
  transform: rotate(45deg);
}
.l-breadcrumb__list a {
  display: block;
  color: inherit;
}
@media (max-width: 767px) {
  .l-breadcrumb {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .l-breadcrumb__list > li {
    font-size: 0.625rem;
  }
}

.l-pagettl {
  position: relative;
  padding: 5rem 0 0;
}
.l-pagettl__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem;
}
.l-pagettl__ttl {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.l-pagettl__img {
  margin: 3.75rem 0 0;
  text-align: center;
}
.l-pagettl__img img {
  display: block;
  width: 100%;
  height: 16.25rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .l-pagettl__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .l-pagettl__ttl {
    font-size: 1.625rem;
  }
  .l-pagettl__img img {
    height: auto;
    aspect-ratio: 375/110;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.l-notfound {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.l-notfound__inner {
  max-width: 57.5rem;
  margin-left: auto;
  margin-right: auto;
}
.l-notfound__inner > *:first-child {
  margin-top: 0 !important;
}
.l-notfound__text {
  margin: 0;
  font-size: 1rem;
  line-height: 2;
}
.l-notfound__btn {
  max-width: 22.5rem;
  margin: 3.75rem auto 0;
}
.l-notfound__list {
  display: flex;
  gap: 1rem;
  margin: 7.5rem 0 0;
  line-height: 2;
}
.l-notfound__list a {
  color: inherit;
  text-decoration: none;
}
.l-notfound__list a:hover {
  text-decoration: underline;
}
.l-notfound__list > ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  width: 50%;
  margin: 0;
  padding: 0;
}
.l-notfound__list > ul > li > p {
  margin: 0;
  line-height: 2;
  font-weight: 700;
}
.l-notfound__list > ul > li > ul {
  display: block;
  list-style: none;
  margin: 0;
  padding-left: 1em;
}
@media (max-width: 767px) {
  .l-notfound {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .l-notfound__list {
    display: flex;
    flex-direction: column;
  }
  .l-notfound__list > ul {
    width: auto;
  }
}

/**************************************************/
/* components */
/**************************************************/
/**************************************************/
/* components - basic */
/**************************************************/
.c-entry-date {
  margin: 2.5rem 0 0;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.4;
}
.c-entry-social {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  list-style: none;
  padding-left: 0;
  gap: 0.75rem;
  position: relative;
  margin: 2.5rem 0 0;
  z-index: 1;
}
.c-entry-social > li {
  display: block;
  width: 1.25rem;
  line-height: 1;
  text-align: center;
}
.c-entry-social__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.c-entry-social__link img, .c-entry-social__link svg {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-entry-date + .c-entry-social {
  margin-top: -1.25rem;
}

.c-entry-back {
  display: block;
  margin: 3.75rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
}
.c-entry-back__btn {
  display: inline-flex;
  align-items: baseline;
  gap: 0.625rem;
  color: inherit;
  text-decoration: none;
}
.c-entry-back__btn:hover {
  opacity: 1;
}
.c-entry-back__btn-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 50;
  stroke-dashoffset: 0;
  width: 2rem;
}
.c-entry-back__btn:hover .c-entry-back__btn-arrow {
  animation: svgArrow_right_animation 0.3s ease 1 forwards;
}

.c-article-filters {
  display: block;
}
.c-article-filters > *:first-child {
  margin-top: 0 !important;
}
.c-article-filters__taglist {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 0.75rem;
  margin: 0;
}
.c-article-filters__taglist > li {
  display: block;
}
.c-article-filters__tag {
  display: block;
  cursor: pointer;
}
.c-article-filters__tag input[type=radio] {
  position: absolute;
  opacity: 0;
}
.c-article-filters__tag-in {
  display: inline-block;
  position: relative;
  padding: 0.25rem 1.25rem;
  border-radius: 1.875rem;
  background: var(--card-tag-color, #DFF0FA);
  color: inherit;
  font-size: 0.875rem;
  text-decoration: none;
  line-height: 1.5;
}
.c-article-filters__tag input[type=radio]:checked ~ .c-article-filters__tag-in {
  background-color: #4F859E;
  color: #fff;
  font-weight: 500;
}
.c-article-filters__hashwrap {
  display: block;
  margin: 1.875rem 0 0;
  padding-top: 1.875rem;
  border-top: 1px solid var(--card-tag-color, #DFF0FA);
}
.c-article-filters__hashlist {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 0.75rem 1.25rem;
  height: 3.1875rem;
  margin: 0;
  overflow: hidden;
}
.c-article-filters__hashlist > li {
  display: block;
}
.c-article-filters__hash {
  display: block;
  line-height: 1;
  cursor: pointer;
}
.c-article-filters__hash input[type=radio] {
  position: absolute;
  opacity: 0;
}
.c-article-filters__hash-in {
  display: inline-block;
  position: relative;
  color: inherit;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-decoration: none;
}
.c-article-filters__hash input[type=radio]:checked ~ .c-article-filters__hash-in {
  color: var(--card-tag-color, #B3CAD6);
}
.c-article-filters__hashmore {
  margin: 1rem 0 0;
  line-height: 1.5;
  text-align: right;
}
.c-article-filters__hashbtn {
  display: inline-block;
  position: relative;
  padding-right: 1.25em;
  font-size: 0.8125rem;
  cursor: pointer;
}
.c-article-filters__hashbtn::after {
  display: block;
  position: absolute;
  top: calc((1.5em - 0.625rem) / 2);
  right: 0.0625rem;
  width: 0.375rem;
  height: 0.375rem;
  border: 1px solid currentColor;
  border-width: 0 1px 1px 0;
  content: "";
  transform: rotate(45deg);
}
.c-article-filters__hashbtn:hover {
  text-decoration: underline;
}
.c-article-filters__hashbtn.-open::after {
  top: calc((1.5em - 0.125rem) / 2);
  transform: rotate(-135deg);
}
.c-article-filters__hashbtn.-hide {
  display: none;
}
.c-article-filters__archives {
  display: block;
  margin: 3.75rem 0 0;
}
.c-article-filters__archives-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  padding: 0.3076923077em 0.9230769231em;
  padding-left: 1.8461538462em;
  border: none;
  border-radius: 0;
  background: url(../img/icon_select.svg) no-repeat left 0.4615384615em top 50%, #fff;
  background-size: 0.75em 0.75em;
  font-size: 0.8125rem;
  line-height: 1.5384615385em;
}
.c-article-filters__archives-select::-ms-expand {
  display: none;
}
@media (max-width: 767px) {
  .c-article-filters__taglist {
    gap: 0.375rem;
  }
  .c-article-filters__tag-in {
    padding: 0.25rem 1rem;
    font-size: 0.8125rem;
  }
}

.c-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 6.25rem 0 0;
}
.c-pager__prev, .c-pager__next {
  flex: 0 0 auto;
  display: block;
  padding: 0.75rem 0;
}
.c-pager__prev:hover, .c-pager__next:hover {
  opacity: 1;
}
.c-pager__prev img, .c-pager__prev svg, .c-pager__next img, .c-pager__next svg {
  display: block;
  width: 100%;
  height: auto;
}
.c-pager__next svg {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.c-pager__next:hover svg {
  animation: svgArrow2_right_animation 0.3s ease 1 forwards;
}
.c-pager__prev svg {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.c-pager__prev:hover svg {
  animation: svgArrow2_left_animation 0.3s ease 1 forwards;
}
.c-pager__num {
  display: block;
  min-width: 2.5rem;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.25rem;
  line-height: 2.25rem;
  text-align: center;
}
.c-pager__num.-current {
  border-color: #4BBAEB;
}
.c-pager__pages {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  list-style: none;
  padding-left: 0;
  gap: 0.25rem;
  margin: 0 1.25rem;
}
.c-pager__pages > li {
  display: block;
}
.c-pager__pages a {
  display: block;
  color: inherit;
  text-decoration: none;
  opacity: 0.5;
}
@media (max-width: 767px) {
  .c-pager__num {
    min-width: 2rem;
    font-size: 1rem;
    line-height: 2rem;
  }
  .c-pager__pages {
    margin: 0 0.9375rem;
  }
}

.c-case-list {
  margin: 5rem 0 0;
}
.c-case-list__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem 3.0625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-case-list__list > li {
  display: block;
}
@media (max-width: 767px) {
  .c-case-list {
    margin-top: 3.75rem;
  }
  .c-case-list__list {
    display: block;
  }
  .c-case-list__list > li + li {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 0.125rem solid var(--article-border-color, #DFF0FA);
  }
}

.c-case-card {
  display: block;
  color: inherit;
  text-decoration: none;
}
.c-case-card__img {
  display: block;
}
.c-case-card__img img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 10/6;
}
.c-case-card__body {
  display: block;
  margin: 1.125rem 0 0;
}
.c-case-card__body > *:first-child {
  margin-top: 0 !important;
}
.c-case-card__company {
  display: flex;
  align-items: center;
  height: 2.25rem;
}
.c-case-card__company-logo {
  display: block;
  margin: 0;
}
.c-case-card__company-logo img {
  display: block;
  max-width: 12.5rem;
  max-height: 2.25rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
.c-case-card__company-name {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-case-card__ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  max-height: 4.8em;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 3;
  margin: 0.625rem 0 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
}
.c-case-card__ttl a {
  color: inherit;
  text-decoration: none;
}
.c-case-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 0.625rem;
  margin: 1rem 0 0;
}
.c-case-card__tags > span {
  display: inline-block;
  padding: 0.25rem 1em;
  border-radius: 1.25rem;
  background: var(--card-tag-color, #DFF0FA);
  color: inherit;
  font-size: 0.75rem;
  text-decoration: none;
  line-height: 1.25;
}
.c-case-card__hashs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  margin: 0.75rem 0 0;
}
.c-case-card__hashs > span {
  display: inline-block;
  font-size: 0.75rem;
  text-decoration: none;
  line-height: 1.5;
}
.c-case-card.-minor {
  --card-tag-color: #fff;
}
.c-case-card.-home .c-case-card__img img {
  aspect-ratio: 43/28;
}
.c-case-card.-slide {
  --card-tag-color: #D5E9F8;
}
.c-case-card.-slide .c-case-card__img img {
  aspect-ratio: 32/22;
}
@media (min-width: 768px) {
  .c-case-card.-home .c-case-card__ttl {
    font-size: 1.1875rem;
  }
  .c-case-card.-home .c-case-card__tags > span {
    font-size: 0.8125rem;
  }
  .c-case-card.-home .c-case-card__hashs > span {
    font-size: 0.8125rem;
  }
  .c-case-card.-slide .c-case-card__company-name {
    font-size: 0.8125rem;
  }
}
@media (max-width: 767px) {
  .c-case-card.-news {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 0.875rem;
  }
  .c-case-card.-news .c-case-card__img {
    flex: 0 0 auto;
    width: 8.0625rem;
  }
  .c-case-card.-news .c-case-card__body {
    flex: 1 1 auto;
    width: calc(100% - 9.375rem);
    margin: 0;
  }
  .c-case-card.-news .c-case-card__ttl {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
  }
  .c-case-card.-news .c-case-card__tags {
    gap: 0.375rem;
    width: 100%;
    margin-top: 1rem;
  }
  .c-case-card.-news .c-case-card__hashs {
    width: 100%;
  }
}

.c-searchbox {
  display: block;
  position: relative;
}
.c-searchbox::before {
  display: block;
  position: absolute;
  top: calc(50% - 0.625rem);
  left: 0.75rem;
  width: 1.25rem;
  height: 1.25rem;
  background: #055276;
  content: "";
  z-index: 1;
  -webkit-mask: url(../img/icon_search.svg) no-repeat center;
          mask: url(../img/icon_search.svg) no-repeat center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-searchbox__field {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  padding: 0.3125rem 0.75rem 0.3125rem 2.625rem;
  border: none;
  border-radius: 0.375rem;
  background: #F2F7FC;
  font-size: 1rem;
  line-height: 1.5rem;
}
.c-searchbox__field:-moz-placeholder-shown {
  color: rgba(5, 82, 118, 0.5);
}
.c-searchbox__field:placeholder-shown {
  color: rgba(5, 82, 118, 0.5);
}
.c-searchbox__field::-webkit-input-placeholder {
  color: rgba(5, 82, 118, 0.5);
}
.c-searchbox__field:-moz-placeholder {
  color: rgba(5, 82, 118, 0.5);
  opacity: 1;
}
.c-searchbox__field::-moz-placeholder {
  color: rgba(5, 82, 118, 0.5);
  opacity: 1;
}
.c-searchbox__field:-ms-input-placeholder {
  color: rgba(5, 82, 118, 0.5);
}
@media (max-width: 1023px) {
  .c-searchbox__field {
    font-size: max(16px, 2.0860495437vw);
  }
}
@media (max-width: 767px) {
  .c-searchbox__field {
    font-size: max(16px, 4.2666666667vw);
  }
}

.c-contact {
  margin: 5rem 0 0;
}
.c-contact__btnlist {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
.c-contact__btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 25.625rem;
  min-height: 8.125rem;
  padding: 0.625rem 0.25rem 0.5rem;
  border-radius: 1.875rem;
  background: #055276;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
}
.c-contact__btn.-request {
  background: #A81E59;
}
.c-contact__btn-icon {
  display: block;
  width: 3rem;
  height: 3rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-contact__btn-label {
  display: block;
  margin-top: 0.375rem;
}
.c-contact__company {
  display: flex;
  justify-content: center;
  gap: 1.875rem 2.5rem;
  margin: 2.5rem 0 0;
}
.c-contact__company-unit {
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
}
.c-contact__company-unit > dt {
  flex: 0 0 auto;
  align-self: flex-start;
  display: block;
  position: relative;
  margin: 0 1.1875rem 0 0;
  padding: 0 1.25rem 0 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 2rem;
}
.c-contact__company-unit > dt::after {
  display: block;
  position: absolute;
  top: 0.25em;
  bottom: 0.25em;
  right: 0;
  width: 1px;
  margin: auto;
  background: #81A7B9;
  content: "";
}
.c-contact__company-unit > dd {
  display: block;
  margin: 0;
  padding: 0;
}
.c-contact__tel {
  display: flex;
  align-items: baseline;
  margin: 0;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
}
.c-contact__tel-head {
  display: inline-block;
  margin-right: 0.5em;
}
.c-contact__tel-number {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  font-size: 1.4em;
}
.c-contact__address {
  margin: 0.3125rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
}
.c-contact__holiday {
  margin: 1.875rem 0 0;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .c-contact {
    margin-top: 2.5rem;
  }
  .c-contact__btnlist {
    gap: 0.625rem;
  }
  .c-contact__btn {
    width: 25.625rem;
    min-height: 6.25rem;
    border-radius: 1.25rem;
    font-size: 0.8125rem;
  }
  .c-contact__btn-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
  .c-contact__company {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .c-contact__company-unit > dt {
    box-sizing: border-box;
    width: 5.1875rem;
    margin-right: 0.625rem;
    padding-right: 0.6875rem;
    font-size: 0.875rem;
  }
  .c-contact__tel {
    font-size: 1.125rem;
  }
  .c-contact__tel-number {
    font-size: 1.4444444444em;
  }
  .c-contact__address {
    font-size: 0.8125rem;
  }
  .c-contact__holiday {
    margin-top: 1rem;
    margin-left: 5.8125rem;
    text-align: left;
  }
}

/**************************************************/
/* components - form */
/**************************************************/
:root {
  --form-border-color: #ccc;
  --form-required-color: #E80000;
  --form-alert-color: #F00;
  --form-alert-bg-color: #FFF0F0;
  --form-btn-bg-color: #055276;
  --form-btn-edit-color: #6F6F6F;
}

form label {
  cursor: pointer;
}
form textarea {
  line-height: 1.25;
  resize: vertical;
}

input, textarea, select {
  color: #055276;
}

*:-moz-placeholder-shown {
  color: rgba(5, 82, 118, 0.5);
}

*:placeholder-shown {
  color: rgba(5, 82, 118, 0.5);
}
*::-webkit-input-placeholder {
  color: rgba(5, 82, 118, 0.5);
}
*:-moz-placeholder {
  color: rgba(5, 82, 118, 0.5);
  opacity: 1;
}
*::-moz-placeholder {
  color: rgba(5, 82, 118, 0.5);
  opacity: 1;
}
*:-ms-input-placeholder {
  color: rgba(5, 82, 118, 0.5);
}

:focus::-webkit-input-placeholder {
  color: transparent;
}

:focus::-moz-placeholder {
  color: transparent;
}

.f-error {
  display: block;
  position: relative;
  margin: 0.625rem 0 0;
  font-size: 0.9375rem;
  color: var(--form-alert-color);
  font-weight: 700;
  line-height: 1.5;
}
.f-error + .f-error {
  margin-top: 0;
}

.f-field {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  padding: 0.625em 0.9375em;
  border: none;
  border-radius: 0.3125rem;
  background: #F2F7FC;
  line-height: 1.5em;
}

textarea.f-field {
  display: block;
  line-height: 1.25;
}

.f-checkbox {
  display: inline-block;
  cursor: pointer;
}
.f-checkbox > input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.f-checkbox__in {
  display: block;
  position: relative;
  padding: 0.125rem 0.125rem 0.125rem 1.75rem;
  font-size: 1rem;
  line-height: 1.5;
}
.f-checkbox__in::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--form-border-color);
  border-radius: 0;
  background: #fff no-repeat center/1.125rem 1.125rem;
  content: "";
}
.f-checkbox input[type=checkbox]:checked ~ .f-checkbox__in::after {
  background-image: url(../img/icon_checkbox_checked.svg);
}

.f-radio {
  display: inline-block;
  cursor: pointer;
}
.f-radio > input[type=radio] {
  position: absolute;
  opacity: 0;
}
.f-radio__in {
  display: block;
  position: relative;
  padding: 0.125rem 0.125rem 0.125rem 1.75rem;
  font-size: 1rem;
  line-height: 1.5;
}
.f-radio__in::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--form-border-color);
  border-radius: 50%;
  background: #fff no-repeat center/0.625rem 0.625rem;
  content: "";
}
.f-radio input[type=radio]:checked ~ .f-radio__in::after {
  background-image: url(../img/icon_radio_checked.svg);
}

.f-selectbox {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  padding: 0.625em 3.4375em 0.625em 0.9375em;
  border: none;
  border-radius: 0.3125rem;
  background: url(../img/icon_select_white.svg) no-repeat right 0.6875em top 50%, linear-gradient(to bottom, #055276 0%, #055276 100%) no-repeat right 0 top 50%, #F2F7FC;
  background-size: 1.125em 1.125em, 2.5em 100%;
  line-height: 1.5em;
}
.f-selectbox::-ms-expand {
  display: none;
}
.f-selectbox.-full {
  width: 100%;
}
.f-selectbox.-short {
  width: 100%;
  max-width: 8.75rem;
}
.f-selectbox.-middle {
  width: 100%;
  max-width: 15.625rem;
}
.f-selectbox.-long {
  width: 100%;
  max-width: 25rem;
}

.f-btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 1.5rem 0.5em;
  border-radius: 0.625rem;
  background: var(--form-btn-bg-color, #4BBAEB);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
}
.f-btn__label {
  display: inline-block;
  position: relative;
}
.f-btn.-back {
  background: #81A7B9;
}
@media (max-width: 767px) {
  .f-btn {
    font-size: 1rem;
  }
}

.f-input {
  margin: 1rem 0 0;
}
.f-input.-short {
  max-width: 8.75rem;
}
.f-input.-middle {
  max-width: 15rem;
}
.f-input.-long {
  max-width: 25rem;
}

.f-input-columns {
  list-style: none;
  margin: 1rem 0 0;
  padding-left: 0;
  line-height: 1.5;
}
.f-input-columns > li + li {
  padding-top: 0.5rem;
}

.f-input-rows {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  margin: 1rem 0 -0.5rem -1rem;
  line-height: 1.5;
}
.f-input-rows > li {
  display: block;
  box-sizing: border-box;
  margin: 0 0 0.5rem 1rem;
}
.f-input-units {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  align-items: center;
  margin: 1rem 0 -0.5rem -1rem;
  line-height: 1.5;
}
.f-input-units__unit {
  display: block;
  box-sizing: border-box;
  margin: 0 0 0.5rem 1rem;
}
.f-input-units.-name .f-input-units {
  flex-wrap: nowrap;
  margin-left: -1rem;
}
.f-input-units.-name .f-input-units__unit {
  width: calc(50% - 1rem);
  margin-left: 1rem;
}
.f-input-units.-zip .f-input-units {
  flex-wrap: nowrap;
  align-items: center;
  margin-left: -0.5rem;
}
.f-input-units.-zip .f-input-units__unit {
  margin-left: 0.5rem;
}
.f-input-units.-zip .f-input-units__unit:nth-child(2) {
  width: 6.25rem;
}
.f-input-units.-zip .f-input-units__unit:nth-child(4) {
  width: 8.75rem;
}
.f-toConfirm {
  max-width: 22.5rem;
  margin: 5rem auto 0;
}

.f-toSend {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  margin: 5rem auto 0;
}
.f-toSend__unit {
  display: block;
  width: 22.5rem;
}
@media (max-width: 767px) {
  .f-toSend {
    gap: 0.625rem;
  }
}

.f-content {
  position: relative;
  padding: 3.75rem 2.5rem 7.5rem;
  overflow: hidden;
}
.f-content__inner {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .f-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.f-form {
  display: block;
}

.f-intro {
  margin: 0;
  font-size: 1rem;
  line-height: 2;
}

.f-text {
  margin: 3.75rem 0 0;
  font-size: 0.9375rem;
  line-height: 2;
}

.f-formgroup {
  display: block;
  margin: 3.75rem 0 0;
}

.f-fieldset {
  display: flex;
  gap: 1.25rem;
  margin: 0.875rem 0 0;
}
.f-fieldset > dt, .f-fieldset > dd {
  margin: 0;
  padding: 0;
}
.f-fieldset > dt > *:first-child, .f-fieldset > dd > *:first-child {
  margin-top: 0 !important;
}
.f-fieldset > dt {
  flex: 0 0 auto;
  width: 15rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-weight: 700;
}
.f-fieldset > dd {
  flex: 1 1 auto;
}
.f-fieldset__required {
  display: block;
  position: relative;
  padding-right: 1.875rem;
}
.f-fieldset__required::after {
  display: inline-block;
  content: "必須";
  position: absolute;
  top: 0.375rem;
  right: 0;
  font-size: 0.75rem;
  color: var(--form-required-color);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: inherit;
}
.f-fieldset.-confirm > dt {
  padding-top: 0;
  padding-bottom: 0;
}
@media (max-width: 767px) {
  .f-fieldset {
    flex-direction: column;
    gap: 0.625rem;
    margin-top: 1.25rem;
  }
  .f-fieldset > dt {
    width: auto;
    padding-top: 0;
    padding-bottom: 0;
  }
  .f-fieldset__required {
    padding-right: 0;
  }
  .f-fieldset__required::after {
    position: relative;
    top: auto;
    right: 0;
    margin-left: 0.5rem;
  }
}

.f-agreement {
  margin: 5rem 0 0;
}
.f-agreement__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
}
.f-agreement__policy {
  max-height: 17.5rem;
  margin: 2.5rem 0 0;
  border: 0.125rem solid #DEECF2;
  overflow-y: auto;
}
.f-agreement__agree {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 2.5rem 0 0;
  text-align: center;
}
.f-agreement__cb {
  display: inline-block;
  cursor: pointer;
  text-align: left;
}
.f-agreement__cb > input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.f-agreement__cb-in {
  display: block;
  position: relative;
  padding: 0.125rem 0.125rem 0.125rem 1.75rem;
  font-size: 1rem;
  line-height: 1.5;
}
.f-agreement__cb-in::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--form-border-color);
  border-radius: 0;
  background: #fff no-repeat center/1.125rem 1.125rem;
  content: "";
}
.f-agreement__cb > input[type=checkbox]:checked ~ .f-agreement__cb-in::after {
  background-image: url(../img/icon_checkbox_checked.svg);
}

.f-policy {
  display: block;
  margin: 0;
  padding: 1.875rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.f-policy * {
  font-size: 100%;
  line-height: 1.75;
}
.f-policy ul, .f-policy ol {
  padding-left: 1.5em;
}
.f-policy h2 {
  font-size: 1rem;
}
@media (max-width: 767px) {
  .f-policy {
    padding: 1.875rem 1.25rem;
  }
}

.f-requestfield {
  position: relative;
  margin: 2.5rem -2.5rem 0;
  padding: 3.125rem 2.5rem;
  z-index: 0;
}
.f-requestfield::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  margin: 0 calc((100vw - 100%) / -2) 0;
  background: #F2F7FC;
  content: "";
  z-index: -1;
}
.f-requestfield__inner {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}
.f-requestfield__inner > *:first-child {
  margin-top: 0 !important;
}
.f-requestfield__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.125rem 2rem;
  margin: 0;
}
.f-requestfield__list > li {
  display: block;
  width: calc((100% - 2rem) / 2);
}
.f-requestfield__cb {
  display: inline-block;
  cursor: pointer;
  font-weight: 700;
  text-align: left;
}
.f-requestfield__cb.-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.f-requestfield__cb > input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.f-requestfield__cb-in {
  display: block;
  position: relative;
  padding: 0 0 0 1.75rem;
  font-size: 1rem;
  line-height: 1.75;
}
.f-requestfield__cb-in::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0.3125rem;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid transparent;
  border-radius: 0;
  background: #fff no-repeat center/1.125rem 1.125rem;
  content: "";
}
.f-requestfield__cb > input[type=checkbox]:checked ~ .f-requestfield__cb-in::after {
  background-image: url(../img/icon_checkbox_checked.svg);
}
@media (max-width: 767px) {
  .f-requestfield__list {
    flex-direction: column;
  }
  .f-requestfield__list > li {
    width: auto;
  }
}

/**************************************************/
/* components - acms */
/**************************************************/
.sample-h2 {
  margin: 5rem 0 0;
  padding: 0.25rem 0.625rem;
  background: #eee;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

.unit-text-p {
  margin: 3.125rem 0 0;
  line-height: 2;
}
.unit-text-p + .unit-text-p {
  margin-top: 2em;
}

.unit-text-h2 {
  margin: 5rem 0 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
}

.unit-wysiwyg {
  margin: 3.125rem 0 0;
}

.unit-custom-list {
  display: block;
  list-style: none;
  margin: 3.125rem 0 0;
  padding: 0;
  counter-reset: list;
}
.unit-custom-list > li {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.75rem;
}
.unit-custom-list > li::before {
  flex: 0 0 auto;
  display: block;
  box-sizing: border-box;
  position: relative;
  top: 0.25rem;
  width: 3rem;
  height: 1.25rem;
  padding: 0.1875rem 0 0.0625rem;
  background: #F2F7FC;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  content: "";
}
.unit-custom-list > li + li {
  margin-top: 0.9375rem;
}
.unit-custom-list__inner {
  display: block;
}
.unit-custom-list__main {
  display: block;
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.8;
}
.unit-custom-list__sub {
  display: block;
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  line-height: 1.8;
}
.unit-custom-list.-ol > li::before {
  counter-increment: list;
  content: counter(list);
}

.unit-custom-listgroup {
  margin: 3.125rem 0 0;
}
.unit-custom-listgroup > *:first-child {
  margin-top: 0 !important;
}
.unit-custom-listgroup__heading {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
}
.unit-custom-listgroup__lead {
  margin: 1.5rem 0 0;
  line-height: 2;
}
.unit-custom-listgroup__list {
  display: block;
  list-style: none;
  margin: 1.875rem 0 0;
  padding: 0;
  counter-reset: list;
}
.unit-custom-listgroup__list > li {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.75rem;
}
.unit-custom-listgroup__list > li::before {
  flex: 0 0 auto;
  display: block;
  box-sizing: border-box;
  position: relative;
  top: 0.25rem;
  width: 3rem;
  height: 1.25rem;
  padding: 0.1875rem 0 0.0625rem;
  background: #F2F7FC;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  content: "";
}
.unit-custom-listgroup__list > li + li {
  margin-top: 0.9375rem;
}
.unit-custom-listgroup__list.-ol > li::before {
  counter-increment: list;
  content: counter(list);
}
.unit-custom-listgroup__inner {
  display: block;
}
.unit-custom-listgroup__main {
  display: block;
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.8;
}
.unit-custom-listgroup__sub {
  display: block;
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  line-height: 1.8;
}
.unit-custom-listgroup__explain {
  margin: 1.5rem 0 0;
  line-height: 2;
}

.unit-custom-imglist {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.25rem;
  margin: 3.125rem 0 0;
}
.unit-custom-imglist > li {
  display: block;
}
.unit-custom-imglist__img {
  display: block;
}
.unit-custom-imglist__caption {
  display: block;
  margin: 0.625rem 0 0;
  color: #4F859E;
  font-size: 0.875rem;
  line-height: 1.75;
  text-align: left;
}
@media (min-width: 768px) {
  .unit-custom-imglist.-column1 > li {
    width: 100%;
  }
  .unit-custom-imglist.-column2 > li {
    width: calc((100% - 1.25rem) / 2);
  }
  .unit-custom-imglist.-column3 > li {
    width: calc((100% - 2.5rem) / 3);
  }
}
@media (max-width: 767px) {
  .unit-custom-imglist {
    gap: 1.875rem 0.625rem;
  }
}

.unit-custom-company {
  margin: 5rem 0 0;
  padding: 1.875rem 2.5rem 2.5rem;
  border-radius: 1.875rem;
  background: #F2F7FC;
}
.unit-custom-company > *:first-child {
  margin-top: 0 !important;
}
.unit-custom-company__ttl {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.625rem;
  margin: 0;
  font-weight: 700;
  line-height: 1.5;
}
.unit-custom-company__ttl-name {
  display: inline-block;
}
.unit-custom-company__ttl-update {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 400;
}
.unit-custom-company__table {
  display: grid;
  grid-template-columns: 5.875rem 1fr;
  gap: 0.125rem;
  margin: 1.25rem 0 0;
}
.unit-custom-company__table > * {
  background: #fff;
}
.unit-custom-company__logo {
  grid-row: 1/span calc(var(--row-end, 5));
  grid-column: 3/4;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 2.5rem;
  border-radius: 0 0.875rem 0.875rem 0;
}
.unit-custom-company__head, .unit-custom-company__text {
  display: grid;
  align-items: center;
  box-sizing: border-box;
  padding: 0.375rem 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.unit-custom-company__head {
  background: #81A7B9;
  color: #fff;
  text-align: right;
}
.unit-custom-company__head:nth-child(1), .unit-custom-company__head:nth-child(2) {
  border-radius: 0.875rem 0 0 0;
}
.unit-custom-company__head:nth-last-child(2) {
  border-radius: 0 0 0 0.875rem;
}
@media (min-width: 768px) {
  .unit-custom-company:has(.unit-custom-company__logo) .unit-custom-company__table {
    grid-template-columns: 5.875rem 1fr 13.75rem;
  }
  .unit-custom-company:not(:has(.unit-custom-company__logo)) .unit-custom-company__text:nth-child(2) {
    border-radius: 0 0.875rem 0 0;
  }
  .unit-custom-company:not(:has(.unit-custom-company__logo)) .unit-custom-company__text:nth-last-child(1) {
    border-radius: 0 0 0.875rem 0;
  }
}
@media (max-width: 767px) {
  .unit-custom-company {
    padding: 1.875rem 1rem 2.5rem;
  }
  .unit-custom-company__logo {
    grid-row: auto;
    grid-column: 1/3;
    margin-bottom: 0.5rem;
    padding: 1.25rem 2.5rem;
    border-radius: 0.875rem;
  }
  .unit-custom-company__text:nth-child(2), .unit-custom-company__text:nth-child(3) {
    border-radius: 0 0.875rem 0 0;
  }
  .unit-custom-company__text:nth-last-child(1) {
    border-radius: 0 0 0.875rem 0;
  }
}

.unit-custom-dialogue {
  margin: 3.125rem 0 0;
  line-height: 2;
}
.unit-custom-dialogue__name {
  font-weight: 700;
}

.unit-custom-file {
  display: block;
  max-width: 15.625rem;
  margin: 3.125rem auto 0;
}
.unit-custom-file__btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.875rem;
  background: #4BBAEB;
  color: #fff;
  border-radius: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
}
.unit-custom-file__btn > * {
  pointer-events: none;
}
.unit-custom-file__btn:hover {
  opacity: 1;
}
.unit-custom-file__btn:hover .unit-custom-file__btn-arrow {
  animation: svgArrow2_right_animation 0.3s ease 1 forwards;
}
.unit-custom-file__btn-label {
  display: inline-block;
  margin-right: 0.5em;
}
.unit-custom-file__btn-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.unit-custom-file__btn-arrow img, .unit-custom-file__btn-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Home */
/**************************************************/
.p-home-mv__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2.5rem 2.5rem 6.25rem;
}
.p-home-mv__pagination img {
  display: block;
  width: 100%;
}
.p-home-mv .swiper-slide img {
  display: block;
  width: 100%;
}
.p-home-mv .swiper-slide a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.p-home-mv .swiper-slide:not(.swiper-slide-active) a {
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-home-mv__pagination {
    padding: 1.875rem 1rem 2.5rem;
  }
}

.swiper-mv-pagination {
  display: flex;
  width: auto !important;
  gap: 0.625rem;
}
@media (max-width: 767px) {
  .swiper-mv-pagination {
    flex-wrap: wrap;
    gap: 0.375rem;
  }
}

.swiper-mv-thumb {
  display: block;
  width: 9.25rem;
  opacity: 0.7;
  cursor: pointer;
  outline: 0.25rem solid rgba(75, 186, 235, 0);
  outline-offset: -0.25rem;
  transition: all 0.2s ease;
}
.swiper-mv-thumb img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 74/48;
}
.swiper-mv-thumb.swiper-pagination-bullet-active {
  outline-color: #4BBAEB;
  opacity: 1;
}
@media (max-width: 767px) {
  .swiper-mv-thumb {
    width: calc((100% - 1.125rem) / 4);
    outline-width: 0.125rem;
    outline-offset: -0.125rem;
  }
}

.p-home-wehave {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.p-home-wehave__head {
  position: relative;
  padding: 7.5528700906% 2.5rem 2.5rem;
  z-index: -1;
}
.p-home-wehave__head::after {
  display: block;
  position: absolute;
  top: 0;
  right: 2.5rem;
  width: 105%;
  height: 120%;
  border-radius: 2.5rem;
  background: linear-gradient(-125deg, #FFDCEC 0%, #FFFACC 40%, #CDF3FE 80%, #FFF 120%);
  content: "";
  transform-origin: top right;
  transform: rotate(-3deg);
  z-index: -1;
}
.p-home-wehave__head-inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.p-home-wehave__head-inner > *:first-child {
  margin-top: 0 !important;
}
.p-home-wehave__head-ttl {
  margin: 0;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 3.75rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
  text-align: center;
}
.p-home-wehave__head-lead {
  margin: 1rem 0 0;
  line-height: 2;
  text-align: center;
}
.p-home-wehave__img {
  position: relative;
}
.p-home-wehave__img img {
  display: block;
  width: 100%;
  height: 16.875rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-wehave__contents {
  position: relative;
  padding: 5rem 2.5rem;
  background: #F2F7FC;
}
.p-home-wehave__contents-inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-home-wehave__contents-inner > *:first-child {
  margin-top: 0 !important;
}
.p-home-wehave__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.875rem 2.5rem;
  margin: 0;
}
.p-home-wehave__list > li {
  display: block;
  width: calc((100% - 5rem) / 3);
}
@media (max-width: 767px) {
  .p-home-wehave__head {
    padding: 16% 1rem 1.875rem;
  }
  .p-home-wehave__head::after {
    right: 1rem;
    border-radius: 1.875rem;
  }
  .p-home-wehave__head-ttl {
    font-size: 2rem;
  }
  .p-home-wehave__head-lead {
    font-size: 0.8125rem;
  }
  .p-home-wehave__img img {
    height: auto;
    aspect-ratio: 375/130;
  }
  .p-home-wehave__contents {
    padding: 2.5rem 1rem 3.75rem;
  }
  .p-home-wehave__list {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-home-wehave__list > li {
    width: 100%;
  }
}

.p-home-wehave-card {
  display: block;
  color: inherit;
  text-decoration: none;
}
.p-home-wehave-card__body {
  display: block;
  padding: 1rem;
  border-left: 0.375rem solid #B3CAD6;
  background: #fff;
}
.p-home-wehave-card__ttl {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
}
.p-home-wehave-card__text {
  margin: 0.375rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.8;
}
.p-home-wehave-card__more {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: right;
}
.p-home-wehave-card__link {
  display: inline-flex;
  align-items: baseline;
  color: inherit;
  text-decoration: none;
}
.p-home-wehave-card__link-label {
  display: inline-block;
  margin-right: 0.5em;
}
.p-home-wehave-card__link-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 50;
  stroke-dashoffset: 0;
  width: 2rem;
}
.p-home-wehave-card__link-arrow img, .p-home-wehave-card__link-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}
.p-home-wehave-card:hover .p-home-wehave-card__link-arrow {
  animation: svgArrow_right_animation 0.3s ease 1 forwards;
}

.p-home-sect {
  position: relative;
  padding: 7.5rem 2.5rem 5rem;
  overflow: hidden;
}
.p-home-sect__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-home-sect__inner > *:first-child {
  margin-top: 0 !important;
}
.p-home-sect__ttl {
  display: flex;
  align-items: flex-end;
  margin: 7.5rem 0 0;
  font-size: 100%;
  font-weight: 400;
}
.p-home-sect__ttl-main {
  display: block;
  margin: 0;
  margin-right: 0.5em;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 2.25rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.25;
}
.p-home-sect__ttl-sub {
  display: block;
  margin: 0 0 0.25em;
  font-size: 0.9375rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-home-sect {
    padding: 5rem 1rem;
  }
  .p-home-sect__ttl {
    margin-top: 5rem;
  }
  .p-home-sect__ttl-main {
    font-size: 2rem;
  }
  .p-home-sect__ttl-sub {
    font-size: 0.8125rem;
  }
}

.p-home-case {
  position: relative;
  padding-bottom: 5rem;
  z-index: 1;
}
.p-home-case::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #DFF0FA url(../img/bg_stripe.png) repeat center;
  content: "";
  z-index: -1;
}
.p-home-case > *:first-child {
  margin-top: 0 !important;
}
.p-home-case__ttl {
  display: flex;
  align-items: flex-end;
  margin: 7.5rem 0 0;
  font-size: 100%;
  font-weight: 400;
}
.p-home-case__ttl-main {
  display: block;
  margin: 0;
  margin-right: 0.5em;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 2.625rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.25;
}
.p-home-case__ttl-sub {
  display: block;
  margin: 0 0 0.25em;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.p-home-case__list {
  margin: 2.5rem calc((var(--vw, 100vw) - 100%) / -2) 0;
}
.p-home-case .swiper-slide {
  height: auto;
}
.p-home-case .swiper-slide > * {
  height: 100%;
  transition: all 0.3s ease, transform var(--slide-duration, 1s) ease;
}
.p-home-case .swiper-slide:not(.swiper-slide-active) > * {
  transform: translateX(-12%) scale(0.77);
}
.p-home-case .swiper-slide-active ~ .swiper-slide > * {
  transform: translateX(12%) scale(0.77);
}
@media (max-width: 767px) {
  .p-home-case {
    padding-bottom: 2.5rem;
  }
  .p-home-case__ttl {
    margin-top: 5rem;
  }
  .p-home-case__ttl-main {
    font-size: 2rem;
  }
  .p-home-case__ttl-sub {
    font-size: 0.8125rem;
  }
}

.p-home-case-more {
  margin: 1.25rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: right;
}
.p-home-case-more__link {
  display: inline-flex;
  align-items: baseline;
  color: inherit;
  text-decoration: none;
}
.p-home-case-more__link-label {
  display: inline-block;
  margin-right: 0.5em;
}
.p-home-case-more__link-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.p-home-case-more__link-arrow img, .p-home-case-more__link-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}
.p-home-case-more:hover .p-home-case-more__link-arrow {
  animation: svgArrow2_right_animation 0.3s ease 1 forwards;
}

.p-home-about {
  position: relative;
  margin-top: 1.25rem;
}
.p-home-about__img {
  width: 100%;
  height: 100%;
}
.p-home-about__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-about__textarea {
  box-sizing: border-box;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 46rem;
  padding: 1.875rem 2.5rem 0 0;
  background: #fff;
  z-index: 1;
}
.p-home-about__body {
  display: block;
}
.p-home-about__lead {
  margin: 0.75rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.p-home-about__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 0.9375rem 1.875rem;
  margin: 1.5rem 0 0;
  font-size: 1.0625rem;
  font-weight: 700;
}
.p-home-about__link {
  display: inline-flex;
  align-items: baseline;
  color: inherit;
  text-decoration: none;
}
.p-home-about__link:hover {
  opacity: 1;
}
.p-home-about__link.-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.p-home-about__link:hover .p-home-about__link-arrow {
  animation: svgArrow2_right_animation 0.3s ease 1 forwards;
}
.p-home-about__link-label {
  display: inline-block;
  margin-right: 0.5em;
}
.p-home-about__link-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.p-home-about__link-arrow img, .p-home-about__link-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .p-home-about__img {
    width: auto;
    margin: 0 -1rem;
  }
  .p-home-about__img img {
    aspect-ratio: 375/180;
  }
  .p-home-about__textarea {
    position: relative;
    bottom: auto;
    left: auto;
    margin: 1.25rem 0 0;
    padding: 0;
  }
  .p-home-about__list {
    flex-direction: column;
  }
}

.p-home-news {
  --article-border-color: #fff;
  display: flex;
  justify-content: space-between;
  gap: 1.875rem 2.5rem;
  position: relative;
  margin: 7.5rem auto 0;
}
.p-home-news__articles {
  box-sizing: border-box;
  width: calc((100% - 2.5rem) / 2);
  padding: 2.5rem 3.125rem;
  border-radius: 1.875rem;
  background: #F2F7FC;
}
.p-home-news__articles.-event {
  background: #EEF8F4;
}
.p-home-news__articles > *:first-child {
  margin-top: 0 !important;
}
.p-home-news__ttl {
  display: flex;
  align-items: flex-end;
  margin: 0;
  font-size: 100%;
  font-weight: 400;
}
.p-home-news__ttl-main {
  display: block;
  margin: 0;
  margin-right: 0.5em;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 2.25rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.25;
}
.p-home-news__ttl-sub {
  display: block;
  margin: 0 0 0.25em;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.p-home-news__more {
  margin: 1.25rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: right;
}
.p-home-news__more-link {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 767px) {
  .p-home-news {
    flex-direction: column;
    margin-top: 5rem;
  }
  .p-home-news__articles {
    width: 100%;
    padding: 3.125rem 0.9375rem;
  }
  .p-home-news__ttl-main {
    font-size: 2rem;
  }
  .p-home-news__ttl-sub {
    font-size: 0.8125rem;
  }
}

.p-home-news-list {
  box-sizing: border-box;
  margin: 1.25rem 0 0 0;
  border-top: 0.125rem solid var(--article-border-color, #DFF0FA);
  border-bottom: 0.125rem solid var(--article-border-color, #DFF0FA);
}
.p-home-news-list__list {
  display: block;
  list-style: none;
  margin: 0;
  padding: 1.375rem 0;
}
.p-home-news-list__list > li {
  display: block;
  position: relative;
}
.p-home-news-list__list > li + li {
  margin-top: 1.375rem;
  padding-top: 1.375rem;
  border-top: 0.125rem solid var(--article-border-color, #DFF0FA);
}
@media (min-width: 768px) {
  .p-home-news-list {
    height: 32.5rem;
    overflow-x: hidden;
    overflow-y: scroll;
  }
}
@media (max-width: 767px) {
  .p-home-news-list__list > li:nth-child(n+4) {
    display: none;
  }
}

.p-home-news-card {
  --card-tag-color: #F2F7FC;
  display: grid;
  grid-template-columns: 9.75rem 1fr;
  gap: 0 0.875rem;
  color: inherit;
  text-decoration: none;
}
.p-home-news-card__img {
  grid-row: span 2;
  display: block;
}
.p-home-news-card__img img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 10/6;
}
.p-home-news-card__body {
  display: block;
  margin: 0;
}
.p-home-news-card__body > *:first-child {
  margin-top: 0 !important;
}
.p-home-news-card__date {
  display: block;
  margin: 0;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
}
.p-home-news-card__ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  max-height: 5.25em;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 3;
  margin: 0.3125rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
.p-home-news-card__ttl a {
  color: inherit;
  text-decoration: none;
}
.p-home-news-card__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  margin: 0.75rem 0 0;
}
.p-home-news-card__tag {
  display: inline-block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0.375rem;
  background: var(--card-tag-color, #F2F7FC);
  color: inherit;
  font-size: 0.8125rem;
  text-decoration: none;
  line-height: 1.25;
}
.p-home-news-card.-minor {
  --card-tag-color: #fff;
}
@media (max-width: 767px) {
  .p-home-news-card {
    grid-template-columns: 8.0625rem 1fr;
  }
  .p-home-news-card__img {
    grid-row: auto;
  }
  .p-home-news-card__tags {
    grid-column: span 2;
    margin: 1rem 0 0;
  }
  .p-home-news-card__ttl {
    font-size: 0.9375rem;
  }
  .p-home-news-card__tag {
    font-size: 0.75rem;
  }
}

.p-home-links {
  position: relative;
  padding: 6.25rem 2.5rem 5rem;
  overflow: hidden;
}
.p-home-links__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-home-links__inner > *:first-child {
  margin-top: 0 !important;
}
.p-home-links__bnrs {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 2.5rem;
  margin: 0;
}
.p-home-links__bnrs > li {
  display: block;
  width: calc((100% - 2.5rem) / 2);
}
.p-home-links__bnrs > li a {
  display: block;
}
.p-home-links__marks {
  max-width: 66.375rem;
  margin: 7.5rem auto 0;
  text-align: center;
}
.p-home-links__marks img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .p-home-links {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .p-home-links__bnrs {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-home-links__bnrs > li {
    width: auto;
  }
  .p-home-links__marks {
    margin-top: 5rem;
  }
}

/**************************************************/
/* search */
/**************************************************/
.p-searchResult {
  position: relative;
  padding: 3.75rem 2.5rem 5rem;
  overflow: hidden;
}
.p-searchResult__inner {
  max-width: 57.5rem;
  margin-left: auto;
  margin-right: auto;
}
.p-searchResult__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-searchResult {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 3.75rem;
  }
}

.p-searchResult-search {
  display: block;
  max-width: 32.125rem;
  margin: 0 auto;
}
.p-searchResult-search__box {
  display: block;
  position: relative;
  padding-right: 3.375rem;
}
.p-searchResult-search__field {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  padding: 0.875rem 1rem;
  border: none;
  border-radius: 0.5rem 0 0 0.5rem;
  background: #F2F7FC;
  font-size: 1.125rem;
  line-height: 1.5rem;
}
.p-searchResult-search__field:-moz-placeholder-shown {
  color: rgba(5, 82, 118, 0.5);
}
.p-searchResult-search__field:placeholder-shown {
  color: rgba(5, 82, 118, 0.5);
}
.p-searchResult-search__field::-webkit-input-placeholder {
  color: rgba(5, 82, 118, 0.5);
}
.p-searchResult-search__field:-moz-placeholder {
  color: rgba(5, 82, 118, 0.5);
  opacity: 1;
}
.p-searchResult-search__field::-moz-placeholder {
  color: rgba(5, 82, 118, 0.5);
  opacity: 1;
}
.p-searchResult-search__field:-ms-input-placeholder {
  color: rgba(5, 82, 118, 0.5);
}
.p-searchResult-search__submit {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 3.375rem;
  height: 100%;
  border: none;
  border-radius: 0 0.5rem 0.5rem 0;
  background: #055276;
}
.p-searchResult-search__submit::after {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: #fff;
  content: "";
  -webkit-mask: url(../img/icon_search.svg) no-repeat center/contain;
          mask: url(../img/icon_search.svg) no-repeat center/contain;
}
.p-searchResult-search__catlist {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 0.5rem 1.25rem;
  margin: 1rem 0 0;
}
.p-searchResult-search__radio {
  display: block;
  cursor: pointer;
}
.p-searchResult-search__radio > input[type=radio] {
  position: absolute;
  opacity: 0;
}
.p-searchResult-search__radio-in {
  display: block;
  position: relative;
  padding: 0 0 0 1.375rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.p-searchResult-search__radio-in::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0.1875rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  border: 1px solid #81A7B9;
  border-radius: 50%;
  background: #fff no-repeat center/0.625rem 0.625rem;
  content: "";
}
.p-searchResult-search__radio input[type=radio]:checked ~ .p-searchResult-search__radio-in::after {
  background-image: url(../img/icon_radio_checked.svg);
}
@media (max-width: 767px) {
  .p-searchResult-search__field {
    font-size: max(16px, 4.2666666667vw);
  }
}

.p-searchResult-result {
  margin: 7.5rem 0 0;
}
.p-searchResult-result__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.p-searchResult-result__text em {
  font-size: 1.0666666667em;
  font-weight: 700;
}
.p-searchResult-result__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 2.25rem 0 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DFF0FA;
}
.p-searchResult-result__list {
  list-style: none;
  margin: 2.5rem 0 0;
  padding-left: 0;
}
.p-searchResult-result__list > li {
  display: block;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #DFF0FA;
}
.p-searchResult-result__list > li + li {
  margin-top: 2.5rem;
}

.p-searchResult-order {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  padding: 0.3076923077em 0.9230769231em;
  padding-left: 1.8461538462em;
  border: none;
  border-radius: 0;
  background: url(../img/icon_select.svg) no-repeat left 0.4615384615em top 50%, #fff;
  background-size: 0.75em 0.75em;
  font-size: 0.8125rem;
  line-height: 1.5384615385em;
}
.p-searchResult-order::-ms-expand {
  display: none;
}

.p-searchResult-posts {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  margin: 0;
  border-left: 1px solid #DFF0FA;
  border-right: 1px solid #DFF0FA;
  font-size: 0.8125rem;
  line-height: 1;
}
.p-searchResult-posts a {
  color: #055276;
  text-decoration: none;
}
.p-searchResult-posts a:hover {
  text-decoration: underline;
  opacity: 1;
}
.p-searchResult-posts > li {
  display: block;
  padding: 0 0.5rem;
  color: #81A7B9;
}
.p-searchResult-posts > li + li {
  border-left: 1px solid #DFF0FA;
}

.p-searchResult-card {
  --card-tag-color: #F2F7FC;
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  color: inherit;
  text-decoration: none;
}
.p-searchResult-card__img {
  flex: 0 0 auto;
  display: block;
  width: 11.25rem;
}
.p-searchResult-card__img img {
  display: block;
  width: 100%;
  aspect-ratio: 18/11;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-searchResult-card__body {
  display: block;
}
.p-searchResult-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.625rem;
  margin: 0;
}
.p-searchResult-card__tag {
  display: inline-block;
  padding: 0.1875rem 1.25rem;
  border-radius: 1.25rem;
  background: var(--card-tag-color, #F2F7FC);
  color: inherit;
  font-size: 0.75rem;
  text-decoration: none;
  line-height: 1.5;
}
.p-searchResult-card__tag[data-cat] {
  --card-tag-color: #DEECF2;
}
.p-searchResult-card__tag[data-cat="製品&サービス Web"] {
  --card-tag-color: #BDE0F4;
}
.p-searchResult-card__tag[data-cat="採用情報 Web"] {
  --card-tag-color: #F8F3D9;
}
.p-searchResult-card__ttl {
  margin: 1rem 0 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-searchResult-card__date {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  line-height: 1.75;
}
.p-searchResult-card__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  max-height: 3.5em;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 2;
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .p-searchResult-card {
    flex-direction: column;
  }
  .p-searchResult-card__img {
    width: 100%;
  }
}

/**************************************************/
/* service */
/**************************************************/
.p-service-mv {
  position: relative;
  margin: 3.75rem 0 0;
  background: repeat-x center/auto 100%;
}
.p-service-mv__img {
  max-width: 46.25rem;
  margin: auto;
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 767px) {
  .p-service-mv {
    background: none;
  }
  .p-service-mv__img {
    opacity: 1;
    visibility: visible;
  }
}

.p-service-intro {
  position: relative;
  padding: 5rem 2.5rem 0;
  overflow: hidden;
}
.p-service-intro__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-service-intro__inner > *:first-child {
  margin-top: 0 !important;
}
.p-service-intro__lead {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-service-intro__img {
  margin: 3.125rem auto 0;
  text-align: center;
}
.p-service-intro__img img {
  display: block;
  width: 100%;
}
.p-service-intro__foot {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .p-service-intro {
    padding-left: 0;
    padding-right: 0;
  }
  .p-service-intro__img img {
    display: block;
    width: 100%;
  }
  .p-service-intro__foot {
    margin-top: 3.125rem;
  }
  .p-service-intro__foot img {
    display: block;
    width: 100%;
  }
}

.p-service-catch {
  position: relative;
  padding: 0rem 2.5rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  min-height: 20.625rem;
  padding: 3.125rem 2.5rem;
  background: repeat center top;
}
.p-service-catch__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-service-catch__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-service-catch {
    padding-left: 0;
    padding-right: 0;
  }
}
.p-service-catch__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.p-service-catch__inner > *:first-child {
  margin-top: 0 !important;
}
.p-service-catch__ttl {
  position: relative;
  margin: 0;
  padding-bottom: 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.p-service-catch__ttl::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: calc(50% - 6.25rem);
  width: 12.5rem;
  height: 0.25rem;
  background: #fff;
  content: "";
}
.p-service-catch__logo {
  margin: 1.5rem auto 0;
  text-align: center;
}
.p-service-catch__logo img {
  display: block;
  width: 100%;
}
.p-service-catch__lead {
  margin: 1.25rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
.p-service-catch.-migiude {
  background: linear-gradient(to right, #FFF27E 0%, #FFD359 100%);
  color: #191928;
}
.p-service-catch.-food {
  background-image: url(../img/bg_stripe_beige.png);
  color: #42210B;
}
.p-service-catch.-sizzle {
  background-image: url(../img/bg_stripe_black.png);
  color: #fff;
}
.p-service-catch.-environment {
  background-image: url(../img/bg_stripe_green.png);
  color: #fff;
}
.p-service-catch.-migiude .p-service-catch__logo {
  max-width: 35.375rem;
}
.p-service-catch.-food .p-service-catch__logo {
  max-width: 37.5rem;
}
.p-service-catch.-sizzle .p-service-catch__ttl::before {
  background: #939393;
}
.p-service-catch.-sizzle .p-service-catch__logo {
  max-width: 16.875rem;
}
.p-service-catch.-environment .p-service-catch__ttl::before {
  background: #D4E8AE;
}
.p-service-catch.-environment .p-service-catch__logo {
  max-width: 33.75rem;
}
@media (max-width: 767px) {
  .p-service-catch {
    min-height: 23.75rem;
    padding: 3.75rem 1rem;
  }
  .p-service-catch.-food .p-service-catch__logo {
    max-width: 13.875rem;
  }
  .p-service-catch.-sizzle .p-service-catch__logo {
    max-width: 13rem;
  }
}

.p-service-cta {
  position: relative;
  padding: 5rem 2.5rem 7.5rem;
  overflow: hidden;
}
.p-service-cta__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-service-cta__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-service-cta {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-service-sect {
  position: relative;
  padding-bottom: 2.6203889642%;
  overflow: hidden;
}
.p-service-sect__head {
  position: relative;
  padding: 7.5528700906% 2.5rem 3.75rem;
  z-index: -1;
}
.p-service-sect__head::after {
  display: block;
  position: absolute;
  top: 0;
  right: 2.5rem;
  width: 105%;
  height: 120%;
  border-radius: 2.5rem;
  background: linear-gradient(-125deg, #FFDCEC 0%, #FFFACC 40%, #CDF3FE 80%, #FFF 120%);
  content: "";
  transform-origin: top right;
  transform: rotate(-3deg);
  z-index: -1;
}
.p-service-sect__head-inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.p-service-sect__head-inner > *:first-child {
  margin-top: 0 !important;
}
.p-service-sect__head-ttl {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-service-sect__head-ttl em {
  font-size: 1.4545454545em;
}
.p-service-sect__contents {
  position: relative;
  padding: 6.25rem 2.5rem 0;
  background: repeat center top;
}
.p-service-sect__contents-inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-service-sect__contents-inner > *:first-child {
  margin-top: 0 !important;
}
.p-service-sect.-migiude .p-service-sect__contents {
  background-image: url(../img/bg_stripe_blue.png);
}
.p-service-sect.-food .p-service-sect__head {
  color: #42210B;
}
.p-service-sect.-food .p-service-sect__contents {
  background-image: url(../img/bg_stripe_beige.png);
  color: #42210B;
}
.p-service-sect.-sizzle .p-service-sect__head {
  color: #4D4D4D;
}
.p-service-sect.-sizzle .p-service-sect__contents {
  background-image: url(../img/bg_stripe_black.png);
  color: #fff;
}
.p-service-sect.-environment .p-service-sect__head {
  color: #59860C;
}
.p-service-sect.-environment .p-service-sect__contents {
  background-image: url(../img/bg_stripe_green.png);
  color: #fff;
}
@media (max-width: 767px) {
  .p-service-sect__head {
    padding: 16% 1rem 2.5rem;
  }
  .p-service-sect__head::after {
    right: 0.9375rem;
    border-radius: 1.875rem;
  }
  .p-service-sect__head-ttl {
    font-size: 1.125rem;
  }
  .p-service-sect__head-ttl em {
    display: block;
    margin-top: 0.3125rem;
    font-size: 1.4444444444em;
  }
  .p-service-sect__contents {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-service-case {
  position: relative;
  margin: calc(2.6203889642% + 6.25rem) -2.5rem 0;
  padding: calc(2.6203889642% + 5rem) 2.5rem 2.5rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, #fff 50%);
  color: #055276;
  z-index: 1;
}
.p-service-case::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -0.25rem;
  right: -0.25rem;
  margin: auto;
  border-radius: 2.5rem;
  background: #F2F7FC;
  content: "";
  z-index: -1;
  transform: rotate(3deg);
}
.p-service-case__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-service-case__inner > *:first-child {
  margin-top: 0 !important;
}
.p-service-case__heading {
  margin: 0;
  font-size: 1.75rem;
  text-align: center;
}
.p-service-case__list {
  margin: 3.75rem calc((var(--vw, 100vw) - 100%) / -2) 0;
  margin-left: calc((var(--vw, 100vw) - 100%) / -2 - var(--slide-offset, 0px));
}
.p-service-case__list > p {
  margin: 0;
  padding: 1rem;
  text-align: center;
}
.p-service-case__more {
  margin: 2.5rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: right;
}
.p-service-case__more-link {
  color: inherit;
  text-decoration: none;
}
.p-service-case .swiper {
  overflow: visible;
}
.p-service-case .swiper-slide-active {
  filter: brightness(1);
}
.p-service-case .swiper:not(.is-active) .swiper-wrapper {
  justify-content: center;
  gap: 2.5rem;
}
.p-service-case .swiper:not(.is-active) .swiper-slide {
  width: 20rem;
}
@media (max-width: 767px) {
  .p-service-case {
    margin: calc(2.6203889642% + 5rem) -1rem 0;
    padding: calc(2.6203889642% + 3.75rem) 1rem 2.5rem;
  }
  .p-service-case::before {
    left: -1.25rem;
    right: -1.25rem;
  }
  .p-service-case__heading {
    font-size: 1.5rem;
  }
  .p-service-case__list {
    margin: 2.5rem -1rem 0;
    padding: 0 2rem;
  }
}

.p-service-contact {
  position: relative;
  padding: 6.25rem 2.5rem 6.25rem;
  overflow: hidden;
}
.p-service-contact__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-service-contact__inner > *:first-child {
  margin-top: 0 !important;
}
.p-service-contact__lead {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
.p-service-contact__contents {
  display: block;
  margin: 5rem auto 0;
}
.p-service-contact__contents > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-service-contact {
    padding: 5rem 1rem 3.75rem;
  }
  .p-service-contact__lead {
    font-size: 1.3125rem;
  }
}

.p-servMigiude-block__item:has(.p-servMigiude-flow) {
  padding-bottom: 2.5rem;
}
.p-servMigiude-block__item + .p-servMigiude-block__item {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 0.125rem solid #fff;
}

.p-servMigiude-point {
  display: flex;
  gap: 2.5rem 1.75rem;
}
.p-servMigiude-point__head {
  flex: 0 0 auto;
  width: 8.875rem;
}
.p-servMigiude-point__body {
  flex: 1 1 auto;
  width: calc(100% - 10.625rem);
}
.p-servMigiude-point__contents {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem 1.875rem;
}
.p-servMigiude-point__contents-area {
  flex: 1 1 auto;
  position: relative;
}
.p-servMigiude-point__contents-area > *:first-child {
  margin-top: 0 !important;
}
.p-servMigiude-point__contents-img {
  flex: 0 0 auto;
  width: 25rem;
}
.p-servMigiude-point__contents-img img {
  display: block;
  width: 100%;
}
.p-servMigiude-point__badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 5.625rem;
}
.p-servMigiude-point__ttl {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  font-size: 100%;
  font-weight: 700;
}
.p-servMigiude-point__ttl-sub {
  display: block;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.5;
}
.p-servMigiude-point__ttl-main {
  display: block;
  margin: 0;
  font-size: 1.875rem;
  line-height: 1.5;
}
.p-servMigiude-point__text {
  margin: 1.25rem 0 0;
  line-height: 2;
}
.p-servMigiude-point__img-sp {
  display: none;
  margin: 1.875rem 0 0;
}
.p-servMigiude-point__img-sp img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .p-servMigiude-point {
    flex-direction: column;
  }
  .p-servMigiude-point__body {
    width: 100%;
  }
  .p-servMigiude-point__contents {
    flex-direction: column;
  }
  .p-servMigiude-point__contents-img {
    display: none;
    flex: 0 0 auto;
    width: 100%;
  }
  .p-servMigiude-point__badge {
    top: auto;
    bottom: calc(100% + 2.5rem);
  }
  .p-servMigiude-point__img-sp {
    display: block;
  }
}

.p-servMigiude-flow {
  position: relative;
  margin: 3.75rem auto 0;
  padding: 2.5rem 0 1.25rem;
  z-index: 0;
}
.p-servMigiude-flow::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -2.5rem;
  right: -2.5rem;
  margin: auto;
  border-radius: 2.5rem;
  background: #FFF9C3;
  content: "";
  z-index: -1;
  transform: rotate(-3deg);
}
.p-servMigiude-flow__list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  list-style: none;
  padding-left: 0;
  position: relative;
  margin: auto;
  padding: 0;
  z-index: 1;
}
.p-servMigiude-flow__list::before {
  display: block;
  position: absolute;
  top: 4.6875rem;
  left: 2.625rem;
  right: 2.625rem;
  margin: auto;
  height: 0.625rem;
  background: #fff;
  content: "";
  z-index: -1;
}
@media (min-width: 768px) {
  .p-servMigiude-flow__deliver, .p-servMigiude-flow__order {
    align-self: flex-start;
    display: block;
    box-sizing: border-box;
    position: relative;
    width: 4.375rem;
    top: 2.8125rem;
    z-index: 5;
  }
  .p-servMigiude-flow__item {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 5.25rem;
    z-index: 1;
  }
  .p-servMigiude-flow__item::before, .p-servMigiude-flow__item::after {
    display: block;
    position: absolute;
    background: #fff;
    content: "";
    z-index: -1;
  }
  .p-servMigiude-flow__item::before {
    top: 4.25rem;
    left: calc(50% - 0.75rem);
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
  }
  .p-servMigiude-flow__item::after {
    top: 5.5rem;
    left: calc(50% - 0.0625rem);
    width: 0.125rem;
    height: 1.3125rem;
  }
  .p-servMigiude-flow__item:hover {
    z-index: 3;
  }
  .p-servMigiude-flow__item:hover .p-servMigiude-flow__card {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
  }
  .p-servMigiude-flow__unit {
    flex: 1 1 auto;
    display: block;
    position: relative;
    padding-bottom: 2.25rem;
    color: inherit;
    text-decoration: none;
  }
  .p-servMigiude-flow__unit .p-servMigiude-flow__period {
    display: none;
  }
  .p-servMigiude-flow__card {
    flex: 1 1 auto;
    visibility: hidden;
    display: block;
    position: absolute;
    inset: -1.25rem -2.625rem;
    margin: auto;
    padding: 1.25rem;
    color: inherit;
    text-decoration: none;
    z-index: 1;
    opacity: 0;
    transform: scale(0.95);
    transition: transform 0.3s ease;
  }
  .p-servMigiude-flow__card::before {
    display: block;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 1.25rem;
    background: #fff;
    content: "";
    opacity: 1;
    z-index: -1;
  }
  .p-servMigiude-flow__card:hover {
    opacity: 1;
  }
  .p-servMigiude-flow__card .p-servMigiude-flow__icon {
    transform: scale(1.15);
  }
  .p-servMigiude-flow__card .p-servMigiude-flow__head-sub {
    min-height: 2.8125rem;
    font-size: 0.9375rem;
  }
  .p-servMigiude-flow__card .p-servMigiude-flow__head-main {
    font-size: 1.125rem;
  }
  .p-servMigiude-flow__icon {
    display: block;
    max-width: 5.25rem;
    margin: auto;
  }
  .p-servMigiude-flow__head {
    display: block;
    margin: 3.25rem 0 0;
    line-height: 1.5;
    text-align: center;
  }
  .p-servMigiude-flow__head-sub {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    min-height: 2.4375rem;
    font-size: 0.8125rem;
  }
  .p-servMigiude-flow__head-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    margin-top: 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .p-servMigiude-flow__details {
    display: block;
    margin: 1.5rem 0 0;
    padding: 0.3125rem;
    border-radius: 6.25rem;
    background: #4F859E;
    color: #fff;
    font-size: 0.75rem;
    line-height: 1.5;
    text-align: center;
  }
  .p-servMigiude-flow__period {
    display: block;
    position: absolute;
    top: 5.9375rem;
    left: 0;
    right: 0;
    height: 0.625rem;
    background: #B3CAD6;
    z-index: -1;
  }
  .p-servMigiude-flow__period::before, .p-servMigiude-flow__period::after {
    display: block;
    position: absolute;
    background: #B3CAD6;
    content: "";
    z-index: -1;
  }
  .p-servMigiude-flow__period::before {
    top: -0.4375rem;
    left: calc(50% - 0.75rem);
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
  }
  .p-servMigiude-flow__period::after {
    top: 0.8125rem;
    left: calc(50% - 0.0625rem);
    width: 0.125rem;
    height: 1.3125rem;
  }
}
@media (max-width: 767px) {
  .p-servMigiude-flow::before {
    border-radius: 1.875rem;
  }
  .p-servMigiude-flow__list {
    flex-direction: column;
    gap: 0.5rem;
  }
  .p-servMigiude-flow__list::before {
    top: 2rem;
    bottom: 2.1875rem;
    left: 7.9375rem;
    right: auto;
    margin: auto;
    width: 0.625rem;
    height: auto;
  }
  .p-servMigiude-flow__deliver, .p-servMigiude-flow__order {
    align-self: flex-start;
    display: block;
    box-sizing: border-box;
    position: relative;
    width: 4.375rem;
    left: 6.0625rem;
    z-index: 5;
  }
  .p-servMigiude-flow__unit, .p-servMigiude-flow__card {
    display: flex;
    position: relative;
    padding-left: 1.5rem;
    color: inherit;
    text-decoration: none;
  }
  .p-servMigiude-flow__unit:not(.-nohover) {
    display: none;
  }
  .p-servMigiude-flow__icon {
    flex: 0 0 auto;
    display: block;
    width: 5.25rem;
  }
  .p-servMigiude-flow__head {
    display: block;
    margin: 0 0 0 4rem;
    padding-top: calc(2rem - 0.75em);
    font-size: 0.8125rem;
    line-height: 1.5;
  }
  .p-servMigiude-flow__head-sub {
    display: block;
    box-sizing: border-box;
  }
  .p-servMigiude-flow__head-main {
    display: block;
    box-sizing: border-box;
    margin-top: 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .p-servMigiude-flow__details {
    display: none;
  }
  .p-servMigiude-flow__period {
    display: block;
    position: absolute;
    top: 1.25rem;
    left: 7.5rem;
    width: 1.5rem;
    height: 1.5rem;
    z-index: -1;
  }
  .p-servMigiude-flow__period::before, .p-servMigiude-flow__period::after {
    display: block;
    position: absolute;
    background: #fff;
    content: "";
    z-index: -1;
  }
  .p-servMigiude-flow__period::before {
    top: 0;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
  }
  .p-servMigiude-flow__period::after {
    top: calc(50% - 0.0625rem);
    left: 1.5625rem;
    width: 0.875rem;
    height: 0.125rem;
  }
}

.p-servMigiude-flow-more {
  margin: 1.25rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: right;
}
.p-servMigiude-flow-more__link {
  display: inline-flex;
  align-items: baseline;
  color: inherit;
  text-decoration: none;
}
.p-servMigiude-flow-more__link-label {
  display: inline-block;
  margin-right: 0.5em;
}
.p-servMigiude-flow-more__link-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.p-servMigiude-flow-more__link-arrow img, .p-servMigiude-flow-more__link-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}
.p-servMigiude-flow-more:hover .p-servMigiude-flow-more__link-arrow {
  animation: svgArrow2_right_animation 0.3s ease 1 forwards;
}

.p-servMigiude-point3 {
  display: block;
  margin: 3.125rem auto 0;
}
.p-servMigiude-point3 > *:first-child {
  margin-top: 0 !important;
}
.p-servMigiude-point3__wrap {
  display: flex;
  gap: 1.25rem 2.25rem;
}
.p-servMigiude-point3__unit {
  display: block;
}
.p-servMigiude-point3__unit > *:first-child {
  margin-top: 0 !important;
}
.p-servMigiude-point3__ttl {
  margin: 1.25rem 0 0;
  padding: 0.375rem 1rem;
  border-radius: 0.375rem;
  background: #81A7B9;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-servMigiude-point3__details {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 1em;
  margin: 0.75rem 0 0;
  line-height: 1.75;
}
.p-servMigiude-point3__details > dt, .p-servMigiude-point3__details > dd {
  display: block;
  margin: 0;
}
.p-servMigiude-point3__details-small {
  font-size: 0.875rem;
}
@media (max-width: 767px) {
  .p-servMigiude-point3__wrap {
    flex-direction: column;
  }
}

.p-servMigiude-point5 {
  display: block;
  margin: 3.125rem auto 0;
}
.p-servMigiude-point5__img img {
  display: block;
  width: 100%;
}
.p-servFood-block__item + .p-servFood-block__item {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 0.125rem solid #fff;
}

.p-servFood-point {
  display: flex;
  gap: 2.5rem 1.75rem;
}
.p-servFood-point__head {
  flex: 0 0 auto;
  width: 8.875rem;
}
.p-servFood-point__body {
  flex: 1 1 auto;
  width: calc(100% - 10.625rem);
}
.p-servFood-point__contents {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem 1.875rem;
}
.p-servFood-point__contents-area {
  flex: 1 1 auto;
  position: relative;
}
.p-servFood-point__contents-area > *:first-child {
  margin-top: 0 !important;
}
.p-servFood-point__contents-img {
  flex: 0 0 auto;
  width: 25rem;
}
.p-servFood-point__contents-img img {
  display: block;
  width: 100%;
}
.p-servFood-point__badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 5.625rem;
}
.p-servFood-point__ttl {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  font-size: 100%;
  font-weight: 700;
}
.p-servFood-point__ttl-sub {
  display: block;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.5;
}
.p-servFood-point__ttl-main {
  display: block;
  margin: 0;
  font-size: 1.875rem;
  line-height: 1.5;
}
.p-servFood-point__text {
  margin: 1.25rem 0 0;
  line-height: 2;
}
.p-servFood-point__img-sp {
  display: none;
  margin: 1.875rem 0 0;
}
.p-servFood-point__img-sp img {
  display: block;
  width: 100%;
}
.p-servFood-point__mark {
  display: block;
  width: 7.25rem;
  margin: 1.5rem 0 0;
}
.p-servFood-point__mark img {
  display: block;
  width: 100%;
}
.p-servFood-point__more {
  display: block;
  width: 15.625rem;
  margin: 1.875rem 0 0;
}
.p-servFood-point__btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  background: #4F859E;
  color: #fff;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
  text-align: left;
}
.p-servFood-point__btn > * {
  pointer-events: none;
}
.p-servFood-point__btn:hover {
  opacity: 1;
}
.p-servFood-point__btn:hover .p-servFood-point__btn-arrow {
  animation: svgArrow2_right_animation 0.3s ease 1 forwards;
}
.p-servFood-point__btn-label {
  display: inline-block;
  margin-right: 0.5em;
}
.p-servFood-point__btn-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.p-servFood-point__btn-arrow img, .p-servFood-point__btn-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .p-servFood-point {
    flex-direction: column;
  }
  .p-servFood-point__body {
    width: 100%;
  }
  .p-servFood-point__contents {
    flex-direction: column;
  }
  .p-servFood-point__contents-img {
    display: none;
    flex: 0 0 auto;
    width: 100%;
  }
  .p-servFood-point__badge {
    top: auto;
    bottom: calc(100% + 2.5rem);
  }
  .p-servFood-point__img-sp {
    display: block;
  }
  .p-servFood-point__more {
    margin-top: 3.125rem;
  }
}

.p-servSizzle-block__item + .p-servSizzle-block__item {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 0.125rem solid #939393;
}

.p-servSizzle-point {
  display: flex;
  gap: 2.5rem 1.75rem;
}
.p-servSizzle-point__head {
  flex: 0 0 auto;
  width: 8.875rem;
}
.p-servSizzle-point__body {
  flex: 1 1 auto;
  width: calc(100% - 10.625rem);
}
.p-servSizzle-point__contents {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem 1.875rem;
}
.p-servSizzle-point__contents-area {
  flex: 1 1 auto;
  position: relative;
}
.p-servSizzle-point__contents-area > *:first-child {
  margin-top: 0 !important;
}
.p-servSizzle-point__contents-img {
  flex: 0 0 auto;
  width: 25rem;
}
.p-servSizzle-point__contents-img img {
  display: block;
  width: 100%;
}
.p-servSizzle-point__badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 5.625rem;
}
.p-servSizzle-point__ttl {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  font-size: 100%;
  font-weight: 700;
}
.p-servSizzle-point__ttl-sub {
  display: block;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.5;
}
.p-servSizzle-point__ttl-main {
  display: block;
  margin: 0;
  font-size: 1.875rem;
  line-height: 1.5;
}
.p-servSizzle-point__text {
  margin: 1.25rem 0 0;
  line-height: 2;
}
.p-servSizzle-point__img-sp {
  display: none;
  margin: 1.875rem 0 0;
}
.p-servSizzle-point__img-sp img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .p-servSizzle-point {
    flex-direction: column;
  }
  .p-servSizzle-point__body {
    width: 100%;
  }
  .p-servSizzle-point__contents {
    flex-direction: column;
  }
  .p-servSizzle-point__contents-img {
    display: none;
    flex: 0 0 auto;
    width: 100%;
  }
  .p-servSizzle-point__badge {
    top: auto;
    bottom: calc(100% + 2.5rem);
  }
  .p-servSizzle-point__img-sp {
    display: block;
  }
}

.p-servSizzle-point1 {
  display: block;
  margin: 3.125rem auto 0;
}
.p-servSizzle-point1 > *:first-child {
  margin-top: 0 !important;
}
.p-servSizzle-point1__ttl {
  margin: 1.875rem 0 0;
  padding: 0.375rem 1.25rem;
  border-radius: 0.625rem;
  background: #939393;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-servSizzle-point1__ttl-num {
  display: inline-block;
  margin-right: 0.25em;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
}
.p-servSizzle-point1__details {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem 1.875rem;
  margin: 1.25rem 0 0;
}
.p-servSizzle-point1__details-area {
  flex: 1 1 auto;
  position: relative;
}
.p-servSizzle-point1__details-area > *:first-child {
  margin-top: 0 !important;
}
.p-servSizzle-point1__details-text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
}
.p-servSizzle-point1__details-img {
  flex: 0 0 auto;
  width: 16.25rem;
}
.p-servSizzle-point1__details-img img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .p-servSizzle-point1__ttl {
    margin-top: 2.5rem;
    padding-right: 0.625rem;
  }
  .p-servSizzle-point1__ttl-num {
    font-size: 1rem;
  }
  .p-servSizzle-point1__details {
    flex-direction: column;
  }
  .p-servSizzle-point1__details-img {
    width: 100%;
  }
}

.p-servSizzle-point2 {
  display: block;
  margin: 3.125rem auto 0;
}
.p-servSizzle-point2__img img {
  display: block;
  width: 100%;
}
.p-servSizzle-point3 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servSizzle-point3 > *:first-child {
  margin-top: 0 !important;
}
.p-servSizzle-point3__merit {
  display: flex;
  gap: 1rem;
  margin: 1.875rem 0 0;
}
.p-servSizzle-point3__merit > dt, .p-servSizzle-point3__merit dd {
  display: block;
  box-sizing: border-box;
  margin: 0;
}
.p-servSizzle-point3__merit > dt {
  flex: 0 0 auto;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 6.875rem;
  min-height: 5rem;
  padding: 1.75rem 0.625rem;
  border-radius: 1.25rem;
  background: #fff;
  color: #4D4D4D;
  font-weight: 700;
}
.p-servSizzle-point3__merit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  counter-reset: order;
}
.p-servSizzle-point3__merit-list > li {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
}
.p-servSizzle-point3__merit-list > li::before {
  align-self: flex-start;
  display: inline-block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.5rem;
  counter-increment: order;
  content: counter(order) ".";
}
.p-servSizzle-point3__merit-list > li + li {
  margin-top: 0.25rem;
}
.p-servSizzle-point3__img {
  display: block;
  max-width: 59.625rem;
  margin: 2.5rem 0 0;
}
.p-servSizzle-point3__img img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .p-servSizzle-point3__merit {
    display: flex;
    flex-direction: column;
  }
}

.p-servSizzle-point5 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servSizzle-point5__imgs {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.25rem 0.625rem;
  margin: 0;
}
.p-servSizzle-point5__imgs > li {
  display: block;
  width: 14.4375rem;
}
.p-servSizzle-point5__imgs > li > img {
  display: block;
  width: 100%;
}
.p-servSizzle-point5__imgs-caption {
  display: block;
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
}
@media (max-width: 767px) {
  .p-servSizzle-point5__imgs > li {
    width: calc((100% - 0.625rem) / 2);
  }
}

.p-servSizzle-point6 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servSizzle-point6__imgs {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.25rem 0.625rem;
  margin: 0;
}
.p-servSizzle-point6__imgs > li {
  display: block;
  width: 14.4375rem;
}
.p-servSizzle-point6__imgs > li > img {
  display: block;
  width: 100%;
}
.p-servSizzle-point6__imgs-caption {
  display: block;
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
}
@media (max-width: 767px) {
  .p-servSizzle-point6__imgs > li {
    width: calc((100% - 0.625rem) / 2);
  }
}

.p-servEnvironment-block__item + .p-servEnvironment-block__item {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 0.125rem solid #D3E8AE;
}

.p-servEnvironment-point {
  display: flex;
  gap: 2.5rem 1.75rem;
}
.p-servEnvironment-point__head {
  flex: 0 0 auto;
  width: 8.875rem;
}
.p-servEnvironment-point__body {
  flex: 1 1 auto;
  width: calc(100% - 10.625rem);
}
.p-servEnvironment-point__contents {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem 1.875rem;
}
.p-servEnvironment-point__contents-area {
  flex: 1 1 auto;
  position: relative;
}
.p-servEnvironment-point__contents-area > *:first-child {
  margin-top: 0 !important;
}
.p-servEnvironment-point__contents-img {
  flex: 0 0 auto;
  width: 25rem;
}
.p-servEnvironment-point__contents-img img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point__contents-img img + img {
  margin-top: 1.875rem;
}
.p-servEnvironment-point__badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 5.625rem;
}
.p-servEnvironment-point__ttl {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  font-size: 100%;
  font-weight: 700;
}
.p-servEnvironment-point__ttl-sub {
  display: block;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.5;
}
.p-servEnvironment-point__ttl-main {
  display: block;
  margin: 0;
  font-size: 1.875rem;
  line-height: 1.5;
}
.p-servEnvironment-point__ttl:has(.p-servEnvironment-point__ttl-icon) {
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
}
.p-servEnvironment-point__ttl-icon {
  flex: 0 0 auto;
  display: block;
  width: 3.125rem;
  margin-bottom: -0.25rem;
}
.p-servEnvironment-point__ttl-icon img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point__text {
  margin: 1.25rem 0 0;
  line-height: 2;
}
.p-servEnvironment-point__img-sp {
  display: none;
  margin: 1.875rem 0 0;
}
.p-servEnvironment-point__img-sp img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point__feature {
  list-style: none;
  margin: 1.875rem 0 0;
  padding-left: 0;
  line-height: 1.75;
  counter-reset: order;
}
.p-servEnvironment-point__feature > li {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.625rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #D3E8AE;
  font-weight: 700;
}
.p-servEnvironment-point__feature > li::before {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 1.75rem;
  background: #fff;
  color: #59860C;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.75rem;
  text-align: center;
  counter-increment: order;
  content: counter(order);
}
.p-servEnvironment-point__feature > li + li {
  margin-top: 1rem;
}
.p-servEnvironment-point__feature-txt {
  display: block;
}
@media (max-width: 767px) {
  .p-servEnvironment-point {
    flex-direction: column;
  }
  .p-servEnvironment-point__body {
    width: 100%;
  }
  .p-servEnvironment-point__contents {
    flex-direction: column;
  }
  .p-servEnvironment-point__contents-img {
    display: none;
    flex: 0 0 auto;
    width: 100%;
  }
  .p-servEnvironment-point__badge {
    top: auto;
    bottom: calc(100% + 2.5rem);
  }
  .p-servEnvironment-point__img-sp {
    display: block;
  }
}

.p-servEnvironment-point2 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servEnvironment-point2__ttl {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-servEnvironment-point2__ttl2 {
  position: relative;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-servEnvironment-point2__ttl2-icon {
  display: block;
  position: absolute;
  top: calc(50% - 1.5625rem);
  left: 0;
  width: 2.375rem;
}
.p-servEnvironment-point2__ttl2-icon img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point2__ttl2-label {
  position: relative;
  display: block;
  padding: 0.375rem 1.25rem;
  border-radius: 0.625rem;
  background: #D3E8AE;
  color: #59860C;
}
.p-servEnvironment-point2__ttl2:has(.p-servEnvironment-point2__ttl2-icon) {
  padding-left: 3.5rem;
}
.p-servEnvironment-point2__ttl2:has(.p-servEnvironment-point2__ttl2-icon) .p-servEnvironment-point2__ttl2-label {
  padding-left: 0.75rem;
  border-radius: 0 0.625rem 0.625rem 0;
}
.p-servEnvironment-point2__ttl2:has(.p-servEnvironment-point2__ttl2-icon) .p-servEnvironment-point2__ttl2-label::before {
  display: block;
  position: absolute;
  top: 0;
  left: -1rem;
  width: 1.25rem;
  height: 100%;
  background: #D3E8AE;
  content: "";
  -webkit-mask-image: url(../img/mask_square.svg), url(../img/mask_circle.svg);
          mask-image: url(../img/mask_square.svg), url(../img/mask_circle.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 0, -3rem 50%;
          mask-position: 0 0, -3rem 50%;
  -webkit-mask-size: cover, 4rem auto;
          mask-size: cover, 4rem auto;
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
}
.p-servEnvironment-point2__ttl3 {
  margin: 2.5rem 0 0;
  padding: 0.375rem 0 0.375rem 0.75rem;
  border-left: 0.375rem solid;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-servEnvironment-point2__wrap {
  display: flex;
  gap: 3.125rem 5rem;
  margin: 1.875rem 0 0;
}
.p-servEnvironment-point2__unit {
  display: block;
  position: relative;
  width: calc((100% - 5rem) / 2);
}
.p-servEnvironment-point2__text {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 2;
}
.p-servEnvironment-point2__img1, .p-servEnvironment-point2__img3 {
  margin: 2.5rem 0 0;
}
.p-servEnvironment-point2__img1 img, .p-servEnvironment-point2__img3 img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point2__img2, .p-servEnvironment-point2__img4 {
  margin: 1.25rem 0 0;
}
.p-servEnvironment-point2__img2 img, .p-servEnvironment-point2__img4 img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point2__merit {
  display: flex;
  gap: 1rem 0.75rem;
  margin: 1.875rem 0 0;
}
.p-servEnvironment-point2__merit > dt, .p-servEnvironment-point2__merit dd {
  display: block;
  box-sizing: border-box;
  margin: 0;
}
.p-servEnvironment-point2__merit > dt {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 6.5rem;
  padding: 1.75rem 0.625rem;
  border-radius: 1.25rem;
  background: #fff;
  color: #59860C;
  font-weight: 700;
}
.p-servEnvironment-point2__merit-list {
  margin: 0;
  padding-left: 1.4em;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 2;
}
@media (min-width: 768px) {
  .p-servEnvironment-point2__unit + .p-servEnvironment-point2__unit::after {
    display: block;
    position: absolute;
    top: 0;
    left: -2.5625rem;
    border-left: 0.1875rem dotted #D3E8AE;
    height: 100%;
    content: "";
  }
}
@media (max-width: 767px) {
  .p-servEnvironment-point2__ttl2-small {
    display: block;
  }
  .p-servEnvironment-point2__ttl3 {
    margin-top: 1.875rem;
  }
  .p-servEnvironment-point2__wrap {
    flex-direction: column;
  }
  .p-servEnvironment-point2__unit {
    width: 100%;
  }
  .p-servEnvironment-point2__img1, .p-servEnvironment-point2__img3 {
    margin-top: 1.25rem;
  }
  .p-servEnvironment-point2__merit {
    display: flex;
    flex-direction: column;
    margin-top: 1.25rem;
  }
  .p-servEnvironment-point2__merit dt {
    width: 6.875rem;
  }
}

.p-servEnvironment-point3 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servEnvironment-point3__ttl2 {
  margin: 0;
  padding: 0.375rem 1.25rem;
  border-radius: 0.625rem;
  background: #D3E8AE;
  color: #59860C;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-servEnvironment-point3__wrap {
  display: flex;
  gap: 3.125rem 5rem;
  margin: 1.5rem 0 0;
}
.p-servEnvironment-point3__unit {
  display: block;
  position: relative;
  width: calc((100% - 5rem) / 2);
}
.p-servEnvironment-point3__img1, .p-servEnvironment-point3__img2 {
  margin: 1.25rem 0 0;
}
.p-servEnvironment-point3__img1 img, .p-servEnvironment-point3__img2 img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point3__img2 {
  margin-right: -0.6875rem;
}
@media (min-width: 768px) {
  .p-servEnvironment-point3__unit + .p-servEnvironment-point3__unit::after {
    display: block;
    position: absolute;
    top: 0;
    left: -2.5625rem;
    border-left: 0.1875rem dotted #D3E8AE;
    height: 100%;
    content: "";
  }
}
@media (max-width: 767px) {
  .p-servEnvironment-point3__wrap {
    flex-direction: column;
  }
  .p-servEnvironment-point3__unit {
    width: 100%;
  }
  .p-servEnvironment-point3__img2 {
    margin-right: -1.25rem;
  }
}

.p-servEnvironment-point4 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servEnvironment-point4__ttl {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-servEnvironment-point4__ttl2 {
  position: relative;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-servEnvironment-point4__ttl2-icon {
  display: block;
  position: absolute;
  top: calc(50% - 1.5625rem);
  left: 0;
  width: 2.375rem;
}
.p-servEnvironment-point4__ttl2-icon img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point4__ttl2-label {
  position: relative;
  display: block;
  padding: 0.375rem 1.25rem;
  border-radius: 0.625rem;
  background: #D3E8AE;
  color: #59860C;
}
.p-servEnvironment-point4__ttl2:has(.p-servEnvironment-point4__ttl2-icon) {
  padding-left: 3.5rem;
}
.p-servEnvironment-point4__ttl2:has(.p-servEnvironment-point4__ttl2-icon) .p-servEnvironment-point4__ttl2-label {
  padding-left: 0.75rem;
  border-radius: 0 0.625rem 0.625rem 0;
}
.p-servEnvironment-point4__ttl2:has(.p-servEnvironment-point4__ttl2-icon) .p-servEnvironment-point4__ttl2-label::before {
  display: block;
  position: absolute;
  top: 0;
  left: -1rem;
  width: 1.25rem;
  height: 100%;
  background: #D3E8AE;
  content: "";
  -webkit-mask-image: url(../img/mask_square.svg), url(../img/mask_circle.svg);
          mask-image: url(../img/mask_square.svg), url(../img/mask_circle.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 0, -3rem 50%;
          mask-position: 0 0, -3rem 50%;
  -webkit-mask-size: cover, 4rem auto;
          mask-size: cover, 4rem auto;
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
}
.p-servEnvironment-point4__wrap {
  display: flex;
  gap: 3.125rem 5rem;
  margin: 1.5rem 0 0;
}
.p-servEnvironment-point4__unit {
  display: block;
  position: relative;
  width: calc((100% - 5rem) / 2);
}
.p-servEnvironment-point4__text {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 2;
}
.p-servEnvironment-point4__img1, .p-servEnvironment-point4__img2 {
  margin: 2.5rem 0 0;
}
.p-servEnvironment-point4__img1 img, .p-servEnvironment-point4__img2 img {
  display: block;
  width: 100%;
}
@media (min-width: 768px) {
  .p-servEnvironment-point4__unit + .p-servEnvironment-point4__unit::after {
    display: block;
    position: absolute;
    top: 0;
    left: -2.5625rem;
    border-left: 0.1875rem dotted #D3E8AE;
    height: 100%;
    content: "";
  }
}
@media (max-width: 767px) {
  .p-servEnvironment-point4__wrap {
    flex-direction: column;
  }
  .p-servEnvironment-point4__unit {
    width: 100%;
  }
  .p-servEnvironment-point4__img1, .p-servEnvironment-point4__img2 {
    margin-top: 1.25rem;
  }
}

.p-servEnvironment-point5 {
  display: block;
  margin: 2.5rem 0 0;
}
.p-servEnvironment-point5__img {
  margin: 0;
}
.p-servEnvironment-point5__img img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point6 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servEnvironment-point6__merit {
  display: flex;
  gap: 1rem;
  margin: 1.875rem 0 0;
}
.p-servEnvironment-point6__merit > dt, .p-servEnvironment-point6__merit dd {
  display: block;
  box-sizing: border-box;
  margin: 0;
}
.p-servEnvironment-point6__merit > dt {
  flex: 0 0 auto;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 6.875rem;
  min-height: 5rem;
  padding: 1.75rem 0.625rem;
  border-radius: 1.25rem;
  background: #fff;
  color: #59860C;
  font-weight: 700;
}
.p-servEnvironment-point6__merit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  counter-reset: order;
}
.p-servEnvironment-point6__merit-list > li {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 0.125rem dotted #D3E8AE;
  font-weight: 700;
}
.p-servEnvironment-point6__merit-list > li::before {
  align-self: flex-start;
  display: inline-block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.5rem;
  counter-increment: order;
  content: counter(order) ".";
}
.p-servEnvironment-point6__merit-list > li + li {
  margin-top: 0.5rem;
}
.p-servEnvironment-point6__details {
  display: flex;
  gap: 1.875rem 2.5rem;
  margin: 2.5rem 0 0;
}
.p-servEnvironment-point6__details-img {
  flex: 0 0 auto;
  width: 31rem;
}
.p-servEnvironment-point6__details-img img {
  display: block;
  width: 100%;
}
.p-servEnvironment-point6__details-text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-servEnvironment-point6 {
    margin-top: 1.25rem;
  }
  .p-servEnvironment-point6__merit {
    display: flex;
    flex-direction: column;
  }
  .p-servEnvironment-point6__details {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.875rem;
  }
  .p-servEnvironment-point6__details-img {
    width: 100%;
  }
}

.p-servEnvironment-point7 {
  display: block;
  margin: 3.125rem 0 0;
}
.p-servEnvironment-point7__ttl2 {
  margin: 0;
  padding: 0.375rem 1.25rem;
  border-radius: 0.625rem;
  background: #D3E8AE;
  color: #59860C;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-servEnvironment-point7__ttl2-small {
  font-size: 0.875rem;
}
.p-servEnvironment-point7__text {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 2;
}
.p-servEnvironment-point7__notes {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.75;
}
.p-servEnvironment-point7__notes > li {
  display: flex;
}
.p-servEnvironment-point7__merit {
  display: flex;
  gap: 1rem;
  margin: 1.875rem 0 0;
}
.p-servEnvironment-point7__merit > dt, .p-servEnvironment-point7__merit dd {
  display: block;
  box-sizing: border-box;
  margin: 0;
}
.p-servEnvironment-point7__merit > dt {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 6.875rem;
  padding: 1.75rem 0.625rem;
  border-radius: 1.25rem;
  background: #fff;
  color: #59860C;
  font-weight: 700;
}
.p-servEnvironment-point7__merit > dd {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-servEnvironment-point7__merit {
    display: flex;
    flex-direction: column;
  }
}

/**************************************************/
/* case */
/**************************************************/
.p-case-contact {
  position: relative;
  padding: 10rem 2.5rem 6.25rem;
  overflow: hidden;
}
.p-case-contact__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-case-contact__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-case-contact {
    padding: 7.5rem 1rem 3.75rem;
  }
}

.p-caseIndex {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.p-caseIndex__inner {
  max-width: 70.25rem;
  margin-left: auto;
  margin-right: auto;
}
.p-caseIndex__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-caseIndex {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-caseEntry {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.p-caseEntry__inner {
  max-width: 57.5rem;
  margin-left: auto;
  margin-right: auto;
}
.p-caseEntry__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-caseEntry {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-caseEntry-head > *:first-child {
  margin-top: 0 !important;
}

.p-caseEntry-company__logo {
  display: block;
}
.p-caseEntry-company__logo img {
  display: block;
  max-width: 12.5rem;
  max-height: 2.25rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
.p-caseEntry-company__name {
  display: block;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-caseEntry-company__name {
    font-size: 0.875rem;
  }
}

.p-caseEntry-ttl {
  margin: 1.25rem 0 0;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-caseEntry-ttl {
    font-size: 1.375rem;
  }
}

.p-caseEntry-service {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 2.5rem 0 0;
}
.p-caseEntry-service > span {
  display: inline-block;
  padding: 0.25rem 1.25rem;
  border-radius: 1.875rem;
  background: var(--card-tag-color, #DFF0FA);
  color: inherit;
  font-size: 0.875rem;
  text-decoration: none;
  line-height: 1.5;
}

.p-caseEntry-keyword {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.25rem;
  margin: 1rem 0 0;
}
.p-caseEntry-keyword > span {
  display: inline-block;
  font-size: 0.8125rem;
  text-decoration: none;
  line-height: 1.5;
}

.p-caseEntry-body {
  margin: 3.125rem 0 0;
  line-height: 2;
  word-break: break-all;
}
.p-caseEntry-body > *:first-child {
  margin-top: 0 !important;
}
.p-caseEntry-body a {
  color: inherit;
}

.p-caseEntry-mainImg {
  margin: 2.5rem 0 0;
}
.p-caseEntry-mainImg img {
  display: block;
  width: 100%;
}

.p-caseEntry-foot {
  margin: 7.5rem 0 0;
}
.p-caseEntry-foot > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-caseEntry-foot {
    margin-top: 5rem;
  }
}

/**************************************************/
/* calculator */
/**************************************************/
.c-calc-field {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 0.625rem 0.625rem;
  border: 1px solid #B3CAD6;
  border-radius: 0.5rem;
  background: #fff;
  text-align: inherit;
  line-height: 1.5rem;
}
.c-calc-field.-static {
  border-color: transparent;
  outline: none;
  font-size: 1rem;
  cursor: default;
}
.c-calc-field[readonly] {
  border-color: transparent;
  outline: none;
  cursor: default;
}
.c-calc-field.is-error {
  background: #fdd;
  color: #ff0909;
  outline: 0.25rem solid #ff0909;
  outline-offset: -0.25rem;
}

.c-calc-field[type=number]::-webkit-outer-spin-button,
.c-calc-field[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -moz-appearance: textfield;
}

.c-calc-radio {
  display: inline-block;
  cursor: pointer;
}
.c-calc-radio > input[type=radio] {
  position: absolute;
  opacity: 0;
}
.c-calc-radio__in {
  display: block;
  position: relative;
  padding: 0.125rem 0.125rem 0.125rem 1.75rem;
  font-size: 1rem;
  line-height: 1.5;
}
.c-calc-radio__in::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--form-border-color);
  border-radius: 50%;
  background: #fff no-repeat center/0.75rem 0.75rem;
  content: "";
}
.c-calc-radio input[type=radio]:checked ~ .c-calc-radio__in::after {
  background-image: url(../img/icon_radio_checked.svg);
}

.c-calc-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  padding: 0.625rem 3.4375rem 0.625rem 0.9375rem;
  border: none;
  border-radius: 0.3125rem;
  background: url(../img/icon_select_white.svg) no-repeat right 0.6875rem top 50%, linear-gradient(to bottom, #055276 0%, #055276 100%) no-repeat right 0 top 50%, #F2F7FC;
  background-size: 1.125rem 1.125rem, 2.5rem 100%;
  line-height: 1.5rem;
}
.c-calc-select::-ms-expand {
  display: none;
}
.c-calc-select.-full {
  width: 100%;
}
@media (max-width: 767px) {
  .c-calc-select.-type {
    background-color: #fff;
  }
}

.c-calc-input-rows {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 0.5rem 1.5rem;
  margin: 0;
}
.c-calc-input-rows > li {
  display: block;
  box-sizing: border-box;
}
.c-calc-input-layer {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  align-items: baseline;
  gap: 0.75rem;
}
.c-calc-input-layer__label {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 4rem;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}
.c-calc-input-layer__select {
  flex: 1 1 auto;
  display: block;
}
.c-calc-input-units {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  align-items: baseline;
  gap: 0.75rem;
}
.c-calc-input-units__field {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 7.5rem;
  text-align: right;
}
.c-calc-input-units__txt {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
}
.c-calc-input-units__txt-unit {
  display: inline-block;
  min-width: 1.5em;
}
.c-calc-input-units__txt-ex {
  display: inline-block;
  font-size: 0.875rem;
}
@media (max-width: 767px) {
  .c-calc-input-units__field {
    width: 6.875rem;
  }
}

.c-calc-error {
  margin: 0.75rem 0 0;
  color: #ff0909;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767px) {
  .c-calc-error {
    font-size: 0.9375rem;
  }
}

.c-calc-alert {
  display: block;
  margin: 1.125rem 0 0;
  padding: 0.375rem 0.5rem;
  background: #fdd;
  color: #ff0909;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 767px) {
  .c-calc-alert {
    font-size: 0.8125rem;
  }
}

.c-calc-addlayer {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: block;
  width: 100%;
  margin: 1.125rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  background: #F2F7FC;
  color: #055276;
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
}
@media (max-width: 767px) {
  .c-calc-addlayer {
    margin-top: 2rem;
    padding: 1.25rem 1.25rem;
    background: #4F859E;
    color: #fff;
  }
}

.c-calc-button {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: block;
  width: 100%;
  max-width: 22.5rem;
  margin: 5rem auto 5rem;
  padding: 1.5rem 0.5em;
  border-radius: 0.625rem;
  background: #4BBAEB;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
}
.c-calc-button__label {
  display: inline-block;
  position: relative;
}
.c-calc-button.-print {
  background: #4F859E;
}
.c-calc-button.-print .c-calc-button__label {
  padding-left: 2.25rem;
}
.c-calc-button.-print .c-calc-button__label::before {
  display: block;
  position: absolute;
  top: calc(50% - 0.75rem);
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: currentColor;
  content: "";
  -webkit-mask: url(../img/icon_print.svg) no-repeat center;
          mask: url(../img/icon_print.svg) no-repeat center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (max-width: 767px) {
  .c-calc-button {
    max-width: 17.5rem;
    margin-top: 3.75rem;
    font-size: 1.0625rem;
  }
}

.p-calc {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.p-calc__inner {
  max-width: 57.5rem;
  margin-left: auto;
  margin-right: auto;
}
.p-calc__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-calc {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-calc-nav {
  display: flex;
  flex-wrap: nowrap;
}
.p-calc-nav__item {
  display: block;
  width: 25%;
}
.p-calc-nav__btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 0.25rem 1.25rem;
  border-radius: 0;
  border-bottom: 0.25rem solid #B3CAD6;
  color: #B3CAD6;
  font-size: 1.25rem;
  font-weight: 700;
}
.p-calc-nav__btn::before {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% + 1.25rem);
  content: "";
}
.p-calc-nav__btn-label {
  display: inline-block;
}
.p-calc-nav__btn.-current {
  border-color: #055276;
  color: #055276;
}
@media (max-width: 767px) {
  .p-calc-nav {
    flex-wrap: wrap;
    gap: 1.25rem 0;
  }
  .p-calc-nav__item {
    display: block;
    width: 50%;
  }
  .p-calc-nav__btn {
    padding: 0 0.25rem 1rem;
    font-size: 1rem;
  }
  .p-calc-nav__btn::before {
    height: calc(100% + 1rem);
  }
}

.p-calc-contents {
  margin: 5rem 0 0;
}
.p-calc-contents > *:first-child {
  margin-top: 0 !important;
}

.p-calc-step {
  box-sizing: border-box;
  position: relative;
  margin: 5rem 0 0;
  padding: 0.75rem 1.25rem;
  border-radius: 0.625rem;
  background: #4BBAEB;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-calc-step.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}
@media (max-width: 767px) {
  .p-calc-step {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 5rem;
    padding-right: 2.5rem;
    font-size: 1.0625rem;
    cursor: pointer;
  }
  .p-calc-step::after {
    display: block;
    position: absolute;
    top: calc(50% - 0.375rem);
    right: 1.25rem;
    width: 0.625rem;
    height: 0.625rem;
    border: solid #fff;
    border-width: 0 0.125rem 0.125rem 0;
    content: "";
    pointer-events: none;
    transform: rotate(45deg);
  }
  .p-calc-step.is-open {
    cursor: auto;
  }
  .p-calc-step.is-open::after {
    opacity: 0;
  }
}

.p-calc-block {
  display: block;
  margin: 1.25rem 0 0;
}
.p-calc-block > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-calc-block {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 767px) {
  .p-calc-block.is-close + .p-calc-step {
    margin-top: 0.75rem;
  }
}
.p-calc-lead {
  margin: 0;
  line-height: 2;
}

.p-calc-notes {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 1.25rem;
  border-radius: 0.625rem;
  background: #F2F7FC;
}
.p-calc-notes > li {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.8;
}
.p-calc-notes__marker {
  flex: 0 0 auto;
  display: inline-block;
  font-style: normal;
}

.p-calc-results {
  display: block;
  box-sizing: border-box;
  position: relative;
  margin: 6.25rem 0 0;
  padding: 2.5rem;
  border-radius: 1.25rem;
  background: #F2F7FC;
  opacity: 0;
  transition: opacity 0.6s ease-out;
}
.p-calc-results--show {
  opacity: 1;
}
.p-calc-results__title {
  margin: 0;
  padding: 0.75rem 1.25rem;
  border-radius: 0.625rem;
  background: #055276;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.p-calc-results__totals {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.875rem 0 0 -2.75rem;
}
.p-calc-results__totals-item {
  position: relative;
  width: calc(50% - 2.75rem);
  margin: 0 0 0 2.75rem;
  padding: 0.5rem 1rem;
  border-radius: 0.625rem;
  background: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.p-calc-results__totals-item + .p-calc-results__totals-item::before {
  display: block;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(-1.375rem - 0.5em);
  width: 1em;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  content: "+";
}
.p-calc-results__totals-label {
  display: inline-block;
  margin-right: 1em;
}
.p-calc-results__totals-data {
  display: inline-block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
}
.p-calc-results__totals-value {
  display: inline-block;
  font-size: 1.375rem;
}
.p-calc-results__totals-unit {
  display: inline-block;
}
.p-calc-results__totals + .p-calc-results__condition {
  margin-top: 1.25rem;
}
.p-calc-results__condition {
  margin: 1.875rem 0 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.p-calc-results__result {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.375rem 1.5rem;
  margin: 0.75rem 0 0;
  font-size: 1.5rem;
  font-weight: 700;
}
.p-calc-results__result-label {
  display: block;
  line-height: 1.5;
}
.p-calc-results__result-data {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.875rem;
  line-height: 1.25;
}
.p-calc-results__result-value {
  display: inline-block;
  font-size: 2.5rem;
}
.p-calc-results__barrier {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.75rem 0 0;
  line-height: 1.5;
  text-align: center;
}
.p-calc-results__barrier-slash {
  flex: 0 0 auto;
  align-self: flex-end;
  width: 5rem;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 2.25rem;
}
.p-calc-results__barrier-group {
  display: block;
  box-sizing: border-box;
  width: calc((100% - 5rem) / 2);
  font-weight: 700;
}
.p-calc-results__barrier-label {
  display: block;
  font-size: 1.375rem;
}
.p-calc-results__barrier-data {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.625rem;
}
.p-calc-results__barrier-value {
  display: inline-block;
  margin-right: 0.15em;
  font-size: 2.5rem;
}
@media (max-width: 767px) {
  .p-calc-results {
    margin-left: -1rem;
    margin-right: -1rem;
    padding: 3.75rem 1rem;
    border-radius: 0;
  }
  .p-calc-results__title {
    margin: 0;
    padding: 1.125rem 1rem;
  }
  .p-calc-results__result {
    gap: 0.375rem 0.5rem;
    font-size: 1rem;
  }
  .p-calc-results__totals {
    margin-left: -1.5rem;
  }
  .p-calc-results__totals-item {
    width: calc(50% - 1.5rem);
    margin-left: 1.5rem;
    padding: 0.5rem 0.5rem 0.25rem;
    font-size: 0.8125rem;
  }
  .p-calc-results__totals-item + .p-calc-results__totals-item::before {
    left: calc(-0.75rem - 0.5em);
    width: 1em;
    font-size: 1.875rem;
  }
  .p-calc-results__totals-label {
    display: block;
    margin: 0;
  }
  .p-calc-results__totals-data {
    display: block;
    font-size: 1.0625rem;
  }
  .p-calc-results__totals-value {
    font-size: 1.3125rem;
  }
  .p-calc-results__result-data {
    font-size: 1.625rem;
  }
  .p-calc-results__barrier {
    line-height: 1.25;
  }
  .p-calc-results__barrier-slash {
    align-self: center;
    width: 2rem;
    font-size: 1.75rem;
  }
  .p-calc-results__barrier-group {
    width: calc((100% - 2rem) / 2);
  }
  .p-calc-results__barrier-label {
    font-size: 1rem;
  }
  .p-calc-results__barrier-data {
    margin-top: 0.25rem;
    font-size: 1.125rem;
  }
  .p-calc-results__barrier-value {
    display: block;
    margin-right: 0;
    font-size: 2.5rem;
  }
}

.p-calc-results + .p-calc-history {
  margin-top: 1.25rem;
}

.p-calc-history {
  margin: 6.25rem 0 0;
}
.p-calc-history__lead {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.p-calc-history__log {
  margin: 2.5rem 0 0;
}
.p-calc-history__tabs {
  display: none;
  gap: 0.1875rem;
}
.p-calc-history__tab {
  display: block;
  box-sizing: border-box;
  width: calc((100% - 0.375rem) / 3);
  padding: 1rem 1rem 0.625rem;
  border-bottom: 0.125rem solid #fff;
  border-radius: 0.875rem 0.875rem 0 0;
  background: #DEECF2;
  text-align: center;
}
.p-calc-history__tab.is-current {
  border-bottom-color: transparent;
  background: #F2F7FC;
}
.p-calc-history__tab-label {
  display: inline-block;
  box-sizing: border-box;
  min-width: 4.875rem;
  padding: 0.3125rem 0.25rem 0.25rem;
  border-radius: 6.25rem;
  background: #055276;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}
.p-calc-history__tab-label.is-nothing {
  background: #B3CAD6;
}
.p-calc-history__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
  gap: 1.5625rem;
  margin: 0;
}
.p-calc-history__list > li {
  display: block;
  width: calc((100% - 3.125rem) / 3);
}
.p-calc-history.is-enabledSave .p-calc-history-card__save {
  pointer-events: inherit;
  opacity: 1;
}
@media (max-width: 767px) {
  .p-calc-history__tabs {
    display: flex;
  }
  .p-calc-history__list {
    display: block;
    margin: 0;
  }
  .p-calc-history__list > li {
    width: 100%;
  }
  .p-calc-history__list > li:not(.is-current) {
    display: none;
  }
}

.p-calc-history-card {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
  height: 100%;
  padding: 1.5rem 1rem;
  border-radius: 0.625rem;
  background: #F2F7FC;
}
.p-calc-history-card__head {
  display: flex;
  align-items: baseline;
  gap: 0.375rem 0.75rem;
  margin: 0;
}
.p-calc-history-card__head-label {
  display: inline-block;
  box-sizing: border-box;
  width: 4.875rem;
  padding: 0.3125rem 0.25rem 0.25rem;
  border-radius: 6.25rem;
  background: #055276;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}
.p-calc-history-card__head-time {
  display: inline-block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 0.875rem;
  line-height: 1.25;
}
.p-calc-history-card__body {
  flex: 1 1 auto;
  margin-top: 1.25rem;
}
.p-calc-history-card__body > *:first-child {
  margin-top: 0 !important;
}
.p-calc-history-card__condition {
  margin: 0;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  background: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.p-calc-history-card__result {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.375rem 0.75rem;
  margin: 0.75rem 0 0;
}
.p-calc-history-card__result-label {
  display: block;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.p-calc-history-card__result-data {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
}
.p-calc-history-card__result-value {
  display: inline-block;
  font-size: 1.75rem;
}
.p-calc-history-card__options {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  margin: 1rem 0 0;
}
.p-calc-history-card__load, .p-calc-history-card__save {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.25rem;
  border-radius: 0.375rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}
.p-calc-history-card__load {
  background: #4BBAEB;
}
.p-calc-history-card__save {
  background: #4F859E;
  pointer-events: none;
  opacity: 0.3;
}
.p-calc-history-card__delete {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  border: 0;
  background: transparent;
  color: #055276;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
}
.p-calc-history-card__delete::before {
  content: "✕";
}
.p-calc-history-card__barrier {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  margin: 0.75rem 0 0;
  line-height: 1.25;
  text-align: center;
}
.p-calc-history-card__barrier-group {
  display: block;
  box-sizing: border-box;
  width: calc((100% - 0.375rem) / 2);
  font-weight: 700;
}
.p-calc-history-card__barrier-label {
  display: block;
  font-size: 0.9375rem;
}
.p-calc-history-card__barrier-value {
  display: block;
  margin-top: 0.125rem;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.75rem;
}
.p-calc-history-card__barrier-unit {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 0.875rem;
}
.p-calc-history-card__nodata {
  display: none;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  height: 100%;
  margin: 0;
  padding: 0.75rem 0 1.5rem;
  font-size: 0.9375rem;
  text-align: center;
}
.p-calc-history-card.is-nothing .p-calc-history-card__head-label {
  opacity: 0.3;
}
.p-calc-history-card.is-nothing .p-calc-history-card__load {
  opacity: 0.3;
  pointer-events: none;
}
.p-calc-history-card.is-nothing .p-calc-history-card__condition {
  display: none;
}
.p-calc-history-card.is-nothing .p-calc-history-card__barrier {
  display: none;
}
.p-calc-history-card.is-nothing .p-calc-history-card__result {
  display: none;
}
.p-calc-history-card.is-nothing .p-calc-history-card__nodata {
  display: flex;
}
@media (max-width: 767px) {
  .p-calc-history-card {
    height: auto;
    border-radius: 0 0 0.625rem 0.625rem;
  }
  .p-calc-history-card__head-label {
    display: none;
  }
}

.p-calc-contact {
  position: relative;
  padding: 10rem 2.5rem 6.25rem;
  overflow: hidden;
}
.p-calc-contact__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-calc-contact__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-calc-contact {
    padding: 7.5rem 1rem 3.75rem;
  }
}

.p-calcWeight-output {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-calcWeight-output__label {
  display: none;
  font-size: 0.875rem;
  font-weight: 700;
}
.p-calcWeight-output__value {
  flex: 1 1 auto;
  display: block;
  box-sizing: border-box;
  padding: 0.625rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: #F2F7FC;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-align: right;
  line-height: 1.5rem;
}
@media (max-width: 767px) {
  .p-calcWeight-output {
    align-items: baseline;
    padding: 0.625rem 0;
    border-bottom: 0.375rem solid #F2F7FC;
  }
  .p-calcWeight-output__label {
    display: block;
  }
  .p-calcWeight-output__value {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 1.125rem;
  }
}

.p-calcWeight-subtotal {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.25rem;
  margin: 1.125rem 0 0;
  padding-top: 1.125rem;
  border-top: 1px solid #055276;
  text-align: right;
}
.p-calcWeight-subtotal__label {
  font-weight: 700;
}
.p-calcWeight-subtotal__value {
  display: block;
  box-sizing: border-box;
  min-width: 8.75rem;
  padding: 0.625rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: #F2F7FC;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5rem;
}
@media (max-width: 767px) {
  .p-calcWeight-subtotal {
    margin-top: 2rem;
  }
  .p-calcWeight-subtotal__label {
    font-size: 0.875rem;
  }
  .p-calcWeight-subtotal__value {
    min-width: 10.25rem;
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

.p-calcWeight-table,
.p-calcWeight-table2 {
  margin: 1.5rem 0 0;
}
.p-calcWeight-table > *:first-child,
.p-calcWeight-table2 > *:first-child {
  margin-top: 0 !important;
}
.p-calcWeight-table .note,
.p-calcWeight-table2 .note {
  margin: 1.25rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.p-calcWeight-table table,
.p-calcWeight-table2 table {
  width: 100%;
  margin: 1.25rem 0 0;
  border-collapse: collapse;
}
.p-calcWeight-table th, .p-calcWeight-table td,
.p-calcWeight-table2 th,
.p-calcWeight-table2 td {
  box-sizing: border-box;
  padding: 0.5625rem 0;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}
.p-calcWeight-table thead th,
.p-calcWeight-table2 thead th {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
  font-size: 0.9375rem;
  line-height: 1.4;
  text-align: center;
}
.p-calcWeight-table thead th .unit,
.p-calcWeight-table2 thead th .unit {
  display: inline-block;
  position: relative;
  font-size: 0.8666666667em;
}
.p-calcWeight-table thead th .unit:has(.asterisk),
.p-calcWeight-table2 thead th .unit:has(.asterisk) {
  padding-right: 0.75em;
}
.p-calcWeight-table thead th .asterisk,
.p-calcWeight-table2 thead th .asterisk {
  position: absolute;
  top: 0;
  right: 0;
  line-height: 1;
}
.p-calcWeight-table td.type,
.p-calcWeight-table2 td.type {
  padding-left: 0;
}
.p-calcWeight-table td.weight,
.p-calcWeight-table2 td.weight {
  width: 9.375rem;
  padding-left: 1rem;
  text-align: right;
}
.p-calcWeight-table .labelsp,
.p-calcWeight-table2 .labelsp {
  display: none;
}
@media (max-width: 767px) {
  .p-calcWeight-table table, .p-calcWeight-table tbody, .p-calcWeight-table th, .p-calcWeight-table td,
  .p-calcWeight-table2 table,
  .p-calcWeight-table2 tbody,
  .p-calcWeight-table2 th,
  .p-calcWeight-table2 td {
    display: block;
  }
  .p-calcWeight-table thead,
  .p-calcWeight-table2 thead {
    display: none;
  }
  .p-calcWeight-table tr,
  .p-calcWeight-table2 tr {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem 0.625rem;
  }
  .p-calcWeight-table tr + tr,
  .p-calcWeight-table2 tr + tr {
    margin-top: 2rem;
  }
  .p-calcWeight-table th, .p-calcWeight-table td,
  .p-calcWeight-table2 th,
  .p-calcWeight-table2 td {
    padding: 0;
  }
  .p-calcWeight-table td.type,
  .p-calcWeight-table2 td.type {
    position: relative;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    z-index: 0;
  }
  .p-calcWeight-table td.type::before,
  .p-calcWeight-table2 td.type::before {
    display: block;
    position: absolute;
    left: -1rem;
    top: 0;
    width: 100vw;
    height: 100%;
    background: #F2F7FC;
    content: "";
    z-index: -1;
  }
  .p-calcWeight-table td.weight,
  .p-calcWeight-table2 td.weight {
    grid-column: 3/5;
    align-self: end;
    width: auto;
    padding-left: 0;
    text-align: right;
  }
  .p-calcWeight-table .labelsp,
  .p-calcWeight-table2 .labelsp {
    display: block;
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    text-align: center;
  }
  .p-calcWeight-table .labelsp .unit,
  .p-calcWeight-table2 .labelsp .unit {
    display: inline-block;
    position: relative;
    font-size: 0.9230769231em;
  }
}

@media (min-width: 768px) {
  .p-calcWeight-table td.spgr,
  .p-calcWeight-table td.thickness,
  .p-calcWeight-table td.width,
  .p-calcWeight-table td.length,
  .p-calcWeight-table td.quantity {
    width: 5.625rem;
    padding-left: 0.625rem;
  }
}
@media (max-width: 767px) {
  .p-calcWeight-table td.spgr,
  .p-calcWeight-table td.thickness,
  .p-calcWeight-table td.width,
  .p-calcWeight-table td.length,
  .p-calcWeight-table td.quantity {
    align-self: end;
  }
  .p-calcWeight-table td.type {
    grid-column: 1/5;
  }
}

@media (min-width: 768px) {
  .p-calcWeight-table2 td.coating,
  .p-calcWeight-table2 td.width,
  .p-calcWeight-table2 td.length,
  .p-calcWeight-table2 td.quantity {
    width: 6.875rem;
    padding-left: 0.625rem;
  }
}
@media (max-width: 767px) {
  .p-calcWeight-table2 td.type {
    grid-column: 1/5;
  }
}

.p-calcDiameter-table,
.p-calcLength-table {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 2.5rem;
  margin: 1.25rem 0 0;
}
.p-calcDiameter-table__item,
.p-calcLength-table__item {
  display: block;
}
.p-calcDiameter-table__group,
.p-calcLength-table__group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #DFF0FA;
}
.p-calcDiameter-table__group > dt,
.p-calcLength-table__group > dt {
  flex: 0 0 auto;
  width: 7.75rem;
  font-weight: 700;
}
.p-calcDiameter-table__group > dd,
.p-calcLength-table__group > dd {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 0.75rem;
  margin: 0;
}
.p-calcDiameter-table__group.-core,
.p-calcLength-table__group.-core {
  border-bottom: 0;
}
@media (max-width: 767px) {
  .p-calcDiameter-table,
  .p-calcLength-table {
    display: block;
  }
  .p-calcDiameter-table__group,
  .p-calcLength-table__group {
    padding: 0.75rem 0;
  }
  .p-calcDiameter-table__group > dt,
  .p-calcLength-table__group > dt {
    width: 6.5rem;
  }
}

.p-calcDiameter-core,
.p-calcLength-core {
  padding: 0 1rem;
  border-radius: 0.25rem;
  background: #F2F7FC;
}
.p-calcDiameter-core__head,
.p-calcLength-core__head {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.375rem 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
}
.p-calcDiameter-core__head::before,
.p-calcLength-core__head::before {
  display: inline-block;
  position: relative;
  top: -0.125rem;
  width: 0.4375rem;
  height: 0.4375rem;
  border: solid #81A7B9;
  border-width: 0 0.125rem 0.125rem 0;
  content: "";
  pointer-events: none;
  transform: rotate(45deg);
  transition: all 0.3s ease;
}
.p-calcDiameter-core__head.is-open::before,
.p-calcLength-core__head.is-open::before {
  top: 0.125rem;
  transform: rotate(225deg);
}
.p-calcDiameter-core__body,
.p-calcLength-core__body {
  padding: 1.25rem 0;
  border-top: 0.125rem solid #fff;
}
.p-calcDiameter-core__table,
.p-calcLength-core__table {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  align-items: center;
  gap: 1.25rem 1.5rem;
  margin: 0;
}
.p-calcDiameter-core__table > dt, .p-calcDiameter-core__table > dd,
.p-calcLength-core__table > dt,
.p-calcLength-core__table > dd {
  margin: 0;
}
.p-calcDiameter-core__table > dt,
.p-calcLength-core__table > dt {
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-calcDiameter-core__table,
  .p-calcLength-core__table {
    gap: 1.25rem 1.25rem;
  }
}

.p-calcBarrier-table {
  margin: 1.5rem 0 0;
}
.p-calcBarrier-table > *:first-child {
  margin-top: 0 !important;
}
.p-calcBarrier-table .note {
  margin: 1.25rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.p-calcBarrier-table table {
  width: 100%;
  margin: 1.25rem 0 0;
  border-collapse: collapse;
}
.p-calcBarrier-table th, .p-calcBarrier-table td {
  box-sizing: border-box;
  padding: 0.5625rem 0;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}
.p-calcBarrier-table thead th {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
  font-size: 0.9375rem;
  line-height: 1.4;
  text-align: center;
}
.p-calcBarrier-table thead th .unit {
  display: inline-block;
  position: relative;
  font-size: 0.7333333333em;
}
.p-calcBarrier-table td.type {
  padding-left: 0;
}
.p-calcBarrier-table td.range {
  font-size: 0.875rem;
  text-align: left;
}
.p-calcBarrier-table .labelsp,
.p-calcBarrier-table .rangesp {
  display: none;
}
@media (min-width: 768px) {
  .p-calcBarrier-table td.weight {
    width: 9.375rem;
    padding-left: 1rem;
    text-align: right;
  }
  .p-calcBarrier-table td.thickness {
    width: 5.625rem;
    padding-left: 0.625rem;
  }
  .p-calcBarrier-table td.width,
  .p-calcBarrier-table td.length {
    width: 9.375rem;
    padding-left: 0.625rem;
    text-align: right;
  }
  .p-calcBarrier-table td.range {
    width: 7.5rem;
    padding-left: 0;
  }
  .p-calcBarrier-table td.otr,
  .p-calcBarrier-table td.wvtr {
    width: 9.375rem;
    padding-left: 0.625rem;
    text-align: right;
  }
}
@media (max-width: 767px) {
  .p-calcBarrier-table table, .p-calcBarrier-table tbody, .p-calcBarrier-table th, .p-calcBarrier-table td {
    display: block;
  }
  .p-calcBarrier-table thead {
    display: none;
  }
  .p-calcBarrier-table tr {
    display: grid;
    grid-template-columns: 4.875rem 1fr 1fr;
    gap: 1rem 0.625rem;
  }
  .p-calcBarrier-table tr + tr {
    margin-top: 2rem;
  }
  .p-calcBarrier-table th, .p-calcBarrier-table td {
    padding: 0;
  }
  .p-calcBarrier-table td.type {
    grid-column: 1/4;
    position: relative;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    z-index: 0;
  }
  .p-calcBarrier-table td.type::before {
    display: block;
    position: absolute;
    left: -1rem;
    top: 0;
    width: 100vw;
    height: 100%;
    background: #F2F7FC;
    content: "";
    z-index: -1;
  }
  .p-calcBarrier-table td.range {
    display: none;
  }
  .p-calcBarrier-table .labelsp {
    display: block;
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    text-align: center;
  }
  .p-calcBarrier-table .labelsp .unit {
    display: inline-block;
    position: relative;
    font-size: 0.9230769231em;
  }
  .p-calcBarrier-table .rangesp {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
  }
}

.p-calcBarrier-subtotal {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.625rem;
  margin: 1.125rem 0 0;
  padding-top: 1.125rem;
  border-top: 1px solid #055276;
  text-align: right;
}
.p-calcBarrier-subtotal__label {
  flex: 0 0 auto;
  padding-right: 0.625rem;
  font-weight: 700;
}
.p-calcBarrier-subtotal__value {
  display: block;
  box-sizing: border-box;
  min-width: 8.75rem;
  padding: 0.625rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: #F2F7FC;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5rem;
}
@media (max-width: 767px) {
  .p-calcBarrier-subtotal {
    margin-top: 2rem;
    padding-right: 0;
  }
  .p-calcBarrier-subtotal__value {
    min-width: 7.625rem;
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}

.p-calcBarrier-size {
  display: flex;
  align-items: baseline;
  gap: 1.25rem;
  margin: 1.25rem 0 0;
}
.p-calcBarrier-size__group {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.5rem 0.75rem;
  width: 11.875rem;
}
.p-calcBarrier-size__multiply {
  flex: 0 0 auto;
  position: relative;
  width: 1rem;
  height: 1rem;
}
.p-calcBarrier-size__multiply::before, .p-calcBarrier-size__multiply::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.0625rem);
  left: calc(50% - 0.5625rem);
  width: 1.125rem;
  height: 0.125rem;
  background: #B3CAD6;
  content: "";
}
.p-calcBarrier-size__multiply::before {
  transform: rotate(-45deg);
}
.p-calcBarrier-size__multiply::after {
  transform: rotate(45deg);
}
.p-calcBarrier-size__label {
  font-weight: 700;
}
.p-calcBarrier-size__value {
  text-align: right;
}
.p-calcBarrier-size__unit {
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
}
@media (max-width: 767px) {
  .p-calcBarrier-size {
    align-items: flex-end;
    gap: 1rem;
  }
  .p-calcBarrier-size__group {
    grid-template-columns: 1fr auto;
    width: 9.1875rem;
  }
  .p-calcBarrier-size__multiply {
    margin-bottom: 0.875rem;
  }
  .p-calcBarrier-size__label {
    grid-column: 1/3;
  }
}

@media print {
  body {
    font-size: 14px;
    line-height: 1.6;
    color: #000;
    background: none;
  }
  /* スマホ・PCレイアウトを無効化する */
  .p-calc__inner {
    max-width: none;
    width: 100%;
    flex-direction: column;
  }
  /* 非表示にするボタンやナビなど */
  .no-print,
  .c-calc-button.-print,
  nav,
  header,
  footer {
    display: none !important;
  }
  /* 印刷用のレイアウトを整える */
  .print-only {
    display: block;
  }
}
/**************************************************/
/* product */
/**************************************************/
.p-product-contact {
  position: relative;
  padding: 10rem 2.5rem 6.25rem;
  overflow: hidden;
}
.p-product-contact__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-product-contact__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-product-contact {
    padding: 7.5rem 1rem 3.75rem;
  }
}

.p-productGeneral {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.p-productGeneral__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-productGeneral__inner > *:first-child {
  margin-top: 0 !important;
}
.p-productGeneral__lead {
  margin: 0;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-productGeneral {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-productGeneral-block {
  display: flex;
  justify-content: space-between;
  margin: 5rem 0 0;
}
.p-productGeneral-block__left {
  flex: 0 0 auto;
  width: 17.75rem;
}
.p-productGeneral-block__right {
  flex: 0 1 auto;
  width: 50rem;
}
.p-productGeneral-block__ttl {
  margin: 0;
  padding-top: 1.25rem;
  border-top: 0.375rem solid #D5E9F8;
  font-size: 100%;
  font-weight: 400;
}
.p-productGeneral-block__ttl-main {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 2.625rem;
  font-weight: 100;
  font-style: italic;
  line-height: 1.1;
}
.p-productGeneral-block__ttl-sub {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.p-productGeneral-block__img {
  margin: 0;
  text-align: center;
}
.p-productGeneral-block__text {
  margin: 1.25rem 0 0;
  line-height: 2;
}
.p-productGeneral-block + .p-productGeneral-block {
  margin-top: 6.25rem;
}
@media (max-width: 767px) {
  .p-productGeneral-block {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-productGeneral-block__left {
    width: auto;
  }
  .p-productGeneral-block__right {
    width: auto;
  }
}

.p-productDevelopment {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.p-productDevelopment__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-productDevelopment__inner > *:first-child {
  margin-top: 0 !important;
}
.p-productDevelopment__lead {
  margin: 0;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-productDevelopment {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-productDevelopment-block {
  display: flex;
  justify-content: space-between;
  margin: 5rem 0 0;
}
.p-productDevelopment-block__left {
  flex: 0 0 auto;
  width: 17.75rem;
}
.p-productDevelopment-block__right {
  flex: 0 1 auto;
  width: 50rem;
}
.p-productDevelopment-block__right > *:first-child {
  margin-top: 0 !important;
}
.p-productDevelopment-block__ttl {
  margin: 0;
  padding-top: 1.25rem;
  border-top: 0.375rem solid #D5E9F8;
  font-size: 100%;
  font-weight: 400;
}
.p-productDevelopment-block__ttl-main {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 2.625rem;
  font-weight: 100;
  font-style: italic;
  line-height: 1.1;
}
.p-productDevelopment-block__ttl-sub {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.p-productDevelopment-block__img {
  margin: 5rem 0 0;
  text-align: center;
}
.p-productDevelopment-block__ttl2 {
  position: relative;
  margin: 2.5rem 0 0;
  padding: 1rem 1.875rem;
  border-radius: 0.75rem;
  background: #F2F7FC;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-productDevelopment-block__ttl2:has(.p-productDevelopment-block__ttl2-icon) {
  padding-left: 7.5rem;
}
.p-productDevelopment-block__ttl2:has(.p-productDevelopment-block__ttl2-icon)::before {
  display: block;
  position: absolute;
  top: calc(50% - 3.75rem);
  left: -1.75rem;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  background: #fff;
  content: "";
}
.p-productDevelopment-block__ttl2-icon {
  display: block;
  position: absolute;
  top: calc(50% - 2.5rem);
  left: 0;
  width: 3.8125rem;
}
.p-productDevelopment-block__ttl2-icon img {
  display: block;
  width: 100%;
}
.p-productDevelopment-block__text {
  margin: 1.875rem 0 0;
  font-size: 0.9375rem;
  line-height: 2;
}
.p-productDevelopment-block__wrap {
  display: flex;
  justify-content: space-between;
  margin: 1.875rem 0 0;
}
.p-productDevelopment-block__wrap-textarea {
  order: 0;
  width: 20.8125rem;
}
.p-productDevelopment-block__wrap-textarea > *:first-child {
  margin-top: 0 !important;
}
.p-productDevelopment-block__wrap-img {
  order: 1;
  width: 27.3125rem;
}
.p-productDevelopment-block__biomass {
  display: flex;
  justify-content: space-between;
  margin: 1.875rem 0 0;
}
.p-productDevelopment-block__biomass-left {
  width: 26.1875rem;
}
.p-productDevelopment-block__biomass-left > *:first-child {
  margin-top: 0 !important;
}
.p-productDevelopment-block__biomass-right {
  width: 20.875rem;
}
.p-productDevelopment-block__biomass-right > *:first-child {
  margin-top: 0 !important;
}
.p-productDevelopment-block__biomass-ttl {
  margin: 0;
  padding-left: 0.75rem;
  border-left: 0.375rem solid #DFF0FA;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-productDevelopment-block__biomass-img {
  margin: 1rem 0 0;
}
.p-productDevelopment-block__merit {
  display: flex;
  gap: 0.75rem;
  margin: 1.875rem 0 0;
}
.p-productDevelopment-block__merit > dt, .p-productDevelopment-block__merit dd {
  display: block;
  box-sizing: border-box;
  margin: 0;
}
.p-productDevelopment-block__merit > dt {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 6.25rem;
  min-height: 4.25rem;
  padding: 1rem 0.625rem;
  border-radius: 1.25rem;
  background: #F2F7FC;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.p-productDevelopment-block__merit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  line-height: 1.6;
}
.p-productDevelopment-block__merit-list > li {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.p-productDevelopment-block__merit-list > li::before {
  align-self: flex-start;
  display: inline-block;
  width: 1em;
  content: "・";
}
.p-productDevelopment-block__merit-list > li + li {
  margin-top: 0.25rem;
}
.p-productDevelopment-block + .p-productDevelopment-block {
  margin-top: 6.25rem;
}
@media (max-width: 767px) {
  .p-productDevelopment-block {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-productDevelopment-block__left {
    width: auto;
  }
  .p-productDevelopment-block__right {
    width: auto;
  }
  .p-productDevelopment-block__ttl2 {
    margin-top: 3.75rem;
    padding: 1rem 1.25rem;
  }
  .p-productDevelopment-block__ttl2-icon {
    top: calc(50% - 2.0625rem);
    width: 3.125rem;
  }
  .p-productDevelopment-block__ttl2:has(.p-productDevelopment-block__ttl2-icon) {
    padding-left: 5.625rem;
  }
  .p-productDevelopment-block__ttl2:has(.p-productDevelopment-block__ttl2-icon)::before {
    top: calc(50% - 3rem);
    left: -1.5625rem;
    width: 6.25rem;
    height: 6.25rem;
  }
  .p-productDevelopment-block__img + .p-productDevelopment-block__ttl2 {
    margin-top: 2.5rem;
  }
  .p-productDevelopment-block__wrap {
    flex-direction: column;
    gap: 1.875rem;
  }
  .p-productDevelopment-block__wrap-textarea {
    width: auto;
  }
  .p-productDevelopment-block__wrap-img {
    width: auto;
  }
  .p-productDevelopment-block__biomass {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-productDevelopment-block__biomass-left {
    width: auto;
  }
  .p-productDevelopment-block__biomass-right {
    width: auto;
  }
  .p-productDevelopment-block__merit {
    flex-direction: column;
  }
}

.p-productFlow {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.p-productFlow__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-productFlow__inner > *:first-child {
  margin-top: 0 !important;
}
.p-productFlow__lead {
  margin: 0;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-productFlow {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-productFlow-chart {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  position: relative;
  list-style: none;
  margin: 5rem 0 0;
  padding: 0;
  z-index: 0;
}
.p-productFlow-chart::before {
  display: block;
  position: absolute;
  top: 1.25rem;
  left: 3.75rem;
  width: 0.625rem;
  height: calc(100% - 2.5rem);
  background: repeating-linear-gradient(to bottom, #F2F7FC, #F2F7FC 0.625rem, transparent 0.625rem, transparent 0.9375rem);
  content: "";
  z-index: -1;
}
.p-productFlow-chart > li {
  display: block;
}
.p-productFlow-chart__deliver, .p-productFlow-chart__order {
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 6.25rem;
  margin-left: 0.9375rem;
  border-radius: 50%;
  background: #fff;
  z-index: 1;
  overflow: hidden;
}
.p-productFlow-chart__ttl {
  display: flex;
  align-items: center;
  position: relative;
  margin: 0;
  font-size: 100%;
  font-weight: 400;
  line-height: 1.5;
}
.p-productFlow-chart__ttl-icon {
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 8.125rem;
  border: 0.625rem solid #F2F7FC;
  border-radius: 50%;
  background: #fff;
  z-index: 1;
  overflow: hidden;
}
.p-productFlow-chart__ttl-label {
  flex: 1 1 auto;
  display: block;
  box-sizing: border-box;
  margin-left: -2.5rem;
  padding: 1.25rem 1.25rem 1.125rem 3.75rem;
  border-radius: 1.25rem;
  background: #F2F7FC;
}
.p-productFlow-chart__ttl-sub {
  display: block;
  font-size: 0.9375rem;
}
.p-productFlow-chart__ttl-main {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.p-productFlow-chart__body {
  display: flex;
  justify-content: space-between;
  margin-top: 0.75rem;
  padding-left: 9.375rem;
}
.p-productFlow-chart__body-image {
  order: 1;
  width: 25.875rem;
}
.p-productFlow-chart__body-textarea {
  order: 0;
  width: 33.125rem;
}
.p-productFlow-chart__body-text {
  margin: 0;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-productFlow-chart::before {
    left: 2.25rem;
    width: 0.5rem;
  }
  .p-productFlow-chart__deliver, .p-productFlow-chart__order {
    width: 4.375rem;
    margin-left: 0.3125rem;
  }
  .p-productFlow-chart__ttl-icon {
    width: 5rem;
    border-width: 0.375rem;
  }
  .p-productFlow-chart__ttl-label {
    padding: 0.875rem 0.625rem 0.75rem 3.125rem;
    border-radius: 0.625rem;
  }
  .p-productFlow-chart__ttl-sub {
    font-size: 0.875rem;
  }
  .p-productFlow-chart__ttl-main {
    margin-top: 0.125rem;
    font-size: 1.125rem;
  }
  .p-productFlow-chart__body {
    display: block;
    margin-top: 1rem;
    padding-left: 4rem;
  }
  .p-productFlow-chart__body-image {
    width: auto;
  }
  .p-productFlow-chart__body-textarea {
    width: auto;
    margin-top: 1rem;
  }
  .p-productFlow-chart__body-text {
    margin: 0;
    font-size: 0.9375rem;
  }
}

.p-productEquipment {
  position: relative;
  padding: 3.75rem 2.5rem 0;
  overflow: hidden;
}
.p-productEquipment__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-productEquipment__inner > *:first-child {
  margin-top: 0 !important;
}
.p-productEquipment__lead {
  margin: 0;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-productEquipment {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-productEquipment-block {
  display: flex;
  justify-content: space-between;
  margin: 5rem 0 0;
}
.p-productEquipment-block__left {
  flex: 0 0 auto;
  width: 23.75rem;
}
.p-productEquipment-block__right {
  flex: 0 1 auto;
  width: 44rem;
}
.p-productEquipment-block__ttl {
  margin: 0;
  padding-top: 1.875rem;
  border-top: 0.375rem solid #D5E9F8;
  font-size: 100%;
  font-weight: 400;
}
.p-productEquipment-block__ttl-main {
  display: block;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 1.75rem;
  font-weight: 100;
  font-style: italic;
  line-height: 1.1;
}
.p-productEquipment-block__ttl-sub {
  display: block;
  margin-top: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-productEquipment-block__img {
  margin: 0;
  text-align: center;
}
.p-productEquipment-block__lead {
  margin: 1.5rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.p-productEquipment-block__machine {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-columns: auto 1fr;
  gap: 0.75rem 1.5rem;
  margin: 1.5rem 0 0;
}
.p-productEquipment-block__machine-ttl {
  margin: 0;
  font-weight: 500;
  line-height: 1.75;
}
.p-productEquipment-block__machine-number {
  margin: 0;
  font-weight: 500;
  line-height: 1.75;
}
.p-productEquipment-block__machine-explain {
  grid-column: span 2;
  margin: -0.75rem 0 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
}
.p-productEquipment-block + .p-productEquipment-block {
  margin-top: 6.25rem;
}
@media (max-width: 767px) {
  .p-productEquipment-block {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-productEquipment-block__left {
    width: auto;
  }
  .p-productEquipment-block__right {
    width: auto;
  }
}

/**************************************************/
/* others */
/**************************************************/
.p-safetyManagement {
  position: relative;
  padding: 5rem 2.5rem 0;
  overflow: hidden;
}
.p-safetyManagement__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-safetyManagement__inner > *:first-child {
  margin-top: 0 !important;
}
.p-safetyManagement__heading {
  max-width: 18.125rem;
  margin: 7.5rem 0 0;
}
.p-safetyManagement__ttl {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  width: 18.125rem;
  height: 18.125rem;
  margin: 7.5rem 0 0;
  padding: 1.875rem;
  background: #F2F7FC;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-safetyManagement__ttl-label {
  display: block;
}
.p-safetyManagement__text {
  margin: 3.75rem 0 0;
  line-height: 2;
}
.p-safetyManagement__more {
  display: block;
  width: 15.625rem;
  margin: 2.5rem 0 0;
}
.p-safetyManagement__btn {
  border: none;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  border-radius: 0.125rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  background: #4F859E;
  color: #fff;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
  text-align: left;
}
.p-safetyManagement__btn > * {
  pointer-events: none;
}
.p-safetyManagement__btn:hover {
  opacity: 1;
}
.p-safetyManagement__btn:hover .p-safetyManagement__btn-arrow {
  animation: svgArrow2_right_animation 0.3s ease 1 forwards;
}
.p-safetyManagement__btn-label {
  display: inline-block;
  margin-right: 0.5em;
}
.p-safetyManagement__btn-arrow {
  flex: 0 0 auto;
  display: inline-block;
  stroke-width: 1px;
  stroke: currentColor;
  stroke-dasharray: 70;
  stroke-dashoffset: 0;
  width: 3.125rem;
}
.p-safetyManagement__btn-arrow img, .p-safetyManagement__btn-arrow svg {
  display: block;
  width: 100%;
  height: auto;
}
.p-safetyManagement__process {
  margin: 3.75rem 0 0;
  padding: 3.75rem 5.3125rem;
  background: #F2F7FC;
}
.p-safetyManagement__process-img {
  max-width: 59.625rem;
  margin: 0 auto;
  text-align: center;
}
.p-safetyManagement__process-img img {
  display: block;
  width: 100%;
}
.p-safetyManagement__process-lead {
  margin: 1.875rem 0 0;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-safetyManagement__process-text {
  margin: 0.625rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.p-safetyManagement__certification {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.875rem 3.75rem;
  margin: 3.75rem 0 0;
}
.p-safetyManagement__certification-text {
  margin: 0;
  line-height: 2;
}
.p-safetyManagement__certification-mark {
  flex: 0 0 auto;
  width: 10.5rem;
}
.p-safetyManagement__certification-mark img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .p-safetyManagement {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .p-safetyManagement__heading {
    max-width: 14.5rem;
  }
  .p-safetyManagement__ttl {
    width: 15rem;
    height: 15rem;
    padding: 1.5rem;
    font-size: 1.125rem;
  }
  .p-safetyManagement__process {
    padding: 2.5rem 0.9375rem;
  }
  .p-safetyManagement__certification {
    flex-direction: column;
    align-items: flex-start;
  }
  .p-safetyManagement__certification-text {
    margin: 0;
    line-height: 2;
  }
  .p-safetyManagement__certification-mark {
    width: 9.6875rem;
  }
}

.p-safetyManagement-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.625rem;
  list-style: none;
  margin: 3.75rem 0 0;
  padding: 0;
}
.p-safetyManagement-list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}
.p-safetyManagement-list__num {
  position: relative;
  margin: 0;
  padding-bottom: 0.5rem;
  font-family: "Roboto", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-size: 3.375rem;
  font-weight: 100;
  font-style: italic;
  line-height: 1.25;
}
.p-safetyManagement-list__num::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6.875rem;
  height: 0.25rem;
  background: #DEECF2;
  content: "";
}
.p-safetyManagement-list__ttl {
  position: relative;
  margin: 1.5rem 0 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-safetyManagement-list__ttl.-risk {
  padding-right: 5.3125rem;
}
.p-safetyManagement-list__ttl-risk {
  position: absolute;
  top: calc(50% - 2.375rem);
  right: 0;
  width: 4.8125rem;
}
.p-safetyManagement-list__ttl-risk img {
  display: block;
  width: 100%;
}
.p-safetyManagement-list__img {
  display: block;
  margin: 1.5rem 0 0;
}
.p-safetyManagement-list__img img {
  display: block;
  width: 100%;
}
.p-safetyManagement-list__details {
  display: block;
  margin-top: 1rem;
}
.p-safetyManagement-list__details > *:first-child {
  margin-top: 0 !important;
}
.p-safetyManagement-list__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-safetyManagement-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-safetyManagement-contact {
  position: relative;
  padding: 10rem 2.5rem 5rem;
  overflow: hidden;
}
.p-safetyManagement-contact__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-safetyManagement-contact__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-safetyManagement-contact {
    padding: 7.5rem 1rem 3.75rem;
  }
}

.p-manuscript {
  position: relative;
  padding: 3.75rem 2.5rem 0rem;
  overflow: hidden;
}
.p-manuscript__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-manuscript__inner > *:first-child {
  margin-top: 0 !important;
}
.p-manuscript__summary {
  margin: 1rem 0 0;
  font-size: 1rem;
  line-height: 2;
}
.p-manuscript__ttl {
  margin: 5rem 0 0;
  padding: 0.625rem 1.25rem;
  border-radius: 0.625rem;
  background: #F0F5F5;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .p-manuscript {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.p-manuscript-cautions {
  margin: 5rem 0 0;
}
.p-manuscript-cautions__ttl {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
}
.p-manuscript-cautions__list {
  margin: 1.875rem 0 0;
}
.p-manuscript-cautions__unit {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 0.625rem 1.5rem;
  min-height: 5.875rem;
  margin: 0;
  padding: 1.25rem 2.5rem;
  border-radius: 1.25rem;
  background: #F2F7FC;
}
.p-manuscript-cautions__unit > dt {
  flex: 0 0 auto;
  position: relative;
  box-sizing: border-box;
  width: 22.5em;
  padding-left: 1.5em;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
}
.p-manuscript-cautions__unit > dt::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  content: "□";
}
.p-manuscript-cautions__unit > dd {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.p-manuscript-cautions__unit + .p-manuscript-cautions__unit {
  margin-top: 0.375rem;
}
@media (max-width: 767px) {
  .p-manuscript-cautions__unit {
    flex-direction: column;
    min-height: 0;
    padding: 1.875rem 1rem;
  }
  .p-manuscript-cautions__unit > dt {
    width: 100%;
    padding-left: 1.5em;
  }
}

.p-manuscript-illustrator {
  margin: 2.5rem 0 0;
}
.p-manuscript-illustrator__unit {
  box-sizing: border-box;
  display: flex;
  margin: 0;
}
.p-manuscript-illustrator__unit + .p-manuscript-illustrator__unit {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 0.125rem solid #F0F5F5;
}
.p-manuscript-illustrator__head {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 8em;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
}
.p-manuscript-illustrator__body {
  flex: 1 1 auto;
  box-sizing: border-box;
  position: relative;
  margin-left: 1rem;
  padding-left: 1.5em;
  font-size: 1rem;
  line-height: 1.75;
}
.p-manuscript-illustrator__body::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  content: "□";
}
.p-manuscript-illustrator__note {
  display: block;
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
}
.p-manuscript-illustrator__img {
  flex: 0 0 auto;
  width: 29.625rem;
  margin-left: 1.875rem;
}
@media (max-width: 767px) {
  .p-manuscript-illustrator__unit {
    flex-direction: column;
  }
  .p-manuscript-illustrator__head {
    width: 100%;
  }
  .p-manuscript-illustrator__body {
    margin: 1rem 0 0;
  }
  .p-manuscript-illustrator__img {
    width: 100%;
    margin: 1.25rem 0 0;
  }
}

.p-manuscript-photoshop {
  margin: 1.5rem 0 0;
}
.p-manuscript-photoshop__dl {
  display: grid;
  grid-template-columns: 7em 1fr;
  gap: 0.75rem 1.875rem;
  margin: 0;
}
.p-manuscript-photoshop__dl > dt {
  flex: 0 0 auto;
  position: relative;
  box-sizing: border-box;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
}
.p-manuscript-photoshop__dl > dd {
  margin: 0;
}
.p-manuscript-photoshop__explain {
  box-sizing: border-box;
  position: relative;
  margin: 0;
  padding-left: 1.5em;
  font-size: 1rem;
  line-height: 1.75;
}
.p-manuscript-photoshop__explain::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  content: "□";
}
.p-manuscript-photoshop__explain + .p-manuscript-photoshop__explain {
  margin-top: 0.625rem;
}
@media (max-width: 767px) {
  .p-manuscript-photoshop__dl {
    display: block;
  }
  .p-manuscript-photoshop__dl > *:first-child {
    margin-top: 0 !important;
  }
  .p-manuscript-photoshop__dl > dt {
    margin-top: 1.5rem;
  }
  .p-manuscript-photoshop__dl > dd {
    margin-top: 0.375rem;
  }
  .p-manuscript-photoshop__dl > dd + dt {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 0.125rem solid #F0F5F5;
  }
}

.p-manuscript-pdf {
  margin: 1.5rem 0 0;
}
.p-manuscript-pdf__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.75;
}
.p-manuscript-pdf__list {
  box-sizing: border-box;
  display: block;
  position: relative;
  margin: 0;
  padding-left: 1.5em;
}
.p-manuscript-pdf__list::before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  content: "□";
}

.p-manuscript-contact {
  position: relative;
  padding: 10rem 2.5rem 5rem;
  overflow: hidden;
}
.p-manuscript-contact__inner {
  max-width: 1124px;
  margin-left: auto;
  margin-right: auto;
}
.p-manuscript-contact__inner > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .p-manuscript-contact {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 3.75rem;
  }
}