@charset "UTF-8";
html {
  overflow-x: hidden;
}

html {
  font-size: 16px;
}
@media (max-width: 500px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 501px) and (max-width: 768px) {
  html {
    font-size: 21.33px;
  }
}
@media (min-width: 769px) and (max-width: 1750px) {
  html {
    font-size: 0.9142857143vw;
  }
}

body {
  font-family: "Noto Serif JP", serif;
  color: #333333;
  font-weight: 400;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

a {
  transition: opacity 0.3s ease;
}

a:hover {
  opacity: 0.7;
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  overflow-x: hidden;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

a {
  text-decoration: none;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.l-inner {
  padding-inline: 1.5625rem;
  max-width: 100%;
  width: 70.625rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .l-inner {
    padding-inline: 0.9375rem;
    max-width: 500px;
    width: 100%;
  }
}

.l-inner.--1200 {
  width: 78.125rem;
  padding-inline: 1.5625rem;
  max-width: 100%;
}
@media (max-width: 1280px) {
  .l-inner.--1200 {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .l-inner.--1200 {
    padding-inline: 0.9375rem;
    max-width: 500px;
    width: 100%;
  }
}

.l-inner.--wide {
  padding-inline: 1.5625rem;
  max-width: 100%;
  width: 110.625rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .l-inner.--wide {
    padding-inline: 0.9375rem;
    max-width: 500px;
    width: 100%;
  }
}

.l-inner.--column {
  padding-inline: 1.5625rem;
  max-width: 100%;
  width: 101.5rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .l-inner.--column {
    padding-inline: 0.9375rem;
    max-width: 500px;
    width: 100%;
  }
}

@media (max-width: 1100px) {
  .p-profile-overview .l-inner.--1200,
  .p-profile-history .l-inner.--1200 {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .p-profile-overview .l-inner.--1200,
  .p-profile-history .l-inner.--1200 {
    max-width: 100%;
  }
}

.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 9999px;
  background: linear-gradient(0deg, #1e3c72 0%, #2a5298 100%);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.125rem, 100px);
  letter-spacing: 0.05em;
  width: clamp(300px, 22.5rem, 600px);
  padding-block: 2.125rem;
  position: relative;
  background-position: right center;
  font-weight: 500;
}
@media (max-width: 768px) {
  .c-button {
    width: 20rem;
    font-size: 0.9375rem;
    padding-block: 1.5rem;
  }
}
.c-button::after {
  content: "";
  position: absolute;
  width: clamp(11px, 0.6875rem, 100px);
  height: clamp(15px, 0.9375rem, 100px);
  display: inline-block;
  background: url(../image/arrow-right.svg) no-repeat center;
  background-size: contain;
  right: 1.75rem;
}

.c-button.--light {
  color: #203e76;
  background: linear-gradient(0deg, #accbee 0%, #fff 100%);
}
.c-button.--light::after {
  background: url(../image/arrow-right-navy.svg) no-repeat center;
  background-size: contain;
}

.c-button.--black {
  color: #fff;
  background: transparent;
  background-color: #333333;
  width: 340px;
  font-size: 16px;
  padding-inline: 0.75rem;
  height: 80px;
}
@media (max-width: 1100px) {
  .c-button.--black {
    text-align: center;
    width: 340px;
  }
}

.c-button.p-quote-download__button {
  height: 90px;
  width: 340px;
}
@media (max-width: 1100px) {
  .c-button.p-quote-download__button {
    width: 42.5rem;
  }
}
@media (max-width: 768px) {
  .c-button.p-quote-download__button {
    width: 18.75rem;
  }
}

.p-quote-product__buttonArea .c-button::after {
  content: none;
}

.p-quote-product__buttonArea {
  display: flex;
  justify-content: center;
  margin-block-start: 4.625rem;
  gap: 3.1875rem;
}

.c-pageTop {
  height: 37.5rem;
  background-color: #ccc;
}
.c-pageTop.--strengths {
  background: url(../image/strength-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--csr {
  background: url(../image/csr-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--printing-service {
  background: url(../image/printing-service-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--onDemand-print {
  background: url(../image/on-demand-printing-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--security-print {
  background: url(../image/security-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--dps {
  background: url(../image/dps-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--pressure-seal {
  background: url(../image/pressure-seal-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--business-form-print {
  background: url(../image/business-form-print-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--gov-print {
  background: url(../image/gov-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--list-office {
  background: url(../image/office-list-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--greeting {
  background: url(../image/office-list-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--profile {
  background: url(../image/office-list-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--aboutus {
  background: url(../image/office-list-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--privacy {
  background: url(../image/office-list-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--recruit {
  background: url(../image/recruit-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--recruit-form {
  background: url(../image/recruit-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--contact {
  background: url(../image/office-list-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--news {
  background: url(../image/news-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--quote {
  background: url(../image/quote-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--quote {
  background: url(../image/quote-top.webp) no-repeat center;
  background-size: cover;
}
.c-pageTop.--insertion {
  background: url(../image/insertion-top.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .c-pageTop {
    height: 23.75rem;
  }
}

.c-pageTop__inner {
  height: inherit;
  padding-inline: 1.5625rem;
  width: 105.375rem;
  max-width: 100%;
  display: flex;
  align-items: center;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .c-pageTop__inner {
    padding-inline: 0.9375rem;
  }
}

.c-pageTop__english {
  font-size: clamp(18px, 1.875rem, 100px);
  color: #fff;
}
@media (max-width: 768px) {
  .c-pageTop__english {
    font-size: 1rem;
  }
}

.c-pageTop.--gov-print .c-pageTop__english {
  letter-spacing: 0.05em;
}

.c-pageTop__japanese {
  color: #fff;
  font-size: 3.125rem;
  text-shadow: 0 0px 0.4375rem #333333;
  font-weight: 400;
  margin-block-start: 2.5rem;
  margin-block-end: 5rem;
}
@media (max-width: 768px) {
  .c-pageTop__japanese {
    font-size: 1.375rem;
    margin-block-start: 1.25rem;
  }
}

.c-csrButtons {
  display: flex;
  justify-content: center;
  margin-block-start: 6.625rem;
  column-gap: 1rem;
  row-gap: 1.25rem;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .c-csrButtons {
    margin-block-start: 3.3125rem;
  }
}

.c-csrButtons__button {
  max-width: 17.5rem;
  flex: 1;
  border: solid #203e76 0.0625rem;
  height: auto;
  min-height: 4.375rem;
  display: flex;
  align-items: center;
  padding-block: 0.5rem;
  text-align: center;
}
@media (max-width: 1280px) {
  .c-csrButtons__button {
    max-width: 20rem;
  }
}
@media (max-width: 768px) {
  .c-csrButtons__button {
    flex: none;
    max-width: 15rem;
    width: 20.25rem;
    height: 5rem;
  }
}

.c-csrButtons__buttonLink {
  font-family: "Noto Sans JP", sans-serif;
  color: #203e76;
  font-size: clamp(14px, 1.125rem, 100px);
  letter-spacing: 0.05em;
  font-weight: 500;
  height: inherit;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-inline: 0.5rem;
}
.c-csrButtons__buttonLink::after {
  content: "";
  width: 0.9375rem;
  height: 0.5rem;
  display: inline-block;
  background: url(../image/arrow-right-down.svg) no-repeat center;
  background-size: contain;
  margin-block-start: 0.75rem;
}

.c-csrHeaderBlock {
  display: flex;
  align-items: center;
}

.c-csrHeaderBlock__image {
  margin-inline-end: 3.75rem;
  width: 16.25rem;
}
@media (max-width: 768px) {
  .c-csrHeaderBlock__image {
    width: 8.75rem;
    margin-inline-end: 1rem;
  }
}

.c-csrHeaderBlock__header {
  font-weight: 400;
}
.c-csrHeaderBlock__header span {
  font-size: clamp(12px, 1.625rem, 100px);
}
@media (max-width: 768px) {
  .c-csrHeaderBlock__header span {
    font-size: 0.75rem;
  }
}

.c-csrHeaderBlock__english {
  font-size: 1.3125rem;
  margin-block-start: 0.75rem;
}

.c-csrDefinition {
  background-color: rgba(236, 234, 208, 0.35);
  display: flex;
  padding-block: 3.75rem;
  padding-inline: 3.625rem;
  gap: 2rem;
}
@media (max-width: 768px) {
  .c-csrDefinition {
    flex-direction: column;
    padding-block: 1.5rem;
    padding-inline: 1rem;
    gap: 1rem;
  }
}

.c-csrDefinition + .c-csrDefinition {
  margin-block-start: 1.875rem;
}

.c-csrDefinition__header {
  font-weight: 700;
  width: 8.75rem;
}
@media (max-width: 768px) {
  .c-csrDefinition__header {
    width: 100%;
  }
}

.c-csrDefinition__text {
  flex: 1;
}

.c-newsParts__inner {
  display: flex;
  justify-content: space-between;
}

.c-newsParts__left {
  display: flex;
  align-items: center;
  row-gap: 0.875rem;
}
@media (max-width: 768px) {
  .c-newsParts__left {
    flex-wrap: wrap;
    flex: 1;
  }
}

.c-newsParts__date {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16.5px, 1.03125rem, 100px);
  font-weight: 700;
  color: #666666;
  margin-inline-end: 1rem;
}
@media (max-width: 768px) {
  .c-newsParts__date {
    font-size: 0.9375rem;
  }
}

.c-newsParts__category {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #203e76;
  font-size: clamp(14px, 0.875rem, 100px);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.3125rem;
  padding-inline: 1.375rem;
  margin-inline-end: 1.78125rem;
}
@media (max-width: 768px) {
  .c-newsParts__category {
    padding-inline: 0.8125rem;
    padding-block: 0.125rem;
    font-size: 0.875rem;
    min-width: 5rem;
    margin-inline-end: 1rem;
  }
}

.c-newsParts__title {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  font-size: clamp(16.5px, 1.03125rem, 100px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  max-width: 100%;
  width: 25rem;
  color: #333333;
  font-weight: 500;
}
@media (max-width: 1100px) {
  .c-newsParts__title {
    width: 28.75rem;
  }
}
@media (max-width: 768px) {
  .c-newsParts__title {
    width: 15rem;
  }
}

.c-newsParts__link {
  color: #333333;
  letter-spacing: 0.05em;
  font-size: clamp(16.5px, 1.03125rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
}
.c-newsParts__link::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  display: inline-block;
  background-color: #666666;
  bottom: -0.25rem;
}
@media (max-width: 768px) {
  .c-newsParts__link {
    width: 4rem;
  }
}

.c-newsParts__right {
  width: 9.25rem;
  text-align: right;
}
@media (max-width: 768px) {
  .c-newsParts__right {
    width: 10rem;
  }
}

.c-topBlock {
  padding-block-start: 9.6875rem;
  padding-block-end: 11.0625rem;
  width: 50%;
}
@media (max-width: 768px) {
  .c-topBlock {
    width: 100%;
  }
}

.c-topBlock__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
@media (max-width: 768px) {
  .c-topBlock__inner {
    max-width: 500px;
    margin-inline: auto;
  }
}

.c-topBlock__header {
  font-size: 2.5rem;
  color: #203e76;
  font-weight: 400;
}
@media (max-width: 768px) {
  .c-topBlock__header {
    font-size: 1.875rem;
  }
}

.c-topBlock__headerEn {
  color: #000;
  font-size: clamp(16px, 1.3125rem, 100px);
}
@media (max-width: 768px) {
  .c-topBlock__headerEn {
    font-size: 1.125rem;
  }
}

.c-topBlock__lead {
  font-size: clamp(18px, 1.875rem, 100px);
  line-height: 1.6;
  margin-block-start: 1rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .c-topBlock__lead {
    font-size: 1.4375rem;
    letter-spacing: -0.05em;
    margin-block-start: 2.125rem;
  }
}

.c-topBlock__texts {
  margin-block-start: 2.4375rem;
}
@media (max-width: 768px) {
  .c-topBlock__texts {
    margin-block-start: 2.125rem;
  }
}

.c-topBlock__text {
  font-size: clamp(16px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
}
@media (max-width: 768px) {
  .c-topBlock__text {
    font-size: 0.9375rem;
  }
}

.c-topBlock__buttonArea {
  margin-block-start: 3rem;
}
@media (max-width: 768px) {
  .c-topBlock__buttonArea {
    width: fit-content;
    margin-inline: auto;
  }
}

.c-column {
  padding-block-start: 6.8125rem;
  padding-block-end: 8rem;
  background-color: #203e76;
  min-height: 53.75rem;
}
@media (max-width: 1440px) {
  .c-column {
    padding-block-end: 12.5rem;
  }
}
@media (max-width: 768px) {
  .c-column {
    padding-block-start: 4.6875rem;
    min-height: auto;
    padding-block-end: 8rem;
  }
}
.c-column::after {
  content: "";
  position: absolute;
  top: -5rem;
  right: 0;
  width: 43.375rem;
  height: 57.5rem;
  display: inline-block;
}
@media (max-width: 768px) {
  .c-column::after {
    width: 16.625rem;
    height: 26.1875rem;
    top: -5.3125rem;
  }
}

.c-column.--reverse .c-column__wrapper {
  margin-inline-start: auto;
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .c-column.--reverse .c-column__wrapper {
    flex-direction: column;
    align-items: flex-end;
  }
}
.c-column.--reverse::after {
  content: "";
  position: absolute;
  top: -10.75rem;
  left: 0;
  width: 43.75rem;
  height: 56rem;
  display: inline-block;
}
@media (max-width: 768px) {
  .c-column.--reverse::after {
    width: 16.625rem;
    height: 26.1875rem;
    top: -5.3125rem;
  }
}

.c-column.--white {
  background-color: #fff;
}
.c-column.--white .c-column__english,
.c-column.--white .c-column__header,
.c-column.--white .c-column__lead,
.c-column.--white .c-column__text {
  color: #333333;
}

.c-column__wrapper {
  display: flex;
  width: 51.25rem;
  justify-content: space-between;
  gap: 5rem;
  max-width: 100%;
  gap: 4.375rem;
}
@media (max-width: 768px) {
  .c-column__wrapper {
    gap: 3.0625rem;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
  }
}

.c-column__header {
  font-weight: 400;
  color: #fff;
}
@media (max-width: 768px) {
  .c-column__header {
    min-height: 15.625rem;
    margin-inline-start: auto;
  }
}

.c-column__english {
  margin-block-end: 2.75rem;
  letter-spacing: 0.01em;
  color: #fff;
}
@media (max-width: 768px) {
  .c-column__english {
    margin-block-end: 1.5rem;
  }
}

.c-column__lead {
  margin-block-end: 2.5rem;
  font-weight: 700;
  color: #fff;
}
@media (max-width: 768px) {
  .c-column__lead {
    margin-block-end: 2.25rem;
  }
}

.c-column__text {
  color: #fff;
  display: block;
}

.c-column__text + .c-column__text {
  margin-block-start: 1.5rem;
}

.c-column__buttonArea {
  width: fit-content;
  margin-inline-end: auto;
  margin-block-start: 4.5rem;
}
@media (max-width: 768px) {
  .c-column__buttonArea {
    margin-block-start: 2.5rem;
    margin-inline: auto;
  }
}

.p-strength.c-column {
  margin-block-start: 16.6875rem;
  background: url(../image/top-strength-bg.webp) no-repeat center;
  background-size: cover;
  position: relative;
}
@media (max-width: 768px) {
  .p-strength.c-column {
    margin-block-start: 9.375rem;
  }
}
.p-strength.c-column::after {
  background: url(../image/top-strength.webp) no-repeat center;
  background-size: cover;
}

.p-bfp.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.5rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-bfp.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-bfp.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-bfp.c-column::after {
  background: url(../image/printing-service1.webp) no-repeat center;
  background-size: cover;
}

.p-onDemand.c-column {
  background-size: cover;
  position: relative;
}
@media (max-width: 768px) {
  .p-onDemand.c-column {
    margin-block-start: 2rem;
  }
}
.p-onDemand.c-column::after {
  background: url(../image/printing-service2.webp) no-repeat center;
  background-size: cover;
}

.p-securityPrinting.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-securityPrinting.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-securityPrinting.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-securityPrinting.c-column::after {
  background: url(../image/printing-service3.webp) no-repeat center;
  background-size: cover;
}

.p-sealPrinting.c-column {
  background-size: cover;
  position: relative;
}
@media (max-width: 768px) {
  .p-sealPrinting.c-column {
    margin-block-start: 2rem;
  }
}
.p-sealPrinting.c-column::after {
  background: url(../image/printing-service4.webp) no-repeat center;
  background-size: cover;
}

.p-securityPrinting.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-securityPrinting.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-securityPrinting.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-securityPrinting.c-column::after {
  background: url(../image/printing-service3.webp) no-repeat center;
  background-size: cover;
}

.p-odm-advantage.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-odm-advantage.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-odm-advantage.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-odm-advantage.c-column::after {
  background: url(../image/printing-service2.webp) no-repeat center;
  background-size: cover;
}

.p-security.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-security.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-security.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-security.c-column::after {
  background: url(../image/printing-service3.webp) no-repeat center;
  background-size: cover;
}

.p-dps-overview.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-dps-overview.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-dps-overview.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-dps-overview.c-column::after {
  background: url(../image/dps-overview.webp) no-repeat center;
  background-size: cover;
}

.p-pressure-seal.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-pressure-seal.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-pressure-seal.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-pressure-seal.c-column::after {
  background: url(../image/printing-service4.webp) no-repeat center;
  background-size: cover;
}

.p-business-form.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-business-form.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-business-form.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-business-form.c-column::after {
  background: url(../image/printing-service1.webp) no-repeat center;
  background-size: cover;
}

.p-quote.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-quote.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-quote.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-quote.c-column::after {
  background: url(../image/quote-bg.webp) no-repeat center;
  background-size: cover;
}

.p-insertion.c-column {
  background-size: cover;
  position: relative;
  margin-block-start: 12.625rem;
  height: 57.8125rem;
}
@media (max-width: 1440px) {
  .p-insertion.c-column {
    height: auto;
  }
}
@media (max-width: 768px) {
  .p-insertion.c-column {
    margin-block-start: 6.25rem;
  }
}
.p-insertion.c-column::after {
  background: url(../image/insertion-bg.webp) no-repeat center;
  background-size: cover;
}

.c-column__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-block-start: 4.6875rem;
}
@media (max-width: 768px) {
  .c-column__bottom {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
}

.c-column__button.--icon {
  color: #fff;
  font-size: 1.5rem;
  background-color: #000;
  width: 23.125rem;
  height: 6.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media (max-width: 768px) {
  .c-column__button.--icon {
    width: 17.5rem;
  }
}
.c-column__button.--icon::before {
  content: "";
  width: 2.5625rem;
  height: 1.6875rem;
  display: inline-block;
  transition: 0.3s ease;
  background: url(../image/mail.svg) no-repeat center;
  background-size: contain;
  margin-inline-end: 1.25rem;
}

.c-column__telArea {
  color: #fff;
  font-size: clamp(14px, 1rem, 100px);
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 768px) {
  .c-column__telArea {
    font-size: 0.9375rem;
  }
}

.c-column__telNumber {
  font-size: 1.875rem;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}
.c-column__telNumber::before {
  position: absolute;
  content: "";
  width: 2.125rem;
  height: 1.3125rem;
  display: inline-block;
  background: url(../image/tel.webp) no-repeat center;
  background-size: contain;
  margin-block-start: 0.375rem;
}
@media (max-width: 768px) {
  .c-column__telNumber::before {
    width: 2.03125rem;
    height: 1.25rem;
  }
}
@media (max-width: 768px) {
  .c-column__telNumber {
    font-size: 1.75rem;
  }
}

.c-column__telLink {
  color: #fff;
  display: flex;
  padding-inline-start: 3rem;
}
@media (max-width: 768px) {
  .c-column__telLink {
    padding-inline-start: 2.875rem;
  }
}

.c-column__telList + .c-column__telList {
  margin-block-start: 0.5rem;
}

.c-cards {
  display: grid;
  grid-template-columns: repeat(2, 36.25rem);
  justify-content: space-between;
  row-gap: 4.625rem;
}
@media (max-width: 1280px) {
  .c-cards {
    justify-content: center;
    column-gap: 2rem;
  }
}
@media (max-width: 768px) {
  .c-cards {
    grid-template-columns: 1fr;
  }
}

.c-card__image {
  height: 18.75rem;
  width: 100%;
  margin-block-end: 1.5rem;
}
@media (max-width: 768px) {
  .c-card__image {
    height: 12.5rem;
  }
}
.c-card__image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 1.25rem;
}

.c-point {
  background-color: #fff;
  padding-block: 3.125rem;
  padding-inline: 1.875rem;
  width: 1200px;
  max-width: 90%;
  margin-inline: auto;
  transform: translateY(-8.125rem);
}
@media (max-width: 768px) {
  .c-point {
    transform: translateY(-3.75rem);
    padding-block: 1.5rem;
    padding-inline: 0.5rem;
  }
}

.c-point__header {
  text-align: center;
  width: fit-content;
  margin-inline: auto;
  letter-spacing: 0.05em;
}

.c-point__items {
  margin-block-start: 3.1875rem;
  display: flex;
  justify-content: space-between;
  gap: 1.875rem;
}
@media (max-width: 768px) {
  .c-point__items {
    flex-direction: column;
    align-items: center;
  }
}

.c-point__item {
  padding-block-start: 1.4375rem;
  padding-block-end: 1.875rem;
  padding-inline: 1.875rem;
  border: 0.0625rem solid #203e76;
  width: 360px;
}
@media (max-width: 768px) {
  .c-point__item {
    width: 20rem;
    padding-inline: 1rem;
  }
}

.c-point__label {
  display: block;
  text-align: center;
  color: #fff;
  background-color: #203e76;
  padding-block: 0.5rem;
  font-size: clamp(14px, 1rem, 100px);
  width: 100%;
  font-weight: 600;
}
@media (max-width: 768px) {
  .c-point__label {
    font-size: 1rem;
  }
}

.c-point__lead {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  color: #203e76;
  font-size: clamp(16px, 1.125rem, 100px);
  line-height: 1.67;
  border-bottom: 0.0625rem solid #203e76;
  min-height: 108px;
}
@media (max-width: 768px) {
  .c-point__lead {
    font-size: 1.125rem;
  }
}

.c-point__text {
  margin-block-start: 1.6875rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .c-point__text {
    font-size: 1rem;
  }
}

.c-point.p-security-feature .c-point__text {
  text-align: left;
}

.c-point.--small .c-point__lead {
  border-bottom: 0;
}
.c-point.--small .c-point__lead {
  min-height: 48px;
  margin-block-start: 1.5rem;
}
.c-point.--small .c-point__items {
  margin-block-start: 0;
}
.c-point.--small .c-point__items:nth-child(2) {
  margin-block-start: 1.25rem;
}

.c-sectionTitle {
  width: fit-content;
  margin-inline: auto;
}

.c-sectionTitle__jp {
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 400;
}
.c-sectionTitle__jp.--ls {
  letter-spacing: 0.05em;
}
.c-sectionTitle__jp.--ls2 {
  letter-spacing: -0.05em;
}
@media (max-width: 768px) {
  .c-sectionTitle__jp {
    font-size: 1.5rem;
  }
}

.c-sectionTitle__en {
  font-size: clamp(16px, 1.3125rem, 100px);
  text-align: center;
  margin-block-start: 0.75rem;
}
@media (max-width: 768px) {
  .c-sectionTitle__en {
    font-size: 1rem;
    margin-block-start: 0.25rem;
  }
}

.c-sectionTitle.--white .c-sectionTitle__en,
.c-sectionTitle.--white .c-sectionTitle__jp {
  color: #fff;
}

.c-illust-cards {
  display: flex;
  justify-content: center;
  gap: 3.75rem;
}
@media (max-width: 768px) {
  .c-illust-cards {
    flex-direction: column;
    gap: 3rem;
    align-items: center;
  }
}

.c-illust-cards + .c-illust-cards {
  margin-block-start: 3.6875rem;
}

.c-illust-cards__card {
  width: 22.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
}
@media (max-width: 768px) {
  .c-illust-cards__card {
    width: 15rem;
  }
}

.c-illust-cards__cardImage {
  border-radius: 1.875rem;
}
.c-illust-cards__cardImage img {
  border-radius: 1.875rem;
  border: 0.1875rem solid #6a96ea;
}

.c-illust-cards__cardText {
  font-weight: 700;
  margin-block-start: 1.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  .c-illust-cards__cardText {
    margin-block-start: 1rem;
  }
}
.c-illust-cards__cardText.--white {
  color: #fff;
}
.c-illust-cards__cardText span {
  display: block;
  font-size: clamp(12px, 1rem, 100px);
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}

.c-recommend {
  background-color: rgba(236, 234, 208, 0.36);
  padding-block-start: 9.125rem;
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .c-recommend {
    padding-block: 6rem;
  }
}

.c-recommend__header {
  margin-block-end: 1rem;
  padding-inline-start: 4rem;
}
@media (max-width: 768px) {
  .c-recommend__header {
    padding-inline-start: 0;
    width: fit-content;
    margin-inline: auto;
  }
}

.c-recommend__lists {
  background-color: #fff;
  padding-block: 3rem;
  padding-inline: 6.25rem;
}
@media (max-width: 768px) {
  .c-recommend__lists {
    padding-inline: 1rem;
  }
}

.c-recommend__list {
  color: #203e76;
  font-size: clamp(16px, 1.125rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
  position: relative;
  padding-inline-start: 3.4375rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .c-recommend__list {
    padding-inline-start: 3rem;
  }
}
.c-recommend__list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2rem;
  height: 2rem;
  transform: translate(0, -50%);
  display: inline-block;
  background: url(../image/check-icon.webp) no-repeat center;
  background-size: contain;
}
@media (max-width: 768px) {
  .c-recommend__list::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.c-recommend__list + .c-recommend__list {
  margin-block-start: 1.5rem;
}

.c-quality {
  background-color: #f2fafd;
  padding-block-start: 9.5rem;
  padding-block-end: 10rem;
}
@media (max-width: 768px) {
  .c-quality {
    padding-block: 6rem;
  }
}

.c-quality__lead {
  text-align: center;
  margin-block-start: 3.3125rem;
  font-size: clamp(16px, 1.5rem, 100px);
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .c-quality__lead {
    font-size: 1rem;
  }
}

.c-quality__item {
  display: flex;
  gap: 3.75rem;
  align-items: flex-start;
  margin-block-start: 4.5rem;
}
@media (max-width: 768px) {
  .c-quality__item {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.c-quality__image {
  width: 22.5rem;
}
@media (max-width: 1280px) {
  .c-quality__image {
    width: 30%;
  }
}
@media (max-width: 768px) {
  .c-quality__image {
    margin-inline: auto;
    width: 80%;
  }
}

.c-quality__right {
  padding-block: 2.375rem;
  flex: 1;
  display: flex;
  gap: 4.3125rem;
}
@media (max-width: 1280px) {
  .c-quality__right {
    padding-block: 0;
  }
}
@media (max-width: 768px) {
  .c-quality__right {
    flex: none;
    width: 100%;
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
  }
}

.c-quality__content {
  flex: 1;
}

.c-quality__icon {
  width: 12.5rem;
}

.c-quality__header {
  font-weight: 700;
}
@media (max-width: 768px) {
  .c-quality__header {
    text-align: center;
  }
}

.c-quality__text {
  display: block;
  margin-block-start: 1.5rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .c-quality__text {
    margin-block-start: 1rem;
  }
}

.c-table-block {
  margin-block-start: 3.3125rem;
}

.c-table-block__row {
  display: flex;
  padding-block: 1.25rem;
  padding-inline: 3.125rem;
  gap: 1rem;
}
@media (max-width: 768px) {
  .c-table-block__row {
    flex-direction: column;
    padding-inline: 1rem;
    gap: 0.625rem;
  }
}
.c-table-block__row:nth-child(odd) {
  background-color: #f2f2f2;
}

.c-table-block__term {
  width: 10rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 1rem, 100px);
  letter-spacing: 0.05em;
  color: #203e76;
  line-height: 1.87;
}
@media (max-width: 768px) {
  .c-table-block__term {
    width: 100%;
  }
}

.c-table-block__detail {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1rem, 100px);
  line-height: 1.87;
  letter-spacing: 0.05em;
  font-weight: 400;
}
@media (max-width: 768px) {
  .c-table-block__detail {
    width: 100%;
  }
}
.c-table-block__detail ul {
  padding-inline-start: 1.5rem;
}
.c-table-block__detail li {
  list-style-type: disc;
}

.c-linkButtons {
  display: flex;
  justify-content: center;
  margin-block-start: 6.625rem;
  column-gap: 1rem;
  row-gap: 1.25rem;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .c-linkButtons {
    margin-block-start: 3.3125rem;
  }
}

.c-linkButtons__button {
  max-width: 17.5rem;
  flex: 1;
  border: solid #203e76 0.0625rem;
  height: auto;
  min-height: 4.375rem;
  display: flex;
  align-items: center;
  padding-block: 0.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  .c-linkButtons__button {
    flex: none;
    max-width: 25rem;
    width: 20.25rem;
    height: 5rem;
  }
}

.c-linkButtons__buttonLink {
  font-family: "Noto Sans JP", sans-serif;
  color: #203e76;
  font-size: clamp(14px, 1.125rem, 100px);
  letter-spacing: 0.05em;
  font-weight: 500;
  height: inherit;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-inline: 0.5rem;
}
.c-linkButtons__buttonLink::after {
  content: "";
  width: 0.9375rem;
  height: 0.5rem;
  display: inline-block;
  background: url(../image/arrow-right-down.svg) no-repeat center;
  background-size: contain;
  margin-block-start: 0.75rem;
}

.p-header {
  height: clamp(64px, 4rem, 100px);
  background-color: rgba(32, 62, 118, 0);
  /* 透明からスタート */
  transition: background-color 0.8s ease;
  /* ゆっくり変化 */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5000;
  width: 100vw;
}
@media (max-width: 768px) {
  .p-header.--top {
    background-color: #203e76;
  }
}
.p-header.--null {
  background-color: #203e76;
}

.p-header__inner {
  display: flex;
  height: inherit;
  align-items: center;
  width: 100%;
  max-width: 114.125rem;
  padding-inline-start: 1.5625rem;
  padding-inline-end: 2.8125rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .p-header__inner {
    max-width: 33.25rem;
    width: 100%;
    padding-inline: 1rem;
  }
}

.p-header__logo {
  margin-inline-end: auto;
  width: clamp(200px, 20.125rem, 300px);
}
@media (max-width: 768px) {
  .p-header__logo {
    width: clamp(200px, 12.5rem, 300px);
  }
}

.p-header__nav {
  height: inherit;
}

.p-header__list {
  display: flex;
  align-items: center;
  height: inherit;
  gap: 2.125rem;
}
.p-header__list a {
  color: #fff;
  font-size: clamp(18px, 1.125rem, 100px);
}

.p-header__item--menu {
  position: relative;
}

.p-header__sublist-wrap {
  position: absolute;
  top: 100%;
  padding-block-start: 1.5rem;
  left: 0;
}
.p-header__sublist-wrap.--recruit {
  left: auto;
  right: -7.5rem;
}

.p-header__sublist {
  width: fit-content;
  height: auto;
  background: #fff;
  padding-block: 2rem;
  padding-inline: 1.75rem;
  display: none;
  /* 初期は非表示 */
  flex-direction: column;
  row-gap: 1.875rem;
  width: 22.5rem;
  opacity: 0;
  /* アニメーション制御用 */
  visibility: hidden;
}
.p-header__sublist li a {
  color: #333333;
  font-size: clamp(16px, 1rem, 100px);
  white-space: nowrap;
  position: relative;
  width: 100%;
  display: inline-block;
}
.p-header__sublist li a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  width: 0.5rem;
  height: 0.6875rem;
  background: url(../image/arrow-right-navy.svg) no-repeat center;
  background-size: contain;
}
.p-header__sublist li a.--banner {
  width: 14.125rem;
  height: 2.9375rem;
  background-color: #666666;
  display: inline-block;
}
.p-header__sublist li a.--banner::after {
  content: none;
}

.p-header.js-active {
  background-color: rgba(32, 62, 118, 0.7);
}

.p-cta {
  height: auto;
  min-height: 47.5rem;
  background: url(../image/cta-bg.webp) no-repeat center;
  background-size: cover;
  padding-block-start: 8.1875rem;
  padding-block-end: 4rem;
}
@media (max-width: 768px) {
  .p-cta {
    height: auto;
    padding-block-start: 4.0625rem;
    padding-block-end: 4.6875rem;
  }
}

.p-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-cta__header {
  font-size: 5rem;
  font-weight: 400;
  font-style: italic;
}
@media (max-width: 768px) {
  .p-cta__header {
    font-size: 2.3125rem;
    text-align: center;
  }
}

.p-cta__text {
  line-height: 2;
  font-weight: 400;
  text-align: center;
  margin-block-start: 3.75rem;
  color: #666666;
}
@media (max-width: 768px) {
  .p-cta__text {
    margin-block-start: 3.125rem;
  }
}

.p-cta__buttons {
  margin-block-start: 6.75rem;
  display: flex;
  width: 66.375rem;
  max-width: 100%;
  padding-block: 1.75rem;
  padding-inline: 2rem;
  background-color: #fff;
  justify-content: center;
  align-items: center;
  gap: 3.125rem;
  position: relative;
}
.p-cta__buttons::before {
  content: "";
  position: absolute;
  top: -6.25rem;
  left: 50%;
  width: 0.0625rem;
  height: 6.875rem;
  transform: translate(-50%, 0);
  display: inline-block;
  background-color: #ccc;
}
@media (max-width: 768px) {
  .p-cta__buttons::before {
    height: 5rem;
    top: -2.5rem;
  }
}
@media (max-width: 768px) {
  .p-cta__buttons {
    flex-direction: column;
    padding-block-start: 4.125rem;
    padding-block-end: 2.375rem;
  }
}

.p-cta__button {
  color: #fff;
  font-weight: 400;
  font-size: 1.5rem;
  transition: 0.3s ease opacity;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 2.625rem;
  position: relative;
}
.p-cta__button:hover {
  opacity: 0.7;
}
.p-cta__button:hover::before {
  opacity: 0.7;
}
.p-cta__button::before {
  content: "";
  display: inline-block;
  transition: 0.3s ease opacity;
  margin-inline-end: 1.875rem;
}
@media (max-width: 768px) {
  .p-cta__button::before {
    margin-inline-end: 0.59375rem;
  }
}
@media (max-width: 768px) {
  .p-cta__button {
    width: 17.8125rem;
    font-size: 1.125rem;
    max-width: 100%;
    padding-block: 2.25rem;
  }
}

.p-cta__button.--black {
  background-color: #000;
}
.p-cta__button.--black::before {
  width: 2.625rem;
  height: 1.6875rem;
  background: url(../image/mail.svg) no-repeat center;
  background-size: contain;
}
@media (max-width: 768px) {
  .p-cta__button.--black::before {
    width: 1.75rem;
    height: 1.125rem;
  }
}

.p-cta__button.--navy {
  background-color: #203e76;
}
.p-cta__button.--navy::before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  display: inline-block;
  transition: 0.3s ease opacity;
  background: url(../image/download.svg) no-repeat center;
  background-size: contain;
}
@media (max-width: 768px) {
  .p-cta__button.--navy::before {
    width: 1.5rem;
    height: 1.53125rem;
  }
}

.p-footer {
  height: auto;
  background: url(../image/footer-bg.webp) no-repeat center;
  background-size: cover;
  padding-block-start: 6.25rem;
  padding-block-end: 3.75rem;
}
@media (max-width: 768px) {
  .p-footer {
    height: auto;
    padding-block-start: 4.125rem;
  }
}

.p-footer__top {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1440px) {
  .p-footer__top {
    justify-content: center;
    gap: 6.25rem;
  }
}
@media (max-width: 1100px) {
  .p-footer__top {
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 768px) {
  .p-footer__top {
    display: block;
  }
}

.p-footer__logo {
  width: 22.1875rem;
  display: block;
}
@media (max-width: 768px) {
  .p-footer__logo {
    width: 14.0625rem;
    margin-inline: auto;
  }
}

.p-footer__officeList {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1rem, 100px);
  line-height: 1.25;
  font-weight: 400;
  color: #fff;
  width: clamp(100px, 12.5rem, 300px);
  text-align: center;
  border: solid 0.0625rem #fff;
  padding-block: 0.75rem;
  margin-block-start: 1.5rem;
  transition: background-color 0.3s ease;
  padding-inline: 1.375rem;
}
@media (max-width: 768px) {
  .p-footer__officeList {
    margin-inline: auto;
    display: block;
    width: 14.0625rem;
    padding-block: 1.125rem;
    font-size: 0.9375rem;
    margin-block-start: 1.6875rem;
  }
}
.p-footer__officeList:hover {
  background-color: rgba(255, 255, 255, 0.3);
  opacity: 1;
}

.p-footer__left {
  width: 25rem;
  max-width: 100%;
}
@media (max-width: 768px) {
  .p-footer__left {
    width: 43.125rem;
    margin-inline: auto;
  }
}

.p-footer__right {
  display: flex;
  width: 50%;
  justify-content: space-between;
  gap: 1rem;
}
@media (max-width: 1280px) {
  .p-footer__right {
    width: 80%;
  }
}

.p-footer__navLink {
  color: #fff;
  font-size: clamp(16px, 1rem, 100px);
}

.p-footer__bannerArea {
  margin-block-start: 1.75rem;
}
@media (max-width: 768px) {
  .p-footer__bannerArea {
    margin-block-start: 4.375rem;
  }
}

.p-footer__banner {
  width: 18.75rem;
  display: block;
  margin-inline-start: auto;
  max-width: 100%;
}
@media (max-width: 1100px) {
  .p-footer__banner {
    margin-inline: auto;
  }
}
@media (max-width: 768px) {
  .p-footer__banner {
    width: 37.5rem;
  }
}

.p-footer__buttonArea {
  margin-block-start: 4.875rem;
}

.p-footer__button {
  color: #fff;
  font-size: clamp(16px, 1rem, 100px);
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 0.0625rem #fff;
  padding-block: 1rem;
  max-width: 75rem;
  margin-inline: auto;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: background-color 0.3s ease;
}
.p-footer__button:hover {
  background-color: rgba(255, 255, 255, 0.3);
  opacity: 1;
}
.p-footer__button::before {
  content: "";
  width: 0.9375rem;
  height: 0.6875rem;
  display: inline-block;
  transition: 0.3s ease opacity;
  background: url(../image/top-arrow.svg) no-repeat center;
  background-size: contain;
  margin-inline-end: 0.875rem;
}
@media (max-width: 768px) {
  .p-footer__button::before {
    width: 1.625rem;
    height: 1rem;
  }
}

.p-footer__telList {
  margin-block-start: 1.5rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .p-footer__telList {
    margin-inline: auto;
    width: fit-content;
    max-width: 100%;
    margin-block-start: 1.625rem;
  }
}

.p-footer__telArea {
  color: #fff;
  font-size: clamp(14px, 1rem, 100px);
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 768px) {
  .p-footer__telArea {
    font-size: 0.9375rem;
  }
}

.p-footer__telNumber {
  font-size: clamp(16px, 1rem, 100px);
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
}
.p-footer__telNumber::before {
  position: absolute;
  content: "";
  width: 2.125rem;
  height: 1.3125rem;
  display: inline-block;
  background: url(../image/tel.webp) no-repeat center;
  background-size: contain;
  margin-block-start: 0.375rem;
}
@media (max-width: 768px) {
  .p-footer__telNumber::before {
    width: 2.03125rem;
    height: 1.25rem;
  }
}
@media (max-width: 768px) {
  .p-footer__telNumber {
    font-size: 1.75rem;
  }
}

.p-footer__telLink {
  color: #fff;
  display: flex;
  padding-inline-start: 3rem;
  font-size: clamp(16px, 1.875rem, 100px);
}
@media (max-width: 768px) {
  .p-footer__telLink {
    padding-inline-start: 2.875rem;
  }
}

.p-footer__icons {
  display: flex;
  background-color: #fff;
  padding-block: 1rem;
  padding-inline: 1.5rem;
  justify-content: space-between;
  margin-block-start: 1.125rem;
  max-width: 100%;
}
@media (max-width: 768px) {
  .p-footer__icons {
    width: 100%;
    margin-inline: auto;
    column-gap: 1rem;
    padding-inline: 1.875rem;
    margin-block-start: 5.75rem;
  }
}

.p-footer__icon {
  width: 4.375rem;
}
@media (max-width: 768px) {
  .p-footer__icon {
    width: 8.125rem;
  }
}

@media (max-width: 1280px) {
  .p-footer__nav:nth-child(1) {
    width: 25%;
  }
}
@media (max-width: 1280px) {
  .p-footer__nav:nth-child(2) {
    width: 38%;
  }
}
@media (max-width: 1280px) {
  .p-footer__nav:nth-child(3) {
    width: 38%;
  }
}

.p-footer__navBlock + .p-footer__navBlock {
  margin-block-start: 1.5rem;
}

.p-footer__navList.--low {
  padding-inline-start: 1.125rem;
}

.p-footer__navLink {
  line-height: 1.875;
  font-size: clamp(15px, 1rem, 100px);
}

.p-footer__copyArea {
  text-align: center;
  padding-block-start: 1rem;
}
@media (max-width: 768px) {
  .p-footer__copyArea {
    padding-block-start: 7.5625rem;
  }
}

.p-footer__copy {
  color: #fff;
  font-size: clamp(12px, 0.75rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
}

.p-csrPolicy {
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .p-csrPolicy {
    padding-block-end: 5rem;
  }
}

.p-csrPolicy__headerBlock {
  margin-block-start: 9.375rem;
}
@media (max-width: 768px) {
  .p-csrPolicy__headerBlock {
    margin-block-start: 5rem;
  }
}

.p-csrPolicy__definitions {
  margin-block-start: 4.375rem;
}

.p-csrCertificate {
  padding-block: 9.375rem;
  background-color: #f2fafd;
}
@media (max-width: 768px) {
  .p-csrCertificate {
    padding-block: 5rem;
  }
}

.p-csrCertificate__items {
  margin-block-start: 4.25rem;
}
@media (max-width: 768px) {
  .p-csrCertificate__items {
    margin-block-start: 5rem;
  }
}

.p-csrCertificate__item {
  display: flex;
  justify-content: center;
  gap: 3rem;
  align-items: center;
}
@media (max-width: 768px) {
  .p-csrCertificate__item {
    align-items: center;
    column-gap: 2.5rem;
    flex-direction: column;
  }
}

.p-csrCertificate__item + .p-csrCertificate__item {
  margin-block-start: 3.125rem;
}
@media (max-width: 768px) {
  .p-csrCertificate__item + .p-csrCertificate__item {
    margin-block-start: 5rem;
  }
}

.p-csrCertificate__image {
  width: 16.25rem;
  border: 0.0625rem solid #203e76;
}
@media (max-width: 768px) {
  .p-csrCertificate__image {
    width: 7.5rem;
  }
}

.p-csrCertificate__right {
  flex: 1;
  max-width: 55rem;
}
@media (max-width: 768px) {
  .p-csrCertificate__right {
    text-align: center;
  }
}

.p-csrCertificate__header {
  font-weight: 700;
}
@media (max-width: 768px) {
  .p-csrCertificate__header {
    text-align: center;
    margin-block-start: 1rem;
  }
}

.p-csrCertificate__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1rem, 100px);
  line-height: 1.875;
  margin-block-start: 1rem;
}
@media (max-width: 768px) {
  .p-csrCertificate__text {
    text-align: left;
    margin-block-start: 2.5rem;
  }
}

.p-csrBcp {
  padding-block-start: 9.375rem;
  padding-block-end: 8.4375rem;
}
@media (max-width: 768px) {
  .p-csrBcp {
    padding-block-start: 5rem;
  }
}

.p-csrBcp__content {
  margin-block-start: 5rem;
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
@media (max-width: 768px) {
  .p-csrBcp__content {
    flex-direction: column;
    align-items: center;
  }
}

.p-csrBcp__image {
  border: solid 0.0625rem #203e76;
  flex: 1;
  padding-block: 2.75rem;
  padding-inline: 1rem;
}

.p-csrBcp__right {
  width: 33.75rem;
  margin-block-start: 2rem;
}
@media (max-width: 768px) {
  .p-csrBcp__right {
    width: 100%;
  }
}

.p-csrBcp__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1rem, 100px);
  line-height: 1.875;
  letter-spacing: 0.05em;
}
.p-csrBcp__text.--red {
  font-weight: 700;
  color: #cc0000;
}

.p-csrBcp__text + .p-csrBcp__text {
  margin-block-start: 1.75rem;
}

.p-csrBcp__buttonArea {
  margin-block-start: 4.6875rem;
}

@media (max-width: 768px) {
  .p-csrBcp__button {
    margin-inline: auto;
  }
}

.p-csrSdgs {
  padding-block-start: 8.25rem;
  padding-block-end: 8.9375rem;
}
@media (max-width: 768px) {
  .p-csrSdgs {
    padding-block: 5rem;
  }
}

.p-csrSdgs__text {
  font-size: clamp(16px, 1.5rem, 100px);
  letter-spacing: 0.05em;
  line-height: 2;
  display: inline-block;
  margin-block-start: 5rem;
}
@media (max-width: 768px) {
  .p-csrSdgs__text {
    font-size: 1rem;
    margin-block-start: 3.75rem;
  }
}

.p-csrSdgs__buttonArea {
  margin-block-start: 4.375rem;
}

@media (max-width: 768px) {
  .p-csrSdgs__button {
    margin-inline: auto;
  }
}

.p-bcpBcp {
  padding-block-end: 7.5rem;
}

.p-bcpBcp__headerBlock {
  margin-block-start: 9.375rem;
}

.p-bcpBcp__text {
  font-size: clamp(16px, 1rem, 100px);
  letter-spacing: 0.05em;
  display: inline-block;
  margin-block-start: 3.4375rem;
  line-height: 1.8;
}

.p-bcpBcp__definitions {
  margin-block-start: 3.6875rem;
}

.p-bcpBcp__map {
  background-color: #f2fafd;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-block-start: 4.125rem;
  padding-block-end: 4.5rem;
  margin-block-start: 4.375rem;
}

.p-bcpBcp__mapWrapper {
  width: 78.125rem;
  max-width: 100%;
  padding-inline: 1.5625rem;
  margin-inline: auto;
  background-color: #fff;
  padding-block-start: 4.5rem;
  padding-block-end: 3.5rem;
}
@media (max-width: 768px) {
  .p-bcpBcp__mapWrapper {
    width: 100%;
    max-width: 500px;
  }
}

.p-bcpBcp__mapImage {
  width: 55rem;
  max-width: 100%;
  margin-inline: auto;
}

.p-bcpBcp__mapText {
  display: block;
  width: 46.875rem;
  max-width: 100%;
  margin-inline: auto;
  font-size: clamp(16px, 1rem, 100px);
  font-weight: 700;
  color: #cc0000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.875;
  letter-spacing: 0.05em;
  margin-block-start: 2.375rem;
}

.p-bcpBcp__items {
  padding-block-start: 8.125rem;
  padding-block-end: 7.5rem;
}

.p-bcpBcp__header {
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.6;
}

.p-bcpBcp__items {
  padding-block-start: 8.125rem;
  padding-block-end: 7.5rem;
}
@media (max-width: 768px) {
  .p-bcpBcp__items {
    padding-block: 5rem;
  }
}

.p-bcpBcp__buttonArea {
  width: fit-content;
  margin-inline: auto;
}

.p-bcpBcp__header {
  margin-block-end: 2rem;
}

.p-bcpBcp__item + .p-bcpBcp__item {
  margin-block-start: 6.0625rem;
}

.p-bcpBcp__lead {
  margin-block-end: 1.25rem;
}
.p-bcpBcp__lead span {
  font-size: clamp(16px, 1.5rem, 100px);
}
@media (max-width: 768px) {
  .p-bcpBcp__lead span {
    font-size: clamp(15px, 0.9375rem, 100px);
  }
}

.p-drawer-menu__hamburger {
  position: fixed;
  top: clamp(15px, 0.9375rem, 100px);
  right: 1rem;
  z-index: 5000;
  width: 3.75rem;
  height: 2.5rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .p-drawer-menu__hamburger {
    width: 2rem;
    height: 1.625rem;
    top: clamp(18px, 1.125rem, 100px);
  }
}

.p-drawer-menu__hamburger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.1875rem;
  background-color: #fff;
  transition: opacity 0.3s, transform 0.3s;
}
@media (max-width: 768px) {
  .p-drawer-menu__hamburger span {
    height: 0.125rem;
  }
}
.p-drawer-menu__hamburger span:nth-child(1) {
  top: 0;
}
.p-drawer-menu__hamburger span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.p-drawer-menu__hamburger span:nth-child(3) {
  bottom: 0;
}

.p-drawer-menu__hamburger p {
  color: #fff;
  font-size: clamp(12px, 1rem, 100px);
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .p-drawer-menu__hamburger p {
    bottom: -0.5rem;
    font-size: 0.75rem;
  }
}

.p-drawer-menu__hamburger.is-active p {
  display: none;
}

.p-drawer-menu__hamburger.is-active span:nth-child(1) {
  top: 0.75rem;
  transform: rotate(-45deg);
}
.p-drawer-menu__hamburger.is-active span:nth-child(2) {
  top: 0.75rem;
  transform: rotate(45deg);
}

.p-drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(26, 31, 32, 0.3);
  width: 100%;
  height: 100%;
  z-index: 3000;
  display: none;
}

.p-drawer-menu__inner {
  width: 100%;
  max-width: 46.875rem;
  height: 100%;
  background-color: #203e76;
  margin-inline-start: auto;
  padding-block-start: 3.25rem;
  padding-block-end: 1.75rem;
  overflow-y: auto;
  overflow-x: hidden;
}

.p-drawer-menu__items {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-drawer-menu__item:not(:last-child) {
  margin-block-end: 0.75rem;
}

.p-drawer-menu__link {
  color: #fff;
  font-size: 1.125rem;
  padding-block: 0.625rem;
  display: block;
  text-align: center;
}
.p-drawer-menu__link:last-child {
  width: 18.75rem;
}

.p-drawer-menu__summary {
  list-style: none;
  position: relative;
  padding-inline-end: 1.5rem;
  width: fit-content;
  margin-inline: auto;
}
.p-drawer-menu__summary::before, .p-drawer-menu__summary::after {
  content: "";
  display: inline-block;
  width: 0.9375rem;
  height: 0.0625rem;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 0.125rem;
  transition: transform 0.3s ease;
}
.p-drawer-menu__summary::after {
  rotate: 90deg;
  right: 0.0625rem;
}

summary::-webkit-details-marker {
  display: none;
}

.p-drawer-menu__toggle {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-drawer-menu__lowers {
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height 0.4s ease, opacity 0.4s ease;
}
.p-drawer-menu__lowers .is-opened {
  height: auto;
  opacity: 1;
}

.p-drawer-menu__toggle.is-opened .p-drawer-menu__summary::after {
  rotate: 0deg;
  right: 0.0625rem;
}

.p-fv {
  width: 100%;
  height: 68.625rem;
  position: relative;
}
@media (max-width: 768px) {
  .p-fv {
    height: auto;
    margin-block-start: 4rem;
  }
}

.p-fv__video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: -1;
}
@media (max-width: 768px) {
  .p-fv__video {
    width: 100%;
    transform: translate(0, 0);
    position: static;
    height: 20rem;
  }
}

.p-fv__inner {
  display: flex;
  align-items: flex-end;
  height: inherit;
  padding-block-end: 3rem;
}
@media (max-width: 768px) {
  .p-fv__inner {
    padding-inline: 0.9375rem;
    padding-block-end: 0;
  }
}

.p-fv__news {
  width: 62.5rem;
  max-width: 100%;
  margin-inline-start: auto;
  padding-block: 1.5rem;
  padding-inline: 3rem;
  background-color: rgba(255, 255, 255, 0.95);
}
@media (max-width: 1100px) {
  .p-fv__news {
    width: 75rem;
  }
}
@media (max-width: 768px) {
  .p-fv__news {
    padding-inline: 0.9375rem;
  }
}

.p-topContents {
  display: flex;
  max-width: 124.375rem;
  width: 100%;
  position: relative;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .p-topContents {
    flex-direction: column;
  }
}
.p-topContents::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 26%;
  height: 31.25rem;
  transform: translate(-50%, -50%);
  display: inline-block;
  background: url(../image/logo-globe.webp) no-repeat center center;
  background-size: contain;
}
@media (max-width: 768px) {
  .p-topContents::after {
    width: 14.0625rem;
    height: 18.75rem;
  }
}

.p-printing {
  margin-block-end: 15.625rem;
  padding-inline-start: 7.5rem;
  padding-inline-end: 16.6875rem;
  background: url(../image/top-printing.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-printing {
    padding-inline: 1rem;
    padding-block-end: 10.9375rem;
    margin-block-end: 0;
    padding-block-start: 4.6875rem;
  }
}

.p-dps {
  margin-block-start: 15.625rem;
  padding-inline-end: 7.5rem;
  padding-inline-start: 17.5rem;
  background: url(../image/top-dps.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-dps {
    margin-block-start: 0;
    padding-inline: 1rem;
    padding-block-start: 10.875rem;
    padding-block-end: 4.6875rem;
  }
}

.p-message {
  margin-block-start: -6.875rem;
  position: relative;
  z-index: 100;
}
@media (max-width: 768px) {
  .p-message {
    margin-block-start: 0;
    padding-block-start: 4.6875rem;
  }
}

.p-message__lead {
  text-align: center;
  font-style: italic;
}

.p-message__text {
  text-align: center;
  color: #666666;
  display: block;
  margin-block-start: 4.75rem;
}
@media (max-width: 768px) {
  .p-message__text {
    margin-block-start: 3.03125rem;
  }
}

.p-message__loop {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-width: 124.375rem;
  margin-block-start: 7.3125rem;
}
@media (max-width: 768px) {
  .p-message__loop {
    margin-block-start: 3.34375rem;
  }
}

.p-message__loopWrapper {
  display: flex;
  gap: 4.5625rem;
}

.p-message__images {
  display: flex;
  gap: 4.5625rem;
}
@media (max-width: 768px) {
  .p-message__images {
    gap: 2.875rem;
  }
}

.p-message__image {
  width: 31.25rem;
  height: 21.5625rem;
  border-radius: 1.25rem;
}
@media (max-width: 768px) {
  .p-message__image {
    width: 20rem;
    height: 13.3125rem;
  }
}
.p-message__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 1.25rem;
}
.p-message__image:nth-child(even) {
  margin-block-start: 3.375rem;
}
@media (max-width: 768px) {
  .p-message__image:nth-child(even) {
    margin-block-start: 2.3125rem;
  }
}

.p-gov.c-column {
  margin-block-start: 10.6875rem;
  background: url(../image/top-gov-bg.webp) no-repeat center;
  background-size: cover;
  position: relative;
}
@media (max-width: 768px) {
  .p-gov.c-column {
    margin-block-start: 9.375rem;
  }
}
.p-gov.c-column::after {
  background: url(../image/top-gov.webp) no-repeat center;
  background-size: cover;
}

.p-topLinks {
  margin-inline: auto;
  width: 100%;
  max-width: 124.375rem;
}

.p-topLinks__container {
  display: flex;
  justify-content: space-between;
  gap: 4.6875rem;
  width: fit-content;
}
@media (max-width: 768px) {
  .p-topLinks__container {
    flex-direction: column;
    padding-inline: 0.9375rem;
    row-gap: 2.1875rem;
    max-width: 500px;
    margin-inline: auto;
  }
}

.p-topLinks__link {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 43.75rem;
  height: 28.125rem;
  background-color: #203e76;
  padding-block: 2rem;
  padding-inline: 2rem;
  border-radius: 1.25rem;
  aspect-ratio: 1.5555555556;
}
@media (max-width: 768px) {
  .p-topLinks__link {
    width: 100%;
    height: 15.625rem;
    padding-inline: 0.9375rem;
    padding-block: 1.3125rem;
  }
}
.p-topLinks__link:nth-child(2) {
  background: url(../image/top-recruitLink.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-topLinks__link:nth-child(2) {
    aspect-ratio: 1.38;
    border-radius: 1.25rem;
  }
}
.p-topLinks__link:nth-child(1) {
  background: url(../image/top-aboutLink.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-topLinks__link:nth-child(1) {
    width: 100%;
    height: 15.625rem;
    border-radius: 1.25rem;
  }
}
.p-topLinks__link:nth-child(3) {
  background: url(../image/top-csrLink.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-topLinks__link:nth-child(3) {
    width: 100%;
    height: 15.625rem;
    border-radius: 1.25rem;
    padding-inline: 0.9375rem;
    padding-block: 1.3125rem;
  }
}

.p-topLinks__text {
  color: #fff;
}
.p-topLinks__text::after {
  content: "";
  width: 1.3125rem;
  height: 1.75rem;
  display: inline-block;
  background: url(../image/arrow-right.svg) no-repeat center;
  background-size: contain;
  margin-inline-start: 3.3125rem;
}
@media (max-width: 768px) {
  .p-topLinks__text::after {
    width: 0.9375rem;
    height: 1.3125rem;
    margin-inline-start: 1.3125rem;
  }
}

.p-topLinks__textEn {
  color: #fff;
  margin-block-start: 0.25rem;
}

.p-topLinks__textLoop.p-textLoop {
  margin-block-start: 0;
}

.p-topLinks__container {
  display: flex;
  gap: 3.125rem;
}

.p-textLoop {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-width: 124.375rem;
}
.p-textLoop.--printing {
  padding-block-start: 2.5rem;
  padding-block-end: 5rem;
}
@media (max-width: 768px) {
  .p-textLoop.--printing {
    padding-block-start: 0;
  }
}

.p-textLoop__wrapper {
  display: flex;
  overflow: hidden;
  gap: 4.5625rem;
}

.p-textLoop__images {
  display: flex;
  gap: 4.5625rem;
}
@media (max-width: 768px) {
  .p-textLoop__images {
    gap: 2.875rem;
  }
}

.p-textLoop__image {
  width: 31.25rem;
  height: 21.5625rem;
  border-radius: 1.25rem;
}
@media (max-width: 768px) {
  .p-textLoop__image {
    width: 20rem;
    height: 13.3125rem;
  }
}
.p-textLoop__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 1.25rem;
}
.p-textLoop__image:nth-child(even) {
  margin-block-start: 3.375rem;
}
@media (max-width: 768px) {
  .p-textLoop__image:nth-child(even) {
    margin-block-start: 2.3125rem;
  }
}

.p-textLoop__texts {
  display: flex;
}

.p-textLoop__text {
  font-size: 6.25rem;
  color: rgba(204, 204, 204, 0.5019607843);
  opacity: 0.5;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .p-textLoop__text {
    font-size: 4.6875rem;
  }
}

.p-sdgsSdgs__headerBlock {
  margin-block-start: 9.375rem;
}

.p-sdgsSdgs__text {
  font-size: clamp(16px, 1rem, 100px);
  letter-spacing: 0.05em;
  display: inline-block;
  margin-block-start: 3.4375rem;
  line-height: 1.8;
}

.p-sdgsSdgs__definitions {
  margin-block-start: 3.6875rem;
}

.p-sdgsSdgs__map {
  width: 53.09375rem;
  max-width: 100%;
  margin-inline: auto;
  margin-block-start: 3.0625rem;
}

.p-sdgsSdgs__kyoto {
  margin-block-start: 7.5rem;
  display: flex;
  align-items: center;
  column-gap: 2.875rem;
}
@media (max-width: 1100px) {
  .p-sdgsSdgs__kyoto {
    align-items: flex-center;
    flex-direction: column;
  }
}

.p-sdgsSdgs__kyotoImage {
  width: 25rem;
  max-width: 100%;
}

.p-sdgsSdgs__kyotoRight {
  flex: 1;
}
@media (max-width: 1100px) {
  .p-sdgsSdgs__kyotoRight {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.25rem;
  }
}

@media (max-width: 1100px) {
  .p-sdgsSdgs__kyotoBlock {
    width: 100%;
  }
}

.p-sdgsSdgs__kyotoHeader {
  margin-block-end: 3rem;
}

.p-sdgsSdgs__kyotoLogo {
  width: 27.5rem;
  margin-block-end: 3.3125rem;
  max-width: 100%;
}

.p-sdgsSdgs__kyotoList {
  margin-block-end: 1.4375rem;
}

.p-sdgsSdgs__kyotoTerm {
  color: #203e76;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(18px, 1.125rem, 100px);
  margin-block-end: 1.4375rem;
}

.p-sdgsSdgs__kyotoLink {
  text-align: right;
}
.p-sdgsSdgs__kyotoLink a {
  color: #333333;
  font-size: clamp(14px, 0.875rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768px) {
  .p-sdgsSdgs__kyotoLink a {
    width: 100%;
    display: inline-block;
    font-size: 0.75rem;
  }
}

.p-sdgsAction {
  margin-block-start: 9.125rem;
  padding-block-end: 11.25rem;
}

.p-sdgsAction__header {
  text-align: center;
  font-size: clamp(20px, 2.25rem, 100px);
  font-weight: 400;
  letter-spacing: 0.05em;
}

.p-sdgsAction__items {
  margin-block-start: 4.5rem;
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}
@media (max-width: 1280px) {
  .p-sdgsAction__items {
    max-width: 96%;
  }
}

.p-sdgsAction__item + .p-sdgsAction__item {
  margin-block-start: 7.5rem;
}
@media (max-width: 768px) {
  .p-sdgsAction__item + .p-sdgsAction__item {
    margin-block-start: 5rem;
  }
}

.p-sdgsAction__item {
  height: 49.375rem;
  width: 100%;
  padding-inline: 7.5rem;
  display: flex;
  align-items: flex-end;
  position: relative;
}
.p-sdgsAction__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background-image: url("../image/sdgs-bg1.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  display: inline-block;
  z-index: -1;
}
@media (max-width: 768px) {
  .p-sdgsAction__item::before {
    background-position: top left 30%;
  }
}
@media (max-width: 768px) {
  .p-sdgsAction__item {
    padding-inline: 1rem;
    height: 37.5rem;
  }
}

.p-sdgsAction__item:nth-child(2)::before {
  background-image: url("../image/sdgs-bg2.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}

.p-sdgsAction__item:nth-child(3)::before {
  background-image: url("../image/sdgs-bg3.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
@media (max-width: 768px) {
  .p-sdgsAction__item:nth-child(3)::before {
    background-position: bottom left 20%;
  }
}

.p-sdgsAction__item:nth-child(4)::before {
  background-image: url("../image/sdgs-bg4.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}

.p-sdgsAction__itemInner {
  width: 100%;
}

.p-sdgsAction__itemHeader {
  color: #fff;
  font-weight: 700;
  margin-block-end: 2.5rem;
}

.p-sdgsAction__text.text-xs {
  letter-spacing: 0.05em;
  color: #fff;
  display: inline-block;
  margin-block-end: 2.5rem;
  padding-inline-start: 2.5rem;
  position: relative;
}
@media (max-width: 768px) {
  .p-sdgsAction__text.text-xs {
    padding-inline-start: 1.5rem;
    margin-block-end: 1rem;
  }
}
.p-sdgsAction__text.text-xs::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.0625rem;
  height: 5.875rem;
  transform: translate(0, -50%);
  display: inline-block;
  transition: 0.3s ease;
  background-color: #fff;
}

.p-sdgsAction__bottom {
  display: flex;
  background: #fff;
  padding-block: 3.125rem;
  padding-inline: 3.125rem;
  gap: 2.25rem;
  align-items: center;
}
@media (max-width: 1280px) {
  .p-sdgsAction__bottom {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.125rem;
    padding-inline: 2rem;
    padding-block: 2rem;
  }
}

.p-sdgsAction__icons {
  display: flex;
  gap: 1.25rem;
}
@media (max-width: 768px) {
  .p-sdgsAction__icons {
    justify-content: center;
    gap: 1rem;
    width: 100%;
  }
}

.p-sdgsAction__icon {
  width: 7.5rem;
}
@media (max-width: 768px) {
  .p-sdgsAction__icon {
    width: 6.25rem;
  }
}

.p-sdgsAction__list.text-xs-gothic {
  color: #203e76;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
  font-size: clamp(12px, 1rem, 100px);
  padding-inline-start: 1.125rem;
}
.p-sdgsAction__list.text-xs-gothic::before {
  position: absolute;
  content: "";
  width: 0.5625rem;
  height: 0.5625rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  background-color: #203e76;
}
@media (max-width: 768px) {
  .p-sdgsAction__list.text-xs-gothic::before {
    top: 1rem;
  }
}

.p-sdgsAction__buttonArea {
  width: fit-content;
  margin-inline: auto;
  margin-block-start: 3rem;
}

.p-fvBottom {
  padding-block-start: 6.5625rem;
  padding-block-end: 6.0625rem;
}
@media (max-width: 768px) {
  .p-fvBottom {
    padding-block-start: 5rem;
    padding-block-end: 3.75rem;
  }
}
.p-fvBottom.--narrow {
  padding-block-start: 4rem;
  padding-block-end: 4.5rem;
}

.p-fvBottom__inner {
  display: flex;
  align-items: center;
  row-gap: 2.5rem;
  flex-direction: column;
}

.p-fvBottom__lead {
  line-height: 1.5;
  text-align: center;
  color: #203e76;
}
.p-fvBottom__lead.--ls {
  letter-spacing: 0.05em;
}

.p-fvBottom__text {
  max-width: 100%;
  width: 950px;
  letter-spacing: 0.05em;
}
.p-fvBottom__text span {
  color: #203e76;
}
.p-fvBottom__text .--underline {
  border-bottom: 0.0625rem solid #203e76;
}
.p-fvBottom__text.--gov-print {
  text-align: center;
  font-size: clamp(16px, 1.5rem, 100px);
  color: #666666;
  width: 960px;
  line-height: 2;
}
@media (max-width: 768px) {
  .p-fvBottom__text.--gov-print {
    line-height: 1.7;
    text-align: left;
    font-size: 1rem;
  }
}
.p-fvBottom__text.--quote {
  text-align: center;
  font-size: clamp(16px, 1.5rem, 100px);
  color: #666666;
  width: 75rem;
  line-height: 2;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .p-fvBottom__text.--quote {
    line-height: 1.7;
    text-align: left;
    font-size: 1rem;
  }
}

.p-odm-products {
  padding-block-end: 9.625rem;
}
@media (max-width: 768px) {
  .p-odm-products {
    padding-block-end: 6.125rem;
  }
}

.p-odm-products__lead {
  margin-block-start: 3.75rem;
  width: 980px;
  max-width: 100%;
  margin-inline: auto;
  margin-block-end: 3.9375rem;
}

.p-odm-machine {
  background-color: #203e76;
  padding-block-start: 10rem;
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .p-odm-machine {
    padding-block: 6rem;
  }
}

.p-odm-machine__contents {
  display: flex;
  gap: 3.75rem;
  align-items: flex-start;
  margin-block-start: 4rem;
}
@media (max-width: 768px) {
  .p-odm-machine__contents {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-odm-machine__image {
  width: 50%;
}
@media (max-width: 768px) {
  .p-odm-machine__image {
    width: 100%;
  }
}

.p-odm-machine__right {
  padding-block: 2.5rem;
  color: #fff;
  flex: 1;
}
@media (max-width: 768px) {
  .p-odm-machine__right {
    flex: none;
    width: 100%;
    padding-block: 0;
  }
}

.p-odm-machine__name {
  font-weight: 700;
}

.p-odm-machine__description {
  color: #fff;
  display: block;
  margin-block-start: 2rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .p-odm-machine__description {
    margin-block-start: 1rem;
  }
}

.p-security-examples {
  background-color: #203e76;
  padding-block-start: 10rem;
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .p-security-examples {
    padding-block: 6rem;
  }
}

.p-security-examples__wrapper {
  margin-block-start: 3.375rem;
}

.p-security-examples__contents {
  display: flex;
  gap: 3.75rem;
  align-items: center;
}
@media (max-width: 768px) {
  .p-security-examples__contents {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-security-examples__contents + .p-security-examples__contents {
  margin-block-start: 3.75rem;
}

.p-security-examples__image {
  width: 50%;
  background-color: #fff;
  padding-block: 1.875rem;
  padding-inline: 1.875rem;
}
@media (max-width: 768px) {
  .p-security-examples__image {
    width: 100%;
  }
}

.p-security-examples__right {
  padding-block: 2.5rem;
  color: #fff;
  flex: 1;
}
@media (max-width: 768px) {
  .p-security-examples__right {
    flex: none;
    width: 100%;
    padding-block: 0;
  }
}

.p-security-examples__name {
  font-weight: 700;
}

.p-security-examples__description {
  color: #fff;
  display: block;
  margin-block-start: 2rem;
}
@media (max-width: 768px) {
  .p-security-examples__description {
    margin-block-start: 1rem;
  }
}

.p-security-examples__message {
  text-align: center;
  color: #fff;
  margin-block-start: 4rem;
}

.p-security-combinations {
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .p-security-combinations {
    padding-block-end: 6rem;
  }
}

.p-security-combinations__image {
  margin-block-start: 4.1875rem;
  width: 1075px;
  margin-inline: auto;
  max-width: 100%;
}

.p-security-product {
  padding-block-start: 10rem;
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .p-security-product {
    padding-block: 6rem;
  }
}

.p-security-product__wrapper {
  margin-block-start: 3rem;
}

.p-security-product__contents {
  display: flex;
  gap: 3.75rem;
  align-items: center;
}
@media (max-width: 768px) {
  .p-security-product__contents {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-security-product__contents + .p-security-product__contents {
  margin-block-start: 1.25rem;
}

.p-security-product__image {
  width: 50%;
  background-color: #203e76;
  padding-block: 2.5rem;
  padding-inline: 2.5rem;
}
@media (max-width: 768px) {
  .p-security-product__image {
    width: 100%;
    padding: 1rem;
  }
}

.p-security-product__right {
  padding-block: 2.5rem;
  color: #fff;
  flex: 1;
}
@media (max-width: 768px) {
  .p-security-product__right {
    flex: none;
    width: 100%;
    padding-block: 0;
  }
}

.p-security-product__name {
  font-weight: 700;
  color: #333333;
}

.p-security-product__description {
  display: block;
  margin-block-start: 2rem;
  color: #333333;
}
.p-security-product__description.--navy {
  color: #203e76;
}
@media (max-width: 768px) {
  .p-security-product__description {
    margin-block-start: 1rem;
  }
}

.p-dps-flow {
  padding-block-start: 5rem;
  padding-block-end: 14.375rem;
}
@media (max-width: 768px) {
  .p-dps-flow {
    padding-block-start: 6rem;
    padding-block-end: 12rem;
  }
}

.p-dps-flow__image {
  margin-block-start: 2.8125rem;
}

.p-dps-flow__buttonArea {
  margin-block-start: 3.375rem;
  width: fit-content;
  margin-inline: auto;
}

.p-dps-feature {
  padding-block-end: 7.1875rem;
}

.p-dps-feature__items {
  margin-block-start: 4.125rem;
  display: grid;
  grid-template-columns: 36.125rem 36.125rem;
  column-gap: 2.5rem;
  row-gap: 4.375rem;
  justify-content: center;
}
@media (max-width: 768px) {
  .p-dps-feature__items {
    grid-template-columns: 1fr;
    margin-block-start: 2.8125rem;
  }
}

.p-dps-feature__itemBottom {
  padding-block-start: 1.875rem;
}

.p-dps-feature__text {
  display: block;
  margin-block-start: 1rem;
}

.p-dps-feature__image img {
  border-radius: 1.25rem;
}

.p-dps-machine {
  margin-block-start: 9.25rem;
  margin-block-end: 10rem;
}
@media (max-width: 768px) {
  .p-dps-machine {
    margin-block-end: 6rem;
  }
}

.p-dps-machine__image {
  margin-block-start: 2.8125rem;
}

.p-dps-machine__text {
  font-size: clamp(16px, 1.5rem, 100px);
  line-height: 2;
  text-align: center;
  margin-block-start: 3.5rem;
  letter-spacing: 0.05em;
}
@media (max-width: 1100px) {
  .p-dps-machine__text {
    letter-spacing: 0;
  }
}
@media (max-width: 768px) {
  .p-dps-machine__text {
    font-size: 1rem;
    text-align: left;
  }
}

.p-dps-machine__text span.--underline {
  font-weight: 700;
  font-size: clamp(22px, 2.25rem, 100px);
  letter-spacing: 0;
  position: relative;
  background: linear-gradient(transparent calc(100% - 1.0625rem), #ffff66 0);
  display: inline;
}
@media (max-width: 768px) {
  .p-dps-machine__text span.--underline {
    font-size: 1.25rem;
    background: linear-gradient(transparent calc(100% - 0.625rem), #ffff66 0);
  }
}

.p-dps-machine__smallText {
  margin-block-start: 5rem;
}
.p-dps-machine__smallText span.--pink {
  border-radius: 0.25rem;
  border: solid 0.0625rem #ff0099;
  background-color: #fbc8e1;
  padding-inline: 0.25rem;
}
.p-dps-machine__smallText span.--orange {
  border-radius: 0.25rem;
  border: solid 0.0625rem #ff9900;
  background-color: #fbe9cd;
  padding-inline: 0.25rem;
}
.p-dps-machine__smallText span.--green {
  border-radius: 0.25rem;
  border: solid 0.0625rem #46b034;
  background-color: #c8fbc9;
  padding-inline: 0.25rem;
}
.p-dps-machine__smallText span.--purple {
  border-radius: 0.25rem;
  border: solid 0.0625rem #0000ff;
  background-color: #dce4fa;
  padding-inline: 0.25rem;
}

.p-dps-case {
  padding-block-start: 4.5rem;
  padding-block-end: 6.5rem;
  background-color: #203e76;
}

.p-dps-case__lead {
  font-size: clamp(16px, 1.5rem, 100px);
  line-height: 2;
  color: #fff;
  text-align: center;
  margin-block-start: 4.375rem;
}
@media (max-width: 768px) {
  .p-dps-case__lead {
    font-size: 1rem;
  }
}

.p-dps-case__items {
  margin-block-start: 5.625rem;
}

.p-pressure-seal-lineup {
  background-color: #203e76;
  padding-block-start: 10rem;
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .p-pressure-seal-lineup {
    padding-block: 6rem;
  }
}

.p-pressure-seal-lineup__items {
  display: grid;
  gap: 3.75rem;
  align-items: flex-start;
  margin-block-start: 4rem;
  grid-template-columns: 34.8125rem 34.8125rem;
}
@media (max-width: 1280px) {
  .p-pressure-seal-lineup__items {
    grid-template-columns: 1fr;
    gap: 5rem;
  }
}

.p-pressure-seal-lineup__item {
  display: flex;
  gap: 2.5rem;
  align-items: center;
}
@media (max-width: 768px) {
  .p-pressure-seal-lineup__item {
    align-items: flex-start;
    gap: 1.5rem;
  }
}

.p-pressure-seal-lineup__image {
  width: 16.25rem;
}
@media (max-width: 768px) {
  .p-pressure-seal-lineup__image {
    width: 7.5rem;
  }
}

.p-pressure-seal-lineup__right {
  flex: 1;
  color: #fff;
}

.p-pressure-seal-lineup__description {
  margin-block-start: 1rem;
}

.p-pressure-seal-products {
  padding-block-end: 9.625rem;
  padding-block-start: 8.75rem;
}
@media (max-width: 768px) {
  .p-pressure-seal-products {
    padding-block: 6.125rem;
  }
}

.p-pressure-seal-products__lead {
  margin-block-start: 3.75rem;
  width: 980px;
  max-width: 100%;
  margin-inline: auto;
  margin-block-end: 3.9375rem;
}

.p-pressure-seal-product__items {
  margin-block-start: 4rem;
}

.p-pressure-seal-security {
  background: url(../image/pressure-seal-bg.webp) no-repeat center;
  background-size: cover;
  padding-block-start: 9.875rem;
  padding-block-end: 10rem;
  color: #fff;
}
@media (max-width: 768px) {
  .p-pressure-seal-security {
    padding-block: 6rem;
  }
}

.p-pressure-seal-security__header {
  text-align: center;
  font-weight: 700;
  margin-block-end: 4.3125rem;
}
.p-pressure-seal-security__header.--ls {
  letter-spacing: 0.05em;
}

.p-pressure-seal-security__lead {
  text-align: center;
  font-size: clamp(16px, 1.5rem, 100px);
  line-height: 1.67;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__lead {
    font-size: 1.125rem;
  }
}

.p-pressure-seal-security__items {
  margin-block-start: 4.375rem;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__items {
    margin-block-start: 3rem;
  }
}

.p-pressure-seal-security__item {
  display: flex;
  gap: 3.75rem;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__item {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-pressure-seal-security__item + .p-pressure-seal-security__item {
  margin-block-start: 3.125rem;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__item + .p-pressure-seal-security__item {
    margin-block-start: 5rem;
  }
}

.p-pressure-seal-security__image {
  width: 50%;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__image {
    width: 100%;
  }
}

.p-pressure-seal-security__right {
  padding-block: 2rem;
  color: #fff;
  flex: 1;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__right {
    flex: none;
    width: 100%;
    padding-block: 0;
    text-align: center;
  }
}

.p-pressure-seal-security__small {
  font-size: clamp(16px, 1.125rem, 100px);
  margin-block-end: 1.25rem;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__small {
    margin-block-end: 1rem;
  }
}

.p-pressure-seal-security__name {
  font-weight: 700;
}

.p-pressure-seal-security__text {
  display: block;
  margin-block-start: 2rem;
}
@media (max-width: 768px) {
  .p-pressure-seal-security__text {
    margin-block-start: 1rem;
  }
}

.p-business-form-machine {
  background-color: #203e76;
  padding-block-start: 10rem;
  padding-block-end: 9.375rem;
}
@media (max-width: 768px) {
  .p-business-form-machine {
    padding-block: 6rem;
  }
}

.p-business-form-machine__contents {
  display: flex;
  gap: 3.75rem;
  align-items: flex-start;
  margin-block-start: 4rem;
}
@media (max-width: 768px) {
  .p-business-form-machine__contents {
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
  }
}

.p-business-form-machine__image {
  width: 50%;
}
@media (max-width: 768px) {
  .p-business-form-machine__image {
    width: 100%;
  }
}

.p-business-form-machine__right {
  padding-block: 2.5rem;
  color: #fff;
  flex: 1;
}
@media (max-width: 1280px) {
  .p-business-form-machine__right {
    padding-block: 0;
  }
}
@media (max-width: 768px) {
  .p-business-form-machine__right {
    flex: none;
    width: 100%;
  }
}

.p-business-form-machine__name {
  font-weight: 700;
}

.p-business-form-machine__description {
  color: #fff;
  display: block;
  margin-block-start: 2rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .p-business-form-machine__description {
    margin-block-start: 1rem;
  }
}

.p-business-form-machine__link {
  display: inline-block;
  margin-block-start: 1rem;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: underline;
  font-size: clamp(16px, 1.125rem, 100px);
}

.p-gov-message {
  padding-block-start: 12.5rem;
  padding-block-end: 12.9375rem;
  background: url(../image/gov-bg.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-gov-message {
    padding-block: 6rem;
  }
}

.p-gov-message__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  flex-direction: column;
}

.p-gov-message__header {
  font-weight: 400;
  color: #fff;
}

.p-gov-message__lead {
  color: #fff;
  font-weight: 700;
  text-align: center;
  font-size: 2.5rem;
}
@media (max-width: 768px) {
  .p-gov-message__lead {
    font-size: 1.125rem;
  }
}

.p-gov-message__text {
  text-align: center;
  color: #fff;
}
@media (max-width: 768px) {
  .p-gov-message__text {
    text-align: left;
  }
}

.p-gov-message__header {
  text-align: center;
}

.p-gov-knowHow {
  padding-block-start: 8.75rem;
  padding-block-end: 10rem;
}
@media (max-width: 768px) {
  .p-gov-knowHow {
    padding-block: 6rem;
  }
}

.p-gov-knowHow__items {
  margin-block-start: 4.125rem;
  display: grid;
  grid-template-columns: 36.125rem 36.125rem;
  justify-content: center;
  column-gap: 2.5rem;
  row-gap: 4.375rem;
}
@media (max-width: 768px) {
  .p-gov-knowHow__items {
    grid-template-columns: 1fr;
    margin-block-start: 2.8125rem;
  }
}

.p-gov-knowHow__itemBottom {
  padding-block-start: 1rem;
}

.p-gov-knowHow__text {
  display: block;
  margin-block-start: 1rem;
}

.p-gov-knowHow__image img {
  border-radius: 1.25rem;
}

.p-gov-merit {
  background-color: #203e76;
  padding-block-start: 6.8125rem;
  padding-block-end: 7.3125rem;
}
@media (max-width: 768px) {
  .p-gov-merit {
    padding-block: 6rem;
  }
}

.p-gov-merit__lead {
  color: #fff;
  text-align: center;
  line-height: 2;
  margin-block-start: 2.5rem;
}

.p-gov-merit__text {
  color: #fff;
  text-align: center;
}
.p-gov-merit__text:nth-child(3) {
  margin-block-start: 3.5625rem;
}
.p-gov-merit__text:nth-child(4) {
  margin-block-start: 1.5rem;
}
.p-gov-merit__text:nth-child(5) {
  margin-block-start: 1.5rem;
}
@media (max-width: 1100px) {
  .p-gov-merit__text {
    text-align: left;
  }
}

.p-gov-merit__buttonArea {
  margin-block-start: 5rem;
  width: fit-content;
  margin-inline: auto;
}

.p-gov-imageWide {
  height: 27.9375rem;
  background: url(../image/gov-bg2.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-gov-imageWide {
    height: 15rem;
  }
}

.p-about-links {
  padding-block-start: 7.5625rem;
  padding-block-end: 9.875rem;
}
@media (max-width: 768px) {
  .p-about-links {
    padding-block: 6rem;
  }
}

.p-about-links__wrapper {
  display: flex;
  justify-content: center;
  gap: 2.1875rem;
}
@media (max-width: 768px) {
  .p-about-links__wrapper {
    flex-direction: column;
  }
}

.p-about-links__link {
  display: block;
  width: 20.625rem;
}

.p-about-links__image img {
  border-radius: 0.625rem;
}

.p-about-links__text {
  display: flex;
  justify-content: space-between;
  font-size: clamp(16px, 1.3125rem, 100px);
  color: #333333;
  font-weight: 700;
  align-items: center;
  margin-block-start: 1.4375rem;
}
.p-about-links__text::after {
  content: "";
  width: 1.5625rem;
  height: 1.5625rem;
  display: inline-block;
  transition: 0.3s ease;
  background: url(../image/button-arrow.svg) no-repeat center;
  background-size: contain;
}

.p-list-office {
  padding-block-start: 6.25rem;
}

.p-list-office__inner {
  position: relative;
  z-index: -1;
}
.p-list-office__inner::after {
  content: "";
  position: absolute;
  background-image: url(../image/office-bg.webp);
  top: -25rem;
  left: 50%;
  transform: translateX(-40%);
  width: 105rem;
  height: 73.625rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
}
@media (max-width: 768px) {
  .p-list-office__inner::after {
    top: -6.25rem;
    width: 37.5rem;
    height: 25rem;
    transform: translateX(-50%);
  }
}
@media (max-width: 1280px) {
  .p-list-office__inner {
    width: 100%;
  }
}

.p-list-office__map {
  width: 56.25rem;
  max-width: 100%;
  margin-block-start: 3.625rem;
  margin-block-end: 4.3125rem;
  margin-inline: auto;
}

.p-list-office__block + .p-list-office__block {
  margin-block-start: 3.0625rem;
}

.p-list-office__header {
  color: #fff;
  padding-inline: 1.9375rem;
  padding-block: 1.25rem;
  width: 100%;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: clamp(18px, 1.3125rem, 100px);
}
@media (max-width: 768px) {
  .p-list-office__header {
    font-size: 1.125rem;
  }
}

.p-list-office__row {
  display: flex;
  padding-inline: 3.125rem;
  padding-block: 1.5rem;
  font-size: clamp(16px, 1rem, 100px);
  letter-spacing: 0.05em;
  gap: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 0.0625rem solid #ccc;
}
@media (max-width: 768px) {
  .p-list-office__row {
    flex-direction: column;
    padding-inline: 0.5rem;
    padding-block-end: 0.5rem;
    padding-block-start: 0.75rem;
  }
}

.p-list-office__name {
  width: 13.75rem;
  font-weight: 700;
}
@media (max-width: 1280px) {
  .p-list-office__name {
    width: 20rem;
  }
}
@media (max-width: 768px) {
  .p-list-office__name {
    width: 100%;
  }
}

.p-list-office__detail {
  flex: 1;
}

.p-list-office__block.--red .p-list-office__header {
  background-color: #e94638;
}
.p-list-office__block.--red .p-list-office__row {
  background-color: #fcf6f5;
}

.p-list-office__block.--green .p-list-office__header {
  background-color: #094;
}

.p-list-office__block.--pink .p-list-office__header {
  background-color: #e4007f;
}
.p-list-office__block.--pink .p-list-office__row {
  background-color: #fcf3f8;
}

.p-list-office__block.--red .p-list-office__header {
  background-color: #e94638;
}

.p-list-office__block.--blue .p-list-office__header {
  background-color: #28a7e1;
}

.p-greeting-message {
  padding-block-start: 0.625rem;
  padding-block-end: 14.8125rem;
  width: 100%;
  background: url(../image/greeting-bg.webp) no-repeat center;
  background-size: cover;
}
@media (max-width: 768px) {
  .p-greeting-message {
    padding-block-start: 0.625rem;
    padding-block-end: 6rem;
  }
}
.p-greeting-message .breadcrumbs span {
  color: #fff;
}
.p-greeting-message .breadcrumbs {
  color: #fff;
}

.p-greeting-message__lead {
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 400;
  text-align: center;
  margin-block-end: 8.6875rem;
  padding-block-start: 5.625rem;
}
@media (max-width: 768px) {
  .p-greeting-message__lead {
    margin-block-end: 3rem;
    padding-block-start: 5rem;
  }
}

.p-greeting-message__text {
  text-align: center;
  color: #fff;
  line-height: 2;
  letter-spacing: 0.05em;
  font-size: clamp(18px, 1.5rem, 100px);
}
@media (max-width: 768px) {
  .p-greeting-message__text {
    font-size: 1rem;
    line-height: 1.75;
    text-align: left;
  }
}

.p-greeting-message__text + .p-greeting-message__text {
  margin-block-start: 3rem;
}

.p-greeting-message__sign {
  display: flex;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
  margin-block-start: 5.125rem;
  align-items: center;
  gap: 1.6875rem;
}

.p-greeting-message__title {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #fff;
}

.p-greeting-message__name {
  width: 11.5625rem;
}
@media (max-width: 768px) {
  .p-greeting-message__name {
    width: 8.75rem;
  }
}

.p-profile-overview {
  padding-block-start: 7.5rem;
}
@media (max-width: 768px) {
  .p-profile-overview {
    padding-block-start: 6rem;
  }
}

.p-profile-history {
  padding-block-start: 7.5rem;
}
@media (max-width: 768px) {
  .p-profile-history {
    padding-block-start: 6rem;
  }
}

.p-profile-history__table {
  margin-block-start: 3.3125rem;
  position: relative;
  padding-inline-start: 0;
}
@media (max-width: 768px) {
  .p-profile-history__table {
    padding-inline-start: 0;
  }
}

.p-profile-history__group {
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  gap: 0;
  position: relative;
  padding-block: 0.5rem;
}
@media (max-width: 768px) {
  .p-profile-history__group {
    grid-template-columns: 5.75rem 1fr;
    gap: 0;
  }
}
.p-profile-history__group:nth-child(odd) {
  background-color: #f2f2f2;
}
.p-profile-history__group::after {
  content: "";
  position: absolute;
  top: 1.4375rem;
  left: 2.1875rem;
  width: 0.0625rem;
  height: 100%;
  display: inline-block;
  background-color: #ccc;
  z-index: 8;
}
@media (max-width: 768px) {
  .p-profile-history__group::after {
    left: 1rem;
  }
}
.p-profile-history__group:last-child::after {
  content: none;
}

.p-profile-history__year {
  grid-column: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 1rem, 100px);
  letter-spacing: 0.05em;
  color: #203e76;
  line-height: 1.87;
  padding-block: 0.5rem;
  text-align: right;
  position: relative;
}
.p-profile-history__year::before {
  content: "";
  position: absolute;
  top: 1.4375rem;
  left: 1.9375rem;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  display: inline-block;
  background-color: #203e76;
  z-index: 10;
}
@media (max-width: 768px) {
  .p-profile-history__year::before {
    left: 0.6875rem;
    top: 1.1875rem;
  }
}
@media (max-width: 768px) {
  .p-profile-history__year {
    padding-block: 0.5rem;
  }
}

.p-profile-history__row {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  gap: 3rem;
  padding-block: 0.5rem;
  padding-inline-end: 3.125rem;
  position: relative;
}
@media (max-width: 768px) {
  .p-profile-history__row {
    grid-template-columns: 5.75rem 1fr;
    gap: 1.5rem;
    padding-inline-end: 0.5rem;
    padding-block: 0.5rem;
  }
}

.p-profile-history__month {
  grid-column: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 1rem, 100px);
  letter-spacing: 0.05em;
  color: #333333;
  line-height: 1.87;
  text-align: right;
}

.p-profile-history__detail {
  grid-column: 2;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1rem, 100px);
  line-height: 1.87;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.p-aboutus {
  padding-block-start: 7.5rem;
}
@media (max-width: 768px) {
  .p-aboutus {
    padding-block-start: 6rem;
  }
}

.p-aboutus__message {
  width: fit-content;
  margin-inline: auto;
  text-align: center;
}
.p-aboutus__message span {
  color: #203e76;
}

.p-aboutus-links {
  padding-block-start: 7.5625rem;
  transform: translateY(-11.25rem);
}
@media (max-width: 768px) {
  .p-aboutus-links {
    transform: translateY(-8.75rem);
  }
}

.p-aboutus-links__wrapper {
  display: flex;
  justify-content: center;
  gap: 2.1875rem;
}
@media (max-width: 768px) {
  .p-aboutus-links__wrapper {
    flex-direction: column;
    gap: 0;
  }
}

.p-aboutus-links__link {
  display: block;
  width: 20.625rem;
}
.p-aboutus-links__link:nth-child(2) {
  margin-block-start: 4.375rem;
}
.p-aboutus-links__link:nth-child(3) {
  margin-block-start: 8.75rem;
}

.p-aboutus-links__image img {
  border-radius: 0.625rem;
}

.p-aboutus-links__text {
  display: flex;
  justify-content: space-between;
  font-size: clamp(16px, 1.75rem, 100px);
  color: #333333;
  font-weight: 700;
  align-items: center;
  margin-block-start: 1.4375rem;
}
.p-aboutus-links__text::after {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  display: inline-block;
  transition: 0.3s ease;
  background: url(../image/button-arrow.svg) no-repeat center;
  background-size: contain;
}

.p-strengths {
  padding-block-start: 8.125rem;
  padding-block-end: 9.75rem;
  position: relative;
}
.p-strengths::before {
  content: "";
  position: absolute;
  top: 23.75rem;
  left: 50%;
  width: 37.875rem;
  height: 37.875rem;
  transform: translate(-50%, 0);
  display: inline-block;
  background: url(../image/strength-bg.webp) no-repeat center;
  background-size: contain;
}
@media (max-width: 1100px) {
  .p-strengths::before {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (max-width: 768px) {
  .p-strengths::before {
    width: 22.5rem;
    height: 22.5rem;
  }
}
@media (max-width: 768px) {
  .p-strengths {
    padding-block-start: 2.5rem;
    padding-block-end: 6rem;
  }
}

.p-strengths__item {
  display: flex;
  align-items: center;
  gap: 5rem;
}
@media (max-width: 1100px) {
  .p-strengths__item {
    align-items: flex-start;
  }
}
@media (max-width: 768px) {
  .p-strengths__item {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
  }
}

.p-strengths__item + .p-strengths__item {
  margin-block-start: 8.5rem;
}
@media (max-width: 768px) {
  .p-strengths__item + .p-strengths__item {
    margin-block-start: 2.5rem;
  }
}

.p-strengths__image {
  width: 13.75rem;
}
@media (max-width: 768px) {
  .p-strengths__image {
    width: 8.75rem;
  }
}

.p-strengths__content {
  flex: 1;
}

.p-strengths__header {
  color: #039;
  font-size: clamp(24px, 2.5rem, 100px);
  margin-block-end: 1.25rem;
  font-weight: 400;
}
@media (max-width: 768px) {
  .p-strengths__header {
    font-size: 1.5rem;
    text-align: center;
  }
}

.p-strengths__lead {
  font-weight: 700;
  margin-block-end: 1.5rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .p-strengths__lead {
    text-align: center;
  }
}

.p-flow {
  padding-block-start: 6.875rem;
  padding-block-end: 10.1875rem;
}
@media (max-width: 768px) {
  .p-flow {
    padding-block: 6rem;
  }
}

.p-flow__image {
  width: 28.125rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .p-flow__image {
    width: 11.25rem;
    margin-inline-end: auto;
    margin-inline-start: 0;
  }
}

.p-flow__contents {
  margin-block-start: 6.5rem;
  position: relative;
}
@media (max-width: 768px) {
  .p-flow__contents {
    margin-block-start: 4rem;
  }
}

.p-flow__buttonArea {
  width: fit-content;
  margin-inline: auto;
  margin-block-start: 8.5rem;
}
@media (max-width: 768px) {
  .p-flow__buttonArea {
    margin-block-start: 6rem;
  }
}

.p-flow__items {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.p-flow__item {
  width: 100%;
  height: 16.666%;
  padding-block-start: 5rem;
}
@media (max-width: 768px) {
  .p-flow__item {
    padding-block-start: 2.25rem;
  }
}

.p-flow__content {
  width: 16.125rem;
}
@media (max-width: 768px) {
  .p-flow__content {
    margin-inline-start: auto;
    width: 10rem;
  }
}

.p-flow__item:nth-child(odd) .p-flow__content {
  margin-inline-start: auto;
}
.p-flow__header {
  font-weight: 700;
  margin-block-end: 1rem;
}
@media (max-width: 768px) {
  .p-flow__header.text-m {
    font-size: 1rem;
    margin-block-end: 0.25rem;
  }
}

.p-flow__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.125rem, 100px);
  line-height: 1.67;
}
@media (max-width: 768px) {
  .p-flow__text {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.p-new-graduate {
  padding-block-start: 7.5625rem;
  padding-block-end: 9.25rem;
}
@media (max-width: 768px) {
  .p-new-graduate {
    padding-block: 6rem;
  }
}

.p-new-graduate__buttonArea {
  margin-block-start: 5rem;
  display: flex;
  justify-content: center;
  gap: 3rem;
}
@media (max-width: 768px) {
  .p-new-graduate__buttonArea {
    flex-direction: column;
    align-items: center;
  }
}

.p-new-graduate__button.c-button {
  width: clamp(280px, 22.5rem, 400px);
}
@media (max-width: 768px) {
  .p-new-graduate__button.c-button {
    width: 17.5rem;
  }
}

.p-new-graduate__banner {
  width: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #666666;
  color: #fff;
}

.p-mid-career {
  padding-block-start: 7.5625rem;
  padding-block-end: 9.25rem;
}
@media (max-width: 768px) {
  .p-mid-career {
    padding-block: 6rem;
  }
}

.p-mid-career__buttonArea {
  margin-block-start: 5rem;
  width: fit-content;
  margin-inline: auto;
}

.p-mid-career__button.c-button {
  width: clamp(280px, 22.5rem, 400px);
}
@media (max-width: 768px) {
  .p-mid-career__button.c-button {
    width: 17.5rem;
  }
}

.p-new-graduate__banner {
  width: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: #fff;
}

.p-mud {
  padding-block-end: 7.1875rem;
}
@media (max-width: 768px) {
  .p-mud {
    padding-block-end: 6rem;
  }
}

.p-mud__headerBlock {
  margin-block-start: 9.375rem;
}

.p-mud__text {
  font-size: clamp(16px, 1rem, 100px);
  letter-spacing: 0.05em;
  display: inline-block;
  margin-block-start: 3.4375rem;
  line-height: 1.8;
}

.p-mud__definitions {
  margin-block-start: 3.6875rem;
}

.p-mud-color {
  background-color: #f2fafd;
  padding-block-start: 6.25rem;
  padding-block-end: 9.125rem;
}
@media (max-width: 768px) {
  .p-mud-color {
    padding-bottom: 6rem;
  }
}

.p-mud-color__header {
  font-weight: 700;
}

.p-mud-color__items {
  display: flex;
  justify-content: center;
  column-gap: 3.75rem;
  margin-block-start: 3.75rem;
  margin-block-end: 3rem;
  row-gap: 1.5rem;
}
@media (max-width: 768px) {
  .p-mud-color__items {
    flex-direction: column;
  }
}

.p-mud-color__item {
  width: 22.5rem;
  max-width: 100%;
}

.p-mud-color__image {
  margin-block-end: 3.625rem;
}
@media (max-width: 768px) {
  .p-mud-color__image {
    margin-block-end: 1.5rem;
  }
}
.p-mud-color__image img {
  border-radius: 1.875rem;
  border: 0.1875rem solid #6a96ea;
}

.p-mud-color__caption {
  font-size: clamp(16px, 1.3125rem, 100px);
  font-weight: 700;
  text-align: center;
}

.p-mud-case {
  padding-block-start: 3.5625rem;
  padding-block-end: 12.75rem;
}
@media (max-width: 768px) {
  .p-mud-case {
    padding-block: 6rem;
  }
}

.p-mud-case__header {
  text-align: center;
  font-size: clamp(20px, 2.25rem, 100px);
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-block-end: 4.5625rem;
}
@media (max-width: 768px) {
  .p-mud-case__header {
    font-size: 1.5rem;
    margin-block-end: 2.5rem;
  }
}

.p-mud-case__image {
  margin-block-start: 3.5625rem;
  margin-inline: auto;
  max-width: 100%;
  flex: 1;
}

.p-mud-case__caseHeader {
  font-weight: 700;
  margin-block-end: 3.375rem;
}

.p-mud-case__tag.text-m {
  color: #203e76;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  border: solid 0.125rem #203e76;
  padding-block: 0.625rem;
  width: 12.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-mud-case__tag.text-m.--after {
  color: #fff;
  background-color: #203e76;
}
@media (max-width: 768px) {
  .p-mud-case__tag.text-m {
    width: 6.25rem;
  }
}

.p-mud-case__tagInfo {
  font-weight: 700;
  flex: 1;
}

.p-mud-case__detail {
  display: flex;
  align-items: center;
  gap: 2.75rem;
}
@media (max-width: 768px) {
  .p-mud-case__detail {
    gap: 1rem;
    align-items: flex-start;
  }
}

.p-mud-case__arrow {
  margin-block-start: 4.625rem;
  margin-block-end: 3.125rem;
  width: 9.375rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .p-mud-case__arrow {
    width: 5rem;
    margin-block-start: 4rem;
    margin-block-end: 2.5rem;
  }
}

.p-mud-case__case + .p-mud-case__case {
  margin-block-start: 12.5rem;
}
@media (max-width: 768px) {
  .p-mud-case__case + .p-mud-case__case {
    margin-block-start: 6rem;
  }
}

.p-mud-case__text {
  margin-block-end: 5.625rem;
}

.p-mud-case__picContainer {
  display: flex;
  gap: 3rem;
  justify-content: center;
}
@media (max-width: 768px) {
  .p-mud-case__picContainer {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-mud-qualification {
  padding-block-end: 11.25rem;
}
@media (max-width: 768px) {
  .p-mud-qualification {
    padding-block-end: 6rem;
  }
}

.p-mud-qualification__header {
  text-align: center;
  font-size: clamp(20px, 2.25rem, 100px);
  font-weight: 400;
  letter-spacing: 0.05em;
}

.p-mud-qualification__items {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}
@media (max-width: 1280px) {
  .p-mud-qualification__items {
    max-width: 96%;
  }
}

.p-mud-qualification__item {
  height: 49.375rem;
  width: 100%;
  padding-inline: 7.5rem;
  display: flex;
  align-items: flex-end;
  position: relative;
}
.p-mud-qualification__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background-image: url("../image/mud-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  display: inline-block;
  z-index: -1;
}
@media (max-width: 768px) {
  .p-mud-qualification__item::before {
    background-position: top left 50%;
  }
}
@media (max-width: 768px) {
  .p-mud-qualification__item {
    padding-inline: 1rem;
    height: auto;
    padding-block-start: 5rem;
  }
}

.p-mud-qualification__itemInner {
  width: 100%;
}

.p-mud-qualification__itemHeader {
  color: #fff;
  font-weight: 700;
  margin-block-end: 2.5rem;
}

.p-mud-qualification__text.text-xs {
  letter-spacing: 0.05em;
  color: #fff;
  display: inline-block;
  margin-block-end: 2.5rem;
  padding-inline-start: 2.5rem;
  position: relative;
}
@media (max-width: 768px) {
  .p-mud-qualification__text.text-xs {
    padding-inline-start: 1.5rem;
    margin-block-end: 1rem;
  }
}
.p-mud-qualification__text.text-xs::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.0625rem;
  height: 5.875rem;
  transform: translate(0, -50%);
  display: inline-block;
  transition: 0.3s ease;
  background-color: #fff;
}

.p-mud-qualification__bottom {
  display: flex;
  background: #fff;
  padding-block: 3.125rem;
  padding-inline: 3.125rem;
  gap: 3.75rem;
  align-items: center;
}
@media (max-width: 1280px) {
  .p-mud-qualification__bottom {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem;
    padding-inline: 2rem;
    padding-block: 2rem;
  }
}

.p-mud-qualification__icons {
  display: flex;
  gap: 3.125rem;
}
@media (max-width: 768px) {
  .p-mud-qualification__icons {
    justify-content: center;
    gap: 1rem;
    width: 100%;
  }
}

.p-mud-qualification__icon {
  width: 10rem;
}
@media (max-width: 768px) {
  .p-mud-qualification__icon {
    width: 6.25rem;
  }
}

.p-mud-qualification__list.text-xs-gothic {
  color: #203e76;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
  font-size: clamp(12px, 1rem, 100px);
  padding-inline-start: 1.125rem;
}

.p-mud-qualification__buttonArea {
  width: fit-content;
  margin-inline: auto;
  margin-block-start: 6rem;
}

.p-privacy {
  padding-block: 7.5rem;
}
@media (max-width: 768px) {
  .p-privacy {
    padding-block: 6rem;
  }
}

.p-privacy__container + .p-privacy__container {
  margin-block-start: 6.25rem;
}
@media (max-width: 768px) {
  .p-privacy__container + .p-privacy__container {
    margin-block-start: 4.5rem;
  }
}

@media (max-width: 768px) {
  .p-privacy__inner.l-inner {
    padding-inline: 0;
  }
}

.p-privacy__container {
  background-color: #f2fafd;
  padding-inline: 6.25rem;
  padding-block: 3rem;
}
@media (max-width: 768px) {
  .p-privacy__container {
    padding-inline: 1rem;
    padding-block: 1.5rem;
  }
}
.p-privacy__container:nth-child(2) {
  margin-block-start: 3.5rem;
}
.p-privacy__contents {
  background-color: #fff;
  padding-block-start: 3.6875rem;
  padding-block-end: 2.75rem;
  padding-inline: 3.125rem;
}
@media (max-width: 768px) {
  .p-privacy__contents {
    padding-inline: 0.5rem;
  }
}

.p-privacy__top {
  display: flex;
}
@media (max-width: 768px) {
  .p-privacy__top {
    flex-direction: column-reverse;
  }
}

.p-privacy__headerLeft {
  flex: 1;
}
@media (max-width: 768px) {
  .p-privacy__headerLeft {
    flex: none;
  }
}

.p-privacy__headerRight {
  width: 15.625rem;
}
@media (max-width: 768px) {
  .p-privacy__headerRight {
    width: 11.25rem;
    margin-inline: auto;
    margin-block-end: 1.5rem;
  }
}

.p-privacy__header {
  font-size: clamp(18px, 1.875rem, 100px);
  line-height: 1.6;
  margin-block-end: 2.6875rem;
}
@media (max-width: 768px) {
  .p-privacy__header {
    font-size: 1.25rem;
    line-height: 1.5217391304;
    width: fit-content;
    margin-inline: auto;
    margin-block-end: 1.5rem;
  }
}

.p-privacy__headerText {
  font-size: clamp(14px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
}
@media (max-width: 768px) {
  .p-privacy__headerText {
    line-height: 1.67;
  }
}

.p-privacy__list {
  margin-block-start: 3rem;
}

.p-privacy dt,
.p-privacy dd {
  font-size: clamp(14px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
}
@media (max-width: 768px) {
  .p-privacy dt,
  .p-privacy dd {
    line-height: 1.67;
  }
}
.p-privacy dt {
  font-weight: 700;
}
.p-privacy dd {
  padding-inline-start: 2em;
}
.p-privacy dl + dl {
  margin-block-start: 2rem;
}
.p-privacy .list-num li {
  padding-inline: 1.5em;
  position: relative;
}
.p-privacy .list-num li::before {
  position: absolute;
  left: 0;
}
.p-privacy .list-num li:nth-child(1)::before {
  content: "①";
}
.p-privacy .list-num li:nth-child(2)::before {
  content: "②";
}
.p-privacy .list-num li:nth-child(3)::before {
  content: "③";
}
.p-privacy .list-num li:nth-child(4)::before {
  content: "④";
}
.p-privacy .list-num li:nth-child(5)::before {
  content: "⑤";
}
.p-privacy .list-num li:nth-child(6)::before {
  content: "⑥";
}
.p-privacy .list-num li:nth-child(7)::before {
  content: "⑦";
}
.p-privacy .list-num li:nth-child(8)::before {
  content: "⑧";
}
.p-privacy .list-num li:nth-child(9)::before {
  content: "⑨";
}

.p-privacy__bottom {
  margin-block-start: 2.375rem;
  font-size: clamp(14px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
}
@media (max-width: 768px) {
  .p-privacy__bottom {
    line-height: 1.67;
  }
}

.p-privacy__text.--right {
  text-align: right;
}

.p-privacy__name {
  width: fit-content;
  margin-inline-start: auto;
  margin-block-start: 2rem;
}

.p-contact {
  padding-block-start: 7.5rem;
}

.p-contact__header {
  font-size: 2.5rem;
  color: #203e76;
  letter-spacing: 0.05em;
  font-weight: 400;
  width: fit-content;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .p-contact__header {
    font-size: 1.75rem;
  }
}

.p-contact__lead {
  margin-block-start: 3.5rem;
  font-weight: 700;
  margin-block-end: 2rem;
}

.p-contact__telArea {
  width: 100%;
  padding-block-start: 2.3125rem;
  padding-block-end: 2.8125rem;
  border: 0.0625rem solid #2bb3ff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-inline: 1rem;
}
.p-contact__telArea.--red {
  border: solid 0.0625rem #cc0000;
  margin-block-end: 4.5rem;
}

.p-contact__telText {
  text-align: center;
}
.p-contact__telText a {
  color: #333333;
  border-bottom: 0.0625rem solid #ccc;
}

.p-contact__tel {
  text-align: center;
}
.p-contact__tel.text-xs-gothic a {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .p-contact__tel {
    text-align: left;
  }
}

.p-contact__tel.--red {
  color: #cc0000;
}
@media (max-width: 768px) {
  .p-contact__tel.--red {
    text-align: left;
  }
}

.p-contact__tel a {
  color: #333333;
}

.p-form {
  margin-block-start: 5.875rem;
  padding-block-end: 7.0625rem;
}

.p-form__row {
  display: flex;
  row-gap: 0.6875rem;
  justify-content: space-between;
  padding-block: 1.25rem;
  border-bottom: 0.0625rem solid #ccc;
  padding-inline-start: 5rem;
}
.p-form__row:nth-child(2) {
  border-top: 0.0625rem solid #ccc;
}
@media (max-width: 768px) {
  .p-form__row {
    flex-direction: column;
    padding-inline-start: 0;
  }
}

.p-form__head {
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-size: clamp(14px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
  width: 25rem;
  display: flex;
  align-items: center;
  max-width: 100%;
  font-weight: 500;
}
.p-form__head span.--must {
  position: relative;
  display: inline-block;
}
.p-form__head span.--must::after {
  content: "必須";
  position: absolute;
  top: calc(50% + 0.125rem);
  translate: 0 -50%;
  left: calc(100% + 0.875rem);
  font-size: clamp(12px, 0.875rem, 100px);
  display: inline-block;
  padding-inline: 0.625rem;
  padding-block-start: 0.375rem;
  padding-block-end: 0.375rem;
  white-space: nowrap;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.2em;
  background-color: #e5565c;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 768px) {
  .p-form__head span.--must::after {
    padding-inline: 0.625rem;
    padding-block: 0.125rem;
    left: calc(100% + 0.75rem);
    line-height: 1.67;
    font-size: 0.75rem;
  }
}
.p-form__head span.--optional {
  position: relative;
  display: inline-block;
}
.p-form__head span.--optional::after {
  content: "任意";
  position: absolute;
  top: calc(50% + 0.125rem);
  translate: 0 -50%;
  left: calc(100% + 0.875rem);
  font-size: clamp(13px, 0.8125rem, 100px);
  display: inline-block;
  padding-inline: 1.25rem;
  padding-block: 0.3125rem;
  border-radius: 0.375rem;
  white-space: nowrap;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  .p-form__head span.--optional::after {
    padding-inline: 0.75rem;
    padding-block: 0.25rem;
    left: calc(100% + 0.75rem);
  }
}
@media (max-width: 768px) {
  .p-form__head {
    font-size: 1rem;
  }
}

.p-form__data {
  flex: 1;
}

input[type=text],
input[type=email],
input[type=tel],
textarea {
  padding-inline: clamp(16px, 1rem, 100px);
  padding-block: clamp(8px, 0.5rem, 100px);
  font-size: clamp(16px, 1rem, 100px);
  border: solid 0.0625rem #ccc;
  width: 100%;
}
@media (max-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  textarea {
    font-size: 1rem;
    padding-block: 0.5rem;
  }
}

textarea {
  min-height: 18.75rem;
  font-size: clamp(16px, 1rem, 100px);
}
@media (max-width: 768px) {
  textarea {
    font-size: 1rem;
    min-height: 11.25rem;
  }
}

.p-form__row:nth-child(2) input,
.p-form__row:nth-child(5) input {
  width: 100%;
  max-width: 29.6875rem;
}

.p-form__row:nth-child(6) input {
  width: 100%;
  max-width: 14.6875rem;
}

.p-form__row:nth-child(2) {
  margin-block-start: 5.5rem;
}

input[type=checkbox] {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
}

input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.p-form__data-checkbox {
  display: flex;
  gap: clamp(16px, 1rem, 100px);
  justify-content: center;
  margin-block-start: 1.5rem;
  align-items: center;
}
.p-form__data-checkbox span.wpcf7-list-item-label {
  display: inline-block;
  font-size: clamp(16px, 1rem, 100px);
  line-height: normal;
  padding-left: 2.875rem;
  position: relative;
}
.p-form__data-checkbox span.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.625rem;
  height: 1.625rem;
  border: 0.125rem solid #ccc;
  transform: translateY(-50%);
  border-radius: 0.3125rem;
}
@media (max-width: 768px) {
  .p-form__data-checkbox span.wpcf7-list-item-label::before {
    width: 1.875rem;
    height: 1.875rem;
  }
}
.p-form__data-checkbox span.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0.5rem;
  width: 0.625rem;
  height: 1.125rem;
  rotate: 45deg;
  opacity: 0;
  border-right: solid 0.25rem #333333;
  border-bottom: solid 0.25rem #333333;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .p-form__data-checkbox span.wpcf7-list-item-label::after {
    width: 0.75rem;
    height: 1.375rem;
    top: 0;
    left: 0.625rem;
  }
}
@media (max-width: 768px) {
  .p-form__data-checkbox span.wpcf7-list-item-label {
    font-size: 0.875rem;
    padding-left: 2.25rem;
  }
}

input[type=submit],
input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

.row.jc-center {
  justify-content: center;
}

.p-form__submit {
  text-align: center;
}
.p-form__submit input[type=submit] {
  display: inline-block;
  background-color: #333333;
  color: #fff;
  padding-block: 1.125rem;
  border-radius: 1.875rem;
  color: #fff;
  font-size: clamp(16px, 1rem, 100px);
  line-height: 1.8;
  letter-spacing: 0.4em;
  width: 18.75rem;
  max-width: 100%;
  margin-block-start: 4.125rem;
  transition: 0.3s ease background-color;
}
@media (max-width: 768px) {
  .p-form__submit input[type=submit] {
    font-size: 1.25rem;
  }
}
.p-form__submit input[type=submit]:hover {
  opacity: 0.7;
}

.p-form__privacyPolicy {
  width: 100%;
  height: 20.625rem;
  padding-inline: 0.8125rem;
  padding-block: 0.75rem;
  overflow-y: scroll;
  border: solid 0.125rem #f2fafd;
}
.p-form__privacyPolicy::-webkit-scrollbar {
  width: 1.875rem;
}
@media (max-width: 768px) {
  .p-form__privacyPolicy::-webkit-scrollbar {
    width: 1.0625rem;
  }
}
.p-form__privacyPolicy::-webkit-scrollbar-track {
  background-color: #fff;
  border-left: solid 0.125rem #f2fafd;
}
.p-form__privacyPolicy::-webkit-scrollbar-thumb {
  background-color: #f2fafd;
  border-radius: 0;
}

.p-form__privacyPolicy {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-size: clamp(16px, 1.25rem, 100px);
}
@media (max-width: 768px) {
  .p-form__privacyPolicy {
    font-size: 1.25rem;
    letter-spacing: 0.2em;
  }
}

.p-form__privacyPolicyText,
.p-form__privacyPolicyLink,
.p-form__privacyPolicyList,
.p-form__privacyPolicyTerm,
.p-form__privacyPolicyDescription {
  font-size: clamp(16px, 1rem, 100px);
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .p-form__privacyPolicyText,
  .p-form__privacyPolicyLink,
  .p-form__privacyPolicyList,
  .p-form__privacyPolicyTerm,
  .p-form__privacyPolicyDescription {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}

@media (max-width: 768px) {
  .p-form__privacyPolicyRow.--email {
    display: block;
  }
}

.p-form__privacyPolicyRow {
  display: flex;
}

.p-form__privacyPolicyLink {
  text-decoration: underline;
}

.p-form__privacyPolicyBlock {
  margin-block-start: 1.25rem;
}

.must-box {
  font-size: clamp(12px, 0.875rem, 100px);
  display: inline-block;
  padding-inline: 0.625rem;
  padding-block-start: 0.375rem;
  padding-block-end: 0.375rem;
  white-space: nowrap;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.2em;
  background-color: #e5565c;
  font-family: "Noto Sans JP", sans-serif;
  max-height: 1.75rem;
  border-radius: 0.125rem;
}
@media (max-width: 768px) {
  .must-box {
    padding-inline: 0.625rem;
    padding-block: 0.125rem;
    left: calc(100% + 0.75rem);
    line-height: 1.67;
    font-size: 0.75rem;
  }
}

input[type=radio] {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
}

input[type=radio]:checked + span::after {
  content: "";
}

.p-form__data-radio {
  display: block;
  grid-template-columns: repeat(3, 1fr);
}
.p-form__data-radio span.wpcf7-list-item-label {
  display: block;
  line-height: normal;
  text-align: center;
  padding: 12px 10px;
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  position: relative;
  padding-inline-start: 2rem;
}
.p-form__data-radio span.wpcf7-list-item-label::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  border: solid #ccc 0.125rem;
  border-radius: 50%;
  position: absolute;
  left: 0;
}
.p-form__data-radio span.wpcf7-list-item-label::after {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  border: solid #ccc 0.125rem;
  border-radius: 50%;
  position: absolute;
  left: 0;
  background-color: #203e76;
  content: none;
}

.p-news {
  padding-block: 7.5rem;
}
@media (max-width: 768px) {
  .p-news {
    padding-block: 6rem;
  }
}

.p-news__inner {
  width: 69.375rem;
  padding-inline: 1.5625rem;
  margin-inline: auto;
  max-width: 100%;
}
@media (max-width: 768px) {
  .p-news__inner {
    padding-inline: 0.9375rem;
  }
}

.p-news__items {
  margin-block-start: 4.625rem;
}

.p-news__item {
  padding-block: 1.25rem;
  padding-inline: 2rem;
  min-height: 5.75rem;
}
@media (max-width: 768px) {
  .p-news__item {
    padding-block: 0.625rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-inline: 0.625rem;
  }
}

.p-news__link:nth-child(odd) {
  background-color: #f2f2f2;
}

.p-news__date {
  margin-block-end: 1rem;
  display: block;
  color: #666666;
}
@media (max-width: 768px) {
  .p-news__date {
    margin-block-end: 0.5rem;
  }
}

.p-news__link {
  padding-block-end: 0.5rem;
  position: relative;
  width: 100%;
}
@media (max-width: 768px) {
  .p-news__link {
    padding-block-end: 0;
  }
}
.p-news__link:hover {
  opacity: 1;
}
.p-news__link:hover .p-newsParts__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  display: inline-block;
  background-color: #203e76;
  transition: background-color 0.3s ease;
}

.p-newsParts__title {
  position: relative;
  width: fit-content;
}

.p-single {
  padding-block: 7.5rem;
}
@media (max-width: 768px) {
  .p-single {
    padding-block: 6rem;
  }
}

.p-single__inner {
  width: 59.375rem;
  padding-inline: 1.5625rem;
  margin-inline: auto;
  max-width: 100%;
}
@media (max-width: 768px) {
  .p-single__inner {
    padding-inline: 0.9375rem;
  }
}

.p-single__main {
  margin-block-start: 4.5rem;
}

.p-single__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  padding-block-end: 0.75rem;
  border-bottom: 0.0625rem solid #333333;
}

.p-single__date {
  margin-block-start: 1.5rem;
  display: block;
  width: fit-content;
  margin-inline-start: auto;
  font-weight: 400;
}

.p-single__main p {
  font-size: clamp(14px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
  margin-block: 1rem;
}
@media (max-width: 768px) {
  .p-single__main p {
    line-height: 1.67;
  }
}
.p-single__main img {
  margin-block: 1rem;
}

.p-single__head {
  margin-block-end: 3rem;
}

.p-single__buttons {
  padding-block-start: 2.625rem;
  border-top: 0.0625rem solid #333333;
}

.p-single__buttonList {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}

.p-single__button.c-button {
  width: fit-content;
  padding-inline: 3.5rem;
  padding-block: 1rem;
}
@media (max-width: 768px) {
  .p-single__button.c-button {
    padding-inline: 1.75rem;
    padding-block: 0.5rem;
  }
  .p-single__button.c-button::after {
    right: 0.5rem;
    width: 0.625rem;
    height: 0.625rem;
  }
}
.p-single__button.c-button.--return::after {
  content: none;
}
.p-single__button.c-button.--prev::after {
  right: auto;
  left: 1.75rem;
  rotate: 180deg;
}
@media (max-width: 768px) {
  .p-single__button.c-button.--prev::after {
    left: 0.5rem;
  }
}

.p-business-form-products {
  padding-block-end: 7.5rem;
}
@media (max-width: 768px) {
  .p-business-form-products {
    padding-block-end: 6rem;
  }
}

.p-business-form-products__lead {
  letter-spacing: 0.05em;
  margin-block-start: 3.875rem;
  width: 62.5rem;
  margin-inline: auto;
  max-width: 100%;
}

.p-business-form-products__items {
  margin-block-start: 4.5rem;
}

.p-quote-product {
  padding-block-start: 8.625rem;
  padding-block-end: 10.25rem;
}

.p-quote-product__dl {
  text-align: center;
}

.p-quote-gallery {
  background-color: #f2fafd;
  padding-block-start: 6.5625rem;
  padding-block-end: 12.375rem;
}

.p-quote-gallery__row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3.75rem;
}

.p-quote-gallery__item {
  width: 22.5rem;
}

.p-quote-gallery__lead {
  text-align: center;
  margin-block-end: 4.75rem;
}

.p-quote-gallery__name {
  font-size: clamp(15px, 1.3125rem, 100px);
  line-height: 1.9;
  text-align: center;
  font-weight: 700;
  margin-block-start: 2.5rem;
}
@media (max-width: 768px) {
  .p-quote-gallery__name {
    font-size: 0.9375rem;
    margin-block-start: 1.5rem;
  }
}

.p-quote-gallery__row + .p-quote-gallery__row {
  margin-block-start: 3rem;
}

.p-quote-download {
  padding-block-start: 8.625rem;
  padding-block-end: 10.25rem;
}

.p-quote-download__inner {
  width: 71.875rem;
  padding-inline: 1.5625rem;
  margin-inline: auto;
  max-width: 100%;
}

.p-quote-download__lead {
  margin-block-start: 3.75rem;
  line-height: 1.88;
  letter-spacing: 0.05em;
  font-size: clamp(16px, 1rem, 100px);
  text-align: center;
}

.p-quote-download__dl {
  text-align: center;
  margin-block-start: 7.25rem;
  margin-block-end: 3.75rem;
}

.p-quote-download__buttonArea {
  display: flex;
  justify-content: center;
  gap: 3.125rem;
  margin-block-start: 4.625rem;
}
@media (max-width: 1100px) {
  .p-quote-download__buttonArea {
    flex-direction: column;
    align-items: center;
  }
}

.p-quote-download__text {
  font-size: clamp(16px, 1rem, 100px);
  line-height: 2.25;
  font-family: "Noto Sans JP", sans-serif;
  margin-block-start: 4.875rem;
}

.p-quote-pv {
  border: 0.0625rem solid #333333;
  padding-block-start: 2.1875rem;
  height: 18.125rem;
  overflow-y: scroll;
}

.p-quote-pv__inner {
  width: 100%;
  padding-inline: 2.8125rem;
}
@media (max-width: 768px) {
  .p-quote-pv__inner {
    padding-inline: 0.75rem;
  }
}

.p-quote-pv__term,
.p-quote-pv__right,
.p-quote-pv__text {
  font-size: clamp(16px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
}

.p-quote-pv__text {
  margin-block-end: 4rem;
}

.p-quote-pv__block + .p-quote-pv__block {
  margin-block-start: 4rem;
}

.p-topBanner {
  padding-block: 11.25rem;
}
@media (max-width: 768px) {
  .p-topBanner {
    padding-block: 6rem;
  }
}

.p-topBanner__inner {
  width: 80%;
}
@media (max-width: 768px) {
  .p-topBanner__inner {
    width: 100%;
  }
}

.p-notFound {
  padding-block: 10rem;
}

.p-notFound__buttonArea {
  margin-block-start: 5rem;
}

.p-notFound__main strong {
  font-size: 4rem;
}

.p-thanks {
  padding-block: 10rem;
}
@media (max-width: 768px) {
  .p-thanks {
    padding-block: 6rem;
  }
}

.p-thanks__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-thanks__message {
  font-size: clamp(16px, 1rem, 100px);
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  margin-block-start: 2.5rem;
}
@media (max-width: 768px) {
  .p-thanks__message {
    margin-block-start: 1.25rem;
    text-align: left;
  }
}

.p-thanks__button {
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  .p-thanks__button {
    margin-top: 1.25rem;
  }
}

.p-insertion-button {
  text-align: center;
  padding-block: 6.25rem;
}

.p-insertion-button__link {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.125rem, 100px);
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-inline: auto;
}

.p-odm-quality .c-quality__right {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .p-odm-quality .c-quality__right {
    flex-direction: column-reverse;
  }
}

.breadcrumbs {
  width: 78.125rem;
  max-width: 100%;
  padding-inline: 1.5625rem;
  margin-inline: auto;
  font-size: clamp(14px, 0.875rem, 100px);
  margin-block-start: 1rem;
}
.breadcrumbs a {
  color: #666;
  margin-inline-end: 0.875rem;
}
.breadcrumbs span {
  color: #333333;
}
.breadcrumbs span.current-item {
  font-weight: 500;
}
@media (max-width: 1280px) {
  .breadcrumbs {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .breadcrumbs {
    padding-block: 0.9375rem;
  }
}

span[property=itemListElement][typeof=ListItem]:not(:nth-child(1)) {
  margin-inline-start: 0.875rem;
}

.text-xs-gothic {
  font-size: clamp(16px, 1rem, 100px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.88;
}
.text-xs-gothic.--ls {
  letter-spacing: 0.05em;
}
.text-xs-gothic.--ls2 {
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .text-xs-gothic {
    line-height: 1.67;
  }
}

.text-xs {
  font-size: clamp(15px, 1.3125rem, 100px);
  line-height: 1.9;
}
@media (max-width: 768px) {
  .text-xs {
    font-size: 0.9375rem;
  }
}

.text-s {
  font-size: clamp(16px, 1.5rem, 100px);
  line-height: 2;
}
@media (max-width: 768px) {
  .text-s {
    font-size: 1.25rem;
  }
}

.text-m {
  font-size: clamp(18px, 1.875rem, 100px);
  line-height: 1.6;
}
@media (max-width: 768px) {
  .text-m {
    font-size: 1.25rem;
    line-height: 1.5217391304;
  }
}
.text-m.--ls {
  letter-spacing: 0.05em;
}
.text-m.--ls2 {
  letter-spacing: -0.1em;
}

.text-xl-sp-s {
  font-size: 2.5rem;
}
@media (max-width: 768px) {
  .text-xl-sp-s {
    font-size: 1.375rem;
  }
}

.text-xl-sp-m {
  font-size: 2.5rem;
}
.text-xl-sp-m.--ls {
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .text-xl-sp-m {
    font-size: 1.75rem;
  }
}

.text-xl-vertical {
  font-size: clamp(28px, 2.5rem, 100px);
  writing-mode: vertical-rl;
  font-weight: 400;
}
@media (max-width: 768px) {
  .text-xl-vertical {
    font-size: 1.75rem;
  }
}

.text-xl {
  font-size: 3.75rem;
  line-height: 1.67;
  font-style: italic;
}
@media (max-width: 768px) {
  .text-xl {
    font-size: 1.75rem;
  }
}

.text-xxl {
  font-size: 5rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .text-xxl {
    font-size: 2.125rem;
    line-height: 1.49;
  }
}

.text-p {
  font-size: clamp(16px, 1.3125rem, 100px);
  line-height: 1.9047619048;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .text-p {
    font-size: 1rem;
  }
}

.u-show--sp-big {
  display: none;
}
@media (max-width: 400px) {
  .u-show--sp-big {
    display: block;
  }
}

.u-show--md-small {
  display: none;
}
@media (max-width: 500px) {
  .u-show--md-small {
    display: block;
  }
}

.u-show--md {
  display: none;
}
@media (max-width: 768px) {
  .u-show--md {
    display: block;
  }
}

.u-show--lg {
  display: none;
}
@media (max-width: 1100px) {
  .u-show--lg {
    display: block;
  }
}

.u-show--pc-small {
  display: none;
}
@media (max-width: 1280px) {
  .u-show--pc-small {
    display: block;
  }
}

@media (max-width: 500px) {
  .u-hide--md-small {
    display: none;
  }
}

@media (max-width: 748px) {
  .u-hide--md-20 {
    display: none;
  }
}

@media (max-width: 768px) {
  .u-hide--md {
    display: none;
  }
}

@media (max-width: 1100px) {
  .u-hide--lg {
    display: none;
  }
}

@media (max-width: 1280px) {
  .u-hide--pc-small {
    display: none;
  }
}

@media (max-width: 1440px) {
  .u-hide--pc {
    display: none;
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.scrollLeft {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scrollRight {
  animation: infinity-scroll-right 80s infinite linear 0.5s both;
}

.fadeIn {
  opacity: 0;
  translate: 0 3.75rem;
  transition: opacity 0.6s ease, translate 0.6s ease;
}
.fadeIn.js-show {
  opacity: 1;
  translate: 0 0;
}

.nav-links {
  display: flex;
  width: 21.5rem;
  margin-inline: auto;
  margin-block-start: 6.25rem;
  justify-content: center;
  align-items: center;
  gap: 0.3125rem;
}
@media (max-width: 768px) {
  .nav-links {
    margin-block-start: 3.75rem;
  }
}

.page-numbers {
  width: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1;
  border: 0.09375rem solid #333333;
  height: 2.75rem;
  color: #333333;
}

.pagination__arrow {
  height: 0.9375rem;
  width: 1.5625rem;
}

.page-numbers.current {
  background-color: #203e76;
  color: #fff;
}/*# sourceMappingURL=style.css.map */