@charset "UTF-8";
:root {
  --font-en: "Manrope", sans-serif;
  --font-ja: "Noto Sans JP", sans-serif;
  --font-maru-folk: "a-p-otf-maru-folk-pron", sans-serif;
  --primary-color: #000;
  --bg-color: #fff;
  --footer-grad-start: #07a9ff;
  --footer-grad-end: #8bd7ff;
  --maincolor:#008DD3;
  --orangecolor:#FC7F5C;
  --linecolor:#00B900;
  --noise-opacity: 0.05;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 10rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: calc(80 / 420 * 100vw);
  }
}

body {
  font-size: clamp(1.5rem, 1.4333333333rem + 0.0868055556vw, 1.6rem);
  line-height: 1.6;
  font-family: var(--font-ja);
  color: var(--primary-color);
  background: var(--bg-color);
  overflow-x: hidden;
  position: relative;
}
@media (max-width: 768px) {
  body {
    line-height: 1.7;
  }
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

*:focus {
  outline: none;
}

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

img, picture, video, canvas, svg, figure {
  display: block;
  max-width: 100%;
  height: auto;
}

ul, ol {
  list-style: none;
}

button, input, textarea, select {
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  appearance: none;
}

textarea, input {
  cursor: text;
}

button {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

strong, b {
  font-weight: 700;
}

em {
  font-style: normal;
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.inner {
  width: min(100% - 6rem, 160rem);
  margin-inline: auto;
}
.inner--1200 {
  width: min(100% - 6rem, 120rem);
}
.inner--1160 {
  width: min(100% - 6rem, 116rem);
}

.anchor-txt {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.bordertitle {
  position: relative;
  padding-bottom: 2rem;
  margin-bottom: 2.2rem;
  border-bottom: 2px solid #E5E6E8;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .bordertitle {
    font-size: calc(21 / 420 * 100vw);
    line-height: 2.5238095238;
    color: #1a1a1a;
    padding-bottom: calc(10 / 420 * 100vw);
    margin-bottom: calc(10 / 420 * 100vw);
  }
}
.bordertitle::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 16rem;
  height: 2px;
  background: #1D69B2;
}
@media (max-width: 768px) {
  .bordertitle::before {
    width: calc(80 / 420 * 100vw);
  }
}

.itemtable {
  width: 100%;
  border-top: 1px solid #E5E6E8;
}
@media (max-width: 768px) {
  .itemtable {
    border-bottom: 1px solid #E5E6E8;
  }
}
.itemtable th, .itemtable td {
  border-bottom: 1px solid #E5E6E8;
  padding: 2.4rem 2rem;
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  .itemtable th, .itemtable td {
    display: block;
    font-size: calc(14 / 420 * 100vw);
    padding: calc(14 / 420 * 100vw) calc(16 / 420 * 100vw);
    border-bottom: none;
  }
}
.itemtable th {
  background-color: #F5F5F7;
  width: 24rem;
  text-align: left;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #222;
}
@media (max-width: 768px) {
  .itemtable th {
    width: auto;
    border-top: 1px solid #E5E6E8;
  }
}

.fadeup {
  opacity: 0;
  transform: translateY(40px);
  transition: 0.8s ease;
}
.fadeup.is-show {
  opacity: 1;
  transform: translateY(0);
}

.btnbox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 32rem);
  height: 7.2rem;
  margin-inline: auto;
  padding-inline: 2.3rem 1.6rem;
  border-radius: 0.5rem;
  background: #1D69B2;
  color: #fff;
}
@media (max-width: 768px) {
  .btnbox {
    width: calc(320 / 420 * 100vw);
    min-height: calc(56 / 420 * 100vw);
    height: auto;
  }
}
.btnbox .txt {
  color: inherit;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .btnbox .txt {
    font-size: calc(17 / 420 * 100vw);
  }
}
.btnbox .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 0.5rem;
  background: #fff;
  color: #1D69B2;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .btnbox .icon {
    width: calc(32 / 420 * 100vw);
    height: calc(32 / 420 * 100vw);
    font-size: calc(17 / 420 * 100vw);
  }
}
.btnbox--item {
  width: min(100%, 20rem);
  min-height: 6.4rem;
  margin-inline: auto;
  background: none;
  transition: 0.3s ease;
}
.btnbox--item .text {
  color: #1A1A1A;
  font-weight: 700;
  transition: 0.3s ease;
}
.btnbox--item .icon {
  color: #FFF;
  background: #1D69B2;
  transition: 0.3s ease;
}
.btnbox--item:hover .icon {
  color: #1D69B2;
  background: #FFF;
}

#headbox {
  position: sticky;
  top: 0;
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 9rem;
  margin-inline: clamp(2rem, 1.6vw, 3rem);
  padding-inline: clamp(6rem, 7.3vw, 14rem);
  opacity: calc(1 - var(--header-hide-progress, 0));
  transform: translateY(calc(-100% * var(--header-hide-progress, 0)));
}
#headbox::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: #FFF;
  transform: translateX(-50%);
}
#headbox.is-fully-hidden {
  z-index: 10;
}
@media (max-width: 768px) {
  #headbox {
    min-height: calc(70 / 420 * 100vw);
    padding-inline: calc(15 / 420 * 100vw);
    margin-inline: initial;
  }
  #headbox .logo {
    width: calc(142 / 420 * 100vw);
  }
}
#headbox .menubox {
  display: flex;
  align-items: center;
  gap: clamp(2.4rem, 2.5vw, 4.8rem);
}
@media (max-width: 768px) {
  #headbox .menubox {
    display: none;
  }
}
#headbox .togglemenu {
  position: relative;
}
#headbox .togglemenu .text {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
}
#headbox .togglemenu .text::after {
  content: "";
  width: 1.1rem;
  height: 0.6rem;
  background: url("../images/common/icon-arrow-btm.svg") no-repeat center/contain;
  transition: transform 0.3s ease;
}
#headbox .togglemenu .togglecontents {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  min-width: 22rem;
  padding-top: 1rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(1rem);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
#headbox .togglemenu .togglecontents .box {
  background: #FFF;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
#headbox .togglemenu .togglecontents ul {
  padding-block: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#headbox .togglemenu .togglecontents li {
  width: 100%;
}
#headbox .togglemenu .togglecontents a {
  display: flex;
  align-items: center;
  padding-inline: 2rem;
  color: #1A1A1A;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
#headbox .togglemenu .togglecontents a:hover {
  background: #F5F5F7;
  color: #1D69B2;
}
#headbox .togglemenu:hover .text::after {
  transform: rotate(180deg);
}
#headbox .togglemenu:hover .togglecontents {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
#headbox .menu {
  display: flex;
  align-items: center;
  gap: clamp(2.4rem, 2.5vw, 4.8rem);
  font-size: clamp(1.4rem, 0.83vw, 1.6rem);
  letter-spacing: 0.05em;
  color: #1a1a1a;
}
#headbox .menu a {
  white-space: nowrap;
  transition: color 0.2s ease;
}
#headbox .menu a:hover {
  color: #1D69B2;
}
#headbox .contactbox .text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(14rem, 8.3vw, 16rem);
  min-height: 5rem;
  background: #D73033;
  border-radius: 0.5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
}

.slidebox {
  position: relative;
  margin-inline: 3rem;
}
@media (max-width: 768px) {
  .slidebox {
    margin-inline: calc(10 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  .slidebox.slideboxjs-slick {
    border-radius: calc(10 / 420 * 100vw);
  }
}
.slidebox .slick-dots {
  right: 10px;
  left: auto;
  bottom: 10px;
  z-index: 2;
  width: auto;
  margin: 0;
  display: flex !important;
  align-items: center;
}
@media (max-width: 768px) {
  .slidebox .slick-dots {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    margin-inline: auto;
    bottom: calc(-25 / 420 * 100vw);
  }
}
.slidebox .slick-dots li {
  margin: 0 5px;
  width: auto;
  height: auto;
}
.slidebox .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.25;
  border: none;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .slidebox .slick-dots li button {
    background-color: #666666;
  }
}
.slidebox .slick-dots li button:before {
  content: "";
  display: none;
}
.slidebox .slick-dots li.slick-active button {
  background-color: #666666;
  opacity: 1;
}
.slidebox .slidecap {
  flex: 0 0 100%;
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
.slidebox .slidecap .textbox {
  position: absolute;
  left: clamp(3rem, 3.6vw, 7rem);
  bottom: clamp(3rem, 3.3vw, 6.4rem);
  color: #fff;
}
.slidebox .slidecap .textbox .lead {
  font-size: clamp(1.6rem, 1.04vw, 2rem);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .slidebox .slidecap .textbox .lead {
    font-size: calc(13 / 420 * 100vw);
    line-height: 1.8461538462;
  }
}
.slidebox .slidecap .textbox .text {
  font-size: clamp(4.8rem, 5.2vw, 10rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .slidebox .slidecap .textbox .text {
    font-size: calc(49 / 420 * 100vw);
    line-height: 1.3265306122;
  }
}
.slidebox .slidecap .textbox .itemtxt {
  font-family: var(--font-en);
  font-size: clamp(1.4rem, 0.94vw, 1.8rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 2.5;
}
@media (max-width: 768px) {
  .slidebox .slidecap .textbox .itemtxt {
    font-size: calc(9 / 420 * 100vw);
  }
}
.slidebox .slidecap picture,
.slidebox .slidecap img {
  display: block;
  width: 100%;
}

@media (max-width: 768px) {
  body.home #footerbox {
    padding-block: calc(64 / 420 * 100vw) calc(40 / 420 * 100vw);
  }
}

#footerbox {
  position: relative;
  padding-block: 9.5rem 7rem;
}
@media (max-width: 768px) {
  #footerbox {
    padding-block: 0 calc(40 / 420 * 100vw);
  }
  #footerbox .inner {
    width: auto;
    padding-inline: calc(30 / 420 * 100vw);
  }
}
#footerbox:before, #footerbox:after {
  content: "";
  position: absolute;
  width: 50%;
  height: 1rem;
  bottom: 0;
}
#footerbox:before {
  background-color: #1D69B2;
  left: 0;
}
#footerbox:after {
  background-color: #D73033;
  right: 0;
}
#footerbox .lead {
  padding-bottom: 1rem;
  border-bottom: 1px solid #E5E6E8;
  color: #E5E6E8;
  font-family: var(--font-en);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  #footerbox .lead {
    font-size: calc(13 / 420 * 100vw);
    margin-bottom: calc(8 / 420 * 100vw);
    padding-bottom: calc(8 / 420 * 100vw);
  }
}
#footerbox .copy {
  display: flex;
  justify-content: flex-end;
  color: #666;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: right;
}
@media (max-width: 768px) {
  #footerbox .copy {
    text-align: center;
    font-size: calc(11 / 420 * 100vw);
    justify-content: center;
  }
}
#footerbox .databox .logo {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  #footerbox .databox .logo {
    margin-bottom: calc(20 / 420 * 100vw);
    width: calc(220 / 420 * 100vw);
  }
}
#footerbox .databox .address {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #footerbox .databox .address {
    font-size: calc(13 / 420 * 100vw);
    line-height: 1.6153846154;
  }
}
#footerbox .contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: clamp(6rem, 5.6vw, 10.7rem);
}
@media (max-width: 1099px) {
  #footerbox .contents {
    justify-content: flex-start;
    gap: calc(40 / 420 * 100vw);
  }
}
#footerbox .menubox {
  display: flex;
  align-items: flex-start;
  gap: 5.5rem;
}
@media (max-width: 768px) {
  #footerbox .menubox {
    flex-wrap: wrap;
    gap: calc(40 / 420 * 100vw);
  }
}
#footerbox .menubox .box {
  width: 22rem;
}
@media (max-width: 768px) {
  #footerbox .menubox .box {
    width: calc((100% - calc(40 / 420 * 100vw)) / 2);
  }
}
#footerbox .menubox .box .title {
  margin-bottom: 1.2rem;
  padding-bottom: 1.7rem;
  border-bottom: 1px solid #E5E6E8;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  #footerbox .menubox .box .title {
    padding-bottom: calc(10 / 420 * 100vw);
    margin-bottom: calc(14 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 2;
  }
}
#footerbox .menubox .box ul {
  color: #1A1A1A;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.06;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #footerbox .menubox .box ul {
    font-size: calc(14 / 420 * 100vw);
  }
}
#footerbox .menubox .box ul li a {
  transition: color 0.2s ease;
}
#footerbox .menubox .box ul li a:hover {
  color: #1D69B2;
}
@media (max-width: 768px) {
  #footerbox .menubox .box--menu {
    width: auto;
    margin-inline: auto;
  }
  #footerbox .menubox .box--menu h3 {
    display: none;
  }
  #footerbox .menubox .box--menu ul {
    display: flex;
    justify-content: center;
    gap: calc(20 / 420 * 100vw);
    font-size: calc(12 / 420 * 100vw);
  }
}

.pagehead {
  position: relative;
  margin-inline: 3rem;
  border-radius: 1rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  .pagehead {
    margin-inline: initial;
    border-radius: 0;
  }
  .pagehead .inner {
    width: auto;
    padding-inline: 2rem;
  }
}
.pagehead .title {
  color: #1A1A1A;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.77;
}
@media (max-width: 768px) {
  .pagehead .title {
    font-size: calc(32 / 420 * 100vw);
  }
}
.pagehead--text .inner {
  position: relative;
  padding-block: 5.6rem 5.7rem;
}
@media (max-width: 768px) {
  .pagehead--text .inner {
    padding-block: calc(36 / 420 * 100vw) calc(57 / 420 * 100vw);
  }
}
.pagehead--text .title {
  font-size: 3.9rem;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .pagehead--text .title {
    font-size: calc(32 / 420 * 100vw);
  }
}
.pagehead--text .entxt {
  position: absolute;
  right: 0;
  bottom: -1rem;
  color: #FFF;
  font-family: var(--font-en);
  font-size: 9rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  pointer-events: none;
  user-select: none;
}
@media (max-width: 768px) {
  .pagehead--text .entxt {
    font-size: calc(40 / 420 * 100vw);
    line-height: 1;
    bottom: calc(-4 / 420 * 100vw);
    right: calc(20 / 420 * 100vw);
  }
}
.pagehead--itembox .lead {
  padding-top: 1.6rem;
}
@media (max-width: 768px) {
  .pagehead--itembox .lead {
    padding-top: calc(16 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
  }
  .pagehead--itembox .lead br {
    display: none;
  }
}
.pagehead--itembox .inner {
  padding-bottom: 8.1rem;
}
.pagehead--business {
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .pagehead--business {
    margin-bottom: calc(32 / 420 * 100vw);
  }
}
.pagehead--business .inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4rem;
  width: min(100% - 6rem, 116rem);
}
@media (max-width: 768px) {
  .pagehead--business .inner {
    flex-direction: column;
    width: auto;
    gap: initial;
    padding-bottom: calc(62 / 420 * 100vw);
  }
}
.pagehead--business .textbox {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .pagehead--business .textbox {
    display: block;
    width: 100%;
  }
}
.pagehead--business h2.title {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 2px solid #E5E6E8;
  color: #1A1A1A;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .pagehead--business h2.title {
    font-size: calc(32 / 420 * 100vw);
    line-height: 1;
    padding-bottom: calc(15 / 420 * 100vw);
    margin-bottom: calc(16 / 420 * 100vw);
  }
}
.pagehead--business h2.title .itemtext {
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .pagehead--business h2.title .itemtext {
    font-size: calc(13 / 420 * 100vw);
    line-height: 1;
  }
}
.pagehead--business .entxt {
  left: 0;
  right: auto;
  font-size: clamp(40px, 7.292vw, 140px);
  line-height: 1;
  left: 0;
  right: auto;
  bottom: clamp(-16px, -0.83vw, 0px);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .pagehead--business .entxt {
    font-size: calc(40 / 420 * 100vw);
    bottom: 0;
  }
}
.pagehead--business .lead {
  position: relative;
  z-index: 2;
  color: #666;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .pagehead--business .lead {
    padding-top: calc(16 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
  }
}
.pagehead--business .capbox {
  flex-shrink: 0;
  width: 100%;
  max-width: 54rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .pagehead--business .capbox {
    max-width: none;
  }
}
.pagehead--business .capbox img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (max-width: 768px) {
  .pagehead--business .capbox img {
    border-radius: calc(10 / 420 * 100vw);
  }
}

.topicpath {
  padding-block: 1.6rem;
  color: #666;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 3.5rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .topicpath {
    padding-block: calc(11 / 420 * 100vw);
    line-height: 1;
    font-size: 1.1rem;
  }
  .topicpath .inner {
    width: auto;
    padding-inline: calc(20 / 420 * 100vw);
  }
}
.topicpath ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem;
}
.topicpath ul li:first-child {
  display: flex;
  align-items: center;
}
.topicpath ul li:first-child::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  margin-right: 0.8rem;
  border-radius: 0.2rem;
  background: #1D69B2;
}
.topicpath ul li:not(:last-child)::after {
  content: ">";
  padding-left: 1.2rem;
}
.topicpath a {
  color: #1D69B2;
  transition: opacity 0.2s ease;
}
.topicpath a:hover {
  opacity: 0.7;
}

#page-404 .pagehead {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 6.6rem 5.9rem;
  margin-bottom: 6.5rem;
}
@media (max-width: 768px) {
  #page-404 .pagehead {
    padding-block: calc(34 / 420 * 100vw);
    margin-bottom: calc(32 / 420 * 100vw);
    text-align: center;
  }
  #page-404 .pagehead .title {
    font-size: calc(23 / 420 * 100vw);
  }
}
#page-404 .contents {
  text-align: center;
}
@media (max-width: 768px) {
  #page-404 .contents {
    padding-inline: 2rem;
  }
}
#page-404 .contents .title {
  margin-bottom: 2.4rem;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  #page-404 .contents .title {
    font-size: calc(24 / 420 * 100vw);
    margin-bottom: calc(24 / 420 * 100vw);
  }
}
#page-404 .contents .text {
  color: #666;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  #page-404 .contents .text {
    text-align: left;
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
    margin-bottom: calc(32 / 420 * 100vw);
  }
}

#page-sitemap .contents {
  max-width: 110rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  #page-sitemap .contents .inner {
    width: auto;
    padding-inline: calc(60 / 420 * 100vw);
  }
}
#page-sitemap .pagehead {
  margin-bottom: 7rem;
}
@media (max-width: 768px) {
  #page-sitemap .pagehead {
    margin-bottom: calc(40 / 420 * 100vw);
  }
}

.menucontents {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(2rem, 2vw, 4rem);
}
@media (max-width: 768px) {
  .menucontents {
    display: block;
  }
}
.menucontents .menubox {
  width: 100%;
  max-width: 26rem;
}
@media (max-width: 768px) {
  .menucontents .menubox:not(:last-of-type) {
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
.menucontents .menubox--large {
  max-width: 54rem;
}
.menucontents .menubox .box {
  display: flex;
  align-items: flex-start;
  gap: clamp(4rem, 5vw, 3rem);
}
@media (max-width: 768px) {
  .menucontents .menubox .box {
    display: block;
  }
}
.menucontents .menubox .box .itemlist:not(:last-child) {
  margin-bottom: 3.2rem;
}
@media (max-width: 768px) {
  .menucontents .menubox .box .itemlist:not(:last-child) {
    margin-bottom: calc(32 / 420 * 100vw);
  }
}
.menucontents .title {
  margin-bottom: 2.4rem;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid #E5E6E8;
  color: #1D69B2;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .menucontents .title {
    font-size: calc(17 / 420 * 100vw);
    padding-bottom: calc(12 / 420 * 100vw);
    margin-bottom: calc(12 / 420 * 100vw);
  }
}
.menucontents .itemlist {
  line-height: 2.06;
}
.menucontents .itemlist li + li {
  margin-top: 0.4rem;
}
.menucontents .txt {
  color: #1A1A1A;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: opacity 0.2s ease;
}
@media (max-width: 768px) {
  .menucontents .txt {
    font-size: calc(16 / 420 * 100vw);
  }
}
.menucontents .txt::before {
  content: ">";
  display: inline-block;
  margin-right: 0.8rem;
}
@media (max-width: 768px) {
  .menucontents .txt::before {
    margin-right: calc(8 / 420 * 100vw);
  }
}
.menucontents .txt::before {
  color: #1D69B2;
}
.menucontents .txt:hover {
  opacity: 0.7;
}
.menucontents .minlist {
  margin-top: 0.8rem;
  padding-left: 2rem;
}
.menucontents .minlist li {
  color: #666;
  font-size: 1.4rem;
  line-height: 2;
  display: flex;
  align-items: flex-start;
}
.menucontents .minlist li::before {
  content: "-";
  margin-right: 1rem;
  color: #1D69B2;
}

#page-privacy-policy .pagehead {
  margin-bottom: 6.9rem;
}
@media (max-width: 768px) {
  #page-privacy-policy .pagehead {
    margin-bottom: calc(32 / 420 * 100vw);
  }
}
#page-privacy-policy .contents {
  max-width: 84rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  #page-privacy-policy .contents {
    max-width: none;
    padding-inline: calc(20 / 420 * 100vw);
  }
}
#page-privacy-policy .colorbox {
  padding: 3rem 4rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.3rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  #page-privacy-policy .colorbox {
    padding: calc(30 / 420 * 100vw) calc(24 / 420 * 100vw);
  }
}
#page-privacy-policy .colorbox h3 {
  margin-bottom: 0.5rem;
  color: #1A1A1A;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #page-privacy-policy .colorbox h3 {
    margin-bottom: calc(10 / 420 * 100vw);
    font-size: calc(18 / 420 * 100vw);
  }
}

.article-content {
  line-height: 2;
}
.article-content > * + * {
  margin-top: 2.4rem;
}
.article-content .wp-block-group {
  margin-block: 4.8rem;
}
@media (max-width: 768px) {
  .article-content .wp-block-group {
    margin-block: calc(40 / 420 * 100vw);
  }
}
.article-content h2 {
  position: relative;
  padding-bottom: 2rem;
  margin-bottom: 2.2rem;
  border-bottom: 2px solid #E5E6E8;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .article-content h2 {
    font-size: calc(21 / 420 * 100vw);
    line-height: 2.5238095238;
    color: #1a1a1a;
    padding-bottom: calc(10 / 420 * 100vw);
    margin-bottom: calc(10 / 420 * 100vw);
  }
}
.article-content h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 16rem;
  height: 2px;
  background: #1D69B2;
}
@media (max-width: 768px) {
  .article-content h2::before {
    width: calc(80 / 420 * 100vw);
  }
}
.article-content h3 {
  margin-bottom: 1.6rem;
  color: #1A1A1A;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
}
.article-content p {
  color: #666;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .article-content p {
    font-size: 1.4rem;
    line-height: 1.8571428571;
  }
}
.article-content ul li {
  position: relative;
  padding-left: 2.4rem;
}
.article-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  width: 1.2rem;
  height: 1px;
  background: #1D69B2;
}
.article-content a {
  color: #1D69B2;
  text-decoration: underline;
}
.article-content a:hover {
  opacity: 0.7;
}
.article-content table {
  width: 100%;
  border-collapse: collapse;
}
.article-content table th,
.article-content table td {
  padding: 1.6rem;
  border: 1px solid #E5E6E8;
}
.article-content table th {
  background: #F5F5F7;
  font-weight: 700;
  white-space: nowrap;
}

.companybanner {
  background: url(../images/common/company-bannercap.jpg) no-repeat center top/cover;
  margin-inline: 3rem;
  border-radius: 1rem;
  padding-block: 15.5rem 11rem;
  color: white;
}
@media (max-width: 768px) {
  .companybanner {
    background: url(../images/common/company-bannercap_sp.jpg) no-repeat center top/cover;
    margin-inline: calc(10 / 420 * 100vw);
    padding-block: calc(40 / 420 * 100vw);
  }
}
.companybanner h3.title {
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .companybanner h3.title {
    font-size: calc(24 / 420 * 100vw);
    line-height: 1.25;
    margin-bottom: calc(16 / 420 * 100vw);
  }
}
.companybanner .lead {
  letter-spacing: 0.05em;
  line-height: 2.1875;
}
@media (max-width: 768px) {
  .companybanner .lead {
    font-size: 1.4rem;
    line-height: 1.8571428571;
    margin-bottom: calc(85 / 420 * 100vw);
  }
}
.companybanner .btnbox {
  margin-inline: auto 0;
  background-color: #D73033;
}
@media (max-width: 768px) {
  .companybanner .btnbox {
    margin-inline: auto;
  }
}
.companybanner .btnbox .icon {
  background-color: #D73033;
  color: white;
}
.companybanner--case {
  text-align: center;
  background: url(../images/common/company-bannercap_case.jpg) no-repeat center top/cover;
}
@media (max-width: 768px) {
  .companybanner--case {
    padding-block: calc(60 / 420 * 100vw);
  }
}
.companybanner--case h3.title {
  margin-bottom: 1.2rem;
}
.companybanner--case .lead {
  margin-bottom: 5rem;
}
@media (max-width: 768px) {
  .companybanner--case .lead {
    margin-bottom: calc(30 / 420 * 100vw);
  }
}
.companybanner--case .btnbox {
  margin-inline: auto;
}
.companybanner--business {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.companybanner--business .btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.2rem;
}
@media (max-width: 768px) {
  .companybanner--business .btns {
    flex-direction: column;
    gap: calc(24 / 420 * 100vw);
  }
}
.companybanner--business .btns .btnbox {
  margin-inline: 0;
}
.companybanner--business .btns .btnbox--case {
  background-color: white;
  color: #1A1A1A;
}
.companybanner--business .btns .btnbox--case .icon {
  background-color: white;
  color: #1A1A1A;
}

.pagetabsbox {
  margin-bottom: 6.4rem;
}
@media (max-width: 768px) {
  .pagetabsbox {
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
.pagetabsbox ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
  border-bottom: 2px solid #E5E6E8;
  padding-bottom: 4rem;
}
@media (max-width: 768px) {
  .pagetabsbox ul {
    width: auto;
    margin-inline: calc(10 / 420 * 100vw);
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    padding-bottom: calc(20 / 420 * 100vw);
  }
  .pagetabsbox ul::-webkit-scrollbar {
    display: none;
  }
}
.pagetabsbox a {
  display: flex;
  align-items: center;
  padding: 0.9rem 2.4rem 0.9rem 2rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
  color: #1A1A1A;
  font-weight: 500;
  line-height: 1.75;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
@media (max-width: 768px) {
  .pagetabsbox a {
    padding: calc(10 / 420 * 100vw) calc(12 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 1;
  }
}
.pagetabsbox a:hover, .pagetabsbox a.is-active {
  background: #1D69B2;
  border-color: #1D69B2;
  color: #FFF;
}

#page-company {
  --company-sticky-top: calc(9rem * (1 - var(--header-hide-progress, 0)));
  --company-pagetab-height: 8.8rem;
  scroll-padding-top: calc(var(--company-sticky-top) + var(--company-pagetab-height));
}
@media (max-width: 768px) {
  #page-company {
    --company-sticky-top: calc(calc(70 / 420 * 100vw) * (1 - var(--header-hide-progress, 0)));
    --company-pagetab-height: calc(calc(40 / 420 * 100vw) + calc(24 / 420 * 100vw) + 2px);
  }
}
#page-company .sticky-sentinel {
  height: 1px;
  margin: 0;
  pointer-events: none;
  visibility: hidden;
}
#page-company .pagetabsbox {
  position: sticky;
  top: var(--company-sticky-top);
  z-index: 15;
  background: var(--bg-color);
  opacity: calc(1 - var(--header-hide-progress, 0));
  transform: translateY(calc(-100% * var(--header-hide-progress, 0)));
}
#page-company .pagetabsbox.is-stuck::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  z-index: 0;
  width: 100vw;
  height: var(--company-sticky-top);
  background: var(--bg-color);
  transform: translateX(-50%);
  pointer-events: none;
}
#page-company .contents[id^=anchor],
#page-company .contents .bordertitle[id^=anchor] {
  scroll-margin-top: calc(var(--company-sticky-top) + var(--company-pagetab-height));
}
#page-company .pagehead {
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  #page-company .pagehead {
    margin-bottom: calc(32 / 420 * 100vw);
  }
  #page-company .pagehead .inner {
    padding-bottom: calc(45 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  #page-company .contents .inner {
    width: auto;
    margin-inline: calc(20 / 420 * 100vw);
  }
  #page-company .contents .bordertitle {
    margin-bottom: calc(16 / 420 * 100vw);
    padding-bottom: calc(16 / 420 * 100vw);
    line-height: 1;
  }
}
#page-company .contents h3.title {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  #page-company .contents h3.title {
    margin-bottom: calc(10 / 420 * 100vw);
  }
}
#page-company .contents h3.title .entext,
#page-company .contents h3.title .text {
  display: block;
}
#page-company .contents h3.title .entext {
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 2rem;
  font-weight: 600;
  line-height: 3;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #page-company .contents h3.title .entext {
    font-size: calc(18 / 420 * 100vw);
    line-height: 1;
    margin-bottom: calc(5 / 420 * 100vw);
  }
}
#page-company .contents h3.title .text {
  color: #1A1A1A;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.47;
}
@media (max-width: 768px) {
  #page-company .contents h3.title .text {
    font-size: calc(28 / 420 * 100vw);
    line-height: 1.2857142857;
  }
}
#page-company .contents--message {
  line-height: 2;
  margin-bottom: 9.6rem;
}
@media (max-width: 768px) {
  #page-company .contents--message {
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
#page-company .contents--message .inner {
  display: flex;
  flex-direction: row-reverse;
  gap: clamp(3rem, 4vw, 6rem);
}
@media (max-width: 768px) {
  #page-company .contents--message .inner {
    display: block;
    width: auto;
  }
}
#page-company .contents--message .textbox {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  #page-company .contents--message .textbox {
    margin-bottom: calc(74 / 420 * 100vw);
  }
}
#page-company .contents--message .textbox .text {
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  #page-company .contents--message .textbox .text {
    margin-bottom: calc(24 / 420 * 100vw);
  }
}
#page-company .contents--message .textbox .itemtext {
  text-align: right;
  font-weight: 600;
}
#page-company .contents--message .capbox {
  flex: 0 0 32rem;
  background: #F5F5F7;
}
#page-company .contents--message .capbox img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.5rem 0.5rem 0 0;
}
#page-company .contents--message .capbox .databox {
  padding: 2.4rem 0 4rem;
  border: 1px solid #E5E6E8;
  border-top: 0;
  border-radius: 0 0 0.5rem 0.5rem;
}
@media (max-width: 768px) {
  #page-company .contents--message .capbox .databox {
    padding: calc(24 / 420 * 100vw) 0 calc(31 / 420 * 100vw);
  }
}
#page-company .contents--message .capbox .databox .entxt {
  position: relative;
  display: inline-block;
  margin: 0 0 2rem 1.6rem;
  padding-bottom: 1rem;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #page-company .contents--message .capbox .databox .entxt {
    margin: 0 0 calc(20 / 420 * 100vw) calc(16 / 420 * 100vw);
    font-size: calc(12 / 420 * 100vw);
  }
}
#page-company .contents--message .capbox .databox .entxt::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3rem;
  height: 1px;
  background: #1D69B2;
}
#page-company .contents--message .capbox .databox .text {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  padding: 0 0 1.5rem 3.1rem;
  border-bottom: 1px solid #E5E6E8;
  color: #1A1A1A;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #page-company .contents--message .capbox .databox .text {
    font-size: calc(17 / 420 * 100vw);
    margin-bottom: calc(12 / 420 * 100vw);
    padding-bottom: calc(12 / 420 * 100vw);
  }
}
#page-company .contents--message .capbox .databox .text .txt {
  color: #666;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2.7;
}
@media (max-width: 768px) {
  #page-company .contents--message .capbox .databox .text .txt {
    font-size: calc(13 / 420 * 100vw);
  }
}
#page-company .contents--message .capbox .databox ul {
  padding-inline: 3rem;
  color: #666;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.77;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #page-company .contents--message .capbox .databox ul {
    padding-inline: calc(19 / 420 * 100vw);
    font-size: calc(13 / 420 * 100vw);
    line-height: 1.7692307692;
  }
}
#page-company .contents--message .capbox .databox ul li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}
#page-company .contents--message .capbox .databox ul li::before {
  content: "・";
  flex-shrink: 0;
  color: #1D69B2;
}
#page-company .contents--message .capbox .databox ul li:not(:last-child) {
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  #page-company .contents--message .capbox .databox ul li:not(:last-child) {
    margin-bottom: calc(5 / 420 * 100vw);
  }
}
#page-company .contents--vision {
  padding-top: 8rem;
  margin-bottom: 12rem;
}
@media (max-width: 768px) {
  #page-company .contents--vision {
    padding-top: calc(56 / 420 * 100vw);
    margin-bottom: calc(48 / 420 * 100vw);
  }
  #page-company .contents--vision .inner {
    width: auto;
  }
  #page-company .contents--vision .inner .box {
    margin-bottom: calc(32 / 420 * 100vw);
  }
}
#page-company .contents--vision h3.title {
  text-align: center;
}
#page-company .contents--vision .itembox {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 768px) {
  #page-company .contents--vision .itembox {
    flex-direction: column;
    gap: calc(12 / 420 * 100vw);
  }
}
#page-company .contents--vision .itembox li {
  flex: 1;
  padding: 4rem 4rem 4.9rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  #page-company .contents--vision .itembox li {
    padding: calc(30 / 420 * 100vw) calc(20 / 420 * 100vw) calc(34 / 420 * 100vw);
  }
}
#page-company .contents--vision .itembox li .title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.8rem;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  #page-company .contents--vision .itembox li .title {
    gap: calc(12 / 420 * 100vw);
    margin-bottom: calc(16 / 420 * 100vw);
  }
}
#page-company .contents--vision .itembox li .title .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 0.5rem;
  background: #1D69B2;
  color: #FFF;
  font-family: var(--font-en);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #page-company .contents--vision .itembox li .title .icon {
    width: calc(40 / 420 * 100vw);
    height: calc(40 / 420 * 100vw);
    font-size: calc(18 / 420 * 100vw);
  }
}
#page-company .contents--vision .itembox li .title .text {
  color: #222;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (max-width: 768px) {
  #page-company .contents--vision .itembox li .title .text {
    font-size: calc(24 / 420 * 100vw);
  }
}
#page-company .contents--vision .itembox li > .text {
  color: #666;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  #page-company .contents--vision .itembox li > .text {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
  }
}
#page-company .contents--mission {
  background: url(../images/company/mission-cap.jpg) no-repeat center center/cover;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 19.9rem 24.2rem;
  text-align: center;
}
#page-company .contents--mission .leadtxt {
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 2.12;
}
#page-company .contents--mission h3.title .text,
#page-company .contents--mission h3.title .entext {
  color: #fff;
}
@media (max-width: 768px) {
  #page-company .contents--mission {
    background-image: url(../images/company/mission-cap_sp.jpg);
    padding-block: calc(144 / 420 * 100vw) calc(164 / 420 * 100vw);
  }
  #page-company .contents--mission h3.title {
    margin-bottom: calc(24 / 420 * 100vw);
  }
  #page-company .contents--mission h3.title .entext {
    margin-bottom: calc(12 / 420 * 100vw);
  }
  #page-company .contents--mission .leadtxt {
    font-size: 1.8rem;
    line-height: 2;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  #page-company .contents--mission .leadtxt {
    font-size: calc(18 / 420 * 100vw);
    line-height: 1.5;
  }
}
#page-company .contents--philosophy {
  padding-block: 8rem 8.3rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy {
    padding-bottom: calc(56 / 420 * 100vw);
  }
  #page-company .contents--philosophy .inner {
    width: auto;
    margin-inline: initial;
  }
}
#page-company .contents--philosophy h3.title {
  margin-bottom: 5rem;
  text-align: center;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy h3.title {
    margin-bottom: calc(24 / 420 * 100vw);
  }
  #page-company .contents--philosophy h3.title .text {
    text-align: center;
  }
}
#page-company .contents--philosophy ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy ul {
    flex-wrap: wrap;
    gap: calc(8 / 420 * 100vw);
  }
}
#page-company .contents--philosophy li {
  flex: 0 0 28rem;
  border: 1px solid #E5E6E8;
  text-align: center;
  position: relative;
  padding-top: 1rem;
  background: #FFF;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy li {
    flex: 0 0 calc(192 / 420 * 100vw);
  }
}
#page-company .contents--philosophy li .box {
  position: relative;
  z-index: 2;
  background: #FFF;
  padding: 4rem 2.4rem;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy li .box {
    padding: calc(17 / 420 * 100vw) calc(17 / 420 * 100vw);
  }
}
#page-company .contents--philosophy li:before {
  content: "";
  background-color: #1D69B2;
  width: 100%;
  height: 10px;
  border-radius: 0.5rem 0.5rem 0 0;
  position: absolute;
  left: 0;
  top: 0;
}
#page-company .contents--philosophy .icontxt {
  display: block;
  margin-bottom: 2.4rem;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 10rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy .icontxt {
    font-size: calc(64 / 420 * 100vw);
    margin-bottom: calc(5 / 420 * 100vw);
  }
}
#page-company .contents--philosophy .title {
  margin-bottom: 1.6rem;
  color: #1A1A1A;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy .title {
    font-size: calc(18 / 420 * 100vw);
    margin-bottom: calc(10 / 420 * 100vw);
  }
}
#page-company .contents--philosophy h4 {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  color: #1A1A1A;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy h4 {
    margin-bottom: calc(12 / 420 * 100vw);
    font-size: calc(18 / 420 * 100vw);
  }
}
#page-company .contents--philosophy h4 .entxt {
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy h4 .entxt {
    font-size: calc(14 / 420 * 100vw);
  }
}
#page-company .contents--philosophy .text {
  color: #666;
  font-size: 1.5rem;
  line-height: 2;
}
@media (max-width: 768px) {
  #page-company .contents--philosophy .text {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.6428571429;
    text-align: left;
  }
  #page-company .contents--philosophy .text br {
    display: none;
  }
}
#page-company .contents--company {
  margin-bottom: 12rem;
}
@media (max-width: 768px) {
  #page-company .contents--company {
    margin-bottom: calc(48 / 420 * 100vw);
  }
}
#page-company .contents--group {
  padding-block: 8rem 8.3rem;
  background: #F5F5F7;
  margin-bottom: 8rem;
}
@media (max-width: 768px) {
  #page-company .contents--group {
    padding-block: calc(56 / 420 * 100vw) calc(50 / 420 * 100vw);
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
#page-company .contents--group h3.title {
  text-align: center;
}
@media (max-width: 768px) {
  #page-company .contents--group h3.title {
    margin-bottom: calc(24 / 420 * 100vw);
  }
}
#page-company .contents--group .leadtext {
  margin-bottom: 6rem;
  text-align: center;
  line-height: 2;
}
@media (max-width: 768px) {
  #page-company .contents--group .leadtext {
    text-align: left;
    margin-bottom: calc(24 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
  }
}
#page-company .contents--group .listbox {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .listbox {
    flex-direction: column;
    gap: calc(12 / 420 * 100vw);
  }
}
#page-company .contents--group .listbox--child {
  margin-top: 3rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .listbox--child {
    margin-top: calc(20 / 420 * 100vw);
  }
}
#page-company .contents--group .box {
  position: relative;
  display: flex;
  flex: 0 0 38rem;
  flex-direction: column;
  padding: 3rem;
  border-radius: 0.5rem;
  background: #FFF;
}
@media (max-width: 768px) {
  #page-company .contents--group .box {
    padding: calc(30 / 420 * 100vw) calc(32 / 420 * 100vw);
  }
}
#page-company .contents--group .box .item {
  margin-bottom: 4.8rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .box .item {
    margin-bottom: calc(28 / 420 * 100vw);
  }
}
#page-company .contents--group .box--parent {
  flex: 1 1 auto;
  flex-direction: row;
  align-items: center;
  gap: 4rem;
  width: 100%;
  padding: 2.8rem 4rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .box--parent {
    flex-direction: column;
    align-items: stretch;
    gap: calc(20 / 420 * 100vw);
    padding: calc(30 / 420 * 100vw) calc(32 / 420 * 100vw);
  }
}
#page-company .contents--group .box--parent .item {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 4rem;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  #page-company .contents--group .box--parent .item {
    flex-direction: column;
    align-items: stretch;
    gap: calc(16 / 420 * 100vw);
  }
}
#page-company .contents--group .box--parent .logo {
  flex-shrink: 0;
  width: 18rem;
  min-height: initial;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  #page-company .contents--group .box--parent .logo {
    width: calc(150 / 420 * 100vw);
    margin-inline: auto;
  }
}
#page-company .contents--group .box--parent .databox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem 2.8rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .box--parent .databox {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(10 / 420 * 100vw);
  }
}
#page-company .contents--group .box--parent .boxtitle {
  margin-bottom: 0;
}
#page-company .contents--group .box--parent .btnbox {
  flex-shrink: 0;
  margin-top: 0;
}
#page-company .contents--group .listbox--child .box {
  flex: 1 1 0;
  min-width: 0;
}
#page-company .contents--group .box--current {
  border: 1px solid #1D69B2;
  padding: 2.9rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .box--current {
    padding: calc(29 / 420 * 100vw) calc(31 / 420 * 100vw);
  }
}
#page-company .contents--group .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 14.5rem;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .logo {
    min-height: initial;
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
#page-company .contents--group .boxtitle {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  #page-company .contents--group .boxtitle {
    gap: calc(5 / 420 * 100vw);
    margin-bottom: calc(10 / 420 * 100vw);
  }
}
#page-company .contents--group .boxtitle .txt {
  color: #1A1A1A;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
#page-company .contents--group .boxtitle .entxt {
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#page-company .contents--group .itemtxt {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.8rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  color: #666;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #page-company .contents--group .itemtxt {
    font-size: calc(15 / 420 * 100vw);
    padding: calc(7 / 420 * 100vw) calc(18 / 420 * 100vw);
  }
}
#page-company .contents--group .list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 1.1rem;
  color: #666;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2.3rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #page-company .contents--group .list {
    padding-top: calc(11 / 420 * 100vw);
    font-size: calc(13 / 420 * 100vw);
  }
}
#page-company .contents--group .list li::before {
  content: "・";
  color: #1D69B2;
}
#page-company .contents--group .btnbox {
  position: relative;
  max-width: 23rem;
  min-height: 6.4rem;
  margin-top: auto;
  margin-inline: auto 0;
  background: #F5F5F7;
  border: 1px solid #E5E6E8;
  color: #1A1A1A;
}
@media (max-width: 768px) {
  #page-company .contents--group .btnbox {
    max-width: calc(230 / 420 * 100vw);
    min-height: calc(64 / 420 * 100vw);
    font-size: calc(16 / 420 * 100vw);
  }
}
#page-company .contents--group .btnbox::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.4rem;
  width: 1.7rem;
  height: 1.8rem;
  transform: translateY(-50%);
  background: url("../images/company/icon-link.svg") no-repeat center/cover;
}
@media (max-width: 768px) {
  #page-company .contents--group .btnbox::after {
    right: calc(24 / 420 * 100vw);
    width: calc(17 / 420 * 100vw);
    height: calc(18 / 420 * 100vw);
  }
}
#page-company .contents--group .btnbox--current {
  justify-content: center;
  border-color: #1D69B2;
  background: #1D69B2;
  color: #FFF;
}
#page-company .contents--group .btnbox--current::after {
  content: none;
}
#page-company .contents--access {
  margin-bottom: 12rem;
}
@media (max-width: 768px) {
  #page-company .contents--access {
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
#page-company .contents--access .map {
  width: 100%;
  margin-bottom: 2.4rem;
  aspect-ratio: 1200/382;
  overflow: hidden;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  #page-company .contents--access .map {
    aspect-ratio: 380/240;
    margin-bottom: calc(16 / 420 * 100vw);
  }
}
#page-company .contents--access .map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
#page-company .contents--time {
  margin-bottom: 12rem;
}
@media (max-width: 768px) {
  #page-company .contents--time {
    margin-bottom: calc(80 / 420 * 100vw);
  }
}
#page-company .contents--time .itembox {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6.4rem;
  margin-top: 2.4rem;
  padding-block: 3.5rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  #page-company .contents--time .itembox {
    flex-direction: column;
    gap: calc(16 / 420 * 100vw);
    margin-top: calc(16 / 420 * 100vw);
    padding: calc(24 / 420 * 100vw) calc(20 / 420 * 100vw);
  }
}
#page-company .contents--time .itembox .title {
  color: #222;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  #page-company .contents--time .itembox .title {
    font-size: calc(18 / 420 * 100vw);
  }
}
#page-company .contents--time .itembox .txt {
  color: #666;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #page-company .contents--time .itembox .txt {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
  }
}

@media (max-width: 768px) {
  #page-contact_thx .pagehead--text .inner {
    padding-bottom: calc(49 / 420 * 100vw);
  }
}
#page-contact_thx .contents {
  padding-top: 6.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  #page-contact_thx .contents {
    padding-top: calc(40 / 420 * 100vw);
    padding-inline: calc(20 / 420 * 100vw);
    text-align: left;
  }
  #page-contact_thx .contents .inner {
    width: auto;
  }
}
#page-contact_thx .contents h3 {
  margin-bottom: 2.4rem;
  color: #1A1A1A;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.76;
}
@media (max-width: 768px) {
  #page-contact_thx .contents h3 {
    text-align: center;
    font-size: calc(23 / 420 * 100vw);
    line-height: 1.652173913;
    margin-bottom: calc(24 / 420 * 100vw);
  }
}
#page-contact_thx .contents .wp-block-paragraph {
  color: #666;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #page-contact_thx .contents .wp-block-paragraph {
    margin-top: calc(24 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
  }
}
#page-contact_thx .contents .itemtel {
  display: inline-block;
  margin-top: 3.2rem;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  #page-contact_thx .contents .itemtel {
    margin-top: calc(17 / 420 * 100vw);
    font-size: calc(24 / 420 * 100vw);
    text-align: center;
    display: block;
  }
}

@media (max-width: 768px) {
  .archivenews .pagehead .inner {
    padding-bottom: calc(45 / 420 * 100vw);
  }
}
.archivenews .contents {
  padding-top: 8.2rem;
}
@media (max-width: 768px) {
  .archivenews .contents {
    padding-top: calc(24 / 420 * 100vw);
  }
}
.archivenews .contents .news-list {
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .archivenews .contents .news-list {
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
.archivenews .contents .inner {
  width: min(100% - 6rem, 116rem);
}
@media (max-width: 768px) {
  .archivenews .contents .inner {
    width: auto;
    padding-inline: calc(10 / 420 * 100vw);
  }
}
.archivenews .article-content {
  border-bottom: 2px solid #E5E6E8;
  padding-bottom: 6.4rem;
  margin-bottom: 2.4rem;
}

.news-item {
  padding-bottom: 3.1rem;
  border-bottom: 1px solid #E5E6E8;
}
@media (max-width: 768px) {
  .news-item {
    padding-bottom: calc(20 / 420 * 100vw);
  }
}
.news-item:not(:last-child) {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .news-item:not(:last-child) {
    margin-bottom: calc(20 / 420 * 100vw);
  }
}
.news-item .news-link {
  display: block;
}
.news-item .news-body {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .news-item .news-body {
    flex-direction: column;
    gap: calc(8 / 420 * 100vw);
  }
}
.news-item .news-meta {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .news-item .news-meta {
    gap: calc(15 / 420 * 100vw);
  }
}
.news-item .news-date {
  color: #666;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  .news-item .news-date {
    font-size: calc(14 / 420 * 100vw);
    line-height: 2;
  }
}
.news-item .news-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding-inline: 1.5rem;
  border: 1px solid #1D69B2;
  border-radius: 1.4rem;
  color: #1D69B2;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 768px) {
  .news-item .news-label {
    min-height: calc(25 / 420 * 100vw);
    font-size: calc(10 / 420 * 100vw);
    padding-inline: calc(10 / 420 * 100vw);
  }
}
.news-item .news-ttl {
  color: #1A1A1A;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .news-item .news-ttl {
    font-size: calc(16 / 420 * 100vw);
    line-height: 1.5625;
  }
}

.pagination--list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  min-height: 5rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
  color: #666;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  transition: 0.3s ease;
}
.pagination .page-numbers:hover, .pagination .page-numbers.current {
  background: #1D69B2;
  border-color: #1D69B2;
  color: #FFF;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  width: auto;
  padding-inline: 1.6rem;
  background: #FFF;
}
.pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover {
  background: #1D69B2;
  border-color: #1D69B2;
  color: #FFF;
}

.archivecase .pagehead {
  margin-bottom: 8.2rem;
}
@media (max-width: 768px) {
  .archivecase .pagehead {
    margin-bottom: calc(24 / 420 * 100vw);
  }
  .archivecase .pagehead .inner {
    padding-bottom: calc(45 / 420 * 100vw);
  }
}
.archivecase .contents .inner {
  width: min(100% - 6rem, 116rem);
}
@media (max-width: 768px) {
  .archivecase .contents .inner {
    width: auto;
    padding-inline: calc(10 / 420 * 100vw);
  }
}
.archivecase .news-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.6rem;
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  .archivecase .news-list {
    gap: calc(12 / 420 * 100vw);
    margin-bottom: calc(40 / 420 * 100vw);
  }
}
.archivecase .categorytabs {
  margin-bottom: 5rem;
}
@media (max-width: 768px) {
  .archivecase .categorytabs {
    margin-bottom: calc(30 / 420 * 100vw);
  }
}
.archivecase .categorytabs ul {
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .archivecase .categorytabs ul {
    justify-content: flex-start;
    gap: calc(8 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  .archivecase .categorytabs .txt {
    padding: 0 calc(16 / 420 * 100vw) calc(12 / 420 * 100vw);
    font-size: calc(13 / 420 * 100vw);
  }
}

.caselist {
  position: relative;
  padding: 2.4rem 3.2rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #FFF;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 768px) {
  .caselist {
    padding: calc(16 / 420 * 100vw) calc(16 / 420 * 100vw) calc(18 / 420 * 100vw);
  }
}
.caselist:hover {
  border-color: #1D69B2;
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.06);
}
.caselist:hover .specbox .icon {
  background: #1D69B2;
  color: #FFF;
}
.caselist .case-tabs {
  align-items: center;
}
.caselist .case-tabs .timetext {
  margin-left: auto;
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .caselist .case-tabs .timetext {
    font-size: calc(12 / 420 * 100vw);
  }
}
.caselist .databox .title {
  margin-bottom: 0.8rem;
  color: #1A1A1A;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .caselist .databox .title {
    font-size: calc(16 / 420 * 100vw);
    line-height: 1.5;
    margin-bottom: calc(5 / 420 * 100vw);
  }
}
.caselist .databox .lead {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .caselist .databox .lead {
    font-size: calc(13 / 420 * 100vw);
    line-height: 1.5384615385;
  }
}
.caselist .specbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem 3.2rem;
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  border-top: 1px solid #E5E6E8;
}
@media (max-width: 768px) {
  .caselist .specbox {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(6 / 420 * 100vw);
    margin-top: calc(12 / 420 * 100vw);
    padding-top: calc(12 / 420 * 100vw);
  }
}
.caselist .specbox .spec {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .caselist .specbox .spec {
    gap: calc(8 / 420 * 100vw);
    font-size: calc(12 / 420 * 100vw);
  }
}
.caselist .specbox .spec .ttl {
  flex-shrink: 0;
  color: #666;
  font-weight: 400;
}
.caselist .specbox .spec .txt {
  color: #1A1A1A;
  font-weight: 500;
}
.caselist .specbox .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.6rem;
  height: 3.6rem;
  margin-left: auto;
  border-radius: 50%;
  background: #F5F5F7;
  color: #1D69B2;
  font-size: 1.5rem;
  font-style: normal;
  line-height: 1;
  transition: background 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .caselist .specbox .icon {
    width: calc(30 / 420 * 100vw);
    height: calc(30 / 420 * 100vw);
    font-size: calc(13 / 420 * 100vw);
  }
}

.casecard {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  padding: 2.8rem 2.8rem 2rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #FFF;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
@media (max-width: 768px) {
  .casecard {
    padding: calc(20 / 420 * 100vw) calc(20 / 420 * 100vw) calc(16 / 420 * 100vw);
  }
}
.casecard:hover {
  border-color: #1D69B2;
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.06);
  transform: translateY(-0.2rem);
}
.casecard:hover .footbox .icon {
  background: #1D69B2;
  color: #FFF;
}
.casecard .title {
  margin-bottom: 1rem;
  color: #1A1A1A;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .casecard .title {
    font-size: calc(16 / 420 * 100vw);
    line-height: 1.5;
    margin-bottom: calc(8 / 420 * 100vw);
  }
}
.casecard .lead {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .casecard .lead {
    font-size: calc(13 / 420 * 100vw);
    line-height: 1.5384615385;
  }
}
.casecard .specbox {
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  border-top: 1px solid #E5E6E8;
}
@media (max-width: 768px) {
  .casecard .specbox {
    margin-top: calc(12 / 420 * 100vw);
    padding-top: calc(12 / 420 * 100vw);
  }
}
.casecard .specbox .spec {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .casecard .specbox .spec {
    gap: calc(8 / 420 * 100vw);
    font-size: calc(12 / 420 * 100vw);
  }
}
.casecard .specbox .spec .ttl {
  flex-shrink: 0;
  width: 6.4rem;
  color: #666;
  font-weight: 400;
}
@media (max-width: 768px) {
  .casecard .specbox .spec .ttl {
    width: calc(58 / 420 * 100vw);
  }
}
.casecard .specbox .spec .txt {
  color: #1A1A1A;
  font-weight: 500;
}
.casecard .footbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  margin-top: auto;
  padding-top: 2rem;
}
@media (max-width: 768px) {
  .casecard .footbox {
    padding-top: calc(16 / 420 * 100vw);
  }
}
.casecard .footbox .timetext {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .casecard .footbox .timetext {
    font-size: calc(12 / 420 * 100vw);
  }
}
.casecard .footbox .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  background: #F5F5F7;
  color: #1D69B2;
  font-size: 1.5rem;
  font-style: normal;
  line-height: 1;
  transition: background 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .casecard .footbox .icon {
    width: calc(30 / 420 * 100vw);
    height: calc(30 / 420 * 100vw);
    font-size: calc(13 / 420 * 100vw);
  }
}

.case-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  .case-tabs {
    gap: calc(4 / 420 * 100vw);
    margin-bottom: calc(8 / 420 * 100vw);
  }
}
.case-tabs .txt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding-inline: 1.6rem;
  border-radius: 1.4rem;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  background: #1D69B2;
  color: #FFF;
}
@media (max-width: 768px) {
  .case-tabs .txt {
    font-size: calc(10 / 420 * 100vw);
    min-height: calc(25 / 420 * 100vw);
    padding-inline: calc(10 / 420 * 100vw);
  }
}
.case-tabs .txt.item-txt {
  border: 1px solid #1D69B2;
  background: #FFF;
  color: #1D69B2;
}

.itembtn {
  text-align: center;
}
.itembtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12rem;
  min-height: 5rem;
  margin-inline: auto;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
  color: #666;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  transition: 0.3s ease;
}
@media (max-width: 768px) {
  .itembtn a {
    width: calc(120 / 420 * 100vw);
    min-height: calc(50 / 420 * 100vw);
    font-size: calc(15 / 420 * 100vw);
  }
}
.itembtn a:hover {
  border-color: #1D69B2;
  color: #1D69B2;
  background: #FFF;
}

.postnavbox {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
}

.singlecase .contents {
  margin-bottom: 10rem;
}
@media (max-width: 768px) {
  .singlecase .contents {
    margin-bottom: calc(80 / 420 * 100vw);
  }
}
.singlecase .contents .inner {
  width: min(100% - 4rem, 84rem);
}
@media (max-width: 768px) {
  .singlecase .contents .inner {
    width: auto;
    padding-inline: calc(20 / 420 * 100vw);
  }
}
.singlecase .contents .article-content {
  color: #1A1A1A;
}
.singlecase .contents .article-content p {
  margin-top: 24px;
  color: #1A1A1A;
}
.singlecase .contents .article-content .contentsbox {
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .singlecase .contents .article-content .contentsbox {
    margin-bottom: calc(48 / 420 * 100vw);
  }
}
.singlecase .contents .article-content .capbox .cap {
  margin-bottom: 2.4rem;
}
.singlecase .contents .article-content .capbox .cap img {
  display: block;
  width: 100%;
  height: auto;
}
.singlecase .contents .article-content .capbox .text .item {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.singlecase .contents .itemlist {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
@media (max-width: 768px) {
  .singlecase .contents .itemlist {
    gap: calc(8 / 420 * 100vw);
  }
}
.singlecase .contents .itemlist li {
  display: flex;
  align-items: center;
  min-height: 6.4rem;
  padding-inline: 3.6rem;
  border: 1px solid #E5E6E8;
  border-radius: 3.2rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  .singlecase .contents .itemlist li {
    min-height: calc(54 / 420 * 100vw);
    padding-inline: calc(24 / 420 * 100vw);
  }
}
.singlecase .contents .itemlist li::before {
  content: none;
}
.singlecase .contents .itemlist li .text {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  color: #1A1A1A;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .singlecase .contents .itemlist li .text {
    font-size: calc(14 / 420 * 100vw);
    line-height: 2;
  }
}
.singlecase .contents .itemlist li .text::before {
  content: "";
  flex-shrink: 0;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: #1D69B2;
}
.singlecase .contents .connection {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding-top: 2.4rem;
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .singlecase .contents .connection {
    padding-top: calc(16 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.7142857143;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
  }
  .singlecase .contents .connection .ttl {
    flex-shrink: 0;
  }
}
.singlecase .contents .connection .txt {
  color: #1D69B2;
  font-weight: 500;
}
@media (max-width: 768px) {
  .singlecase .contents .connection .txt {
    flex-wrap: wrap;
  }
}
.singlecase .casehead {
  margin-bottom: 8rem;
}
@media (max-width: 768px) {
  .singlecase .casehead {
    margin-bottom: calc(48 / 420 * 100vw);
  }
}
.singlecase .casehead .databox {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid #E5E6E8;
}
@media (max-width: 768px) {
  .singlecase .casehead .databox {
    margin-bottom: calc(16 / 420 * 100vw);
    margin-bottom: calc(16 / 420 * 100vw);
  }
}
.singlecase .casehead .title {
  margin-bottom: 1.2rem;
  color: #1A1A1A;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.47;
}
@media (max-width: 768px) {
  .singlecase .casehead .title {
    font-size: calc(28 / 420 * 100vw);
    margin-bottom: calc(8 / 420 * 100vw);
    line-height: 1.2857142857;
  }
}
.singlecase .casehead .lead {
  color: #666;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .singlecase .casehead .lead {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.7142857143;
  }
}
.singlecase .casehead .information {
  padding: 1.5rem 0 2.4rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.3rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  .singlecase .casehead .information {
    padding: calc(16 / 420 * 100vw) 0 calc(20 / 420 * 100vw);
  }
}
.singlecase .casehead .information .infotitle {
  margin-bottom: 2.4rem;
  padding-left: 4rem;
  border-bottom: 1px solid #E5E6E8;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 4;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .singlecase .casehead .information .infotitle {
    padding-left: calc(24 / 420 * 100vw);
    padding-bottom: calc(13 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 4.2857142857;
  }
}
.singlecase .casehead .information dl.box {
  display: flex;
  align-items: flex-start;
  gap: 6rem;
  padding-inline: 4rem;
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .singlecase .casehead .information dl.box {
    gap: calc(20 / 420 * 100vw);
    padding-inline: calc(24 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
    line-height: 2;
  }
}
.singlecase .casehead .information dl.box:not(:last-child) {
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  .singlecase .casehead .information dl.box:not(:last-child) {
    margin-bottom: calc(12 / 420 * 100vw);
  }
}
.singlecase .casehead .information dl.box dt.ttl {
  flex-shrink: 0;
  width: 7rem;
  color: #1A1A1A;
  font-weight: 500;
}
@media (max-width: 768px) {
  .singlecase .casehead .information dl.box dt.ttl {
    width: calc(70 / 420 * 100vw);
  }
}
.singlecase .casehead .information dl.box dd {
  flex: 1;
  min-width: 0;
}

.othercontents {
  display: flex;
  border: 1px solid #E5E6E8;
  overflow: hidden;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .othercontents {
    margin-bottom: calc(24 / 420 * 100vw);
    flex-direction: column;
  }
}
.othercontents--single .box {
  width: 100%;
}
@media (max-width: 768px) {
  .othercontents--single .box {
    width: 100%;
  }
}
.othercontents--single .box--next {
  border-left: none;
}
@media (max-width: 768px) {
  .othercontents--single .box--next {
    border-top: none;
  }
}
.othercontents--single .box--next .capbox {
  flex-direction: row;
}
.othercontents--single .box--next .capbox .item {
  text-align: left;
}
.othercontents .box {
  position: relative;
  width: 50%;
  padding: 2rem;
}
@media (max-width: 768px) {
  .othercontents .box {
    width: auto;
    padding: calc(15 / 420 * 100vw);
  }
}
.othercontents .box--next {
  border-left: 1px solid #E5E6E8;
}
@media (max-width: 768px) {
  .othercontents .box--next {
    border-left: none;
    border-top: 1px solid #E5E6E8;
  }
}
.othercontents .box--next .capbox {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .othercontents .box--next .capbox {
    flex-direction: row;
  }
}
.othercontents .box--next .capbox .item {
  text-align: right;
}
@media (max-width: 768px) {
  .othercontents .box--next .capbox .item {
    text-align: left;
  }
}
.othercontents .box .capbox {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
@media (max-width: 768px) {
  .othercontents .box .capbox {
    gap: calc(12 / 420 * 100vw);
  }
}
.othercontents .box .item {
  color: #666;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2.3;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .othercontents .box .item {
    font-size: calc(12 / 420 * 100vw);
    line-height: 2.3333333333;
  }
}
.othercontents .box .lead {
  color: #1A1A1A;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .othercontents .box .lead {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.5714285714;
  }
}

.downloadbox {
  text-align: center;
}
.downloadbox .box:not(:last-of-type) {
  margin-bottom: 2.6rem;
}
.downloadbox .box a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  position: relative;
  padding: 2rem 4.3rem;
  border-radius: 0.5rem;
  background: #1D69B2;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  transition: 0.3s ease;
  text-decoration: none;
}
.downloadbox .box a:hover {
  opacity: 0.85;
}
.downloadbox .box dl {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.downloadbox .box dt {
  position: relative;
  padding-right: 2rem;
}
.downloadbox .box dt:before, .downloadbox .box dt:after {
  content: "";
  width: 2px;
  height: 32px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.downloadbox .box dt:before {
  background-color: #155B9F;
  right: 1px;
}
.downloadbox .box dt:after {
  background-color: #226DB5;
}
.downloadbox .box dt,
.downloadbox .box dd {
  margin: 0;
}

.pagecontents {
  margin-bottom: 12rem;
}
@media (max-width: 768px) {
  .pagecontents {
    margin-bottom: calc(100 / 420 * 100vw);
  }
}
.pagecontents--business {
  --business-sticky-top: calc(9rem * (1 - var(--header-hide-progress, 0)));
  --business-pagenav-height: 9.8rem;
}
@media (max-width: 768px) {
  .pagecontents--business {
    --business-sticky-top: calc(calc(70 / 420 * 100vw) * (1 - var(--header-hide-progress, 0)));
    --business-pagenav-height: calc(calc(40 / 420 * 100vw) + calc(24 / 420 * 100vw) + 2px);
    margin-bottom: calc(63 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  .pagecontents--business .contents {
    margin-bottom: calc(80 / 420 * 100vw);
  }
}
.pagecontents--business .contents .inner {
  display: flex;
  align-items: flex-start;
  gap: 7rem;
  width: min(100% - 6rem, 116rem);
  margin-bottom: 12rem;
}
@media (max-width: 768px) {
  .pagecontents--business .contents .inner {
    width: auto;
    flex-direction: column;
    margin-bottom: 0;
  }
}
.pagecontents--business .contents .businessnav {
  flex: 0 0 23rem;
  position: sticky;
  top: var(--business-sticky-top);
  align-self: flex-start;
  z-index: 20;
  max-height: calc(100vh - var(--business-sticky-top));
  overflow-y: auto;
}
.pagecontents--business .contents .businessnav.is-stuck::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  z-index: 0;
  width: 100vw;
  height: var(--business-sticky-top);
  background: #F5F5F7;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (max-width: 768px) {
  .pagecontents--business .contents .businessnav {
    display: none;
  }
}
.pagecontents--business .contents .contentsbox {
  flex: 1;
  min-width: 0;
  max-width: 86rem;
}
.pagecontents--business .sticky-sentinel {
  height: 1px;
  margin: 0;
  pointer-events: none;
  visibility: hidden;
}
.pagecontents--business .pagenav {
  position: sticky;
  top: var(--business-sticky-top);
  z-index: 15;
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  border-bottom: 2px solid #E5E6E8;
  background: var(--bg-color);
}
.pagecontents--business .pagenav.is-stuck::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  z-index: 0;
  width: 100vw;
  height: var(--business-sticky-top);
  background: var(--bg-color);
  transform: translateX(-50%);
  pointer-events: none;
}
@media (max-width: 768px) {
  .pagecontents--business .pagenav {
    padding-bottom: calc(24 / 420 * 100vw);
    margin-bottom: calc(40 / 420 * 100vw);
    margin-inline: calc(10 / 420 * 100vw);
  }
}
.pagecontents--business .pagenav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media (max-width: 768px) {
  .pagecontents--business .pagenav ul {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: calc(8 / 420 * 100vw);
    -webkit-overflow-scrolling: touch;
  }
  .pagecontents--business .pagenav ul::-webkit-scrollbar {
    display: none;
  }
}
@media (max-width: 768px) {
  .pagecontents--business .pagenav li {
    flex-shrink: 0;
  }
}
.pagecontents--business .pagenav li a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  min-height: 5.6rem;
  padding-inline: 2rem 2.4rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
  transition: 0.3s ease;
}
@media (max-width: 768px) {
  .pagecontents--business .pagenav li a {
    min-height: calc(40 / 420 * 100vw);
    padding-inline: calc(14 / 420 * 100vw) calc(22 / 420 * 100vw);
    gap: calc(12 / 420 * 100vw);
  }
}
.pagecontents--business .pagenav li a .number {
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .pagecontents--business .pagenav li a .number {
    font-size: calc(12 / 420 * 100vw);
  }
}
.pagecontents--business .pagenav li a .txt {
  padding-left: 1.2rem;
  border-left: 1px solid #E5E6E8;
  color: #1A1A1A;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .pagecontents--business .pagenav li a .txt {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1;
    padding-left: calc(8 / 420 * 100vw);
  }
}
.pagecontents--business .pagenav li a:hover, .pagecontents--business .pagenav li a.current {
  border-color: #1D69B2;
  background: #FFF;
}
.pagecontents--business .pagenav li a:hover .txt, .pagecontents--business .pagenav li a.current .txt {
  color: #1D69B2;
}
.pagecontents--business .blockbox[id^=anchor] {
  scroll-margin-top: calc(var(--business-sticky-top) + var(--business-pagenav-height) - 10rem);
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox[id^=anchor] {
    scroll-margin-top: calc(var(--business-sticky-top) + var(--business-pagenav-height) - calc(80 / 420 * 100vw));
  }
}
.pagecontents--business .blockbox:not(:last-of-type) {
  margin-bottom: 8rem;
  padding-bottom: 8rem;
  border-bottom: 2px solid #E5E6E8;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox:not(:last-of-type) {
    margin-bottom: calc(40 / 420 * 100vw);
    padding-bottom: calc(40 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .headbox {
  margin-bottom: 2.4rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .headbox {
    margin-inline: calc(20 / 420 * 100vw);
    margin-bottom: calc(24 / 420 * 100vw);
  }
  .pagecontents--business .blockbox .headbox .lead {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.6;
  }
  .pagecontents--business .blockbox .headbox .lead br {
    display: none;
  }
}
.pagecontents--business .blockbox .headbox .title {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  color: #1A1A1A;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.47;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .headbox .title {
    margin-bottom: calc(12 / 420 * 100vw);
    font-size: calc(28 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .headbox .title .entxt {
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .headbox .title .entxt {
    font-size: calc(18 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox--item {
    padding-inline: calc(20 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox--item .headbox {
  margin-bottom: 2rem;
}
.pagecontents--business .blockbox--item .headbox .title {
  position: relative;
  padding-bottom: 2rem;
  margin-bottom: 2.2rem;
  border-bottom: 2px solid #E5E6E8;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox--item .headbox .title {
    font-size: calc(21 / 420 * 100vw);
    line-height: 2.5238095238;
    color: #1a1a1a;
    padding-bottom: calc(10 / 420 * 100vw);
    margin-bottom: calc(10 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox--item .headbox .title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 16rem;
  height: 2px;
  background: #1D69B2;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox--item .headbox .title::before {
    width: calc(80 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox--item .headbox .title {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.pagecontents--business .blockbox--item .headbox .lead {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 35px;
  color: #1a1a1a;
}
.pagecontents--business .blockbox .number {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 0.5rem;
  background: #1D69B2;
  color: #FFF;
  font-family: var(--font-en);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
.pagecontents--business .blockbox .otherlinkbox {
  padding: 2.4rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .otherlinkbox {
    padding: calc(24 / 420 * 100vw) calc(14 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .otherlinkbox ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .otherlinkbox ul {
    gap: calc(6 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .otherlinkbox li {
  position: relative;
  width: calc((100% - 1.2rem) / 3);
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #FFF;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .otherlinkbox li {
    flex: none;
    min-width: initial;
    width: 100%;
  }
}
.pagecontents--business .blockbox .otherlinkbox li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6rem;
  width: 0.7rem;
  height: 0.8rem;
  background: url("../images/common/icon-arrow.svg") no-repeat center/contain;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
.pagecontents--business .blockbox .otherlinkbox li:hover {
  border-color: #1D69B2;
}
.pagecontents--business .blockbox .otherlinkbox li:hover::after {
  transform: translateY(-50%) translateX(0.3rem);
}
.pagecontents--business .blockbox .otherlinkbox li:hover h4 {
  color: #1D69B2;
}
.pagecontents--business .blockbox .otherlinkbox .item {
  display: block;
  height: 100%;
  padding: 1.4rem 3.2rem 1.4rem 1.6rem;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .otherlinkbox .item {
    padding: calc(22 / 420 * 100vw) calc(16 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .otherlinkbox h4 {
  margin-bottom: 0.4rem;
  color: #1A1A1A;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.33;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .otherlinkbox h4 {
    font-size: calc(15 / 420 * 100vw);
    line-height: 1;
  }
}
.pagecontents--business .blockbox .otherlinkbox .lead {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .otherlinkbox .lead {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.7857142857;
  }
}
.pagecontents--business .blockbox .listfunction {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listfunction {
    gap: calc(12 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listfunction li {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  padding: 3.2rem 4rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listfunction li {
    gap: calc(15 / 420 * 100vw);
    padding: calc(24 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listfunction .databox {
  flex: 1;
}
.pagecontents--business .blockbox .listfunction h4 {
  margin-bottom: 0.8rem;
  color: #222;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listfunction h4 {
    font-size: calc(19 / 420 * 100vw);
    line-height: 1.2631578947;
    margin-bottom: calc(10 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listfunction .text {
  color: #666;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listfunction .text {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.7142857143;
  }
}
.pagecontents--business .blockbox .listfunction--flow {
  gap: 4.5rem;
}
.pagecontents--business .blockbox .listfunction--flow li {
  background: none;
  padding: 0;
  border: none;
  position: relative;
  gap: 4rem;
}
.pagecontents--business .blockbox .listfunction--flow li .textbox {
  padding-top: 0.7rem;
}
.pagecontents--business .blockbox .listfunction--flow li .number {
  position: relative;
}
.pagecontents--business .blockbox .listfunction--flow li .number:before {
  content: "";
  position: absolute;
  width: 2px;
  height: 6rem;
  background-color: #E5E6E8;
  left: 50%;
  transform: translateX(-50%);
  top: 4.8rem;
}
.pagecontents--business .blockbox .listfunction--flow li h4 {
  font-size: 1.8rem;
}
.pagecontents--business .blockbox .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 1.6rem;
}
@media (max-width: 1024px) {
  .pagecontents--business .blockbox .list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .list {
    grid-template-columns: 1fr;
  }
  .pagecontents--business .blockbox .list .slick-dots {
    bottom: calc(-45 / 420 * 100vw);
  }
  .pagecontents--business .blockbox .list .slick-dots li {
    margin: 0;
    font-size: calc(26 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listbox {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
  transition: 0.3s ease;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listbox {
    margin-inline: calc(10 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listbox .cap {
  aspect-ratio: 280/180;
}
.pagecontents--business .blockbox .listbox .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5rem 0.5rem 0 0;
}
.pagecontents--business .blockbox .listbox .databox {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.6rem 2rem 2.4rem;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listbox .databox {
    padding: calc(16 / 420 * 100vw) calc(20 / 420 * 100vw) calc(37 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listbox .databox .title {
  margin-bottom: 0.3rem;
  color: #1A1A1A;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listbox .databox .title {
    font-size: calc(17 / 420 * 100vw);
    margin-bottom: calc(8 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listbox .databox .txt {
  margin-bottom: 1.2rem;
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 7.14rem;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listbox .databox .txt {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.7142857143;
    margin-bottom: calc(16 / 420 * 100vw);
    min-height: calc(calc(14 / 420 * 100vw) * 1.7142857143 * 3);
  }
}
.pagecontents--business .blockbox .listbox .databox .detailtxt {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: auto;
  color: #1D69B2;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .pagecontents--business .blockbox .listbox .databox .detailtxt {
    font-size: calc(14 / 420 * 100vw);
  }
}
.pagecontents--business .blockbox .listbox .databox .detailtxt::after {
  content: "";
  width: 0.7rem;
  height: 0.8rem;
  flex-shrink: 0;
  background: url("../images/common/icon-arrow-blue.svg") no-repeat center center/contain;
}
.pagecontents--business .blockbox .listbox:hover {
  border-color: #1D69B2;
}
.pagecontents--business .blockbox .listbox:hover .title {
  color: #1D69B2;
}
.pagecontents--business .blockbox .listbox:hover .detailtxt {
  gap: 1.4rem;
}
.pagecontents.singlenews .contents {
  padding-top: 6rem;
}
.pagecontents.singlenews .casehead {
  border-bottom: 1px solid #E5E6E8;
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
}
.pagecontents.singlenews .casehead .title {
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 1.4722222222;
  color: #1a1a1a;
}

.businessnav {
  padding-block: 2.4rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #F5F5F7;
}
.businessnav .box {
  margin-bottom: 2.4rem;
  padding: 0 1.2rem 2.4rem;
  border-bottom: 1px solid #E5E6E8;
}
.businessnav .box:last-of-type {
  margin-bottom: 0;
  border-bottom: 0;
}
.businessnav h3.title {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 1.2rem;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.businessnav h3.title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3rem;
  height: 1px;
  background: #1D69B2;
}
.businessnav .menu {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.businessnav .menu li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4.8rem;
  padding-inline: 1.2rem;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  background: #FFF;
  color: #1A1A1A;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: 0.3s ease;
}
.businessnav .menu li a .icon {
  color: #1D69B2;
  transition: 0.3s ease;
}
.businessnav .menu li a .icon svg {
  display: block;
}
.businessnav .menu li a:hover, .businessnav .menu li a.current {
  background: #1D69B2;
  border-color: #1D69B2;
  color: #FFF;
}
.businessnav .menu li a:hover .icon, .businessnav .menu li a.current .icon {
  color: #FFF;
}
.businessnav .btnbox--contact {
  width: auto;
  height: 4.8rem;
  margin-inline: 1.2rem;
  justify-content: center;
  background: #D73033;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.newstopbox {
  padding-block: 8rem;
  background-color: white;
  position: relative;
}
@media (max-width: 768px) {
  .newstopbox {
    padding-block: calc(60 / 420 * 100vw);
  }
}
.newstopbox .inner {
  width: min(100% - 6rem, 100rem);
}
@media (max-width: 768px) {
  .newstopbox .inner {
    width: auto;
    padding-inline: calc(20 / 420 * 100vw);
  }
}
.newstopbox .title {
  margin-bottom: 2.5rem;
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 768px) {
  .newstopbox .title {
    font-size: calc(20 / 420 * 100vw);
    line-height: 1;
    margin-bottom: calc(24 / 420 * 100vw);
  }
}
.newstopbox .list {
  margin-bottom: 3.8rem;
  padding-top: 3rem;
  border-top: 1px solid #E5E6E8;
}
@media (max-width: 768px) {
  .newstopbox .list {
    padding-top: calc(15 / 420 * 100vw);
  }
}

.casetopbox {
  position: relative;
  padding-block: 10rem 12rem;
  background: #F5F5F7;
  border-radius: 12rem 0 12rem 0;
  z-index: 2;
}
.casetopbox .news-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  gap: 4rem;
  margin-bottom: 0;
}
.casetopbox .news-list .casecard:nth-child(n+4) {
  display: none;
}
@media (max-width: 768px) {
  .casetopbox .news-list {
    display: block;
    gap: calc(8 / 420 * 100vw);
  }
  .casetopbox .news-list .casecard:nth-child(n+4) {
    display: flex;
  }
  .casetopbox {
    padding-block: calc(46 / 420 * 100vw) calc(57 / 420 * 100vw);
    border-radius: calc(60 / 420 * 100vw) 0 calc(60 / 420 * 100vw) 0;
  }
  .casetopbox .contentstitle {
    text-align: center;
  }
  .casetopbox .news-list.slick-dotted.slick-slider {
    margin-bottom: calc(54 / 420 * 100vw);
    display: block;
  }
  .casetopbox .news-list.slick-dotted.slick-slider .slick-dots {
    bottom: calc(-40 / 420 * 100vw);
  }
  .casetopbox .news-list.slick-dotted.slick-slider .casecard {
    display: flex;
    padding: calc(20 / 420 * 100vw) calc(20 / 420 * 100vw) calc(16 / 420 * 100vw);
    margin-inline: calc(10 / 420 * 100vw);
  }
}
.casetopbox:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -12rem;
  background: url(../images/top/bg.svg);
  z-index: 2;
}
@media (max-width: 768px) {
  .casetopbox:after {
    bottom: calc(-60 / 420 * 100vw);
  }
}
.casetopbox:before {
  content: "";
  content: "";
  position: absolute;
  right: 0;
  top: -12rem;
  background: url(../images/top/bg.svg);
  z-index: 2;
  transform: rotate(180deg);
}
@media (max-width: 768px) {
  .casetopbox:before {
    top: calc(-60 / 420 * 100vw);
  }
}
.casetopbox:before, .casetopbox:after {
  width: 12rem;
  height: 12rem;
}
@media (max-width: 768px) {
  .casetopbox:before, .casetopbox:after {
    width: calc(60 / 420 * 100vw);
    height: calc(60 / 420 * 100vw);
    background-size: cover;
  }
}
.casetopbox .inner {
  position: relative;
}
@media (max-width: 768px) {
  .casetopbox .inner {
    width: auto;
  }
}
.casetopbox .btnbox {
  position: absolute;
  right: 0;
  top: 0;
}
@media (max-width: 768px) {
  .casetopbox .btnbox {
    position: relative;
    right: auto;
    top: auto;
    margin-inline: auto;
  }
}

.contentstitle {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  color: #1A1A1A;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.67;
  letter-spacing: 0.05em;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .contentstitle {
    font-size: calc(24 / 420 * 100vw);
    line-height: 1.625;
    margin-bottom: calc(16 / 420 * 100vw);
  }
}
.contentstitle .entxt {
  color: #1D69B2;
  font-family: var(--font-en);
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .contentstitle .entxt {
    font-size: calc(15 / 420 * 100vw);
  }
}

.abouttopbox {
  padding-block: 16rem;
}
@media (max-width: 768px) {
  .abouttopbox {
    padding-block: calc(40 / 420 * 100vw) calc(76 / 420 * 100vw);
  }
}
.abouttopbox .inner {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: 7rem;
  width: min(100% - 6rem, 132rem);
  padding-bottom: 8rem;
}
@media (max-width: 768px) {
  .abouttopbox .inner {
    flex-direction: column;
    width: auto;
    padding-inline: calc(20 / 420 * 100vw);
    padding-bottom: 0;
  }
}
.abouttopbox .inner::before, .abouttopbox .inner::after {
  content: "";
  position: absolute;
  display: block;
  background: url("../images/top/about-bg01.svg");
  pointer-events: none;
}
.abouttopbox .inner::before {
  top: 0;
  left: 0;
  width: 12rem;
  height: 12rem;
}
@media (max-width: 768px) {
  .abouttopbox .inner::before {
    width: calc(150 / 420 * 100vw);
    height: calc(150 / 420 * 100vw);
    background-size: 50%;
    top: calc(-40 / 420 * 100vw);
  }
}
.abouttopbox .inner::after {
  right: 0;
  bottom: 0;
  width: 40rem;
  height: 40rem;
}
@media (max-width: 768px) {
  .abouttopbox .inner::after {
    content: none;
  }
}
.abouttopbox .textbox {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 61rem;
  padding-top: 5.8rem;
}
@media (max-width: 768px) {
  .abouttopbox .textbox {
    max-width: none;
    padding-top: calc(40 / 420 * 100vw);
  }
}
.abouttopbox .textbox p.text {
  margin-bottom: 4rem;
  color: #1A1A1A;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.18;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .abouttopbox .textbox p.text {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
  }
}
.abouttopbox .textbox .btnbox {
  margin-inline: 0;
}
@media (max-width: 768px) {
  .abouttopbox .textbox .btnbox {
    margin-inline: auto;
  }
}
.abouttopbox .capbox {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 48rem;
}
@media (max-width: 768px) {
  .abouttopbox .capbox {
    max-width: none;
  }
}
.abouttopbox .capbox .cap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .abouttopbox .capbox .cap--01 {
    padding-left: calc(80 / 420 * 100vw);
  }
}
.abouttopbox .capbox .cap--01 img {
  aspect-ratio: 480/640;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  .abouttopbox .capbox .cap--01 img {
    aspect-ratio: 300/220;
  }
}
.abouttopbox .capbox .cap--02 {
  position: absolute;
  left: -19rem;
  bottom: -10rem;
  width: 100%;
  max-width: 28rem;
}
@media (max-width: 768px) {
  .abouttopbox .capbox .cap--02 {
    left: 0;
    bottom: calc(-60 / 420 * 100vw);
    max-width: calc(160 / 420 * 100vw);
  }
}
.abouttopbox .capbox .cap--02 img {
  aspect-ratio: 280/200;
  border-radius: 0.5rem;
}
@media (max-width: 768px) {
  .abouttopbox .capbox .cap--02 img {
    aspect-ratio: 160/120;
  }
}

@media (max-width: 768px) {
  .singleinfomation.pagecontents .topicpath {
    padding-bottom: calc(43 / 420 * 100vw);
  }
}
.singleinfomation.pagecontents .headerinformation {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .headerinformation {
    margin-bottom: calc(30 / 420 * 100vw);
  }
}
.singleinfomation.pagecontents .headerinformation .lead {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .headerinformation .lead {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
    margin-bottom: calc(30 / 420 * 100vw);
  }
}
.singleinfomation.pagecontents .headerinformation .title {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  border-bottom: 2px solid #E5E6E8;
  padding-bottom: 2.3rem;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .headerinformation .title {
    gap: calc(8 / 420 * 100vw);
    padding-bottom: calc(15 / 420 * 100vw);
    margin-bottom: calc(15 / 420 * 100vw);
  }
}
.singleinfomation.pagecontents .headerinformation .title .text {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.4722222222;
  color: #1a1a1a;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .headerinformation .title .text {
    font-size: calc(24 / 420 * 100vw);
    line-height: 1.5;
  }
}
.singleinfomation.pagecontents .headerinformation .title .mintxt {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
  color: #1d69b2;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .headerinformation .title .mintxt {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.5714285714;
  }
}
.singleinfomation.pagecontents .contents .inner {
  width: min(100% - 4rem, 84rem);
  display: block;
}
.singleinfomation.pagecontents .blockbox {
  border-bottom: none;
  padding-bottom: 0;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .blockbox .listfunction--flow {
    gap: calc(32 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .blockbox .listfunction--flow li {
    gap: calc(15 / 420 * 100vw);
  }
  .singleinfomation.pagecontents .blockbox .listfunction--flow li .number {
    width: calc(40 / 420 * 100vw);
    height: calc(40 / 420 * 100vw);
    font-size: calc(18 / 420 * 100vw);
  }
  .singleinfomation.pagecontents .blockbox .listfunction--flow li .number:before {
    height: calc(60 / 420 * 100vw);
    top: calc(50 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .blockbox {
    padding: 0;
  }
  .singleinfomation.pagecontents .blockbox:not(:last-of-type) {
    margin-bottom: calc(48 / 420 * 100vw);
  }
  .singleinfomation.pagecontents .blockbox .headbox {
    margin-inline: 0;
    margin-bottom: calc(30 / 420 * 100vw);
  }
  .singleinfomation.pagecontents .blockbox .headbox .title {
    line-height: 1.6;
    font-size: calc(21 / 420 * 100vw);
  }
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .blockbox--item .article-content p {
    font-size: calc(16 / 420 * 100vw);
    line-height: 1.6;
  }
  .singleinfomation.pagecontents .blockbox--item .article-content table {
    border-bottom: 1px solid #E5E6E8;
  }
  .singleinfomation.pagecontents .blockbox--item .article-content th, .singleinfomation.pagecontents .blockbox--item .article-content td {
    display: block;
    border: 0;
    text-align: left;
    padding: calc(14 / 420 * 100vw) calc(16 / 420 * 100vw);
    font-size: calc(14 / 420 * 100vw);
  }
  .singleinfomation.pagecontents .blockbox--item .article-content td {
    padding: calc(22 / 420 * 100vw) calc(16 / 420 * 100vw);
  }
  .singleinfomation.pagecontents .blockbox--item .article-content th {
    border-top: 1px solid #E5E6E8;
  }
}
.singleinfomation.pagecontents .blockbox--contact {
  border-radius: 0.5rem;
  background: #fff;
  border: 1px solid #e5e6e8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4rem 2.4rem;
  border-bottom: 1px solid #e5e6e8;
  margin-block: 8rem;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .blockbox--contact {
    margin-block: calc(24 / 420 * 100vw) calc(48 / 420 * 100vw);
    padding: calc(36 / 420 * 100vw) calc(30 / 420 * 100vw);
    flex-direction: column;
    gap: calc(24 / 420 * 100vw);
  }
}
.singleinfomation.pagecontents .blockbox--contact .btnbox {
  margin-inline: 0;
  background-color: #D73033;
}
.singleinfomation.pagecontents .blockbox--contact .btnbox .icon {
  background-color: #D73033;
  color: white;
}
.singleinfomation.pagecontents .blockbox--contact h3 {
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #1a1a1a;
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .blockbox--contact h3 {
    font-size: calc(18 / 420 * 100vw);
    text-align: center;
    margin-bottom: calc(12 / 420 * 100vw);
  }
}
.singleinfomation.pagecontents .blockbox--contact .lead {
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 2.1875;
  color: #666;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .blockbox--contact .lead {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.5;
  }
}
.singleinfomation.pagecontents .companybanner {
  padding-top: 10rem;
}
.singleinfomation.pagecontents .graphbox:not(:last-of-type) {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .graphbox:not(:last-of-type) {
    margin-bottom: calc(30 / 420 * 100vw);
  }
}
.singleinfomation.pagecontents .graphbox .title {
  display: flex;
  align-items: center;
  min-height: 6rem;
  padding-left: 2.7rem;
  margin-bottom: 2.4rem;
  border-left: 1.2rem solid #1D69B2;
  background-color: #F5F5F7;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 2.4090909091;
  color: #1a1a1a;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .graphbox .title {
    min-height: calc(50 / 420 * 100vw);
    padding-left: calc(15 / 420 * 100vw);
    margin-bottom: calc(15 / 420 * 100vw);
    border-left-width: calc(6 / 420 * 100vw);
    font-size: 1.8rem;
    line-height: 1.5555555556;
  }
}
.singleinfomation.pagecontents .graphbox .lead {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  margin-bottom: 2.4rem;
}
@media (max-width: 768px) {
  .singleinfomation.pagecontents .graphbox .lead {
    font-size: calc(14 / 420 * 100vw);
    line-height: 1.8571428571;
    margin-bottom: calc(15 / 420 * 100vw);
  }
}

@media (max-width: 768px) {
  #page-contact .pagehead--itembox .inner {
    padding-bottom: calc(49 / 420 * 100vw);
  }
}
#page-contact .contents {
  padding-top: 7rem;
}
@media (max-width: 768px) {
  #page-contact .contents {
    padding-top: calc(30 / 420 * 100vw);
  }
}
#page-contact .contents .inner {
  width: min(100% - 4rem, 84rem);
}
@media (max-width: 768px) {
  #page-contact .contents .inner {
    width: auto;
    padding-inline: calc(10 / 420 * 100vw);
  }
}

.formcontents {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (max-width: 768px) {
  .formcontents {
    gap: initial;
  }
}
@media (max-width: 768px) {
  .formcontents .checkbox {
    padding-block: calc(32 / 420 * 100vw) calc(40 / 420 * 100vw);
  }
}
.formcontents .checkbox .checktxt {
  text-align: center;
  font-weight: normal;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #1a1a1a;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .formcontents .checkbox .checktxt {
    font-size: calc(14 / 420 * 100vw);
    margin-bottom: calc(22 / 420 * 100vw);
  }
}
.formcontents .checkbox .inbox {
  height: 80px;
  border-radius: 3px;
  background: #f5f5f7;
  border: 1px solid #e5e6e8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
@media (max-width: 768px) {
  .formcontents .checkbox .inbox {
    height: calc(100 / 420 * 100vw);
    border-radius: calc(3 / 420 * 100vw);
    font-size: calc(16 / 420 * 100vw);
  }
}
.formcontents .checkbox .inbox a {
  text-decoration: underline;
  color: #1D69B2;
}
.formcontents .checkbox .inbox .wpcf7-acceptance label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1.6;
}
.formcontents .checkbox .inbox .wpcf7-acceptance input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 1px solid #1A1A1A;
  background: #fff;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: 0.2s;
}
.formcontents .checkbox .inbox .wpcf7-acceptance input[type=checkbox]:hover {
  border-color: #0077cc;
}
.formcontents .checkbox .inbox .wpcf7-acceptance input[type=checkbox]:checked {
  background: #0077cc;
  border-color: #0077cc;
}
.formcontents .checkbox .inbox .wpcf7-acceptance input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.formcontents .checkbox .inbox .wpcf7-list-item-label {
  display: inline-block;
}
.formcontents .btn button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 32rem);
  height: 7.2rem;
  margin-inline: auto;
  padding-inline: 2.3rem 1.6rem;
  border-radius: 0.5rem;
  background: #D73033;
  color: #fff;
}
.formcontents .btn button:after {
  content: "→";
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.05em;
  color: #fff;
}
.formcontents .leadtext {
  text-align: center;
  margin-bottom: 2rem;
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 1.75;
  color: #1a1a1a;
}
.formcontents .formrow--2col {
  display: flex;
  gap: 4rem;
}
@media (max-width: 768px) {
  .formcontents .formrow--2col {
    display: block;
    margin-bottom: calc(35 / 420 * 100vw);
  }
  .formcontents .formrow--2col .formbox:not(:last-of-type) {
    margin-bottom: calc(32 / 420 * 100vw);
  }
}
.formcontents .formrow--2col .formbox {
  flex: 1;
}
.formcontents .formbox {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media (max-width: 768px) {
  .formcontents .formbox {
    gap: calc(12 / 420 * 100vw);
  }
  .formcontents .formbox:not(:last-of-type) {
    margin-bottom: calc(32 / 420 * 100vw);
  }
}
.formcontents .formbox .ttl {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #1a1a1a;
}
@media (max-width: 768px) {
  .formcontents .formbox .ttl {
    font-size: calc(18 / 420 * 100vw);
  }
}
.formcontents .formbox .ttl .item {
  width: 4rem;
  min-height: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.8rem;
  background-color: #1D69B2;
  border-radius: 0.3rem;
  font-size: 1.2rem;
  line-height: 1;
  color: #fff;
}
@media (max-width: 768px) {
  .formcontents .formbox .ttl .item {
    width: calc(40 / 420 * 100vw);
    min-height: calc(24 / 420 * 100vw);
    font-size: calc(12 / 420 * 100vw);
    padding: 0 calc(8 / 420 * 100vw);
  }
}
.formcontents .formbox .textbox {
  width: 100%;
}
.formcontents .formbox .textbox .text {
  width: 100%;
  box-sizing: border-box;
  padding: 1.4rem 1.6rem;
  border-radius: 0.3rem;
  background: #f5f5f7;
  border: 1px solid #e5e6e8;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  resize: none;
}
@media (max-width: 768px) {
  .formcontents .formbox .textbox .text {
    font-size: calc(16 / 420 * 100vw);
    padding: calc(16 / 420 * 100vw) calc(19 / 420 * 100vw);
  }
}
.formcontents .formbox .textbox--select {
  position: relative;
}
.formcontents .formbox .textbox--select .selectbox {
  width: 100%;
  box-sizing: border-box;
  height: 5.6rem;
  padding: 0 4rem 0 1.6rem;
  border-radius: 0.3rem;
  border: 1px solid #e5e6e8;
  background: #f5f5f7;
  font-size: 1.4rem;
  color: #1a1a1a;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}
.formcontents .formbox .textbox--select {
  /* ▼アイコン */
}
.formcontents .formbox .textbox--select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
  width: 1rem;
  height: 0.6rem;
  background: #1a1a1a;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  pointer-events: none;
}
.formcontents .formbox .textbox input.text {
  height: 5.6rem;
}
.formcontents .formbox .textbox textarea.text {
  min-height: 25rem;
}
@media (max-width: 768px) {
  .formcontents .formbox .textbox textarea.text {
    min-height: calc(320 / 420 * 100vw);
  }
}
.formcontents .formbox .textbox .text::placeholder {
  color: #999;
}

.turnstilebox {
  display: flex;
  justify-content: center;
  margin: 24px 0;
}

.confirmmodal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
}
.confirmmodal.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.confirmmodal__inner {
  width: min(750px, 90%);
  background: #fff;
  padding: 3rem;
  border-radius: 0.6rem;
}
@media (max-width: 768px) {
  .confirmmodal__inner {
    overflow-y: scroll;
  }
}
.confirmmodal__body dl {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #eee;
  margin-bottom: 1.2rem;
}
.confirmmodal__btns {
  margin-top: 2rem;
  display: flex;
  gap: 3.2rem;
  justify-content: center;
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .confirmmodal__btns {
    flex-direction: column;
    gap: calc(15 / 420 * 100vw);
  }
}
.confirmmodal__btns .btn {
  width: 32rem;
}
@media (max-width: 768px) {
  .confirmmodal__btns .btn {
    width: auto;
  }
}
.confirmmodal__btns #backBtn {
  background: #f5f5f7;
  border: 1px solid #e5e6e8;
  color: #1A1A1A;
}
.confirmmodal__btns #backBtn:after {
  color: #1A1A1A;
}

body.is-fixed {
  overflow: hidden;
  height: 100%;
}

#gbtn {
  display: none;
}
@media (max-width: 768px) {
  #gbtn {
    display: flex;
    width: calc(70 / 420 * 100vw);
    height: calc(70 / 420 * 100vw);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    background-color: white;
    border-radius: 0 0 0 calc(10 / 420 * 100vw);
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
  }
  #gbtn .item {
    width: calc(30 / 420 * 100vw);
    height: calc(10 / 420 * 100vw);
    position: relative;
  }
  #gbtn .item:before, #gbtn .item:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #1A1A1A;
    transition: all 0.3s ease;
  }
  #gbtn .item:before {
    top: 0;
  }
  #gbtn .item:after {
    bottom: 0;
  }
  #gbtn.active .item:before {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  #gbtn.active .item:after {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
  }
}

body.menu-open {
  overflow: hidden;
}

#spnavbox {
  display: none;
}
@media (max-width: 768px) {
  #spnavbox {
    display: block;
    position: fixed;
    inset: 0;
    background: #F5F5F7;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
    padding-block: calc(22 / 420 * 100vw) calc(100 / 420 * 100vw);
    overflow-y: scroll;
  }
  #spnavbox .logo {
    width: calc(142 / 420 * 100vw);
    margin-left: calc(15 / 420 * 100vw);
    margin-bottom: calc(56 / 420 * 100vw);
  }
  #spnavbox .btnbox {
    background-color: #D73033;
    margin-bottom: calc(46 / 420 * 100vw);
  }
  #spnavbox .btnbox .icon {
    background-color: #D73033;
    color: white;
  }
  #spnavbox .list {
    padding-block: calc(38 / 420 * 100vw) calc(58 / 420 * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(20 / 420 * 100vw);
    font-weight: normal;
    font-size: calc(12 / 420 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1;
    color: #1a1a1a;
  }
  #spnavbox .box:not(:last-of-type) {
    margin-bottom: calc(55 / 420 * 100vw);
  }
  #spnavbox .box .title {
    padding-inline: calc(20 / 420 * 100vw);
    font-family: var(--font-en);
    font-weight: 600;
    font-size: calc(16 / 420 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1;
    color: #1d69b2;
    border-bottom: 1px solid #E5E5EA;
    padding-bottom: calc(14 / 420 * 100vw);
    position: relative;
    margin-bottom: calc(18 / 420 * 100vw);
  }
  #spnavbox .box .title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background-color: white;
  }
  #spnavbox .box:first-of-type {
    margin-bottom: calc(55 / 420 * 100vw);
  }
  #spnavbox .box ul {
    display: flex;
    flex-direction: column;
    gap: calc(22 / 420 * 100vw);
  }
  #spnavbox .box ul li {
    border-bottom: 1px solid #E5E5EA;
    padding-bottom: calc(14 / 420 * 100vw);
    position: relative;
    padding-inline: calc(20 / 420 * 100vw);
  }
  #spnavbox .box ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #spnavbox .box ul li a:after {
    content: ">";
  }
  #spnavbox .box ul li:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background-color: white;
  }
  #spnavbox.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
  #spnavbox .databox {
    padding-inline: calc(38 / 420 * 100vw);
  }
  #spnavbox .databox .logo {
    width: calc(220 / 420 * 100vw);
    margin-bottom: calc(20 / 420 * 100vw);
  }
  #spnavbox .databox .address {
    font-weight: normal;
    font-size: calc(13 / 420 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.6153846154;
    color: #666;
  }
}

#loading {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#loading.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#loading .loading__logo {
  width: 180px;
}
#loading .loading__logo img {
  width: 100%;
  display: block;
  animation: loadingLogo 1.5s ease-in-out infinite;
}

@keyframes loadingLogo {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}
.categorytabs {
  margin-bottom: 5rem;
}
.categorytabs ul {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  border-bottom: 1px solid #E5E6E8;
}
.categorytabs ul li:hover .txt::after, .categorytabs ul li.active .txt::after {
  transform: scaleX(1);
}
.categorytabs ul .txt {
  position: relative;
  display: block;
  padding: 0 3rem 1.4rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #1A1A1A;
}
.categorytabs ul .txt::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: #1D69B2;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.servicebox {
  padding-bottom: 18rem;
}
@media (max-width: 768px) {
  .servicebox {
    padding-bottom: calc(96 / 420 * 100vw);
  }
  .servicebox .inner {
    width: auto;
  }
}
.servicebox .controlbox {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .servicebox .controlbox {
    gap: calc(10 / 420 * 100vw);
    padding-inline: calc(20 / 420 * 100vw);
  }
}
.servicebox .progress {
  width: 100%;
  height: 0.2rem;
  background: #E5E6E8;
  overflow: hidden;
  position: relative;
}
.servicebox .progress__bar {
  display: block;
  width: 0;
  height: 100%;
  background: #1D69B2;
  transition: width 0.4s ease;
}
.servicebox .arrowbox {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 768px) {
  .servicebox .arrowbox {
    gap: calc(10 / 420 * 100vw);
  }
}
.servicebox .arrowbox .slide-arrow {
  display: block;
  width: 5rem;
  height: 5rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .servicebox .arrowbox .slide-arrow {
    width: calc(50 / 420 * 100vw);
    height: calc(50 / 420 * 100vw);
  }
}
.servicebox .arrowbox .slide-arrow.prev-arrow {
  background: url(../images/top/slide-icon-prev.svg) no-repeat center center/cover;
}
.servicebox .arrowbox .slide-arrow.next-arrow {
  background: url(../images/top/slide-icon-next.svg) no-repeat center center/cover;
}
.servicebox .slick-track {
  display: flex;
}
.servicebox .slick-slide {
  height: inherit;
}
.servicebox .slick-slide > div {
  height: 100%;
}
.servicebox .itembox {
  width: calc(100% + (100vw - 100%) / 2);
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  .servicebox .itembox {
    margin-bottom: calc(25 / 420 * 100vw);
    width: auto;
    margin-left: calc(20 / 420 * 100vw);
  }
}
.servicebox .itembox .slick-list {
  padding-right: calc(160 / 1920 * 100vw);
}
@media (max-width: 768px) {
  .servicebox .itembox .slick-list {
    padding-right: calc(50 / 420 * 100vw);
  }
}
.servicebox .itembox .slidlist {
  margin: 0 calc(40 / 1920 * 100vw) 0 0;
}
@media (max-width: 768px) {
  .servicebox .itembox .slidlist {
    margin: 0 calc(20 / 420 * 100vw) 0 0;
  }
}
.servicebox .headbox {
  padding-left: max(3rem, (100% - 116rem) / 2);
  padding-right: 16rem;
  margin-inline: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 32px;
}
@media (max-width: 768px) {
  .servicebox .headbox {
    padding: 0;
    flex-direction: column;
    gap: calc(24 / 420 * 100vw);
    align-items: center;
    margin-bottom: calc(22 / 420 * 100vw);
  }
}
.servicebox .headbox .contentstitle {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .servicebox .headbox .contentstitle {
    text-align: center;
  }
}
.servicebox .headbox .menu ul {
  display: flex;
  align-items: center;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #1a1a1a;
  gap: 1rem;
}
@media (max-width: 768px) {
  .servicebox .headbox .menu ul {
    font-size: calc(13 / 420 * 100vw);
    gap: calc(5 / 420 * 100vw);
  }
}
.servicebox .headbox .menu ul li:not(:last-child):after {
  content: "／";
  margin-left: 1rem;
}
@media (max-width: 768px) {
  .servicebox .headbox .menu ul li:not(:last-child):after {
    margin-left: calc(5 / 420 * 100vw);
  }
}

@property --slidlist-border-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.slidlist .cap {
  margin-bottom: 1.4rem;
}
@media (max-width: 768px) {
  .slidlist .cap {
    margin-bottom: calc(12 / 420 * 100vw);
  }
}
.slidlist .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 500/240;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  .slidlist .cap img {
    aspect-ratio: 320/220;
    border-radius: calc(10 / 420 * 100vw);
  }
}
.slidlist .box {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2.8rem;
  background-color: #F5F5F7;
  border: 1px solid #E5E6E8;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  .slidlist .box {
    padding: calc(15 / 420 * 100vw) calc(15 / 420 * 100vw) calc(24 / 420 * 100vw);
  }
}
.slidlist .box::before {
  content: "";
  position: absolute;
  inset: -0.1rem;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(from -90deg, #1D69B2 var(--slidlist-border-angle), #E5E6E8 var(--slidlist-border-angle));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
.slidlist .box .inbox {
  margin-bottom: 1.4rem;
}
@media (hover: hover) and (pointer: fine) {
  .slidlist .box:hover {
    border-color: transparent;
  }
  .slidlist .box:hover::before {
    opacity: 1;
    animation: slidlist-border-trace 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }
  .slidlist .box:not(:hover)::before {
    animation: none;
    --slidlist-border-angle: 0deg;
    opacity: 0;
  }
}
.slidlist .itemtitle {
  position: absolute;
  top: 2.8rem;
  left: 2.8rem;
}
@media (max-width: 768px) {
  .slidlist .itemtitle {
    top: calc(15 / 420 * 100vw);
    left: calc(15 / 420 * 100vw);
  }
}
.slidlist .itemtitle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.7rem;
  background-color: #F5F5F7;
  border-radius: 0 0 1rem 0;
  color: #3B5E92;
  font-family: var(--font-en);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}
.slidlist h3.title {
  margin-bottom: 1rem;
  color: #1A1A1A;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}
.slidlist ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 1rem;
}
.slidlist ul.tabs li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.6rem;
  padding-inline: 1.8rem;
  background: #FFF;
  border: 1px solid #E5E6E8;
  border-radius: 0.5rem;
  color: #666;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}
.slidlist .lead {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media (min-width: 769px) {
  .slidlist .lead {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.slidlist .btnbox {
  margin-top: auto;
  margin-inline: auto 0;
  max-width: 20rem;
  height: 5.2rem;
}

@keyframes slidlist-border-trace {
  to {
    --slidlist-border-angle: 360deg;
  }
}
.js-fadeUp {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-fadeUp.is-show {
  opacity: 1;
  transform: translateY(0);
}

.error {
  border: 2px solid #e53935 !important;
}
.error.error {
  color: #e53935;
}

.informationbtn {
  padding-top: 4.8rem;
}
@media (max-width: 768px) {
  .informationbtn {
    padding-top: calc(22 / 420 * 100vw);
  }
}
.informationbtn a {
  display: inline-flex;
  align-items: center;
  border: 1px solid #FFFFFF;
  color: white;
  border-radius: 0.5rem;
  font-weight: normal;
  font-size: 1.5rem;
  line-height: 1;
  text-align: center;
  padding: 1.4rem 2.2rem;
}
@media (max-width: 768px) {
  .informationbtn a {
    font-size: calc(15 / 420 * 100vw);
    padding: calc(14 / 420 * 100vw) calc(22 / 420 * 100vw);
  }
}

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